]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/c-family/ChangeLog
diagnostic_show_locus: move initial newline to callers
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
1 2019-12-09 David Malcolm <dmalcolm@redhat.com>
2
3 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
4 initial newline from expected outputs.
5 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
6 call to diagnostic_show_locus.
7
8 2019-12-06 Jakub Jelinek <jakub@redhat.com>
9
10 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
11 now.
12
13 2019-12-05 Marek Polacek <polacek@redhat.com>
14 Jakub Jelinek <jakub@redhat.com>
15
16 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
17 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
18
19 2019-12-05 Marek Polacek <polacek@redhat.com>
20
21 PR c++/92271 - make __is_same alias for __is_same_as.
22 * c-common.c: Add __is_same, an alias for __is_same_as.
23
24 2019-12-03 Marek Polacek <polacek@redhat.com>
25
26 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
27 * c-cppbuiltin.c (c_cpp_builtins): Predefine
28 __cpp_aggregate_paren_init=201902 for -std=c++2a.
29
30 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
31
32 * c-attribs.c (handle_symver_attribute): New function
33 (c_common_attributes): Add symver.
34
35 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
36
37 * c-common.c (pointer_int_sum): Use verify_type_context to check
38 whether the target allows pointer arithmetic for the types involved.
39 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
40 to check whether the target allows sizeof and alignof operations
41 for the types involved.
42
43 2019-11-27 Jason Merrill <jason@redhat.com>
44
45 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
46
47 2019-11-26 Jakub Jelinek <jakub@redhat.com>
48
49 PR c++/61414
50 * c-attribs.c (handle_mode_attribute): Add mode attribute to
51 ENUMERAL_TYPEs.
52
53 2019-11-25 Joseph Myers <joseph@codesourcery.com>
54
55 PR c/91985
56 * c-common.c (c_common_type_for_mode): Handle decimal
57 floating-point types being NULL_TREE.
58 * c-format.c (get_format_for_type_1): Handle specified types being
59 NULL_TREE.
60 * c-lex.c (interpret_float): Give an error for decimal
61 floating-point constants when decimal floating-point not
62 supported.
63
64 2019-11-23 Jakub Jelinek <jakub@redhat.com>
65
66 PR middle-end/83859
67 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
68 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
69 group warning with inform together.
70 (handle_access_attribute): Formatting fix.
71
72 2019-11-22 Jakub Jelinek <jakub@redhat.com>
73
74 PR c/90677
75 * c-common.h (identifier_global_tag): Declare.
76 * c-format.c (get_pointer_to_named_type): Renamed to ...
77 (get_named_type): ... this. Use identifier_global_tag instead of
78 identifier_global_value, handle the return value being a TYPE_P.
79 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
80 to call get_named_type instead. Formatting fixes.
81
82 Implement P1902R1, Missing feature-test macros 2017-2019.
83 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
84 and __cpp_generic_lambdas for -std=c++2a. Define
85 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
86 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
87 __cpp_concepts for -std=c++2a.
88
89 2019-11-22 Martin Sebor <msebor@redhat.com>
90
91 PR middle-end/83859
92 * c-attribs.c (handle_access_attribute): New function.
93 (c_common_attribute_table): Add new attribute.
94 (get_argument_type): New function.
95 (append_access_attrs): New function.
96 (get_nonnull_operand): Rename...
97 (get_attribute_operand): ...to this.
98 * c-common.c (get_nonnull_operand): Rename...
99 (get_attribute_operand): ...to this.
100
101 2019-11-21 Joseph Myers <joseph@codesourcery.com>
102
103 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
104 of warning.
105
106 2019-11-19 Joseph Myers <joseph@codesourcery.com>
107
108 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
109 warning for standard attributes mixed with fallthrough attributes.
110
111 2019-11-15 Joseph Myers <joseph@codesourcery.com>
112
113 * c-attribs.c (handle_fallthrough_attribute): Remove static.
114 * c-common.h (handle_fallthrough_attribute): Declare.
115
116 2019-11-15 Joseph Myers <joseph@codesourcery.com>
117
118 * c-attribs.c (handle_deprecated_attribute): Remove static.
119 * c-common.h (handle_deprecated_attribute): Declare.
120
121 2019-11-14 Joseph Myers <joseph@codesourcery.com>
122
123 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
124 char for C.
125
126 2019-11-14 Jakub Jelinek <jakub@redhat.com>
127
128 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
129 valid vendors.
130
131 * c-omp.c (c_omp_check_context_selector): Handle name lists
132 containing string literals. Don't diagnose atomic_default_mem_order
133 with multiple props.
134
135 2019-11-13 Joseph Myers <joseph@codesourcery.com>
136
137 * c-cppbuiltin.c (builtin_define_float_constants): Also define
138 NORM_MAX constants. Update call to get_max_float.
139 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
140 constants.
141
142 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
143
144 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
145 (dump_forward_type): Do not generate a declaration for function types.
146 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
147 of the component type if it is declared in another file.
148
149 2019-11-12 Martin Liska <mliska@suse.cz>
150
151 * c-opts.c (c_common_post_options):
152 Use SET_OPTION_IF_UNSET.
153
154 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
155 Frederik Harwath <frederik@codesourcery.com>
156
157 gcc/c-family/
158 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
159 constant.
160 * c-pragma.c (oacc_pragmas): Add "serial" entry.
161
162 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
163
164 * c-common.h (gnu_vector_type_p): New function.
165 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
166 vectors to satisfy gnu_vector_type_p.
167 (c_build_vec_convert): Likewise __builtin_convertvector.
168 (convert_vector_to_array_for_subscript): Likewise when applying
169 implicit vector to array conversion.
170 (scalar_to_vector): Likewise when converting vector-scalar
171 operations to vector-vector operations.
172
173 2019-11-08 Joseph Myers <joseph@codesourcery.com>
174
175 * c.opt (Wold-style-definition): Initialize to -1.
176 * c-opts.c (c_common_post_options): Set warn_old_style_definition
177 to flag_isoc2x if not set explicitly.
178
179 2019-11-07 Joseph Myers <joseph@codesourcery.com>
180
181 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
182
183 2019-11-05 Jason Merrill <jason@redhat.com>
184
185 * c-opts.c (c_common_post_options): -fconcepts-ts implies
186 -fconcepts.
187
188 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
189
190 * c-opts.c (c_common_post_options): Update
191 latest_abi_version.
192
193 2019-11-02 Jakub Jelinek <jakub@redhat.com>
194
195 * c-common.h (c_omp_get_context_selector): Remove.
196 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
197 and renamed to omp_get_context_selector.
198
199 * c-omp.c (c_omp_mark_declare_variant): Use
200 omp_context_selector_set_compare.
201
202 PR c++/88335 - Implement P1073R3: Immediate functions
203 * c-common.h (enum rid): Add RID_CONSTEVAL.
204 * c-common.c (c_common_reswords): Add consteval.
205
206 2019-11-01 Martin Sebor <msebor@redhat.com>
207
208 PR middle-end/91679
209 PR middle-end/91647
210 PR middle-end/91463
211 PR middle-end/92312
212 * c-pretty-print.c (direct_abstract_declarator): Print
213 bound in zero-length arrays.
214 * c.opt (-Wzero-length-bounds): New option.
215
216 2019-10-30 Nathan Sidwell <nathan@acm.org>
217
218 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
219 macros.
220
221 2019-10-28 Martin Sebor <msebor@redhat.com>
222
223 PR c/66970
224 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
225 even when only preprocessing.
226 * c-common.h (names_builtin_p): Declare new function.
227 * c-lex.c (init_c_lex): Set has_builtin.
228 (c_common_has_builtin): Define a new function.
229 * c-ppoutput.c (init_pp_output): Set has_builtin.
230
231 2019-10-24 Jakub Jelinek <jakub@redhat.com>
232
233 * c-common.h (c_omp_context_selector_matches): Remove.
234 * c-omp.c (c_omp_context_selector_matches): Remove.
235 * c-attribs.c (c_common_attribute_table): Add
236 "omp declare target {host,nohost,block}" attributes.
237
238 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
239
240 * c-lex.c (c_common_has_attribute): Update nodiscard value.
241
242 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
243
244 * c-common.h (user_facing_original_type_p): Declare.
245 * c-common.c: Include c-spellcheck.h.
246 (user_facing_original_type_p): New function.
247
248 2019-10-12 Jakub Jelinek <jakub@redhat.com>
249
250 * c-common.h (c_omp_mark_declare_variant,
251 c_omp_context_selector_matches): Declare.
252 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
253 and hsa-common.h.
254 (c_omp_get_context_selector): Support second argument NULL.
255 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
256 functions.
257 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
258 attribute, add "omp declare variant base" and
259 "omp declare variant variant" attributes.
260
261 2019-10-11 Joseph Myers <joseph@codesourcery.com>
262
263 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
264 CppReason(CPP_W_C11_C2X_COMPAT).
265
266 2019-10-11 Joseph Myers <joseph@codesourcery.com>
267
268 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
269 _Decimal64 and _Decimal128.
270
271 2019-10-10 Joseph Myers <joseph@codesourcery.com>
272
273 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
274 types if DFP not supported.
275
276 2019-10-10 Jakub Jelinek <jakub@redhat.com>
277
278 * c-common.h (c_omp_check_context_selector,
279 c_omp_get_context_selector): Declare.
280 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
281 in diagnostic message.
282 (c_omp_check_context_selector, c_omp_get_context_selector): New
283 functions.
284 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
285 attribute.
286 (handle_omp_declare_variant_attribute): New function.
287
288 2019-10-09 Martin Sebor <msebor@redhat.com>
289
290 PR tree-optimization/90879
291 * c.opt (-Wstring-compare): New option.
292
293 2019-10-08 Andrew Sutton <asutton@lock3software.com>
294 Jason Merrill <jason@redhat.com>
295
296 Update the concepts implementation to conform to the C++20
297 specification, improve compile times, and generally clean up
298 the implementation.
299
300 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
301 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
302 * c.opt: Add -Wconcepts-ts.
303 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
304 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
305 (set_std_cxx2a): Enable concepts by default.
306
307 2019-10-08 Joseph Myers <joseph@codesourcery.com>
308
309 * c-opts.c (c_common_post_options): Set
310 -fno-fp-int-builtin-inexact for C2X.
311
312 2019-10-05 Jakub Jelinek <jakub@redhat.com>
313
314 PR c++/91369 - Implement P0784R7: constexpr new
315 * c-cppbuiltin.c (c_cpp_builtins): Predefine
316 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
317
318 2019-10-04 Joseph Myers <joseph@codesourcery.com>
319
320 PR c/82752
321 * c-format.c (C_STD_VER): Handle C2x.
322 (C_STD_NAME): Likewise.
323 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
324 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
325 modifier allowed and 'p' flag.
326 * c-format.h (enum format_std_version): Add STD_C2X.
327 (struct format_char_info): Mention 'p' in comment on flags2.
328
329 2019-10-01 David Malcolm <dmalcolm@redhat.com>
330
331 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
332 calling diagnostic_show_locus, rather than destroying it afterwards.
333
334 2019-10-01 Jakub Jelinek <jakub@redhat.com>
335
336 PR c++/91925
337 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
338 with NULL DECL_FIELD_OFFSET.
339
340 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
341
342 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
343 has a type name, use it in preference to the __vector syntax.
344
345 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
346
347 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
348 two spaces between a comma and "...".
349
350 2019-09-27 Jakub Jelinek <jakub@redhat.com>
351
352 PR c++/88203
353 * c-common.h (c_omp_predefined_variable): Declare.
354 * c-omp.c (c_omp_predefined_variable): New function.
355 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
356 for predefined variables.
357
358 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
359
360 * c-common.h (build_function_call_vec): Take the original
361 function decl as an optional final parameter.
362 (check_builtin_function_arguments): Take the original function decl.
363 * c-common.c (check_builtin_function_arguments): Likewise.
364 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
365 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
366
367 2019-09-15 Jason Merrill <jason@redhat.com>
368
369 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
370 fold_for_warn in "|| mask" warning.
371
372 2019-09-10 Martin Liska <mliska@suse.cz>
373
374 * c.opt: Use newly added WarnRemoved.
375
376 2019-09-09 Martin Liska <mliska@suse.cz>
377
378 * c.opt: Update comment of removed
379 options that are preserved only for backward
380 compatibility.
381
382 2019-09-06 Martin Liska <mliska@suse.cz>
383
384 PR c++/91125
385 * c-common.c: Remove definition of flag_use_repository.
386 * c-common.h: Likewise.
387 * c-opts.c (c_common_handle_option):
388 Do not handle OPT_frepo option.
389 * c.opt: Mark the option with Deprecated.
390
391 2019-09-04 Marek Polacek <polacek@redhat.com>
392
393 * c.opt (fdeduce-init-list): Ignored.
394
395 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
396
397 PR c/78736
398 * c.opt (Wenum-conversion): New option.
399
400 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
401
402 * c-attribs.c (handle_section_attribute): Call the
403 handle_generic_attribute target hook after performing target
404 independent processing.
405 (handle_noinit_attribute): Likewise.
406
407 2019-09-03 Ian Lance Taylor <iant@golang.org>
408
409 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
410 when using -fgo-dump-spec.
411
412 2019-09-02 Martin Liska <mliska@suse.cz>
413
414 PR c++/91155
415 * c-common.c (fname_as_string): Use cxx_printable_name for
416 __PRETTY_FUNCTION__ same as was used before r265711.
417
418 2019-08-28 Marek Polacek <polacek@redhat.com>
419
420 Implement P1152R4: Deprecating some uses of volatile.
421 PR c++/91361
422 * c-opts.c (c_common_post_options): Enable -Wvolatile by
423 default for C++2a, unless -Wno-deprecated.
424 * c.opt (Wvolatile): New warning.
425
426 2019-08-28 Marek Polacek <polacek@redhat.com>
427
428 PR c++/91360 - Implement C++20 P1143R2: constinit.
429 * c-common.c (c_common_reswords): Add constinit and __constinit.
430 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
431 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
432 RID_LAST_CXX20.
433 (D_CXX20): Define.
434 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
435 * c-format.c (cxx_keywords): Add "constinit".
436 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
437
438 2019-08-27 Jakub Jelinek <jakub@redhat.com>
439
440 PR c++/91415
441 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
442 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
443 like COMPOUND_EXPR rather than normal expression.
444
445 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
446
447 PR pch/61250
448 * c-lex.c (c_lex_with_flags): Don't call
449 c_common_no_more_pch () from here.
450
451 2019-08-23 Jakub Jelinek <jakub@redhat.com>
452
453 PR middle-end/91283
454 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
455 instead of flag_excess_precision_cmdline.
456 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
457 * c-opts.c (c_common_post_options): Likewise.
458
459 2019-08-22 Martin Sebor <msebor@redhat.com>
460
461 PR middle-end/91490
462 * c-common.c (braced_list_to_string): Add argument and overload.
463 Handle flexible length arrays and unions.
464
465 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
466
467 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
468 function declarations where arguments are missing. Rename variables.
469
470 2019-08-15 Richard Biener <rguenther@suse.de>
471
472 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
473 enabled, define __SIZETYPE__.
474
475 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
476
477 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
478 exclusion with "section" attribute.
479 (attr_noinit_exclusions): New table.
480 (handle_noinit_attribute): New function.
481
482 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
483
484 PR middle-end/91421
485 * c-common.c (resolve_overloaded_builtin): Use
486 copy_decl_built_in_function.
487
488 2019-08-13 Martin Sebor <msebor@redhat.com>
489
490 PR c/80619
491 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
492 (asm_fprintf_length_spec): Same.
493 * c-format.h (format_lengths): Add FMT_LEN_w.
494
495 2019-08-10 Jakub Jelinek <jakub@redhat.com>
496
497 * c-pragma.h (enum pragma_omp_clause): Add
498 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
499
500 2019-08-07 Jakub Jelinek <jakub@redhat.com>
501
502 * c-pragma.h (enum pragma_omp_clause): Add
503 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
504 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
505 enumeration value.
506
507 2019-08-05 Marek Polacek <polacek@redhat.com>
508
509 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
510 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
511 default for C++2a, unless -Wno-deprecated.
512 * c.opt (Wcomma-subscript): New warning.
513
514 2019-07-20 Jakub Jelinek <jakub@redhat.com>
515
516 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
517 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
518 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
519 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
520 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
521 constructs with the loop construct.
522
523 2019-07-13 Jakub Jelinek <jakub@redhat.com>
524
525 PR c/91149
526 * c-omp.c (c_omp_split_clauses): Fix a pasto in
527 OMP_CLAUSE_REDUCTION_TASK handling.
528
529 2019-07-12 Jakub Jelinek <jakub@redhat.com>
530
531 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
532 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
533
534 2019-07-09 Martin Sebor <msebor@redhat.com>
535
536 PR c++/61339
537 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
538 and others to class.
539 * c-pretty-print.h: Same.
540
541 2019-07-09 Martin Sebor <msebor@redhat.com>
542
543 PR c++/61339
544 * c-format.c (check_argument_type): Change class-key from class to
545 struct and vice versa to match convention and avoid -Wclass-is-pod
546 and -Wstruct-no-pod.
547 * c-pretty-print.h: Same.
548
549 2019-07-03 Martin Liska <mliska@suse.cz>
550
551 * c-common.c (try_to_locate_new_include_insertion_point): Remove
552 dead assignemts.
553
554 2019-07-03 Jakub Jelinek <jakub@redhat.com>
555
556 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
557 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
558 with OMP_PARALLEL.
559
560 2019-07-02 qing zhao <qing.zhao@oracle.com>
561
562 PR preprocessor/90581
563 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
564 * c.opt: Add new option -fmax-include-depth.
565
566 2019-06-26 Jason Merrill <jason@redhat.com>
567
568 PR c++/55442 - memory-hog with highly recursive constexpr.
569 * c.opt (fconstexpr-loop-limit): New.
570
571 2019-06-25 Jakub Jelinek <jakub@redhat.com>
572
573 PR sanitizer/90954
574 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
575 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
576
577 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
578
579 * c-common.c (c_common_nodes_and_builtins): Define
580 alternate "__intN__" name for "__intN" types.
581
582 2019-06-24 Jan Hubicka <jh@suse.cz>
583
584 * c-common.c (braced_lists_to_strings): Check that
585 type is array or integer prior checking string flag.
586
587 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
588
589 PR c++/90875 - added -Wswitch-outside-range option
590 * c.opt (Wswitch-outside-range): Added new option.
591 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
592
593 2019-06-21 Marek Polacek <polacek@redhat.com>
594
595 PR c++/90953 - ICE with -Wmissing-format-attribute.
596 * c-common.c (check_function_arguments_recurse): Use
597 get_attribute_name.
598 (check_missing_format_attribute): Likewise.
599
600 2019-06-19 Marek Polacek <polacek@redhat.com>
601
602 PR c++/60364 - noreturn after first decl not diagnosed.
603 * c-attribs.c (handle_noreturn_attribute): No longer static.
604 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
605 Declare.
606 * c-format.c (check_function_format): Use get_attribute_name.
607
608 2019-06-19 Martin Sebor <msebor@redhat.com>
609
610 PR translation/90156
611 * c-format.c (function_format_info::format_type): Adjust type.
612 (function_format_info::is_raw): New member.
613 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
614 (decode_format_attr): Adjust call to decode_format_type.
615 Avoid a redundant call to convert_format_name_to_system_name.
616 Avoid abbreviating the word "arguments" in a diagnostic.
617 (format_warning_substr): New function.
618 (avoid_dollar_number): Quote dollar sign in a diagnostic.
619 (finish_dollar_format_checking): Same.
620 (check_format_info): Same.
621 (struct baltoks_t): New.
622 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
623 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
624 functions.
625 (check_format_info_main): Call check_plain. Use baltoks_t. Call
626 maybe_diag_unbalanced_tokens.
627 (handle_format_attribute): Spell out the word "arguments" in
628 a diagnostic.
629
630 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
631
632 PR c++/90449 - add -Winaccessible-base option.
633 * c.opt (Winaccessible-base): New option.
634
635 2019-06-10 Jakub Jelinek <jakub@redhat.com>
636
637 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
638 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
639 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
640 combined/composite constructs where it is not allowed. Copy over
641 OMP_CLAUSE_REDUCTION_INSCAN.
642
643 2019-06-05 Martin Sebor <msebor@redhat.com>
644
645 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
646 (handle_alias_ifunc_attribute): Same.
647 (handle_copy_attribute): Same.
648 (handle_weakref_attribute): Same.
649 (handle_nonnull_attribute): Same.
650 * c-warn.c (warn_for_sign_compare): Same.
651 (warn_for_restrict): Same.
652 * c.opt: Same.
653
654 2019-06-05 Martin Sebor <msebor@redhat.com>
655
656 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
657 * c.opt (-Wformat-diag): Remove a spurious period.
658
659 2019-05-29 Jakub Jelinek <jakub@redhat.com>
660
661 PR c/90628
662 * c-common.c (check_builtin_function_arguments)
663 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
664 as last argument.
665
666 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
667
668 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
669
670 2019-05-22 Martin Liska <mliska@suse.cz>
671
672 PR lto/90500
673 * c-attribs.c (handle_copy_attribute): Do not copy
674 target_clones attribute.
675
676 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
677
678 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
679 * c-ada-spec.c (print_assignment_operator): New function.
680 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
681 assignment operators declared as methods and filter out the others.
682
683 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
684
685 PR c/89433
686 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
687 "omp declare target".
688
689 2019-05-16 Martin Sebor <msebor@redhat.com>
690
691 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
692 keywords, operators, and types in diagnostics.
693 (handle_scalar_storage_order_attribute): Same.
694 (handle_mode_attribute): Same.
695 (handle_visibility_attribute): Same.
696 (handle_assume_aligned_attribute): Same.
697 (handle_no_split_stack_attribute): Same.
698 * c-common.c (shorten_compare): Same.
699 (c_common_truthvalue_conversion): Same.
700 (cb_get_source_date_epoch): Same.
701 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
702 in diagnostics.
703 (interpret_float): Same.
704 * c-omp.c (c_finish_omp_for): Same.
705 * c-opts.c (c_common_post_options): Same.
706 * c-pch.c (c_common_pch_pragma): Same.
707 * c-pragma.c (pop_alignment): Same.
708 (handle_pragma_pack): Same.
709 (apply_pragma_weak): Same.
710 (handle_pragma_weak): Same.
711 (handle_pragma_scalar_storage_order): Same.
712 (handle_pragma_redefine_extname): Same.
713 (add_to_renaming_pragma_list): Same.
714 (maybe_apply_renaming_pragma): Same.
715 (push_visibility): Same.
716 (handle_pragma_visibility): Same.
717 (handle_pragma_optimize): Same.
718 (handle_pragma_message): Same.
719 * c-warn.c (warn_for_omitted_condop): Same.
720 (lvalue_error): Same.
721
722 2019-05-15 Richard Biener <rguenther@suse.de>
723
724 PR c/90474
725 * c-common.c (c_common_mark_addressable_vec): Also mark
726 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
727 c_mark_addressable.
728
729 2019-05-06 Nathan Sidwell <nathan@acm.org>
730
731 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
732
733 2019-04-30 Nathan Sidwell <nathan@acm.org>
734
735 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
736
737 2019-04-30 Martin Liska <mliska@suse.cz>
738
739 * c-pragma.c (handle_pragma_diagnostic): Provide hints
740 for unknown options.
741
742 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
743
744 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
745 the pointer target rather than the pointer itself.
746
747 2019-04-19 Jakub Jelinek <jakub@redhat.com>
748
749 PR c/89888
750 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
751 arguments.
752 (c_do_switch_warnings): Remove outside_range_p argument.
753 * c-common.c (check_case_bounds): Removed.
754 (c_add_case_label): Remove orig_type and outside_range_p arguments.
755 Don't call check_case_bounds. Fold low_value as well as high_value.
756 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
757 Check for case labels outside of range of original type here and
758 adjust them.
759
760 2019-04-12 Jakub Jelinek <jakub@redhat.com>
761
762 PR translation/90041
763 * c.opt (-fhandle-exceptions): Use %< and %> around option names
764 in the Warn diagnostics.
765
766 PR c/89946
767 * c-attribs.c (handle_patchable_function_entry_attribute): Add
768 function comment. Warn if arguments of the attribute are not positive
769 integer constants.
770
771 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
772
773 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
774 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
775
776 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
777
778 * c-ada-spec.c (is_float128): New predicate extracted from...
779 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
780 <REAL_TYPE>: ...here. Call it.
781
782 2019-04-05 David Malcolm <dmalcolm@redhat.com>
783
784 PR c/89985
785 * c-warn.c (check_address_or_pointer_of_packed_member): Add
786 auto_diagnostic_group. Guard inform calls by result of
787 warning_at call.
788
789 2019-04-05 Marek Polacek <polacek@redhat.com>
790
791 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
792 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
793 of RHS.
794
795 2019-04-03 Jason Merrill <jason@redhat.com>
796
797 PR c++/86586 - -fcompare-debug=-Wsign-compare.
798 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
799
800 2019-04-01 Martin Sebor <msebor@redhat.com>
801
802 PR c/89685
803 * c-attribs.c (handle_copy_attribute): Handle references and
804 non-constant expressions.
805
806 2019-03-22 Jakub Jelinek <jakub@redhat.com>
807
808 PR c++/87481
809 * c.opt (-fconstexpr-ops-limit=): New option.
810
811 2019-03-21 Jakub Jelinek <jakub@redhat.com>
812
813 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
814 template param.
815
816 2019-03-19 Martin Sebor <msebor@redhat.com>
817
818 PR tree-optimization/89688
819 * c-common.c (braced_list_to_string): Make static.
820 (braced_lists_to_strings): Define new function.
821 * c-common.h (braced_list_to_string): Remove.
822 (braced_lists_to_strings): Declare.
823
824 2019-03-12 Martin Liska <mliska@suse.cz>
825
826 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
827
828 2019-03-11 Martin Liska <mliska@suse.cz>
829
830 * c-opts.c (c_common_post_options): Wrap apostrophes
831 in gcc internal format with %'.
832
833 2019-03-11 Martin Liska <mliska@suse.cz>
834
835 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
836 in a string format message and fix GNU coding style.
837 * c-common.c (vector_types_convertible_p): Likewise.
838 (c_build_vec_perm_expr): Likewise.
839 * c-indentation.c (get_visual_column): Likewise.
840 * c-opts.c (c_common_handle_option): Likewise.
841 (c_common_post_options): Likewise.
842 (sanitize_cpp_opts): Likewise.
843 * c-pch.c (c_common_pch_pragma): Likewise.
844 * c-pragma.c (handle_pragma_pack): Likewise.
845
846 2019-03-08 Jakub Jelinek <jakub@redhat.com>
847
848 PR tree-optimization/89550
849 * c-common.c (c_common_truthvalue_conversion): Only set
850 TREE_NO_WARNING if warning_at returned true.
851 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
852
853 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
854 Martin Sebor <msebor@gmail.com>
855
856 * c.opt (Wmissing-attributes): Clean up doc string.
857
858 2019-02-25 Jakub Jelinek <jakub@redhat.com>
859
860 PR c/89495
861 * c-format.c (maybe_read_dollar_number): Compute nargnum in
862 HOST_WIDE_INT type to avoid overflows and change overflow_flag
863 checking.
864
865 2019-02-22 Richard Biener <rguenther@suse.de>
866
867 * c-pch.c (no_checksum): Remove.
868 (pch_init): Remove assertion that executable_checksum is not
869 all zero.
870 (c_common_valid_pch): Likewise.
871
872 2019-02-18 Martin Sebor <msebor@redhat.com>
873
874 PR middle-end/89294
875 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
876
877 2019-02-16 David Malcolm <dmalcolm@redhat.com>
878
879 PR c++/88680
880 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
881 implementing -Wtype-limits.
882
883 2019-02-11 Martin Sebor <msebor@redhat.com>
884
885 PR c++/87996
886 * c-common.c (invalid_array_size_error): New function.
887 (valid_array_size_p): Call it. Handle size as well as type.
888 * c-common.h (valid_constant_size_p): New function.
889 (enum cst_size_error): New type.
890
891 2019-01-31 David Malcolm <dmalcolm@redhat.com>
892
893 PR c/89122
894 * known-headers.cc (get_stdlib_header_for_name): Add
895 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
896
897 2019-01-31 Jakub Jelinek <jakub@redhat.com>
898
899 PR libstdc++/88170
900 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
901 a C cast in pp_c_flag_gnu_v3 mode.
902
903 2019-01-29 Jakub Jelinek <jakub@redhat.com>
904
905 PR c/86125
906 * c-common.c (c_common_nodes_and_builtins): Build type variants for
907 builtin_structptr_types types even for C.
908
909 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
910
911 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
912 when rhs is of array type correctly. Fix handling of nested structures.
913 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
914 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
915 type casts within nested compound expressions.
916
917 2019-01-22 Jakub Jelinek <jakub@redhat.com>
918
919 PR middle-end/88968
920 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
921 variable after using BIT_FIELD_REF.
922
923 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
924
925 PR c/51628
926 PR c/88664
927 * c-common.h (warn_for_address_or_pointer_of_packed_member):
928 Remove the boolean argument.
929 * c-warn.c (check_address_of_packed_member): Renamed to ...
930 (check_address_or_pointer_of_packed_member): This. Also
931 warn pointer conversion.
932 (check_and_warn_address_of_packed_member): Renamed to ...
933 (check_and_warn_address_or_pointer_of_packed_member): This.
934 Also warn pointer conversion.
935 (warn_for_address_or_pointer_of_packed_member): Remove the
936 boolean argument. Don't check pointer conversion here.
937
938 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
939
940 PR inline-asm/52813
941 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
942
943 2019-01-14 Jakub Jelinek <jakub@redhat.com>
944
945 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
946 and __cpp_nontype_template_parameter_auto. Add a comment that
947 __cpp_template_auto is deprecated.
948
949 2019-01-14 Tom Honermann <tom@honermann.net>
950
951 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
952 * c-common.c (c_common_reswords): Add char8_t.
953 (fix_string_type): Use char8_t for the type of u8 string literals.
954 (c_common_get_alias_set): char8_t doesn't alias.
955 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
956 C++.
957 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
958 (keyword_begins_type_specifier): Add RID_CHAR8.
959 * c-common.h (rid): Add RID_CHAR8.
960 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
961 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
962 Define char8_type_node and char8_array_type_node.
963 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
964 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
965 (c_cpp_builtins): Predefine __cpp_char8_t.
966 * c-lex.c (lex_string): Use char8_array_type_node as the type of
967 CPP_UTF8STRING.
968 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
969 * c-opts.c: If not otherwise specified, enable -fchar8_t when
970 targeting C++2a.
971 * c.opt: Add the -fchar8_t command line option.
972
973 2019-01-14 Martin Sebor <msebor@redhat.com>
974
975 PR target/88638
976 * c-attribs.c (positional_argument): Call valid_format_string_type_p
977 and issue errors if it fails.
978 * c-common.h (valid_format_string_type_p): Declare.
979 * c-format.c (valid_stringptr_type_p): Rename...
980 (valid_format_string_type_p): ...to this and make extern.
981 (handle_format_arg_attribute): Adjust to new name.
982 (check_format_string): Same.
983
984 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
985
986 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
987 Replace "may may" with "may" in warning message.
988
989 2019-01-07 Jakub Jelinek <jakub@redhat.com>
990
991 PR c++/85052
992 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
993 (c_build_vec_convert): Declare.
994 * c-common.c (c_build_vec_convert): New function.
995
996 2019-01-04 Martin Sebor <msebor@redhat.com>
997
998 PR c/88546
999 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1000 Handle C++ empty throw specification and C11 _Noreturn.
1001 (has_attribute): Also handle C11 _Noreturn.
1002
1003 2019-01-04 Martin Sebor <msebor@redhat.com>
1004
1005 PR c/88363
1006 * c-attribs.c (positional_argument): Also accept enumerated types.
1007
1008 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1009
1010 Update copyright years.
1011
1012 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1013
1014 PR c/51628
1015 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1016 * c-warn.c (check_alignment_of_packed_member): New function.
1017 (check_address_of_packed_member): Likewise.
1018 (check_and_warn_address_of_packed_member): Likewise.
1019 (warn_for_address_or_pointer_of_packed_member): Likewise.
1020 * c.opt: Add -Wno-address-of-packed-member.
1021
1022 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1023
1024 PR c++/87504
1025 * c-warn.c (get_outermost_macro_expansion): New function.
1026 (spelled_the_same_p): Use it to unwind the macro expansions, and
1027 compare the outermost macro in each nested expansion, rather than
1028 the innermost.
1029
1030 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1031
1032 PR c++/87504
1033 * c-common.h (warn_tautological_cmp): Convert 1st param from
1034 location_t to const op_location_t &.
1035 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1036 when testing for INTEGER_CST.
1037 (warn_tautological_bitwise_comparison): Convert 1st param from
1038 location_t to const op_location_t &; use it to build a
1039 binary_op_rich_location, and use this.
1040 (spelled_the_same_p): New function.
1041 (warn_tautological_cmp): Convert 1st param from location_t to
1042 const op_location_t &. Warn for macro expansions if
1043 spelled_the_same_p. Use binary_op_rich_location.
1044
1045 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1046
1047 PR c++/43064
1048 PR c++/43486
1049 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1050 (verify_tree): Handle location wrappers.
1051 (c_common_truthvalue_conversion): Strip any location wrapper.
1052 Handle CONST_DECL.
1053 (fold_offsetof): Strip any location wrapper.
1054 (complete_array_type): Likewise for initial_value.
1055 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1056 index before checking for INTEGER_CST.
1057 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1058 print parentheses around location wrappers.
1059 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1060 before checking for INTEGER_CST.
1061 (warn_tautological_bitwise_comparison): Call
1062 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1063 before checking for INTEGER_CST.
1064 (readonly_error): Strip any location wrapper.
1065 (warn_array_subscript_with_type_char): Strip location wrappers
1066 before checking for INTEGER_CST. Use the location of the index if
1067 available.
1068
1069 2018-12-06 Jason Merrill <jason@redhat.com>
1070
1071 PR c++/88136 - -Wdeprecated-copy false positives
1072 * c.opt (Wdeprecated-copy-dtor): New.
1073 (Wdeprecated-copy): Move to -Wextra.
1074
1075 2018-11-29 Martin Sebor <msebor@redhat.com>
1076
1077 PR c/88172
1078 PR testsuite/88208
1079 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1080 alignments to values less than the target requires.
1081 (has_attribute): For attribute aligned consider both the attribute
1082 and the alignment bits.
1083 * c-common.c (c_init_attributes): Optionally issue a warning for
1084 zero alignment.
1085
1086 2018-11-28 Martin Sebor <msebor@redhat.com>
1087
1088 PR c/88065
1089 PR c/87297
1090 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1091 or destination is an error.
1092
1093 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1094
1095 PR c++/88215
1096 * c-ubsan.c: Include langhooks.h.
1097 (ubsan_instrument_division): Change gcc_assert that main variants
1098 of op0 and op1 types are equal to gcc_checking_assert that the
1099 main variants are compatible types.
1100
1101 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1102
1103 * c-ada-spec.c: Include stringpool.h.
1104 (has_static_fields): Return false for incomplete types.
1105 (is_tagged_type): Likewise.
1106 (has_nontrivial_methods): Likewise.
1107 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1108 (struct overloaded_name_hash): New structure.
1109 (struct overloaded_name_hasher): Likewise.
1110 (overloaded_names): New global variable.
1111 (init_overloaded_names): New static function.
1112 (overloaded_name_p): New predicate.
1113 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1114 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1115 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1116 Remove always-true condition and dump forward types.
1117 (dump_ada_specs): Delete overloaded_names.
1118
1119 2018-11-20 Martin Sebor <msebor@redhat.com>
1120
1121 * c-attribs.c (type_for_vector_size): New function.
1122 (type_valid_for_vector_size): Same.
1123 (handle_vector_size_attribute): Move code to the functions above
1124 and call them.
1125 (validate_attribute, has_attribute): New functions.
1126 * c-common.h (has_attribute): Declare.
1127 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1128 * c-common.c (c_common_resword): Same.
1129
1130 2018-11-16 Jason Merrill <jason@redhat.com>
1131
1132 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1133 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1134
1135 2018-11-16 Jakub Jelinek <jakub@redhat.com>
1136
1137 PR middle-end/87854
1138 * c-common.c (fix_string_type): Reject string literals larger than
1139 TYPE_MAX_VALUE (ssizetype) bytes.
1140
1141 2018-11-15 Martin Sebor <msebor@redhat.com>
1142
1143 PR c++/87541
1144 PR c++/87542
1145 * c-attribs.c (positional_argument): New function.
1146 (handle_alloc_size_attribute): Use it and simplify.
1147 (handle_alloc_align_attribute): Same.
1148 (handle_assume_aligned_attribute): Same.
1149 (handle_nonnull_attribute): Same.
1150 * c-common.c (check_function_arguments): Pass fntype to
1151 check_function_format.
1152 * c-common.h (check_function_format): Add an argument.
1153 (PosArgFlags, positional_argument): Declare new type and function.
1154 * c-format.c (decode_format_attr): Add arguments.
1155 (check_format_string, get_constant): Same.
1156 (convert_format_name_to_system_name): Adjust.
1157
1158 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1159
1160 PR other/19165
1161 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1162
1163 2018-11-14 Jakub Jelinek <jakub@redhat.com>
1164
1165 P1236R1 - Signed integers are two's complement
1166 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1167 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1168 with in-range second operand well defined for -std=c++2a.
1169
1170 PR other/88007
1171 * c-common.c (parse_optimize_options): Allocate option string from
1172 opts_obstack rather than as GC memory. Move the allocation after
1173 warning for invalid option.
1174
1175 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1176
1177 * c-common.c (c_get_substring_location): Update for renaming of
1178 get_source_location_for_substring to get_location_within_string.
1179 * c-lex.c: Replace "source_location" with "location_t".
1180 * c-opts.c: Likewise.
1181 * c-ppoutput.c: Likewise.
1182
1183 2018-11-13 Martin Sebor <msebor@redhat.com>
1184
1185 PR middle-end/81824
1186 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1187 (handle_tls_model_attribute): Improve diagnostics.
1188
1189 2018-11-12 Jason Merrill <jason@redhat.com>
1190
1191 * c-cppbuiltin.c (c_cpp_builtins): Define
1192 __cpp_impl_destroying_delete.
1193
1194 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1195 __cpp_conditional_explicit.
1196
1197 2018-11-09 Martin Sebor <msebor@redhat.com>
1198
1199 PR middle-end/81824
1200 * c-attribs.c (handle_copy_attribute): New function.
1201
1202 2018-11-09 Martin Sebor <msebor@redhat.com>
1203
1204 PR c/87795
1205 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1206
1207 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1208
1209 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1210 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1211 enum omp_memory_order MEMORY_ORDER.
1212 (c_finish_omp_flush): Add MO argument.
1213 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1214 (c_finish_omp_for): Add FINAL_P argument.
1215 * c-omp.c: Include memmodel.h.
1216 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1217 OMP_TASKGROUP_CLAUSES to it.
1218 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1219 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1220 instead of OMP_ATOMIC_SEQ_CST.
1221 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1222 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1223 __atomic_thread_fence call with the given value.
1224 (check_omp_for_incr_expr): Formatting fixes.
1225 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1226 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1227 is not constant expression 1 or -1. Transform NE_EXPR loops
1228 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1229 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1230 loops too.
1231 (c_omp_split_clauses): Add support for combined
1232 #pragma omp parallel master and
1233 #pragma omp {,parallel }master taskloop{, simd} constructs.
1234 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1235 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1236 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1237 (c_omp_predetermined_sharing): Don't return
1238 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1239 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1240 PRAGMA_OMP_REQUIRES.
1241 * c-pragma.h (enum pragma_kind): Likewise.
1242 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1243 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1244
1245 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1246
1247 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1248
1249 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1250
1251 * c-format.c (local_cgraph_node_ptr_node): New variable.
1252 (gcc_dump_printf_char_table): Add entry for %C.
1253 (get_pointer_to_named_type): New function, taken from the handling
1254 code for "gimple *" from...
1255 (init_dynamic_diag_info): ...here. Add handling for
1256 "cgraph_node *".
1257 * c-format.h (T_CGRAPH_NODE): New.
1258
1259 2018-10-19 Jason Merrill <jason@redhat.com>
1260
1261 * c-cppbuiltin.c (c_cpp_builtins): Add
1262 __cpp_nontype_template_parameter_class.
1263
1264 2018-10-31 Nathan Sidwell <nathan@acm.org>
1265
1266 * c-opts.c (c_finish_options): Force command line macro
1267 location. Refactor to avoid repeating main debug hook.
1268 (push_command_line_include): Clarify comment.
1269
1270 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1271
1272 2018-10-30 Martin Sebor <msebor@redhat.com>
1273
1274 PR middle-end/87041
1275 * c-format.c (check_format_types): Avoid diagnosing null pointer
1276 arguments to printf-family of functions.
1277
1278 2018-10-30 Marek Polacek <polacek@redhat.com>
1279
1280 Implement P0892R2, explicit(bool).
1281 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1282
1283 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1284
1285 * name-hint.h (name_hint::take_deferred): New member function.
1286
1287 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1288
1289 PR c++/56856
1290 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1291 argument.
1292 (check_function_restrict): Rename param "argarray" to
1293 "unfolded_argarray", and make a copy named "argarray", calling
1294 fold_for_warn on each argument.
1295 (check_function_arguments): Add note about responsibility for
1296 folding the arguments.
1297
1298 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1299
1300 * c-common.c (flag_isoc2x): New variable.
1301 * c-common.h (clk_c): Update comment to reference C2X.
1302 (flag_isoc99, flag_isoc11): Update comments to reference future
1303 standard versions in general.
1304 (flag_isoc2x): Declare.
1305 * c-opts.c (set_std_c2x): New function.
1306 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1307 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1308 flag_isoc2x to 0.
1309 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1310
1311 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1312
1313 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1314 (std=iso9899:2018): Document C17 as published in 2018.
1315
1316 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1317
1318 PR c++/87364
1319 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1320
1321 2018-10-11 Will Wray <wjwray@gmail.com>
1322
1323 PR c++/87364
1324 * c-pretty-print.h (pp_c_type_cast): Prototype.
1325 (pp_c_integer_constant): Likewise.
1326 * c-pretty-print.c (pp_c_type_cast): No longer static.
1327 (pp_c_integer_constant): Likewise.
1328 (pp_c_enumeration_constant): Fix loop termination when finding
1329 name of constant. No longer returns a value. Call
1330 pp_c_integer_constant.
1331 (c_pretty_printer::constant): Update for changes to
1332 pp_c_enumeration_constant.
1333
1334 2018-10-11 Jakub Jelinek <jakub@redhat.com>
1335
1336 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1337 for no_unique_address.
1338
1339 2018-10-09 David Malcolm <dmalcolm@redhat.com>
1340
1341 * c-common.c (c_option_controlling_cpp_error): Rename to...
1342 (c_option_controlling_cpp_diagnostic): ...this, and convert
1343 "reason" from int to enum.
1344 (c_cpp_error): Rename to...
1345 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1346 * c-common.h (c_cpp_error): Rename to...
1347 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1348 * c-opts.c (c_common_init_options): Update for renaming.
1349
1350 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1351
1352 PR c/87286
1353 * c-common.c (vector_types_compatible_elements_p): Use
1354 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1355
1356 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1357
1358 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1359 to generate constructor destructor priority warning.
1360 * c.opt (-Wprio-ctor-dtor): New option.
1361
1362 2018-10-01 Jason Merrill <jason@redhat.com>
1363
1364 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1365
1366 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1367
1368 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1369 (dump_ada_node): Add const keyword.
1370
1371 2018-09-25 Martin Liska <mliska@suse.cz>
1372
1373 * c-common.c (c_common_truthvalue_conversion):
1374 Remove Pascal from documentation.
1375
1376 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1377
1378 * c-ada-spec.c: Include diagnostic.h.
1379 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1380
1381 2018-09-19 Marek Polacek <polacek@redhat.com>
1382
1383 * c.opt (Wclass-conversion): New.
1384
1385 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1386
1387 * c-format.c (range_label_for_format_type_mismatch::get_text):
1388 Update for new param.
1389
1390 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1391
1392 * c-format.c (format_warning_at_char): Update for introduction of
1393 format_string_diagnostic_t.
1394 (format_type_warning): Likewise.
1395
1396 2018-09-17 Martin Jambor <mjambor@suse.cz>
1397
1398 PR c/63886
1399 * c.opt (Wabsolute-value): New.
1400
1401 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1402
1403 * c-common.c (complete_flexible_array_elts): New helper function.
1404 * c-common.h (complete_flexible_array_elts): Declare.
1405
1406 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1407
1408 * c-common.c (braced_list_to_string): Remove eval parameter.
1409 Add some more checks. Always create zero-terminated STRING_CST.
1410 * c-common.h (braced_list_to_string): Adjust prototype.
1411
1412 2018-08-27 David Malcolm <dmalcolm@redhat.com>
1413
1414 PR 87091
1415 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1416 to a tri-state.
1417 (maybe_suggest_missing_token_insertion): Likewise.
1418 (maybe_add_include_fixit): Add param "override_location". If set,
1419 and source-printing is enabled, then override the rich_location's
1420 primary location with that of the insertion point for the fix-it
1421 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1422 * c-common.h (extern void maybe_add_include_fixit): Add bool
1423 param.
1424 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1425 for conversion of show_caret_p to a tri-state.
1426 * c-warn.c (warn_for_restrict): Likewise.
1427 * known-headers.cc
1428 (suggest_missing_header::~suggest_missing_header): Update call to
1429 maybe_add_include_fixit to suggest overriding the location, as it
1430 is for a note.
1431
1432 2018-08-27 Martin Liska <mliska@suse.cz>
1433
1434 * c-common.c (check_function_restrict): Use new function
1435 fndecl_built_in_p and remove check for FUNCTION_DECL if
1436 possible.
1437 (check_builtin_function_arguments): Likewise.
1438 (reject_gcc_builtin): Likewise.
1439 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1440
1441 2018-08-26 Marek Polacek <polacek@redhat.com>
1442
1443 PR c++/87029, Implement -Wredundant-move.
1444 * c.opt (Wredundant-move): New option.
1445
1446 2018-08-21 Marek Polacek <polacek@redhat.com>
1447
1448 PR c++/86981, Implement -Wpessimizing-move.
1449 * c.opt (Wpessimizing-move): New option.
1450
1451 2018-08-20 David Malcolm <dmalcolm@redhat.com>
1452
1453 PR other/84889
1454 * c-attribs.c (common_handle_aligned_attribute): Add
1455 auto_diagnostic_group instance.
1456 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1457 * c-opts.c (c_common_post_options): Likewise.
1458 * c-warn.c (warn_logical_not_parentheses): Likewise.
1459 (warn_duplicated_cond_add_or_warn): Likewise.
1460 (warn_for_multistatement_macros): Likewise.
1461
1462 2018-08-20 Nathan Sidwell <nathan@acm.org>
1463
1464 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1465 access.
1466
1467 2018-08-17 Nathan Sidwell <nathan@acm.org>
1468
1469 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1470 field.
1471 (laxy_hex_fp_value_count): Make unsigned.
1472 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1473 manipulate the macro.
1474 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1475 cpp_define_lazily.
1476
1477 2018-08-17 David Malcolm <dmalcolm@redhat.com>
1478
1479 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1480 (gcc_dump_printf_length_specs): New.
1481 (gcc_dump_printf_flag_pairs): New.
1482 (gcc_dump_printf_flag_specs): New.
1483 (gcc_dump_printf_char_table): New.
1484 (format_types_orig): Add entry for "gcc_dump_printf".
1485 (init_dynamic_diag_info): Set up length_char_specs and
1486 conversion_specs for gcc_dump_printf_format_type.
1487 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1488
1489 2018-08-17 Nathan Sidwell <nathan@acm.org>
1490
1491 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1492
1493 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1494 * c-cppbuiltin.c: Likewise.
1495
1496 2018-08-17 Martin Liska <mliska@suse.cz>
1497
1498 * c.opt: Remove Warn, Init and Report for options with
1499 Ignore/Deprecated flag. Warning is done automatically for
1500 Deprecated flags.
1501
1502 2018-08-16 David Malcolm <dmalcolm@redhat.com>
1503
1504 PR c++/70693
1505 * c-common.c (selftest::c_family_tests): Call
1506 selftest::c_indentation_c_tests.
1507 * c-common.h (selftest::c_indentation_c_tests): New decl.
1508 * c-indentation.c: Include "selftest.h".
1509 (next_tab_stop): Add "tab_width" param, rather than accessing
1510 cpp_opts.
1511 (get_visual_column): Likewise. Clarify comment. Bulletproof
1512 against reading past the end of the line.
1513 (get_first_nws_vis_column): Add "tab_width" param.
1514 (detect_intervening_unindent): Likewise.
1515 (should_warn_for_misleading_indentation): Read tab width from
1516 cpp_opts and pass around.
1517 (selftest::test_next_tab_stop): New test.
1518 (selftest::assert_get_visual_column_succeeds): New function.
1519 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1520 (selftest::assert_get_visual_column_fails): New function.
1521 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1522 (selftest::test_get_visual_column): New test.
1523 (selftest::c_indentation_c_tests): New function.
1524
1525 2018-08-16 Nathan Sidwell <nathan@acm.org>
1526
1527 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1528 (store_ada_macro): Likewise.
1529 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1530 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1531
1532 2018-08-15 David Malcolm <dmalcolm@redhat.com>
1533
1534 * c-format.c: Include "selftest-diagnostic.h" and
1535 "gcc-rich-location.h".
1536 (format_warning_at_char): Pass NULL for new label params of
1537 format_warning_va.
1538 (class indirection_suffix): New class.
1539 (class range_label_for_format_type_mismatch): New class.
1540 (format_type_warning): Move logic for generating "*" suffix to
1541 class indirection_suffix. Create "fmt_label" and "param_label"
1542 to show their types, and pass them to the
1543 format_warning_at_substring calls.
1544 (selftest::test_type_mismatch_range_labels): New test.
1545 (selftest::c_format_c_tests): Call it.
1546
1547 2018-08-13 Martin Sebor <msebor@redhat.com>
1548
1549 PR tree-optimization/71625
1550 * c-common.c (braced_list_to_string): New function.
1551 * c-common.h (braced_list_to_string): Declare it.
1552
1553 2018-08-08 Nathan Sidwell <nathan@acm.org>
1554
1555 * c-common.c (try_to_locate_new_include_inertion_point): Use
1556 linemap_included_from_linemap.
1557 * c-lex.c (fe_file_change): Use linemap_included_from.
1558 * c-ppoutput.c (pp_file_change): Likewise.
1559
1560 2018-08-01 Martin Sebor <msebor@redhat.com>
1561
1562 PR tree-optimization/86650
1563 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
1564 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1565 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1566 * c-format.h (T89_G): Update to be "gimple *" rather than
1567 "gcall *".
1568 (local_gcall_ptr_node): Rename...
1569 (local_gimple_ptr_node): ...to this.
1570
1571 2018-07-31 David Malcolm <dmalcolm@redhat.com>
1572
1573 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1574 table entries for gcc_diag_char_table, and the 'Z' entry from
1575 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1576 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1577 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1578 adding missing "Z" for this table. Remove erroneous "G" and "K"
1579 entries.
1580 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1581 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1582 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1583
1584 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
1585
1586 * c-common.c (speculation_safe_resolve_call): New function.
1587 (speculation_safe_resolve_params): New function.
1588 (speculation_safe_resolve_return): New function.
1589 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1590 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1591 __HAVE_SPECULATION_SAFE_VALUE.
1592
1593 2018-07-20 David Malcolm <dmalcolm@redhat.com>
1594
1595 * c-common.c (c_cpp_error): Remove redundant "line_table"
1596 parameter from call to rich_location::set_range.
1597 (maybe_suggest_missing_token_insertion): Likewise.
1598
1599 2018-07-20 Martin Sebor <msebor@redhat.com>
1600
1601 PR middle-end/82063
1602 * c.opt (-Warray-bounds): Remove redundant -Wall.
1603
1604 2018-07-20 Martin Sebor <msebor@redhat.com>
1605
1606 PR middle-end/82063
1607 * c-common.h (c_common_handle_option): Change function argument
1608 to HOST_WIDE_INT.
1609 * c-opts.c (c_common_init_options): Same.
1610 (c_common_handle_option): Same. Remove special handling of
1611 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1612 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1613 options to take a HOST_WIDE_INT argument and accept a byte-size
1614 suffix. Initialize.
1615 (-Wvla-larger-than): Same.
1616 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1617 (-Wno-vla-larger-than): Same.
1618
1619 2018-07-12 Jakub Jelinek <jakub@redhat.com>
1620
1621 * c-attribs.c (c_common_attribute_table): Add
1622 "omp declare target implicit" attribute.
1623
1624 2018-07-12 Richard Biener <rguenther@suse.de>
1625
1626 PR c/86453
1627 * c-attribs.c (handle_packed_attribute): Do not build a variant
1628 type with TYPE_PACKED, instead ignore the attribute if we may
1629 not apply to the original type.
1630
1631 2018-07-10 Jakub Jelinek <jakub@redhat.com>
1632
1633 PR c++/86443
1634 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1635 to contain TREE_LIST for both the original class iterator and the
1636 "last" helper var.
1637
1638 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1639
1640 * c-ada-spec.c (to_ada_name): Remove index parameter.
1641 (pp_ada_tree_identifier): Likewise.
1642 (dump_ada_macros): Adjust call to to_ada_name.
1643 (struct overloaded_name_hash): Delete.
1644 (struct overloaded_name_hasher): Likewise.
1645 (overloaded_names): Likewise.
1646 (compute_overloading_index): Likewise.
1647 (dump_ada_decl_name): Do not call compute_overloading_index and
1648 adjust calls to pp_ada_tree_identifier.
1649 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1650 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1651 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1652 (dump_ada_enum_type): Remove type and display_convention parameters.
1653 Adjust calls to pp_ada_tree_identifier.
1654 (dump_ada_node): Likewise and for dump_ada_structure.
1655 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1656 and tidy up.
1657 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1658 syntax.
1659 (print_constructor): Adjust call to pp_ada_tree_identifier.
1660 (print_destructor): Likewise.
1661 (dump_ada_declaration): Switch to aspect syntax.
1662 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1663 parameter with nested parameter.
1664 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1665 (dump_ada_specs): Do not delete overloaded_names table.
1666
1667 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
1668
1669 PR target/86324
1670 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
1671 target hook.
1672
1673 2018-07-05 Nathan Sidwell <nathan@acm.org>
1674
1675 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1676 NO_IMPLICIT_EXTERN_C.
1677
1678 2018-06-28 Martin Liska <mliska@suse.cz>
1679
1680 * cppspec.c: Include opt-suggestions.h.
1681
1682 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1683 Thomas Schwinge <thomas@codesourcery.com>
1684 Cesar Philippidis <cesar@codesourcery.com>
1685
1686 * c-pragma.h (enum pragma_omp_clause): Add
1687 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1688 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1689
1690 2018-06-20 Jakub Jelinek <jakub@redhat.com>
1691
1692 PR c++/86210
1693 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1694 comment.
1695
1696 2018-06-18 Martin Sebor <msebor@redhat.com>
1697
1698 PR middle-end/85602
1699 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1700 nonstring.
1701
1702 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1703
1704 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1705
1706 2018-06-13 Jason Merrill <jason@redhat.com>
1707
1708 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1709 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1710 handling.
1711
1712 PR c++/86094 - wrong code with defaulted move ctor.
1713 * c-opts.c (c_common_post_options): Bump the current ABI version to
1714 13. Set warn_abi_version and flag_abi_compat_version to the current
1715 version rather than 0. Fix defaulting flag_abi_compat_version from
1716 warn_abi_version.
1717
1718 2018-06-12 Martin Sebor <msebor@redhat.com>
1719
1720 PR c/85931
1721 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1722 sizeof source and destination yields the same value.
1723
1724 2018-06-12 Martin Liska <mliska@suse.cz>
1725
1726 * c.opt: Make MPX-related options as Deprecated.
1727
1728 2018-06-08 David Malcolm <dmalcolm@redhat.com>
1729
1730 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1731 rather than 0.
1732
1733 2018-06-08 Martin Liska <mliska@suse.cz>
1734
1735 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1736 for MPX (macros, related functions, fields in cgraph_node, ...).
1737 (handle_bnd_legacy): Likewise.
1738 (handle_bnd_instrument): Likewise.
1739 * c.opt: Likewise.
1740
1741 2018-06-06 Jakub Jelinek <jakub@redhat.com>
1742
1743 PR c++/86068
1744 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1745 __cpp_transactional_memory to 201500 instead of 210500.
1746
1747 2018-06-06 Jason Merrill <jason@redhat.com>
1748
1749 PR c++/85710 - ICE with -Wmemset-elt-size.
1750 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1751
1752 2018-06-01 Jason Merrill <jason@redhat.com>
1753
1754 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1755 201703.
1756
1757 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1758
1759 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1760 declaration for a typedef independently of whether the declaration of
1761 the subtype is generated.
1762
1763 2018-05-31 Martin Sebor <msebor@redhat.com>
1764
1765 PR c/82063
1766 * c.opt (-Wno-alloc-size-larger-than): New option.
1767
1768 2018-04-22 David Pagan <dave.pagan@oracle.com>
1769
1770 PR c/55976
1771 * c-opts.c (c_common_post_options): Set default for warn_return_type
1772 for C++/C++ with ObjC extensions only. For C, makes it possible to
1773 differentiate between default (no option), -Wreturn-type, and
1774 -Wno-return-type.
1775
1776 2018-05-29 Jason Merrill <jason@redhat.com>
1777
1778 * c.opt (Winit-list-lifetime): New flag.
1779
1780 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1781
1782 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1783 splay_tree_delete_pointers.
1784
1785 2018-05-26 Jakub Jelinek <jakub@redhat.com>
1786
1787 PR bootstrap/85921
1788 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1789 noinline variable to workaround broken kernel headers.
1790
1791 2018-05-18 Jason Merrill <jason@redhat.com>
1792
1793 * c.opt (Wdeprecated-copy): New flag.
1794
1795 2018-05-17 Martin Liska <mliska@suse.cz>
1796
1797 * c-warn.c (overflow_warning): Do not use
1798 space in between 'G_' and '('.
1799
1800 2018-05-09 Jason Merrill <jason@redhat.com>
1801
1802 * c-common.c (valid_array_size_p): Add complain parameter.
1803 * c-common.h: ...which defaults to true.
1804
1805 2018-05-11 Jakub Jelinek <jakub@redhat.com>
1806
1807 PR c/85696
1808 * c-omp.c (c_omp_predetermined_sharing): Return
1809 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1810
1811 2018-05-11 Martin Liska <mliska@suse.cz>
1812
1813 PR sanitizer/85556
1814 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1815 TREE_LIST values.
1816
1817 2018-05-10 Jakub Jelinek <jakub@redhat.com>
1818
1819 PR c++/85662
1820 * c-common.h (fold_offsetof_1): Removed.
1821 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1822 CTX argument defaulted to ERROR_MARK.
1823 * c-common.c (fold_offsetof_1): Renamed to ...
1824 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1825 argument, convert the pointer constant to TYPE and use size_binop
1826 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1827 a pointer type. Adjust recursive calls.
1828
1829 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1830
1831 PR c++/85400
1832 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1833
1834 2018-05-07 Nathan Sidwell <nathan@acm.org>
1835
1836 * c.opt (ffor-scope): Remove functionality, issue warning.
1837
1838 2018-05-03 Nathan Sidwell <nathan@acm.org>
1839
1840 * c.opt (ffriend-injection): Remove functionality, issue warning.
1841
1842 2018-05-01 David Malcolm <dmalcolm@redhat.com>
1843
1844 PR c/84258
1845 * c-format.c (struct format_check_results): Add field
1846 "number_non_char".
1847 (check_format_info): Initialize it, and warn if encountered.
1848 (check_format_arg): Distinguish between wide char and
1849 everything else when detecting arrays of non-char.
1850
1851 2018-04-30 David Malcolm <dmalcolm@redhat.com>
1852
1853 * c-format.c (get_corrected_substring): Update for
1854 location_get_source_line returning a char_span. Use a char_span
1855 when handling the prefix of the correction.
1856 * c-indentation.c (get_visual_column): Update for
1857 location_get_source_line returning a char_span.
1858 (get_first_nws_vis_column): Likewise.
1859
1860 2018-03-29 David Malcolm <dmalcolm@redhat.com>
1861
1862 PR c++/84269
1863 * known-headers.cc (get_stdlib_header_for_name): Add various names
1864 from <assert.h>, <string.h>, and <memory.h>; add more names from
1865 <stdio.h>.
1866
1867 2018-03-27 Jakub Jelinek <jakub@redhat.com>
1868
1869 PR c++/85061
1870 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1871 get_base_address of the second operand is a VAR_P, rather than the
1872 operand itself, and use gcc_checking_assert instead of gcc_assert.
1873
1874 2018-03-23 Marek Polacek <polacek@redhat.com>
1875
1876 PR c++/85045
1877 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1878 <case RDIV_EXPR>: Tweak condition.
1879
1880 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1881
1882 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1883
1884 2018-03-16 Jakub Jelinek <jakub@redhat.com>
1885
1886 PR c/84909
1887 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1888 diagnostics.
1889
1890 PR c/84910
1891 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1892 diagnostics.
1893
1894 2018-03-16 Richard Biener <rguenther@suse.de>
1895
1896 PR c/84873
1897 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1898 unshare the possibly folded expression.
1899
1900 2018-03-15 Richard Biener <rguenther@suse.de>
1901
1902 PR c/84873
1903 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1904
1905 2018-03-13 Martin Sebor <msebor@redhat.com>
1906
1907 PR tree-optimization/84725
1908 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1909 with all three narrow character types, including their qualified forms.
1910
1911 2018-03-12 Martin Sebor <msebor@redhat.com>
1912
1913 PR tree-optimization/83456
1914 * c-common.c (check_function_restrict): Return bool.
1915 Restore checking of bounded built-in functions.
1916 (check_function_arguments): Also return the result
1917 of warn_for_restrict.
1918 * c-common.c (check_function_restrict): Return bool.
1919 * c-warn.c (warn_for_restrict): Return bool.
1920
1921 2018-03-02 Marek Polacek <polacek@redhat.com>
1922
1923 PR c++/84171
1924 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1925 is erroneous.
1926
1927 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1928
1929 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1930 function".
1931
1932 2018-03-01 Marek Polacek <polacek@redhat.com>
1933
1934 PR c++/84639
1935 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1936 alignment in computation.
1937
1938 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1939
1940 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1941 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1942
1943 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1944
1945 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1946 (is_char_array): Take a type instead of a declaration.
1947 (dump_ada_array_type): Likewise.
1948 (is_simple_enum): Minor tweak.
1949 (dump_ada_enum_type): New function extracted from...
1950 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1951 <INTEGER_TYPE>: Remove unreachable code.
1952 <RECORD_TYPE>: Likewise. Minor tweaks.
1953 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1954 <ENUMERAL_TYPE>: New case.
1955 <RECORD_TYPE>: Factor out common code.
1956 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1957 Minor tweaks. Deal with enumeral types.
1958 (dump_ada_structure): Minor tweaks.
1959
1960 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1961
1962 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1963 address for incomplete structures.
1964 (dump_forward_type): Do not bail out for incomplete structures.
1965 (dump_ada_declaration): Do not special-case incomplete structures
1966 for subtypes. Dump them as null records for types.
1967
1968 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1969
1970 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1971 (is_char_array): Fix formatting.
1972 (dump_template_types): Likewise.
1973 (dump_generic_ada_node): Rename into...
1974 (dump_ada_node): ...this.
1975 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1976 incomplete structures and not for empty structures. Do not use it
1977 when forward declarations are needed.
1978 (dump_forward_type): New function.
1979 (dump_nested_types): Remove FORWARD parameter. Do not consider
1980 TREE_VISITED and do not generate a forward declaration. Only dump
1981 original nested types for nested declaration.
1982 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1983 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1984 <RECORD_TYPE>: Do not consider TREE_VISITED.
1985 (dump_ada_declaration): Use booleans and fix formatting throughout.
1986 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1987 Call dump_forward_type instead of dump_nested_types for a typedef.
1988 Remove superfluous check and adjust call to dump_nested_types.
1989 <POINTER_TYPE>: Call dump_forward_type and fall through.
1990 (dump_ada_struct_decl): Rename into...
1991 (dump_ada_structure): ...this. Do not special-case empty structures.
1992
1993 2018-02-27 Martin Sebor <msebor@redhat.com>
1994
1995 PR c++/83871
1996 * c.opt (-Wmissing-attributes): New option.
1997
1998 2018-02-21 Martin Liska <mliska@suse.cz>
1999
2000 * c.opt (Wcatch-value=): Add IntegerRange.
2001
2002 2018-02-15 Jason Merrill <jason@redhat.com>
2003
2004 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2005
2006 2018-02-09 Nathan Sidwell <nathan@acm.org>
2007
2008 PR c/84293
2009 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2010 arg.
2011 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2012 arg. Adjust.
2013
2014 2018-02-09 Martin Sebor <msebor@redhat.com>
2015
2016 PR lto/84212
2017 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2018 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2019 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2020 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2021 (-Wuninitialized): Same.
2022
2023 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2024
2025 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2026 keyword for components.
2027
2028 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2029
2030 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2031
2032 2018-02-02 Julia Koval <julia.koval@intel.com>
2033
2034 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2035
2036 2018-01-29 Marek Polacek <polacek@redhat.com>
2037
2038 PR c/83966
2039 * c-format.c (check_function_format): Check current_function_decl.
2040
2041 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2042
2043 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2044 argument.
2045 (LAZY_HEX_FP_VALUES_CNT): Define.
2046 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2047 values rather than just 12.
2048 (builtin_define_with_hex_fp_value): Likewise.
2049
2050 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2051
2052 PR other/70268
2053 * c.opt (-fmacro-prefix-map): New option.
2054 * c-opts.c (c_common_handle_option): Handle it.
2055 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2056 * c-ppoutput.c (init_pp_output): Likewise.
2057
2058 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2059
2060 PR c++/83814
2061 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2062
2063 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2064
2065 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2066 Skip 'f' and 'F' characters if it is true.
2067 (store_ada_macro): Minor tweak.
2068 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2069 <CPP_WSTRING>: Likewise.
2070 <CPP_STRING>: Output '&' in the buffer if not the first string.
2071 <CPP_NUMBER>: Adjust calls to dump_number.
2072
2073 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2074
2075 PR c++/43486
2076 * c-common.c: Include "selftest.h".
2077 (get_atomic_generic_size): Perform the test for integral type
2078 before the range test for any integer constant, fixing indentation
2079 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2080 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2081 (selftest::test_fold_for_warn): New function.
2082 (selftest::c_common_c_tests): New function.
2083 (selftest::c_family_tests): Call it, and
2084 selftest::c_pretty_print_c_tests.
2085 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2086 * c-format.c (check_format_arg): Convert VAR_P check to a
2087 fold_for_warn.
2088 * c-pretty-print.c: Include "selftest.h".
2089 (pp_c_cast_expression): Don't print casts for location wrappers.
2090 (selftest::assert_c_pretty_printer_output): New function.
2091 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2092 (selftest::test_location_wrappers): New function.
2093 (selftest::c_pretty_print_c_tests): New function.
2094 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2095
2096 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2097 Alan Hayward <alan.hayward@arm.com>
2098 David Sherwood <david.sherwood@arm.com>
2099
2100 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2101
2102 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2103 Alan Hayward <alan.hayward@arm.com>
2104 David Sherwood <david.sherwood@arm.com>
2105
2106 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2107 as polynomial.
2108
2109 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2110 Alan Hayward <alan.hayward@arm.com>
2111 David Sherwood <david.sherwood@arm.com>
2112
2113 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2114 (convert_vector_to_array_for_subscript): Handle polynomial
2115 TYPE_VECTOR_SUBPARTS.
2116 (c_common_type_for_mode): Check valid_vector_subparts_p.
2117 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2118 VECTOR_CST_NELTS.
2119
2120 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2121
2122 Update copyright years.
2123
2124 2017-12-22 Mike Stump <mikestump@comcast.net>
2125 Eric Botcazou <ebotcazou@adacore.com>
2126
2127 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2128 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2129
2130 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2131
2132 PR debug/83527
2133 PR debug/83419
2134 * c-semantics.c (only_debug_stmts_after_p): New.
2135 (pop_stmt_list): Clear side effects in debug-only stmt list.
2136 Check for single nondebug stmt followed by debug stmts only.
2137
2138 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
2139
2140 PR debug/83419
2141 * c-semantics.c (pop_stmt_list): Propagate side effects from
2142 single nondebug stmt to container list.
2143
2144 2017-12-19 Jakub Jelinek <jakub@redhat.com>
2145
2146 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2147 conditions with typical order conditions.
2148
2149 2017-12-18 Marek Polacek <polacek@redhat.com>
2150
2151 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2152 not in effect.
2153
2154 2017-12-17 Martin Sebor <msebor@redhat.com>
2155
2156 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2157 an error for attribute warn_if_not_aligned.
2158
2159 2017-12-16 Martin Sebor <msebor@redhat.com>
2160
2161 PR tree-optimization/78918
2162 * c-common.c (check_function_restrict): Avoid checking built-ins.
2163 * c.opt (-Wrestrict): Include in -Wall.
2164
2165 2017-12-15 Jakub Jelinek <jakub@redhat.com>
2166
2167 * c-attribs.c (c_common_attribute_table,
2168 c_common_format_attribute_table): Swap affects_type_identity
2169 and handler fields, adjust comments.
2170
2171 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2172
2173 * c.opt (Wcast-function-type): New warning option.
2174 * c-lex.c (get_fileinfo): Avoid warning.
2175 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2176
2177 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
2178
2179 PR middle_end/79538
2180 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2181 Adjust the size of buf1 and buf2, add a new buf to avoid
2182 format-overflow warning.
2183
2184 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
2185
2186 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2187 subsequent statement list.
2188
2189 2017-12-07 Martin Sebor <msebor@redhat.com>
2190
2191 PR c/81544
2192 PR c/81566
2193 * c-attribs.c (attr_aligned_exclusions): New array.
2194 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2195 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2196 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2197 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2198 (attr_warn_unused_result_exclusions): Same.
2199 (handle_hot_attribute, handle_cold_attribute): Simplify.
2200 (handle_const_attribute): Warn on function returning void.
2201 (handle_pure_attribute): Same.
2202 (handle_aligned_attribute): Diagnose conflicting attribute
2203 specifications.
2204 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2205
2206 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2207
2208 PR c/83236
2209 * c-common.c (selftest::c_family_tests): Call
2210 selftest::c_spellcheck_cc_tests.
2211 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2212 * c-spellcheck.cc: Include "selftest.h".
2213 (name_reserved_for_implementation_p): New function.
2214 (should_suggest_as_macro_p): New function.
2215 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2216 should_suggest_as_macro_p and call it.
2217 (selftest::test_name_reserved_for_implementation_p): New function.
2218 (selftest::c_spellcheck_cc_tests): New function.
2219 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2220
2221 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2222
2223 * c-spellcheck.cc: New file, taken from macro-handling code in
2224 spellcheck-tree.c.
2225 * c-spellcheck.h: New file, taken from macro-handling code in
2226 spellcheck-tree.h.
2227
2228 2017-12-01 Jakub Jelinek <jakub@redhat.com>
2229
2230 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2231 attribute.
2232 (handle_simd_attribute): Don't check for "cilk simd function"
2233 attribute. Reindent, formatting changes.
2234
2235 2017-11-30 Julia Koval <julia.koval@intel.com>
2236
2237 * c-common.h (inv_list): Remove.
2238
2239 2017-11-28 Jakub Jelinek <jakub@redhat.com>
2240
2241 PR sanitizer/81275
2242 * c-common.c (c_switch_covers_all_cases_p_1,
2243 c_switch_covers_all_cases_p): New functions.
2244 * c-common.h (c_switch_covers_all_cases_p): Declare.
2245
2246 2017-11-28 Julia Koval <julia.koval@intel.com>
2247 Sebastian Peryt <sebastian.peryt@intel.com>
2248
2249 * array-notation-common.c: Delete.
2250 * c-cilkplus.c: Ditto.
2251 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2252 * c-common.def (ARRAY_NOTATION_REF): Remove.
2253 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2254 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2255 c_validate_cilk_plus_loop, cilkplus_an_parts,
2256 cilk_ignorable_spawn_rhs_op,
2257 cilk_recognize_spawn): Remove.
2258 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2259 * c-omp.c: Remove CILK_SIMD check.
2260 * c-pragma.c: Ditto.
2261 * c-pragma.h: Remove CILK related pragmas.
2262 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2263 ARRAY_NOTATION_REF condition.
2264 (c_pretty_printer::expression): Ditto.
2265 * c.opt (fcilkplus): Remove.
2266 * cilk.c: Delete.
2267
2268 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
2269
2270 * c-pretty-print.c (pp_c_additive_expression,
2271 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2272
2273 2017-11-21 Jakub Jelinek <jakub@redhat.com>
2274
2275 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2276
2277 PR c++/83059
2278 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2279 instead of tree_to_uhwi, formatting fix.
2280
2281 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2282
2283 PR c/81404
2284 * known-headers.cc: New file, based on material from c/c-decl.c.
2285 (suggest_missing_header): Copied as-is.
2286 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2287 heavily edited to add C++ support. Add some knowledge about
2288 <limits.h>, <stdint.h>, and <wchar.h>.
2289 * known-headers.h: Likewise.
2290
2291 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2292
2293 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2294 (lookup_name_fuzzy): Likewise. Convert return type from
2295 const char * to name_hint. Add location_t param.
2296 * name-hint.h: New header.
2297
2298 2017-11-19 Jakub Jelinek <jakub@redhat.com>
2299
2300 PR c/66618
2301 PR c/69960
2302 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2303
2304 2017-11-16 Joseph Myers <joseph@codesourcery.com>
2305
2306 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2307 expected publication date of C17.
2308 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2309
2310 2017-11-15 Joseph Myers <joseph@codesourcery.com>
2311
2312 PR c/81156
2313 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2314 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2315
2316 2017-11-10 Martin Sebor <msebor@redhat.com>
2317
2318 PR c/81117
2319 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2320 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2321 * c.opt (-Wstringop-truncation): New option.
2322
2323 2017-11-06 Martin Liska <mliska@suse.cz>
2324
2325 PR middle-end/82404
2326 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2327 FE.
2328 * c.opt: Set default value of warn_return_type.
2329
2330 2017-10-31 David Malcolm <dmalcolm@redhat.com>
2331
2332 * c-common.c (binary_op_error): Update for renaming of
2333 error_at_rich_loc.
2334 (c_parse_error): Likewise.
2335 * c-warn.c (warn_logical_not_parentheses): Likewise for
2336 renaming of inform_at_rich_loc.
2337 (warn_for_restrict): Likewise for renaming of
2338 warning_at_rich_loc_n.
2339
2340 2017-10-30 Joseph Myers <joseph@codesourcery.com>
2341
2342 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2343 * c-opts.c (set_std_c17): New function.
2344 (c_common_init_options): Use gnu17 as default C version.
2345 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2346
2347 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2348
2349 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2350 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2351 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2352 __FP_FAST_FMA<N>X.
2353
2354 2017-10-23 Marek Polacek <polacek@redhat.com>
2355
2356 PR c/82681
2357 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2358
2359 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2360
2361 * c-common.c (check_builtin_function_arguments): Also check arguments
2362 of __builtin_alloca_with_align_and_max.
2363
2364 2017-10-17 David Malcolm <dmalcolm@redhat.com>
2365
2366 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2367 rather than NULL to format_warning_va.
2368 (check_format_types): Likewise when calling format_type_warning.
2369 Remove code to extract source_ranges and source_range * in favor
2370 of just a location_t.
2371 (format_type_warning): Convert source_range * param to a
2372 location_t.
2373
2374 2017-10-13 Jakub Jelinek <jakub@redhat.com>
2375
2376 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2377 [LR]SHIFT_EXPR.
2378
2379 2017-10-12 David Malcolm <dmalcolm@redhat.com>
2380
2381 * c-common.c (enum missing_token_insertion_kind): New enum.
2382 (get_missing_token_insertion_kind): New function.
2383 (maybe_suggest_missing_token_insertion): New function.
2384 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2385
2386 2017-10-11 Nathan Sidwell <nathan@acm.org>
2387
2388 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2389 (c_common_handle_option): Update incpath_kind names.
2390
2391 2017-10-11 Martin Liska <mliska@suse.cz>
2392
2393 PR sanitizer/82490
2394 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2395 Wattributes warning.
2396
2397 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2398
2399 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2400 operating on trees as wide_ints.
2401 * c-common.c (pointer_int_sum): Likewise.
2402 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2403 * c-warn.c (match_case_to_enum_1): Likewise.
2404 (c_do_switch_warnings): Likewise.
2405 (maybe_warn_shift_overflow): Likewise.
2406
2407 2017-10-10 Jakub Jelinek <jakub@redhat.com>
2408
2409 PR c/82437
2410 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2411 instead of wide_int::from.
2412
2413 2017-10-06 Jakub Jelinek <jakub@redhat.com>
2414
2415 PR c/82437
2416 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2417 using to_widest use wide_int with the larger of the two precisions.
2418
2419 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2420
2421 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2422 functions.
2423
2424 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2425
2426 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2427 when combining the original unconverted comparison operands.
2428
2429 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2430
2431 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2432 attribute.
2433
2434 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2435
2436 * c-ada-spec.c (to_ada_name): Add index parameter.
2437 (pp_ada_tree_identifier): Likewise.
2438 (dump_ada_macros): Adjust call to to_ada_name.
2439 (struct overloaded_name_hash): New type.
2440 (struct overloaded_name_hasher): Likewise.
2441 (overloaded_names): New hash table.
2442 (compute_overloading_index): New function.
2443 (dump_ada_decl_name): Call it and pass the result to
2444 pp_ada_tree_identifier.
2445 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2446 (dump_ada_function_declaration): Likewise.
2447 (dump_generic_ada_node): Likewise.
2448 (print_constructor): Likewise.
2449 (print_destructor): Likewise.
2450 (dump_ada_specs): Delete overloaded_names table.
2451
2452 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2453
2454 * c-ada-spec.c (max_ada_macros): Move around.
2455 (store_ada_macro_index): Likewise.
2456 (source_file): Rename into...
2457 (macro_source_file): ...this.
2458 (count_ada_macro): Move around.
2459 (store_ada_macro): Likewise.
2460 (compare_macro): Likewise.
2461 (print_ada_macros): Merge in...
2462 (dump_ada_macros): ...this.
2463 (source_file_base): Rename into...
2464 (current_source_file): ...this.
2465 (print_comment): Move around.
2466 (dump_ada_nodes): Call dump_ada_declaration directly.
2467 (struct with): Change type of limited field to bool.
2468 (append_withs): Change type of limited_access parameter to bool.
2469 (pp_ada_tree_identifie): Likewise.
2470 (dump_ada_decl_nam): Likewise.
2471 (dump_generic_ada_node): Likewise. Do not print the return type.
2472 (to_ada_name): Change type of space_found parameter to bool.
2473 (dump_ada_function_declaration): Return void and change type of
2474 parameters to bool. Also print the return type for a function.
2475 (print_ada_methods): Rename into...
2476 (dump_ada_methods): ...this.
2477 (print_ada_declaration): Rename into ...
2478 (dump_ada_declaration): ...this. Do not print the return type.
2479 (print_ada_struct_decl): Rename into...
2480 (dump_ada_struct_decl): ...this.
2481
2482 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2483
2484 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2485 rather than DECL_INITIAL.
2486 (common_handle_aligned_attribute): Likewise.
2487
2488 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
2489
2490 * c.opt (gen-decls): Add RejectNegative.
2491
2492 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2493 Jakub Jelinek <jakub@redhat.com>
2494
2495 Add support for -std=c++2a.
2496 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2497 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2498 * c-opts.c (set_std_cxx2a): New.
2499 (c_common_handle_option): Set options when -std=c++2a is enabled.
2500 (c_common_post_options): Adjust comments.
2501 (set_std_cxx14, set_std_cxx17): Likewise.
2502
2503 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2504
2505 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2506 message for non-uniform endianness and issue a warning in C++.
2507
2508 2017-09-15 Jakub Jelinek <jakub@redhat.com>
2509
2510 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2511 (Wc++17-compat): Change from undocumented alias to option.
2512 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2513 change C++1z to C++17 in description.
2514 (std=c++1z, std=gnu++1z): Change from option to undocumented
2515 deprecated alias.
2516 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2517 Adjust description.
2518 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2519 * c-opts.c (set_std_cxx1z): Rename to ...
2520 (set_std_cxx17): ... this.
2521 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2522 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
2523 caller.
2524 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2525 comments.
2526
2527 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2528
2529 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2530 function alignment if warn_if_not_aligned_p is true.
2531
2532 2017-09-12 Nathan Sidwell <nathan@acm.org>
2533
2534 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2535 resort_sorted_fields): Move to c/c-decl.c.
2536 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2537 (struct sorted_fields_type): Move to c/c-lang.h.
2538
2539 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
2540
2541 PR c++/81852
2542 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2543
2544 2017-09-04 Marek Polacek <polacek@redhat.com>
2545
2546 PR c/81783
2547 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2548 (warn_tautological_cmp): Call it.
2549
2550 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
2551
2552 * c-opts.c (c_common_finish): Write dependency information even if
2553 there are errors.
2554
2555 2017-09-01 Jakub Jelinek <jakub@redhat.com>
2556
2557 PR c/81887
2558 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2559 (omp_pragmas_simd): ... here.
2560 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2561 create new clauses list containing just simd clause.
2562
2563 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2564 Alan Hayward <alan.hayward@arm.com>
2565 David Sherwood <david.sherwood@arm.com>
2566
2567 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2568 into scalar_mode_supported_p call.
2569 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2570
2571 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2572 Alan Hayward <alan.hayward@arm.com>
2573 David Sherwood <david.sherwood@arm.com>
2574
2575 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2576 for the mode iterator.
2577
2578 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2579 Alan Hayward <alan.hayward@arm.com>
2580 David Sherwood <david.sherwood@arm.com>
2581
2582 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2583 * c-common.c (c_build_vec_perm_expr): Likewise.
2584
2585 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2586 Alan Hayward <alan.hayward@arm.com>
2587 David Sherwood <david.sherwood@arm.com>
2588
2589 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2590
2591 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2592 Alan Hayward <alan.hayward@arm.com>
2593 David Sherwood <david.sherwood@arm.com>
2594
2595 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2596 before calling targetm.addr_space.valid_pointer_mode.
2597
2598 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2599 Alan Hayward <alan.hayward@arm.com>
2600 David Sherwood <david.sherwood@arm.com>
2601
2602 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2603
2604 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2605 Alan Hayward <alan.hayward@arm.com>
2606 David Sherwood <david.sherwood@arm.com>
2607
2608 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2609 iterators.
2610 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2611
2612 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2613 Alan Hayward <alan.hayward@arm.com>
2614 David Sherwood <david.sherwood@arm.com>
2615
2616 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2617 case statements.
2618
2619 2017-08-29 Martin Liska <mliska@suse.cz>
2620
2621 PR other/39851
2622 * c-common.c (parse_optimize_options): Add argument to function
2623 call.
2624 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2625
2626 2017-08-24 David Malcolm <dmalcolm@redhat.com>
2627
2628 * c-lex.c (interpret_float): Use token location
2629 when building an EXCESS_PRECISION_EXPR.
2630
2631 2017-08-21 David Malcolm <dmalcolm@redhat.com>
2632
2633 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2634 it to check_function_format.
2635 * c-common.h (check_function_arguments): Add vec<location_t> *
2636 param.
2637 (check_function_format): Likewise.
2638 * c-format.c (struct format_check_context): Add field "arglocs".
2639 (check_function_format): Add param "arglocs"; pass it to
2640 check_format_info.
2641 (check_format_info): Add param "arglocs"; use it to initialize
2642 new field of format_ctx.
2643 (check_format_arg): Pass format_ctx->arglocs to new param of
2644 check_format_info_main.
2645 (class argument_parser): New field "arglocs".
2646 (argument_parser::argument_parser): Add "arglocs_" param and use
2647 it to initialize new field.
2648 (argument_parser::check_argument_type): Pass new arglocs field to
2649 check_format_types.
2650 (check_format_info_main): Add param "arglocs", and use it when
2651 constructing arg_parser.
2652 (check_format_types): Add param "arglocs"; use it if non-NULL when
2653 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2654
2655 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2656
2657 PR c/53037
2658 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2659 (c_common_attribute_table): Add warn_if_not_aligned.
2660 (handle_aligned_attribute): Renamed to ...
2661 (common_handle_aligned_attribute): Remove argument, name, and add
2662 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2663 (handle_aligned_attribute): New.
2664 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2665
2666 2017-08-14 Martin Sebor <msebor@redhat.com>
2667
2668 PR c/81117
2669 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2670 (handle_nonstring_attribute): New function.
2671
2672 2017-08-14 Martin Sebor <msebor@redhat.com>
2673
2674 PR c/81117
2675 * c-format.h (T89_G): New macro.
2676 * c-format.c (local_gcall_ptr_node): New variable.
2677 (init_dynamic_diag_info): Initialize it.
2678
2679 2017-08-11 Martin Liska <mliska@suse.cz>
2680
2681 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2682 TARGET_SUPPORTS_ALIASES.
2683
2684 2017-08-10 David Malcolm <dmalcolm@redhat.com>
2685
2686 * c-common.c (c_parse_error): Add rich_location * param, using it
2687 rather implicitly using input_location.
2688 * c-common.h (c_parse_error): Add rich_location * param.
2689
2690 2017-08-09 Marek Polacek <polacek@redhat.com>
2691
2692 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2693 (c_common_truthvalue_conversion): Likewise.
2694 * c-omp.c (c_finish_omp_atomic): Likewise.
2695 * c-common.h (build_binary_op): Update declaration.
2696
2697 2017-08-08 Martin Liska <mliska@suse.cz>
2698
2699 * c-ada-spec.c: Include header files.
2700 * c-ubsan.c: Likewise.
2701 * c-warn.c: Likewise.
2702
2703 2017-08-07 Jakub Jelinek <jakub@redhat.com>
2704
2705 PR c/69389
2706 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2707
2708 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2709
2710 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2711 (print_ada_methods): Likewise.
2712 (print_ada_declaration): Likewise.
2713
2714 2017-08-07 Martin Liska <mliska@suse.cz>
2715
2716 * array-notation-common.c: Add new includes.
2717 * c-format.c( handle_format_attribute): Canonicalize a format
2718 function name.
2719 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2720 attribute.
2721 * c-pretty-print.c: Add new include.
2722
2723 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2724
2725 * c-ada-spec.c (has_static_fields): Look only into variables.
2726 (print_constructor): Add TYPE parameter and use it for the name.
2727 (print_destructor): Likewise.
2728 (print_ada_declaration): Adjust to new constructor/destructor names.
2729 Adjust calls to print_constructor and print_destructor.
2730 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2731 Look only into variables in the final loop.
2732
2733 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2734
2735 * c-ada-spec.c (has_static_fields): Look only into fields.
2736 (dump_generic_ada_node): Small tweak.
2737 (dump_nested_types): Look only into fields.
2738 (print_ada_declaration): Look only into methods. Small tweak.
2739 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2740
2741 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2742
2743 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2744 (dump_ada_function_declaration): Likewise.
2745 (dump_generic_ada_node): Likewise.
2746 (print_ada_declaration): Add support for const-qualified variables.
2747
2748 2017-07-31 Martin Liska <mliska@suse.cz>
2749
2750 PR sanitize/81530
2751 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2752 Guard condition with flag_sanitize_p also with current_function_decl
2753 non-null equality.
2754 (ubsan_maybe_instrument_reference_or_call): Likewise.
2755
2756 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
2757
2758 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2759
2760 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2761
2762 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2763 for enumeral types.
2764 (print_ada_declaration): Add missing guard for record types.
2765
2766 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2767
2768 PR c/45784
2769 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2770 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2771 new COMPOUND_EXPRs around the rhs of the comparison.
2772
2773 2017-07-27 Marek Polacek <polacek@redhat.com>
2774
2775 PR c/81417
2776 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2777 the types.
2778
2779 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2780
2781 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2782 (handle_noipa_attribute): New function.
2783
2784 2017-07-07 Torsten Duwe <duwe@suse.de>
2785
2786 * c-attribs.c (c_common_attribute_table): Add entry for
2787 "patchable_function_entry".
2788
2789 2017-07-20 Nathan Sidwell <nathan@acm.org>
2790
2791 Remove TYPE_METHODS.
2792 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2793 dump_ada_template, print_ada_methods,
2794 print_ada_declaration): Member fns are on TYPE_FIELDS.
2795
2796 2017-07-18 Nathan Sidwell <nathan@acm.org>
2797
2798 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2799
2800 2017-07-14 David Malcolm <dmalcolm@redhat.com>
2801
2802 * c-common.c (try_to_locate_new_include_insertion_point): New
2803 function.
2804 (per_file_includes_t): New typedef.
2805 (added_includes_t): New typedef.
2806 (added_includes): New variable.
2807 (maybe_add_include_fixit): New function.
2808 * c-common.h (maybe_add_include_fixit): New decl.
2809
2810 2017-07-10 Martin Sebor <msebor@redhat.com>
2811
2812 PR other/81345
2813 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2814
2815 2017-07-06 David Malcolm <dmalcolm@redhat.com>
2816
2817 * c-common.c (selftest::c_family_tests): New.
2818 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2819 (selftest::c_family_tests): New decl.
2820
2821 2017-07-04 Marek Polacek <polacek@redhat.com>
2822
2823 PR c/81231
2824 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2825 types.
2826
2827 2017-07-04 Marek Polacek <polacek@redhat.com>
2828
2829 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2830
2831 2017-06-28 Martin Liska <mliska@suse.cz>
2832
2833 PR ipa/81128
2834 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2835 to a function declaration.
2836
2837 2017-06-28 Martin Liska <mliska@suse.cz>
2838
2839 PR driver/79659
2840 * c.opt: Add IntegerRange to various options.
2841
2842 2017-06-26 Marek Polacek <polacek@redhat.com>
2843
2844 PR c/80116
2845 * c-common.h (warn_for_multistatement_macros): Declare.
2846 * c-warn.c: Include "c-family/c-indentation.h".
2847 (warn_for_multistatement_macros): New function.
2848 * c.opt (Wmultistatement-macros): New option.
2849 * c-indentation.c (guard_tinfo_to_string): No longer static.
2850 Change the parameter type to "enum rid". Handle RID_SWITCH.
2851 * c-indentation.h (guard_tinfo_to_string): Declare.
2852
2853 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
2854
2855 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2856
2857 2017-06-15 Martin Sebor <msebor@redhat.com>
2858
2859 PR c++/80560
2860 * c.opt (-Wclass-memaccess): New option.
2861
2862 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2863
2864 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2865
2866 2017-06-13 Marek Polacek <polacek@redhat.com>
2867
2868 PR objc/80949
2869 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2870 branches is null.
2871
2872 2017-06-13 Martin Liska <mliska@suse.cz>
2873
2874 PR sanitize/78204
2875 * c-attribs.c (add_no_sanitize_value): New function.
2876 (handle_no_sanitize_attribute): Likewise.
2877 (handle_no_sanitize_address_attribute): Use the function.
2878 (handle_no_sanitize_thread_attribute): New function.
2879 (handle_no_address_safety_analysis_attribute): Use
2880 add_no_sanitize_value.
2881 (handle_no_sanitize_undefined_attribute): Likewise.
2882 * c-common.h: Declare new functions.
2883 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2884 (ubsan_instrument_shift): Likewise.
2885 (ubsan_instrument_bounds): Likewise.
2886 (ubsan_maybe_instrument_array_ref): Likewise.
2887 (ubsan_maybe_instrument_reference_or_call): Likewise.
2888
2889 2017-06-11 Jason Merrill <jason@redhat.com>
2890
2891 * c-ada-spec.c, c-pragma.c: Use id_equal.
2892
2893 2017-06-04 Marek Polacek <polacek@redhat.com>
2894
2895 PR c/80919
2896 * c-format.c (matching_type_p): Return false if any of the types
2897 requires structural equality.
2898
2899 2017-06-02 Martin Sebor <msebor@redhat.com>
2900
2901 PR c/80892
2902 * c-warn.c (conversion_warning): Use -Wconversion for integer
2903 conversion and -Wfloat-conversion for floating one.
2904
2905 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2906
2907 * c.opt (Wsizeof-pointer-div): New warning option.
2908
2909 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2910
2911 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2912 (Wcatch-value=1): Enable by -Wall.
2913
2914 2017-05-30 David Malcolm <dmalcolm@redhat.com>
2915
2916 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2917 format_chars.
2918 * c.opt (fdiagnostics-show-template-tree): New option.
2919 (felide-type): New option.
2920
2921 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2922
2923 * c.opt (Wcatch-value=): New C++ warning flag.
2924
2925 2017-05-24 Nathan Sidwell <nathan@acm.org>
2926
2927 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2928 const casts to avoid warning.
2929
2930 2017-05-24 Martin Sebor <msebor@redhat.com>
2931
2932 PR c/80731
2933 * c-common.h (unsafe_conversion_p): Add a function argument.
2934 * c-common.c (unsafe_conversion_p): Same.
2935 Add type names and values to diagnostics.
2936 (scalar_to_vector): Adjust.
2937 * c-warn.c (constant_expression_error): Add a function argument.
2938 Add type names and values to diagnostics.
2939 (conversion_warning): Add a function argument.
2940 Add type names and values to diagnostics.
2941 (warnings_for_convert_and_check): Same.
2942
2943 2017-05-19 Jason Merrill <jason@redhat.com>
2944
2945 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2946 enumerators.
2947
2948 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2949
2950 * c-format.c (locus): Move out of function scope,
2951 add GTY attribute.
2952
2953 2017-05-19 Nathan Sidwell <nathan@acm.org>
2954
2955 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2956 (c_common_parse_file): Remove class dump handling.
2957 (get_dump_info): Likewise.
2958
2959 2017-05-19 Richard Biener <rguenther@suse.de>
2960
2961 PR c++/80593
2962 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2963 to alias-set zero memory.
2964
2965 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2966
2967 * c-format.c (local_tree_type_node): Add GTY attribute.
2968
2969 2017-05-18 Marek Polacek <polacek@redhat.com>
2970
2971 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2972 (c_common_fixed_point_type_for_size): Likewise.
2973 (c_common_type_for_mode): Likewise.
2974 (shorten_compare): Likewise.
2975 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2976 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2977
2978 2017-05-18 Marek Polacek <polacek@redhat.com>
2979
2980 * c-common.c (self_promoting_args_p): Change the return type to bool.
2981 Use false/true instead of 0/1.
2982 * c-common.h (self_promoting_args_p): Update.
2983
2984 2017-05-17 Marek Polacek <polacek@redhat.com>
2985
2986 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2987 * c-warn.c: Likewise.
2988
2989 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2990
2991 Implement new C++ intrinsics __is_assignable and __is_constructible.
2992 * c-common.c (__is_assignable, __is_constructible): New.
2993 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2994
2995 2017-05-17 Martin Liska <mliska@suse.cz>
2996
2997 * c-common.h: Introduce dump_flags_t type and
2998 use it instead of int type.
2999 * c-gimplify.c (c_genericize): Likewise.
3000 * c-opts.c: Likewise.
3001
3002 2017-05-17 Marek Polacek <polacek@redhat.com>
3003
3004 * c-common.c (c_save_expr): Remove.
3005 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3006 * c-common.h (c_save_expr): Remove declaration.
3007
3008 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3009
3010 PR c/35441
3011 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3012 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3013 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3014 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3015 RDIV_EXPR.
3016 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3017
3018 2017-05-09 Marek Polacek <polacek@redhat.com>
3019
3020 PR c/80525
3021 * c-warn.c (unwrap_c_maybe_const): New.
3022 (warn_logical_operator): Call it.
3023
3024 2017-05-09 Nathan Sidwell <nathan@acm.org>
3025
3026 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3027 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3028
3029 2017-05-08 Martin Sebor <msebor@redhat.com>
3030
3031 PR translation/80280
3032 * c-format.h (struct format_flag_spec): Add new member.
3033 (T89_T): New macro.
3034 * c-format.c (local_tree_type_node): New global.
3035 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3036 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3037 (strfmon_flag_specs): Likewise.
3038 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3039 with distinct quoting properties.
3040 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3041 (flag_chars_t::validate): Add argument and handle bad quoting.
3042 (check_format_info_main): Handle quoting problems.
3043 (init_dynamic_diag_info): Simplify.
3044
3045 2017-05-08 Jason Merrill <jason@redhat.com>
3046
3047 * c-opts.c (c_common_post_options): Update defaults for
3048 flag_abi_version and flag_abi_compat_version.
3049
3050 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3051
3052 * c-common.c (c_cpp_error): Replace report_diagnostic
3053 with diagnostic_report_diagnostic.
3054
3055 2017-05-04 Martin Sebor <msebor@redhat.com>
3056
3057 PR translation/80280
3058 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3059 (handle_weakref_attribute): Same.
3060
3061 2017-05-03 Nathan Sidwell <nathan@acm.org>
3062
3063 Canonicalize canonical type hashing
3064 * c-common.c (complete_array_type): Use type_hash_canon.
3065
3066 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3067
3068 PR c++/80038
3069 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3070 prototype.
3071 (cilk_install_body_pedigree_operations): Likewise.
3072 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3073 detatched.
3074 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3075 (cilk_install_body_pedigree_operations): Likewise.
3076 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3077 unwrapping.
3078
3079 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3080
3081 PR c++/80534
3082 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3083 flag on non-aggregate element types.
3084
3085 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3086
3087 * c-common.c (c_type_hasher, type_hash_table): Remove.
3088 (c_common_get_alias_set): Remove unreachable code.
3089 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3090
3091 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3092
3093 * c.opt (Wextra-semi): New C++ warning flag.
3094
3095 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3096
3097 PR middle-end/80423
3098 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3099
3100 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3101
3102 PR middle-end/79788
3103 PR middle-end/80375
3104 * c-common.c (c_common_type_for_mode): Don't handle
3105 widest_*_literal_type_node here.
3106 c_common_signed_or_unsigned_type): Likewise.
3107 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3108 to *intTI_type_node or *intDI_type_node depending on whether
3109 TImode is supported by the target or not.
3110
3111 2017-04-10 Martin Liska <mliska@suse.cz>
3112
3113 PR sanitizer/80350
3114 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3115 doing an UBSAN check.
3116
3117 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3118
3119 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3120
3121 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3122
3123 PR c++/79572
3124 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3125 tree *.
3126 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3127 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3128 REFERENCE_TYPE.
3129
3130 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3131
3132 PR documentation/78732
3133 * c.opt (Wendif-labels): Fix description to refer to
3134 #else rather than #elif.
3135
3136 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3137
3138 PR libstdc++/80251
3139 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3140 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3141
3142 2017-03-27 Jakub Jelinek <jakub@redhat.com>
3143
3144 PR middle-end/80162
3145 * c-common.c (c_common_mark_addressable_vec): Don't set
3146 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3147
3148 2017-03-21 Martin Sebor <msebor@redhat.com>
3149
3150 PR c++/79548
3151 * c-common.c (set_underlying_type): Mark type used only when
3152 original del is declared unused.
3153
3154 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3155
3156 PR translation/79848
3157 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3158 "%qs".
3159
3160 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3161
3162 PR c/79921
3163 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3164 from inform's message, so that xgettext can locate it.
3165
3166 2017-03-09 Marek Polacek <polacek@redhat.com>
3167
3168 PR c++/79962
3169 PR c++/79984
3170 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3171 conversion to the attribute list.
3172
3173 2017-03-09 Martin Liska <mliska@suse.cz>
3174
3175 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3176
3177 2017-03-03 Jason Merrill <jason@redhat.com>
3178
3179 * c.opt (Wnoexcept-type): New.
3180
3181 2017-03-02 Richard Biener <rguenther@suse.de>
3182
3183 PR c/79756
3184 * c-common.c (c_common_mark_addressable_vec): Look through
3185 C_MAYBE_CONST_EXPR.
3186
3187 2017-02-28 Martin Liska <mliska@suse.cz>
3188
3189 * c.opt: Replace space with tabular for options of <number>
3190 type.
3191
3192 2017-02-28 Martin Liska <mliska@suse.cz>
3193
3194 * c.opt: Fix --help=option -Q for options which are of
3195 an enum type.
3196
3197 2017-02-24 Jakub Jelinek <jakub@redhat.com>
3198
3199 PR c++/79588
3200 * c-common.c (check_function_restrict): New function.
3201 (check_function_arguments): Add FNDECL argument. Call
3202 check_function_restrict if -Wrestrict.
3203 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3204 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3205 * c-common.h (check_function_arguments): Add FNDECL argument.
3206 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3207
3208 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3209
3210 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3211 treatment of parameters with pointer-to-tagged type and tidy up.
3212 (print_ada_methods): Remove the special treatment of C++ static member
3213 functions.
3214
3215 2017-02-22 Martin Liska <mliska@suse.cz>
3216
3217 * c.opt: Replace inequality signs with square brackets
3218 for -Wnornalized.
3219
3220 2017-02-21 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR c++/79641
3223 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3224 preserve quals.
3225
3226 2017-02-17 Joseph Myers <joseph@codesourcery.com>
3227
3228 * c-cppbuiltin.c (builtin_define_float_constants): Define
3229 __DECIMAL_DIG__ to the value for long double.
3230
3231 2017-02-15 Marek Polacek <polacek@redhat.com>
3232
3233 PR c/79515
3234 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3235 conversion has occured.
3236
3237 2017-01-24 David Malcolm <dmalcolm@redhat.com>
3238
3239 * c-common.c (c_common_reswords): Add "__RTL".
3240 * c-common.h (enum rid): Add RID_RTL.
3241
3242 2017-01-20 Marek Polacek <polacek@redhat.com>
3243
3244 PR c/64279
3245 * c-common.h (do_warn_duplicated_branches_r): Declare.
3246 * c-gimplify.c (c_genericize): Walk the function tree calling
3247 do_warn_duplicated_branches_r.
3248 * c-warn.c (expr_from_macro_expansion_r): New.
3249 (do_warn_duplicated_branches): New.
3250 (do_warn_duplicated_branches_r): New.
3251 * c.opt (Wduplicated-branches): New option.
3252
3253 2017-01-17 David Malcolm <dmalcolm@redhat.com>
3254
3255 PR c++/71497
3256 * c-indentation.c (warn_for_misleading_indentation): Use the past
3257 subjunctive in the note.
3258
3259 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
3260
3261 PR c/79116
3262 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3263 start type to integer_type.
3264
3265 2017-01-16 Jakub Jelinek <jakub@redhat.com>
3266
3267 PR driver/49726
3268 * c.opt (gen-decls): Add Driver flag.
3269
3270 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3271
3272 Revert:
3273 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3274
3275 PR c++/71737
3276 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3277
3278 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3279
3280 PR c++/71737
3281 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3282
3283 2017-01-12 Martin Sebor <msebor@redhat.com>
3284
3285 (-Wformat-overflow): ...to this.
3286
3287 2017-01-11 Martin Sebor <msebor@redhat.com>
3288
3289 PR c/78768
3290 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3291 Also enable for LTO.
3292
3293 2017-01-10 Jason Merrill <jason@redhat.com>
3294
3295 Implement P0195R2, C++17 variadic using.
3296 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3297
3298 2017-01-09 Jakub Jelinek <jakub@redhat.com>
3299
3300 PR translation/79019
3301 PR translation/79020
3302 * c.opt (Wnormalized=): Fix typo in description.
3303
3304 2017-01-08 Martin Sebor <msebor@redhat.com>
3305
3306 PR middle-end/77708
3307 * c.opt (-Wformat-truncation): New option.
3308
3309 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
3310
3311 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3312 value to unsigned short to fit in 4 hex digits without
3313 warnings.
3314
3315 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3316
3317 * c.opt (fsso-struct): Add 'native' value.
3318
3319 2017-01-05 Martin Liska <mliska@suse.cz>
3320
3321 PR pch/78970
3322 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3323 header.
3324
3325 2017-01-04 Marek Polacek <polacek@redhat.com>
3326
3327 PR c++/64767
3328 * c.opt (Wpointer-compare): New option.
3329
3330 2017-01-04 Jakub Jelinek <jakub@redhat.com>
3331
3332 PR driver/78957
3333 * c.opt (fsso-struct=): Add RejectNegative.
3334
3335 2017-01-01 Jakub Jelinek <jakub@redhat.com>
3336
3337 Update copyright years.
3338
3339 2016-12-29 Martin Liska <mliska@suse.cz>
3340
3341 PR c/78933
3342 * c.opt (strong-eval-order): Add RejectNegative keyword.
3343
3344 2016-12-22 Jason Merrill <jason@redhat.com>
3345
3346 Implement P0522R0, matching of template template arguments.
3347 * c-cppbuiltin.c (c_cpp_builtins): Define
3348 __cpp_template_template_args.
3349
3350 2016-12-21 Jakub Jelinek <jakub@redhat.com>
3351
3352 PR bootstrap/78817
3353 * c-common.c (struct nonnull_arg_ctx): New type.
3354 (check_function_nonnull): Return bool instead of void. Use
3355 nonnull_arg_ctx as context rather than just location_t.
3356 (check_nonnull_arg): Adjust for the new context type, set
3357 warned_p to true if a warning has been diagnosed.
3358 (check_function_arguments): Return bool instead of void.
3359 * c-common.h (check_function_arguments): Adjust prototype.
3360
3361 2016-12-21 Jason Merrill <jason@redhat.com>
3362
3363 * c.opt (-fnew-ttp-matching): New flag.
3364 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3365
3366 2016-12-14 Martin Jambor <mjambor@suse.cz>
3367
3368 * c-omp.c: Include omp-general.h instead of omp-low.h.
3369 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3370 name.
3371
3372 2016-12-14 Martin Sebor <msebor@redhat.com>
3373
3374 PR c/17308
3375 * c-common.c (check_nonnull_arg): Disable when optimization
3376 is enabled.
3377
3378 2016-12-12 Marek Polacek <polacek@redhat.com>
3379
3380 PR c++/78647
3381 * c-common.c (attribute_fallthrough_p): Return false for
3382 error_mark_node.
3383
3384 2016-12-08 Martin Sebor <msebor@redhat.com>
3385
3386 PR c/78284
3387 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3388
3389 2016-12-08 Martin Sebor <msebor@redhat.com>
3390
3391 PR c/78165
3392 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3393 suffix.
3394
3395 2016-12-07 Martin Sebor <msebor@redhat.com>
3396
3397 PR c/53562
3398 PR middle-end/77784
3399 PR middle-end/78149
3400 PR middle-end/78138
3401 * c.opt (-Wstringop-overflow): New option.
3402
3403 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3404
3405 * c-attribs.c (asan odr indicator): New attribute.
3406 (handle_asan_odr_indicator_attribute): New function.
3407
3408 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3409
3410 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3411 ptrdiff_type_node;
3412
3413 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3414
3415 * c-common.c (excess_precision_mode_join): New.
3416 (c_ts18661_flt_eval_method): New.
3417 (c_c11_flt_eval_method): Likewise.
3418 (c_flt_eval_method): Likewise.
3419 * c-common.h (excess_precision_mode_join): New.
3420 (c_flt_eval_method): Likewise.
3421 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3422 (cpp_iec_559_value): Call it.
3423 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3424 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3425 __FLT_EVAL_METHOD_TS_18661_3__.
3426
3427 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3428
3429 * c-opts.c (c_common_post_options): Add logic to handle the default
3430 case for -fpermitted-flt-eval-methods.
3431
3432 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
3433
3434 * c.opt (Wexpansion-to-defined): New.
3435
3436 2016-11-23 Jakub Jelinek <jakub@redhat.com>
3437
3438 PR target/78451
3439 * c-pragma.c (handle_pragma_target): Don't replace
3440 current_target_pragma, but chainon the new args to the current one.
3441
3442 2016-11-22 Nathan Sidwell <nathan@acm.org>
3443
3444 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
3445 indentation and formatting.
3446
3447 2016-11-21 Martin Sebor <msebor@redhat.com>
3448
3449 * c.opt (-fprintf-return-value): Enable by default.
3450
3451 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3452
3453 PR c++/71973
3454 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3455 * c-common.c (c_common_nodes_and_builtins): Initialize
3456 const_tm_ptr_type_node.
3457
3458 2016-11-16 Marek Polacek <polacek@redhat.com>
3459
3460 PR c/78285
3461 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3462
3463 2016-11-14 Jakub Jelinek <jakub@redhat.com>
3464
3465 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3466
3467 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
3468 Richard Biener <rguenther@suse.de>
3469
3470 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3471 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3472 * c.opt (fgimple): New option.
3473
3474 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3475
3476 PR c/35503
3477 * c-common.h (warn_for_restrict): Declare.
3478 * c-warn.c: Include gcc-rich-location.h.
3479 (warn_for_restrict): New function.
3480 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3481 (gcc_cdiag_char_table): Likewise.
3482 (gcc_cxxdiag_char_table): Likewise.
3483 * c.opt (Wrestrict): New option.
3484
3485 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3486
3487 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3488 for nested types only if the type is a record or union and dump SLOC.
3489
3490 2016-11-09 Jason Merrill <jason@redhat.com>
3491
3492 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3493
3494 2016-11-09 Jakub Jelinek <jakub@redhat.com>
3495
3496 * c-ubsan.c (ubsan_instrument_shift): Handle split
3497 -fsanitize=shift-base and -fsanitize=shift-exponent.
3498
3499 2016-11-07 Jason Merrill <jason@redhat.com>
3500
3501 * c.opt (Wc++1z-compat): New.
3502 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3503
3504 2016-11-07 Martin Liska <mliska@suse.cz>
3505
3506 * c-warn.c (warn_for_unused_label): Save all labels used
3507 in goto or in &label.
3508
3509 2016-11-03 Jason Merrill <jason@redhat.com>
3510
3511 * c-cppbuiltin.c (c_cpp_builtins): Correct
3512 __cpp_inheriting_constructors.
3513
3514 2016-11-01 Jason Merrill <jason@redhat.com>
3515
3516 * c-cppbuiltin.c (c_cpp_builtins): Update
3517 __cpp_inheriting_constructors.
3518
3519 * c.opt (-fnew-inheriting-ctors): New.
3520 * c-opts.c: Default to on for ABI 11+.
3521
3522 2016-10-31 Jakub Jelinek <jakub@redhat.com>
3523
3524 PR c++/77948
3525 * c.opt (fext-numeric-literals): Add Var and Init.
3526 * c-opts.c (c_common_handle_option): Don't clear
3527 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3528 (c_common_post_options): Clear it here if not set
3529 explicitly.
3530
3531 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
3532
3533 PR debug/77773
3534 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3535 if NULL.
3536
3537 2016-10-25 Jakub Jelinek <jakub@redhat.com>
3538
3539 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3540 * c-common.c (c_common_reswords): Add __builtin_launder.
3541
3542 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3543
3544 * c-common.c (c_common_truthvalue_conversion): Warn for
3545 multiplications in boolean context. Fix the quoting of '<<' and '<'
3546 in the shift warning.
3547
3548 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3549
3550 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3551
3552 2016-10-20 Jason Merrill <jason@redhat.com>
3553
3554 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3555
3556 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3557
3558 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3559 integer shift ops in boolean context.
3560
3561 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
3562
3563 * c.opt (Walloca): New.
3564 (Walloca-larger-than=): New.
3565 (Wvla-larger-than=): New.
3566
3567 2016-10-17 Marek Polacek <polacek@redhat.com>
3568
3569 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3570 Return immediately when finding a match.
3571 (warn_tautological_cmp): Remove a boolean variable that is no longer
3572 needed.
3573
3574 2016-10-17 Marek Polacek <polacek@redhat.com>
3575
3576 * c-attribs.c: New file.
3577 * c-common.c: Move attributes handling to c-attribs.c.
3578 (get_nonnull_operand): No longer static.
3579 * c-common.h: Move the declarations from c-attribs.c to its own section.
3580
3581 2016-10-14 Jason Merrill <jason@redhat.com>
3582
3583 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3584 and __cpp_deduction_guides.
3585
3586 2016-10-13 Jason Merrill <jason@redhat.com>
3587
3588 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3589
3590 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3591
3592 * c-cppbuiltin.c: Include memmodel.h.
3593 * c-opts.c: Likewise.
3594 * c-pragma.c: Likewise.
3595 * c-warn.c: Likewise.
3596
3597 2016-10-12 Jakub Jelinek <jakub@redhat.com>
3598
3599 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3600 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3601 * c-opts.c (sanitize_cpp_opts): Initialize
3602 cpp_opts->cpp_warn_implicit_fallthrough.
3603
3604 2016-10-11 Marek Polacek <polacek@redhat.com>
3605
3606 * c-common.c (warning_candidate_p): Change the return type to bool
3607 and return true/false instead of 1/0.
3608 (vector_mode_valid_p): Likewise.
3609
3610 2016-10-11 Marek Polacek <polacek@redhat.com>
3611
3612 * c-common.c (fold_for_warn): No longer static.
3613 (bool_promoted_to_int_p): Likewise.
3614 (c_common_get_narrower): Likewise.
3615 (constant_expression_warning): Move to c-warn.c.
3616 (constant_expression_error): Likewise.
3617 (overflow_warning): Likewise.
3618 (warn_logical_operator): Likewise.
3619 (find_array_ref_with_const_idx_r): Likewise.
3620 (warn_tautological_cmp): Likewise.
3621 (expr_has_boolean_operands_p): Likewise.
3622 (warn_logical_not_parentheses): Likewise.
3623 (warn_if_unused_value): Likewise.
3624 (strict_aliasing_warning): Likewise.
3625 (sizeof_pointer_memaccess_warning): Likewise.
3626 (check_main_parameter_types): Likewise.
3627 (conversion_warning): Likewise.
3628 (warnings_for_convert_and_check): Likewise.
3629 (match_case_to_enum_1): Likewise.
3630 (match_case_to_enum): Likewise.
3631 (c_do_switch_warnings): Likewise.
3632 (warn_for_omitted_condop): Likewise.
3633 (readonly_error): Likewise.
3634 (lvalue_error): Likewise.
3635 (invalid_indirection_error): Likewise.
3636 (warn_array_subscript_with_type_char): Likewise.
3637 (warn_about_parentheses): Likewise.
3638 (warn_for_unused_label): Likewise.
3639 (warn_for_div_by_zero): Likewise.
3640 (warn_for_memset): Likewise.
3641 (warn_for_sign_compare): Likewise.
3642 (do_warn_double_promotion): Likewise.
3643 (do_warn_unused_parameter): Likewise.
3644 (record_locally_defined_typedef): Likewise.
3645 (maybe_record_typedef_use): Likewise.
3646 (maybe_warn_unused_local_typedefs): Likewise.
3647 (maybe_warn_bool_compare): Likewise.
3648 (maybe_warn_shift_overflow): Likewise.
3649 (warn_duplicated_cond_add_or_warn): Likewise.
3650 (diagnose_mismatched_attributes): Likewise.
3651 * c-common.h: Move the declarations from c-warn.c to its own section.
3652 * c-warn.c: New file.
3653
3654 2016-10-08 Jason Merrill <jason@redhat.com>
3655
3656 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3657 into COND_EXPR in C++.
3658
3659 2016-10-08 Jakub Jelinek <jakub@redhat.com>
3660
3661 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3662 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3663 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3664
3665 2016-10-07 Jakub Jelinek <jakub@redhat.com>
3666
3667 Implement LWG2296 helper intrinsic
3668 * c-common.h (enum rid): Add RID_ADDRESSOF.
3669 * c-common.c (c_common_reswords): Add __builtin_addressof.
3670
3671 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3672
3673 PR c++/77700
3674 * c-common.c (c_common_truthvalue_conversion): Warn also for
3675 suspicious enum values in boolean context.
3676
3677 2016-10-06 Jakub Jelinek <jakub@redhat.com>
3678
3679 Implement P0258R2 - helper for C++17
3680 std::has_unique_object_representations trait
3681 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3682 * c-common.c (c_common_reswords): Add
3683 __has_unique_object_representations.
3684
3685 2016-10-05 Jakub Jelinek <jakub@redhat.com>
3686
3687 PR sanitizer/66343
3688 * c-ubsan.c (ubsan_instrument_return): Don't call
3689 initialize_sanitizer_builtins here.
3690
3691 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3692
3693 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3694 conditional expression in boolean context when only one arm is
3695 non-boolean.
3696
3697 2016-10-05 Jakub Jelinek <jakub@redhat.com>
3698
3699 PR sanitizer/77823
3700 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3701 is not integral.
3702
3703 * c-common.c (c_common_reswords): Update comment for C++11.
3704
3705 2016-10-04 Jason Merrill <jason@redhat.com>
3706
3707 * c-common.c (make_tree_vector_from_ctor): New.
3708 * c-common.h: Declare it.
3709
3710 2016-10-04 Jakub Jelinek <jakub@redhat.com>
3711
3712 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3713 __LIBGCC_JCR_SECTION_NAME__.
3714
3715 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3716
3717 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3718 left shift in boolean context.
3719
3720 2016-09-29 Jakub Jelinek <jakub@redhat.com>
3721
3722 Implement P0001R1 - C++17 removal of register storage class specifier
3723 * c.opt (Wregister): New warning.
3724 * c-opts.c (c_common_post_options): Enable -Wregister by
3725 default for C++17.
3726
3727 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3728
3729 * c-opts.c (c_common_post_options): Remove special case for
3730 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3731 in C++.
3732
3733 2016-09-27 Jakub Jelinek <jakub@redhat.com>
3734
3735 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3736 -std=c++1z.
3737
3738 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3739
3740 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3741
3742 * c-common.c: Include memmodel.h.
3743
3744 2016-09-26 Marek Polacek <polacek@redhat.com>
3745
3746 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3747
3748 2016-09-26 Marek Polacek <polacek@redhat.com>
3749
3750 PR c/7652
3751 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3752 (handle_fallthrough_attribute): New function.
3753 (attribute_fallthrough_p): New function.
3754 * c-common.h (attribute_fallthrough_p): Declare.
3755
3756 2016-09-24 Marek Polacek <polacek@redhat.com>
3757
3758 PR c/77490
3759 * c.opt (Wbool-operation): New.
3760
3761 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3762
3763 * c-common.c (c_common_truthvalue_conversion): Inhibit
3764 Wint-in-bool-context warning with from_macro_definition_at.
3765 Mention the expression will always evaluate to true.
3766
3767 2016-09-21 Martin Sebor <msebor@redhat.com>
3768
3769 PR bootstrap/77676
3770 * c.opt (fprintf-return-value): Temporarily initialize to zero
3771 to unblock bootstrap failures.
3772
3773 2016-09-21 Jakub Jelinek <jakub@redhat.com>
3774
3775 PR c++/77651
3776 * c.opt (Waligned-new=): Add RejectNegative.
3777 (faligned-new=): Likewise. Spelling fix - change
3778 aligned_new_threshhold to aligned_new_threshold.
3779 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3780 to aligned_new_threshold.
3781
3782 2016-09-20 Martin Sebor <msebor@redhat.com>
3783
3784 PR middle-end/49905
3785 * c.opt: Add -Wformat-length and -fprintf-return-value.
3786
3787 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3788
3789 PR c++/77434
3790 * c.opt (Wint-in-bool-context): New warning.
3791 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3792 constants in boolean context.
3793
3794 2016-09-19 Joseph Myers <joseph@codesourcery.com>
3795
3796 * c-common.c (max_align_t_align): Also consider alignment of
3797 float128_type_node.
3798
3799 2016-09-15 Jason Merrill <jason@redhat.com>
3800
3801 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3802 DECL_EXTERNAL.
3803
3804 2016-09-14 Jason Merrill <jason@redhat.com>
3805
3806 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3807 limit FIELD_DECL, either.
3808
3809 2016-09-14 Marek Polacek <polacek@redhat.com>
3810
3811 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3812 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3813 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3814
3815 2016-09-13 David Malcolm <dmalcolm@redhat.com>
3816
3817 * c-common.c (warn_logical_not_parentheses): Replace
3818 rich_location::add_fixit_insert calls with add_fixit_insert_before
3819 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3820
3821 2016-09-13 Jason Merrill <jason@redhat.com>
3822 Tom de Vries <tom@codesourcery.com>
3823
3824 PR c++/77427
3825 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3826
3827 2016-09-13 Jason Merrill <jason@redhat.com>
3828
3829 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3830 limit types at all.
3831
3832 2016-09-12 Jason Merrill <jason@redhat.com>
3833
3834 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3835 bit/byte confusion, allow large alignment for types.
3836
3837 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3838
3839 PR c++/77496
3840 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3841
3842 2016-09-12 David Malcolm <dmalcolm@redhat.com>
3843
3844 PR c/72858
3845 * c-format.c (argument_parser::check_argument_type): Add params
3846 "type_start" and "conversion_char". Use the former to generate
3847 offset_to_type_start and pass it and conversion_char to
3848 check_format_types.
3849 (check_format_info_main): Capture the start of the type
3850 information as "type_start", and pass it an format_char
3851 to arg_parser.check_argument_type.
3852 (check_format_types): Provide an example in the leading comment.
3853 Add params "offset_to_type_start" and "conversion_char"; pass
3854 them to format_type_warning calls.
3855 (test_get_modifier_for_format_len): Likewise.
3856 (matching_type_p): New function.
3857 (get_format_for_type): Add param "conversion_char" and move
3858 implementation into...
3859 (get_format_for_type_1): ...new function, called twice.
3860 Use new function matching_type_p rather than checking for
3861 TYPE_CANONICAL equality.
3862 (get_corrected_substring): New function.
3863 (format_type_warning): Provide an example in the leading comment.
3864 Add params "offset_to_type_start" and "conversion_char". Replace
3865 call to get_format_for_type with call to get_corrected_substring
3866 and move rejection of hints for widths/precisions there.
3867 (assert_format_for_type_streq): Add param "conversion_char".
3868 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3869 (test_get_format_for_type_printf): Add conversion chars to the
3870 tests, adding coverage for various combinations of integer
3871 vs double conversions, and for preserving octal and hexadecimal
3872 conversions.
3873 (test_get_format_for_type_scanf): Add conversion chars to the
3874 tests.
3875
3876 2016-09-10 Tom de Vries <tom@codesourcery.com>
3877
3878 PR C/71602
3879 * c-common.c (build_va_arg): Handle more strict
3880 targetm.canonical_va_list_type. Replace first argument type error with
3881 assert.
3882
3883 2016-09-09 Martin Sebor <msebor@redhat.com>
3884
3885 PR c/77520
3886 PR c/77521
3887 * c-format.c (argument_parser::find_format_char_info): Use %qc
3888 format directive unconditionally.
3889
3890 2016-09-09 Jason Merrill <jason@redhat.com>
3891
3892 Implement C++17 new of over-aligned types.
3893 * c.opt: Add -faligned-new and -Waligned-new.
3894 * c-common.c (max_align_t_align): Split out from...
3895 (cxx_fundamental_alignment_p): ...here.
3896 * c-common.h: Declare it.
3897 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3898
3899 2016-09-09 Joseph Myers <joseph@codesourcery.com>
3900
3901 * c-cppbuiltin.c (builtin_define_type_width): New function.
3902 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3903 macros.
3904
3905 2016-09-07 David Malcolm <dmalcolm@redhat.com>
3906
3907 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3908 a POINTER_TYPE.
3909 (substring_loc::get_location): Move to substring-locations.c,
3910 keeping implementation as...
3911 (c_get_substring_location): New function, from the above, reworked
3912 to use accessors rather than member lookup.
3913 * c-common.h (class substring_loc): Move to substring-locations.h,
3914 replacing with a forward decl.
3915 (c_get_substring_location): New decl.
3916 * c-format.c: Include "substring-locations.h".
3917 (format_warning_va): Move to substring-locations.c.
3918 (format_warning_at_substring): Likewise.
3919
3920 2016-09-06 Martin Sebor <msebor@redhat.com>
3921
3922 PR c/77336
3923 * c-format.c (check_function_format): Avoid issuing warnings for
3924 functions unless they call format functions with non-constant
3925 format strings.
3926
3927 2016-09-06 Richard Biener <rguenther@suse.de>
3928
3929 PR c/77450
3930 * c-common.c (c_common_mark_addressable_vec): Handle
3931 COMPOUND_LITERAL_EXPR.
3932
3933 2016-09-05 Marek Polacek <polacek@redhat.com>
3934
3935 PR c/77423
3936 * c-common.c (bool_promoted_to_int_p): New function.
3937 (expr_has_boolean_operands_p): New function.
3938 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3939 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3940
3941 2016-09-04 Tom de Vries <tom@codesourcery.com>
3942
3943 revert:
3944 2016-08-29 Tom de Vries <tom@codesourcery.com>
3945
3946 * c-common.c (build_va_arg): Replace first argument type error
3947 with assert.
3948
3949 2016-09-02 Jakub Jelinek <jakub@redhat.com>
3950
3951 PR c/65467
3952 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3953 (c_finish_omp_for): Reject _Atomic qualified iterators.
3954
3955 2016-09-01 Martin Sebor <msebor@redhat.com>
3956
3957 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3958 size to guarantee it fits the output of the formatted function
3959 regardless of its arguments.
3960
3961 2016-09-01 Marek Polacek <polacek@redhat.com>
3962
3963 PR c/7652
3964 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3965 FALLTHRU comments.
3966
3967 2016-08-29 Marek Polacek <polacek@redhat.com>
3968
3969 PR c/77292
3970 * c-common.c (warn_logical_not_parentheses): Don't warn for
3971 a comparison or a logical operator.
3972
3973 2016-08-29 Tom de Vries <tom@codesourcery.com>
3974
3975 * c-common.c (build_va_arg): Fix type comparison assert.
3976
3977 2016-08-29 Tom de Vries <tom@codesourcery.com>
3978
3979 * c-common.c (build_va_arg): Replace first argument type error
3980 with assert.
3981
3982 2016-08-29 Tom de Vries <tom@codesourcery.com>
3983
3984 PR c/77398
3985 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3986 with error_mark_node as va_list instead of with illegal va_list.
3987
3988 2016-08-25 Marek Polacek <polacek@redhat.com>
3989 David Malcolm <dmalcolm@redhat.com>
3990
3991 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3992 * c-common.h (warn_logical_not_parentheses): Update declaration.
3993
3994 2016-08-22 Marek Polacek <polacek@redhat.com>
3995
3996 PR c++/77321
3997 * c-common.c (warn_for_memset): Check type for null.
3998
3999 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4000
4001 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4002 _FloatNx types for suffixes for built-in functions.
4003
4004 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4005
4006 PR c/32187
4007 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4008 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4009 (RID_FLOAT128X): New enum rid values.
4010 (CASE_RID_FLOATN_NX): New macro.
4011 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4012 keywords.
4013 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4014 corresponding complex types.
4015 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4016 _FloatNx and corresponding complex types.
4017 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4018 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4019 and _FloatNx types for the widest type for determining
4020 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4021 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4022 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4023 and _FloatNx types.
4024 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4025 constants.
4026 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4027 _FloatNx types.
4028
4029 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4030
4031 * c-opts.c (c_diagnostic_finalizer): Update for change to
4032 diagnostic_show_locus.
4033
4034 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4035
4036 * c-common.c: Include "spellcheck.h".
4037 (cb_get_suggestion): New function.
4038 * c-common.h (cb_get_suggestion): New decl.
4039 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4040 cb_get_suggestion.
4041
4042 2016-08-18 Marek Polacek <polacek@redhat.com>
4043
4044 PR c/71514
4045 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4046 and pointer-to-VLA.
4047
4048 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4049
4050 PR c/72857
4051 * c-common.c (substring_loc::get_range): Rename to...
4052 (substring_loc::get_location): ...this, converting param from a
4053 source_range * to a location_t *. Call
4054 get_source_location_for_substring rather than
4055 get_source_range_for_substring, and pass in m_caret_idx.
4056 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4057 (substring_loc::get_range): Replace with...
4058 (substring_loc::get_location): ...this.
4059 (substring_loc::set_caret_index): New method.
4060 (substring_loc): Add field m_caret_idx.
4061 * c-format.c (format_warning_va): Update for above changes.
4062 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4063 clashing with type name.
4064 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4065 (check_argument_type): Likewise.
4066 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4067 Use a copy when emitting warnings, setting the caret index from TYPE.
4068
4069 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4070 Arnaud Charlet <charlet@adacore.com>
4071
4072 * c-ada-spec.c (dump_number): New function.
4073 (handle_escape_character): Likewise.
4074 (print_ada_macros): Add handling of constant integers and strings.
4075
4076 2016-08-12 Marek Polacek <polacek@redhat.com>
4077
4078 PR c/7652
4079 * c-common.c (scalar_to_vector): Adjust fall through comment.
4080 * c-opts.c (c_common_handle_option): Likewise.
4081 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4082 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4083 fall through comment.
4084 * cilk.c (extract_free_variables): Add FALLTHRU.
4085
4086 2016-08-10 Jason Merrill <jason@redhat.com>
4087
4088 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4089
4090 2016-08-09 Jason Merrill <jason@redhat.com>
4091
4092 * c-common.c (c_common_attribute_table): vector_size affects type
4093 identity.
4094
4095 2016-08-09 Marek Polacek <polacek@redhat.com>
4096
4097 PR c/7652
4098 * c-ada-spec.c (dump_generic_ada_node): Add return.
4099
4100 2016-08-09 Jason Merrill <jason@redhat.com>
4101
4102 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4103 C++17 constexpr lambdas.
4104
4105 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4106
4107 PR c/64955
4108 * c-common.h (selftest::c_format_c_tests): New declaration.
4109 (selftest::run_c_tests): New declaration.
4110 * c-format.c: Include "selftest.h.
4111 (format_warning_va): Add param "corrected_substring" and use
4112 it to add a replacement fix-it hint.
4113 (format_warning_at_substring): Likewise.
4114 (format_warning_at_char): Update for new param of
4115 format_warning_va.
4116 (argument_parser::check_argument_type): Pass "fki" to
4117 check_format_types.
4118 (check_format_types): Add param "fki" and pass it to
4119 format_type_warning.
4120 (deref_n_times): New function.
4121 (get_modifier_for_format_len): New function.
4122 (selftest::test_get_modifier_for_format_len): New function.
4123 (get_format_for_type): New function.
4124 (format_type_warning): Add param "fki" and use it to attempt
4125 to provide hints for argument types when calling
4126 format_warning_at_substring.
4127 (selftest::get_info): New function.
4128 (selftest::assert_format_for_type_streq): New function.
4129 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4130 (selftest::test_get_format_for_type_printf): New function.
4131 (selftest::test_get_format_for_type_scanf): New function.
4132 (selftest::c_format_c_tests): New function.
4133
4134 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4135
4136 PR c/52952
4137 * c-format.c: Include "diagnostic.h".
4138 (location_column_from_byte_offset): Delete.
4139 (location_from_offset): Delete.
4140 (format_warning_va): New function.
4141 (format_warning_at_substring): New function.
4142 (format_warning_at_char): New function.
4143 (check_format_arg): Capture location of format_tree and pass to
4144 check_format_info_main.
4145 (argument_parser): Add fields "start_of_this_format" and
4146 "format_string_cst".
4147 (flag_chars_t::validate): Add param "format_string_cst". Convert
4148 warning_at call using location_from_offset to call to
4149 format_warning_at_char.
4150 (argument_parser::argument_parser): Add param "format_string_cst_"
4151 and use use it to initialize field "format_string_cst".
4152 Initialize new field "start_of_this_format".
4153 (argument_parser::read_format_flags): Convert warning_at call
4154 using location_from_offset to a call to format_warning_at_char.
4155 (argument_parser::read_any_format_left_precision): Likewise.
4156 (argument_parser::read_any_format_precision): Likewise.
4157 (argument_parser::read_any_other_modifier): Likewise.
4158 (argument_parser::find_format_char_info): Likewise, in three places.
4159 (argument_parser::parse_any_scan_set): Likewise, in one place.
4160 (argument_parser::handle_conversions): Likewise, in two places.
4161 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4162 and use it to make a substring_loc. Pass the latter to
4163 check_format_types.
4164 (check_format_info_main): Add params "fmt_param_loc" and
4165 "format_string_cst". Convert warning_at calls using
4166 location_from_offset to calls to format_warning_at_char. Pass the
4167 new params to the arg_parser ctor. Pass "format_string_cst" to
4168 flag_chars.validate. Pass "fmt_param_loc" to
4169 arg_parser.check_argument_type.
4170 (check_format_types): Convert first param from a location_t
4171 to a const substring_loc & and rename to "fmt_loc". Attempt
4172 to extract the range of the relevant parameter and pass it
4173 to format_type_warning.
4174 (format_type_warning): Convert first param from a location_t
4175 to a const substring_loc & and rename to "fmt_loc". Add
4176 params "param_range" and "type". Replace calls to warning_at
4177 with calls to format_warning_at_substring.
4178
4179 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4180
4181 * c-format.c (class flag_chars_t): New class.
4182 (struct length_modifier): New struct.
4183 (class argument_parser): New class.
4184 (flag_chars_t::flag_chars_t): New ctor.
4185 (flag_chars_t::has_char_p): New method.
4186 (flag_chars_t::add_char): New method.
4187 (flag_chars_t::validate): New method.
4188 (flag_chars_t::get_alloc_flag): New method.
4189 (flag_chars_t::assignment_suppression_p): New method.
4190 (argument_parser::argument_parser): New ctor.
4191 (argument_parser::read_any_dollar): New method.
4192 (argument_parser::read_format_flags): New method.
4193 (argument_parser::read_any_format_width): New method.
4194 (argument_parser::read_any_format_left_precision): New method.
4195 (argument_parser::read_any_format_precision): New method.
4196 (argument_parser::handle_alloc_chars): New method.
4197 (argument_parser::read_any_length_modifier): New method.
4198 (argument_parser::read_any_other_modifier): New method.
4199 (argument_parser::find_format_char_info): New method.
4200 (argument_parser::validate_flag_pairs): New method.
4201 (argument_parser::give_y2k_warnings): New method.
4202 (argument_parser::parse_any_scan_set): New method.
4203 (argument_parser::handle_conversions): New method.
4204 (argument_parser::check_argument_type): New method.
4205 (check_format_info_main): Introduce classes argument_parser
4206 and flag_chars_t, moving the code within the loop into methods
4207 of these classes. Make various locals "const".
4208
4209 2016-08-05 David Malcolm <dmalcolm@redhat.com>
4210
4211 * c-common.c: Include "substring-locations.h".
4212 (get_cpp_ttype_from_string_type): New function.
4213 (g_string_concat_db): New global.
4214 (substring_loc::get_range): New method.
4215 * c-common.h (g_string_concat_db): New declaration.
4216 (class substring_loc): New class.
4217 * c-lex.c (lex_string): When concatenating strings, capture the
4218 locations of all tokens using a new obstack, and record the
4219 concatenation locations within g_string_concat_db.
4220 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4221 on the ggc-heap.
4222
4223 2016-07-29 Marek Polacek <polacek@redhat.com>
4224
4225 PR c/71926
4226 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4227 parentheses warning.
4228
4229 PR c/71574
4230 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4231
4232 2016-07-28 Martin Liska <mliska@suse.cz>
4233
4234 PR gcov-profile/68025
4235 * c-common.c (handle_no_profile_instrument_function_attribute):
4236
4237 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4238
4239 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4240 BITS_PER_UNIT_LOG.
4241
4242 2016-07-25 Jason Merrill <jason@redhat.com>
4243
4244 PR c++/65970
4245 * c.opt (fconstexpr-loop-limit): New.
4246
4247 2016-07-22 Martin Sebor <msebor@redhat.com>
4248
4249 PR c++/71675
4250 * c-common.c (resolve_overloaded_builtin): Avoid converting
4251 __atomic_compare_exchange_n return type to that of what its
4252 first argument points to.
4253
4254 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
4255
4256 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4257 ~(unsigned HOST_WIDE_INT) 0.
4258
4259 2016-07-22 Martin Liska <mliska@suse.cz>
4260
4261 PR gcov-profile/69028
4262 PR gcov-profile/62047
4263 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4264 to the current_function_decl.
4265
4266 2016-07-21 Jason Merrill <jason@redhat.com>
4267
4268 PR c++/65168
4269 * c-common.c (c_common_truthvalue_conversion): Check
4270 c_inhibit_evaluation_warnings for warning about address of
4271 reference.
4272
4273 2016-07-20 David Malcolm <dmalcolm@redhat.com>
4274
4275 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4276 const char *.
4277
4278 2016-07-15 Jason Merrill <jason@redhat.com>
4279
4280 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4281
4282 2016-07-15 Jakub Jelinek <jakub@redhat.com>
4283
4284 PR c/71858
4285 * c-common.h (enum lookup_name_fuzzy_kind): Add
4286 FUZZY_LOOKUP_FUNCTION_NAME.
4287
4288 2016-07-08 Jason Merrill <jason@redhat.com>
4289
4290 P0145: Refining Expression Order for C++.
4291 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4292 * c-opts.c: Adjust.
4293
4294 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4295
4296 PR c++/71214
4297 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4298
4299 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4300
4301 * c-pragma.h (enum pragma_kind): Rename
4302 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4303 users.
4304
4305 2016-06-29 Richard Biener <rguenther@suse.de>
4306
4307 PR middle-end/71002
4308 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4309
4310 2016-06-24 Jason Merrill <jason@redhat.com>
4311
4312 P0145R2: Refining Expression Order for C++.
4313 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4314 MODIFY_EXPR.
4315
4316 2016-06-24 Jakub Jelinek <jakub@redhat.com>
4317
4318 * c-common.c (check_builtin_function_arguments): Require last
4319 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4320 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4321 if the last argument is pointer to enumerated or boolean type.
4322
4323 2016-06-22 David Malcolm <dmalcolm@redhat.com>
4324
4325 PR c/70339
4326 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4327 (lookup_name_fuzzy): New prototype.
4328
4329 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
4330
4331 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4332
4333 2016-06-14 Jason Merrill <jason@redhat.com>
4334
4335 P0145R2: Refining Expression Order for C++.
4336 * c.opt (fargs-in-order): New.
4337 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4338
4339 2016-06-13 Jakub Jelinek <jakub@redhat.com>
4340
4341 PR sanitizer/71498
4342 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4343 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4344
4345 PR preprocessor/71183
4346 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4347 to cb_get_source_date_epoch.
4348
4349 2016-06-10 Jakub Jelinek <jakub@redhat.com>
4350
4351 PR c/68657
4352 * c.opt (Wpsabi): Add Warning flag.
4353
4354 2016-06-10 Martin Sebor <msebor@redhat.com>
4355
4356 PR c/71392
4357 * c-common.c (handle_nonnull_attribute): Accept
4358 the nonnull attribute in type-generic builtins.
4359
4360 2016-06-09 Martin Sebor <msebor@redhat.com>
4361
4362 PR c/70883
4363 * c-common.c (builtin_function_validate_nargs): Make text of error
4364 message consistent with others like it.
4365
4366 2016-06-08 Martin Sebor <msebor@redhat.com>
4367 Jakub Jelinek <jakub@redhat.com>
4368
4369 PR c++/70507
4370 PR c/68120
4371 * c-common.c (check_builtin_function_arguments): Handle
4372 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4373
4374 2016-06-08 Richard Biener <rguenther@suse.de>
4375
4376 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4377
4378 2016-06-07 Richard Biener <rguenther@suse.de>
4379
4380 PR c/61564
4381 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4382 options and warn about others.
4383
4384 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
4385
4386 * c-common.c (get_source_date_epoch): Rename to
4387 cb_get_source_date_epoch.
4388 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4389 message when the parsing fails. Use error_at instead of fatal_error.
4390 * c-common.h (get_source_date_epoch): Rename to
4391 cb_get_source_date_epoch.
4392 * c-common.h (cb_get_source_date_epoch): Prototype.
4393 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4394 * c-common.h (c_omp_region_type): Remove trailing comma.
4395 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4396 * c-lex.c (c_lex_with_flags): Remove initialization of
4397 pfile->source_date_epoch.
4398
4399 2016-05-30 Jakub Jelinek <jakub@redhat.com>
4400
4401 PR c++/71349
4402 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4403 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4404 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4405 instead of C_OMP_CLAUSE_SPLIT_FOR.
4406
4407 2016-05-24 Richard Biener <rguenther@suse.de>
4408
4409 PR middle-end/70434
4410 PR c/69504
4411 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4412 (convert_vector_to_array_for_subscript): ... this.
4413 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4414 VIEW_CONVERT_EXPR to an array type. Rename to ...
4415 (convert_vector_to_array_for_subscript): ... this.
4416
4417 2016-05-12 Marek Polacek <polacek@redhat.com>
4418
4419 PR c/70756
4420 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4421 size_in_bytes and pass LOC to it.
4422
4423 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4424
4425 PR c/43651
4426 * c.opt (Wduplicate-decl-specifier): New option.
4427
4428 2016-05-11 Marek Polacek <polacek@redhat.com>
4429
4430 PR c++/71024
4431 * c-common.c (diagnose_mismatched_attributes): New function.
4432 * c-common.h (diagnose_mismatched_attributes): Declare.
4433
4434 2016-05-04 Marek Polacek <polacek@redhat.com>
4435
4436 * c.opt (Wdangling-else): New option.
4437
4438 2016-05-03 Marek Polacek <polacek@redhat.com>
4439
4440 PR c/70859
4441 * c-common.c (builtin_function_validate_nargs): Add location
4442 parameter. Use it.
4443 (check_builtin_function_arguments): Add location and arguments
4444 parameters. Use them.
4445 * c-common.h (check_builtin_function_arguments): Update declaration.
4446
4447 2016-05-03 Richard Biener <rguenther@suse.de>
4448
4449 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4450 allow call args to gimplify to SSA names.
4451
4452 2016-05-03 Marek Polacek <polacek@redhat.com>
4453
4454 * c-common.h (enum c_omp_region_type): Remove stray comma.
4455
4456 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4457
4458 * c-common.h (enum c_omp_region_type): Define.
4459
4460 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4461
4462 * c-common.c (shorten_compare): Use wi::to_wide.
4463
4464 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4465
4466 PR middle-end/70626
4467 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4468 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4469 reduction clauses in acc parallel loops.
4470
4471 2016-04-29 Marek Polacek <polacek@redhat.com>
4472
4473 PR c/70852
4474 * c-common.c (warn_for_memset): Check domain before accessing it.
4475
4476 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4477
4478 PR/69089
4479 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4480 "aligned" attribute.
4481
4482 2016-04-28 Jason Merrill <jason@redhat.com>
4483
4484 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4485
4486 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
4487 Matthias Klose <doko@debian.org>
4488
4489 * c-common.c (get_source_date_epoch): New function, gets the environment
4490 variable SOURCE_DATE_EPOCH and parses it as long long with error
4491 handling.
4492 * c-common.h (get_source_date_epoch): Prototype.
4493 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4494
4495 2015-04-27 Ryan Burn <contact@rnburn.com>
4496
4497 PR c++/69024
4498 PR c++/68997
4499 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4500 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4501 external linkage.
4502 (cilk_detect_and_unwrap): Corresponding changes.
4503 (extract_free_variables): Don't extract free variables from
4504 AGGR_INIT_EXPR slot.
4505 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4506 (cilk_recognize_spawn): Likewise.
4507
4508 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4509
4510 * c.opt (Wmemset-elt-size): New option.
4511 * c-common.c (warn_for_memset): New function.
4512 * c-common.h (warn_for_memset): Declare.
4513
4514 2016-04-25 Jason Merrill <jason@redhat.com>
4515
4516 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4517 No longer static.
4518 * c-common.h: Declare it.
4519 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4520
4521 2016-04-22 Jason Merrill <jason@redhat.com>
4522
4523 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4524
4525 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4526
4527 PR c++/69363
4528 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4529 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4530
4531 2016-04-18 Michael Matz <matz@suse.de>
4532
4533 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4534 and SET_DECL_ALIGN.
4535
4536 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4537
4538 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4539 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4540 to incomplete types.
4541 (dump_nested_type): Remove redundant tests and tidy up.
4542 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4543 a type which is the typedef of an original type.
4544
4545 2016-04-15 Marek Polacek <polacek@redhat.com>
4546
4547 PR c/70651
4548 * c-common.c (build_va_arg): Change two asserts into errors and return
4549 error_mark_node.
4550
4551 2016-04-13 Marek Polacek <polacek@redhat.com>
4552
4553 PR c++/70639
4554 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4555 for switch statements, too.
4556
4557 2016-03-28 Jason Merrill <jason@redhat.com>
4558
4559 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4560
4561 2016-03-23 Marek Polacek <polacek@redhat.com>
4562
4563 PR c++/69884
4564 * c.opt (Wignored-attributes): New option.
4565
4566 2016-03-22 David Malcolm <dmalcolm@redhat.com>
4567
4568 PR c/69993
4569 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4570 diagnostic text, reversing the order of the warning and note so
4571 that they appear in source order.
4572
4573 2016-03-17 Marek Polacek <polacek@redhat.com>
4574
4575 PR c/69407
4576 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4577 operations.
4578
4579 2016-03-14 Jason Merrill <jason@redhat.com>
4580
4581 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4582
4583 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4584
4585 2016-03-09 Richard Biener <rguenther@suse.de>
4586
4587 PR c/70143
4588 * c-common.c (strict_aliasing_warning): Add back
4589 alias_sets_conflict_p check.
4590
4591 2016-03-08 Jason Merrill <jason@redhat.com>
4592
4593 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4594
4595 2016-03-04 David Malcolm <dmalcolm@redhat.com>
4596
4597 PR c/68187
4598 * c-indentation.c (get_visual_column): Move code to determine next
4599 tab stop to...
4600 (next_tab_stop): ...this new function.
4601 (line_contains_hash_if): Delete function.
4602 (detect_preprocessor_logic): Delete function.
4603 (get_first_nws_vis_column): New function.
4604 (detect_intervening_unindent): New function.
4605 (should_warn_for_misleading_indentation): Replace call to
4606 detect_preprocessor_logic with a call to
4607 detect_intervening_unindent.
4608
4609 2016-03-04 David Malcolm <dmalcolm@redhat.com>
4610
4611 PR c/68187
4612 * c-indentation.c (should_warn_for_misleading_indentation): When
4613 suppressing warnings about cases where the guard and body are on
4614 the same column, only use the first non-whitespace column in place
4615 of the guard token column when dealing with "else" clauses.
4616 When rejecting aligned BODY and NEXT, loosen the requirement
4617 from equality with the first non-whitespace of guard to simply
4618 that they not be indented relative to it.
4619
4620 2016-03-04 Richard Biener <rguenther@suse.de>
4621
4622 PR c++/70054
4623 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4624 instead of alias_sets_conflict_p.
4625
4626 2016-03-01 Marek Polacek <polacek@redhat.com>
4627
4628 PR c++/69795
4629 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4630 any DECL.
4631
4632 2016-02-22 Martin Sebor <msebor@redhat.com>
4633
4634 PR middle-end/69780
4635 * c-common.c (check_builtin_function_arguments): Validate and
4636 reject invalid arguments to __builtin_alloca_with_align.
4637
4638 2016-02-20 Mark Wielaard <mjw@redhat.com>
4639
4640 PR c/28901
4641 * c.opt (Wunused-const-variable): Turn into Alias for...
4642 (Wunused-const-variable=): New option.
4643
4644 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4645
4646 PR c++/69865
4647 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4648 here...
4649 (c_common_init_options): ...to here.
4650 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4651
4652 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4653
4654 PR c++/69826
4655 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4656 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4657 flag_preprocess_only.
4658
4659 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4660
4661 PR c/69835
4662 * c.opt (Wnonnull-compare): Enable for -Wall.
4663
4664 2016-02-15 Jakub Jelinek <jakub@redhat.com>
4665
4666 PR c++/69797
4667 * c-common.c (sync_resolve_size): Diagnose too few arguments
4668 even when params is non-NULL empty vector.
4669
4670 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4671
4672 PR target/60410
4673 * c.opt (fshort-double): Remove.
4674
4675 2016-02-05 Martin Sebor <msebor@redhat.com>
4676
4677 PR c++/69662
4678 * c.opt (Warning options): Update -Wplacement-new to take
4679 an optional argument.
4680
4681 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4682
4683 PR preprocessor/69543
4684 PR c/69558
4685 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4686 instead of loc to control_warning_option.
4687
4688 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4689
4690 * c.opt (fopenacc-dim=): New option.
4691
4692 2016-01-27 Ryan Burn <contact@rnburn.com>
4693
4694 PR cilkplus/69267
4695 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4696 gimplify_arg. Removed superfluous post_p argument.
4697 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4698 superfluous post_p argument.
4699 * c-gimplify.c (c_gimplify_expr): Likewise.
4700
4701 2016-01-26 David Malcolm <dmalcolm@redhat.com>
4702
4703 PR other/69006
4704 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4705 pp_newline_and_flush with pp_flush.
4706
4707 2016-01-20 Martin Sebor <msebor@redhat.com>
4708
4709 PR c/69405
4710 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4711 an incompatible argument when the argument isn't a valid tree node.
4712
4713 2016-01-18 Jason Merrill <jason@redhat.com>
4714
4715 PR c++/68767
4716 * c-common.c (check_function_arguments_recurse): Fold the whole
4717 COND_EXPR, not just the condition.
4718
4719 2016-01-18 Tom de Vries <tom@codesourcery.com>
4720
4721 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4722 classify as loop clause.
4723
4724 2016-01-15 Jakub Jelinek <jakub@redhat.com>
4725
4726 PR bootstrap/68271
4727 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4728 C++ FE no longer has limit on number of pragmas.
4729
4730 2015-01-14 Ryan Burn <contact@rnburn.com>
4731
4732 PR c++/69048
4733 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
4734 to add missing cleanup point.
4735
4736 2016-01-14 David Malcolm <dmalcolm@redhat.com>
4737
4738 PR c++/68819
4739 * c-indentation.c (get_visual_column): Add location_t param.
4740 Handle the column number being zero by effectively disabling the
4741 warning, with an "inform".
4742 (should_warn_for_misleading_indentation): Add location_t argument
4743 for all uses of get_visual_column.
4744
4745 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4746
4747 PR c++/69029
4748 * c-indentation.c (should_warn_for_misleading_indentation):
4749 Don't warn about do-while statements.
4750
4751 2016-01-07 Martin Sebor <msebor@redhat.com>
4752
4753 PR c/68966
4754 * c-common.c (sync_resolve_size): Reject first argument when it's
4755 a pointer to _Bool.
4756
4757 2016-01-05 David Malcolm <dmalcolm@redhat.com>
4758
4759 PR c/69122
4760 * c-indentation.c (get_visual_column): Remove default argument.
4761 (should_warn_for_misleading_indentation): For the multiline case,
4762 update call to get_visual_column for next_stmt_exploc so that it
4763 captures the location of the first non-whitespace character in the
4764 relevant line. Don't issue warnings if there is non-whitespace
4765 before the next statement.
4766
4767 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4768
4769 Update copyright years.
4770
4771 2015-12-21 David Malcolm <dmalcolm@redhat.com>
4772
4773 * c-common.c (binary_op_error): Convert first param from
4774 location_t to rich_location * and use it when emitting an error.
4775 * c-common.h (binary_op_error): Convert first param from
4776 location_t to rich_location *.
4777
4778 2015-12-16 David Malcolm <dmalcolm@redhat.com>
4779
4780 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4781 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4782
4783 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4784
4785 * c-common.c (c_common_attribute_table): Handle "omp declare target
4786 link" attribute.
4787
4788 2015-12-14 Jakub Jelinek <jakub@redhat.com>
4789
4790 PR c/68833
4791 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4792
4793 2014-12-12 Tobias Burnus <burnus@net-b.de>
4794
4795 PR fortran/68815
4796 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4797 specifiers (%d, %i,%u and %c).
4798
4799 2015-12-10 David Malcolm <dmalcolm@redhat.com>
4800
4801 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4802
4803 2015-12-08 Jakub Jelinek <jakub@redhat.com>
4804
4805 PR c/48088
4806 PR c/68657
4807 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4808 * c-pragma.c (handle_pragma_diagnostic): Adjust
4809 control_warning_option caller.
4810
4811 2015-12-07 David Malcolm <dmalcolm@redhat.com>
4812
4813 * c-common.c (c_cpp_error): Update for change to
4814 rich_location::set_range.
4815
4816 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
4817
4818 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4819 shifting 1 out of the sign bit.
4820
4821 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4822
4823 * c-common.c (c_common_attribute_table[]): Update max arguments
4824 count for "simd" attribute.
4825 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4826
4827 2015-12-03 Jakub Jelinek <jakub@redhat.com>
4828
4829 PR preprocessor/57580
4830 * c-ppoutput.c (print): Change printed field to bool.
4831 Move src_file last for smaller padding.
4832 (init_pp_output): Set print.printed to false instead of 0.
4833 (scan_translation_unit): Fix up formatting. Set print.printed
4834 to true after printing something other than newline.
4835 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4836 (maybe_print_line_1): Set print.printed to false instead of 0.
4837 (print_line_1): Likewise.
4838 (do_line_change): Set print.printed to true instead of 1.
4839 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4840 dump_macro): Set print.printed to false after printing newline.
4841
4842 2015-12-02 Jason Merrill <jason@redhat.com>
4843
4844 * c-common.c (fold_for_warn): New.
4845 (warn_logical_operator, warn_tautological_cmp)
4846 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4847
4848 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4849 (c_fully_fold_internal, decl_constant_value_for_optimization):
4850 Move to c/c-fold.c.
4851 * c-common.h: Don't declare decl_constant_value_for_optimization.
4852
4853 2015-12-02 Joseph Myers <joseph@codesourcery.com>
4854
4855 PR c/68162
4856 * c-common.h (c_build_qualified_type): Add extra default
4857 arguments.
4858
4859 2015-12-01 Julian Brown <julian@codesourcery.com>
4860 Cesar Philippidis <cesar@codesourcery.com>
4861 James Norris <James_Norris@mentor.com>
4862
4863 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4864 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4865 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4866
4867 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4868
4869 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4870 (decl_sloc_common): Delete and move bulk of processing to...
4871 (decl_sloc): ...here.
4872 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4873 (dump_ada_double_name): Remove S parameter and compute the suffix.
4874 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4875 element type and deal with an anonymous one.
4876 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4877 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4878 and remove reference to QUAL_UNION_TYPE.
4879 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4880 (dump_nested_type): ...here. New function extracted from above.
4881 Generate a full declaration for anonymous element type of arrays.
4882 (print_ada_declaration): Really skip anonymous declarations. Remove
4883 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4884 Clean up processing of declarations of array types and objects.
4885 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4886 Remove obsolete code and tidy up.
4887
4888 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
4889
4890 PR c/67581
4891 * c-common.c (handle_transparent_union_attribute): Update
4892 also type variants.
4893
4894 2015-11-27 Martin Liska <mliska@suse.cz>
4895
4896 PR c++/68312
4897 * array-notation-common.c (cilkplus_extract_an_triplets):
4898 Release vector of vectors.
4899 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4900
4901 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4902
4903 PR c++/68527
4904 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4905 (print_ada_struct_decl): Likewise.
4906
4907 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4908
4909 PR c++/68001
4910 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4911 * cilk.c (recognize_spawn): Determine location in a more precise
4912 way.
4913
4914 2015-11-19 Jason Merrill <jason@redhat.com>
4915
4916 * c-common.c (shorten_compare): But look through macros from
4917 system headers.
4918
4919 2015-11-18 Jason Merrill <jason@redhat.com>
4920
4921 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4922 non-constant operand comes from a macro.
4923
4924 2015-11-17 Jason Merrill <jason@redhat.com>
4925
4926 PR bootstrap/68346
4927 * c-common.c (warn_tautological_cmp): Fold before checking for
4928 constants.
4929
4930 2015-11-16 Marek Polacek <polacek@redhat.com>
4931
4932 PR c++/68362
4933 * c-common.c (check_case_bounds): Fold low and high cases.
4934
4935 2015-11-16 Marek Polacek <polacek@redhat.com>
4936
4937 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4938 * c-common.c (c_common_get_alias_set): Likewise.
4939 (handle_visibility_attribute): Likewise.
4940
4941 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4942
4943 * c-common.c (handle_simd_attribute): New.
4944 (struct attribute_spec): Add entry for "simd".
4945 (handle_simd_attribute): New.
4946
4947 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
4948
4949 * c-lex.c (interpret_float): Use fold_convert.
4950
4951 2015-11-13 David Malcolm <dmalcolm@redhat.com>
4952
4953 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4954 and store it on the result.
4955 * c-opts.c (c_common_init_options): Set
4956 global_dc->colorize_source_p.
4957
4958 2015-11-12 James Norris <jnorris@codesourcery.com>
4959 Joseph Myers <joseph@codesourcery.com>
4960
4961 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
4962 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4963 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4964 PRAGMA_OACC_CLAUSE_LINK.
4965
4966 2015-11-11 Marek Polacek <polacek@redhat.com>
4967
4968 PR c/68107
4969 PR c++/68266
4970 * c-common.c (valid_array_size_p): New function.
4971 * c-common.h (valid_array_size_p): Declare.
4972
4973 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4974
4975 PR bootstrap/68271
4976 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4977
4978 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
4979
4980 * array-notation-common.c: Remove unused header files.
4981 * c-ada-spec.c: Likewise.
4982 * c-cilkplus.c: Likewise.
4983 * c-common.c: Likewise.
4984 * c-cppbuiltin.c: Likewise.
4985 * c-dump.c: Likewise.
4986 * c-format.c: Likewise.
4987 * c-gimplify.c: Likewise.
4988 * c-indentation.c: Likewise.
4989 * c-lex.c: Likewise.
4990 * c-omp.c: Likewise.
4991 * c-opts.c: Likewise.
4992 * c-pch.c: Likewise.
4993 * c-ppoutput.c: Likewise.
4994 * c-pragma.c: Likewise.
4995 * c-pretty-print.c: Likewise.
4996 * c-semantics.c: Likewise.
4997 * c-ubsan.c: Likewise.
4998 * cilk.c: Likewise.
4999 * stub-objc.c: Likewise.
5000
5001 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5002 Cesar Philippidis <cesar@codesourcery.com>
5003 James Norris <jnorris@codesourcery.com>
5004 Julian Brown <julian@codesourcery.com>
5005 Nathan Sidwell <nathan@codesourcery.com>
5006
5007 * c-pragma.c (oacc_pragmas): Add "routine".
5008 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5009
5010 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5011
5012 * c-common.c (c_common_attributes): Add scalar_storage_order.
5013 (handle_scalar_storage_order_attribute): New function.
5014 * c-pragma.c (global_sso): New variable.
5015 (maybe_apply_pragma_scalar_storage_order): New function.
5016 (handle_pragma_scalar_storage_order): Likewise.
5017 (init_pragma): Register scalar_storage_order.
5018 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5019 * c.opt (Wscalar-storage-order): New warning.
5020 (fsso-struct=): New option.
5021
5022 2015-11-08 Martin Sebor <msebor@redhat.com>
5023
5024 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5025
5026 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5027
5028 * c-common.c: Don't undef DEF_BUILTIN.
5029
5030 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5031
5032 * c-common.c (c_cpp_error): Convert parameter from location_t to
5033 rich_location *. Eliminate the "column_override" parameter and
5034 the call to diagnostic_override_column.
5035 Update the "done_lexing" clause to set range 0
5036 on the rich_location, rather than overwriting a location_t.
5037 * c-common.h (c_cpp_error): Convert parameter from location_t to
5038 rich_location *. Eliminate the "column_override" parameter.
5039
5040 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5041 Thomas Schwinge <thomas@codesourcery.com>
5042 James Norris <jnorris@codesourcery.com>
5043
5044 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5045 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5046 clauses with parallel and kernels and loops.
5047 * c-pragma.h (enum pragma_omp_clause): Add entries for
5048 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5049 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5050 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5051 INDEPENDENT,SEQ}.
5052 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5053
5054 2015-11-05 Martin Sebor <msebor@redhat.com>
5055
5056 PR c++/67942
5057 * c.opt (-Wplacement-new): New option.
5058
5059 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5060
5061 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5062 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5063 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5064 save_expr or create_tmp_var* if TEST is true.
5065 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5066 Don't call add_stmt here.
5067 (struct c_omp_check_loop_iv_data): New type.
5068 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5069 c_omp_check_loop_iv_exprs): New functions.
5070 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5071 distribute.
5072 (c_omp_declare_simd_clauses_to_numbers): Change
5073 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5074 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5075 from numbers to PARM_DECLs.
5076
5077 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5078
5079 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5080 flag_checking.
5081
5082 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5083
5084 PR c++-common/67882
5085 * c-common.h (fold_offsetof_1): Add argument.
5086 * c-common.c (fold_offsetof_1): Diagnose more invalid
5087 offsetof expressions that reference elements past the end of
5088 an array.
5089
5090 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5091 Chung-Lin Tang <cltang@codesourcery.com>
5092
5093 * c-pragma.c (oacc_pragmas): Add "atomic".
5094 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5095
5096 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5097
5098 * c-common.c (handle_target_clones_attribute): New.
5099 (c_common_attribute_table): Add handle_target_clones_attribute.
5100 (handle_always_inline_attribute): Add check on target_clones attribute.
5101 (handle_target_attribute): Ditto.
5102
5103 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5104
5105 * array-notation-common.c: Reorder #include's and remove duplicates.
5106 * c-ada-spec.c: Likewise.
5107 * c-cilkplus.c: Likewise.
5108 * c-common.c: Likewise.
5109 * c-cppbuiltin.c: Likewise.
5110 * c-dump.c: Likewise.
5111 * c-format.c: Likewise.
5112 * c-gimplify.c: Likewise.
5113 * c-indentation.c: Likewise.
5114 * c-lex.c: Likewise.
5115 * c-omp.c: Likewise.
5116 * c-opts.c: Likewise.
5117 * c-pch.c: Likewise.
5118 * c-ppoutput.c: Likewise.
5119 * c-pragma.c: Likewise.
5120 * c-pretty-print.c: Likewise.
5121 * c-semantics.c: Likewise.
5122 * c-ubsan.c: Likewise.
5123 * cilk.c: Likewise.
5124 * stub-objc.c: Likewise.
5125
5126 2015-10-28 Jason Merrill <jason@redhat.com>
5127
5128 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5129
5130 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5131 James Norris <jnorris@codesourcery.com>
5132 Cesar Philippidis <cesar@codesourcery.com>
5133
5134 PR c/64765
5135 PR c/64880
5136 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5137 * c-omp.c (c_oacc_split_loop_clauses): New function.
5138
5139 2015-10-21 Martin Sebor <msebor@redhat.com>
5140
5141 PR driver/68043
5142 * c.opt: End each sentence that describes an option with a period.
5143
5144 2015-10-20 Marek Polacek <polacek@redhat.com>
5145
5146 * array-notation-common.c (is_cilkplus_vector_p): Define.
5147 * c-common.h (is_cilkplus_vector_p): Declare.
5148
5149 2015-10-20 Marek Polacek <polacek@redhat.com>
5150
5151 * c.opt (std=gnu++11): Do not describe as experimental.
5152 (std=gnu++14): Likewise.
5153
5154 2015-10-19 Jason Merrill <jason@redhat.com>
5155
5156 * c-cppbuiltin.c (c_cpp_builtins): Define
5157 __cpp_nontype_template_args.
5158
5159 2015-10-19 Jason Merrill <jason@redhat.com>
5160
5161 * c-cppbuiltin.c (c_cpp_builtins): Define
5162 __cpp_enumerator_attributes, __cpp_fold_expressions,
5163 __cpp_unicode_characters.
5164
5165 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5166 Aldy Hernandez <aldyh@redhat.com>
5167
5168 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5169 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5170 (c_define_builtins): Likewise.
5171 * c-common.h (enum c_omp_clause_split): Add
5172 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5173 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5174 (c_finish_omp_for): Add ORIG_DECLV argument.
5175 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5176 201511 instead of 201307.
5177 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5178 OMP_CRITICAL_CLAUSES to it.
5179 (c_finish_omp_ordered): Add CLAUSES argument, set
5180 OMP_ORDERED_CLAUSES to it.
5181 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5182 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5183 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5184 constructs and new OpenMP 4.5 clauses. Clear
5185 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5186 verification code.
5187 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5188 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5189 (enum pragma_omp_clause): Add
5190 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5191 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5192
5193 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5194
5195 * c-lex.c (interpret_float): Use real_equal instead of
5196 REAL_VALUES_EQUAL.
5197
5198 2015-10-04 Jason Merrill <jason@redhat.com>
5199
5200 Implement N4514, C++ Extensions for Transactional Memory.
5201 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5202 (c_common_attribute_table): Add transaction_safe_dynamic.
5203 transaction_safe now affects type identity.
5204 (handle_tm_attribute): Handle transaction_safe_dynamic.
5205 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5206 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5207 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5208 (D_TRANSMEM): New.
5209 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5210 * c-pretty-print.c (pp_c_attributes_display): Don't print
5211 transaction_safe in C++.
5212
5213 2015-10-02 Marek Polacek <polacek@redhat.com>
5214
5215 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5216
5217 2015-10-02 Marek Polacek <polacek@redhat.com>
5218
5219 PR c/64249
5220 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5221 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5222 * c.opt (Wduplicated-cond): New option.
5223
5224 2015-10-01 Joseph Myers <joseph@codesourcery.com>
5225
5226 * c.opt (std=c11): Do not describe as experimental.
5227 (std=gnu11): Likewise.
5228 (std=iso9899:2011): Likewise.
5229
5230 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5231
5232 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5233 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5234
5235 2015-09-25 Marek Polacek <polacek@redhat.com>
5236
5237 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5238 (ubsan_instrument_shift): Likewise.
5239
5240 2015-09-25 Marek Polacek <polacek@redhat.com>
5241
5242 PR sanitizer/64906
5243 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5244
5245 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5246
5247 * c-indentation.c (should_warn_for_misleading_indentation):
5248 Compare next_stmt_vis_column with guard_line_first_nws instead
5249 of with guard_line_vis_column.
5250
5251 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5252
5253 PR c/49654
5254 PR c/49655
5255 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5256 options and options not valid for the current language.
5257
5258 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5259
5260 * c-indentation.c (should_warn_for_misleading_indentation):
5261 Float out and consolidate the calls to get_visual_column that
5262 are passed guard_exploc as an argument. Compare
5263 next_stmt_vis_column with guard_line_first_nws instead of with
5264 body_line_first_nws.
5265
5266 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5267
5268 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5269 Wnamespaces): New C++ warnings.
5270
5271 2015-09-22 Jason Merrill <jason@redhat.com>
5272
5273 * c-common.h (abi_compat_version_crosses): New.
5274 (warn_abi_version): Declare.
5275 * c-common.c: Define it.
5276 * c-opts.c (c_common_post_options): Handle it.
5277 flag_abi_compat_version defaults to 8.
5278
5279 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5280
5281 Complete the implementation of N4230, Nested namespace definition.
5282 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5283 __cpp_nested_namespace_definitions.
5284
5285 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5286
5287 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5288
5289 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5290
5291 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5292 when warning.
5293 * c-pragma.h (pragma_lex): Add optional loc argument.
5294
5295 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5296
5297 * c-format.c (check_format_arg): Adjust to use common block size in all
5298 object pools.
5299
5300 2015-09-15 David Malcolm <dmalcolm@redhat.com>
5301
5302 * c-format.c (location_from_offset): Update for change in
5303 signature of location_get_source_line.
5304 * c-indentation.c (get_visual_column): Likewise.
5305 (line_contains_hash_if): Likewise.
5306
5307 2015-09-14 Marek Polacek <polacek@redhat.com>
5308
5309 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5310 setting various warnings.
5311
5312 2015-09-14 Marek Polacek <polacek@redhat.com>
5313
5314 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5315 a negative value.
5316
5317 2015-09-11 Mark Wielaard <mjw@redhat.com>
5318
5319 PR c/28901
5320 * c.opt (Wunused-variable): Option from common.opt.
5321 (Wunused-const-variable): New option.
5322
5323 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5324
5325 PR c++/53184
5326 * c.opt ([Wsubobject-linkage]): Add.
5327
5328 2015-09-03 Martin Sebor <msebor@redhat.com>
5329
5330 PR c/66516
5331 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5332 functions.
5333 * c-common.c (reject_gcc_builtin): Define.
5334
5335 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5336
5337 PR middle-end/60586
5338 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5339 prototype.
5340 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5341 cilk_gimplify_call_params_in_spawned_fn.
5342 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5343 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5344 unwrapping.
5345
5346 2015-08-25 Marek Polacek <polacek@redhat.com>
5347
5348 PR middle-end/67330
5349 * c-common.c (handle_weak_attribute): Don't check whether the
5350 visibility can be changed here.
5351
5352 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5353
5354 * c-lex.c (c_lex_with_flags): Use explicit locations.
5355
5356 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5357
5358 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5359 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5360
5361 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5362
5363 PR middle-end/36757
5364 * c-common.c (check_builtin_function_arguments): Add check
5365 for BUILT_IN_SIGNBIT argument.
5366
5367 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5368
5369 PR c++/67160
5370 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5371 in c++1z mode.
5372
5373 2015-08-17 Marek Polacek <polacek@redhat.com>
5374
5375 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5376 with whitespaces before qualifier names.
5377
5378 2015-08-12 Marek Polacek <polacek@redhat.com>
5379
5380 PR c++/55095
5381 * c-common.c (maybe_warn_shift_overflow): Properly handle
5382 left-shifting 1 into the sign bit.
5383
5384 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5385
5386 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5387
5388 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5389 Braden Obrzut <admin@maniacsvault.net>
5390 Jason Merrill <jason@redhat.com>
5391
5392 Add C++ Concepts TS support.
5393 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5394 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5395 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5396 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5397 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5398 * c.opt (fconcepts): New.
5399
5400 2015-08-02 Martin Sebor <msebor@redhat.com>
5401
5402 * c.opt (-Wframe-address): New warning option.
5403
5404 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5405
5406 * c-indentation.c (should_warn_for_misleading_indentation):
5407 Improve heuristics.
5408
5409 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5410
5411 * c-indentation.c (get_visual_column): Add parameter first_nws,
5412 use it. Update comment documenting the function.
5413 (is_first_nonwhitespace_on_line): Remove.
5414 (should_warn_for_misleading_indentation): Replace usage of
5415 of is_first_nonwhitespace_on_line with get_visual_column.
5416
5417 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5418
5419 * c-indentation.h (struct token_indent_info): Define.
5420 (get_token_indent_info): Define.
5421 (warn_for_misleading_information): Declare.
5422 * c-common.h (warn_for_misleading_information): Remove.
5423 * c-identation.c (warn_for_misleading_indentation):
5424 Change declaration to take three token_indent_infos. Adjust
5425 accordingly.
5426 * c-identation.c (should_warn_for_misleading_indentation):
5427 Likewise. Bail out early if the body is a compound statement.
5428 (guard_tinfo_to_string): Define.
5429
5430 2015-07-30 Jason Merrill <jason@redhat.com>
5431
5432 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5433 '*' for reference decay.
5434
5435 2015-07-30 Marek Polacek <polacek@redhat.com>
5436
5437 * c-common.c (warn_tautological_cmp): Bail for float types.
5438
5439 2015-07-27 Marek Polacek <polacek@redhat.com>
5440
5441 PR bootstrap/67030
5442 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5443
5444 2015-07-27 Marek Polacek <polacek@redhat.com>
5445
5446 PR c++/66555
5447 PR c/54979
5448 * c-common.c (find_array_ref_with_const_idx_r): New function.
5449 (warn_tautological_cmp): New function.
5450 * c-common.h (warn_tautological_cmp): Declare.
5451 * c.opt (Wtautological-compare): New option.
5452
5453 2015-07-23 Marek Polacek <polacek@redhat.com>
5454
5455 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5456 (ubsan_instrument_shift): Likewise.
5457
5458 2015-07-23 Marek Polacek <polacek@redhat.com>
5459
5460 PR sanitizer/66908
5461 * c-ubsan.c: Include gimplify.h.
5462 (ubsan_instrument_division): Unshare OP0 and OP1.
5463 (ubsan_instrument_shift): Likewise.
5464
5465 2015-07-20 Marek Polacek <polacek@redhat.com>
5466 Richard Sandiford <richard.sandiford@arm.com>
5467
5468 PR c++/55095
5469 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5470 Use EXPR_LOC_OR_LOC.
5471 (maybe_warn_shift_overflow): New function.
5472 * c-common.h (maybe_warn_shift_overflow): Declare.
5473 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5474 * c.opt (Wshift-overflow): New option.
5475
5476 2015-07-16 Martin Liska <mliska@suse.cz>
5477
5478 * c-format.c (static void check_format_info_main): Use
5479 object_allocator instead of pool_allocator.
5480 (check_format_arg): Likewise.
5481 (check_format_info_main): Likewise.
5482
5483 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
5484
5485 * c-opts.c: Remove multiline #include comment.
5486
5487 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
5488
5489 * c-common.c: Fix double word typos.
5490
5491 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5492
5493 * c-ada-spec.h (cpp_operation): Revert latest change.
5494 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5495 constructors and destructors.
5496
5497 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
5498
5499 * c-common.h: Adjust includes for flags.h changes.
5500 * stub-objc.c: Likewise.
5501
5502 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5503
5504 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5505 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5506
5507 2015-07-08 Jakub Jelinek <jakub@redhat.com>
5508
5509 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5510 are to be removed, return NULL rather than original clauses list.
5511
5512 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
5513
5514 * array-notation-common.c: Adjust includes.
5515 * c-ada-spec.c: Likewise.
5516 * c-cilkplus.c: Likewise.
5517 * c-common.h: Likewise.
5518 * c-cppbuiltin.c: Likewise.
5519 * c-dump.c: Likewise.
5520 * c-format.c: Likewise.
5521 * c-gimplify.c: Likewise.
5522 * c-indentation.c: Likewise.
5523 * c-lex.c: Likewise.
5524 * c-omp.c: Likewise.
5525 * c-opts.c: Likewise.
5526 * c-pch.c: Likewise.
5527 * c-ppoutput.c: Likewise.
5528 * c-pragma.c: Likewise.
5529 * c-pretty-print.c: Likewise.
5530 * c-semantics.c: Likewise.
5531 * c-ubsan.c: Likewise.
5532 * cilk.c: Likewise.
5533 * stub-objc.c: Likewise.
5534
5535 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5536
5537 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5538 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5539
5540 2015-07-01 Jason Merrill <jason@redhat.com>
5541
5542 * c-common.h (D_CXX11): Rename from D_CXX0X.
5543 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5544 * c-common.c: Adjust.
5545
5546 * c-opts.c (c_common_post_options): Default to C++14.
5547
5548 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5549
5550 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5551
5552 Implement N4197 - Adding u8 character literals
5553 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
5554 CPP_CHAR.
5555 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
5556 CPP_UTF8CHAR_USERDEF tokens.
5557 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
5558 and CPP_UTF8CHAR tokens.
5559 (lex_charconst): Treat CPP_UTF8CHAR token.
5560
5561 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5562
5563 PR fortran/66605
5564 * c-common.c (do_warn_unused_parameter): Move here.
5565 * c-common.h (do_warn_unused_parameter): Declare.
5566
5567 2015-06-29 Marek Polacek <polacek@redhat.com>
5568
5569 PR c/66322
5570 * c-common.c (check_case_bounds): Add bool * parameter. Set
5571 OUTSIDE_RANGE_P.
5572 (c_add_case_label): Add bool * parameter. Pass it down to
5573 check_case_bounds.
5574 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5575 warning here.
5576 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5577 declarations.
5578
5579 2015-06-27 Marek Polacek <polacek@redhat.com>
5580
5581 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5582 or VECTOR_INTEGER_TYPE_P throughout.
5583 * c-gimplify.c: Likewise.
5584
5585 2015-06-26 Marek Polacek <polacek@redhat.com>
5586
5587 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5588 * c-common.c (c_fully_fold_internal): Likewise.
5589 (c_alignof_expr): Likewise.
5590 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5591 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
5592 * cilk.c (create_parm_list): Likewise.
5593
5594 2015-06-26 Marek Polacek <polacek@redhat.com>
5595
5596 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5597
5598 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
5599
5600 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5601 * c-gimplify.c: Likewise.
5602 * c-pragma.c: Likewise.
5603 * c-ubsan.c: Likewise.
5604 * cilk.c: Likewise.
5605
5606 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5607
5608 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5609 ggc_hasher.
5610
5611 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
5612
5613 * cilk.c: Move calls.h after tm.h in the include chain.
5614
5615 2015-06-25 Marek Polacek <polacek@redhat.com>
5616
5617 * array-notation-common.c: Use VAR_P throughout.
5618 * c-ada-spec.c: Likewise.
5619 * c-common.c: Likewise.
5620 * c-format.c: Likewise.
5621 * c-gimplify.c: Likewise.
5622 * c-omp.c: Likewise.
5623 * c-pragma.c: Likewise.
5624 * c-pretty-print.c: Likewise.
5625 * cilk.c: Likewise.
5626
5627 2015-06-25 Marek Polacek <polacek@redhat.com>
5628
5629 * cilk.c (extract_free_variables): Use is_global_var.
5630
5631 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5632
5633 * c-common.c: Don't include target-def.h.
5634
5635 2015-06-23 Marek Polacek <polacek@redhat.com>
5636
5637 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5638 when comparing INTEGER_CSTs.
5639
5640 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5641
5642 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5643 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5644 (dump_ada_template): Skip partially specialized types.
5645
5646 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5647
5648 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5649 swapping.
5650
5651 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5652
5653 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5654 * c-ada-spec.c: Likewise.
5655 * c-cilkplus.c: Likewise.
5656 * c-common.c: Likewise.
5657 * c-common.h: Likewise.
5658 * c-cppbuiltin.c: Likewise.
5659 * c-dump.c: Likewise.
5660 * c-format.c: Likewise.
5661 * c-gimplify.c: Likewise.
5662 * c-indentation.c: Likewise.
5663 * c-lex.c: Likewise.
5664 * c-omp.c: Likewise.
5665 * c-opts.c: Likewise.
5666 * c-pch.c: Likewise.
5667 * c-ppoutput.c: Likewise.
5668 * c-pragma.c: Likewise.
5669 * c-pretty-print.c: Likewise.
5670 * c-semantics.c: Likewise.
5671 * c-ubsan.c: Likewise.
5672 * cilk.c: Likewise.
5673 * stub-objc.c: Likewise.
5674
5675 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5676
5677 PR c++/65168
5678 * c-common.c (c_common_truthvalue_conversion): Warn when
5679 converting an address of a reference to a truth value.
5680
5681 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
5682
5683 * array-notation-common.c : Adjust include files.
5684 * c-ada-spec.c : Likewise.
5685 * c-cilkplus.c : Likewise.
5686 * c-common.c : Likewise.
5687 * c-common.h : Likewise.
5688 * c-cppbuiltin.c : Likewise.
5689 * c-dump.c : Likewise.
5690 * c-format.c : Likewise.
5691 * c-gimplify.c : Likewise.
5692 * c-indentation.c : Likewise.
5693 * c-lex.c : Likewise.
5694 * c-omp.c : Likewise.
5695 * c-opts.c : Likewise.
5696 * c-pch.c : Likewise.
5697 * c-ppoutput.c : Likewise.
5698 * c-pragma.c : Likewise.
5699 * c-pretty-print.c : Likewise.
5700 * c-semantics.c : Likewise.
5701 * c-ubsan.c : Likewise.
5702 * cilk.c : Likewise.
5703 * stub-objc.c : Likewise.
5704
5705 2015-06-08 Marek Polacek <polacek@redhat.com>
5706
5707 PR c/66415
5708 * c-format.c (location_from_offset): Return LOC if LINE is null.
5709
5710 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
5711
5712 * c-common.h (c_parse_final_cleanups): New prototype.
5713 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5714
5715 2015-06-04 Sriraman Tallam <tmsriram@google.com>
5716
5717 * c-common.c (noplt): New attribute.
5718 (handle_noplt_attribute): New handler.
5719
5720 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
5721
5722 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5723 * c-ada-spec.c: Likewise.
5724 * c-cilkplus.c: Likewise.
5725 * c-common.c: Likewise.
5726 * c-common.h: Likewise.
5727 * c-cppbuiltin.c: Likewise.
5728 * c-dump.c: Likewise.
5729 * c-format.c: Likewise.
5730 * c-gimplify.c: Likewise.
5731 * c-indentation.c: Likewise.
5732 * c-lex.c: Likewise.
5733 * c-omp.c: Likewise.
5734 * c-opts.c: Likewise.
5735 * c-pch.c: Likewise.
5736 * c-ppoutput.c: Likewise.
5737 * c-pragma.c: Likewise.
5738 * c-pretty-print.c: Likewise.
5739 * c-semantics.c: Likewise.
5740 * c-ubsan.c: Likewise.
5741 * cilk.c: Likewise.
5742 * stub-objc.c: Likewise.
5743
5744 2015-06-02 David Malcolm <dmalcolm@redhat.com>
5745
5746 PR c/66220:
5747 * c-indentation.c (should_warn_for_misleading_indentation): Use
5748 expand_location rather than expand_location_to_spelling_point.
5749 Don't warn if the guarding statement is more indented than the
5750 next/body stmts.
5751
5752 2015-06-02 David Malcolm <dmalcolm@redhat.com>
5753
5754 * c-indentation.c (warn_for_misleading_indentation): Bail out
5755 immediately if -Wmisleading-indentation isn't enabled.
5756
5757 2015-06-01 Martin Liska <mliska@suse.cz>
5758
5759 * c-format.c (check_format_arg):Use new type-based pool allocator.
5760 (check_format_info_main) Likewise.
5761
5762 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5763
5764 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5765 (has_nontrivial_methods): Likewise.
5766
5767 2015-05-25 Marek Polacek <polacek@redhat.com>
5768
5769 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5770
5771 2015-05-22 Marek Polacek <polacek@redhat.com>
5772
5773 PR c/47043
5774 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5775
5776 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5777
5778 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5779 STACK_GROWS_DOWNWARD.
5780
5781 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5782
5783 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5784 STACK_GROWS_DOWNWARD rather than if it is defined.
5785
5786 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5787
5788 PR c/52952
5789 * c-format.c (location_column_from_byte_offset): New.
5790 (location_from_offset): New.
5791 (struct format_wanted_type): Add offset_loc field.
5792 (check_format_info): Move handling of location for extra arguments
5793 closer to the point of warning.
5794 (check_format_info_main): Pass the result of location_from_offset
5795 to warning_at.
5796 (format_type_warning): Pass the result of location_from_offset
5797 to warning_at.
5798
5799 2015-05-20 Marek Polacek <polacek@redhat.com>
5800
5801 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5802
5803 2015-05-20 Marek Polacek <polacek@redhat.com>
5804
5805 * c-ada-spec.c (dump_sloc): Use DECL_P.
5806
5807 2015-05-20 Marek Polacek <polacek@redhat.com>
5808
5809 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5810 * c-common.c: Likewise.
5811
5812 2015-05-19 David Malcolm <dmalcolm@redhat.com>
5813
5814 * c-common.h (fe_file_change): Strengthen param from
5815 const line_map * to const line_map_ordinary *.
5816 (pp_file_change): Likewise.
5817 * c-lex.c (fe_file_change): Likewise.
5818 (cb_define): Use linemap_check_ordinary when invoking
5819 SOURCE_LINE.
5820 (cb_undef): Likewise.
5821 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5822 invoking cb_file_change.
5823 (c_finish_options): Likewise.
5824 (push_command_line_include): Likewise.
5825 (cb_file_change): Strengthen param "new_map" from
5826 const line_map * to const line_map_ordinary *.
5827 * c-ppoutput.c (cb_define): Likewise for local "map".
5828 (pp_file_change): Likewise for param "map" and local "from".
5829
5830 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5831
5832 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5833
5834 2015-05-18 Tom de Vries <tom@codesourcery.com>
5835
5836 * c-common.c (build_va_arg_1): New function.
5837 (build_va_arg): Add address operator to va_list operand if necessary.
5838
5839 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5840
5841 PR c/48956
5842 * c-common.c (int_safely_convertible_to_real_p): Define.
5843 (unsafe_conversion_p): Check conversions involving complex types.
5844 (conversion_warning): Add new warning message for conversions which
5845 discard imaginary component.
5846 * c-common.h: (enum conversion_safety): Add new enumerator for such
5847 conversions.
5848
5849 2015-05-14 Marek Polacek <polacek@redhat.com>
5850
5851 PR c/66066
5852 PR c/66127
5853 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5854 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5855 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5856 use it. If FOR_INT_CONST, require that all evaluated operands be
5857 INTEGER_CSTs.
5858
5859 2015-05-12 David Malcolm <dmalcolm@redhat.com>
5860
5861 * c-common.h (warn_for_misleading_indentation): New prototype.
5862 * c-indentation.c: New file.
5863 * c.opt (Wmisleading-indentation): New option.
5864
5865 2015-05-12 Tom de Vries <tom@codesourcery.com>
5866
5867 PR tree-optimization/66010
5868 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5869
5870 2015-05-09 Jason Merrill <jason@redhat.com>
5871
5872 * c-opts.c (c_common_post_options): Also clear
5873 cpp_opts->cpp_warn_cxx11_compat.
5874
5875 * c-common.h (enum cxx_dialect): Add cxx_unset.
5876 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5877 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5878
5879 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5880 (std=gnu++0x): Mark as Undocumented.
5881 (std=gnu++1y): Add deprecated message.
5882
5883 2015-05-08 Jason Merrill <jason@redhat.com>
5884
5885 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5886 * c-opts.c: Adjust.
5887
5888 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5889
5890 2015-05-08 Marek Polacek <polacek@redhat.com>
5891
5892 PR c/64918
5893 * c.opt (Woverride-init-side-effects): New option.
5894
5895 2015-05-07 Marek Polacek <polacek@redhat.com>
5896
5897 PR c/65179
5898 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5899 negative value.
5900 * c.opt (Wshift-negative-value): New option.
5901 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5902 when -Wextra and C99/C++11 mode.
5903
5904 2015-05-07 Marek Polacek <polacek@redhat.com>
5905 Martin Uecker <uecker@eecs.berkeley.edu>
5906
5907 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5908 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5909
5910 2015-05-05 Jason Merrill <jason@redhat.com>
5911
5912 * c.opt (Wterminate): New.
5913
5914 2015-04-30 Marek Polacek <polacek@redhat.com>
5915
5916 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5917 require that the non-constant be of a boolean type.
5918
5919 2015-04-29 Josh Triplett <josh@joshtriplett.org>
5920
5921 * c-common.c (handle_section_attribute): Refactor to reduce
5922 nesting and distinguish between error cases.
5923
5924 2015-04-29 Marek Polacek <polacek@redhat.com>
5925
5926 PR c/64610
5927 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5928 with 0/1.
5929
5930 2015-04-29 Jakub Jelinek <jakub@redhat.com>
5931
5932 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5933 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5934 HOST_BITS_PER_WIDE_INT.
5935
5936 2015-04-28 Tom de Vries <tom@codesourcery.com>
5937
5938 PR tree-optimization/65887
5939 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5940
5941 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
5942 Pierre-Marie de Rodat <derodat@adacore.com>
5943
5944 * c-ada-spec.c (in_function): Delete.
5945 (dump_generic_ada_node): Do not change in_function and remove the
5946 redundant code dealing with it.
5947 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5948 (print_ada_methods): Output the static member functions in a nested
5949 package after the regular methods as well as associated renamings.
5950
5951 2015-04-24 Marek Polacek <polacek@redhat.com>
5952
5953 PR c/65830
5954 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5955 and OPT_Wshift_count_overflow.
5956
5957 PR c/63357
5958 * c-common.c (warn_logical_operator): Warn if the operands have the
5959 same expressions.
5960
5961 2015-04-24 Marek Polacek <polacek@redhat.com>
5962
5963 PR c/61534
5964 * c-common.c (warn_logical_operator): Bail if either operand comes
5965 from a macro expansion.
5966
5967 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5968
5969 PR target/55143
5970 * c-common.c (c_default_pointer_mode): Add definition.
5971 * c-common.h (c_default_pointer_mode): Add declaration.
5972
5973 2015-03-11 Jakub Jelinek <jakub@redhat.com>
5974
5975 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5976 on record_builtin_type argument.
5977
5978 2015-03-10 Jakub Jelinek <jakub@redhat.com>
5979
5980 PR c/65120
5981 * c-common.c (warn_logical_not_parentheses): Don't warn for
5982 !x == 0 or !x != 0.
5983
5984 2015-03-07 Marek Polacek <polacek@redhat.com>
5985
5986 PR sanitizer/65280
5987 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5988 before trying to figure out whether we have a flexible array member.
5989
5990 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
5991 Jonathan Wakely <jwakely.gcc@gmail.com>
5992
5993 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5994
5995 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5996
5997 PR ada/65319
5998 * c-ada-spec.c (print_destructor): Remove obsolete code.
5999
6000 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6001
6002 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6003 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6004 DECL_TEMPLATE_RESULT emulations.
6005 (dump_ada_template)): Add guard for TYPE_METHODS.
6006
6007 2015-02-27 Marek Polacek <polacek@redhat.com>
6008
6009 PR c/65040
6010 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6011
6012 2015-02-27 Kai Tietz <ktietz@redhat.com>
6013
6014 PR c/35330
6015 * c-pragma.c (handle_pragma_weak): Do not try to create
6016 weak/alias of declarations not being function, or variable
6017 declarations.
6018
6019 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6020
6021 PR libgomp/64625
6022 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6023 Remove macros.
6024 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6025
6026 2015-02-16 Marek Polacek <polacek@redhat.com>
6027
6028 PR c/65066
6029 * c-format.c (check_format_types): Handle null param.
6030
6031 2015-02-13 Marek Polacek <polacek@redhat.com>
6032
6033 PR c/65040
6034 * c-format.c (check_format_types): Don't warn about different
6035 signedness if the original value is in the range of WANTED_TYPE.
6036
6037 2015-02-12 Jason Merrill <jason@redhat.com>
6038
6039 PR c++/64956
6040 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6041 to the current highest version.
6042 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6043
6044 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6045
6046 PR c/64824
6047 PR c/64868
6048 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6049 instead of RDIV_EXPR. Use build_binary_op instead of
6050 build2_loc.
6051
6052 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6053
6054 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6055 to pass input_location as first argument.
6056
6057 2015-01-23 Tom de Vries <tom@codesourcery.com>
6058
6059 PR libgomp/64672
6060 * c.opt (fopenacc): Mark as LTO option.
6061
6062 2015-01-23 Tom de Vries <tom@codesourcery.com>
6063
6064 PR libgomp/64707
6065 * c.opt (fopenmp): Mark as LTO option.
6066
6067 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6068
6069 PR c/63307
6070 * cilk.c (fill_decls_vec): Only put decls into vector v.
6071 (compare_decls): Fix up formatting.
6072
6073 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6074
6075 PR c/63307
6076 * cilk.c: Include vec.h.
6077 (struct cilk_decls): New structure.
6078 (wrapper_parm_cb): Split this function to...
6079 (fill_decls_vec): ...this...
6080 (create_parm_list): ...and this.
6081 (compare_decls): New function.
6082 (for_local_cb): Remove.
6083 (wrapper_local_cb): Ditto.
6084 (build_wrapper_type): For now first traverse and fill vector of
6085 declarations then sort it and then deal with sorted vector.
6086 (cilk_outline): Ditto.
6087 (declare_one_free_variable): Ditto.
6088
6089 2015-01-21 Jason Merrill <jason@redhat.com>
6090
6091 PR c++/64629
6092 * c-format.c (check_format_arg): Call decl_constant_value.
6093
6094 2015-01-19 Martin Liska <mliska@suse.cz>
6095
6096 * c-common.c (handle_noicf_attribute): New function.
6097
6098 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6099 Bernd Schmidt <bernds@codesourcery.com>
6100 James Norris <jnorris@codesourcery.com>
6101 Cesar Philippidis <cesar@codesourcery.com>
6102 Ilmir Usmanov <i.usmanov@samsung.com>
6103 Jakub Jelinek <jakub@redhat.com>
6104
6105 * c.opt (fopenacc): New option.
6106 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6107 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6108 New macros.
6109 * c-common.h (c_finish_oacc_wait): New prototype.
6110 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6111 (c_finish_oacc_wait): New function.
6112 * c-pragma.c (oacc_pragmas): New variable.
6113 (c_pp_lookup_pragma, init_pragma): Handle it.
6114 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6115 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6116 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6117 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6118 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6119 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6120 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6121 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6122 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6123 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6124 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6125 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6126 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6127 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6128 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6129 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6130 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6131 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6132 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6133 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6134 PRAGMA_OACC_CLAUSE_WORKER.
6135
6136 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
6137
6138 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6139 for the new option fstack-protector_explicit.
6140 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6141 (handle_stack_protect_attribute): New function.
6142
6143 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
6144
6145 * c.opt: New option -Warray-bounds=.
6146
6147 2015-01-09 Michael Collison <michael.collison@linaro.org>
6148
6149 * array-notation-common.c: Include hash-set.h, machmode.h,
6150 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6151 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6152 * c-ada-spec.c: Ditto.
6153 * c-cilkplus.c: Ditto.
6154 * c-common.c: Include input.h due to flattening of tree.h.
6155 Define macro GCC_C_COMMON_C.
6156 * c-common.h: Flatten tree.h header files into c-common.h.
6157 Remove include of tree-core.h.
6158 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6159 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6160 fold-const.h, wide-int.h, and inchash.h due to
6161 flattening of tree.h.
6162 * c-dump.c: Ditto.
6163 * c-format.c: Flatten tree.h header files into c-common.h.
6164 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6165 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6166 fold-const.h, wide-int.h, and inchash.h due to
6167 flattening of tree.h.
6168 * c-dump.c: Include hash-set.h, machmode.h,
6169 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6170 fold-const.h, wide-int.h, and inchash.h due to
6171 flattening of tree.h.
6172 * c-format.c: Include hash-set.h, machmode.h,
6173 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6174 fold-const.h, wide-int.h, inchash.h and real.h due to
6175 flattening of tree.h.
6176 * c-gimplify.c: Include hash-set.h, machmode.h,
6177 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6178 fold-const.h, wide-int.h, and inchash.h due to
6179 flattening of tree.h.
6180 * cilk.c: Ditto.
6181 * c-lex.c: Ditto.
6182 * c-omp.c: Ditto.
6183 * c-opts.c: Ditto.
6184 * c-pch.c: Ditto.
6185 * c-ppoutput.c: Ditto.
6186 * c-pragma.c: Ditto.
6187 * c-pretty-print.c: Ditto.
6188 * c-semantics.c: Ditto.
6189 * c-ubsan.c: Ditto.
6190 * stub-objc.c: Ditto.
6191
6192 2015-01-08 Jason Merrill <jason@redhat.com>
6193
6194 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6195 do_ubsan_in_current_function.
6196 (ubsan_maybe_instrument_reference_or_call): Likewise.
6197 * c-ubsan.h: Declare it.
6198
6199 2015-01-08 Mike Stump <mikestump@comcast.net>
6200
6201 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6202
6203 2015-01-07 Marek Polacek <polacek@redhat.com>
6204
6205 PR c/64440
6206 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6207 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6208
6209 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6210
6211 PR c++/31397
6212 * c.opt (Wsuggest-override): New option.
6213
6214 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6215
6216 Update copyright years.
6217
6218 2015-01-05 Marek Polacek <polacek@redhat.com>
6219
6220 PR c/64423
6221 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6222 parameter. Use it.
6223 * c-common.h (warn_array_subscript_with_type_char): Update
6224 declaration.
6225
6226 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6227
6228 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6229 Control macro with flag_sized_deallocation.
6230
6231 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
6232
6233 * c.opt (Wdiscarded-array-qualifiers): New option.
6234
6235 2014-12-19 Jakub Jelinek <jakub@redhat.com>
6236
6237 PR preprocessor/63831
6238 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6239 and __has_cpp_attribute here.
6240 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6241 c_common_has_attribute.
6242 * c-common.h (c_common_has_attribute): New prototype.
6243 * c-lex.c (init_c_lex): Set cb->has_attribute to
6244 c_common_has_attribute instead of cb_has_attribute.
6245 (get_token_no_padding): New function.
6246 (cb_has_attribute): Renamed to ...
6247 (c_common_has_attribute): ... this. No longer static. Use
6248 get_token_no_padding, require ()s, don't build TREE_LIST
6249 unnecessarily, fix up formatting, adjust diagnostics, call
6250 init_attributes.
6251
6252 2014-12-15 Jason Merrill <jason@redhat.com>
6253
6254 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6255 (-Wsized-deallocation): New.
6256 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6257 to on in C++14 and up.
6258
6259 2014-12-11 Jason Merrill <jason@redhat.com>
6260
6261 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6262
6263 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6264 we aren't complaining about VLAs.
6265
6266 2014-12-06 Marek Polacek <polacek@redhat.com>
6267
6268 PR tree-optimization/64183
6269 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6270 shift-expression if it is integer_type_node. Use types_compatible_p.
6271
6272 2014-11-29 Jakub Jelinek <jakub@redhat.com>
6273
6274 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6275 last argument from create_tmp_var_raw and create_tmp_var calls.
6276 * cilk.c (gimplify_cilk_spawn): Likewise.
6277 * c-omp.c (c_finish_omp_atomic): Likewise.
6278
6279 2014-11-28 Marek Polacek <polacek@redhat.com>
6280
6281 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6282 instead of unsigned_type_node.
6283
6284 2014-11-28 Marek Polacek <polacek@redhat.com>
6285
6286 PR c/63862
6287 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6288 to op1_utype.
6289 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6290 expression to unsigned_type_node.
6291
6292 2014-11-20 Mark Wielaard <mjw@redhat.com>
6293
6294 PR debug/38757
6295 * c-opts.c (set_std_c89): Set lang_hooks.name.
6296 (set_std_c99): Likewise.
6297 (set_std_c11): Likewise.
6298 (set_std_cxx98): Likewise.
6299 (set_std_cxx11): Likewise.
6300 (set_std_cxx14): Likewise.
6301 (set_std_cxx1z): Likewise.
6302
6303 2014-11-21 Jakub Jelinek <jakub@redhat.com>
6304
6305 PR target/63764
6306 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6307 return type to bool.
6308 * c-common.c: Include gimple-expr.h.
6309 (convert_vector_to_pointer_for_subscript): Change return type to
6310 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6311 and copy it into a TARGET_EXPR and use that instead of *vecp
6312 directly.
6313
6314 2014-11-19 David Malcolm <dmalcolm@redhat.com>
6315
6316 Merger of git branch "gimple-classes-v2-option-3".
6317 * ChangeLog.gimple-classes: New.
6318 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6319 from being just a vec<gimple> to a vec<gbind *>.
6320
6321 2014-11-18 Jakub Jelinek <jakub@redhat.com>
6322
6323 PR sanitizer/63813
6324 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6325 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6326 get_pointer_alignment for non-pointers. Use ptype, or if it is
6327 reference type, corresponding pointer type, as type of kind
6328 argument.
6329 (ubsan_maybe_instrument_reference,
6330 ubsan_maybe_instrument_member_call): Adjust callers.
6331
6332 2014-11-15 Marek Polacek <polacek@redhat.com>
6333
6334 PR middle-end/63884
6335 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6336 for NULL fndecl.
6337 (extract_array_notation_exprs): Return for NULL node.
6338
6339 2014-11-12 Joseph Myers <joseph@codesourcery.com>
6340
6341 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6342 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6343
6344 2014-11-12 Jakub Jelinek <jakub@redhat.com>
6345
6346 PR c/59708
6347 * c-common.c (check_builtin_function_arguments): Handle
6348 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6349
6350 2014-11-10 Andi Kleen <ak@linux.intel.com>
6351
6352 PR c/60804
6353 * c-common.h (check_no_cilk): Declare.
6354 * cilk.c (get_error_location): New function.
6355 (check_no_cilk): Dito.
6356
6357 2014-11-10 Andi Kleen <ak@linux.intel.com>
6358
6359 * cilk.c (recognize_spawn): Use expression location
6360 for error message.
6361
6362 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6363
6364 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6365
6366 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6367
6368 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6369 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6370 (__cpp_range_based_for, __cpp_initializer_lists,
6371 __cpp_delegating_constructors, __cpp_nsdmi,
6372 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6373 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6374 __has_cpp_attribute.
6375 * c-lex.c (cb_has_attribute): New callback CPP function;
6376 (init_c_lex): Set has_attribute callback.
6377
6378 2014-11-04 Richard Biener <rguenther@suse.de>
6379
6380 * c-common.c (shorten_compare): Do not shorten mixed
6381 DFP and non-DFP compares.
6382
6383 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6384
6385 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6386 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6387 Commentary and rearrangement of tests.
6388 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6389 Commentary and rearrangement of tests.
6390 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
6391 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6392
6393 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6394
6395 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6396 enum from machine_mode.
6397
6398 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
6399
6400 * c-common.c: Adjust include files.
6401 * c-gimplify.c: Ditto.
6402 * cilk.c: Ditto.
6403 * c-pragma.c: Ditto.
6404 * c-ubsan.c: Ditto.
6405
6406 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
6407
6408 * c-gimplify.c: Adjust include files.
6409
6410 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6411
6412 PR c++/53061
6413 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6414 c_common_initialize_diagnostics.
6415 * c-common.h: Likewise.
6416
6417 2014-10-24 Marek Polacek <polacek@redhat.com>
6418
6419 PR c/56980
6420 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6421 print "struct"/"union"/"enum" for typedefed names.
6422
6423 2014-10-23 Marek Polacek <polacek@redhat.com>
6424
6425 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6426 in unsigned type.
6427
6428 2014-10-22 Jakub Jelinek <jakub@redhat.com>
6429 Yury Gribov <y.gribov@samsung.com>
6430
6431 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6432 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6433 instead of flag_sanitize_recover as bool flag.
6434
6435 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6436
6437 * cilk.c: Revert previous change.
6438
6439 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6440
6441 PR c/63307
6442 * cilk.c: Include vec.h.
6443 (struct cilk_decls): New structure.
6444 (wrapper_parm_cb): Split this function to...
6445 (fill_decls_vec): ...this...
6446 (create_parm_list): ...and this.
6447 (compare_decls): New function.
6448 (for_local_cb): Remove.
6449 (wrapper_local_cb): Ditto.
6450 (build_wrapper_type): For now first traverse and fill vector of
6451 declarations then sort it and then deal with sorted vector.
6452 (cilk_outline): Ditto.
6453 (declare_one_free_variable): Ditto.
6454
6455 2014-10-17 Marek Polacek <polacek@redhat.com>
6456
6457 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6458 * c.opt (Wimplicit-int): Initialize to -1.
6459
6460 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
6461
6462 * c-pragma.c: Adjust include files.
6463 * c-semantics.c: Likewise.
6464
6465 2014-10-16 DJ Delorie <dj@redhat.com>
6466
6467 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6468 multiples of bytes.
6469
6470 2014-10-14 Jason Merrill <jason@redhat.com>
6471
6472 PR c++/63455
6473 * c-common.h (CPP_PREPARSED_EXPR): New.
6474 (N_CP_TTYPES): Adjust.
6475
6476 2014-10-15 Marek Polacek <polacek@redhat.com>
6477
6478 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6479
6480 2014-10-14 DJ Delorie <dj@redhat.com>
6481
6482 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6483 types, not just __int128.
6484 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6485 types, not just __int128.
6486 (cpp_atomic_builtins): Round pointer sizes up.
6487 (type_suffix): Use type precision, not specific types.
6488 * c-common.c (c_common_reswords): Remove __int128 special case.
6489 (c_common_type_for_size): Check for all __intN types, not just
6490 __int128.
6491 (c_common_type_for_mode): Likewise.
6492 (c_common_signed_or_unsigned_type): Likewise.
6493 (c_build_bitfield_integer_type): Likewise.
6494 (c_common_nodes_and_builtins): Likewise.
6495 (keyword_begins_type_specifier): Likewise.
6496 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6497 __intN variants.
6498
6499 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6500
6501 * c-common.c: Use hash_table instead of hashtab.
6502
6503 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6504
6505 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
6506 C++11 section.
6507
6508 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
6509
6510 PR c++/54427
6511 PR c++/57198
6512 PR c++/58845
6513 * c-common.c (warn_logical_operator): Punt for vectors.
6514
6515 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6516
6517 Implement SD-6: SG10 Feature Test Recommendations
6518 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6519 macros and the __has_header macro.
6520
6521 2014-09-30 Jason Merrill <jason@redhat.com>
6522
6523 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6524 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6525 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6526
6527 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6528 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6529
6530 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6531 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6532
6533 2014-09-24 Marek Polacek <polacek@redhat.com>
6534
6535 PR c/61405
6536 PR c/53874
6537 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6538
6539 2014-09-23 Andi Kleen <ak@linux.intel.com>
6540
6541 * c-common.c (handle_no_reorder_attribute): New function.
6542 (c_common_attribute_table): Add no_reorder attribute.
6543
6544 2014-09-22 Joseph Myers <joseph@codesourcery.com>
6545
6546 * c-cppbuiltin.c (c_cpp_builtins): Define
6547 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6548 modes.
6549
6550 2014-09-18 Joseph Myers <joseph@codesourcery.com>
6551
6552 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6553 for supported floating-point modes.
6554
6555 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6556
6557 * c.opt (Wpsabi): Use LangEnabledBy.
6558 * c-opts.c (c_common_handle_option): Do not handle here.
6559
6560 2014-09-12 Joseph Myers <joseph@codesourcery.com>
6561
6562 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6563 macros for floating-point modes.
6564
6565 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
6566
6567 PR target/58757
6568 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6569 __*_DENORM_MIN__ without denormals.
6570
6571 2014-09-10 Jakub Jelinek <jakub@redhat.com>
6572
6573 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6574 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6575 ubsan_create_data callers.
6576 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6577 index is constant or BIT_AND_EXPR with constant mask and is
6578 small enough for the bound.
6579 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6580 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6581
6582 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6583
6584 * c.opt: Add CppReason to various flags.
6585 (Wdate-time): Re-sort.
6586 * c-common.c: Include c-common.h earlier.
6587 (struct reason_option_codes_t): Delete.
6588 (c_option_controlling_cpp_error): Prefix global type and struct
6589 with cpp_.
6590
6591 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6592
6593 * c.opt (Wnormalized): New.
6594 (Wnormalized=): Use Enum and Reject Negative.
6595 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6596
6597 2014-09-08 Joseph Myers <joseph@codesourcery.com>
6598
6599 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6600 digits of floating-point modes if -fbuilding-libgcc.
6601
6602 2014-09-05 Joseph Myers <joseph@codesourcery.com>
6603
6604 * c-cppbuiltin.c (c_cpp_builtins): Also define
6605 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6606 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6607 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6608 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6609 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6610 __LIBGCC_STACK_GROWS_DOWNWARD__,
6611 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6612 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6613 __LIBGCC_DWARF_FRAME_REGISTERS__,
6614 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6615 __LIBGCC_STACK_POINTER_REGNUM__ and
6616 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6617 (builtin_define_with_value): Handle backslash-escaping in string
6618 macro values.
6619
6620 2014-09-05 Richard Biener <rguenther@suse.de>
6621
6622 PR middle-end/63148
6623 * c-format.c (check_format_arg): Properly handle
6624 effectively signed POINTER_PLUS_EXPR offset.
6625
6626 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6627
6628 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6629 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6630 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6631 and Init.
6632 * c-opts.c (c_common_handle_option): Do not handle here.
6633 (sanitize_cpp_opts): Likewise.
6634 * c-common.c (struct reason_option_codes_t): Handle
6635 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6636
6637 2014-09-03 Marek Polacek <polacek@redhat.com>
6638
6639 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6640
6641 2014-09-02 Jakub Jelinek <jakub@redhat.com>
6642 Balaji V. Iyer <balaji.v.iyer@intel.com>
6643 Igor Zamyatin <igor.zamyatin@intel.com>
6644
6645 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6646 * c-common.c (c_common_reswords): Added _Cilk_for.
6647 * c-common.h (enum rid): Added RID_CILK_FOR.
6648 (cilk_for_number_of_iterations): Add declaration.
6649 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6650 CILK_FOR.
6651 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6652 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6653
6654 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6655
6656 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6657 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6658 Wundef): Use CPP, Var and Init.
6659 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6660
6661 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6662
6663 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6664 * c-opts.c (c_common_handle_option): Do not handle here.
6665
6666 2014-08-25 Jason Merrill <jason@redhat.com>
6667
6668 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6669 -std=c++14 and -std=gnu++14, rather than the reverse.
6670 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6671 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6672 * c-common.h (cxx_dialect): Remove cxx1y.
6673
6674 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6675
6676 * c-common.h (enum cxx_dialect): Add cxx14.
6677 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6678 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6679 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6680
6681 2014-08-22 Jason Merrill <jason@redhat.com>
6682
6683 * c.opt (std=gnu++17): Fix alias.
6684
6685 2014-08-22 Marek Polacek <polacek@redhat.com>
6686
6687 PR c++/62199
6688 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6689 check for vector types. Drop LHS argument.
6690 * c-common.h (warn_logical_not_parentheses): Adjust.
6691
6692 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6693
6694 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6695 (Wmultichar): Likewise.
6696 (Wdate-time): Use C-family languages instead of Common. Use CPP
6697 and Var.
6698 * c-opts.c (c_common_handle_option): Do not handle the above
6699 options here.
6700 (sanitize_cpp_opts): Likewise.
6701
6702 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6703
6704 PR fortran/44054
6705 * c-opts.c: Include tree-diagnostics.h.
6706 (c_diagnostic_finalizer): New.
6707 (c_common_initialize_diagnostics): Use it.
6708
6709 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6710
6711 PR preprocessor/51303
6712 * c-common.c (struct reason_option_codes_t option_codes):
6713 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6714
6715 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6716
6717 PR c/60975
6718 PR c/53063
6719 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6720 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6721 (c_common_post_options): Call init_global_opts_from_cpp.
6722 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6723
6724 2014-08-19 Marek Polacek <polacek@redhat.com>
6725
6726 PR c++/62153
6727 * c-common.c (maybe_warn_bool_compare): New function.
6728 * c-common.h (maybe_warn_bool_compare): Declare.
6729 * c.opt (Wbool-compare): New option.
6730
6731 2014-08-19 Marek Polacek <polacek@redhat.com>
6732
6733 * c.opt (Wc99-c11-compat): New option.
6734
6735 2014-08-19 Marek Polacek <polacek@redhat.com>
6736
6737 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6738 to warn_c90_c99_compat.
6739 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6740 to -1.
6741
6742 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6743 Steven Bosscher <steven@gcc.gnu.org>
6744
6745 PR c/52952
6746 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6747 format_check_results.
6748 (check_function_format): Use true and add comment for boolean
6749 argument.
6750 (finish_dollar_format_checking): Use explicit location when warning.
6751 (check_format_info): Likewise.
6752 (check_format_arg): Set extra_arg_loc and format_string_loc.
6753 (check_format_info_main): Use explicit location when warning.
6754 (check_format_types): Pass explicit location.
6755 (format_type_warning): Likewise.
6756
6757 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6758
6759 PR fortran/44054
6760 * c-format.c: Handle Fortran flags.
6761
6762 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6763
6764 PR other/61962
6765 * array-notation-common.c (find_rank): Added handling for other
6766 types of references.
6767
6768 2014-08-10 Marek Polacek <polacek@redhat.com>
6769
6770 PR c/51849
6771 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6772 * c.opt (Wc90-c99-compat): Add option.
6773
6774 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6775
6776 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6777
6778 2014-08-03 Marek Polacek <polacek@redhat.com>
6779
6780 * c-common.c (check_case_value): Add location_t parameter. Use it.
6781 (c_add_case_label): Pass loc to check_case_value.
6782
6783 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6784
6785 * cilk.c: Use hash_map instead of pointer_map.
6786
6787 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6788
6789 * c-gimplify.c: Use hash_set instead of pointer_set.
6790
6791 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6792
6793 PR middle-end/61455
6794 * array-notation-common.c (extract_array_notation_exprs): Handling
6795 of DECL_EXPR added.
6796
6797 2014-08-01 Jakub Jelinek <jakub@redhat.com>
6798
6799 * c-common.h (min_align_of_type): Removed prototype.
6800 * c-common.c (min_align_of_type): Removed.
6801 * c-ubsan.h (ubsan_maybe_instrument_reference,
6802 ubsan_maybe_instrument_member_call): New prototypes.
6803 * c-ubsan.c: Include stor-layout.h and builtins.h.
6804 (ubsan_maybe_instrument_reference_or_call,
6805 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6806 functions.
6807
6808 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
6809
6810 PR c++/60517
6811 * c.opt (-Wreturn-local-addr): Move to common.opt.
6812
6813 2014-07-30 Jason Merrill <jason@redhat.com>
6814
6815 PR c++/61659
6816 PR c++/61687
6817 Revert:
6818 * c.opt (-fuse-all-virtuals): New.
6819
6820 2014-07-30 Tom Tromey <tromey@redhat.com>
6821
6822 PR c/59855
6823 * c.opt (Wdesignated-init): New option.
6824 * c-common.c (c_common_attribute_table): Add "designated_init".
6825 (handle_designated_init): New function.
6826
6827 2014-07-24 Marek Polacek <polacek@redhat.com>
6828
6829 PR c/57653
6830 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6831
6832 2014-07-16 Dodji Seketeli <dodji@redhat.com>
6833
6834 PR preprocessor/60723 - missing system-ness marks for macro tokens
6835 * c-ppoutput.c (struct print::prev_was_system_token): New data
6836 member.
6837 (init_pp_output): Initialize it.
6838 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6839 (do_line_change): Return a flag saying if a line marker was
6840 emitted or not.
6841 (scan_translation_unit): Detect if the system-ness of the token we
6842 are about to emit is different from the one of the previously
6843 emitted token. If so, emit a line marker. Avoid emitting useless
6844 adjacent line markers. Avoid emitting line markers for tokens
6845 originating from the expansion of built-in macros.
6846 (scan_translation_unit_directives_only): Adjust.
6847
6848 2014-07-15 Marek Polacek <polacek@redhat.com>
6849
6850 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6851 TYPE_MAX_VALUE is NULL.
6852
6853 2014-07-14 Jakub Jelinek <jakub@redhat.com>
6854
6855 PR middle-end/61294
6856 * c.opt (Wmemset-transposed-args): New warning.
6857
6858 2014-07-10 Jason Merrill <jason@redhat.com>
6859
6860 PR c++/61659
6861 PR c++/61687
6862 * c.opt (-fuse-all-virtuals): New.
6863
6864 2014-07-09 Richard Biener <rguenther@suse.de>
6865
6866 PR c-family/61741
6867 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6868 using unsigned arithmetic if overflow does not wrap instead of
6869 if overflow is undefined.
6870
6871 2014-07-06 Marek Polacek <polacek@redhat.com>
6872
6873 PR c/6940
6874 * c.opt (Wsizeof-array-argument): New option.
6875
6876 2014-07-03 Jakub Jelinek <jakub@redhat.com>
6877
6878 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
6879 comments->count <= 1, as comments->entries might be NULL.
6880
6881 2014-07-01 Marek Polacek <polacek@redhat.com>
6882
6883 * c.opt (Wint-conversion): New option.
6884
6885 2014-07-01 Marek Polacek <polacek@redhat.com>
6886
6887 PR c/58286
6888 * c.opt (Wincompatible-pointer-types): New option.
6889
6890 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6891
6892 PR c++/51400
6893 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6894 Do not discard TYPE_QUALS of type.
6895
6896 2014-06-26 Jason Merrill <jason@redhat.com>
6897
6898 * c-common.h (enum cxx_dialect): Add cxx1z.
6899 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6900 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6901
6902 2014-06-26 Teresa Johnson <tejohnson@google.com>
6903
6904 * c-common.h (get_dump_info): Declare.
6905 * c-gimplify.c (c_genericize): Use saved dump files.
6906 * c-opts.c (c_common_parse_file): Begin and end dumps
6907 once around parsing invocation.
6908 (get_dump_info): New function.
6909
6910 2014-06-23 Marek Polacek <polacek@redhat.com>
6911 Andrew MacLeod <amacleod@redhat.com>
6912
6913 PR c/61553
6914 * c-common.c (get_atomic_generic_size): Don't segfault if the
6915 type doesn't have a size.
6916
6917 2014-06-20 Marek Polacek <polacek@redhat.com>
6918
6919 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6920 (ubsan_walk_array_refs_r): New function.
6921 (c_genericize): Instrument array bounds.
6922 * c-ubsan.c: Include "internal-fn.h".
6923 (ubsan_instrument_division): Mark instrumented arrays as having
6924 side effects. Adjust ubsan_type_descriptor call.
6925 (ubsan_instrument_shift): Likewise.
6926 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6927 (ubsan_instrument_bounds): New function.
6928 (ubsan_array_ref_instrumented_p): New function.
6929 (ubsan_maybe_instrument_array_ref): New function.
6930 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6931 (ubsan_array_ref_instrumented_p): Declare.
6932 (ubsan_maybe_instrument_array_ref): Declare.
6933
6934 2014-06-20 Hale Wang <hale.wang@arm.com>
6935
6936 PR lto/61123
6937 * c.opt (fshort-enums): Add to LTO.
6938 * c.opt (fshort-wchar): Likewise.
6939
6940 2014-06-16 Marek Polacek <polacek@redhat.com>
6941
6942 PR c/60439
6943 * c.opt (Wswitch-bool): Add Var.
6944
6945 2014-06-12 Jakub Jelinek <jakub@redhat.com>
6946
6947 PR middle-end/61486
6948 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6949 #pragma omp target teams or
6950 #pragma omp {,target }teams distribute simd.
6951
6952 2014-06-12 Jason Merrill <jason@redhat.com>
6953
6954 * c.opt (Wabi=, fabi-compat-version): New.
6955 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6956 (c_common_post_options): Handle flag_abi_compat_version default.
6957 Disallow -fabi-compat-version=1.
6958 * c-common.h (abi_version_crosses): New.
6959
6960 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
6961
6962 * c-common.c (handle_section_attribute): Update handling for
6963 section names that are no longer trees.
6964
6965 2014-06-10 Jakub Jelinek <jakub@redhat.com>
6966
6967 PR fortran/60928
6968 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6969 (omp_pragmas): ... back here.
6970
6971 2014-06-05 Marek Polacek <polacek@redhat.com>
6972
6973 PR c/49706
6974 * c-common.c (warn_logical_not_parentheses): New function.
6975 * c-common.h (warn_logical_not_parentheses): Declare.
6976 * c.opt (Wlogical-not-parentheses): New option.
6977
6978 2014-06-04 Marek Polacek <polacek@redhat.com>
6979
6980 PR c/30020
6981 * c-common.c (check_case_bounds): Add location parameter.
6982 Use it.
6983 (c_add_case_label): Pass loc to check_case_bounds.
6984
6985 2014-06-03 Marek Polacek <polacek@redhat.com>
6986
6987 PR c/60439
6988 * c.opt (Wswitch-bool): New option.
6989
6990 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6991
6992 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6993 Remove prototypes.
6994 (record_types_used_by_current_var_decl): Move prototype to where
6995 it belongs.
6996
6997 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6998 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6999 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7000
7001 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7002
7003 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7004 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7005 void_zero_node.
7006 * c-pretty-print.c (pp_c_void_constant): New function.
7007 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7008 (c_pretty_printer::expression): Handle VOID_CST.
7009 * cilk.c (extract_free_variables): Likewise.
7010 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7011 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7012
7013 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7014
7015 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7016 * c-pragma.c (push_alignment): Adjust.
7017 (handle_pragma_push_options): Likewise.
7018
7019 2014-05-09 Marek Polacek <polacek@redhat.com>
7020
7021 PR c/50459
7022 * c-common.c (check_user_alignment): Return -1 if alignment is error
7023 node.
7024 (handle_aligned_attribute): Don't call default_conversion on
7025 FUNCTION_DECLs.
7026 (handle_vector_size_attribute): Likewise.
7027 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7028 (handle_sentinel_attribute): Call default_conversion and allow even
7029 integral types as an argument.
7030
7031 2014-05-08 Marek Polacek <polacek@redhat.com>
7032
7033 PR c/61053
7034 * c-common.c (min_align_of_type): New function factored out from...
7035 (c_sizeof_or_alignof_type): ...here.
7036 * c-common.h (min_align_of_type): Declare.
7037
7038 2014-05-08 Marek Polacek <polacek@redhat.com>
7039
7040 PR c/61077
7041 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7042 parameter type of main.
7043
7044 2014-05-07 DJ Delorie <dj@redhat.com>
7045
7046 * c-cppbuiltin.c (print_bits_of_hex): New.
7047 (builtin_define_type_minmax): Print values using hex so as not to
7048 require a pre-computed list of string values.
7049
7050 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7051 Mike Stump <mikestump@comcast.net>
7052 Richard Sandiford <rdsandiford@googlemail.com>
7053
7054 * c-ada-spec.c: Include wide-int.h.
7055 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7056 (dump_generic_ada_node): Use wide-int interfaces.
7057 * c-common.c: Include wide-int-print.h.
7058 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7059 (pointer_int_sum): Use wide-int interfaces.
7060 (c_common_nodes_and_builtins): Use make_int_cst.
7061 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7062 (handle_alloc_size_attribute): Use wide-int interfaces.
7063 (get_nonnull_operand): Likewise.
7064 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7065 * c-lex.c: Include wide-int.h.
7066 (narrowest_unsigned_type): Take a widest_int rather than two
7067 HOST_WIDE_INTs.
7068 (narrowest_signed_type): Likewise.
7069 (interpret_integer): Update accordingly. Use wide-int interfaces.
7070 (lex_charconst): Use wide-int interfaces.
7071 * c-pretty-print.c: Include wide-int.h.
7072 (pp_c_integer_constant): Use wide-int interfaces.
7073 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7074 INT_CST_LT_UNSIGNED.
7075
7076 2014-05-06 Richard Biener <rguenther@suse.de>
7077
7078 * c-opts.c (c_common_post_options): For -freestanding,
7079 -fno-hosted and -fno-builtin disable pattern recognition
7080 if not enabled explicitely.
7081
7082 2014-05-02 Marek Polacek <polacek@redhat.com>
7083
7084 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7085
7086 2014-05-01 Marek Polacek <polacek@redhat.com>
7087
7088 PR c/43245
7089 * c.opt (Wdiscarded-qualifiers): Add.
7090
7091 2014-04-30 Marek Polacek <polacek@redhat.com>
7092
7093 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7094 INT_MIN / -1 sanitization only for integer types.
7095
7096 2014-04-25 Marek Polacek <polacek@redhat.com>
7097
7098 PR c/18079
7099 * c-common.c (handle_noinline_attribute): Warn if the attribute
7100 conflicts with always_inline attribute.
7101 (handle_always_inline_attribute): Warn if the attribute conflicts
7102 with noinline attribute.
7103
7104 2014-04-25 Marek Polacek <polacek@redhat.com>
7105
7106 PR c/60156
7107 * c-common.c (check_main_parameter_types): Warn about variadic main.
7108
7109 2014-04-24 Mike Stump <mikestump@comcast.net>
7110
7111 * c.opt (Wshadow-ivar): Default to on.
7112
7113 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7114
7115 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7116
7117 2014-04-23 Marek Polacek <polacek@redhat.com>
7118
7119 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7120
7121 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7122
7123 PR sanitizer/60275
7124 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7125 if flag_sanitize_undefined_trap_on_error.
7126 (ubsan_instrument_division, ubsan_instrument_shift,
7127 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7128 if !flag_sanitize_recover.
7129
7130 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7131
7132 PR libstdc++/43622
7133 * c-common.c (registered_builtin_types): Make non-static.
7134 * c-common.h (registered_builtin_types): Declare.
7135
7136 2014-04-14 Richard Biener <rguenther@suse.de>
7137 Marc Glisse <marc.glisse@inria.fr>
7138
7139 PR c/60819
7140 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7141 apply may-alias the scalar pointer type when applicable.
7142
7143 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7144
7145 PR middle-end/60467
7146 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7147 as possible argument for Cilk_spawn.
7148
7149 2014-04-11 Tobias Burnus <burnus@net-b.de>
7150
7151 PR c/60194
7152 * c.opt (Wformat-signedness): Add
7153 * c-format.c(check_format_types): Use it.
7154
7155 2014-04-11 Jason Merrill <jason@redhat.com>
7156
7157 PR c++/57926
7158 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7159 default_conversion for an array argument.
7160
7161 2014-04-08 Marek Polacek <polacek@redhat.com>
7162
7163 PR sanitizer/60745
7164 * c-ubsan.c: Include asan.h.
7165 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7166
7167 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7168
7169 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7170
7171 2014-04-02 Marek Polacek <polacek@redhat.com>
7172
7173 * c-common.h (c_expand_expr): Remove declaration.
7174
7175 2014-03-28 Jakub Jelinek <jakub@redhat.com>
7176
7177 PR c++/60689
7178 * c-common.c (add_atomic_size_parameter): When creating new
7179 params vector, push the size argument first.
7180
7181 2014-03-26 Jakub Jelinek <jakub@redhat.com>
7182
7183 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7184 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7185 ubsan_create_data callers.
7186
7187 2014-03-22 Jakub Jelinek <jakub@redhat.com>
7188
7189 PR debug/60603
7190 * c-opts.c (c_finish_options): Restore cb_file_change call to
7191 <built-in>.
7192
7193 2014-03-13 Jakub Jelinek <jakub@redhat.com>
7194
7195 PR middle-end/36282
7196 * c-pragma.c (apply_pragma_weak): Only look at
7197 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7198 DECL_ASSEMBLER_NAME_SET_P (decl).
7199 (maybe_apply_pending_pragma_weaks): Exit early if
7200 vec_safe_is_empty (pending_weaks) rather than only when
7201 !pending_weaks.
7202 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7203 set assembler name back to NULL afterwards.
7204
7205 2014-03-11 Jason Merrill <jason@redhat.com>
7206
7207 * c.opt: Add -std=gnu++14.
7208
7209 2014-03-11 Ian Bolton <ian.bolton@arm.com>
7210
7211 * c-opts.c (c_common_post_options): Don't override
7212 -ffp-contract=fast if unsafe-math-optimizations is on.
7213
7214 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
7215
7216 * c.opt: Enable LTO FE for fshort-double.
7217
7218 2014-03-07 Jason Merrill <jason@redhat.com>
7219
7220 * c.opt: Add -std=c++14.
7221
7222 2014-03-06 Marek Polacek <polacek@redhat.com>
7223
7224 PR c/60197
7225 * cilk.c (contains_cilk_spawn_stmt): New function.
7226 (contains_cilk_spawn_stmt_walker): Likewise.
7227 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7228 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7229
7230 2014-03-03 Jakub Jelinek <jakub@redhat.com>
7231
7232 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7233 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7234 even when flag_preprocess_only.
7235
7236 2014-02-26 Jason Merrill <jason@redhat.com>
7237
7238 PR c++/59231
7239 PR c++/11586
7240 * c-common.c (shorten_compare): Don't check
7241 c_inhibit_evaluation_warnings.
7242
7243 2014-02-19 Jakub Jelinek <jakub@redhat.com>
7244
7245 PR c/37743
7246 * c-common.c (c_common_nodes_and_builtins): When initializing
7247 c_uint{16,32,64}_type_node, also set corresponding
7248 uint{16,32,64}_type_node to the same value.
7249
7250 PR c++/60267
7251 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7252 for PRAGMA_IVDEP if flag_preprocess_only.
7253
7254 2014-02-12 Jakub Jelinek <jakub@redhat.com>
7255
7256 PR c/60101
7257 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7258 if false, add ADD itself, rather than vice versa.
7259 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7260 copy. For SAVE_EXPR, only call merge_tlist once.
7261
7262 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7263
7264 PR middle-end/60092
7265 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7266 and tree_to_uhwi.
7267 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7268 functions.
7269 (c_common_attribute_table): Add alloc_align and assume_aligned
7270 attributes.
7271
7272 2014-02-06 Marek Polacek <polacek@redhat.com>
7273
7274 PR c/60087
7275 * c-common.c (warn_for_sign_compare): Call warning_at with location
7276 instead of warning.
7277
7278 2014-02-05 Marek Polacek <polacek@redhat.com>
7279
7280 PR c/53123
7281 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7282 statement.
7283
7284 2014-02-04 Marek Polacek <polacek@redhat.com>
7285
7286 PR c/60036
7287 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7288 SAVE_EXPR.
7289
7290 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
7291
7292 PR c++/53017
7293 PR c++/59211
7294 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7295 handle_vector_size_attribute, handle_nonnull_attribute): Call
7296 default_conversion on the attribute argument.
7297 (handle_nonnull_attribute): Increment the argument number.
7298
7299 2014-01-31 Marek Polacek <polacek@redhat.com>
7300
7301 PR c/59963
7302 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7303 build_function_call_vec.
7304 (resolve_overloaded_builtin): Likewise.
7305 * c-common.h (build_function_call_vec): Adjust declaration.
7306
7307 2014-01-30 Marek Polacek <polacek@redhat.com>
7308
7309 PR c/59940
7310 * c-common.h (unsafe_conversion_p): Adjust declaration.
7311 (warnings_for_convert_and_check): Likewise.
7312 (convert_and_check): Likewise.
7313 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7314 expansion_point_location_if_in_system_header on it.
7315 (warnings_for_convert_and_check): Add location parameter. Call
7316 expansion_point_location_if_in_system_header on it. Use it.
7317 (convert_and_check): Add location parameter. Use it.
7318 (conversion_warning): Likewise.
7319 (c_add_case_label): Adjust convert_and_check calls.
7320 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7321
7322 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7323
7324 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7325 flag_cilkplus.
7326 * c-pragma.c (init_pragma): Likewise.
7327 * c.opt: Likewise.
7328
7329 2014-01-23 Marek Polacek <polacek@redhat.com>
7330
7331 PR c/59846
7332 * c-common.c (shorten_compare): Add location_t parameter.
7333 * c-common.h (shorten_binary_op): Adjust declaration.
7334
7335 2014-01-23 Marek Polacek <polacek@redhat.com>
7336
7337 PR c/58346
7338 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7339 * c-common.h: Declare it.
7340
7341 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7342
7343 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7344 * c-ada-spec.c (dump_ads): Likewise.
7345 (cpp_check): Likewise.
7346 (dump_ada_specs): Likewise.
7347
7348 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
7349
7350 PR c++/49718
7351 * c-common.c (handle_no_instrument_function_attribute): Allow
7352 no_instrument_function attribute in class member
7353 definition/declaration.
7354
7355 2014-01-15 Jakub Jelinek <jakub@redhat.com>
7356
7357 PR c/58943
7358 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7359 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7360 being COMPOUND_EXPR.
7361 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7362 operand a SAVE_EXPR and second MODIFY_EXPR.
7363
7364 2014-01-09 Jakub Jelinek <jakub@redhat.com>
7365
7366 PR target/58115
7367 * c-pch.c (c_common_write_pch): Call
7368 prepare_target_option_nodes_for_pch.
7369
7370 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7371
7372 Update copyright years
7373
7374 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7375
7376 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7377 the copyright notice.
7378
7379 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7380
7381 * c-ada-spec.c (print_constructor): New function.
7382 (print_destructor): Retrieve the origin of the destructor.
7383 (print_ada_declaration): Revamp handling of constructors/destructors.
7384
7385 2013-12-23 Stuart Hastings <stuart@apple.com>
7386 Bill Maddox <maddox@google.com>
7387 Jason Merrill <jason@redhat.com>
7388
7389 * c.opt: Add -fdeclone-ctor-dtor.
7390 * c-opts.c (c_common_post_options): Default to on iff -Os.
7391
7392 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7393
7394 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7395 attribute.
7396 * c-pragma.h (enum pragma_cilk_clause): Remove.
7397 (enum pragma_omp_clause): Added the following fields:
7398 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7399 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7400 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7401 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7402 PRAGMA_CILK_CLAUSE_UNIFORM.
7403
7404
7405 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7406
7407 * cilk.c (cilk_outline): Made this function non-static.
7408 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7409 (create_cilk_wrapper): Added a new parameter: a function pointer.
7410 (c_install_body_w_frame_cleanup): Remove
7411 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7412 * c-common.h (cilk_outline): New prototype.
7413 (gimplify_cilk_spawn): Removed two parameters.
7414 (cilk_install_body_with_frame_cleanup): New prototype.
7415 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7416 CILK_SPAWN_STMT case.
7417
7418 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7419
7420 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7421
7422 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7423 (int_array_type_node): Remove.
7424 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7425
7426 2013-12-05 Marek Polacek <polacek@redhat.com>
7427
7428 PR c/52023
7429 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7430 [ADJUST_FIELD_ALIGN].
7431
7432 2013-12-04 Joseph Myers <joseph@codesourcery.com>
7433
7434 PR c/52023
7435 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7436 and check field alignment if set.
7437 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7438 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7439
7440 2013-12-04 Jakub Jelinek <jakub@redhat.com>
7441 Marek Polacek <polacek@redhat.com>
7442
7443 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7444 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7445
7446 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7447
7448 PR c/59309
7449 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7450 arguments.
7451
7452 2013-11-29 Jakub Jelinek <jakub@redhat.com>
7453
7454 PR c/59280
7455 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7456 goto invalid. If it is error_mark_node, don't issue further
7457 diagnostics.
7458
7459 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7460
7461 * c.opt (Wopenmp-simd): New.
7462
7463 2013-11-22 Jakub Jelinek <jakub@redhat.com>
7464
7465 * c-ubsan.h (ubsan_instrument_return): New prototype.
7466 * c-ubsan.c (ubsan_instrument_return): New function.
7467
7468 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
7469
7470 * c-common.c: Add required include files from gimple.h.
7471 * c-gimplify.c: Likewise.
7472 * cilk.c: Likewise.
7473
7474 2013-11-22 David Malcolm <dmalcolm@redhat.com>
7475
7476 * c-common.c (unsafe_conversion_p): Remove use of
7477 EXPR_LOC_OR_HERE macro.
7478 (conversion_warning): Likewise.
7479 (warnings_for_convert_and_check): Likewise.
7480 (warn_for_collisions_1): Likewise.
7481 (shorten_compare): Likewise, and remove use of in_system_header
7482 macro, using the location from the former.
7483 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7484 (cb_def_pragma): Remove use of in_system_header macro.
7485 (lex_string): Likewise.
7486 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7487
7488 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7489 Mike Stump <mikestump@comcast.net>
7490 Richard Sandiford <rdsandiford@googlemail.com>
7491
7492 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7493 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7494 tree_fits_shwi_p or tree_fits_uhwi_p.
7495 (dump_generic_ada_node): Likewise.
7496 * c-format.c (check_format_arg): Likewise.
7497 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7498
7499 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7500
7501 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7502
7503 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7504
7505 PR c/53001
7506 * c-common.c (unsafe_conversion_p): Make this function
7507 return an enumeration with more detail.
7508 (conversion_warning): Use the new return type of
7509 unsafe_conversion_p to separately warn either about conversions
7510 that lower floating point number precision or about the other
7511 kinds of conversions.
7512 * c-common.h (enum conversion_safety): New enumeration.
7513 (unsafe_conversion_p): switching return type to
7514 conversion_safety enumeration.
7515 * c.opt: Adding new warning -Wfloat-conversion and
7516 enabling it with -Wconversion.
7517
7518 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7519
7520 * c-opts.c: Include plugin.h.
7521 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
7522
7523 2013-11-19 Marek Polacek <polacek@redhat.com>
7524
7525 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7526 call.
7527 (ubsan_instrument_shift): Likewise.
7528 (ubsan_instrument_vla): Likewise.
7529
7530 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7531
7532 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7533 cast to unsigned type.
7534
7535 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7536
7537 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7538 tree_low_cst.
7539 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7540 rather than tree_low_cst.
7541
7542 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7543
7544 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7545 tree_to_uhwi throughout.
7546
7547 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7548
7549 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7550 tree_low_cst (..., 0) with tree_to_shwi throughout.
7551
7552 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7553
7554 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7555 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7556
7557 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7558
7559 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7560 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7561
7562 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
7563
7564 * c-cilkplus.c: New file.
7565 * c-common.c (readonly_error): Add location argument.
7566 * c-common.h (readonly_error): Same.
7567 (c_finish_cilk_clauses): Protoize.
7568 (c_check_cilk_loop): Same.
7569 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7570 Do not fail on error_mark_node.
7571 Abstract increment canonicalization to here...
7572 (c_omp_for_incr_canonicalize_ptr): New.
7573 c-pragma.c (init_pragma): Register "simd" pragma.
7574 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7575 (enum pragma_cilk_clause): New.
7576
7577 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7578
7579 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7580 wchar_type and host_integerp checks.
7581
7582 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
7583
7584 * c-common.c: Likewise.
7585 * c-gimplify.c: Likewise.
7586 * cilk.c: Likewise.
7587
7588 2013-11-14 Diego Novillo <dnovillo@google.com>
7589
7590 * c-common.c: Include fold-const.h.
7591 Include stor-layout.h.
7592 Include calls.h.
7593 Include stringpool.h.
7594 Include attribs.h.
7595 Include varasm.h.
7596 Include trans-mem.h.
7597 * c-cppbuiltin.c: Include stor-layout.h.
7598 Include stringpool.h.
7599 * c-format.c: Include stringpool.h.
7600 * c-lex.c: Include stringpool.h.
7601 Include stor-layout.h.
7602 * c-pragma.c: Include stringpool.h.
7603 Include attribs.h.
7604 Include varasm.h.
7605 Include gcc-symtab.h.
7606 * c-pretty-print.c: Include stor-layout.h.
7607 Include attribs.h.
7608 * cilk.c: Include stringpool.h.
7609 Include calls.h.
7610
7611 2013-11-13 Joseph Myers <joseph@codesourcery.com>
7612
7613 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7614 * c-common.c (c_common_reswords): Add __auto_type.
7615 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7616
7617 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
7618
7619 * c-common.c: Include gimplify.h.
7620 * c-gimplify.c: Likewise.
7621 * cilk.c: Likewise.
7622 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7623 * c-ubsan.c: Don't include gimple.h.
7624
7625 2013-11-12 Joseph Myers <joseph@codesourcery.com>
7626
7627 * c-common.c (c_common_reswords): Add _Thread_local.
7628
7629 2013-11-09 Joseph Myers <joseph@codesourcery.com>
7630
7631 * c-common.c (atomic_size_supported_p): New function.
7632 (resolve_overloaded_atomic_exchange)
7633 (resolve_overloaded_atomic_compare_exchange)
7634 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7635 Use it instead of comparing size with a local list of sizes.
7636
7637 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
7638 Joseph Myers <joseph@codesourcery.com>
7639
7640 * c-common.h (enum rid): Add RID_ATOMIC.
7641 * c-common.c (c_common_reswords): Add _Atomic.
7642 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7643 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7644 * c-format.c (check_format_types): Check for extra _Atomic
7645 qualifiers in format argument.
7646 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7647 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7648
7649 2013-11-06 Tobias Burnus <burnus@net-b.de>
7650
7651 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7652
7653 2013-11-06 Joseph Myers <joseph@codesourcery.com>
7654
7655 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7656 standards modes.
7657 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7658 to mean lack of IEEE 754 support.
7659
7660 2013-11-05 Tobias Burnus <burnus@net-b.de>
7661
7662 * c.opt (-Wdate-time): New option
7663 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7664
7665 2013-11-05 Joseph Myers <joseph@codesourcery.com>
7666
7667 * c-cppbuiltin.c (cpp_iec_559_value): Test
7668 flag_excess_precision_cmdline not flag_excess_precision.
7669
7670 2013-11-05 Tobias Burnus <burnus@net-b.de>
7671
7672 * c.opt (fopenmp-simd): New option.
7673 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7674 (omp_pragmas): ... this new struct.
7675 (c_pp_lookup_pragma): Also walk omp_pragmas.
7676 (init_pragma): Init pragmas for -fopenmp-simd.
7677
7678 2013-11-04 Marek Polacek <polacek@redhat.com>
7679
7680 PR c++/58979
7681 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7682
7683 2013-11-04 Joseph Myers <joseph@codesourcery.com>
7684
7685 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7686 New functions.
7687 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7688
7689 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7690
7691 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7692 (dump_ada_specs): Adjust prototype of second callback.
7693 * c-ada-spec.c (cpp_check): New global variable.
7694 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7695 (print_generic_ada_decl): Likewise.
7696 (has_static_fields): Change return type to bool and add guard.
7697 (has_nontrivial_methods): New predicate.
7698 (is_tagged_type): Change return type to bool.
7699 (separate_class_package): Call has_nontrivial_methods.
7700 (pp_ada_tree_identifier): Minor tweaks.
7701 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7702 (dump_ada_array_domains): Likewise.
7703 (dump_ada_array_type): Likewise.
7704 (dump_template_types): Remove cpp_check parameter and do not pass it to
7705 dump_generic_ada_node.
7706 (dump_ada_template): Likewise.
7707 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7708 recursively.
7709 (print_ada_methods): Change return type to integer. Remove cpp_check
7710 parameter and do not pass it down.
7711 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7712 dump_generic_ada_node.
7713 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7714 accessing methods.
7715 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7716 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7717 value of print_ada_methods.
7718 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7719 Set cpp_check to it before invoking dump_ada_nodes.
7720 (dump_ada_specs): Likewise.
7721
7722 2013-11-03 Marek Polacek <polacek@redhat.com>
7723
7724 * c-ubsan.c: Don't include hash-table.h.
7725 (ubsan_instrument_vla): New function.
7726 * c-ubsan.h: Declare it.
7727
7728 2013-10-31 David Malcolm <dmalcolm@redhat.com>
7729
7730 Automated part of renaming of symtab_node_base to symtab_node.
7731
7732 Patch autogenerated by rename_symtab.py from
7733 https://github.com/davidmalcolm/gcc-refactoring-scripts
7734 revision 58bb219cc090b2f4516a9297d868c245495ee622
7735
7736 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7737 symtab_node_base to symtab_node.
7738
7739 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7740
7741 Implement C++14 digit separators.
7742 * c-lex.c (interpret_float): Remove digit separators from scratch string
7743 before building real literal.
7744
7745 2013-10-30 Jakub Jelinek <jakub@redhat.com>
7746
7747 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7748
7749 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7750
7751 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7752 fields.
7753 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7754 enabled.
7755 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7756 (insert_cilk_frame): New prototype.
7757 (cilk_init_builtins): Likewise.
7758 (gimplify_cilk_spawn): Likewise.
7759 (c_cilk_install_body_w_frame_cleanup): Likewise.
7760 (cilk_detect_spawn_and_unwrap): Likewise.
7761 (cilk_set_spawn_marker): Likewise.
7762 (build_cilk_sync): Likewise.
7763 (build_cilk_spawn): Likewise.
7764 * cilk.c: New file.
7765
7766 2013-10-29 David Malcolm <dmalcolm@redhat.com>
7767
7768 Patch autogenerated by refactor_symtab.py from
7769 https://github.com/davidmalcolm/gcc-refactoring-scripts
7770 revision 58bb219cc090b2f4516a9297d868c245495ee622
7771
7772 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7773 to a true class hierarchy.
7774 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7775
7776 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7777
7778 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7779
7780 2013-10-26 Jeff Law <law@redhat.com>
7781
7782 * c-common.c (c_define_builtins): Remove mudflap support.
7783 * c.opt: Ignore and warn for mudflap options.
7784
7785 2013-10-24 Tobias Burnus <burnus@net-b.de>
7786
7787 PR other/33426
7788 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7789 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7790
7791 2013-10-23 Jason Merrill <jason@redhat.com>
7792
7793 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7794
7795 2013-10-11 Jakub Jelinek <jakub@redhat.com>
7796
7797 * c-common.h (omp_clause_mask::operator !=): New method.
7798 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7799 instead of if (mask & something) tests everywhere.
7800
7801 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7802 201307 instead of 201107.
7803 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7804 (c_common_attribute_table): Add "omp declare target" and
7805 "omp declare simd" attributes.
7806 (handle_omp_declare_target_attribute,
7807 handle_omp_declare_simd_attribute): New functions.
7808 * c-omp.c: Include c-pragma.h.
7809 (c_finish_omp_taskgroup): New function.
7810 (c_finish_omp_atomic): Add swapped argument, if true,
7811 build the operation first with rhs, lhs arguments and use NOP_EXPR
7812 build_modify_expr.
7813 (c_finish_omp_for): Add code argument, pass it down to make_code.
7814 (c_omp_split_clauses): New function.
7815 (c_split_parallel_clauses): Removed.
7816 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7817 c_omp_declare_simd_clauses_to_decls): New functions.
7818 * c-common.h (omp_clause_mask): New type.
7819 (OMP_CLAUSE_MASK_1): Define.
7820 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7821 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7822 omp_clause_mask::operator |, omp_clause_mask::operator &,
7823 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7824 omp_clause_mask::operator ==): New methods.
7825 (enum c_omp_clause_split): New.
7826 (c_finish_omp_taskgroup): New prototype.
7827 (c_finish_omp_atomic): Add swapped argument.
7828 (c_finish_omp_for): Add code argument.
7829 (c_omp_split_clauses): New prototype.
7830 (c_split_parallel_clauses): Removed.
7831 (c_omp_declare_simd_clauses_to_numbers,
7832 c_omp_declare_simd_clauses_to_decls): New prototypes.
7833 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7834 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7835 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7836 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7837 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7838 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7839 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7840 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7841 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7842 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7843 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7844 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7845 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7846 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7847 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7848 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7849 PRAGMA_OMP_CLAUSE_UNIFORM.
7850
7851 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
7852
7853 PR tree-optimization/20318
7854 * c-common.c (handle_returns_nonnull_attribute): New function.
7855 (c_common_attribute_table): Add returns_nonnull.
7856
7857 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
7858
7859 PR c++/19476
7860 * c.opt (fcheck-new): Move to common.opt.
7861
7862 2013-09-25 Marek Polacek <polacek@redhat.com>
7863 Jakub Jelinek <jakub@redhat.com>
7864
7865 PR sanitizer/58413
7866 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7867 an expression if we can prove it is correct.
7868 (ubsan_instrument_division): Likewise. Remove unnecessary
7869 check.
7870
7871 2013-09-18 Marek Polacek <polacek@redhat.com>
7872
7873 PR sanitizer/58411
7874 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7875 Declare it.
7876 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7877
7878 2013-09-14 Iain Sandoe <iain@codesourcery.com>
7879
7880 PR target/48094
7881 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7882 fobjc-gc, freplace-objc-classes): Accept for LTO.
7883
7884 2013-09-13 Jacek Caban <jacek@codeweavers.com>
7885
7886 * c-target.def: New hook
7887
7888 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7889
7890 PR c++/43452
7891 * c.opt (Wdelete-incomplete): Add.
7892
7893 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7894
7895 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7896 (vector_types_compatible_elements_p): New function.
7897 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7898 declaration.
7899 (vector_types_compatible_elements_p): Declare.
7900
7901 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7902
7903 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7904 a virtual member function.
7905 (pp_simple_type_specifier): Remove.
7906 (pp_c_type_specifier): Likewise.
7907 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7908 Rename from pp_c_type_specifier. Adjust.
7909 (c_pretty_printer::c_pretty_printer): Do not assign to
7910 simple_type_specifier.
7911
7912 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7913
7914 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7915 member function.
7916 (c_pretty_printer::storage_class_specifier): Likewise.
7917 (c_pretty_printer::initializer): Likewise.
7918 (pp_declaration): Remove.
7919 (pp_declaration_specifiers): Likewise.
7920 (pp_abstract_declarator): Likewise.
7921 (pp_declarator): Likewise.
7922 (pp_type_id): Likewise.
7923 (pp_statement): Likewise.
7924 (pp_constant): Likewise.
7925 (pp_id_expression): Likewise.
7926 (pp_primary_expression): Likewise.
7927 (pp_unary_expression): Likewise.
7928 (pp_multiplicative_expression): Likewise.
7929 (pp_conditional_expression): Likewise.
7930 (pp_assignment_expression): Likewise.
7931 (pp_expression): Likewise.
7932 (pp_c_type_id): Likewise.
7933 (pp_c_storage_class_specifier): Likewise.
7934 * c-pretty-print.c (pp_c_type_cast): Tidy.
7935 (pp_c_pointer): Likewise.
7936 (pp_c_type_specifier): Likewise.
7937 (pp_c_parameter_type_list): Likewise.
7938 (pp_c_function_definition): Likewise.
7939 (pp_c_init_declarator): Likewise.
7940 (pp_c_initializer_list): Likewise.
7941 (pp_c_constructor_elts): Likewise.
7942 (c_pretty_printer::direct_abstract_declarator): Likewise.
7943 (c_pretty_printer::declaration_specifiers): Likewise.
7944 (c_pretty_printer::primary_expression): Likewise.
7945 (c_pretty_printer::postfix_expression): Likewise.
7946 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7947 (c_pretty_printer::storage_class_specifier): Rename from
7948 pp_c_storage_class_specifier.
7949 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7950 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7951 storage_class_specifier, initializer, offset_list, flags.
7952
7953 2013-08-30 Marek Polacek <polacek@redhat.com>
7954
7955 * c-ubsan.c: New file.
7956 * c-ubsan.h: New file.
7957
7958 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7959
7960 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7961 member function.
7962 (c_pretty_printer::declaration_specifiers): Likewise.
7963 (c_pretty_printer::declarator): Likewise.
7964 (c_pretty_printer::abstract_declarator): Likewise.
7965 (c_pretty_printer::direct_abstract_declarator): Likewise.
7966 (c_pretty_printer::direct_declarator): Likewise.
7967 (c_pretty_printer::function_specifier): Likewise.
7968 (pp_declaration): Adjust.
7969 (pp_declaration_specifiers): Likewise.
7970 (pp_abstract_declarator): Likewise.
7971 (pp_direct_declarator): Likewise.
7972 (pp_function_specifier): Likewise.
7973 (pp_direct_abstract_declarator): Remove as unused.
7974 (pp_c_declaration): Remove.
7975 (pp_c_declaration_specifiers): Likewise.
7976 (pp_c_declarator): Likewise.
7977 (pp_c_direct_declarator): Likewise.
7978 (pp_c_function_specifier): Likewise.
7979 (pp_c_direct_abstract_declarator): Likewise.
7980 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7981 from pp_c_abstract_declarator. Adjust.
7982 (c_pretty_printer::direct_abstract_declarator): Rename from
7983 pp_c_direct_abstract_declarator. Adjust.
7984 (c_pretty_printer::function_specifier): Rename from
7985 pp_c_function_specifier. Adjust.
7986 (c_pretty_printer::declaration_specifiers): Rename from
7987 pp_c_declaration_specifiers. Adjust.
7988 (c_pretty_printer::direct_declarator): Rename from
7989 pp_c_direct_declarator. Adjust.
7990 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7991 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7992 (c_pretty_printer::c_pretty_printer): Do not assign to
7993 declaration, declaration_specifiers, declarator,
7994 direct_declarator, direct_abstract_declarator, function_specifier.
7995
7996 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7997
7998 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7999 virtual member function.
8000 (c_pretty_printer::multiplicative_expression): Likewise.
8001 (c_pretty_printer::conditional_expression): Likewise.
8002 (c_pretty_printer::assignment_expression): Likewise.
8003 (c_pretty_printer::expression): Likewise.
8004 (pp_unary_expression): Adjust.
8005 (pp_multiplicative_expression): Likewise.
8006 (pp_assignment_expression): Likewise.
8007 (pp_conditional_expression): Likewise.
8008 (pp_expression): Likewise.
8009 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8010 from pp_c_unary_expression. Adjust.
8011 (c_pretty_printer::multiplicative_expression): Rename from
8012 pp_c_multiplicative_expression. Adjust.
8013 (c_pretty_printer::conditional_expression): Rename from
8014 pp_c_conditional_expression. Adjust.
8015 (c_pretty_printer::assignment_expression): Rename from
8016 pp_c_assignment_expression. Adjust.
8017 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8018 (c_pretty_printer::c_pretty_printer): Do not assign to
8019 unary_expression, multiplicative_expression,
8020 conditional_expression, expression.
8021
8022 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8023
8024 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8025 virtual member function.
8026 (pp_postfix_expression): Adjust.
8027 (pp_c_postfix_expression): Remove.
8028 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8029 from pp_c_postfix_expression. Adjust.
8030 (c_pretty_printer::c_pretty_printer): Do not assign to
8031 postfix_expression.
8032
8033 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8034
8035 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8036 virtua member function.
8037 (pp_primary_expression): Adjust.
8038 (pp_c_primary_expression): Remove.
8039 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8040 from pp_c_primary_expression. Adjust.
8041 (pp_c_initializer_list): Use pp_primary_expression.
8042 (c_pretty_printer::c_pretty_printer): Do not assign to
8043 primary_expression.
8044
8045 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8046
8047 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8048 * c-pretty-print.c (M_): Remove.
8049 (c_pretty_printer::translate_string): Define.
8050 (pp_c_type_specifier): Use it.
8051 (pp_c_primary_expression): Likewise.
8052 (pp_c_expression): Likewise.
8053
8054 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8055
8056 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8057 virtual function.
8058 (pp_c_id_expression): Remove.
8059 (pp_id_expression): Adjust.
8060 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8061 pp_c_id_expression. Adjust.
8062 (pp_c_postfix_expression): Use pp_id_expression.
8063 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8064
8065 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8066
8067 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8068 member function.
8069 (pp_constant): Adjust.
8070 (pp_c_constant): Remove.
8071 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8072 pp_c_constant. Adjust.
8073 (pp_c_constant)
8074 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8075 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8076
8077 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8078
8079 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8080 (c_pretty_printer::c_pretty_printer): Declare.
8081 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8082 c_pretty_printer_init. Adjust.
8083 (print_c_tree): Do not call c_pretty_printer_init.
8084 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8085
8086 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8087
8088 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8089
8090 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8091
8092 PR c++/58080
8093 * c-common.c (pointer_int_sum): Add bool parameter.
8094 * c-common.h (pointer_int_sum): Adjust declaration.
8095
8096 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8097
8098 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8099 c_pretty_printer variable.
8100
8101 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8102
8103 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8104 (pp_base): Remove.
8105 (pp_c_base): Likewise. Adjust users.
8106 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8107 (pp_c_whitespace): Do not call pp_base.
8108 (pp_c_left_paren): Likewise.
8109 (pp_c_right_paren): Likewise.
8110 (pp_c_left_brace): Likewise.
8111 (pp_c_right_brace): Likewise.
8112 (pp_c_left_bracket): Likewise.
8113 (pp_c_right_bracket): Likewise.
8114 (pp_c_dot): Likewise.
8115 (pp_c_ampersand): Likewise.
8116 (pp_c_star): Likewise.
8117 (pp_c_arrow): Likewise.
8118 (pp_c_semicolon): Likewise.
8119 (pp_c_complement): Likewise.
8120 (pp_c_exclamation): Likewise.
8121 (pp_c_direct_declarator): Likewise.
8122 (pp_c_ws_string): Likewise.
8123 (pp_c_identifier): Likewise.
8124 (pp_c_statement): Likewise.
8125 (print_c_tree): Likewise.
8126
8127 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8128
8129 PR c++/58072
8130 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8131 provide useful error strings.
8132
8133 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8134
8135 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8136 printer functions instead of pp_string or operators and punctuators.
8137 (dump_generic_ada_node): Likewise.
8138 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8139 (pp_c_relational_expression): Likewise.
8140 (pp_c_logical_or_expression): Likewise.
8141
8142 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8143
8144 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8145 functions instead of pp_character.
8146 (pp_ada_tree_identifier): Likewise.
8147 (dump_ada_double_name): Likewise.
8148 (dump_ada_function_declaration): Likewise.
8149 (dump_ada_array_domains): Likewise.
8150 (dump_template_types): Likewise.
8151 (dump_generic_ada_node): Likewise.
8152 (print_ada_declaration): Likewise.
8153 (print_ada_struct_decl): Likewise.
8154 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8155
8156 2013-07-23 Tom Tromey <tromey@redhat.com>
8157
8158 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8159 * c-common.c (c_common_reswords): Add _Generic.
8160
8161 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8162
8163 * c-common.c: Fix typos.
8164 * c-common.h: Likewise.
8165
8166 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
8167
8168 PR c++/55203
8169 * c-common.c (c_common_attribute_table): Add warn_unused.
8170 (handle_warn_unused_attribute): New.
8171
8172 2013-07-10 Jakub Jelinek <jakub@redhat.com>
8173
8174 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8175 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8176
8177 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8178
8179 PR c++/57869
8180 * c.opt: Add Wconditionally-supported.
8181
8182 2013-07-08 Graham Stott <graham.stott@btinternet.com>
8183
8184 * array-notation-common.c (length_mismatch_in_expr_p): Delete
8185 unused variables l_length and l_node.
8186
8187 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
8188
8189 PR c/57821
8190 * c-common.c (complete_array_type): Delay folding first index
8191 like other indices. When folding, check for index overflow.
8192
8193 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
8194
8195 PR c++/57509
8196 * c-common.h (c_build_vec_perm_expr): New complain argument.
8197 * c-common.c (c_build_vec_perm_expr): Likewise.
8198 Use save_expr also in C++.
8199
8200 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8201
8202 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8203 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8204 * c-opts.c (c_common_post_options): Likewise.
8205
8206 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8207
8208 * array-notation-common.c (length_mismatch_in_expr): Changed the
8209 parameter type's from a dynamic array to a vec_tree. Also removed
8210 the size parameters.
8211 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8212 the change above.
8213
8214 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8215
8216 * c-common.h (struct cilkplus_an_parts): New structure.
8217 (struct cilkplus_an_loop_parts): Likewise.
8218 (cilkplus_extract_an_triplets): New prototype.
8219 (fix_sec_implicit_args): Likewise.
8220 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8221 (fix_sec_implicit_args): Likewise.
8222
8223 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8224
8225 * array-notation-common.c (find_inv_trees): Removed an unwanted
8226 typecasting.
8227 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8228 enum rid to enum tree_code.
8229
8230 2013-06-11 Jan Hubicka <jh@suse.cz>
8231
8232 * c-common.c (handle_alias_ifunc_attribute): Do not set
8233 DECL_EXTERNAL for weakref variables.
8234 * c-pragma.c (handle_pragma_weak): Make sure aliases
8235 are not declared as external.
8236
8237 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8238
8239 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8240 function from c/c-array-notation.c.
8241 (is_cilkplus_reduce_builtin): Likewise.
8242 (find_rank): Likewise.
8243 (extract_array_notation_exprs): Likewise.
8244 (replace_array_notations): Likewise.
8245 (find_inv_trees): Likewise.
8246 (replace_inv_trees): Likewise.
8247 (contains_array_notation_expr): Likewise.
8248 (find_correct_array_notation_type): Likewise.
8249 * c-common.h (struct inv_list): Moved this struct from the file
8250 c/c-array-notation.c and added a new field called additional tcodes.
8251 (length_mismatch_in_expr_p): New prototype.
8252 (is_cilkplus_reduce_builtin): Likewise.
8253 (find_rank): Likewise.
8254 (extract_array_notation_exprs): Likewise.
8255 (replace_array_notation): Likewise.
8256 (find_inv_trees): Likewise.
8257 (replace_inv_trees): Likewise.
8258 (find_correct_array_notation_type): Likewise.
8259
8260 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8261
8262 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8263 function array_notation_init_builtins is called.
8264 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8265 * c-common.def (ARRAY_NOTATION_REF): New tree.
8266 * c-common.h (build_array_notation_expr): New function declaration.
8267 (build_array_notation_ref): Likewise.
8268 (extract_sec_implicit_index_arg): New extern declaration.
8269 (is_sec_implicit_index_fn): Likewise.
8270 (ARRAY_NOTATION_CHECK): New define.
8271 (ARRAY_NOTATION_ARRAY): Likewise.
8272 (ARRAY_NOTATION_START): Likewise.
8273 (ARRAY_NOTATION_LENGTH): Likewise.
8274 (ARRAY_NOTATION_STRIDE): Likewise.
8275 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8276 ARRAY_NOTATION_REF.
8277 (pp_c_expression): Likewise.
8278 * c.opt (flag_enable_cilkplus): New flag.
8279 * array-notation-common.c: New file.
8280
8281 2013-05-14 Jakub Jelinek <jakub@redhat.com>
8282
8283 PR c++/57274
8284 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8285
8286 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
8287
8288 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8289 vectors.
8290
8291 2013-05-07 Han Shen <shenhan@google.com>
8292
8293 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8294
8295 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8296
8297 * c-common.c (check_user_alignment): Emit error for negative values.
8298
8299 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8300
8301 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8302
8303 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8304
8305 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8306 __GXX_EXPERIMENTAL_CXX1Y__.
8307
8308 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8309 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
8310
8311 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8312 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8313 to simply use OPT_Wpointer_arith.
8314 (c_sizeof_or_alignof_type): Likewise.
8315
8316 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8317
8318 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8319
8320 2013-04-12 Jakub Jelinek <jakub@redhat.com>
8321
8322 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8323 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8324 specifiers.
8325
8326 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8327
8328 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8329
8330 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8331
8332 * c-common.c (pointer_int_sum): Remove dead code.
8333
8334 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8335
8336 PR middle-end/56524
8337 * c-common.c (handle_optimize_attribute): Don't call
8338 save_optabs_if_changed.
8339
8340 2013-03-05 Jakub Jelinek <jakub@redhat.com>
8341
8342 PR middle-end/56461
8343 * c-pch.c (pch_init): Free target_validity at the end.
8344
8345 2013-03-04 Jakub Jelinek <jakub@redhat.com>
8346
8347 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8348
8349 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8350 Jakub Jelinek <jakub@redhat.com>
8351
8352 PR sanitizer/56454
8353 * c-common.c (handle_no_sanitize_address_attribute): New function.
8354 (c_common_attribute_table): Add no_sanitize_address attribute.
8355 (handle_no_address_safety_analysis_attribute): Add
8356 no_sanitize_address attribute, not no_address_safety_analysis
8357 attribute.
8358
8359 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
8360
8361 PR target/52555
8362 * c-common.c (handle_optimize_attribute): Call
8363 save_optabs_if_changed.
8364
8365 2013-02-18 Jakub Jelinek <jakub@redhat.com>
8366 Steven Bosscher <steven@gcc.gnu.org>
8367
8368 PR pch/54117
8369 * c-opts.c (c_common_post_options): If debug info is enabled
8370 and non-dwarf*, refuse to load PCH files and when writing PCH
8371 file warn.
8372
8373 2013-02-05 Jakub Jelinek <jakub@redhat.com>
8374
8375 PR middle-end/56167
8376 * c-common.c (handle_error_attribute): Fix condition.
8377
8378 2013-01-30 Jakub Jelinek <jakub@redhat.com>
8379
8380 PR c++/55742
8381 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8382
8383 2013-01-18 Jason Merrill <jason@redhat.com>
8384
8385 PR target/54908
8386 * c.opt (-fextern-tls-init): New.
8387 * c-opts.c (c_common_post_options): Handle it.
8388
8389 2013-01-09 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR c/48418
8392 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8393 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8394 and is either negative or bigger or equal to type precision
8395 of the first operand.
8396
8397 2012-12-03 Marek Polacek <polacek@redhat.com>
8398
8399 PR c/55570
8400 * c-common.c (check_user_alignment): Swap order of tests,
8401 check TREE_CODE first.
8402
8403 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8404
8405 PR c++/52654
8406 * c-common.h (overflow_type): New enum.
8407 (build_userdef_literal): Add overflow_type argument.
8408 (tree_userdef_literal): Add overflow_type.
8409 (USERDEF_LITERAL_OVERFLOW): New access macro.
8410 * c-common.c (build_userdef_literal): Add overflow_type
8411 argument.
8412 * c-lex.c (c_lex_with_flags): Add overflow_type to
8413 build_userdef_literal calls.
8414 (interpret_integer, interpret_float): Add overflow_type argument.
8415
8416 2012-11-28 Richard Biener <rguenther@suse.de>
8417
8418 PR c/35634
8419 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8420 here and use a type with proper overflow behavior for types that would
8421 need to be promoted for the arithmetic.
8422
8423 2012-11-23 Jakub Jelinek <jakub@redhat.com>
8424
8425 PR sanitizer/55435
8426 * c-common.c (handle_no_address_safety_analysis_attribute): New
8427 function.
8428 (c_common_attribute_table): Add no_address_safety_analysis.
8429
8430 2012-11-16 Simon Baldwin <simonb@google.com>
8431
8432 * c.opt: Add f[no-]canonical-system-headers.
8433 * c-opts.c (c_common_handle_option): Handle
8434 OPT_fcanonical_system_headers.
8435
8436 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8437
8438 PR c++/54413
8439 * c-opts.c (c_common_handle_option): Set new flags.
8440 * c.opt: Describe new flags.
8441
8442 2012-11-09 Jason Merrill <jason@redhat.com>
8443
8444 * c.opt (Wabi-tag): New.
8445
8446 2012-11-09 Andi Kleen <ak@linux.intel.com>
8447
8448 PR 55139
8449 * c-common.c (get_atomic_generic_size): Mask with
8450 MEMMODEL_MASK
8451
8452 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8453
8454 PR c/53063
8455 * c.opt (Wformat): Make it Alias Wformat=1.
8456 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8457 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8458 LangEnabledBy.
8459 (Wformat=): RejectNegative. Use LangEnabledBy.
8460 (Wnonnull): Use LangEnabledBy.
8461 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8462 * c-format.c (set_Wformat): Delete.
8463 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8464 (maybe_read_dollar_number): Likewise.
8465 (avoid_dollar_number): Likewise.
8466 (finish_dollar_format_checking): Likewise.
8467 (check_format_info): Likewise.
8468 (check_format_info_main): Likewise.
8469 (check_format_types): Likewise.
8470 (format_type_warning): Likewise.
8471 * c-common.c (int): Likewise.
8472 (check_function_sentinel): Likewise.
8473 * c-common.h (warn_format,set_Wformat): Do not declare here.
8474
8475 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8476
8477 PR c/53063
8478 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8479 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8480 Use LangEnabledBy.
8481 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8482 common.opt.
8483 (Wvariadic-macros): Init(1).
8484 * c-opts.c (c_common_handle_option): Do not handle them
8485 explicitly.
8486 (c_common_post_options): Likewise.
8487 (sanitize_cpp_opts): warn_unused_macros is now
8488 cpp_warn_unused_macros.
8489 (push_command_line_include): Likewise.
8490 * c-common.c (warn_unknown_pragmas): Do not define.
8491 * c-common.h (warn_unknown_pragmas): Do not declare.
8492
8493 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8494
8495 PR c/51294
8496 * c-common.c (conversion_warning): Handle conditional expressions.
8497
8498 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8499
8500 PR c++/54930
8501 * c.opt (Wreturn_local_addr): Define new option.
8502
8503 2012-10-25 Jason Merrill <jason@redhat.com>
8504
8505 * c.opt (Wvirtual-move-assign): New.
8506
8507 * c.opt (Winherited-variadic-ctor): New.
8508
8509 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
8510
8511 PR c++/54427
8512 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8513
8514 2012-10-23 Joseph Myers <joseph@codesourcery.com>
8515
8516 * c-common.h (pch_cpp_save_state): Declare.
8517 * c-target.def (c_preinclude): New hook.
8518 * c-opts.c (done_preinclude): New.
8519 (push_command_line_include): Handle default preincluded header.
8520 (cb_file_change): Call pch_cpp_save_state when calling
8521 push_command_line_include.
8522 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8523 (pch_cpp_save_state): New.
8524 (pch_init): Call pch_cpp_save_state conditionally, instead of
8525 calling cpp_save_state.
8526
8527 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8528
8529 PR c/53063
8530 PR c/40989
8531 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8532 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8533 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8534 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8535 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8536 * c-opts.c (c_common_handle_option): Remove explicit handling from
8537 here.
8538 (c_common_post_options): Likewise.
8539
8540 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8541
8542 * c-ada-spec.c (LOCATION_COL): Delete.
8543 (compare_location): New function.
8544 (compare_node): Use it.
8545 (compare_comment): Likewise.
8546
8547 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8548
8549 PR c/53063
8550 PR c/40989
8551 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8552 * c-opts.c (c_common_handle_option): Do not set them here. Add
8553 comment.
8554 (c_common_post_options): Likewise.
8555
8556 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8557
8558 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8559 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8560 Remove POINTER_TYPE handling, add large unsigned handling and use
8561 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8562
8563 2012-10-12 Jakub Jelinek <jakub@redhat.com>
8564
8565 PR c/54381
8566 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8567 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8568 locs and array of 3 trees instead of just single loc and single
8569 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8570 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8571 For *cmp* builtins that take two sources strings report warnings
8572 about first and second source, not about destination and source.
8573
8574 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
8575
8576 PR c++/53055
8577 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8578
8579 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8580
8581 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8582 declaring something coming from another file.
8583
8584 2012-10-10 Arnaud Charlet <charlet@adacore.com>
8585
8586 PR ada/54845
8587 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8588
8589 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8590
8591 PR c++/54194
8592 * c-common.c (warn_about_parentheses): Add location_t parameter;
8593 use EXPR_LOC_OR_LOC.
8594 * c-common.h: Update declaration.
8595
8596 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
8597
8598 PR c++/54427
8599 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8600 more operations. Make error messages optional.
8601 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8602 (scalar_to_vector): Declare.
8603
8604 2012-10-08 Jason Merrill <jason@redhat.com>
8605
8606 * c-common.c (c_common_reswords): Add thread_local.
8607
8608 2012-10-08 Dodji Seketeli <dodji@redhat.com>
8609
8610 PR c++/53528 C++11 attribute support
8611 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8612 new functions.
8613 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8614 static function.
8615 (handle_aligned_attribute): In choose strictest alignment
8616 among many. Use new check_cxx_fundamental_alignment_constraints.
8617 (handle_transparent_union_attribute): In c++11 attribute syntax,
8618 don't look through typedefs.
8619
8620 2012-10-04 Arnaud Charlet <charlet@adacore.com>
8621
8622 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8623 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8624 out of dumpfile.h.
8625
8626 2012-09-25 Dehao Chen <dehao@google.com>
8627
8628 PR middle-end/54645
8629 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
8630 map when read in the pch.
8631
8632 2012-09-18 Arnaud Charlet <charlet@adacore.com>
8633
8634 * c-ada-spec.c: Style fixes.
8635
8636 2012-09-18 Thomas Quinot <quinot@adacore.com>
8637
8638 * c.opt (-fada-spec-parent): Define new command line switch.
8639 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8640 is specified, generate binding spec as a child of the specified unit.
8641
8642 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8643 Manuel López-Ibáñez <manu@gcc.gnu.org>
8644
8645 PR c++/53210
8646 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8647
8648 2012-08-23 Arnaud Charlet <charlet@adacore.com>
8649
8650 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8651 for pointers, and add missing Convention C pragma.
8652 (print_ada_struct_decl): Add missing aliased keyword.
8653 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8654
8655 2012-08-17 Jakub Jelinek <jakub@redhat.com>
8656
8657 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8658 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8659 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8660 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8661 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8662
8663 2012-08-10 Richard Guenther <rguenther@suse.de>
8664
8665 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8666
8667 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8668
8669 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8670 instead of separate pp_newline and pp_flush.
8671 (print_c_tree): Likewise.
8672
8673 2012-07-26 Richard Henderson <rth@redhat.com>
8674
8675 * c-common.c (handle_hot_attribute): Allow labels.
8676 (handle_cold_attribute): Likewise.
8677
8678 2012-07-20 Jakub Jelinek <jakub@redhat.com>
8679
8680 PR c++/28656
8681 * c-common.c (check_function_nonnull): Handle multiple nonnull
8682 attributes properly.
8683
8684 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8685
8686 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8687 * c-ada-spec.c: Likewise.
8688 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8689
8690 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8691
8692 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8693 Remove code conditional on it.
8694
8695 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8696
8697 * c-gimplify.c: Do not include basic-block.h.
8698 * c-common.c: Do not include linfuncs.h.
8699
8700 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8701
8702 * c-common.h: Include tree.h.
8703
8704 2012-07-02 Jason Merrill <jason@redhat.com>
8705
8706 PR c++/53524
8707 * c-common.c (get_priority): Call default_conversion.
8708
8709 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
8710
8711 * c-pch.c (c_common_write_pch): Remove unused variables.
8712
8713 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8714
8715 * cppspec.c: Moved from gcc/ to here.
8716
8717 2012-06-27 Kai Tietz <ktietz@redhat.com>
8718
8719 PR preprocessor/37215
8720 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8721
8722 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8723
8724 * c-common.h (c_common_print_pch_checksum): Remove.
8725 * c-pch.c: Do not include output.h.
8726 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8727 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8728 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8729 (struct c_pch_header): Remove.
8730 (get_ident): Update gpch version.
8731 (pch_init): Do not print executable_checksum to asm_out_file.
8732 Do not fail if there is no asm_out_file to read back from. Set
8733 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8734 (c_common_write_pch): Verify that nothing was written to asm_out_file
8735 since pch_init was called. Do not write a c_pch_header, and do not
8736 copy from asm_out_file to the PCH.
8737 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8738 the content of asm_out_file from the PCH.
8739 (c_common_print_pch_checksum): Remove.
8740 * c-opts.c (c_common_init): Print out executable_checksum directly.
8741
8742 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8743
8744 * c-target.def (objc_declare_unresolved_class_reference,
8745 objc_declare_class_definition): Add new hooks.
8746
8747 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8748
8749 * c-lex.c: Do not include output.h.
8750 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8751 Remove uses of ASM_OUTPUT_IDENT.
8752
8753 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
8754
8755 PR c++/51033
8756 * c-common.h (c_build_vec_perm_expr): Move decl here.
8757 * c-common.c (c_build_vec_perm_expr): Move definition
8758 here.
8759
8760 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8761
8762 * c.opt (fconserve-space): Turn into a no-op.
8763
8764 2012-06-04 Sterling Augustine <saugustine@google.com>
8765
8766 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8767 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8768 both the start and end of the function.
8769
8770 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8771
8772 * c-common.c: Do not include output.h.
8773 * c-pragma.c: Likewise.
8774
8775 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8776
8777 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8778 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8779 (lang_decl_name): Handle namespace decls.
8780
8781 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8782
8783 * c-ada-spec.c: Do not include output.h.
8784 * c-semantics.c: Likewise.
8785
8786 2012-05-29 Joseph Myers <joseph@codesourcery.com>
8787
8788 * c-common.c: Fix typo.
8789
8790 2012-05-29 Michael Matz <matz@suse.de>
8791
8792 * c-common.h (c_expand_decl): Remove prototype.
8793
8794 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8795
8796 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8797 * c-opts.c (c_common_handle_option): Remove code handling
8798 warn_missing_braces.
8799
8800 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8801
8802 PR c++/25137
8803 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8804 -Wmissing_braces.
8805
8806 2012-05-22 Dodji Seketeli <dodji@redhat.com>
8807
8808 PR c++/53322
8809 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8810
8811 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8812
8813 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8814 * c-opts.c (c_common_handle_option): Do not handle explicitly
8815 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8816
8817 2012-05-16 Dodji Seketeli <dodji@redhat.com>
8818
8819 PR preprocessor/7263
8820 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
8821 to cpp_classify_number. For diagnostics, use the precise location
8822 instead of the global input_location.
8823
8824 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8825
8826 PR c++/11856
8827 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8828
8829 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8830
8831 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
8832
8833 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8834
8835 PR 53063
8836 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8837 Wreorder): Use LangEnabledBy.
8838 * c-opts.c (c_common_handle_option): Do not enable them
8839 explicitly. Call lang-specific generated functions.
8840 (c_common_post_options): Do not set them here.
8841
8842 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8843
8844 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8845 Wmissing-field-initializers,Wmissing-parameter-type,
8846 Wold-style-declaration,Woverride-init): Use EnabledBy.
8847 * c-opts.c (c_common_post_options): Do not set here explicitly.
8848
8849 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8850
8851 PR 53063
8852 * c-opts.c (c_common_handle_option): Use handle_generated_option
8853 to enable sub-options.
8854
8855 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8856
8857 PR c++/53158
8858 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8859
8860 2012-05-10 Richard Guenther <rguenther@suse.de>
8861
8862 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8863 adjust commentary about TYPE_IS_SIZETYPE types.
8864
8865 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8866
8867 PR c++/53261
8868 * c-common.c (warn_logical_operator): Check that argument of
8869 integer_zerop is not NULL.
8870
8871 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8872
8873 PR c/43772
8874 * c-common.c (warn_logical_operator): Do not warn if either side
8875 is already true or false.
8876
8877 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8878
8879 PR c/51712
8880 * c-common.c (expr_original_type): New.
8881 (shorten_compare): Do not warn for enumeration types.
8882
8883 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8884
8885 * c.opt (fpermissive): Add Var(flag_permissive).
8886
8887 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
8888
8889 PR c++/51033
8890 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8891 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8892
8893 2012-04-30 Dodji Seketeli <dodji@redhat.com>
8894
8895 Add -Wvarargs option
8896 * c.opt (Wvarargs): Define new option.
8897
8898 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8899
8900 * c-common.c (check_function_arguments): Replace
8901 Wmissing-format-attribute with Wsuggest-attribute=format.
8902
8903 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8904
8905 * c.opt (Wsuggest-attribute=format): New. Alias of
8906 Wmissing-format-attribute.
8907 * c-format.c (decode_format_type): Replace
8908 Wmissing-format-attribute with Wsuggest-attribute=format.
8909 (check_function_format): Likewise.
8910
8911 2012-04-27 Ollie Wild <aaw@google.com>
8912
8913 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8914 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8915 * c.opt: Add Wliteral-suffix.
8916
8917 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8918
8919 PR c/44774
8920 * c.opt (Wpedantic): New.
8921 (pedantic): Alias Wpedantic.
8922 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8923 (c_common_post_options): Likewise.
8924 (sanitize_cpp_opts): Likewise.
8925 * c-lex.c (interpret_float): Likewise.
8926 * c-format.c (check_format_types): Likewise.
8927 * c-common.c (pointer_int_sum): Likewise.
8928 (c_sizeof_or_alignof_type): Likewise.
8929 (c_add_case_label): Likewise.
8930 (c_do_switch_warnings): Likewise.
8931 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8932
8933 2012-04-15 Jason Merrill <jason@redhat.com>
8934
8935 PR c++/52818
8936 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8937 (C_STD_NAME): Distinguish between C++98 and C++11.
8938
8939 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8940
8941 PR target/52624
8942 * c-common.h (uint16_type_node): Rename into...
8943 (c_uint16_type_node): ...this.
8944 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8945 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8946
8947 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8948
8949 * c-common.c (warn_if_unused_value): Move definition to here.
8950 * c-common.h (warn_if_unused_value): Move declaration to here.
8951
8952 2012-03-23 William Bader <williambader@hotmail.com>
8953
8954 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8955
8956 2012-03-20 Jason Merrill <jason@redhat.com>
8957
8958 * c-common.h (enum cxx_dialect): Add cxx1y.
8959 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8960 test.
8961 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8962 * c-opts.c (c_common_post_options): Likewise.
8963 (set_std_cxx1y): New.
8964 (c_common_handle_option): Call it.
8965 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8966
8967 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8968
8969 PR c++/14710
8970 * c.opt ([Wuseless-cast]): Add.
8971
8972 2012-03-16 Richard Guenther <rguenther@suse.de>
8973
8974 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8975
8976 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8977
8978 PR c++/44783
8979 * c.opt (ftemplate-backtrace-limit) Add.
8980
8981 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8982
8983 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8984 handling.
8985 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8986 (init_pragma): Don't register extern_prefix.
8987
8988 2012-03-12 Richard Guenther <rguenther@suse.de>
8989
8990 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8991 (builtin_type_for_size): Likewise.
8992
8993 2012-02-13 Jakub Jelinek <jakub@redhat.com>
8994
8995 PR c++/52215
8996 * c-common.c (sync_resolve_params): Don't decide whether to convert
8997 or not based on TYPE_SIZE comparison, convert whenever arg_type
8998 is unsigned INTEGER_TYPE.
8999
9000 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9001
9002 PR c/52118
9003 * c.opt ([Wunused-local-typedefs]): Fix description.
9004
9005 2012-01-24 Mike Stump <mikestump@comcast.net>
9006
9007 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9008 exactly.
9009
9010 2012-01-18 Richard Guenther <rguenther@suse.de>
9011
9012 * c-opts.c (c_common_post_options): Reset LTO flags if
9013 we are about to generate a PCH.
9014
9015 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9016
9017 PR c++/51777
9018 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9019 use pp_unsigned_wide_integer.
9020
9021 2012-01-10 Richard Guenther <rguenther@suse.de>
9022
9023 PR middle-end/51806
9024 * c-opts.c (c_common_handle_option): Move -Werror handling
9025 to language independent code.
9026
9027 2012-01-05 Richard Guenther <rguenther@suse.de>
9028
9029 PR middle-end/51764
9030 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9031 from common.opt.
9032
9033 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9034
9035 PR c++/51316
9036 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9037 of array types with an unknown bound.
9038
9039 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9040
9041 * c-common.c (flag_isoc99): Update comment to refer to C11.
9042 (flag_isoc1x): Change to flag_isoc11.
9043 * c-common.h (flag_isoc99): Update comment to refer to C11.
9044 (flag_isoc1x): Change to flag_isoc11.
9045 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9046 C11.
9047 * c-opts.c (set_std_c1x): Change to set_std_c11.
9048 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9049 Call set_std_c11.
9050 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9051 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9052 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9053 standard.
9054 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9055 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9056 (std=gnu1x): Make alias of std=gnu11.
9057
9058 2011-12-19 Jason Merrill <jason@redhat.com>
9059
9060 PR c++/51228
9061 * c-common.c (handle_transparent_union_attribute): Check the first
9062 field if the type is complete.
9063
9064 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9065
9066 PR libstdc++/51365
9067 * c-common.c (RID_IS_FINAL): Add.
9068 * c-common.h (RID_IS_FINAL): Add.
9069
9070 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9071
9072 * c.opt (fgnu-runtime): Provide full description.
9073 (fnext-runtime): Likewise.
9074 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9075
9076 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9077
9078 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9079 predefines in one place. Add LOCK_FREE predefines.
9080 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9081 new func.
9082
9083 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9084
9085 PR c/51256
9086 * c-common.c (get_atomic_generic_size): Check for various error
9087 conditions
9088 (resolve_overloaded_atomic_exchange,
9089 resolve_overloaded_atomic_compare_exchange,
9090 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9091 error_mark_node for error conditions.
9092
9093 2011-11-08 Richard Guenther <rguenther@suse.de>
9094
9095 PR middle-end/51010
9096 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9097
9098 2011-11-07 Richard Henderson <rth@redhat.com>
9099 Aldy Hernandez <aldyh@redhat.com>
9100 Torvald Riegel <triegel@redhat.com>
9101
9102 Merged from transactional-memory.
9103
9104 * c-common.c (handle_tm_wrap_attribute,
9105 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9106 (struct c_common_reswords): Added __transaction* keywords.
9107 (struct c_common_attribute_table): Added transaction* and tm_regparm
9108 attributes.
9109 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9110 masks.
9111 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9112 find_tm_attribute): Declare.
9113
9114 2011-11-07 Jason Merrill <jason@redhat.com>
9115
9116 PR c++/35688
9117 * c-common.c, c-common.h: Revert yesterday's changes.
9118
9119 2011-11-06 Jason Merrill <jason@redhat.com>
9120
9121 PR c++/35688
9122 * c-common.c (decl_has_visibility_attr): Split out from...
9123 (c_determine_visibility): ...here.
9124 * c-common.h: Declare it.
9125
9126 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9127
9128 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9129 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9130 type.
9131 (check_user_alignment): New. Split out of
9132 handle_aligned_attribute. Disallow integer constants with
9133 noninteger types. Conditionally allow zero.
9134 (handle_aligned_attribute): Use check_user_alignment.
9135 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9136
9137 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
9138 Richard Henderson <rth@redhat.com>
9139
9140 Merged from cxx-mem-model.
9141
9142 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9143 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
9144 parameters that are the same type size.
9145 (get_atomic_generic_size): New. Find size of generic
9146 atomic function parameters and do typechecking.
9147 (add_atomic_size_parameter): New. Insert size into parameter list.
9148 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9149 either __atomic_exchange_n or external library call.
9150 (resolve_overloaded_atomic_compare_exchange): Restructure
9151 __atomic_compare_exchange to either _n variant or external library call.
9152 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
9153 __atomic_load_n or an external library call.
9154 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9155 __atomic_store_n or an external library call.
9156 (resolve_overloaded_builtin): Handle new __atomic builtins.
9157
9158 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9159
9160 PR c++/50608
9161 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9162 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9163 <INDIRECT_REF>: Return the argument.
9164 <ARRAY_REF>: Remove special code for negative offset.
9165 Call fold_build_pointer_plus instead of size_binop.
9166 (fold_offsetof): Remove STOP_REF argument and adjust.
9167 * c-common.h (fold_offsetof_1): Declare.
9168 (fold_offsetof): Remove STOP_REF argument.
9169
9170 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9171
9172 PR c++/50810
9173 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9174 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9175 Wnarrowing for C++0x and C++98.
9176 * c.opt ([Wnarrowing]): Update.
9177
9178 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9179
9180 PR c++/44277
9181 * c.opt: Add Wzero-as-null-pointer-constant.
9182
9183 2011-10-31 Jason Merrill <jason@redhat.com>
9184
9185 * c.opt (-fdeduce-init-list): Off by default.
9186
9187 PR c++/50920
9188 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9189 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9190 and -Wc++11-compat.
9191 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9192
9193 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9194
9195 PR c++/30066
9196 * c.opt (fvisibility-inlines-hidden): Description change.
9197
9198 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9199
9200 Implement C++11 user-defined literals.
9201 * c-common.c (build_userdef_literal): New.
9202 * c-common.def: New tree code.
9203 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9204 * c-lex.c (interpret_float): Add suffix parm.
9205 (c_lex_with_flags): Build literal tokens.
9206
9207 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9208
9209 PR c++/50841
9210 Revert:
9211 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9212
9213 PR c++/50810
9214 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9215 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9216 Wnarrowing for C++0x and C++98.
9217 * c.opt ([Wnarrowing]): Update.
9218
9219 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9220
9221 PR c++/50810
9222 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9223 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9224 Wnarrowing for C++0x and C++98.
9225 * c.opt ([Wnarrowing]): Update.
9226
9227 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9228
9229 PR c++/45385
9230 * c-common.c (conversion_warning): Remove code looking for
9231 artificial operands.
9232
9233 2011-10-18 Dodji Seketeli <dodji@redhat.com>
9234
9235 PR bootstrap/50760
9236 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9237 !NO_IMPLICIT_EXTERN_C.
9238
9239 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
9240
9241 * c-common.c (c_common_reswords): Add __bases,
9242 __direct_bases.
9243 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9244
9245 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9246
9247 PR c++/50757
9248 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9249
9250 2011-10-15 Tom Tromey <tromey@redhat.com>
9251 Dodji Seketeli <dodji@redhat.com>
9252
9253 * c.opt (fdebug-cpp): New option.
9254 * c-opts.c (c_common_handle_option): Handle the option.
9255 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9256 output stream in parameter. Factorized from ...
9257 (maybe_print_line): ... this. Dump location debug information when
9258 -fdebug-cpp is in effect.
9259 (print_line_1): New static function. Takes an output stream in
9260 parameter. Factorized from ...
9261 (print_line): ... here. Dump location information when -fdebug-cpp
9262 is in effect.
9263 (scan_translation_unit): Dump location information when
9264 -fdebug-cpp is in effect.
9265
9266 2011-10-15 Tom Tromey <tromey@redhat.com>
9267 Dodji Seketeli <dodji@redhat.com>
9268
9269 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9270 without argument.
9271 * c-opts.c (c_common_handle_option)<case
9272 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9273 cases. Handle -ftrack-macro-expansion with and without argument.
9274
9275 2011-10-15 Tom Tromey <tromey@redhat.com>
9276 Dodji Seketeli <dodji@redhat.com>
9277
9278 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9279 (print_line, cb_define, do_line_change): Adjust to avoid touching
9280 the internals of struct line_map. Use the public API instead.
9281 * c-pch.c (c_common_read_pch): Likewise.
9282 * c-lex.c (fe_file_change): Likewise.
9283
9284 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9285
9286 PR c++/17212
9287 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9288
9289 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9290
9291 PR c++/33067
9292 * c-pretty-print.c (pp_c_floating_constant): Output
9293 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9294
9295 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9296
9297 * c-common.c (def_builtin_1): Delete old interface with two
9298 parallel arrays to hold standard builtin declarations, and replace
9299 it with a function based interface that can support creating
9300 builtins on the fly in the future. Change all uses, and poison
9301 the old names. Make sure 0 is not a legitimate builtin index.
9302 * c-omp.c (c_finish_omp_barrier): Ditto.
9303 (c_finish_omp_taskwait): Ditto.
9304 (c_finish_omp_flush): Ditto.
9305
9306 2011-10-11 Tristan Gingold <gingold@adacore.com>
9307
9308 * c.opt: (fallow-parameterless-variadic-functions): New.
9309
9310 2011-09-08 Dodji Seketeli <dodji@redhat.com>
9311
9312 PR c++/33255 - Support -Wunused-local-typedefs warning
9313 * c-common.h (struct c_language_function::local_typedefs): New
9314 field.
9315 (record_locally_defined_typedef, maybe_record_typedef_use)
9316 (maybe_warn_unused_local_typedefs): Declare new functions.
9317 * c-common.c (record_locally_defined_typedef)
9318 (maybe_record_typedef_use)
9319 (maybe_warn_unused_local_typedefs): Define new functions.
9320 * c.opt: Declare new -Wunused-local-typedefs flag.
9321
9322 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9323
9324 PR middle-end/50266
9325 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9326 computations.
9327
9328 2011-09-05 Richard Guenther <rguenther@suse.de>
9329
9330 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9331 of integer_minus_one_node for empty array upper bounds.
9332
9333 2011-08-28 Dodji Seketeli <dodji@redhat.com>
9334
9335 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9336 it's the first time it's being called on this main TU.
9337
9338 2011-08-24 Richard Guenther <rguenther@suse.de>
9339
9340 PR c/49396
9341 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9342
9343 2011-08-22 Gabriel Charette <gchare@google.com>
9344
9345 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9346 defined in cpp_init_builtins and c_cpp_builtins.
9347
9348 2011-08-19 Joseph Myers <joseph@codesourcery.com>
9349
9350 * c-common.c (c_common_reswords): Add __builtin_complex.
9351 * c-common.h (RID_BUILTIN_COMPLEX): New.
9352
9353 2011-08-18 Joseph Myers <joseph@codesourcery.com>
9354
9355 * c-common.c (c_common_reswords): Add _Noreturn.
9356 (keyword_is_function_specifier): Handle RID_NORETURN.
9357 * c-common.h (RID_NORETURN): New.
9358
9359 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9360
9361 * c-common.c (unsafe_conversion_p): New function. Check if it is
9362 unsafe to convert an expression to the type.
9363 (conversion_warning): Adjust, use unsafe_conversion_p.
9364 * c-common.h (unsafe_conversion_p): New function declaration.
9365
9366 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9367
9368 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9369 (c_finish_omp_taskyield): New prototype.
9370 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9371 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9372 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9373 or RHS1 have side-effects, evaluate those too in the right spot,
9374 if it is a decl and LHS is also a decl, error out if they
9375 aren't the same.
9376 (c_finish_omp_taskyield): New function.
9377 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9378 * c-pragma.c (omp_pragmas): Add taskyield.
9379 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9380 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9381 PRAGMA_OMP_CLAUSE_MERGEABLE.
9382
9383 2011-07-25 Dodji Seketeli <dodji@redhat.com>
9384
9385 * c-common.h (set_underlying_type): Remove parm name from
9386 declaration.
9387
9388 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
9389
9390 * c-pretty-print.h: Search c-common.h in c-family.
9391
9392 2011-07-22 Jason Merrill <jason@redhat.com>
9393
9394 PR c++/49793
9395 * c.opt (Wnarrowing): New.
9396
9397 PR c++/30112
9398 * c-common.h: Declare c_linkage_bindings.
9399 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9400
9401 PR c++/49813
9402 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9403 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9404 as flag_isoc99 for 'restrict'.
9405 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9406
9407 2011-07-21 Ian Lance Taylor <iant@google.com>
9408
9409 PR middle-end/49705
9410 * c-common.c (c_disable_warnings): New static function.
9411 (c_enable_warnings): New static function.
9412 (c_fully_fold_internal): Change local unused_p to bool. Call
9413 c_disable_warnings and c_enable_warnings rather than change
9414 c_inhibit_evaluation_warnings.
9415
9416 2011-07-20 Jason Merrill <jason@redhat.com>
9417
9418 PR c++/6709 (DR 743)
9419 PR c++/42603 (DR 950)
9420 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9421 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9422 (CPP_DECLTYPE): New.
9423 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9424
9425 2011-07-19 Richard Guenther <rguenther@suse.de>
9426
9427 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9428 * c-omp.c (c_finish_omp_for): Likewise.
9429
9430 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9431
9432 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9433 body on the next line.
9434
9435 2011-07-08 Jason Merrill <jason@redhat.com>
9436
9437 PR c++/45437
9438 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9439
9440 PR c++/49673
9441 * c-common.c (c_apply_type_quals_to_decl): Don't check
9442 TYPE_NEEDS_CONSTRUCTING.
9443
9444 2011-07-06 Richard Guenther <rguenther@suse.de>
9445
9446 * c-common.c (c_common_nodes_and_builtins):
9447 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9448
9449 2011-07-05 Richard Guenther <rguenther@suse.de>
9450
9451 * c-common.c (c_common_nodes_and_builtins): Build all common
9452 tree nodes first.
9453
9454 2011-06-27 Jakub Jelinek <jakub@redhat.com>
9455
9456 * c-common.h (c_tree_chain_next): New static inline function.
9457
9458 * c-common.c (check_builtin_function_arguments): Handle
9459 BUILT_IN_ASSUME_ALIGNED.
9460
9461 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
9462
9463 * c-common.c: Add sync_ or SYNC__ to builtin names.
9464 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9465
9466 2011-06-20 Pierre Vittet <piervit@pvittet.com>
9467
9468 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9469 handler.
9470 (gen_pragma_handler): New union.
9471 (internal_pragma_handler): New type.
9472 (c_register_pragma_with_data)
9473 (c_register_pragma_with_expansion_and_data): New functions.
9474
9475 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9476 (c_register_pragma, c_register_pragma_with_expansion)
9477 (c_invoke_pragma_handler): Changed to work with
9478 internal_pragma_handler.
9479 (c_register_pragma_with_data)
9480 (c_register_pragma_with_expansion_and_data): New functions.
9481
9482 2011-06-14 Joseph Myers <joseph@codesourcery.com>
9483
9484 * c-common.c: Include common/common-target.h.
9485 (handle_section_attribute): Use
9486 targetm_common.have_named_sections.
9487 * c-cppbuiltin.c: Include common/common-target.h.
9488 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9489
9490 2011-06-10 Richard Guenther <rguenther@suse.de>
9491
9492 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9493 to print a IDENTIFIER_NODE.
9494
9495 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9496 Joseph Myers <joseph@codesourcery.com>
9497
9498 * c.opt (fbuilding-libgcc): New option.
9499 * c-cppbuiltin.c (c_cpp_builtins): Define
9500 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9501
9502 2011-06-07 Jason Merrill <jason@redhat.com>
9503
9504 * c-common.c (max_tinst_depth): Lower default to 900.
9505
9506 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9507
9508 2011-06-07 Richard Guenther <rguenther@suse.de>
9509
9510 * c-common.c (c_common_nodes_and_builtins): Do not set
9511 size_type_node or call set_sizetype.
9512
9513 2011-06-07 Dodji Seketeli <dodji@redhat.com>
9514
9515 PR debug/49130
9516 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9517 type when using pointer comparison to compare types.
9518
9519 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9520
9521 * c.opt: Add -Wdelete-non-virtual-dtor.
9522 * c-opts.c (c_common_handle_option): Include it in -Wall.
9523
9524 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9525
9526 PR bootstrap/49190
9527
9528 Revert:
9529 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9530
9531 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9532 not tree_common.
9533
9534 2011-05-27 Jakub Jelinek <jakub@redhat.com>
9535
9536 PR c++/49165
9537 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9538 C++ don't call c_common_truthvalue_conversion on void type arms.
9539
9540 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9541
9542 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9543 (stmt_list_stack): Define.
9544 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9545 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9546
9547 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9548
9549 * c-common.c (warning_candidate_p): Check for BLOCKs.
9550
9551 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9552
9553 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9554 not tree_common.
9555
9556 2011-05-25 Jakub Jelinek <jakub@redhat.com>
9557
9558 * c-common.c (def_fn_type): Remove extra va_end.
9559
9560 2011-05-23 Jason Merrill <jason@redhat.com>
9561
9562 PR c++/48106
9563 * c-common.c (c_common_get_narrower): New.
9564 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9565
9566 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9567
9568 * c-common.h (check_function_arguments): Tweak prototype of
9569 check_function_arguments.
9570 * c-common.c (check_function_arguments): Likewise. Adjust
9571 calls to check_function_nonnull, check_function_format, and
9572 check_function_sentinel.
9573 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9574 separate attributes and typelist arguments. Use
9575 FOREACH_FUNCTION_ARGS to iterate over argument types.
9576
9577 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9578
9579 * c-common.c (c_common_reswords): Reorder.
9580 * c-common.h (rid): Likewise.
9581
9582 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9583
9584 * c-common.c (def_fn_type): Don't call build_function_type, call
9585 build_function_type_array or build_varargs_function_type_array
9586 instead.
9587 (c_common_nodes_and_builtins): Likewise.
9588
9589 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9590
9591 * c-common.c (c_add_case_label): Omit the loc argument to
9592 build_case_label.
9593 * c-common.h (build_case_label): Remove.
9594 * c-semantics.c (build_case_label): Remove.
9595
9596 2011-05-05 Joseph Myers <joseph@codesourcery.com>
9597
9598 * c-objc.h (objc_start_method_definition): Update prototype.
9599 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9600
9601 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9602
9603 * c-common.c (check_main_parameter_types): Reindent. Don't use
9604 TYPE_ARG_TYPES directly.
9605 (handle_nonnull_attribute): Likewise.
9606 (sync_resolve_params): Likewise.
9607 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9608 to check_format_string.
9609 (handle_format_attribute): Likewise.
9610 (check_format_string): Take a function type to examine instead of
9611 a type list. Use a function_arg_iterator to step through argument
9612 types.
9613
9614 2011-05-04 Richard Guenther <rguenther@suse.de>
9615
9616 * c-common.c (fix_string_type): Use size_int for index type bounds.
9617 (start_fname_decls): Do not pass NULL to build_int_cst.
9618 (c_init_attributes): Likewise.
9619 * c-lex.c (c_lex_with_flags): Likewise.
9620
9621 2011-04-27 Jason Merrill <jason@redhat.com>
9622
9623 * c-common.c (make_tree_vector_from_list): New.
9624 * c-common.h: Declare it.
9625
9626 2011-04-26 Richard Guenther <rguenther@suse.de>
9627
9628 PR preprocessor/48248
9629 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9630 for output size with -P.
9631
9632 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9633
9634 * c-common.c (struct c_common_resword): Add __underlying_type.
9635 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9636
9637 2011-04-20 Jim Meyering <meyering@redhat.com>
9638
9639 * c-format.c (init_dollar_format_checking): Remove useless
9640 if-before-free.
9641
9642 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9643
9644 * c-objc.h (objc_get_interface_ivars): Removed.
9645 (objc_detect_field_duplicates): New.
9646 * stub-objc.c: Likewise.
9647
9648 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9649
9650 * stub-objc.c (objc_declare_protocols): Renamed to
9651 objc_declare_protocol.
9652 * c-objc.h: Likewise.
9653
9654 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9655
9656 * stub-objc.c (objc_declare_class): Updated argument name.
9657
9658 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9659
9660 * c-common.h (c_common_init_ts): Declare.
9661 * c-common.c (c_common_init_ts): Define.
9662
9663 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9664
9665 * c-objc.h (objc_build_message_expr): Updated prototype.
9666 * stub-objc.c (objc_build_message_expr): Likewise.
9667
9668 2011-04-12 Martin Jambor <mjambor@suse.cz>
9669
9670 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9671 of cgraph_node.
9672
9673 2011-04-11 Richard Guenther <rguenther@suse.de>
9674
9675 * c-common.c (complete_array_type): Build a range type of
9676 proper type.
9677
9678 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9679
9680 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9681 (handle_type_generic_attribute): Likewise.
9682
9683 2011-04-07 Jason Merrill <jason@redhat.com>
9684
9685 PR c++/48450
9686 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9687 conversion from C++0x scoped enum.
9688
9689 2011-04-06 Joseph Myers <joseph@codesourcery.com>
9690
9691 * c-target-def.h: New file.
9692 * c-target.def: New file.
9693 * c-target.h: New file.
9694 * c-common.c (targetcm): Don't define here.
9695 * c-common.h (default_handle_c_option): Declare.
9696 * c-format.c: Include c-target.h instead of target.h.
9697 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9698 include tm.h.
9699 (default_handle_c_option): Move from targhooks.c.
9700
9701 2011-03-29 Jakub Jelinek <jakub@redhat.com>
9702
9703 PR preprocessor/48248
9704 * c-ppoutput.c (print): Add src_file field.
9705 (init_pp_output): Initialize it.
9706 (maybe_print_line): Don't optimize by adding up to 8 newlines
9707 if map->to_file and print.src_file are different file.
9708 (print_line): Update print.src_file.
9709
9710 2011-03-25 Kai Tietz <ktietz@redhat.com>
9711
9712 * c-ada-spec.c (compare_comment): Use filename_cmp
9713 instead of strcmp for filename.
9714
9715 2011-03-25 Jeff Law <law@redhat.com>
9716
9717 * c-common.c (def_fn_type): Add missing va_end.
9718
9719 2011-03-25 Jason Merrill <jason@redhat.com>
9720
9721 * c.opt: Add -std=c++03.
9722
9723 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9724
9725 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9726
9727 2011-03-17 Kai Tietz <ktietz@redhat.com>
9728
9729 PR target/12171
9730 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9731 Display allowed attributes for function pointer types.
9732 (pp_c_attributes_display): New function to display
9733 attributes having affects_type_identity flag set to true.
9734 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9735
9736 * c-common.c (c_common_attribute_table):
9737 Add new element.
9738 (c_common_format_attribute_table): Likewise.
9739
9740 2011-03-18 Jason Merrill <jason@redhat.com>
9741
9742 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9743 * c-common.h: Don't declare it here.
9744 * c-common.c: Or define it here.
9745 * c-opts.c (c_common_handle_option): Or set it here.
9746
9747 PR c++/35315
9748 * c-common.c (handle_transparent_union_attribute): Don't
9749 make a duplicate type in C++.
9750
9751 2011-03-15 Jason Merrill <jason@redhat.com>
9752
9753 * c-common.c (max_constexpr_depth): New.
9754 * c-common.h: Declare it.
9755 * c-opts.c (c_common_handle_option): Set it.
9756 * c.opt (fconstexpr-depth): New option.
9757
9758 2011-03-11 Jason Merrill <jason@redhat.com>
9759
9760 * c-common.c (attribute_takes_identifier_p): Add missing const.
9761
9762 PR c++/46803
9763 * c-common.c (attribute_takes_identifier_p): Assume that an
9764 unknown attribute takes an identifier.
9765
9766 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9767
9768 PR c/47786
9769 * c-common.c (c_type_hash): Call list_length instead of iterating
9770 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9771
9772 2011-02-19 Jakub Jelinek <jakub@redhat.com>
9773
9774 PR c/47809
9775 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9776
9777 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9778
9779 * c.opt (fobjc-abi-version=) New.
9780 (fobjc-nilcheck): New.
9781
9782 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9783
9784 PR c++/46890
9785 * c-common.h (keyword_is_decl_specifier): Declare.
9786 * c-common.c (keyword_is_decl_specifier): Define.
9787 (keyword_is_function_specifier): New function.
9788
9789 2011-01-26 Jakub Jelinek <jakub@redhat.com>
9790
9791 PR c/47473
9792 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9793 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9794 REAL_TYPE.
9795
9796 2011-01-26 Arnaud Charlet <charlet@adacore.com>
9797
9798 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9799
9800 2011-01-26 Jakub Jelinek <jakub@redhat.com>
9801
9802 PR pch/47430
9803 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9804 after init_c_lex if pch_file is set.
9805
9806 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9807
9808 PR c++/43601
9809 * c.opt (-fkeep-inline-dllexport): New switch.
9810
9811 2011-01-12 Richard Guenther <rguenther@suse.de>
9812
9813 PR middle-end/32511
9814 * c-common.c (handle_weak_attribute): Warn instead of error
9815 on declaring an inline function weak.
9816
9817 2011-01-05 Tom Tromey <tromey@redhat.com>
9818
9819 * c-common.h (lvalue_error): Update.
9820 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9821 not error.
9822
9823 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9824
9825 PR objc/47075
9826 * c-objc.h (objc_finish_message_expr): Added argument to
9827 prototype.
9828
9829 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9830
9831 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9832 Use prototype_p.
9833
9834 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9835
9836 * c-objc.h (objc_maybe_warn_exceptions): New.
9837 * stub-objc.c (objc_maybe_warn_exceptions): New.
9838
9839 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9840
9841 * c-common.h (readonly_error): Declare.
9842 * c-common.c (readonly_error): Define.
9843
9844 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9845
9846 * c-common.h (invalid_indirection_error): Declare.
9847 * c-common.c (invalid_indirection_error): Define.
9848
9849 2010-12-03 Richard Guenther <rguenther@suse.de>
9850
9851 PR c/46745
9852 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9853 (pp_c_unary_expression): Likewise.
9854 (pp_c_expression): Likewise.
9855
9856 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9857
9858 * c-common.h (objc_finish_function): New.
9859 (objc_non_volatilized_type): Removed.
9860 (objc_type_quals_match): Removed.
9861 * stub-objc.c (objc_finish_function): New.
9862 (objc_non_volatilized_type): Removed.
9863 (objc_type_quals_match): Removed.
9864
9865 2010-11-30 Joseph Myers <joseph@codesourcery.com>
9866
9867 * c-common.h (parse_optimize_options): Declare.
9868 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9869 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9870
9871 2010-11-29 Joseph Myers <joseph@codesourcery.com>
9872
9873 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9874 GET_ENVIRONMENT.
9875 * c-pch.c (O_BINARY): Don't define here.
9876 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9877
9878 2010-11-25 Joseph Myers <joseph@codesourcery.com>
9879
9880 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9881 targetm.except_unwind_info.
9882
9883 2010-11-23 Joseph Myers <joseph@codesourcery.com>
9884
9885 * c-opts.c (c_common_handle_option): Pass location to
9886 set_struct_debug_option.
9887
9888 2010-11-23 Joseph Myers <joseph@codesourcery.com>
9889
9890 * c-common.c (visibility_options): Move from ../opts.c.
9891 * c-common.h (struct visibility_flags, visibility_options):
9892 Declare here.
9893 * c-opts.c (finish_options): Rename to c_finish_options.
9894 (c_common_init): Update call to finish_options.
9895
9896 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9897
9898 PR objc/34033
9899 * c-lex.c (lex_string): Check that each string in an Objective-C
9900 string concat sequence starts with either one or zero '@', and
9901 that there are no spurious '@' signs at the end.
9902
9903 2010-11-20 Joseph Myers <joseph@codesourcery.com>
9904
9905 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9906 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9907 HANDLE_PRAGMA_VISIBILITY.
9908 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9909 HANDLE_PRAGMA_VISIBILITY): Don't define.
9910 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9911
9912 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9913
9914 PR c++/16189
9915 PR c++/36888
9916 PR c++/45331
9917 * c-common.h (keyword_begins_type_specifier): Declare.
9918 (keyword_is_storage_class_specifier): Declare.
9919 (keyword_is_type_qualifier): Declare.
9920 * c-common.c (keyword_begins_type_specifier): New function.
9921 (keyword_is_storage_class_specifier): New function.
9922 (keyword_is_type_qualifier): Declare.
9923
9924 2010-11-19 Joseph Myers <joseph@codesourcery.com>
9925
9926 PR c/46547
9927 * c-common.c (in_late_binary_op): Define.
9928 (c_common_truthvalue_conversion): Check in_late_binary_op before
9929 calling c_save_expr.
9930 * c-common.h (in_late_binary_op): Declare.
9931
9932 2010-11-19 Joseph Myers <joseph@codesourcery.com>
9933
9934 * c-opts.c (c_common_handle_option): Update calls to
9935 set_struct_debug_option.
9936
9937 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9938
9939 * c-common.h (objc_declare_protocols): Added additional argument.
9940 * stub-objc.c (objc_declare_protocol): Same change.
9941
9942 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9943
9944 PR c/33193
9945 * c-common.h (build_real_imag_expr): Declare.
9946 * c-semantics.c (build_real_imag_expr): Define.
9947
9948 2010-11-17 Joseph Myers <joseph@codesourcery.com>
9949
9950 * c-opts.c (c_common_parse_file): Take no arguments.
9951 * c-common.h (c_common_parse_file): Update prototype.
9952
9953 2010-11-16 Jakub Jelinek <jakub@redhat.com>
9954
9955 PR c++/46401
9956 * c-common.c (warning_candidate_p): Don't track non-const calls
9957 or STRING_CSTs.
9958
9959 2010-11-15 Ian Lance Taylor <iant@google.com>
9960
9961 * c-lex.c (init_c_lex): Set macro debug callbacks if
9962 flag_dump_go_spec is set.
9963
9964 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9965
9966 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9967 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9968
9969 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9970
9971 PR preprocessor/45038
9972 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9973 dialects.
9974
9975 2010-11-12 Joseph Myers <joseph@codesourcery.com>
9976
9977 * c-common.h (c_family_lang_mask): Declare.
9978 * c-opts.c (c_family_lang_mask): Make extern.
9979 * c-pragma.c (handle_pragma_diagnostic): Use
9980 control_warning_option.
9981
9982 2010-11-12 Joseph Myers <joseph@codesourcery.com>
9983
9984 * c-common.c (parse_optimize_options): Update call to
9985 decode_options.
9986 * c-common.h (c_common_handle_option): Update prototype.
9987 * c-opts.c (c_common_handle_option): Take location_t parameter and
9988 pass it to other functions.
9989
9990 2010-11-11 Joseph Myers <joseph@codesourcery.com>
9991
9992 * c-opts.c (warning_as_error_callback): Remove.
9993 (c_common_initialize_diagnostics): Don't call
9994 register_warning_as_error_callback.
9995 (c_common_handle_option): Handle -Werror=normalized= here.
9996
9997 2010-11-10 Joseph Myers <joseph@codesourcery.com>
9998
9999 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10000 in diagnostic.
10001 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10002 letter.
10003 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10004 Remove trailing '.' from diagnostics.
10005 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10006
10007 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10008
10009 * c-common.c (parse_optimize_options): Pass global_dc to
10010 decode_options.
10011 * c-opts.c (c_common_handle_option): Pass &global_options to
10012 set_Wstrict_aliasing.
10013 * c.opt (v): Don't mark Common or document here.
10014
10015 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10016
10017 PR target/44981
10018 * c-format.c (format_type): New type gcc_objc_string_format_type.
10019 (valid_stringptr_type_p): New.
10020 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10021 (check_format_string): Pass expected type, use
10022 valid_stringptr_type_p (), check that the format string types are
10023 consistent with the format specification.
10024 (decode_format_attr): Warn if NSString is used outside objective-c.
10025 (format_types_orig): Add NSString.
10026 (format_name): New.
10027 (format_flags): New.
10028 (check_format_arg): Handle format strings requiring an external parser.
10029 first_target_format_type: New variable.
10030 (handle_format_attribute): Set up first_target_format_type, pass the
10031 expected format arg string type to check_format_string().
10032 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10033 * stub-objc.c (objc_string_ref_type_p): New.
10034 (objc_check_format_arg): New.
10035
10036 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10037
10038 Fixed using the Objective-C 2.0 dot-syntax with class names.
10039 * c-common.h (objc_build_class_component_ref): New.
10040 * stub-objc.c (objc_build_class_component_ref): New.
10041
10042 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10043
10044 * c.opt (Wproperty-assign-default): New option.
10045
10046 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10047
10048 Implemented -fobjc-std=objc1 flag.
10049 * c.opt (fobjc-std=objc1): New option.
10050
10051 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10052
10053 Implemented format and noreturn attributes for Objective-C methods.
10054 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10055 attribute for Objective-C methods.
10056
10057 2010-10-31 Jason Merrill <jason@redhat.com>
10058
10059 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10060 EXPR_LOC_OR_HERE.
10061
10062 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10063
10064 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10065 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10066 (objc_add_property_declaration): Removed arguments for copies and
10067 ivar.
10068 (objc_build_getter_call): Renamed to
10069 objc_maybe_build_component_ref.
10070 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10071 (objc_is_property_ref): New.
10072 * c-common.c (c_common_reswords): Removed copies and ivar.
10073 * stub-objc.c (objc_add_property_declaration): Removed arguments
10074 for copies and ivar.
10075 (objc_build_getter_call): Renamed to
10076 objc_maybe_build_component_ref.
10077 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10078 (objc_is_property_ref): New.
10079
10080 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10081 Matthew Gingell <gingell@adacore.com>
10082
10083 * c-ada-spec.c (separate_class_package): New function.
10084 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10085 name of their enclosing package.
10086 (print_ada_declaration): Use separate_class_package.
10087
10088 2010-10-27 Jason Merrill <jason@redhat.com>
10089
10090 * c-common.c (c_common_reswords): Add __is_literal_type.
10091 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10092
10093 * c-common.c (check_case_value): Remove special C++ code.
10094
10095 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10096
10097 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10098 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10099 and RID_LAST_PATTR.
10100 (objc_add_property_declaration): Added additional arguments.
10101 (objc_property_attribute_kind): Removed.
10102 (objc_set_property_attr): Removed.
10103 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10104 copy and nonatomic.
10105 * stub-objc.c (objc_add_property_declaration): Added additional
10106 arguments.
10107 (objc_set_property_attr): Removed.
10108
10109 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10110
10111 * c-common.h (objc_add_property_variable): Renamed to
10112 objc_add_property_declaration. Added location argument.
10113 * stub-objc.c (objc_add_property_variable): Same change.
10114
10115 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10116
10117 * c-common.h (objc_maybe_printable_name): New.
10118 * stub-objc.c (objc_maybe_printable_name): New.
10119
10120 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10121 Andrew Pinski <pinskia@gmail.com>
10122
10123 * c-common.h (c_common_mark_addressable_vec): Declare.
10124 * c-common.c (c_common_mark_addressable_vec): New function.
10125
10126 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10127
10128 * c-common.h (objc_set_method_type): Removed.
10129 (objc_add_method_declaration): Added boolean argument.
10130 (objc_start_method_definition): Same change.
10131 (objc_build_method_signature): Same change.
10132 * stub-objc.c (objc_set_method_type): Removed.
10133 (objc_add_method_declaration): Added boolean argument.
10134 (objc_start_method_definition): Same change.
10135 (objc_build_method_signature): Same change.
10136
10137 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10138
10139 * c-common.h (finish_file): Removed.
10140 (objc_write_global_declarations): New.
10141 * c-opts.c (c_common_parse_file): Do not call finish_file.
10142 * stub-objc.c (objc_write_global_declarations): New.
10143
10144 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10145
10146 Implemented parsing @synthesize and @dynamic for
10147 Objective-C/Objective-C++.
10148 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10149 (objc_add_synthesize_declaration): New.
10150 (objc_add_dynamic_declaration): New.
10151 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10152 * stub-objc.c (objc_add_synthesize_declaration): New.
10153 (objc_add_dynamic_declaration): New.
10154
10155 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10156
10157 PR target/46041
10158 * c-cppbuiltin.c (mode_has_fma): Move function here from
10159 builtins.c. Don't use the fma optab, instead just use the
10160 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10161 using -save-temps.
10162
10163 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10164
10165 Merge from 'apple/trunk' branch on FSF servers.
10166
10167 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
10168
10169 Radar 4330422
10170 * c-common.h (objc_non_volatilized_type): New declaration
10171 * stub-objc.c (objc_non_volatilized_type): New stub.
10172
10173 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10174
10175 Merge from 'apple/trunk' branch on FSF servers.
10176
10177 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
10178
10179 Radar 4133425
10180 * c-common.h (objc_diagnose_private_ivar): New decl.
10181 * stub-objc.c (objc_diagnose_private_ivar): New stub.
10182
10183 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10184
10185 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10186 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10187 (objc_ivar_visibility_kind): New enum.
10188 (objc_set_visibility): Adjust prototype to use visibility enum.
10189 * stub-objc.c (objc_set_visibility): Adjust stub to use
10190 visibility enum.
10191
10192 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10193
10194 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10195 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10196 has the appropriate fma builtins.
10197 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10198
10199 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10200
10201 merge from FSF apple 'trunk' branch.
10202 2006 Fariborz Jahanian <fjahanian@apple.com>
10203
10204 Radars 4436866, 4505126, 4506903, 4517826
10205 * c-common.c (c_common_resword): Define @property and its attributes.
10206 * c-common.h: Define property attribute enum entries.
10207 (OBJC_IS_PATTR_KEYWORD): New.
10208 (objc_property_attribute_kind): New enum.
10209 Declare objc_set_property_attr (), objc_add_property_variable (),
10210 objc_build_getter_call () and objc_build_setter_call ().
10211 * stub-objc.c (objc_set_property_attr): New stub.
10212 (objc_add_property_variable): Likewise.
10213 (objc_build_getter_call): Likewise.
10214 (objc_build_setter_call) Likewise.
10215
10216 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10217
10218 merge from FSF apple 'trunk' branch.
10219 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
10220
10221 Radar 3803157 (method attributes)
10222 * c-common.c (handle_deprecated_attribute): Recognize
10223 objc methods as valid declarations.
10224 * c-common.h: Declare objc_method_decl ().
10225 * stub-objc.c (objc_method_decl): New stub.
10226
10227 2010-10-08 Joseph Myers <joseph@codesourcery.com>
10228
10229 * c-common.c (parse_optimize_options): Call
10230 decode_cmdline_options_to_array_default_mask before
10231 decode_options. Update arguments to decode_options.
10232 * c-common.h (c_common_init_options_struct): Declare.
10233 * c-opts.c (c_common_init_options_struct): New. Split out from
10234 c_common_init_options.
10235
10236 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10237
10238 Implemented fast enumeration for Objective-C.
10239 * c-common.h (objc_finish_foreach_loop): New.
10240 * stub-objc.c (objc_finish_foreach_loop): New.
10241
10242 2010-10-05 Joseph Myers <joseph@codesourcery.com>
10243
10244 * c-common.h (struct diagnostic_context): Don't declare here.
10245 (c_common_initialize_diagnostics): Declare using
10246 diagnostic_context typedef.
10247 * c-opts.c (c_common_handle_option): Pass global_dc to
10248 handle_generated_option.
10249
10250 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10251
10252 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10253 handle_generated_option.
10254
10255 2010-10-03 Ian Lance Taylor <iant@google.com>
10256
10257 * c.opt (-fplan9-extensions): New option.
10258
10259 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10260
10261 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10262 Remove.
10263 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10264 of duplicating code.
10265
10266 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10267
10268 * c-common.c: Add two new entries for @optional
10269 and @required keywords.
10270
10271 merge from FSF 'apple/trunk' branch.
10272 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
10273
10274 Radar 4386773
10275 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10276 objective-c keywords.
10277 (objc_set_method_opt): New declaration.
10278 * stub-objc.c (objc_set_method_opt): New stub.
10279
10280 2010-09-30 Joseph Myers <joseph@codesourcery.com>
10281
10282 * c-common.c (handle_optimize_attribute): Pass &global_options to
10283 cl_optimization_save and cl_optimization_restore.
10284 * c-opts.c (c_common_handle_option): Pass &global_options to
10285 handle_generated_option.
10286 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10287 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10288 &global_options to cl_optimization_restore.
10289
10290 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10291
10292 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10293 Objective-C/Objective-C++ keywords.
10294
10295 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10296
10297 Merge from 'apple/trunk' branch on FSF servers.
10298
10299 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
10300
10301 Radar 4281748
10302 * c-common.h (objc_check_global_decl): New declaration.
10303 * stub-objc.c (objc_check_global_decl): New stub.
10304
10305 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10306
10307 * c.opt: Don't use VarExists.
10308
10309 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10310
10311 * c-common.c (c_cpp_error): Update names of diagnostic_context
10312 members.
10313 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10314 cl_optimization members.
10315 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10316 sanitize_cpp_opts, finish_options): Update names of cpp_options
10317 members.
10318
10319 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10320
10321 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10322 (objc_is_reserved_word): Removed.
10323 * c-common.c: Updated comments.
10324 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10325 objc_is_reserved_word.
10326 * stub-objc.c (objc_is_reserved_word): Removed.
10327
10328 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10329
10330 * c-common.h (objc_add_method_declaration): Adjust prototype to
10331 include attributes.
10332 (objc_start_method_definition): Likewise.
10333 (objc_build_keyword_decl): Likewise.
10334 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10335 (objc_start_method_definition): Likewise.
10336 (objc_build_keyword_decl): Likewise.
10337
10338 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10339
10340 * c-common.h (objc_start_class_interface): Adjust prototype.
10341 (objc_start_category_interface): Likewise.
10342 (objc_start_protocol): Likewise.
10343 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10344 (objc_start_class_interface): Likewise.
10345 (objc_start_category_interface): Likewise.
10346
10347 2010-09-27 Ian Lance Taylor <iant@google.com>
10348
10349 * c-common.c (c_common_attribute_table): Add no_split_stack.
10350 (handle_no_split_stack_attribute): New static function.
10351
10352 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10353
10354 Merge from 'apple/trunk' branch on FSF servers.
10355
10356 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
10357
10358 Radar 4229905
10359 * c-common.h (objc_have_common_type): New declaration.
10360 * stub-objc.c (objc_have_common_type): New stub.
10361
10362 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10363
10364 Radar 4154928
10365 * c-common.h (objc_common_type): New prototype.
10366 * stub-objc.c (objc_common_type): New stub.
10367
10368 2010-09-24 Jan Hubicka <jh@suse.cz>
10369
10370 * c-common.c (handle_leaf_attribute): New function.
10371 (struct attribute_spec c_common_att): Add leaf.
10372
10373 2010-09-22 Joseph Myers <joseph@codesourcery.com>
10374
10375 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10376 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10377 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10378 -include-barrier, -include-directory, -include-directory=,
10379 -include-directory-after, -include-directory-after=,
10380 -include-prefix, -include-prefix=, -include-with-prefix,
10381 -include-with-prefix=, -include-with-prefix-after,
10382 -include-with-prefix-after=, -include-with-prefix-before,
10383 -include-with-prefix-before=, -no-integrated-cpp,
10384 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10385 -output=, -pedantic, -pedantic-errors, -preprocess,
10386 -print-missing-file-dependencies, -trace-includes, -traditional,
10387 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10388 -user-dependencies, -verbose, -write-dependencies,
10389 -write-user-dependencies, no-integrated-cpp, traditional): New.
10390
10391 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10392
10393 PR objc/23710
10394 * c-common.h (objc_start_method_definition): Return bool instead
10395 of void.
10396 * stub-objc.c (objc_start_method_definition): Return bool instead
10397 of void.
10398
10399 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10400
10401 PR objc/25965
10402 * c-common.h (objc_get_interface_ivars): New declaration.
10403 * stub-objc.c (objc_get_interface_ivars): New stub.
10404
10405 2010-09-15 Ian Lance Taylor <iant@google.com>
10406
10407 * c-common.c (parse_optimize_options): Do not capitalize warning
10408 messages. Remove period at end of warning message.
10409
10410 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10411
10412 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10413 (handle_alias_attribute): ... here.
10414 (handle_ifunc_attribute): New.
10415
10416 2010-09-06 Mark Mitchell <mark@codesourcery.com>
10417
10418 * c-common.h (do_warn_double_promotion): Declare.
10419 * c-common.c (do_warn_double_promotion): Define.
10420
10421 2010-09-05 Mark Mitchell <mark@codesourcery.com>
10422
10423 * c.opt (Wdouble-promotion): New.
10424
10425 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10426
10427 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10428 fvtable-thunks, fxref): Mark no longer supported in help text.
10429
10430 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10431
10432 * c.opt (Wimport, fall-virtual, falt-external-templates,
10433 fdefault-inline, fenum-int-equiv, fexternal-templates,
10434 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10435 fname-mangling-version-, fnew-abi, fnonnull-objects,
10436 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10437 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10438 applicable.
10439 (fhandle-exceptions): Mark with Alias and Warn.
10440 * c-opts.c (c_common_handle_option): Don't handle options marked
10441 as ignored.
10442
10443 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10444
10445 * c.opt (Wcomments, Werror-implicit-function-declaration,
10446 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10447 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10448 aliases.
10449 * c-common.c (option_codes): Use OPT_Wcomment instead of
10450 OPT_Wcomments.
10451 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10452 Don't handle options marked as aliases.
10453
10454 2010-08-25 Richard Guenther <rguenther@suse.de>
10455
10456 * c-common.c (c_common_get_alias_set): Remove special
10457 handling for pointers.
10458
10459 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10460
10461 * c-common.c: Use FOR_EACH_VEC_ELT.
10462 * c-gimplify.c: Likewise.
10463 * c-pragma.c: Likewise.
10464
10465 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10466
10467 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10468 RejectDriver.
10469 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10470 RejectDriver.
10471 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10472 instead of OPT_MDX and OPT_MMDX.
10473
10474 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10475
10476 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10477
10478 2010-08-12 Joseph Myers <joseph@codesourcery.com>
10479
10480 * c.opt (MD, MMD): Change to MDX and MMDX.
10481 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10482
10483 2010-08-11 Joseph Myers <joseph@codesourcery.com>
10484
10485 * c-opts.c (c_common_handle_option): Call handle_generated_option
10486 instead of handle_option.
10487
10488 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10489
10490 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10491 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10492
10493 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10494
10495 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10496 (pending_redefine_extname): Change type to a VEC.
10497 (add_to_renaming_pragma_list): Update for new type of
10498 pending_redefine_extname.
10499 (maybe_apply_renaming_pragma): Likewise.
10500
10501 2010-08-04 Arnaud Charlet <charlet@adacore.com>
10502
10503 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10504 visited.
10505 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10506 decide whether a type has already been declared/seen.
10507 Do not go to the original type.
10508 (dump_nested_types): New parameter forward.
10509 Generate forward declaration if needed and mark type as visited.
10510 (print_ada_declaration): Call dump_nested_types if not already done.
10511 Mark types as visited.
10512
10513 2010-08-03 Joseph Myers <joseph@codesourcery.com>
10514
10515 * c.opt (-print-pch-checksum): Remove option.
10516 * c-opts.c (c_common_handle_option): Don't handle
10517 OPT_print_pch_checksum.
10518
10519 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10520
10521 * c-common.h (c_common_handle_option): Update prototype and return
10522 value type.
10523 * c-opts.c (c_common_handle_option): Update prototype and return
10524 value type. Update calls to handle_option and
10525 enable_warning_as_error.
10526
10527 2010-07-27 Jakub Jelinek <jakub@redhat.com>
10528
10529 PR c/45079
10530 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10531
10532 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10533
10534 * c-common.h (c_common_missing_argument): Remove.
10535 * c-opts.c (c_common_missing_argument): Remove.
10536 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10537 idirafter, imacros, include, isysroot, isystem, iquote): Add
10538 MissingArgError.
10539 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10540
10541 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10542
10543 * c-common.h (c_common_option_lang_mask,
10544 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10545 New.
10546 (c_common_init_options): Update prototype.
10547 * c-opts.c (c_common_option_lang_mask): New.
10548 (c_common_initialize_diagnostics): Split out of
10549 c_common_init_options.
10550 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10551 New.
10552 (c_common_init_options): Update prototype. Use decoded options in
10553 search for -lang-asm.
10554
10555 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10556
10557 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10558 * c-format.c: Likewise.
10559
10560 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10561
10562 * c-common.h: Include diagnostic-core.h. Error if already
10563 included.
10564 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10565
10566 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10567
10568 * c-common.c (IN_GCC_FRONTEND): Do not undef.
10569 Do not include expr.h
10570 (vector_mode_valid_p): Move here.
10571
10572 2010-06-21 DJ Delorie <dj@redhat.com>
10573
10574 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10575 allow these pragmas anywhere.
10576
10577 2010-06-14 Jakub Jelinek <jakub@redhat.com>
10578
10579 PR bootstrap/44509
10580 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10581 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10582 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10583 ggc_strdup instead of xstrdup.
10584
10585 2010-06-10 Jakub Jelinek <jakub@redhat.com>
10586
10587 * c-cppbuiltin.c: Include cpp-id-data.h.
10588 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10589 (lazy_hex_fp_value): New function.
10590 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10591
10592 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10593
10594 * c-gimplify.c: Do not include tree-flow.h
10595
10596 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10597
10598 PR other/44034
10599 * c-common.c: Rename targetm member:
10600 targetm.enum_va_list -> targetm.enum_va_list_p
10601
10602 2010-06-28 Anatoly Sokolov <aesok@post.ru>
10603
10604 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10605
10606 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10607
10608 * c-cppbuiltin.c: Do not include except.h.
10609
10610 2010-06-24 Andi Kleen <ak@linux.intel.com>
10611
10612 * c-common.c (warn_for_omitted_condop): New.
10613 * c-common.h (warn_for_omitted_condop): Add prototype.
10614
10615 2010-06-21 Joseph Myers <joseph@codesourcery.com>
10616
10617 * c.opt (lang-objc): Remove.
10618 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10619
10620 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10621
10622 * c-opts.c: Include "tm_p.h".
10623
10624 2010-06-20 Joseph Myers <joseph@codesourcery.com>
10625
10626 * c-common.c (parse_optimize_options): Update call to
10627 decode_options.
10628
10629 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10630
10631 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10632 new type of types_used_by_cur_var_decl.
10633
10634 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10635
10636 PR bootstrap/44512
10637 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10638 for C++ standard compliance.
10639
10640 2010-06-16 Jason Merrill <jason@redhat.com>
10641
10642 * c.opt: Add -Wnoexcept.
10643
10644 2010-06-16 Richard Guenther <rguenther@suse.de>
10645
10646 PR c/44555
10647 * c-common.c (c_common_truthvalue_conversion): Remove
10648 premature and wrong optimization concering ADDR_EXPRs.
10649
10650 2010-06-15 Arnaud Charlet <charlet@adacore.com>
10651
10652 * c-ada-spec.c (dump_sloc): Remove column info.
10653 (is_simple_enum): New function.
10654 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10655 enum types when relevant.
10656
10657 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10658
10659 * c-common.c (conversion_warning): Warn at expression
10660 location.
10661
10662 2010-06-10 Joseph Myers <joseph@codesourcery.com>
10663
10664 * c-opts.c (c_common_handle_option): Don't handle
10665 OPT_fshow_column.
10666
10667 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10668
10669 * c-pragma.c (push_alignment): Use typed GC allocation.
10670 (handle_pragma_push_options): Likewise.
10671
10672 * c-common.c (parse_optimize_options): Likewise.
10673
10674 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10675 option.
10676
10677 2010-06-07 Joseph Myers <joseph@codesourcery.com>
10678
10679 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10680 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10681 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10682 flag_signed_bitfields, warn_strict_null_sentinel,
10683 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10684 flag_gen_declaration, flag_no_gnu_keywords,
10685 flag_implement_inlines, flag_implicit_templates,
10686 flag_implicit_inline_templates, flag_optional_diags,
10687 flag_elide_constructors, flag_default_inline, flag_rtti,
10688 flag_conserve_space, flag_access_control, flag_check_new,
10689 flag_new_for_scope, flag_weak, flag_working_directory,
10690 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10691 flag_enforce_eh_specs, flag_threadsafe_statics,
10692 flag_pretty_templates): Remove.
10693 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10694 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10695 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10696 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10697 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10698 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10699 flag_no_gnu_keywords, flag_implement_inlines,
10700 flag_implicit_templates, flag_implicit_inline_templates,
10701 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10702 flag_rtti, flag_conserve_space, flag_access_control,
10703 flag_check_new, flag_new_for_scope, flag_weak,
10704 flag_working_directory, flag_use_cxa_atexit,
10705 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10706 flag_threadsafe_statics, flag_pretty_templates,
10707 warn_strict_null_sentinel): Remove.
10708 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10709 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10710 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10711 fimplicit-inline-templates, fimplicit-templates,
10712 flax-vector-conversions, fms-extensions, fnil-receivers,
10713 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10714 frtti, fshort-double, fshort-enums, fshort-wchar,
10715 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10716 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10717 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10718 gen-decls, undef): Use Var.
10719 (fdefault-inline, foptional-diags): Document as doing nothing.
10720 * c-opts.c (c_common_handle_option): Remove cases for options now
10721 using Var. Mark ignored options as such.
10722
10723 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10724
10725 * c-common.c: Moved to here from parent directory.
10726 * c-common.def: Likewise.
10727 * c-common.h: Likewise.
10728 * c-cppbuiltin.c: Likewise.
10729 * c-dump.c: Likewise.
10730 * c-format.c: Likewise.
10731 * c-format.h : Likewise.
10732 * c-gimplify.c: Likewise.
10733 * c-lex.c: Likewise.
10734 * c-omp.c: Likewise.
10735 * c.opt: Likewise.
10736 * c-opts.c: Likewise.
10737 * c-pch.c: Likewise.
10738 * c-ppoutput.c: Likewise.
10739 * c-pragma.c: Likewise.
10740 * c-pragma.h: Likewise.
10741 * c-pretty-print.c: Likewise.
10742 * c-pretty-print.h: Likewise.
10743 * c-semantics.c: Likewise.
10744 * stub-objc.c: Likewise.
10745
10746 * c-common.c: Include gt-c-family-c-common.h.
10747 * c-pragma.c: Include gt-c-family-c-pragma.h.
10748 \f
10749 Copyright (C) 2010-2019 Free Software Foundation, Inc.
10750
10751 Copying and distribution of this file, with or without modification,
10752 are permitted in any medium without royalty provided the copyright
10753 notice and this notice are preserved.