]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
attribs: fix typedefs in generic code [PR105492]
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
9df4ffe4
GA
12022-05-13 Richard Biener <rguenther@suse.de>
2
3 * c-omp.cc: Remove gimple-fold.h include.
4
49ace834
GA
52022-05-12 Jakub Jelinek <jakub@redhat.com>
6
7 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
8 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
9 if null_pointer_node.
10
d0d513b5
GA
112022-05-11 Martin Liska <mliska@suse.cz>
12
13 PR target/105355
14 * c-opts.cc (c_common_handle_option): Change option name.
15 * c.opt: Remove Joined and use Separate option.
16
bd022ff9
GA
172022-05-09 Alex Coplan <alex.coplan@arm.com>
18
19 * c-common.h (get_dump_info): Delete.
20 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
21 from the global dump_manager instead of the (now obsolete)
22 get_dump_info.
23 * c-opts.cc (original_dump_file): Delete.
24 (original_dump_flags): Delete.
25 (c_common_parse_file): Switch to using global dump_manager to
26 manage the original dump file; fix leak of dump file.
27 (get_dump_info): Delete.
28
a1947c92
GA
292022-05-07 Marek Polacek <polacek@redhat.com>
30
31 PR c++/101833
32 PR c++/47634
33 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
34 with FN being either a function declaration or function type. Use
35 maybe_adjust_arg_pos_for_attribute.
36 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
37 check_function_format.
38 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
39 (positional_argument): Adjust.
40 * c-format.cc (get_constant): Rename to ...
41 (validate_constant): ... this. Take EXPR by reference. Return bool
42 instead of tree.
43 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
44 return value of validate_constant.
45 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
46 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
47 (check_function_format): Adjust a parameter name.
48 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
49
3e7db517
GA
502022-05-04 Marek Polacek <polacek@redhat.com>
51
52 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
53 char to int.
54
95874f95
GA
552022-04-30 Jason Merrill <jason@redhat.com>
56
57 PR c/100545
58 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
59 and typedef.
60 * c-common.cc (set_underlying_type): Add assert.
61
01ad093b
GA
622022-04-26 Patrick Palka <ppalka@redhat.com>
63
64 PR c++/105304
65 * c-common.cc (verify_tree) [restart]: Move up to before the
66 NULL test.
67
da066c42
GA
682022-04-11 Jakub Jelinek <jakub@redhat.com>
69
70 PR c++/105186
71 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
72 and __int%d__ builtin types, initialize corresponding ridpointers
73 entry.
74
150ab50f
GA
752022-03-30 Marek Polacek <polacek@redhat.com>
76
77 PR c++/101030
78 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
79 conversion_warning when OP1 is null.
80
812022-03-30 Thomas Schwinge <thomas@codesourcery.com>
82
83 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
84 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
85 option properties.
86
872022-03-30 Thomas Schwinge <thomas@codesourcery.com>
88
89 * c.opt (Wuse-after-free): Remove.
90
912022-03-30 Thomas Schwinge <thomas@codesourcery.com>
92
93 * c.opt (Warray-bounds): Remove.
94
d2906412
GA
952022-03-26 Thomas Schwinge <thomas@codesourcery.com>
96
97 * c.opt: Properly quote comment.
98
31e989a2
GA
992022-03-25 Eric Botcazou <ebotcazou@adacore.com>
100
101 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
102 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
103 the referenced type instead. Deal with the anonymous original type
104 of a typedef'ed type. In the actual access case, follow the chain
105 of external subtypes.
106 <TYPE_DECL>: Tidy up control flow.
107
d156bb87
GA
1082022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
109
110 * c-ada-spec.cc: Change array length
111
d7f00da1
GA
1122022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
113
114 * c-common.cc (c_family_tests): Call the new tests.
115 * c-common.h (c_diagnostic_tests): Declare.
116 (c_opt_problem_cc_tests): Likewise.
117
1182022-03-19 Jakub Jelinek <jakub@redhat.com>
119
120 PR c++/101515
121 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
122 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
123 be printed.
124
9fc8f278
GA
1252022-03-16 Christophe Lyon <christophe.lyon@arm.com>
126 Roger Sayle <roger@nextmovesoftware.com>
127
128 PR c/98198
129 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
130
1312022-03-16 Patrick Palka <ppalka@redhat.com>
132
133 PR c++/96780
134 * c.opt: Add -ffold-simple-inlines.
135
b9756c08
GA
1362022-03-13 Tobias Burnus <tobias@codesourcery.com>
137
138 * c-target.def (check_string_object_format_arg): Fix description typo.
139
57eeedda
GA
1402022-03-12 Thomas Schwinge <thomas@codesourcery.com>
141
142 PR other/65095
143 * c-common.h (c_omp_map_clause_name): Remove.
144 * c-omp.cc (c_omp_map_clause_name): Remove.
145
8cc4f9cd
GA
1462022-03-09 Jakub Jelinek <jakub@redhat.com>
147
148 PR c/104711
149 * c-opts.cc (c_common_post_options): Don't enable
150 -Wshift-negative-value from -Wextra for C++20 or later.
151 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
152 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
153 instead of TYPE_UNSIGNED.
154
e6533e2e
GA
1552022-03-07 Jakub Jelinek <jakub@redhat.com>
156
157 * c-attribs.cc: Fix up duplicated word issue in a comment.
158
12d4552e
GA
1592022-03-01 Martin Liska <mliska@suse.cz>
160
161 PR ipa/104533
162 * c-attribs.cc (handle_target_clones_attribute): Use
163 get_target_clone_attr_len and report warning soon.
164
0bdb0498
GA
1652022-02-17 Jonathan Wakely <jwakely@redhat.com>
166
167 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
168 (handle_pragma_weak): Likewise.
169 (handle_pragma_scalar_storage_order): Likewise.
170 (handle_pragma_redefine_extname): Likewise.
171 (handle_pragma_visibility): Likewise.
172 (handle_pragma_diagnostic): Likewise.
173 (handle_pragma_target): Likewise.
174 (handle_pragma_optimize): Likewise.
175 (handle_pragma_push_options): Likewise.
176 (handle_pragma_pop_options): Likewise.
177 (handle_pragma_reset_options): Likewise.
178 (handle_pragma_message): Likewise.
179 (handle_pragma_float_const_decimal64): Likewise.
180
cb3afcd2
GA
1812022-02-16 Jakub Jelinek <jakub@redhat.com>
182
183 PR c/104531
184 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
185 build_binary_op with LT_EXPR and only if that doesn't return
186 error_mark_node call build_modify_expr.
187
1882022-02-16 Jakub Jelinek <jakub@redhat.com>
189
190 PR c/104510
191 * c-common.cc (shorten_compare): Convert original arguments to
192 the original *restype_ptr when mixing binary and decimal float.
193
1f8a09d2
GA
1942022-02-14 Richard Biener <rguenther@suse.de>
195
196 PR c/104505
197 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
198 internal function calls.
199
e8d68f0a
GA
2002022-02-11 Richard Biener <rguenther@suse.de>
201
202 * c-attribs.cc (c_common_attribute_table): Add entry for
203 vector_mask.
204 (handle_vector_mask_attribute): New.
205
a645583d
GA
2062022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
207
208 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
209 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
210 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
211
3adf509f
GA
2122022-02-09 Jason Merrill <jason@redhat.com>
213
214 * c-cppbuiltin.cc (c_cpp_builtins): Update values
215 of __cpp_constexpr and __cpp_concepts for C++20.
216
bb99171b
GA
2172022-01-24 Marek Polacek <polacek@redhat.com>
218
219 PR preprocessor/104030
220 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
221
9dd44357
GA
2222022-01-21 Jakub Jelinek <jakub@redhat.com>
223
224 PR c++/104148
225 * c-common.h (check_function_arguments_recurse): Add for_format
226 arg.
227 * c-common.cc (check_function_nonnull): Pass false to
228 check_function_arguments_recurse's last argument.
229 (check_function_arguments_recurse): Add for_format argument,
230 if true, don't stop on warning_suppressed_p.
231 * c-format.cc (check_format_info): Pass true to
232 check_function_arguments_recurse's last argument.
233
fe1ad141
GA
2342022-01-19 David Malcolm <dmalcolm@redhat.com>
235
236 * c-common.cc (c_common_c_tests): Rename to...
237 (c_common_cc_tests): ...this.
238 (c_family_tests): Update calls for .c to .cc renaming.
239 * c-common.h (c_format_c_tests): Rename to...
240 (c_format_cc_tests): ...this.
241 (c_indentation_c_tests): Rename to...
242 (c_indentation_cc_tests): ...this.
243 (c_pretty_print_c_tests): Rename to...
244 (c_pretty_print_cc_tests): ...this.
245 * c-format.cc (c_format_c_tests): Rename to...
246 (c_format_cc_tests): ...this.
247 * c-indentation.cc (c_indentation_c_tests): Rename to...
248 (c_indentation_cc_tests): ...this.
249 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
250 (c_pretty_print_cc_tests): ...this.
251
fc829782
GA
2522022-01-17 Martin Liska <mliska@suse.cz>
253
254 * c-ada-spec.cc: Rename .c names to .cc.
255 * c-ada-spec.h: Likewise.
256 * c-common.cc (c_build_vec_convert): Likewise.
257 (warning_candidate_p): Likewise.
258 * c-common.h (enum rid): Likewise.
259 (build_real_imag_expr): Likewise.
260 (finish_label_address_expr): Likewise.
261 (c_get_substring_location): Likewise.
262 (c_build_bind_expr): Likewise.
263 (conflict_marker_get_final_tok_kind): Likewise.
264 (c_parse_error): Likewise.
265 (check_missing_format_attribute): Likewise.
266 (invalid_array_size_error): Likewise.
267 (warn_for_multistatement_macros): Likewise.
268 (build_attr_access_from_parms): Likewise.
269 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
270 * c-format.cc: Likewise.
271 * c-gimplify.cc (c_gimplify_expr): Likewise.
272 * c-indentation.h: Likewise.
273 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
274 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
275 * c-opts.cc (c_common_post_options): Likewise.
276 (set_std_cxx23): Likewise.
277 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
278 * c-pretty-print.h: Likewise.
279
2802022-01-17 Martin Liska <mliska@suse.cz>
281
282 * c-ada-spec.c: Moved to...
283 * c-ada-spec.cc: ...here.
284 * c-attribs.c: Moved to...
285 * c-attribs.cc: ...here.
286 * c-common.c: Moved to...
287 * c-common.cc: ...here.
288 * c-cppbuiltin.c: Moved to...
289 * c-cppbuiltin.cc: ...here.
290 * c-dump.c: Moved to...
291 * c-dump.cc: ...here.
292 * c-format.c: Moved to...
293 * c-format.cc: ...here.
294 * c-gimplify.c: Moved to...
295 * c-gimplify.cc: ...here.
296 * c-indentation.c: Moved to...
297 * c-indentation.cc: ...here.
298 * c-lex.c: Moved to...
299 * c-lex.cc: ...here.
300 * c-omp.c: Moved to...
301 * c-omp.cc: ...here.
302 * c-opts.c: Moved to...
303 * c-opts.cc: ...here.
304 * c-pch.c: Moved to...
305 * c-pch.cc: ...here.
306 * c-ppoutput.c: Moved to...
307 * c-ppoutput.cc: ...here.
308 * c-pragma.c: Moved to...
309 * c-pragma.cc: ...here.
310 * c-pretty-print.c: Moved to...
311 * c-pretty-print.cc: ...here.
312 * c-semantics.c: Moved to...
313 * c-semantics.cc: ...here.
314 * c-ubsan.c: Moved to...
315 * c-ubsan.cc: ...here.
316 * c-warn.c: Moved to...
317 * c-warn.cc: ...here.
318 * cppspec.c: Moved to...
319 * cppspec.cc: ...here.
320 * stub-objc.c: Moved to...
321 * stub-objc.cc: ...here.
322
9248ee41
GA
3232022-01-15 Martin Sebor <msebor@redhat.com>
324
325 PR c/63272
326 * c.opt (-Wdangling-pointer): New option.
327
3282022-01-15 Martin Sebor <msebor@redhat.com>
329
330 PR tree-optimization/80532
331 * c.opt (-Wuse-after-free): New options.
332
617db51d
GA
3332022-01-14 David Malcolm <dmalcolm@redhat.com>
334
335 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
336 (handle_tainted_args_attribute): New.
337
ad3f0d08
GA
3382022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
339 Jason Merrill <jason@redhat.com>
340
341 PR c++/70417
342 * c.opt: Added -Wmissing-template-keyword.
343
3442022-01-13 Richard Biener <rguenther@suse.de>
345
346 PR c/104002
347 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
348
02a8a01b
GA
3492022-01-12 Martin Liska <mliska@suse.cz>
350
351 PR target/103804
352 * c-attribs.c (handle_optimize_attribute): Do not call
353 cl_optimization_compare if we seen an error.
354
01a254e3
GA
3552022-01-11 Jakub Jelinek <jakub@redhat.com>
356
357 PR c/101537
358 PR c/103881
359 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
360 and BIT_XOR_EXPR.
361
d9450aa0
GA
3622022-01-10 Richard Biener <rguenther@suse.de>
363
364 PR middle-end/101530
365 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
366 in a TARGET_EXPR to force a temporary.
367
11ce8d04
GA
3682022-01-06 Marek Polacek <polacek@redhat.com>
369
370 PR c++/103758
371 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
372 diagnostic messages.
373 (handle_pragma_diagnostic): Likewise.
374
a4ae8c37
GA
3752022-01-03 Marek Polacek <polacek@redhat.com>
376
377 PR c++/103758
378 * c-format.c (check_tokens): Accept "decl-specifier*".
379
3802022-01-03 Jakub Jelinek <jakub@redhat.com>
381
382 PR c++/103600
383 * c-attribs.c (handle_non_overlapping_attribute): New function.
384 (c_common_attribute_table): Add "non overlapping" attribute.
385
84790a9d
GA
3862021-12-30 Jakub Jelinek <jakub@redhat.com>
387
388 PR c++/103012
389 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
390 cpp_define_unused/cpp_undef calls with forced token locations
391 BUILTINS_LOCATION.
392
d1e111da
GA
3932021-12-27 Patrick Palka <ppalka@redhat.com>
394
395 PR c++/103700
396 * c-common.c (pointer_int_sum): When quiet, return
397 error_mark_node for an incomplete pointed-to type and don't
398 call size_in_bytes_loc.
399
2554e2da
GA
4002021-12-17 Jason Merrill <jason@redhat.com>
401
402 PR c++/103681
403 * c-opts.c (c_common_post_options): Update defaults.
404
774269aa
GA
4052021-12-16 Martin Liska <mliska@suse.cz>
406
407 PR target/103709
408 * c-pragma.c (handle_pragma_pop_options): Do not check
409 global options modification when an error is seen in parsing
410 of options (pragmas or attributes).
411
c8dcf64b
GA
4122021-12-12 Jonathan Wakely <jwakely@redhat.com>
413
414 * known-headers.cc: Define INCLUDE_MEMORY instead of
415 INCLUDE_UNIQUE_PTR.
416 * name-hint.h: Likewise.
417 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
418
4b4839e3
GA
4192021-12-09 Jakub Jelinek <jakub@redhat.com>
420
421 PR pch/71934
422 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
423 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
424
03a9bd05
GA
4252021-12-03 Jakub Jelinek <jakub@redhat.com>
426
427 PR pch/71934
428 * c-pch.c (struct c_pch_validity): Remove pch_init member.
429 (pch_init): Don't initialize v.pch_init.
430 (c_common_valid_pch): Don't warn and punt if .text addresses change.
431
40fa651e
GA
4322021-12-01 Jason Merrill <jason@redhat.com>
433
434 PR c++/103310
435 * c.opt: Add -fconstexpr-fp-except.
436
87cd82c8
GA
4372021-11-29 Richard Biener <rguenther@suse.de>
438
439 * c-format.c (check_format_string): Remove spurious
440 gcc_unreachable.
441
4422021-11-29 Richard Biener <rguenther@suse.de>
443
444 * c-opts.c (c_common_post_options): Remove unreachable return.
445 * c-pragma.c (handle_pragma_target): Likewise.
446 (handle_pragma_optimize): Likewise.
447
091ccc06
GA
4482021-11-25 Jakub Jelinek <jakub@redhat.com>
449
450 PR c++/102611
451 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
452 default for C++23 regardless of warn_deprecated.
453 * c-cppbuiltin.c (c_cpp_builtins): Predefine
454 __cpp_multidimensional_subscript=202110L for C++23.
455
e1d43592
GA
4562021-11-23 Martin Sebor <msebor@redhat.com>
457
458 PR middle-end/88232
459 * c.opt: Add -Winfinite-recursion.
460
9c077398
GA
4612021-11-19 Martin Sebor <msebor@redhat.com>
462
463 PR c++/33925
464 PR c/102867
465 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
466 and improve handling tof defined symbols.
467
4682021-11-19 Martin Liska <mliska@suse.cz>
469
470 Revert:
471 2021-11-18 Martin Liska <mliska@suse.cz>
472
473 * c-gimplify.c (genericize_c_loop): Use option directly.
474
483092d3
GA
4752021-11-18 Matthias Kretz <m.kretz@gsi.de>
476
477 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
478 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
479
4802021-11-18 Martin Liska <mliska@suse.cz>
481
482 * c-gimplify.c (genericize_c_loop): Use option directly.
483
280d2838
GA
4842021-11-17 Martin Uecker <uecker@gcc.gnu.org>
485
486 PR c/91038
487 PR c/29970
488 * c-common.c (pointer_int_sum): Make sure pointer expressions
489 are evaluated first when the size expression depends on for
490 variably-modified types.
491
4922021-11-17 Marek Polacek <polacek@redhat.com>
493
494 PR preprocessor/103026
495 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
496
6b1695f4
GA
4972021-11-16 Jason Merrill <jason@redhat.com>
498
499 * c-common.c (release_tree_vector): Only cache vecs smaller than
500 16 elements.
501
e2b57363
GA
5022021-11-15 Jason Merrill <jason@redhat.com>
503
504 * c.opt: Add -fimplicit-constexpr.
505 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
506 * c-opts.c (c_common_post_options): Disable below C++14.
507
5082021-11-15 Jakub Jelinek <jakub@redhat.com>
509
510 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
511 Duplicate to both OMP_TARGET and OMP_TEAMS.
512
8d36a0d2
GA
5132021-11-10 Marek Polacek <polacek@redhat.com>
514
515 PR c++/101940
516 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
517 ignored_attributes.
518
c9b1334e
GA
5192021-11-09 David Malcolm <dmalcolm@redhat.com>
520
521 * c-pragma.c (GCC_BAD_AT): New macro.
522 (GCC_BAD2_AT): New macro.
523 (handle_pragma_pack): Use the location of the pertinent token when
524 issuing diagnostics about invalid constants/actions, and trailing
525 junk.
526 (handle_pragma_target): Likewise for non-string "GCC option".
527 (handle_pragma_message): Likewise for trailing junk.
528
18ae471f
GA
5292021-11-03 Joseph Myers <joseph@codesourcery.com>
530
531 PR c/103031
532 * c-common.c (convert_and_check): Add argument init_const. Call
533 convert_init if init_const.
534 * c-common.h (convert_and_check): Update prototype.
535 (convert_init): New prototype.
536
cf82e8d9
GA
5372021-11-01 David Malcolm <dmalcolm@redhat.com>
538
539 * c-lex.c (c_lex_with_flags): When complaining about non-printable
540 CPP_OTHER tokens, set the "escape on output" flag.
541
04a2cf3f
GA
5422021-10-27 Jakub Jelinek <jakub@redhat.com>
543
544 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
545 POINTER_PLUS_EXPR.
546 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
547 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
548
5492021-10-27 Jakub Jelinek <jakub@redhat.com>
550
551 PR c++/102854
552 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
553 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
554 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
555 conversions temporarily clear the 3rd bit from d->kind while walking
556 subtrees.
557 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
558 if possibly non-rectangular.
559
ae5c5406
GA
5602021-10-21 Jakub Jelinek <jakub@redhat.com>
561
562 PR middle-end/64888
563 * c-omp.c (c_omp_predefined_variable): Return true also for
564 ubsan_create_data created artificial variables.
565
5d5885c9
GA
5662021-10-14 Joseph Myers <joseph@codesourcery.com>
567
568 * c-format.c (printf_length_specs, scanf_length_specs)
569 (print_char_table, scan_char_table): Support DFP formats for C2X.
570 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
571 (T2X_D32, T2X_D64, T2X_D128): New macros.
572
5732021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
574
575 * c-omp.c (c_omp_check_context_selector): Rename to
576 omp_check_context_selector and move to omp-general.c.
577 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
578 move to omp-general.c.
579
52055987
GA
5802021-10-12 Joseph Myers <joseph@codesourcery.com>
581
582 * c-format.c (print_char_table): Add %b and %B formats.
583 (scan_char_table): Add %b format.
584 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
585 (T2X_UPD, T2X_UIM): New macros.
586
5872021-10-12 Jakub Jelinek <jakub@redhat.com>
588
589 * c-omp.c (c_finish_omp_atomic): Use
590 clear_padding_type_may_have_padding_p.
591
ce6eec39
GA
5922021-10-08 Martin Liska <mliska@suse.cz>
593
594 * c-opts.c (c_common_post_options): Use new macro
595 OPTION_SET_P.
596
50e20ee6
GA
5972021-10-07 Martin Liska <mliska@suse.cz>
598
599 * c-common.c (parse_optimize_options): Make
600 save_opt_decoded_options a pointer type.
601
57c7ec62
GA
6022021-10-06 Jakub Jelinek <jakub@redhat.com>
603
604 PR tree-optimization/102571
605 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
606 padding, but the non-padding bits are contiguous set of bytes
607 by adjusting the memcmp call arguments instead of emitting
608 __builtin_clear_padding and then comparing all the type's bytes.
609
6102021-10-06 Jakub Jelinek <jakub@redhat.com>
611
612 PR c++/102612
613 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
614 __cpp_constexpr to 202110L rather than 201907L.
615
da9c5f78
GA
6162021-10-04 Marek Polacek <polacek@redhat.com>
617
618 PR c++/97573
619 * c-common.h (do_warn_array_compare): Declare.
620 * c-warn.c (do_warn_array_compare): New.
621 * c.opt (Warray-compare): New option.
622
e3e07b89
GA
6232021-10-02 Iain Sandoe <iain@sandoe.co.uk>
624
625 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
626 NULL, this is not needed.
627
9d116bcc
GA
6282021-10-01 Martin Sebor <msebor@redhat.com>
629
630 PR c/102103
631 * c-common.c (decl_with_nonnull_addr_p): Handle members.
632 Check and perform warning suppression.
633 (c_common_truthvalue_conversion): Enhance warning suppression.
634
6352021-10-01 Martin Liska <mliska@suse.cz>
636
637 PR target/102552
638 * c-common.c (parse_optimize_options): decoded_options[0] is
639 used for program name, so merged_decoded_options should also
640 respect that.
641
6422021-10-01 Jakub Jelinek <jakub@redhat.com>
643 Richard Biener <rguenther@suse.de>
644
645 PR sanitizer/102515
646 * c-ubsan.c (ubsan_instrument_division): Check the right
647 flag_sanitize_recover bit, depending on which sanitization
648 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
649 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
650 and SANITIZE_DIVIDE is enabled, neither check is known
651 to be false and flag_sanitize_recover bits for those two
652 aren't the same, emit both __ubsan_handle_divrem_overflow
653 and __ubsan_handle_divrem_overflow_abort calls.
654
6552021-10-01 Martin Liska <mliska@suse.cz>
656
657 * c-common.c (parse_optimize_options): Combine optimize
658 options with what was provided on the command line.
659
6602021-10-01 Jakub Jelinek <jakub@redhat.com>
661
662 * c-omp.c (c_omp_split_clauses): Also copy
663 OMP_CLAUSE_ORDER_REPRODUCIBLE.
664
cf966403
GA
6652021-09-27 Martin Liska <mliska@suse.cz>
666
667 * c-opts.c (c_common_init_options_struct): Set also
668 x_flag_default_complex_method.
669
e4777439
GA
6702021-09-22 Jakub Jelinek <jakub@redhat.com>
671
672 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
673
62498024
GA
6742021-09-20 Matthias Kretz <m.kretz@gsi.de>
675
676 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
677 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
678 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
679 __ROUNDING_MATH__ according to the new optimization flags.
680
cf74e7b5
GA
6812021-09-18 Jakub Jelinek <jakub@redhat.com>
682
683 * c-omp.c (c_omp_split_clauses): Split order clause also to
684 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
685
0a4cb439
GA
6862021-09-17 Jakub Jelinek <jakub@redhat.com>
687
688 * c-omp.c (c_finish_omp_atomic): Avoid creating
689 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
690 create_tmp_var and add a zero initializer to TARGET_EXPRs that
691 had NULL initializer. When omitting operands after v = x,
692 use type of v rather than type of x. Fix type of vtmp
693 TARGET_EXPR.
694
07985c47
GA
6952021-09-13 Jason Merrill <jason@redhat.com>
696
697 * c.opt: Add -Winterference-size.
698 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
699 and __GCC_CONSTRUCTIVE_SIZE.
700
a26206ec
GA
7012021-09-10 Jakub Jelinek <jakub@redhat.com>
702
703 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
704 * c-omp.c: Include gimple-fold.h.
705 (c_finish_omp_atomic): Add r and weak arguments. Add support for
706 OpenMP 5.1 atomics.
707
f84e2f0b
GA
7082021-09-09 qing zhao <qing.zhao@oracle.com>
709
710 * c-attribs.c (handle_uninitialized_attribute): New function.
711 (c_common_attribute_table): Add "uninitialized" attribute.
712
b6db7cd4
GA
7132021-09-08 liuhongt <hongtao.liu@intel.com>
714
715 * c-common.c (excess_precision_mode_join): Update below comments.
716 (c_ts18661_flt_eval_method): Set excess_precision_type to
717 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
718 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
719 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
720 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
721
b2748138
GA
7222021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
723
724 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
725
7b739540
GA
7262021-09-03 Eric Botcazou <ebotcazou@adacore.com>
727
728 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
729 and -gnatwu warning for the package specification.
730
e11c6046
GA
7312021-09-01 Iain Sandoe <iain@sandoe.co.uk>
732
733 * c-attribs.c (handle_unavailable_attribute): New.
734
1e2f030b
GA
7352021-08-30 Jason Merrill <jason@redhat.com>
736
737 * c.opt: Add -Wmissing-requires.
738
85d77ac4
GA
7392021-08-25 Lewis Hyatt <lhyatt@gmail.com>
740
741 PR other/93067
742 * c-opts.c (c_common_input_charset_cb): New function.
743 (c_common_post_options): Call new function
744 diagnostic_initialize_input_context().
745
7c9e1645
GA
7462021-08-20 Tobias Burnus <tobias@codesourcery.com>
747
748 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
749 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
750 "di" and "u", respecitively; fill with BADLEN to match
751 size of 'types'.
752 (get_init_dynamic_hwi): Split off from ...
753 (init_dynamic_diag_info): ... here. Call it.
754 (init_dynamic_gfc_info): Call it.
755
7562021-08-20 Jakub Jelinek <jakub@redhat.com>
757
758 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
759 * c-pragma.c (omp_pragmas): Add error directive.
760 * c-omp.c (omp_directives): Uncomment error directive entry.
761
6e529985
GA
7622021-08-18 Jakub Jelinek <jakub@redhat.com>
763
764 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
765 * c-pragma.c (omp_pragmas): Add nothing directive.
766 * c-omp.c (omp_directives): Uncomment nothing directive entry.
767
2d14d64b
GA
7682021-08-17 Jakub Jelinek <jakub@redhat.com>
769
770 PR c++/101539
771 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
772 * c-common.c (c_common_reswords): Add __is_layout_compatible.
773
7742021-08-17 Matt Jacobson <mhjacobson@me.com>
775
776 * c-opts.c (c_common_post_options): Default to
777 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
778
7792021-08-17 Jakub Jelinek <jakub@redhat.com>
780
781 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
782 * c-pragma.c (omp_pragmas): Add scope construct.
783 * c-omp.c (omp_directives): Uncomment scope directive entry.
784
9d1d9fc8
GA
7852021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
786
787 * c-cppbuiltin.c (c_cpp_builtins): Define
788 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
789
72be20e2
GA
7902021-08-12 Jakub Jelinek <jakub@redhat.com>
791
792 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
793 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
794 * c-pragma.c (omp_pragmas_simd): Add masked construct.
795 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
796 enumerator.
797 (c_finish_omp_masked): Declare.
798 * c-omp.c (c_finish_omp_masked): New function.
799 (c_omp_split_clauses): Handle combined masked constructs.
800
4d17ca1b
GA
8012021-07-30 Jakub Jelinek <jakub@redhat.com>
802
803 PR c++/101539
804 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
805 * c-common.c (c_common_reswords): Add
806 __is_pointer_interconvertible_base_of.
807
8082021-07-29 Richard Biener <rguenther@suse.de>
809
810 PR c/101512
811 * c-common.c (c_common_mark_addressable_vec): Look through
812 C_MAYBE_CONST_EXPR even if not at the toplevel.
813
af3f12e6
GA
8142021-07-27 Martin Sebor <msebor@redhat.com>
815
816 PR c/101585
817 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
818
ead235f6
GA
8192021-07-23 Jakub Jelinek <jakub@redhat.com>
820
821 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
822 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
823 and later.
824
8252021-07-23 Jakub Jelinek <jakub@redhat.com>
826
827 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
828 PRAGMA_OMP__LAST_ enumerators.
829
419c6c68
GA
8302021-07-21 Thomas Schwinge <thomas@codesourcery.com>
831 Joseph Myers <joseph@codesourcery.com>
832 Cesar Philippidis <cesar@codesourcery.com>
833
834 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
835
92d45509
GA
8362021-07-20 Martin Sebor <msebor@redhat.com>
837
838 * c-common.c (c_build_shufflevector): Adjust by-value argument to
839 by-const-reference.
840 * c-common.h (c_build_shufflevector): Same.
841
87277b6a
GA
8422021-07-16 Andrew Pinski <apinski@marvell.com>
843
844 PR c/101453
845 * c-common.c (parse_optimize_options): Use the correct
846 size for buffer.
847
d97d71a1
GA
8482021-07-15 Martin Sebor <msebor@redhat.com>
849
850 PR c/101289
851 PR c/97548
852 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
853
c4fee1c6
GA
8542021-07-14 Jason Merrill <jason@redhat.com>
855
856 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
857
6fba0eea
GA
8582021-07-06 Martin Sebor <msebor@redhat.com>
859
860 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
861 (gcc_cdiag_char_table): Same.
862 (gcc_cxxdiag_char_table): Same.
863
7a60a6e8
GA
8642021-07-02 Jakub Jelinek <jakub@redhat.com>
865
866 * c-common.h (enum c_omp_directive_kind): New enum.
867 (struct c_omp_directive): New type.
868 (c_omp_categorize_directive): Declare.
869 * c-omp.c (omp_directives): New variable.
870 (c_omp_categorize_directive): New function.
871
bea7c16a
GA
8722021-07-01 Eric Botcazou <ebotcazou@adacore.com>
873
874 * c-ada-spec.c (packed_layout): New global variable.
875 (dump_ada_declaration): Set it upon seeing a packed record type.
876 Do not put the "aliased" keyword if it is set.
877 (dump_ada_structure): Add Pack aspect if it is set and clear it.
878
8792021-07-01 Eric Botcazou <ebotcazou@adacore.com>
880
881 * c-ada-spec.c (check_name): Rename into...
882 (check_type_name_conflict): ...this. Minor tweak.
883 (dump_ada_function_declaration): Adjust to above renaming.
884 (dump_ada_array_domains): Fix oversight.
885 (dump_ada_declaration): Call check_type_name_conflict for variables.
886
90708f87
GA
8872021-06-25 Martin Sebor <msebor@redhat.com>
888
889 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
890 (c_common_truthvalue_conversion): Replace direct uses of
891 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
892 copy_no_warning.
893 (check_function_arguments_recurse): Same.
894 * c-gimplify.c (c_gimplify_expr): Same.
895 * c-warn.c (overflow_warning): Same.
896 (warn_logical_operator): Same.
897 (warn_if_unused_value): Same.
898 (do_warn_unused_parameter): Same.
899
9aa8327e
GA
9002021-06-24 Jakub Jelinek <jakub@redhat.com>
901
902 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
903 C_ORT_OMP_TARGET.
904 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
905 combined target constructs also add map (always, tofrom:) clause.
906
ede6c356
GA
9072021-06-15 Robin Dapp <rdapp@linux.ibm.com>
908
909 * c-attribs.c (common_handle_aligned_attribute): Remove short
910 circuit and dead code.
911
8dc48181
GA
9122021-06-14 Jonathan Wakely <jwakely@redhat.com>
913
914 PR c++/101052
915 * known-headers.cc (get_stdlib_header_for_name): Add known
916 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
917 exit, and getenv.
918
8b8c3912
GA
9192021-06-12 Jason Merrill <jason@redhat.com>
920
921 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
922
f16f65f8
GA
9232021-06-11 Jakub Jelinek <jakub@redhat.com>
924
925 PR c++/100974
926 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
927 -std=c++2b for P1938R3 consteval if support.
928
4f625f47
GA
9292021-06-09 Jason Merrill <jason@redhat.com>
930
931 PR c++/100879
932 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
933 warning.
934
438aac59
GA
9352021-06-07 Martin Liska <mliska@suse.cz>
936
937 * c-target.def: Split long lines and replace them
938 with '\n\'.
939
600f90cb
GA
9402021-06-04 Martin Sebor <msebor@redhat.com>
941
942 PR c/100783
943 * c-attribs.c (positional_argument): Bail on erroneous types.
944
9452021-06-04 Martin Sebor <msebor@redhat.com>
946
947 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
948 for element presence.
949
440c8a0a
GA
9502021-06-03 Eric Botcazou <ebotcazou@adacore.com>
951
952 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
953 (dump_ada_decl_name): Likewise.
954 (dump_anonymous_type_name): Remove parent parameter and adjust.
955 (dump_sloc): Minor tweak.
956 (dump_ada_array_type): Remove type parameter and adjust.
957 (dump_ada_enum_type): Remove parent parameter and adjust.
958 (dump_ada_node): Adjust calls to above functions.
959 (dumped_anonymous_types): New global variable.
960 (dump_nested_types_1): Rename into...
961 (dump_nested_types): ...this.
962 (dump_nested_type): Remove parent and dumped_types parameters.
963 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
964 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
965 (dump_ada_specs): Initialize and free dumped_anonymous_types.
966
9672021-06-03 Eric Botcazou <ebotcazou@adacore.com>
968
969 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
970 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
971
9722021-06-03 Eric Botcazou <ebotcazou@adacore.com>
973
974 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
975 (htable_t): New typedef.
976 (overloaded_names): Use it.
977 (add_name): New function.
978 (init_overloaded_names): Use add_name to populate the table and add
979 special cases for sigaction and stat.
980 (overloaded_name_p): Rename into...
981 (overloading_index): ...this. Do not initialize overloaded_names table
982 here. Return the index or zero.
983 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
984 but add an overloading suffix instead.
985 (dump_ada_specs): Initialize overloaded_names tables here.
986
b75978d1
GA
9872021-06-01 Martin Liska <mliska@suse.cz>
988
989 PR other/100759
990 * c-attribs.c (handle_optimize_attribute): Limit sanity check
991 to a situation where we are not in processing of an optimize
992 pragma.
993 * c-pragma.c (handle_pragma_pop_options): Restore target
994 options.
995
ee682192
GA
9962021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
997
998 PR testsuite/100749
999 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1000
10012021-05-31 Richard Biener <rguenther@suse.de>
1002
1003 PR c++/88601
1004 * c-common.c: Include tree-vector-builder.h and
1005 vec-perm-indices.h.
1006 (c_common_reswords): Add __builtin_shufflevector.
1007 (c_build_shufflevector): New funtion.
1008 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1009 (c_build_shufflevector): Declare.
1010
48166757
GA
10112021-05-28 Jakub Jelinek <jakub@redhat.com>
1012
1013 PR middle-end/99928
1014 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1015 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1016
10172021-05-28 Tobias Burnus <tobias@codesourcery.com>
1018
1019 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1020
2bc6dace
GA
10212021-05-25 Martin Liska <mliska@suse.cz>
1022
1023 PR tree-optimization/92860
1024 PR target/99592
1025 * c-attribs.c (handle_optimize_attribute): Save target node
1026 before calling parse_optimize_options and save it in case
1027 it changes.
1028 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1029 (handle_pragma_pop_options): Likewise here.
1030
10312021-05-25 Martin Liska <mliska@suse.cz>
1032
1033 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1034
10352021-05-25 Jakub Jelinek <jakub@redhat.com>
1036
1037 PR middle-end/99928
1038 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1039 combined with simd and not with taskloop or for.
1040
2832d51b
GA
10412021-05-21 Jakub Jelinek <jakub@redhat.com>
1042
1043 PR middle-end/99928
1044 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1045 on firstprivate clause copy going to target construct, and for
1046 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1047
ea34e2ed
GA
10482021-05-20 Jonathan Wakely <jwakely@redhat.com>
1049
1050 * c.opt (Wc++11-extensions, Wc++14-extensions)
1051 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1052 options.
1053
10542021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1055
1056 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1057
10582021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1059
1060 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1061 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1062 (pch_init): Renamed member.
1063 (c_common_valid_pch): Adjust access to debug_type_names.
1064
65f32e5d
GA
10652021-05-19 Martin Sebor <msebor@redhat.com>
1066
1067 PR c/100619
1068 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1069 bounds.
1070
a8daf9a1
GA
10712021-05-18 Richard Biener <rguenther@suse.de>
1072
1073 PR c/100547
1074 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1075 Reword existing nunit diagnostic.
1076
a7ffc1ef
GA
10772021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1078
1079 * c-common.c (braced_list_to_string): Return CTOR unchanged
1080 if host and target character sizes don't match.
1081
87a7d10c
GA
10822021-05-14 Martin Liska <mliska@suse.cz>
1083
1084 * c.opt: Add Warning keyword for 2 options.
1085
f9af11c7
GA
10862021-05-13 Martin Liska <mliska@suse.cz>
1087
1088 PR middle-end/100504
1089 * c-attribs.c (handle_target_clones_attribute): Expect a string
1090 argument to target_clone argument.
1091
037e3661
GA
10922021-05-11 Joseph Myers <joseph@codesourcery.com>
1093
1094 * c-lex.c (interpret_float): Handle digit separators for C2X.
1095
aa891c56
GA
10962021-05-10 Martin Liska <mliska@suse.cz>
1097
1098 * c-ada-spec.c (print_destructor): Use startswith
1099 function instead of strncmp.
1100 (dump_ada_declaration): Likewise.
1101 * c-common.c (disable_builtin_function): Likewise.
1102 (def_builtin_1): Likewise.
1103 * c-format.c (check_tokens): Likewise.
1104 (check_plain): Likewise.
1105 (convert_format_name_to_system_name): Likewise.
1106
e4ff4ffb
GA
11072021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1108
1109 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1110 complex divide
1111
c0fa3f2f
GA
11122021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1113 Nathan Sidwell <nathan@codesourcery.com>
1114 Tom de Vries <vries@codesourcery.com>
1115 Julian Brown <julian@codesourcery.com>
1116 Kwok Cheung Yeung <kcy@codesourcery.com>
1117
1118 * c.opt (Wopenacc-parallelism): New.
1119
6e81e015
GA
11202021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1121
1122 * c.opt (fopenacc-kernels=): Remove.
1123
019a9220
GA
11242021-04-08 Jakub Jelinek <jakub@redhat.com>
1125
1126 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1127 occured -> occurred.
1128 (check_alignment_of_packed_member): Fix a comment typo,
1129 memeber -> member.
1130 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1131 and onless -> unless.
1132 (warn_parm_array_mismatch): Fix comment typos, declaratation
1133 -> declaration and woud -> would. Fix up comment indentation.
1134
11352021-04-08 Martin Sebor <msebor@redhat.com>
1136
1137 PR middle-end/99883
1138 * c.opt (Wmismatched-new-delete): Correct spelling.
1139
b1da9916
GA
11402021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1141
1142 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1143 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1144 enumeral types use again the type name for the enumeration constants.
1145 (dump_ada_node): Adjust call to dump_ada_enum_type.
1146 (dump_nested_type): Likewise.
1147
f1607029
GA
11482021-04-01 Jason Merrill <jason@redhat.com>
1149
1150 PR c++/98481
1151 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1152
4493b1c1
GA
11532021-03-25 Jakub Jelinek <jakub@redhat.com>
1154
1155 PR c++/99565
1156 * c-warn.c (do_warn_duplicated_branches): Pass also
1157 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1158
6af7b307
GA
11592021-03-20 Jakub Jelinek <jakub@redhat.com>
1160
1161 PR debug/99230
1162 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1163
ceae9533
GA
11642021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1165
1166 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1167 after entering the separate class package, if any.
1168
67f10d28
GA
11692021-03-04 Richard Biener <rguenther@suse.de>
1170
1171 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1172 Handle ERROR_MARK.
1173
11742021-03-04 Jakub Jelinek <jakub@redhat.com>
1175
1176 PR c/99325
1177 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1178 (token_streamer::stream) Likewise.
1179 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1180 UNKNOWN_LOCATION.
1181
f3641ac7
GA
11822021-03-03 Jakub Jelinek <jakub@redhat.com>
1183
1184 PR c/99324
1185 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1186 instead of mark_addressable. Fix a comment typo -
1187 neutrallly -> neutrally.
1188
2c83c3fb
GA
11892021-02-28 Jakub Jelinek <jakub@redhat.com>
1190
1191 PR c/99304
1192 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1193 message - refernced -> referenced. Remove superfluous space before
1194 closing paren of function calls.
1195
daa68844
GA
11962021-02-25 Nathan Sidwell <nathan@acm.org>
1197
1198 PR c++/99166
1199 * c.opt (-flang-info-module-cmi): Renamed option.
1200
50352c6c
GA
12012021-02-19 Nathan Sidwell <nathan@acm.org>
1202
1203 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1204
bf81237e
GA
12052021-02-18 H.J. Lu <hjl.tools@gmail.com>
1206
1207 PR target/99113
1208 * c-attribs.c (c_common_attribute_table): Add the "retain"
1209 attribute.
1210 (handle_retain_attribute): New function.
1211
0e804ce3
GA
12122021-02-16 Marek Polacek <polacek@redhat.com>
1213
1214 PR c++/99062
1215 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1216 alignment argument is non-negative. Tweak a warning message.
1217
fab095da
GA
12182021-02-12 Martin Sebor <msebor@redhat.com>
1219
1220 PR c/99055
1221 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1222 print_generic_expr_to_str.
1223
4b37c3ea
GA
12242021-02-10 Richard Biener <rguenther@suse.de>
1225
1226 * c-common.c (parse_optimize_options): Free decoded_options.
1227
a19dd5e6
GA
12282021-02-04 emsr <3dw4rd@verizon.net>
1229
1230 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1231
9faaa807
GA
12322021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1233
1234 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1235 * c-lex.c (interpret_integer): Set node type for size literal.
1236
85d04a2e
GA
12372021-01-28 Jakub Jelinek <jakub@redhat.com>
1238
1239 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1240 draft from description.
1241 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1242
e62bb7f0
GA
12432021-01-26 Paul Fee <paul.f.fee@gmail.com>
1244
1245 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1246 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1247 and -std=gnu++2b
1248 * c-opts.c (set_std_cxx23): New.
1249 (c_common_handle_option): Set options when -std=c++23 is enabled.
1250 (c_common_post_options): Adjust comments.
1251 (set_std_cxx20): Likewise.
1252
161e4c08
GA
12532021-01-25 Martin Sebor <msebor@redhat.com>
1254
1255 PR c++/98646
1256 * c-common.c (check_nonnull_arg): Adjust warning text.
1257
4c9bcd5c
GA
12582021-01-17 Martin Sebor <msebor@redhat.com>
1259
1260 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1261 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1262
59cf67d1
GA
12632021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1264
1265 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1266 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1267
2f7f0d32
GA
12682021-01-15 Jakub Jelinek <jakub@redhat.com>
1269
1270 PR tree-optimization/98597
1271 * c-pretty-print.c: Include options.h.
1272 (c_fold_indirect_ref_for_warn): New function.
1273 (print_mem_ref): Use it. If it returns something that has compatible
1274 type and is TBAA compatible with zero offset, print it and return,
1275 otherwise print it using offsetof syntax or array ref syntax. Fix up
1276 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1277 argument has pointer to array type. Print pointers using the standard
1278 formatting.
1279
6851dda2
GA
12802021-01-12 Martin Sebor <msebor@redhat.com>
1281
1282 PR c/98597
1283 PR c/98592
1284 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1285 has pointer type. Remove redundant code. Avoid calling
1286 gimple_canonical_types_compatible_p.
1287
7d187e4f
GA
12882021-01-07 Martin Sebor <msebor@redhat.com>
1289
1290 PR middle-end/98578
1291 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1292 Avoid assuming acces type's size is constant. Correct condition
1293 guarding the printing of a parenthesis.
1294
942ae5be
GA
12952021-01-06 Martin Sebor <msebor@redhat.com>
1296
1297 PR c++/95768
1298 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1299 SSA_NAMEs print VLA names and GIMPLE defining statements.
1300 (print_mem_ref): New function.
1301 (c_pretty_printer::unary_expression): Call it.
1302
13032021-01-06 Richard Biener <rguenther@suse.de>
1304
1305 PR tree-optimization/95582
1306 * c-attribs.c (c_common_attribute_table): Add entry for
1307 signed_bool_precision.
1308 (handle_signed_bool_precision_attribute): New.
1309
8daa719b
GA
13102020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1311
1312 * c.opt: Add -stdlib= option and enumerations for
1313 libstdc++ and libc++.
1314
eefe499f
GA
13152020-12-16 Martin Liska <mliska@suse.cz>
1316
1317 * c.opt: Remove usage of Report.
1318
d52945ce
GA
13192020-12-14 Martin Sebor <msebor@redhat.com>
1320
1321 PR middle-end/98166
1322 PR c++/57111
1323 PR middle-end/98160
1324 * c-attribs.c (maybe_add_noinline): New function.
1325 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1326 Implicitly add attribute noinline to functions not declared inline
1327 and warn on those.
1328
ca2bd949
GA
13292020-12-09 Tobias Burnus <tobias@codesourcery.com>
1330
1331 * c-pragma.c (omp_pragmas): Add 'allocate'.
1332 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1333
f6e8e279
GA
13342020-12-08 Jakub Jelinek <jakub@redhat.com>
1335
1336 PR c++/98187
1337 * c-pragma.c (omp_pragmas): Remove "master".
1338 (omp_pragmas_simd): Add "master".
1339
bc8a7013
GA
13402020-12-07 Marek Polacek <polacek@redhat.com>
1341
1342 PR c++/98126
1343 * c-common.c (verify_tree_lim_r): New function.
1344 (verify_sequence_points): Use it. Use nullptr instead of 0.
1345
b8dd0ef7
GA
13462020-12-03 Martin Sebor <msebor@redhat.com>
1347
1348 PR c++/90629
1349 PR middle-end/94527
1350 * c-attribs.c (handle_dealloc_attribute): New function.
1351 (handle_malloc_attribute): Handle argument forms of attribute.
1352 * c.opt (-Wmismatched-dealloc): New option.
1353 (-Wmismatched-new-delete): New option.
1354
13552020-12-03 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR libstdc++/93121
1358 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1359 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1360
e0f5e792
GA
13612020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
1362
1363 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1364 {__GNUC_EXECUTION_CHARSET_NAME} and
1365 _WIDE_EXECUTION_CHARSET_NAME} macros.
1366
13672020-12-01 Nathan Sidwell <nathan@acm.org>
1368
1369 * c-common.c (module, import, export): New internal tokens (with
1370 trailing space).
1371 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1372 them.
1373 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1374 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1375
13762020-12-01 Nathan Sidwell <nathan@acm.org>
1377
1378 * c-opts.c (c_common_init_options): Ask for module dependencies.
1379 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1380 * c-pch.c (c_common_valid_pch): ... does not play with C++
1381 modules.
1382 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1383 options.
1384 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1385 (fmodule-only, fmodule-mapper, fmodule-lazy)
1386 (fmodule-version-ignore, Winvalid-imported-macros)
1387 (flang-info-include-translate, flang-info-include-translate-not):
1388 New options
1389
5fbf0ecb
GA
13902020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1391
1392 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1393 (dump_ada_structure): Also deal with convention, unchecked union and
1394 bit-field for nested types. In the latter case, print an Alignment
1395 aspect along with the Pack aspect.
1396
360258da
GA
13972020-11-25 Martin Sebor <msebor@redhat.com>
1398
1399 PR bootstrap/94982
1400 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1401 -Wformat-diag.
1402
1e2c9a27
GA
14032020-11-24 Martin Sebor <msebor@redhat.com>
1404
1405 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1406
8e6198d0
GA
14072020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1408
1409 * c-attribs.c (handle_special_var_sec_attribute): New.
1410 (handle_noinit_attribute): Remove.
1411 (attr_noinit_exclusions): Rename to...
1412 (attr_section_exclusions): ...this, and add "persistent" attribute
1413 exclusion.
1414 (c_common_attribute_table): Add "persistent" attribute.
1415
7a97e2fc
GA
14162020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1417
1418 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1419 Treat opaque types like other types.
1420 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1421 supported types.
1422
82e5048e
GA
14232020-11-20 Martin Sebor <msebor@redhat.com>
1424
1425 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1426 with fewer arguments.
1427
14282020-11-20 Martin Sebor <msebor@redhat.com>
1429
1430 PR middle-end/97879
1431 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1432 Error out on invalid modes.
1433
14342020-11-20 Jakub Jelinek <jakub@redhat.com>
1435
1436 PR libstdc++/88101
1437 * c-common.c (check_builtin_function_arguments): Handle
1438 BUILT_IN_CLEAR_PADDING.
1439
25bb75f8
GA
14402020-11-18 Nathan Sidwell <nathan@acm.org>
1441
1442 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1443
4dabb037
GA
14442020-11-17 Nathan Sidwell <nathan@acm.org>
1445
1446 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1447 after newly-added CTI_MODULE_HWM.
1448
14492020-11-17 Joseph Myers <joseph@codesourcery.com>
1450
1451 * c-cppbuiltin.c (builtin_define_float_constants): Define
1452 "*_IS_IEC_60559__" macros.
1453
14542020-11-17 Nathan Sidwell <nathan@acm.org>
1455
1456 * c-lex.c: #include "langhooks.h".
1457 (cb_undef): Maybe call preprocess_undef lang hook.
1458 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1459 lang hook.
1460 (push_command_line_include): Maybe call preprocess_main_file lang
1461 hook.
1462 (cb_file_change): Likewise.
1463 * c-ppoutput.c: #include "langhooks.h.
1464 (scan_translation_unit): Maybe call preprocess_token lang hook.
1465 (class do_streamer): New, derive from token_streamer.
1466 (directives_only_cb): Data pointer is do_streamer, call
1467 preprocess_token lang hook.
1468 (scan_translation_unit_directives_only): Use do_streamer.
1469 (print_line_1): Move src_line recording to after string output.
1470 (cb_undef): Maybe call preprocess_undef lang hook.
1471
14722020-11-17 Nathan Sidwell <nathan@acm.org>
1473
1474 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1475 code duplicating that functionality.
1476
14772020-11-17 Jakub Jelinek <jakub@redhat.com>
1478
1479 PR c/90628
1480 * c-common.c (check_builtin_function_arguments)
1481 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1482 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1483 for more builtins and argument positions.
1484
29c5d9ce
GA
14852020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1486
1487 PR objc/97854
1488 * stub-objc.c: Include c-common.h to declare enum rid.
1489
77f67db2
GA
14902020-11-13 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR c++/63287
1493 * c-cppbuiltin.c: Include configargs.h.
1494 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1495 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1496 "single".
1497
14982020-11-13 Gergö Barany <gergo@codesourcery.com>
1499 Thomas Schwinge <thomas@codesourcery.com>
1500
1501 * c.opt (fopenacc-kernels): Add.
1502
15032020-11-13 Jason Merrill <jason@redhat.com>
1504
1505 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1506
15072020-11-13 Piotr H. Dabrowski <phd@phd.re>
1508
1509 PR c++/91318
1510 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1511
15122020-11-13 Martin Liska <mliska@suse.cz>
1513
1514 * c-attribs.c (build_attr_access_from_parms): Format properly.
1515
15162020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1517
1518 PR objc/90707
1519 * c-common.c (c_common_reswords): null_unspecified, nullable,
1520 nonnull, null_resettable: New keywords.
1521 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1522 RID_NONNULL, RID_NULL_RESETTABLE: New.
1523 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1524 ranges accepted for property attributes.
1525 * c-attribs.c (handle_objc_nullability_attribute): New.
1526 * c-objc.h (enum objc_property_attribute_group): Add
1527 OBJC_PROPATTR_GROUP_NULLABLE.
1528 (enum objc_property_attribute_kind):Add
1529 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1530 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1531
15322020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1533
1534 PR objc/77404
1535 * c-attribs.c (handle_objc_root_class_attribute): New
1536 * c-objc.h (objc_start_class_interface): Add a location
1537 value for the position of the class name.
1538 * c.opt: Add Wobjc-root-class.
1539 * stub-objc.c (objc_start_class_interface): Add a location
1540 value for the position of the class name.
1541
a5a11525
GA
15422020-11-12 Joseph Myers <joseph@codesourcery.com>
1543
1544 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1545 Allow scope for C. Handle standard attributes for C. Do not
1546 accept unscoped attributes if std_syntax and not handled as
1547 standard attributes.
1548 * c-common.h (c_common_has_attribute): Update prototype.
1549
15502020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1551
1552 PR pch/86674
1553 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1554 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1555
0f5f9ed5
GA
15562020-11-11 Patrick Palka <ppalka@redhat.com>
1557
1558 PR c++/88115
1559 * c-opts.c (c_common_post_options): Update latest_abi_version.
1560
bb622641
GA
15612020-11-10 Jakub Jelinek <jakub@redhat.com>
1562
1563 PR c/97748
1564 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1565 to false.
1566 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1567 recursively and just return true instead of warning if it is true.
1568 Handle COMPLEX_EXPR.
1569
15702020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1571
1572 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1573 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1574 (c_omp_adjust_map_clauses): New function.
1575
2bee28dd
GA
15762020-11-09 Marek Polacek <polacek@redhat.com>
1577
1578 DR 1914
1579 * c-common.c (attribute_fallthrough_p): Tweak the warning
1580 message.
1581
15822020-11-09 Patrick Palka <ppalka@redhat.com>
1583
1584 * c-pragma.c (handle_pragma_diagnostic): Split the
1585 unknown-option -Wpragmas diagnostic into a warning and a
1586 subsequent note containing a spelling suggestion. Avoid
1587 computing the suggestion if -Wpragmas warnings are being
1588 suppressed.
1589
15902020-11-09 Patrick Palka <ppalka@redhat.com>
1591
1592 PR testsuite/97117
1593 * c-indentation.c (get_visual_column): Remove location_t
1594 parameter. Move the column-tracking diagnostic code from here
1595 to ...
1596 (should_warn_for_misleading_indentation): ... here, before the
1597 early exit for when the loci are not all distinct. Don't pass a
1598 location_t argument to get_visual_column.
1599 (assert_get_visual_column_succeeds): Don't pass a location_t
1600 argument to get_visual_column.
1601 (assert_get_visual_column_fails): Likewise.
1602
fb95de7a
GA
16032020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1604
1605 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1606 of keywords accepted in @property attribute contexts.
1607 * c-objc.h (enum objc_property_attribute_group): Add
1608 OBJC_PROPATTR_GROUP_CLASS.
1609 (enum objc_property_attribute_kind): Add
1610 OBJC_PROPERTY_ATTR_CLASS.
1611
2da7ee05
GA
16122020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1613
1614 * c-common.c (c_common_reswords): Add 'atomic' property
1615 attribute.
1616 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1617 property attributes.
1618
16192020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1620
1621 * c-attribs.c (handle_nsobject_attribute): New.
1622 * c.opt: Add WNSObject-attribute.
1623
44cab2d8
GA
16242020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1625
1626 * c-objc.h (enum objc_property_attribute_group): New
1627 (enum objc_property_attribute_kind): New.
1628 (OBJC_PROPATTR_GROUP_MASK): New.
1629 (struct property_attribute_info): Small class encapsulating
1630 parser output from property attributes.
1631 (objc_prop_attr_kind_for_rid): New
1632 (objc_add_property_declaration): Simplify interface.
1633 * stub-objc.c (enum rid): Dummy type.
1634 (objc_add_property_declaration): Simplify interface.
1635 (objc_prop_attr_kind_for_rid): New.
1636
16372020-11-06 Nathan Sidwell <nathan@acm.org>
1638
1639 * c-ada-spec.c (collect_ada_nodes): Rename
1640 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1641 (collect_ada_node): Likewise.
1642 (dump_forward_type): Likewise.
1643 * c-common.c (set_underlying_type): Rename
1644 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1645 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1646
16472020-11-06 Jakub Jelinek <jakub@redhat.com>
1648
1649 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1650
0cfd9109
GA
16512020-11-05 Marek Polacek <polacek@redhat.com>
1652
1653 PR c++/97675
1654 * c.opt (Wexceptions): New option.
1655
16562020-11-05 Marek Polacek <polacek@redhat.com>
1657
1658 PR c++/25814
1659 * c.opt (Wvexing-parse): New option.
1660
35c125cb
GA
16612020-11-04 Jakub Jelinek <jakub@redhat.com>
1662
1663 PR c++/97670
1664 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1665 underlying decl to clear in the allocate_head bitmap.
1666
16672020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1668
1669 * c-objc.h (objc_non_constant_expr_p): New.
1670 * stub-objc.c (objc_non_constant_expr_p): New.
1671
fd2325ea
GA
16722020-11-03 Nathan Sidwell <nathan@acm.org>
1673
1674 * c.opt (MQ,MT): Reword description to be make-agnostic.
1675
88ce3d5f
GA
16762020-11-02 Nathan Sidwell <nathan@acm.org>
1677
1678 * c-opts.c (c_common_post_options): Move var decl to its
1679 initialization point.
1680
16812020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1682
1683 * c-lex.c (c_lex_with_flags): When combining '@' with a
1684 keyword for Objective-C, combine the location ranges too.
1685
16862020-10-30 Qing Zhao <qing.zhao@oracle.com>
1687 H.J.Lu <hjl.tools@gmail.com>
1688
1689 * c-attribs.c (c_common_attribute_table): Add new attribute
1690 zero_call_used_regs.
1691 (handle_zero_call_used_regs_attribute): New function.
1692
e93aae4a
GA
16932020-10-28 Marek Polacek <polacek@redhat.com>
1694
1695 PR c++/97573
1696 * c-opts.c (c_common_post_options): In C++20, turn on
1697 -Wdeprecated-enum-enum-conversion and
1698 -Wdeprecated-enum-float-conversion.
1699 * c.opt (Wdeprecated-enum-enum-conversion,
1700 Wdeprecated-enum-float-conversion): New options.
1701 (Wenum-conversion): Allow for C++ too.
1702
17032020-10-28 Jakub Jelinek <jakub@redhat.com>
1704
1705 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1706 * c-omp.c: Include bitmap.h.
1707 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1708
f19e7c8d
GA
17092020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1710
1711 * c-common.c (__is_nothrow_assignable): New.
1712 (__is_nothrow_constructible): Likewise.
1713 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1714 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1715
efe71fcc
GA
17162020-10-23 Jan Hubicka <hubicka@ucw.cz>
1717
1718 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1719
17202020-10-23 Marek Polacek <polacek@redhat.com>
1721
1722 PR c++/91741
1723 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1724 (c_common_init_ts): Likewise.
1725 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1726 * c-common.h (maybe_warn_sizeof_array_div): Declare.
1727 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1728 (maybe_warn_sizeof_array_div): New function.
1729 * c.opt (Wsizeof-array-div): New option.
1730
17312020-10-23 Martin Sebor <msebor@redhat.com>
1732
1733 PR c/97463
1734 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1735
56ddd5e2
GA
17362020-10-22 Martin Liska <mliska@suse.cz>
1737
1738 PR c/94722
1739 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1740 (handle_stack_protect_attribute): Add error message for a
1741 no_stack_protector function.
1742
17432020-10-22 Martin Liska <mliska@suse.cz>
1744
1745 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1746
17472020-10-22 Jan Hubicka <hubicka@ucw.cz>
1748
1749 * c-gimplify.c: Include tree-nested.h
1750 (c_genericize): Update for new nested function info.
1751
b2698c21
GA
17522020-10-14 Martin Sebor <msebor@redhat.com>
1753
1754 PR c/97413
1755 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1756 bounds in an extra list.
1757
7e9282ae
GA
17582020-10-05 Richard Biener <rguenther@suse.de>
1759 Jakub Jelinek <jakub@redhat.com>
1760
1761 PR c++/97197
1762 * c-pretty-print.c: Include langhooks.h.
1763 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1764 expression.
1765 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1766 unary_expression.
1767 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1768
660bfe61
GA
17692020-09-30 Martin Sebor <msebor@redhat.com>
1770
1771 PR middle-end/97189
1772 * c-attribs.c (append_access_attr): Use the function declaration
1773 location for a warning about an attribute access argument.
1774
93bca37c
GA
17752020-09-29 Marek Polacek <polacek@redhat.com>
1776
1777 PR c++/94695
1778 * c.opt (Wrange-loop-construct): New option.
1779
82b77dee
GA
17802020-09-23 Martin Sebor <msebor@redhat.com>
1781
1782 PR c/97131
1783 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1784
17852020-09-23 Marek Polacek <polacek@redhat.com>
1786
1787 PR c/97125
1788 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1789 after loops and other structured control constructs have been lowered.
1790
521d2711
GA
17912020-09-22 Jakub Jelinek <jakub@redhat.com>
1792
1793 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1794 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1795
44135373
GA
17962020-09-21 Marek Polacek <polacek@redhat.com>
1797
1798 * c.opt (Wctad-maybe-unsupported): New option.
1799
2fe5b7d1
GA
18002020-09-19 Martin Sebor <msebor@redhat.com>
1801
1802 PR c/50584
1803 * c-common.h (warn_parm_array_mismatch): Declare new function.
1804 (has_attribute): Move declaration of an existing function.
1805 (build_attr_access_from_parms): Declare new function.
1806 * c-warn.c (parm_array_as_string): Define new function.
1807 (plus_one): Define new function.
1808 (warn_parm_ptrarray_mismatch): Define new function.
1809 (warn_parm_array_mismatch): Define new function.
1810 (vla_bound_parm_decl): New function.
1811 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1812 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1813 qualifiers here...
1814 (c_pretty_printer::direct_abstract_declarator): ...but instead print
1815 them in brackets here. Also print [static]. Strip extraneous
1816 expressions from VLA bounds.
1817
18182020-09-19 Martin Sebor <msebor@redhat.com>
1819
1820 PR c/50584
1821 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1822 (handle_argspec_attribute): New function.
1823 (get_argument, get_argument_type): New functions.
1824 (append_access_attrs): Add overload. Handle internal attribute
1825 representation in addition to external.
1826 (handle_access_attribute): Handle internal attribute representation
1827 in addition to external.
1828 (build_attr_access_from_parms): New function.
1829
18302020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1831
1832 * c-gimplify.c (genericize_c_loop): Rewrite to match
1833 c_finish_loop in c-typeck.c.
1834
18352020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1836
1837 * c-common.c (c_block_may_fallthrough): New, split from
1838 cxx_block_may_fallthrough in the cp front end.
1839 (c_common_init_ts): Move handling of loop and switch-related
1840 statements here from the cp front end.
1841 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1842 cp front end.
1843 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1844 * c-common.h (c_block_may_fallthru): Declare.
1845 (bc_state_t): Move here from cp front end.
1846 (save_bc_state, restore_bc_state): Declare.
1847 (c_genericize_control_stmt): Declare.
1848 (WHILE_COND, WHILE_BODY): Likewise.
1849 (DO_COND, DO_BODY): Likewise.
1850 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1851 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1852 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1853 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1854 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1855 * c-dump.c (dump_stmt): Copy from cp front end.
1856 (c_dump_tree): Move code to handle structured loop and switch
1857 tree nodes here from cp front end.
1858 * c-gimplify.c: Adjust includes.
1859 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1860 cp front end.
1861 (save_bc_state, restore_bc_state): New functions using old code
1862 from cp front end.
1863 (get_bc_label, expr_loc_or_loc): Move from cp front end.
1864 (genericize_c_loop): Move from cp front end.
1865 (genericize_for_stmt, genericize_while_stmt): Likewise.
1866 (genericize_do_stmt, genericize_switch_stmt): Likewise.
1867 (genericize_continue_stmt, genericize_break_stmt): Likewise.
1868 (genericize_omp_for_stmt): Likewise.
1869 (c_genericize_control_stmt): New function using code split from
1870 cp front end.
1871 (c_genericize_control_r): New.
1872 (c_genericize): Call walk_tree with c_genericize_control_r.
1873 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1874 structured loop and switch tree nodes here from cp front end.
1875
2aad20c0
GA
18762020-09-17 Patrick Palka <ppalka@redhat.com>
1877
1878 PR c/80076
1879 * c-indentation.c (should_warn_for_misleading_indentation): Move
1880 declarations of local variables closer to their first use.
1881 Handle virtual token locations by resolving them to their
1882 respective macro expansion points. If all three tokens are
1883 produced from the same macro expansion, then instead use their
1884 loci within the macro definition.
1885
ecde1b0a
GA
18862020-09-16 Martin Sebor <msebor@redhat.com>
1887
1888 PR c/78666
1889 PR c/96126
1890 * c-attribs.c (validate_attr_args): New function.
1891 (validate_attr_arg): Same.
1892 (handle_section_attribute): Call it. Introduce a local variable.
1893 (handle_alloc_size_attribute): Same.
1894 (handle_alloc_align_attribute): Same.
1895
50a71cd0
GA
18962020-09-14 Jakub Jelinek <jakub@redhat.com>
1897
1898 * c-attribs.c (handle_optimize_attribute): Adjust
1899 cl_optimization_save, cl_optimization_restore and
1900 build_optimization_node callers.
1901 * c-pragma.c (handle_pragma_optimize): Adjust
1902 build_optimization_node caller.
1903 (handle_pragma_push_options): Adjust
1904 build_optimization_node and build_target_option_node callers.
1905 (handle_pragma_pop_options, handle_pragma_reset_options):
1906 Adjust cl_optimization_restore callers.
1907
8f7ea26a
GA
19082020-08-28 Martin Sebor <msebor@redhat.com>
1909
1910 * c.opt (Wstringop-overread): New option.
1911
a6493809
GA
19122020-08-11 Jakub Jelinek <jakub@redhat.com>
1913
1914 PR c/96545
1915 * c-common.c (get_atomic_generic_size): Require that first argument's
1916 type points to a complete type and use tree_fits_uhwi_p instead of
1917 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1918
48cc2e46
GA
19192020-07-31 Martin Sebor <msebor@redhat.com>
1920
1921 PR c++/96003
1922 * c-common.c (check_function_arguments_recurse): Return early when
1923 no-warning bit is set.
1924
19252020-07-31 Richard Biener <rguenther@suse.de>
1926
1927 PR debug/96383
1928 * c-common.h (c_common_finalize_early_debug): Declare.
1929 * c-common.c: Include debug.h.
1930 (c_common_finalize_early_debug): finalize_early_debug langhook
1931 implementation generating debug for extern declarations.
1932
e71dab87
GA
19332020-07-27 Nathan Sidwell <nathan@acm.org>
1934
1935 * c-common.c (try_to_locate_new_include_insertion_point): Use
1936 strcmp, not pointer equality.
1937
ae2e0bc1
GA
19382020-07-25 Martin Sebor <msebor@redhat.com>
1939
1940 PR c++/96310
1941 * c-common.c (check_nonnull_arg): Print note only when warning was
1942 issued.
1943
3ea9abca
GA
19442020-07-22 Tobias Burnus <tobias@codesourcery.com>
1945
1946 * c-omp.c (c_finish_omp_critical): Check for no name but
1947 nonzero hint provided.
1948
0933f508
GA
19492020-07-20 Jason Merrill <jason@redhat.com>
1950
1951 * c-cppbuiltin.c (c_cpp_builtins): Update
1952 __cpp_nontype_template_args for C++20.
1953
19542020-07-20 Martin Sebor <msebor@redhat.com>
1955
1956 PR c/96249
1957 * c.opt: Remove stray text.
1958
8ca07a30
GA
19592020-07-14 Lewis Hyatt <lhyatt@gmail.com>
1960
1961 PR other/86904
1962 * c-indentation.c (should_warn_for_misleading_indentation): Get
1963 global tabstop from the new source.
1964 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
1965 is now a common option.
1966 * c.opt: Likewise.
1967
a82c4c4c 19682020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
1969
1970 * c.opt (Wscalar-storage-order): Add explicit variable.
1971
f60ee68d
GA
19722020-07-07 Nathan Sidwell <nathan@acm.org>
1973
1974 * c-opts.c (c_common_post_options): Add 'injecting' arg to
1975 cpp_read_main_file.
1976 (c_finish_options): Add linemap_line_start calls for builtin and cmd
1977 maps. Force token position to line_table's highest line.
1978 * c-ppoutput.c (print_line_1): Refactor, print line zero.
1979 (cb_define): Always increment source line.
1980
4077d74c
GA
19812020-07-06 Martin Sebor <msebor@redhat.com>
1982
1983 PR c++/95984
1984 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
1985 to stub lambda objects with null this pointer.
1986 (check_nonnull_arg): Handle C++ nullptr.
1987
b5f24739
GA
19882020-07-02 Jason Merrill <jason@redhat.com>
1989 Jakub Jelinek <jakub@redhat.com>
1990
1991 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
1992
46fbb6c6
GA
19932020-06-30 Jakub Jelinek <jakub@redhat.com>
1994
1995 PR c++/95963
1996 * c-common.c (check_function_arguments_recurse): Don't crash on
1997 calls to internal functions.
1998
69273534
GA
19992020-06-28 Martin Sebor <msebor@redhat.com>
2000
2001 PR c++/86568
2002 * c-common.c (struct nonnull_arg_ctx): Add members.
2003 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2004 C++ member functions specially. Consider the this pointer implicitly
2005 nonnull.
2006 (check_nonnull_arg): Use location of argument when available.
2007 (check_function_arguments): Use nonnull_arg_ctx as argument.
2008
9a33c41f
GA
20092020-06-27 Jakub Jelinek <jakub@redhat.com>
2010
2011 PR middle-end/95903
2012 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2013 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2014 smaller precision intop operands separately.
2015
c9c05f73
GA
20162020-06-26 Marek Polacek <polacek@redhat.com>
2017
2018 * c-opts.c (c_common_init_options): Default to gnu++17.
2019
aff95ee7
GA
20202020-06-17 Jonathan Wakely <jwakely@redhat.com>
2021
bd0a89dc 2022 PR c/95378
aff95ee7
GA
2023 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2024 pointer arguments.
2025
56638b9b
GA
20262020-06-16 Jakub Jelinek <jakub@redhat.com>
2027
2028 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2029 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2030 idx members.
2031 (c_omp_is_loop_iterator): New function.
2032 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2033 if outer loop iterator is present. Perform duplicate checking through
2034 hash_set in the function rather than expecting caller to do that.
2035 Pass NULL instead of d->ppset to walk_tree_1.
2036 (c_omp_check_nonrect_loop_iv): New function.
2037 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2038 non-rectangular loop forms, diagnose multiple associated loops with
2039 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2040 (c_omp_check_loop_iv_exprs): Likewise.
2041
ec6ffbb9
GA
20422020-06-10 Martin Liska <mliska@suse.cz>
2043
2044 PR tree-optimization/92860
2045 * c-attribs.c (handle_optimize_attribute):
2046 Save global options and compare it after parsing of function
2047 attribute.
2048 * c-pragma.c (opt_stack::saved_global_options): New field.
2049 (handle_pragma_push_options): Save global_options.
2050 (handle_pragma_pop_options): Compare them after pop.
2051
b952c2cf
GA
20522020-06-09 Jakub Jelinek <jakub@redhat.com>
2053
2054 PR c/95580
2055 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2056 case when MEM_REF's first argument has type pointer to incomplete type.
2057
1a59f3db
GA
20582020-06-05 Jason Merrill <jason@redhat.com>
2059
2060 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2061 operand to POINTER_PLUS_EXPR.
2062
3add3425
GA
20632020-06-04 Martin Sebor <msebor@redhat.com>
2064
2065 PR middle-end/10138
2066 PR middle-end/95136
2067 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2068 (handle_access_attribute): Same.
2069
9a5b7438
GA
20702020-06-03 Mark Wielaard <mark@klomp.org>
2071
2072 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2073 New function.
2074 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2075 New function declaration.
2076
20772020-06-03 Mark Wielaard <mark@klomp.org>
2078
2079 * known-headers.cc (get_string_macro_hint): New function.
2080 (get_stdlib_header_for_name): Use get_string_macro_hint.
2081 (get_c_stdlib_header_for_string_macro_name): New function.
2082 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2083 New function declaration.
2084
20852020-06-03 Tobias Burnus <tobias@codesourcery.com>
2086
2087 * c-common.h (c_omp_predetermined_mapping): Declare.
2088 * c-omp.c (c_omp_predetermined_mapping): New.
2089
af114c38
MW
20902020-05-22 Mark Wielaard <mark@klomp.org>
2091
2092 * known-headers.cc (get_stdlib_header_for_name): Add a new
2093 stdlib_hint array for stdbool and stdint.
2094
45c50b6a
MW
20952020-05-22 Mark Wielaard <mark@klomp.org>
2096
2097 * known-headers.cc (get_stdlib_header_for_name): Return
2098 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2099 flag_isoc99.
2100
c22027a0
NS
21012020-05-20 Nathan Sidwell <nathan@acm.org>
2102
38a4db21
NS
2103 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2104
c22027a0
NS
2105 * c-common.c (try_to_locate_new_include_insertion_point): Use
2106 strcmp to compare filenames.
2107 * c-lex.c (init_c_lex): Move declaration to initialization.
2108 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2109 deferred count loop.
2110
29f0e90d
JM
21112020-05-15 Jason Merrill <jason@redhat.com>
2112
2113 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2114
b04445d4
JM
21152020-05-13 Jason Merrill <jason@redhat.com>
2116
2117 * c.opt (std=c++20): Make c++2a the alias.
2118 (std=gnu++20): Likewise.
2119 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2120 * c-opts.c: Adjust.
2121 * c-cppbuiltin.c: Adjust.
2122 * c-ubsan.c: Adjust.
2123 * c-warn.c: Adjust.
2124
11dd3be5
EB
21252020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2126
2127 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2128
b224c376
NS
21292020-05-08 Nathan Sidwell <nathan@acm.org>
2130
2131 Reimplement directives only processing.
2132 * c-ppoutput.c (token_streamer): Ne.
2133 (directives_only_cb): New. Swallow ...
2134 (print_lines_directives_only): ... this.
2135 (scan_translation_unit_directives_only): Reimplment using the
2136 published interface.
2137
f1d94677
MP
21382020-05-07 Marek Polacek <polacek@redhat.com>
2139
2140 * c-format.c (badwords): Add "nonstatic".
2141
9b95bb52
JJ
2142202-05-07 Jakub Jelinek <jakub@redhat.com>
2143
2144 PR c/94968
2145 * c-common.c (speculation_safe_value_resolve_params): Return false if
2146 error_operand_p (val2).
2147 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2148 Remove extraneous semicolon.
2149
530b4409 21502020-05-06 qing zhao <qing.zhao@oracle.com>
2151
2152 PR c/94230
2153 * c-indentation.c (get_visual_column): Add a hint to use the new
2154 -flarge-source-files option.
2155
b776bdca
SSF
21562020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2157
2158 * c-attribs.c (handle_vector_size_attribute): Add attribute
2159 nonnull for argument args in order to silence warning of
2160 uninitialized variable usage. Since this is local to the
2161 compilation unit and thus cannot be checked at call sides by the
2162 compiler, added an assert statement in order to verify this.
2163
6607bdd9
L
21642020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2165
2166 PR target/93492
2167 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2168 value to USHRT_MAX (65535).
2169
691eeb65
JJ
21702020-04-29 Jakub Jelinek <jakub@redhat.com>
2171
2172 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2173
26d76be7
JJ
21742020-04-27 Jakub Jelinek <jakub@redhat.com>
2175
2176 PR c/94755
2177 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2178 fncode == BUILT_IN_NONE before initialization of first_param.
2179
7291b2ed
MP
21802020-04-23 Marek Polacek <polacek@redhat.com>
2181
2182 PR c++/94733
2183 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2184 TREE_PURPOSE.
2185
58a29af8
PP
21862020-04-14 Patrick Palka <ppalka@redhat.com>
2187
2188 PR c++/85278
2189 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2190 ampersand if it's an rvalue reference type.
2191
09f04139
MS
21922020-04-13 Martin Sebor <msebor@redhat.com>
2193
2194 PR c/92326
2195 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2196 printing array bound for flexible array members.
2197
ee26baf4
IS
21982020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2199
2200 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2201 define, per n4861.
2202
75efe9cb
RB
22032020-04-02 Richard Biener <rguenther@suse.de>
2204
2205 PR c/94392
2206 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2207 for -O2 and C++11 or newer.
2208
75defde9
PP
22092020-03-28 Patrick Palka <ppalka@redhat.com>
2210
2211 * c.opt: Add -fconcepts-diagnostics-depth.
2212
52f24a9e
MS
22132020-03-27 Martin Sebor <msebor@redhat.com>
2214
2215 PR c++/94346
2216 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2217 to decl_attributes. Make handling of different kinds of entities
2218 more robust.
2219
ccacf77b
MS
22202020-03-27 Martin Sebor <msebor@redhat.com>
2221
2222 PR c++/94098
2223 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2224 here.
2225
ca6c7225
JJ
22262020-03-23 Jakub Jelinek <jakub@redhat.com>
2227
2228 PR c++/91993
2229 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2230 result being COMPOUND_EXPRs, skip to ultimate rhs.
2231
1aa22b19
RS
22322020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2233
2234 PR middle-end/94072
2235 * c-common.c (c_common_type_for_mode): Before using a registered
2236 built-in type, check that the vectorness of the type matches
2237 the vectorness of the mode.
2238
700d4cb0
JJ
22392020-03-17 Jakub Jelinek <jakub@redhat.com>
2240
2241 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2242 issue in a diagnostic message.
2243
b408e010
LH
22442020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2245
2246 * c.opt: Avoid redundancy in the help text.
2247
e78e50d5
MP
22482020-03-02 Marek Polacek <polacek@redhat.com>
2249
2250 PR c++/93958 - add missing -std=gnu++20.
2251 * c.opt: Add -std=gnu++20.
2252
649e1741
MS
22532020-03-01 Martin Sebor <msebor@redhat.com>
2254
2255 PR c++/92721
2256 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2257 (handle_access_attribute): Same.
2258
7b60f3ba
JJ
22592020-02-25 Jakub Jelinek <jakub@redhat.com>
2260
2261 PR c/93858
2262 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2263 "did you mean" hint in diagnostics.
2264
fb260504
JM
22652020-02-15 Jason Merrill <jason@redhat.com>
2266
2267 * c.opt: Add -std=c++20.
2268
1d757b09
EB
22692020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2270
2271 * c-ada-spec.c: Include bitmap.h.
2272 (dump_ada_double_name): Rename into...
2273 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2274 (dump_ada_array_type): Adjust to above renaming. Robustify.
2275 (dump_nested_types_1): New function copied from... Add dumped_types
2276 parameter and pass it down to dump_nested_type.
2277 (dump_nested_types): ...this. Remove parent parameter. Just call
2278 dump_nested_types_1 on an automatic bitmap.
2279 (dump_nested_type): Add dumped_types parameter.
2280 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2281 Adjust recursive calls and adjust to above renaming.
2282 (dump_ada_declaration): Adjust call to dump_nested_types.
2283 Tidy up and adjust to above renaming.
2284 (dump_ada_specs): Initialize and release bitmap obstack.
2285
0cc575e4
MS
22862020-02-10 Martin Sebor <msebor@redhat.com>
2287
2288 PR c/93640
2289 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2290
a59aa302
JJ
22912020-02-10 Jakub Jelinek <jakub@redhat.com>
2292
2293 PR other/93641
2294 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2295 Remove useless extra test.
2296
e464fc90
TB
22972020-02-03 Julian Brown <julian@codesourcery.com>
2298 Tobias Burnus <tobias@codesourcery.com>
2299
2300 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2301
e3b6c052
JM
23022020-01-29 Jason Merrill <jason@redhat.com>
2303
2304 PR c++/89357
2305 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2306
6d00f052
JM
23072020-01-23 Jason Merrill <jason@redhat.com>
2308
2309 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2310
8a990ffa
MS
23112020-01-23 Martin Sebor <msebor@redhat.com>
2312
2313 PR c/84919
2314 * c-common.c (check_function_arguments): Avoid overlap checking
2315 of sprintf functions.
2316
55b7df8b
JM
23172020-01-22 Jason Merrill <jason@redhat.com>
2318
2319 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2320 PR c++/40752
2321 * c-warn.c (conversion_warning): Check operands only after checking
2322 the whole expression. Don't check second operand of + for sign.
2323
c77074d0
JM
23242020-01-21 Jason Merrill <jason@redhat.com>
2325 Manuel López-Ibáñez <manu@gcc.gnu.org>
2326
2327 PR c++/40752 - useless -Wconversion with short +=.
2328 * c.opt (-Warith-conversion): New.
2329 * c-warn.c (conversion_warning): Recurse for operands of
2330 operators. Only warn about the whole expression with
2331 -Warith-conversion.
2332
731dbfc3
JM
23332020-01-21 Jason Merrill <jason@redhat.com>
2334
2335 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2336 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2337
ad1a3914
NS
23382020-01-20 Nathan Sidwell <nathan@acm.org>
2339
2340 PR preprocessor/80005
2341 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2342
49789fd0
IS
23432020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2344
2345 * c-common.c (co_await, co_yield, co_return): New.
2346 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2347 RID_CO_RETURN): New enumeration values.
2348 (D_CXX_COROUTINES): Bit to identify coroutines are active.
2349 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2350 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2351 * c.opt (fcoroutines): New command-line switch.
2352
4bc1899b
DM
23532020-01-10 David Malcolm <dmalcolm@redhat.com>
2354
2355 * c-format.c (local_event_ptr_node): New.
2356 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2357 (init_dynamic_diag_info): Initialize local_event_ptr_node.
2358 * c-format.h (T_EVENT_PTR): New define.
2359
f25e33fa
MS
23602020-01-10 Martin Sebor <msebor@redhat.com>
2361
2362 PR c/93132
2363 * c-attribs.c (append_access_attrs): Validate against the translated
2364 access string rather than the human-readable representation.
2365
8d9254fc
JJ
23662020-01-01 Jakub Jelinek <jakub@redhat.com>
2367
2368 Update copyright years.
2369
39292e25
EB
23702019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2371
2372 * c-ada-spec.h (decl_sloc): Delete.
2373 * c-ada-spec.c (decl_sloc): Make static.
2374
519d7496
JB
23752019-12-19 Julian Brown <julian@codesourcery.com>
2376
2377 * c-common.h (c_omp_map_clause_name): Add prototype.
2378 * c-omp.c (c_omp_map_clause_name): New function.
2379 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2380 PRAGMA_OACC_CLAUSE_DETACH.
2381
a6163563
JB
23822019-12-19 Julian Brown <julian@codesourcery.com>
2383 Maciej W. Rozycki <macro@codesourcery.com>
2384 Tobias Burnus <tobias@codesourcery.com>
2385 Thomas Schwinge <thomas@codesourcery.com>
2386
2387 * c-pragma.h (pragma_omp_clause): Add
2388 PRAGMA_OACC_CLAUSE_NO_CREATE.
2389
e8f1ade2
MS
23902019-12-17 Martin Sebor <msebor@redhat.com>
2391
2392 PR c++/61339
2393 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2394
368877a1
DM
23952019-12-11 David Malcolm <dmalcolm@redhat.com>
2396
2397 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2398 implementation.
2399 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2400
d68f5d45
DM
24012019-12-09 David Malcolm <dmalcolm@redhat.com>
2402
2403 * c-format.c (range_label_for_format_type_mismatch::get_text):
2404 Replace label_text ctor called with true with label_text::take.
2405
d3e28653
DM
24062019-12-09 David Malcolm <dmalcolm@redhat.com>
2407
2408 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2409 initial newline from expected outputs.
2410 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2411 call to diagnostic_show_locus.
2412
abd6d8cc
JJ
24132019-12-06 Jakub Jelinek <jakub@redhat.com>
2414
2415 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2416 now.
2417
7906797e
MP
24182019-12-05 Marek Polacek <polacek@redhat.com>
2419 Jakub Jelinek <jakub@redhat.com>
2420
2421 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2422 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2423
5c04da88
MP
24242019-12-05 Marek Polacek <polacek@redhat.com>
2425
2426 PR c++/92271 - make __is_same alias for __is_same_as.
2427 * c-common.c: Add __is_same, an alias for __is_same_as.
2428
43aae289
MP
24292019-12-03 Marek Polacek <polacek@redhat.com>
2430
2431 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2432 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2433 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2434
d7ddfbcb
JH
24352019-11-30 Jan Hubicka <hubicka@ucw.cz>
2436
2437 * c-attribs.c (handle_symver_attribute): New function
2438 (c_common_attributes): Add symver.
2439
65ef05d0
RS
24402019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2441
2442 * c-common.c (pointer_int_sum): Use verify_type_context to check
2443 whether the target allows pointer arithmetic for the types involved.
2444 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2445 to check whether the target allows sizeof and alignof operations
2446 for the types involved.
2447
1a291106
JM
24482019-11-27 Jason Merrill <jason@redhat.com>
2449
2450 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2451
05d6cb1a
JJ
24522019-11-26 Jakub Jelinek <jakub@redhat.com>
2453
2454 PR c++/61414
2455 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2456 ENUMERAL_TYPEs.
2457
5b8d9367
JM
24582019-11-25 Joseph Myers <joseph@codesourcery.com>
2459
2460 PR c/91985
2461 * c-common.c (c_common_type_for_mode): Handle decimal
2462 floating-point types being NULL_TREE.
2463 * c-format.c (get_format_for_type_1): Handle specified types being
2464 NULL_TREE.
2465 * c-lex.c (interpret_float): Give an error for decimal
2466 floating-point constants when decimal floating-point not
2467 supported.
2468
1fbf51cb
JJ
24692019-11-23 Jakub Jelinek <jakub@redhat.com>
2470
2471 PR middle-end/83859
2472 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2473 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2474 group warning with inform together.
2475 (handle_access_attribute): Formatting fix.
2476
761df906
JJ
24772019-11-22 Jakub Jelinek <jakub@redhat.com>
2478
bdaf8be1
JJ
2479 PR c/90677
2480 * c-common.h (identifier_global_tag): Declare.
2481 * c-format.c (get_pointer_to_named_type): Renamed to ...
2482 (get_named_type): ... this. Use identifier_global_tag instead of
2483 identifier_global_value, handle the return value being a TYPE_P.
2484 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2485 to call get_named_type instead. Formatting fixes.
2486
c2ecce6d 2487 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2488 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2489 and __cpp_generic_lambdas for -std=c++2a. Define
2490 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2491 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2492 __cpp_concepts for -std=c++2a.
2493
54aa6b58
MS
24942019-11-22 Martin Sebor <msebor@redhat.com>
2495
2496 PR middle-end/83859
2497 * c-attribs.c (handle_access_attribute): New function.
2498 (c_common_attribute_table): Add new attribute.
2499 (get_argument_type): New function.
2500 (append_access_attrs): New function.
2501 (get_nonnull_operand): Rename...
2502 (get_attribute_operand): ...to this.
2503 * c-common.c (get_nonnull_operand): Rename...
2504 (get_attribute_operand): ...to this.
2505
6c80b1b5
JM
25062019-11-21 Joseph Myers <joseph@codesourcery.com>
2507
2508 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2509 of warning.
2510
192961ff
JM
25112019-11-19 Joseph Myers <joseph@codesourcery.com>
2512
2513 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2514 warning for standard attributes mixed with fallthrough attributes.
2515
f8aea5e3
JM
25162019-11-15 Joseph Myers <joseph@codesourcery.com>
2517
2518 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2519 * c-common.h (handle_fallthrough_attribute): Declare.
2520
2cc94aa8
JM
25212019-11-15 Joseph Myers <joseph@codesourcery.com>
2522
2523 * c-attribs.c (handle_deprecated_attribute): Remove static.
2524 * c-common.h (handle_deprecated_attribute): Declare.
2525
7c5890cc
JM
25262019-11-14 Joseph Myers <joseph@codesourcery.com>
2527
2528 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2529 char for C.
2530
b2417b59
JJ
25312019-11-14 Jakub Jelinek <jakub@redhat.com>
2532
d0ec7c93
JJ
2533 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2534 valid vendors.
2535
b2417b59
JJ
2536 * c-omp.c (c_omp_check_context_selector): Handle name lists
2537 containing string literals. Don't diagnose atomic_default_mem_order
2538 with multiple props.
2539
00be2a5f
JM
25402019-11-13 Joseph Myers <joseph@codesourcery.com>
2541
2542 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2543 NORM_MAX constants. Update call to get_max_float.
2544 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2545 constants.
2546
2dbad62d
EB
25472019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2548
2549 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2550 (dump_forward_type): Do not generate a declaration for function types.
2551 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2552 of the component type if it is declared in another file.
2553
6ed76044
ML
25542019-11-12 Martin Liska <mliska@suse.cz>
2555
2556 * c-opts.c (c_common_post_options):
2557 Use SET_OPTION_IF_UNSET.
2558
62aee289
MR
25592019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2560 Frederik Harwath <frederik@codesourcery.com>
2561
2562 gcc/c-family/
2563 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2564 constant.
2565 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2566
f486280c
RS
25672019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2568
2569 * c-common.h (gnu_vector_type_p): New function.
2570 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2571 vectors to satisfy gnu_vector_type_p.
2572 (c_build_vec_convert): Likewise __builtin_convertvector.
2573 (convert_vector_to_array_for_subscript): Likewise when applying
2574 implicit vector to array conversion.
2575 (scalar_to_vector): Likewise when converting vector-scalar
2576 operations to vector-vector operations.
2577
017c6491
JM
25782019-11-08 Joseph Myers <joseph@codesourcery.com>
2579
2580 * c.opt (Wold-style-definition): Initialize to -1.
2581 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2582 to flag_isoc2x if not set explicitly.
2583
c01bd174
JM
25842019-11-07 Joseph Myers <joseph@codesourcery.com>
2585
2586 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2587
0df65305
JM
25882019-11-05 Jason Merrill <jason@redhat.com>
2589
2590 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2591 -fconcepts.
2592
e0c866dd
KK
25932019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2594
2595 * c-opts.c (c_common_post_options): Update
2596 latest_abi_version.
2597
f968ef9b
JJ
25982019-11-02 Jakub Jelinek <jakub@redhat.com>
2599
d0c464d2
JJ
2600 * c-common.h (c_omp_get_context_selector): Remove.
2601 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2602 and renamed to omp_get_context_selector.
2603
917dd789
JJ
2604 * c-omp.c (c_omp_mark_declare_variant): Use
2605 omp_context_selector_set_compare.
2606
f968ef9b
JJ
2607 PR c++/88335 - Implement P1073R3: Immediate functions
2608 * c-common.h (enum rid): Add RID_CONSTEVAL.
2609 * c-common.c (c_common_reswords): Add consteval.
2610
5f6705b7
JJ
26112019-11-01 Martin Sebor <msebor@redhat.com>
2612
2613 PR middle-end/91679
2614 PR middle-end/91647
2615 PR middle-end/91463
2616 PR middle-end/92312
2617 * c-pretty-print.c (direct_abstract_declarator): Print
2618 bound in zero-length arrays.
2619 * c.opt (-Wzero-length-bounds): New option.
2620
43f1814c
NS
26212019-10-30 Nathan Sidwell <nathan@acm.org>
2622
2623 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2624 macros.
2625
ad1539d5
MS
26262019-10-28 Martin Sebor <msebor@redhat.com>
2627
2628 PR c/66970
2629 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2630 even when only preprocessing.
2631 * c-common.h (names_builtin_p): Declare new function.
2632 * c-lex.c (init_c_lex): Set has_builtin.
2633 (c_common_has_builtin): Define a new function.
2634 * c-ppoutput.c (init_pp_output): Set has_builtin.
2635
135df52c
JJ
26362019-10-24 Jakub Jelinek <jakub@redhat.com>
2637
2638 * c-common.h (c_omp_context_selector_matches): Remove.
2639 * c-omp.c (c_omp_context_selector_matches): Remove.
2640 * c-attribs.c (c_common_attribute_table): Add
2641 "omp declare target {host,nohost,block}" attributes.
2642
8ad0c477
JM
26432019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2644
2645 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2646
56898e43
RS
26472019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2648
2649 * c-common.h (user_facing_original_type_p): Declare.
2650 * c-common.c: Include c-spellcheck.h.
2651 (user_facing_original_type_p): New function.
2652
20de9568
JJ
26532019-10-12 Jakub Jelinek <jakub@redhat.com>
2654
2655 * c-common.h (c_omp_mark_declare_variant,
2656 c_omp_context_selector_matches): Declare.
2657 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2658 and hsa-common.h.
2659 (c_omp_get_context_selector): Support second argument NULL.
2660 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2661 functions.
2662 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2663 attribute, add "omp declare variant base" and
2664 "omp declare variant variant" attributes.
2665
175a85b2
JM
26662019-10-11 Joseph Myers <joseph@codesourcery.com>
2667
2668 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2669 CppReason(CPP_W_C11_C2X_COMPAT).
2670
fe2bc27c
JM
26712019-10-11 Joseph Myers <joseph@codesourcery.com>
2672
2673 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2674 _Decimal64 and _Decimal128.
2675
27dfdc0f
JM
26762019-10-10 Joseph Myers <joseph@codesourcery.com>
2677
2678 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2679 types if DFP not supported.
2680
94e7f906
JJ
26812019-10-10 Jakub Jelinek <jakub@redhat.com>
2682
2683 * c-common.h (c_omp_check_context_selector,
2684 c_omp_get_context_selector): Declare.
2685 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2686 in diagnostic message.
2687 (c_omp_check_context_selector, c_omp_get_context_selector): New
2688 functions.
2689 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2690 attribute.
2691 (handle_omp_declare_variant_attribute): New function.
2692
a7160771
MS
26932019-10-09 Martin Sebor <msebor@redhat.com>
2694
2695 PR tree-optimization/90879
2696 * c.opt (-Wstring-compare): New option.
2697
cb57504a
JM
26982019-10-08 Andrew Sutton <asutton@lock3software.com>
2699 Jason Merrill <jason@redhat.com>
2700
2701 Update the concepts implementation to conform to the C++20
2702 specification, improve compile times, and generally clean up
2703 the implementation.
2704
2705 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2706 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2707 * c.opt: Add -Wconcepts-ts.
2708 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2709 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2710 (set_std_cxx2a): Enable concepts by default.
2711
fbb2a6dc
JM
27122019-10-08 Joseph Myers <joseph@codesourcery.com>
2713
2714 * c-opts.c (c_common_post_options): Set
2715 -fno-fp-int-builtin-inexact for C2X.
2716
8e007055
JJ
27172019-10-05 Jakub Jelinek <jakub@redhat.com>
2718
2719 PR c++/91369 - Implement P0784R7: constexpr new
2720 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2721 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2722
843f104d
JM
27232019-10-04 Joseph Myers <joseph@codesourcery.com>
2724
2725 PR c/82752
2726 * c-format.c (C_STD_VER): Handle C2x.
2727 (C_STD_NAME): Likewise.
2728 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2729 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2730 modifier allowed and 'p' flag.
2731 * c-format.h (enum format_std_version): Add STD_C2X.
2732 (struct format_char_info): Mention 'p' in comment on flags2.
2733
e9c9a142
DM
27342019-10-01 David Malcolm <dmalcolm@redhat.com>
2735
2736 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2737 calling diagnostic_show_locus, rather than destroying it afterwards.
2738
7552c36a
JJ
27392019-10-01 Jakub Jelinek <jakub@redhat.com>
2740
2741 PR c++/91925
2742 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2743 with NULL DECL_FIELD_OFFSET.
2744
8209db25
RS
27452019-10-01 Richard Sandiford <richard.sandiford@arm.com>
2746
2747 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2748 has a type name, use it in preference to the __vector syntax.
2749
9343bf99
RS
27502019-09-30 Richard Sandiford <richard.sandiford@arm.com>
2751
2752 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2753 two spaces between a comma and "...".
2754
59bc434a
JJ
27552019-09-27 Jakub Jelinek <jakub@redhat.com>
2756
2757 PR c++/88203
2758 * c-common.h (c_omp_predefined_variable): Declare.
2759 * c-omp.c (c_omp_predefined_variable): New function.
2760 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2761 for predefined variables.
2762
c6447c20
RS
27632019-09-27 Richard Sandiford <richard.sandiford@arm.com>
2764
2765 * c-common.h (build_function_call_vec): Take the original
2766 function decl as an optional final parameter.
2767 (check_builtin_function_arguments): Take the original function decl.
2768 * c-common.c (check_builtin_function_arguments): Likewise.
2769 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2770 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2771
c4438114
JM
27722019-09-15 Jason Merrill <jason@redhat.com>
2773
2774 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
2775 fold_for_warn in "|| mask" warning.
2776
68a57628
ML
27772019-09-10 Martin Liska <mliska@suse.cz>
2778
2779 * c.opt: Use newly added WarnRemoved.
2780
f48ef52e
ML
27812019-09-09 Martin Liska <mliska@suse.cz>
2782
2783 * c.opt: Update comment of removed
2784 options that are preserved only for backward
2785 compatibility.
2786
67f6e649
ML
27872019-09-06 Martin Liska <mliska@suse.cz>
2788
2789 PR c++/91125
2790 * c-common.c: Remove definition of flag_use_repository.
2791 * c-common.h: Likewise.
2792 * c-opts.c (c_common_handle_option):
2793 Do not handle OPT_frepo option.
2794 * c.opt: Mark the option with Deprecated.
2795
db9d2274
MP
27962019-09-04 Marek Polacek <polacek@redhat.com>
2797
2798 * c.opt (fdeduce-init-list): Ignored.
2799
68e2c199
PK
28002019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2801
2802 PR c/78736
2803 * c.opt (Wenum-conversion): New option.
2804
7a4418a5
JL
28052019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2806
2807 * c-attribs.c (handle_section_attribute): Call the
2808 handle_generic_attribute target hook after performing target
2809 independent processing.
2810 (handle_noinit_attribute): Likewise.
2811
5f76ab15
ILT
28122019-09-03 Ian Lance Taylor <iant@golang.org>
2813
2814 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2815 when using -fgo-dump-spec.
2816
ae0d3f6a
ML
28172019-09-02 Martin Liska <mliska@suse.cz>
2818
2819 PR c++/91155
2820 * c-common.c (fname_as_string): Use cxx_printable_name for
2821 __PRETTY_FUNCTION__ same as was used before r265711.
2822
8a902edb
MP
28232019-08-28 Marek Polacek <polacek@redhat.com>
2824
2825 Implement P1152R4: Deprecating some uses of volatile.
2826 PR c++/91361
2827 * c-opts.c (c_common_post_options): Enable -Wvolatile by
2828 default for C++2a, unless -Wno-deprecated.
2829 * c.opt (Wvolatile): New warning.
2830
4742dbe7
MP
28312019-08-28 Marek Polacek <polacek@redhat.com>
2832
2833 PR c++/91360 - Implement C++20 P1143R2: constinit.
2834 * c-common.c (c_common_reswords): Add constinit and __constinit.
2835 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2836 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2837 RID_LAST_CXX20.
2838 (D_CXX20): Define.
2839 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2840 * c-format.c (cxx_keywords): Add "constinit".
2841 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2842
6a074892
JJ
28432019-08-27 Jakub Jelinek <jakub@redhat.com>
2844
2845 PR c++/91415
2846 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2847 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2848 like COMPOUND_EXPR rather than normal expression.
2849
22f8849d
IS
28502019-08-23 Iain Sandoe <iain@sandoe.co.uk>
2851
2852 PR pch/61250
2853 * c-lex.c (c_lex_with_flags): Don't call
2854 c_common_no_more_pch () from here.
2855
df375b03
JJ
28562019-08-23 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR middle-end/91283
2859 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2860 instead of flag_excess_precision_cmdline.
2861 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2862 * c-opts.c (c_common_post_options): Likewise.
2863
14b7950f
MS
28642019-08-22 Martin Sebor <msebor@redhat.com>
2865
2866 PR middle-end/91490
2867 * c-common.c (braced_list_to_string): Add argument and overload.
2868 Handle flexible length arrays and unions.
2869
8bb2ee59
EB
28702019-08-21 Eric Botcazou <ebotcazou@adacore.com>
2871
2872 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2873 function declarations where arguments are missing. Rename variables.
2874
21c1e205
RB
28752019-08-15 Richard Biener <rguenther@suse.de>
2876
2877 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2878 enabled, define __SIZETYPE__.
2879
f0033821
CL
28802019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
2881
2882 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2883 exclusion with "section" attribute.
2884 (attr_noinit_exclusions): New table.
2885 (handle_noinit_attribute): New function.
2886
4d732405
RS
28872019-08-13 Richard Sandiford <richard.sandiford@arm.com>
2888
2889 PR middle-end/91421
2890 * c-common.c (resolve_overloaded_builtin): Use
2891 copy_decl_built_in_function.
2892
51ad8481
MS
28932019-08-13 Martin Sebor <msebor@redhat.com>
2894
2895 PR c/80619
2896 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2897 (asm_fprintf_length_spec): Same.
2898 * c-format.h (format_lengths): Add FMT_LEN_w.
2899
77eb117f
JJ
29002019-08-10 Jakub Jelinek <jakub@redhat.com>
2901
2902 * c-pragma.h (enum pragma_omp_clause): Add
2903 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2904
398e3feb
JJ
29052019-08-07 Jakub Jelinek <jakub@redhat.com>
2906
2907 * c-pragma.h (enum pragma_omp_clause): Add
2908 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2909 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2910 enumeration value.
2911
ab574db6
MP
29122019-08-05 Marek Polacek <polacek@redhat.com>
2913
2914 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2915 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2916 default for C++2a, unless -Wno-deprecated.
2917 * c.opt (Wcomma-subscript): New warning.
2918
554a530f
JJ
29192019-07-20 Jakub Jelinek <jakub@redhat.com>
2920
2921 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2922 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2923 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2924 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2925 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2926 constructs with the loop construct.
2927
1a888209
JJ
29282019-07-13 Jakub Jelinek <jakub@redhat.com>
2929
2930 PR c/91149
2931 * c-omp.c (c_omp_split_clauses): Fix a pasto in
2932 OMP_CLAUSE_REDUCTION_TASK handling.
2933
1fdd6f04
JJ
29342019-07-12 Jakub Jelinek <jakub@redhat.com>
2935
2936 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2937 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2938
99b1c316
MS
29392019-07-09 Martin Sebor <msebor@redhat.com>
2940
2941 PR c++/61339
1fdd6f04 2942 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
2943 and others to class.
2944 * c-pretty-print.h: Same.
2945
6c1dae73
MS
29462019-07-09 Martin Sebor <msebor@redhat.com>
2947
2948 PR c++/61339
2949 * c-format.c (check_argument_type): Change class-key from class to
2950 struct and vice versa to match convention and avoid -Wclass-is-pod
2951 and -Wstruct-no-pod.
2952 * c-pretty-print.h: Same.
2953
8ba6ea87
ML
29542019-07-03 Martin Liska <mliska@suse.cz>
2955
2956 * c-common.c (try_to_locate_new_include_insertion_point): Remove
2957 dead assignemts.
2958
83eb9522
JJ
29592019-07-03 Jakub Jelinek <jakub@redhat.com>
2960
2961 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
2962 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
2963 with OMP_PARALLEL.
2964
1c6ffbab
QZ
29652019-07-02 qing zhao <qing.zhao@oracle.com>
2966
2967 PR preprocessor/90581
2968 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
2969 * c.opt: Add new option -fmax-include-depth.
2970
7ffc7de5
JM
29712019-06-26 Jason Merrill <jason@redhat.com>
2972
2973 PR c++/55442 - memory-hog with highly recursive constexpr.
2974 * c.opt (fconstexpr-loop-limit): New.
2975
361af3e4
JJ
29762019-06-25 Jakub Jelinek <jakub@redhat.com>
2977
2978 PR sanitizer/90954
2979 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
2980 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
2981
ab20d992
JJ
29822019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2983
2984 * c-common.c (c_common_nodes_and_builtins): Define
2985 alternate "__intN__" name for "__intN" types.
2986
f4af4019
JH
29872019-06-24 Jan Hubicka <jh@suse.cz>
2988
2989 * c-common.c (braced_lists_to_strings): Check that
2990 type is array or integer prior checking string flag.
2991
da9e9b57
MB
29922019-06-21 Matthew Beliveau <mbelivea@redhat.com>
2993
2994 PR c++/90875 - added -Wswitch-outside-range option
2995 * c.opt (Wswitch-outside-range): Added new option.
2996 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
2997
3f3d6a6f
MP
29982019-06-21 Marek Polacek <polacek@redhat.com>
2999
3000 PR c++/90953 - ICE with -Wmissing-format-attribute.
3001 * c-common.c (check_function_arguments_recurse): Use
3002 get_attribute_name.
3003 (check_missing_format_attribute): Likewise.
3004
1bf32c11
MP
30052019-06-19 Marek Polacek <polacek@redhat.com>
3006
3007 PR c++/60364 - noreturn after first decl not diagnosed.
3008 * c-attribs.c (handle_noreturn_attribute): No longer static.
3009 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3010 Declare.
3011 * c-format.c (check_function_format): Use get_attribute_name.
3012
a04c0734
MS
30132019-06-19 Martin Sebor <msebor@redhat.com>
3014
3015 PR translation/90156
3016 * c-format.c (function_format_info::format_type): Adjust type.
3017 (function_format_info::is_raw): New member.
3018 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3019 (decode_format_attr): Adjust call to decode_format_type.
3020 Avoid a redundant call to convert_format_name_to_system_name.
3021 Avoid abbreviating the word "arguments" in a diagnostic.
3022 (format_warning_substr): New function.
3023 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3024 (finish_dollar_format_checking): Same.
3025 (check_format_info): Same.
3026 (struct baltoks_t): New.
3027 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3028 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3029 functions.
3030 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3031 maybe_diag_unbalanced_tokens.
3032 (handle_format_attribute): Spell out the word "arguments" in
3033 a diagnostic.
3034
d3786ebb
MB
30352019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3036
3037 PR c++/90449 - add -Winaccessible-base option.
3038 * c.opt (Winaccessible-base): New option.
3039
bf38f7e9
JJ
30402019-06-10 Jakub Jelinek <jakub@redhat.com>
3041
3042 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3043 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3044 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3045 combined/composite constructs where it is not allowed. Copy over
3046 OMP_CLAUSE_REDUCTION_INSCAN.
3047
0ecf545c
MS
30482019-06-05 Martin Sebor <msebor@redhat.com>
3049
3050 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3051 (handle_alias_ifunc_attribute): Same.
3052 (handle_copy_attribute): Same.
3053 (handle_weakref_attribute): Same.
3054 (handle_nonnull_attribute): Same.
3055 * c-warn.c (warn_for_sign_compare): Same.
3056 (warn_for_restrict): Same.
3057 * c.opt: Same.
3058
36b34127
MS
30592019-06-05 Martin Sebor <msebor@redhat.com>
3060
3061 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3062 * c.opt (-Wformat-diag): Remove a spurious period.
3063
357a352f
JJ
30642019-05-29 Jakub Jelinek <jakub@redhat.com>
3065
3066 PR c/90628
3067 * c-common.c (check_builtin_function_arguments)
3068 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3069 as last argument.
3070
2b8235ea
EB
30712019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3072
3073 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3074
6d86ddc4
ML
30752019-05-22 Martin Liska <mliska@suse.cz>
3076
3077 PR lto/90500
3078 * c-attribs.c (handle_copy_attribute): Do not copy
3079 target_clones attribute.
3080
419ba5b9
EB
30812019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3082
3083 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3084 * c-ada-spec.c (print_assignment_operator): New function.
3085 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3086 assignment operators declared as methods and filter out the others.
3087
e03436e7
TS
30882019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3089
3090 PR c/89433
3091 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3092 "omp declare target".
3093
a9c697b8
MS
30942019-05-16 Martin Sebor <msebor@redhat.com>
3095
ab20d992
JJ
3096 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3097 keywords, operators, and types in diagnostics.
3098 (handle_scalar_storage_order_attribute): Same.
3099 (handle_mode_attribute): Same.
3100 (handle_visibility_attribute): Same.
3101 (handle_assume_aligned_attribute): Same.
3102 (handle_no_split_stack_attribute): Same.
3103 * c-common.c (shorten_compare): Same.
3104 (c_common_truthvalue_conversion): Same.
3105 (cb_get_source_date_epoch): Same.
3106 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3107 in diagnostics.
3108 (interpret_float): Same.
3109 * c-omp.c (c_finish_omp_for): Same.
3110 * c-opts.c (c_common_post_options): Same.
3111 * c-pch.c (c_common_pch_pragma): Same.
3112 * c-pragma.c (pop_alignment): Same.
3113 (handle_pragma_pack): Same.
3114 (apply_pragma_weak): Same.
3115 (handle_pragma_weak): Same.
3116 (handle_pragma_scalar_storage_order): Same.
3117 (handle_pragma_redefine_extname): Same.
3118 (add_to_renaming_pragma_list): Same.
3119 (maybe_apply_renaming_pragma): Same.
3120 (push_visibility): Same.
3121 (handle_pragma_visibility): Same.
3122 (handle_pragma_optimize): Same.
3123 (handle_pragma_message): Same.
3124 * c-warn.c (warn_for_omitted_condop): Same.
3125 (lvalue_error): Same.
a9c697b8 3126
6b943512
RB
31272019-05-15 Richard Biener <rguenther@suse.de>
3128
3129 PR c/90474
3130 * c-common.c (c_common_mark_addressable_vec): Also mark
3131 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3132 c_mark_addressable.
ab20d992 3133
b744fc85
NS
31342019-05-06 Nathan Sidwell <nathan@acm.org>
3135
3136 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3137
598f50d7
NS
31382019-04-30 Nathan Sidwell <nathan@acm.org>
3139
3140 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3141
5bcc5a3b
ML
31422019-04-30 Martin Liska <mliska@suse.cz>
3143
3144 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3145 for unknown options.
3146
e78a87f7
RS
31472019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3148
3149 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3150 the pointer target rather than the pointer itself.
3151
c280b7ee
JJ
31522019-04-19 Jakub Jelinek <jakub@redhat.com>
3153
3154 PR c/89888
3155 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3156 arguments.
3157 (c_do_switch_warnings): Remove outside_range_p argument.
3158 * c-common.c (check_case_bounds): Removed.
3159 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3160 Don't call check_case_bounds. Fold low_value as well as high_value.
3161 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3162 Check for case labels outside of range of original type here and
3163 adjust them.
3164
8e8225e6
JJ
31652019-04-12 Jakub Jelinek <jakub@redhat.com>
3166
63b8a166
JJ
3167 PR translation/90041
3168 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3169 in the Warn diagnostics.
3170
8e8225e6
JJ
3171 PR c/89946
3172 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3173 function comment. Warn if arguments of the attribute are not positive
3174 integer constants.
3175
53a3f614
EB
31762019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3177
3178 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3179 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3180
22be5873
EB
31812019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3182
3183 * c-ada-spec.c (is_float128): New predicate extracted from...
3184 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3185 <REAL_TYPE>: ...here. Call it.
3186
34facf20
DM
31872019-04-05 David Malcolm <dmalcolm@redhat.com>
3188
3189 PR c/89985
3190 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3191 auto_diagnostic_group. Guard inform calls by result of
3192 warning_at call.
3193
05564120
MP
31942019-04-05 Marek Polacek <polacek@redhat.com>
3195
ab20d992 3196 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3197 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3198 of RHS.
3199
7a506c3c
JM
32002019-04-03 Jason Merrill <jason@redhat.com>
3201
3202 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3203 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3204
ddeae8c8
MS
32052019-04-01 Martin Sebor <msebor@redhat.com>
3206
3207 PR c/89685
3208 * c-attribs.c (handle_copy_attribute): Handle references and
3209 non-constant expressions.
3210
a15ffa22
JJ
32112019-03-22 Jakub Jelinek <jakub@redhat.com>
3212
3213 PR c++/87481
3214 * c.opt (-fconstexpr-ops-limit=): New option.
3215
36a3a7a3
JJ
32162019-03-21 Jakub Jelinek <jakub@redhat.com>
3217
3218 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3219 template param.
3220
bec1da64
MS
32212019-03-19 Martin Sebor <msebor@redhat.com>
3222
3223 PR tree-optimization/89688
3224 * c-common.c (braced_list_to_string): Make static.
3225 (braced_lists_to_strings): Define new function.
3226 * c-common.h (braced_list_to_string): Remove.
3227 (braced_lists_to_strings): Declare.
3228
1fe61adf
ML
32292019-03-12 Martin Liska <mliska@suse.cz>
3230
3231 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3232
93964ebd
ML
32332019-03-11 Martin Liska <mliska@suse.cz>
3234
3235 * c-opts.c (c_common_post_options): Wrap apostrophes
3236 in gcc internal format with %'.
3237
a3f9f006
ML
32382019-03-11 Martin Liska <mliska@suse.cz>
3239
3240 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3241 in a string format message and fix GNU coding style.
3242 * c-common.c (vector_types_convertible_p): Likewise.
3243 (c_build_vec_perm_expr): Likewise.
3244 * c-indentation.c (get_visual_column): Likewise.
3245 * c-opts.c (c_common_handle_option): Likewise.
3246 (c_common_post_options): Likewise.
3247 (sanitize_cpp_opts): Likewise.
3248 * c-pch.c (c_common_pch_pragma): Likewise.
3249 * c-pragma.c (handle_pragma_pack): Likewise.
3250
1db01ff9
JJ
32512019-03-08 Jakub Jelinek <jakub@redhat.com>
3252
3253 PR tree-optimization/89550
3254 * c-common.c (c_common_truthvalue_conversion): Only set
3255 TREE_NO_WARNING if warning_at returned true.
3256 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3257
ba790e6f
JJ
32582019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3259 Martin Sebor <msebor@gmail.com>
3260
3261 * c.opt (Wmissing-attributes): Clean up doc string.
3262
7da73ba7
JJ
32632019-02-25 Jakub Jelinek <jakub@redhat.com>
3264
3265 PR c/89495
3266 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3267 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3268 checking.
3269
921bb9d1
RB
32702019-02-22 Richard Biener <rguenther@suse.de>
3271
3272 * c-pch.c (no_checksum): Remove.
3273 (pch_init): Remove assertion that executable_checksum is not
3274 all zero.
3275 (c_common_valid_pch): Likewise.
3276
e2ebb05c
MS
32772019-02-18 Martin Sebor <msebor@redhat.com>
3278
3279 PR middle-end/89294
3280 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3281
3fe53000
DM
32822019-02-16 David Malcolm <dmalcolm@redhat.com>
3283
3284 PR c++/88680
3285 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3286 implementing -Wtype-limits.
3287
28a8cef1
MS
32882019-02-11 Martin Sebor <msebor@redhat.com>
3289
3290 PR c++/87996
3291 * c-common.c (invalid_array_size_error): New function.
3292 (valid_array_size_p): Call it. Handle size as well as type.
3293 * c-common.h (valid_constant_size_p): New function.
3294 (enum cst_size_error): New type.
3295
ec2be203
DM
32962019-01-31 David Malcolm <dmalcolm@redhat.com>
3297
3298 PR c/89122
3299 * known-headers.cc (get_stdlib_header_for_name): Add
3300 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3301
8936f047
JJ
33022019-01-31 Jakub Jelinek <jakub@redhat.com>
3303
3304 PR libstdc++/88170
3305 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3306 a C cast in pp_c_flag_gnu_v3 mode.
3307
6a335b96
JJ
33082019-01-29 Jakub Jelinek <jakub@redhat.com>
3309
3310 PR c/86125
3311 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3312 builtin_structptr_types types even for C.
3313
2a06eba5
BE
33142019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3315
3316 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3317 when rhs is of array type correctly. Fix handling of nested structures.
3318 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3319 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3320 type casts within nested compound expressions.
3321
18a23298
JJ
33222019-01-22 Jakub Jelinek <jakub@redhat.com>
3323
3324 PR middle-end/88968
3325 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3326 variable after using BIT_FIELD_REF.
3327
420183d9
L
33282019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3329
3330 PR c/51628
3331 PR c/88664
3332 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3333 Remove the boolean argument.
3334 * c-warn.c (check_address_of_packed_member): Renamed to ...
3335 (check_address_or_pointer_of_packed_member): This. Also
3336 warn pointer conversion.
3337 (check_and_warn_address_of_packed_member): Renamed to ...
3338 (check_and_warn_address_or_pointer_of_packed_member): This.
3339 Also warn pointer conversion.
3340 (warn_for_address_or_pointer_of_packed_member): Remove the
3341 boolean argument. Don't check pointer conversion here.
3342
99063eee
RS
33432019-01-15 Richard Sandiford <richard.sandiford@arm.com>
3344
3345 PR inline-asm/52813
3346 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3347
a30d0196
JJ
33482019-01-14 Jakub Jelinek <jakub@redhat.com>
3349
3350 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3351 and __cpp_nontype_template_parameter_auto. Add a comment that
3352 __cpp_template_auto is deprecated.
3353
2d91f79d
TH
33542019-01-14 Tom Honermann <tom@honermann.net>
3355
3356 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3357 * c-common.c (c_common_reswords): Add char8_t.
3358 (fix_string_type): Use char8_t for the type of u8 string literals.
3359 (c_common_get_alias_set): char8_t doesn't alias.
3360 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3361 C++.
3362 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3363 (keyword_begins_type_specifier): Add RID_CHAR8.
3364 * c-common.h (rid): Add RID_CHAR8.
3365 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3366 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3367 Define char8_type_node and char8_array_type_node.
3368 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3369 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3370 (c_cpp_builtins): Predefine __cpp_char8_t.
3371 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3372 CPP_UTF8STRING.
3373 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3374 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3375 targeting C++2a.
3376 * c.opt: Add the -fchar8_t command line option.
3377
23db6ced
MS
33782019-01-14 Martin Sebor <msebor@redhat.com>
3379
3380 PR target/88638
3381 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3382 and issue errors if it fails.
3383 * c-common.h (valid_format_string_type_p): Declare.
3384 * c-format.c (valid_stringptr_type_p): Rename...
3385 (valid_format_string_type_p): ...to this and make extern.
3386 (handle_format_arg_attribute): Adjust to new name.
3387 (check_format_string): Same.
3388
234c3818
L
33892019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3390
3391 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3392 Replace "may may" with "may" in warning message.
3393
d8fcab68
JJ
33942019-01-07 Jakub Jelinek <jakub@redhat.com>
3395
3396 PR c++/85052
3397 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3398 (c_build_vec_convert): Declare.
3399 * c-common.c (c_build_vec_convert): New function.
3400
29d24852
MS
34012019-01-04 Martin Sebor <msebor@redhat.com>
3402
3403 PR c/88546
3404 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3405 Handle C++ empty throw specification and C11 _Noreturn.
3406 (has_attribute): Also handle C11 _Noreturn.
3407
9069a4c9
MS
34082019-01-04 Martin Sebor <msebor@redhat.com>
3409
3410 PR c/88363
3411 * c-attribs.c (positional_argument): Also accept enumerated types.
3412
a5544970
JJ
34132019-01-01 Jakub Jelinek <jakub@redhat.com>
3414
3415 Update copyright years.
3416
da77eace
L
34172018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3418
3419 PR c/51628
3420 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3421 * c-warn.c (check_alignment_of_packed_member): New function.
3422 (check_address_of_packed_member): Likewise.
3423 (check_and_warn_address_of_packed_member): Likewise.
3424 (warn_for_address_or_pointer_of_packed_member): Likewise.
3425 * c.opt: Add -Wno-address-of-packed-member.
3426
573767d4
DM
34272018-12-20 David Malcolm <dmalcolm@redhat.com>
3428
3429 PR c++/87504
3430 * c-warn.c (get_outermost_macro_expansion): New function.
3431 (spelled_the_same_p): Use it to unwind the macro expansions, and
3432 compare the outermost macro in each nested expansion, rather than
3433 the innermost.
3434
a14feb3c
DM
34352018-12-19 David Malcolm <dmalcolm@redhat.com>
3436
3437 PR c++/87504
3438 * c-common.h (warn_tautological_cmp): Convert 1st param from
3439 location_t to const op_location_t &.
3440 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3441 when testing for INTEGER_CST.
3442 (warn_tautological_bitwise_comparison): Convert 1st param from
3443 location_t to const op_location_t &; use it to build a
3444 binary_op_rich_location, and use this.
3445 (spelled_the_same_p): New function.
3446 (warn_tautological_cmp): Convert 1st param from location_t to
3447 const op_location_t &. Warn for macro expansions if
3448 spelled_the_same_p. Use binary_op_rich_location.
3449
dfd7fdca
DM
34502018-12-19 David Malcolm <dmalcolm@redhat.com>
3451
3452 PR c++/43064
3453 PR c++/43486
3454 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3455 (verify_tree): Handle location wrappers.
3456 (c_common_truthvalue_conversion): Strip any location wrapper.
3457 Handle CONST_DECL.
3458 (fold_offsetof): Strip any location wrapper.
3459 (complete_array_type): Likewise for initial_value.
3460 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3461 index before checking for INTEGER_CST.
3462 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3463 print parentheses around location wrappers.
3464 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3465 before checking for INTEGER_CST.
3466 (warn_tautological_bitwise_comparison): Call
3467 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3468 before checking for INTEGER_CST.
3469 (readonly_error): Strip any location wrapper.
3470 (warn_array_subscript_with_type_char): Strip location wrappers
3471 before checking for INTEGER_CST. Use the location of the index if
3472 available.
3473
5c8b3702
JM
34742018-12-06 Jason Merrill <jason@redhat.com>
3475
3476 PR c++/88136 - -Wdeprecated-copy false positives
3477 * c.opt (Wdeprecated-copy-dtor): New.
3478 (Wdeprecated-copy): Move to -Wextra.
3479
673670da
MS
34802018-11-29 Martin Sebor <msebor@redhat.com>
3481
3482 PR c/88172
3483 PR testsuite/88208
3484 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3485 alignments to values less than the target requires.
3486 (has_attribute): For attribute aligned consider both the attribute
3487 and the alignment bits.
3488 * c-common.c (c_init_attributes): Optionally issue a warning for
3489 zero alignment.
3490
04864ec8
MS
34912018-11-28 Martin Sebor <msebor@redhat.com>
3492
3493 PR c/88065
3494 PR c/87297
3495 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3496 or destination is an error.
3497
ace83db0
JJ
34982018-11-28 Jakub Jelinek <jakub@redhat.com>
3499
3500 PR c++/88215
3501 * c-ubsan.c: Include langhooks.h.
3502 (ubsan_instrument_division): Change gcc_assert that main variants
3503 of op0 and op1 types are equal to gcc_checking_assert that the
3504 main variants are compatible types.
3505
da193a27
EB
35062018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3507
3508 * c-ada-spec.c: Include stringpool.h.
3509 (has_static_fields): Return false for incomplete types.
3510 (is_tagged_type): Likewise.
3511 (has_nontrivial_methods): Likewise.
3512 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3513 (struct overloaded_name_hash): New structure.
3514 (struct overloaded_name_hasher): Likewise.
3515 (overloaded_names): New global variable.
3516 (init_overloaded_names): New static function.
3517 (overloaded_name_p): New predicate.
3518 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3519 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3520 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3521 Remove always-true condition and dump forward types.
3522 (dump_ada_specs): Delete overloaded_names.
3523
98f08eb8
MS
35242018-11-20 Martin Sebor <msebor@redhat.com>
3525
3526 * c-attribs.c (type_for_vector_size): New function.
3527 (type_valid_for_vector_size): Same.
3528 (handle_vector_size_attribute): Move code to the functions above
3529 and call them.
3530 (validate_attribute, has_attribute): New functions.
3531 * c-common.h (has_attribute): Declare.
3532 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3533 * c-common.c (c_common_resword): Same.
3534
2674fa47
JM
35352018-11-16 Jason Merrill <jason@redhat.com>
3536
3537 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3538 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3539
258b3854
JJ
35402018-11-16 Jakub Jelinek <jakub@redhat.com>
3541
3542 PR middle-end/87854
3543 * c-common.c (fix_string_type): Reject string literals larger than
3544 TYPE_MAX_VALUE (ssizetype) bytes.
3545
1d249509
MS
35462018-11-15 Martin Sebor <msebor@redhat.com>
3547
3548 PR c++/87541
3549 PR c++/87542
3550 * c-attribs.c (positional_argument): New function.
3551 (handle_alloc_size_attribute): Use it and simplify.
3552 (handle_alloc_align_attribute): Same.
3553 (handle_assume_aligned_attribute): Same.
3554 (handle_nonnull_attribute): Same.
3555 * c-common.c (check_function_arguments): Pass fntype to
3556 check_function_format.
3557 * c-common.h (check_function_format): Add an argument.
3558 (PosArgFlags, positional_argument): Declare new type and function.
3559 * c-format.c (decode_format_attr): Add arguments.
3560 (check_format_string, get_constant): Same.
3561 (convert_format_name_to_system_name): Adjust.
3562
478dd60d
DM
35632018-11-15 David Malcolm <dmalcolm@redhat.com>
3564
3565 PR other/19165
3566 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3567
8cca0163
JJ
35682018-11-14 Jakub Jelinek <jakub@redhat.com>
3569
8ee09943
JJ
3570 P1236R1 - Signed integers are two's complement
3571 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3572 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3573 with in-range second operand well defined for -std=c++2a.
3574
8cca0163
JJ
3575 PR other/88007
3576 * c-common.c (parse_optimize_options): Allocate option string from
3577 opts_obstack rather than as GC memory. Move the allocation after
3578 warning for invalid option.
3579
620e594b
DM
35802018-11-13 David Malcolm <dmalcolm@redhat.com>
3581
3582 * c-common.c (c_get_substring_location): Update for renaming of
3583 get_source_location_for_substring to get_location_within_string.
3584 * c-lex.c: Replace "source_location" with "location_t".
3585 * c-opts.c: Likewise.
3586 * c-ppoutput.c: Likewise.
3587
f9731de3
MS
35882018-11-13 Martin Sebor <msebor@redhat.com>
3589
3590 PR middle-end/81824
3591 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3592 (handle_tls_model_attribute): Improve diagnostics.
3593
e4bd6d5e
JM
35942018-11-12 Jason Merrill <jason@redhat.com>
3595
a6bb6b07
JM
3596 * c-cppbuiltin.c (c_cpp_builtins): Define
3597 __cpp_impl_destroying_delete.
3598
e4bd6d5e
JM
3599 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3600 __cpp_conditional_explicit.
3601
79a2c428
MS
36022018-11-09 Martin Sebor <msebor@redhat.com>
3603
3604 PR middle-end/81824
3605 * c-attribs.c (handle_copy_attribute): New function.
3606
4c7bd361
MS
36072018-11-09 Martin Sebor <msebor@redhat.com>
3608
3609 PR c/87795
3610 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3611
28567c40
JJ
36122018-11-08 Jakub Jelinek <jakub@redhat.com>
3613
3614 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3615 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3616 enum omp_memory_order MEMORY_ORDER.
3617 (c_finish_omp_flush): Add MO argument.
3618 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3619 (c_finish_omp_for): Add FINAL_P argument.
3620 * c-omp.c: Include memmodel.h.
3621 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3622 OMP_TASKGROUP_CLAUSES to it.
3623 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3624 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3625 instead of OMP_ATOMIC_SEQ_CST.
3626 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3627 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3628 __atomic_thread_fence call with the given value.
3629 (check_omp_for_incr_expr): Formatting fixes.
3630 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3631 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3632 is not constant expression 1 or -1. Transform NE_EXPR loops
3633 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3634 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3635 loops too.
3636 (c_omp_split_clauses): Add support for combined
3637 #pragma omp parallel master and
3638 #pragma omp {,parallel }master taskloop{, simd} constructs.
3639 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3640 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3641 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3642 (c_omp_predetermined_sharing): Don't return
3643 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3644 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3645 PRAGMA_OMP_REQUIRES.
3646 * c-pragma.h (enum pragma_kind): Likewise.
3647 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3648 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3649
204839e7
DM
36502018-11-08 David Malcolm <dmalcolm@redhat.com>
3651
3652 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3653
d8010ee4
DM
36542018-11-08 David Malcolm <dmalcolm@redhat.com>
3655
3656 * c-format.c (local_cgraph_node_ptr_node): New variable.
3657 (gcc_dump_printf_char_table): Add entry for %C.
3658 (get_pointer_to_named_type): New function, taken from the handling
3659 code for "gimple *" from...
3660 (init_dynamic_diag_info): ...here. Add handling for
3661 "cgraph_node *".
3662 * c-format.h (T_CGRAPH_NODE): New.
3663
4be5c72c
JM
36642018-10-19 Jason Merrill <jason@redhat.com>
3665
3666 * c-cppbuiltin.c (c_cpp_builtins): Add
3667 __cpp_nontype_template_parameter_class.
3668
f3f6029d
NS
36692018-10-31 Nathan Sidwell <nathan@acm.org>
3670
ab5324fb
NS
3671 * c-opts.c (c_finish_options): Force command line macro
3672 location. Refactor to avoid repeating main debug hook.
3673 (push_command_line_include): Clarify comment.
3674
f3f6029d
NS
3675 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3676
91e3ec29
MS
36772018-10-30 Martin Sebor <msebor@redhat.com>
3678
3679 PR middle-end/87041
3680 * c-format.c (check_format_types): Avoid diagnosing null pointer
3681 arguments to printf-family of functions.
3682
b5ff4f5c
MP
36832018-10-30 Marek Polacek <polacek@redhat.com>
3684
3685 Implement P0892R2, explicit(bool).
3686 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3687
7e2de6df
DM
36882018-10-29 David Malcolm <dmalcolm@redhat.com>
3689
3690 * name-hint.h (name_hint::take_deferred): New member function.
3691
b2bf438c
DM
36922018-10-29 David Malcolm <dmalcolm@redhat.com>
3693
3694 PR c++/56856
3695 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3696 argument.
3697 (check_function_restrict): Rename param "argarray" to
3698 "unfolded_argarray", and make a copy named "argarray", calling
3699 fold_for_warn on each argument.
3700 (check_function_arguments): Add note about responsibility for
3701 folding the arguments.
3702
9f936c86
JM
37032018-10-17 Joseph Myers <joseph@codesourcery.com>
3704
3705 * c-common.c (flag_isoc2x): New variable.
3706 * c-common.h (clk_c): Update comment to reference C2X.
3707 (flag_isoc99, flag_isoc11): Update comments to reference future
3708 standard versions in general.
3709 (flag_isoc2x): Declare.
3710 * c-opts.c (set_std_c2x): New function.
3711 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3712 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3713 flag_isoc2x to 0.
3714 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3715
7a8a92c4
JM
37162018-10-17 Joseph Myers <joseph@codesourcery.com>
3717
3718 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3719 (std=iso9899:2018): Document C17 as published in 2018.
3720
4dc003ff
CL
37212018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
3722
3723 PR c++/87364
3724 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3725
79371671
WW
37262018-10-11 Will Wray <wjwray@gmail.com>
3727
3728 PR c++/87364
3729 * c-pretty-print.h (pp_c_type_cast): Prototype.
3730 (pp_c_integer_constant): Likewise.
3731 * c-pretty-print.c (pp_c_type_cast): No longer static.
3732 (pp_c_integer_constant): Likewise.
3733 (pp_c_enumeration_constant): Fix loop termination when finding
3734 name of constant. No longer returns a value. Call
3735 pp_c_integer_constant.
3736 (c_pretty_printer::constant): Update for changes to
3737 pp_c_enumeration_constant.
3738
46c62690
JJ
37392018-10-11 Jakub Jelinek <jakub@redhat.com>
3740
3741 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3742 for no_unique_address.
3743
c24300ba
DM
37442018-10-09 David Malcolm <dmalcolm@redhat.com>
3745
3746 * c-common.c (c_option_controlling_cpp_error): Rename to...
3747 (c_option_controlling_cpp_diagnostic): ...this, and convert
3748 "reason" from int to enum.
3749 (c_cpp_error): Rename to...
3750 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3751 * c-common.h (c_cpp_error): Rename to...
3752 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3753 * c-opts.c (c_common_init_options): Update for renaming.
3754
8656dafa
RS
37552018-10-08 Richard Sandiford <richard.sandiford@arm.com>
3756
3757 PR c/87286
3758 * c-common.c (vector_types_compatible_elements_p): Use
3759 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3760
8cff0652
VK
37612018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
3762
3763 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3764 to generate constructor destructor priority warning.
3765 * c.opt (-Wprio-ctor-dtor): New option.
3766
bedf03a2
JM
37672018-10-01 Jason Merrill <jason@redhat.com>
3768
3769 * c-lex.c (c_common_has_attribute): Add no_unique_address.
3770
6cc430c1
EB
37712018-10-01 Eric Botcazou <ebotcazou@adacore.com>
3772
3773 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3774 (dump_ada_node): Add const keyword.
3775
87677ac7
ML
37762018-09-25 Martin Liska <mliska@suse.cz>
3777
3778 * c-common.c (c_common_truthvalue_conversion):
3779 Remove Pascal from documentation.
3780
518196cb
EB
37812018-09-21 Eric Botcazou <ebotcazou@adacore.com>
3782
3783 * c-ada-spec.c: Include diagnostic.h.
3784 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3785
a599af84
MP
37862018-09-19 Marek Polacek <polacek@redhat.com>
3787
3788 * c.opt (Wclass-conversion): New.
3789
9c4a4b3c
DM
37902018-09-17 David Malcolm <dmalcolm@redhat.com>
3791
3792 * c-format.c (range_label_for_format_type_mismatch::get_text):
3793 Update for new param.
3794
c896ecfe
DM
37952018-09-17 David Malcolm <dmalcolm@redhat.com>
3796
3797 * c-format.c (format_warning_at_char): Update for introduction of
3798 format_string_diagnostic_t.
3799 (format_type_warning): Likewise.
3800
80c6d1f4
MJ
38012018-09-17 Martin Jambor <mjambor@suse.cz>
3802
3803 PR c/63886
3804 * c.opt (Wabsolute-value): New.
3805
6d900107
BE
38062018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
3807
3808 * c-common.c (complete_flexible_array_elts): New helper function.
3809 * c-common.h (complete_flexible_array_elts): Declare.
3810
b5764229
BE
38112018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3812
3813 * c-common.c (braced_list_to_string): Remove eval parameter.
3814 Add some more checks. Always create zero-terminated STRING_CST.
3815 * c-common.h (braced_list_to_string): Adjust prototype.
3816
85204e23
DM
38172018-08-27 David Malcolm <dmalcolm@redhat.com>
3818
3819 PR 87091
3820 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3821 to a tri-state.
3822 (maybe_suggest_missing_token_insertion): Likewise.
3823 (maybe_add_include_fixit): Add param "override_location". If set,
3824 and source-printing is enabled, then override the rich_location's
3825 primary location with that of the insertion point for the fix-it
3826 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3827 * c-common.h (extern void maybe_add_include_fixit): Add bool
3828 param.
3829 * c-format.c (selftest::test_type_mismatch_range_labels): Update
3830 for conversion of show_caret_p to a tri-state.
3831 * c-warn.c (warn_for_restrict): Likewise.
3832 * known-headers.cc
3833 (suggest_missing_header::~suggest_missing_header): Update call to
3834 maybe_add_include_fixit to suggest overriding the location, as it
3835 is for a note.
3836
3d78e008
ML
38372018-08-27 Martin Liska <mliska@suse.cz>
3838
3839 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
3840 fndecl_built_in_p and remove check for FUNCTION_DECL if
3841 possible.
3d78e008
ML
3842 (check_builtin_function_arguments): Likewise.
3843 (reject_gcc_builtin): Likewise.
3844 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3845
b5be6d0c
MP
38462018-08-26 Marek Polacek <polacek@redhat.com>
3847
3848 PR c++/87029, Implement -Wredundant-move.
3849 * c.opt (Wredundant-move): New option.
3850
79ca9c35
MP
38512018-08-21 Marek Polacek <polacek@redhat.com>
3852
3853 PR c++/86981, Implement -Wpessimizing-move.
3854 * c.opt (Wpessimizing-move): New option.
3855
097f82ec
DM
38562018-08-20 David Malcolm <dmalcolm@redhat.com>
3857
3858 PR other/84889
3859 * c-attribs.c (common_handle_aligned_attribute): Add
3860 auto_diagnostic_group instance.
3861 * c-indentation.c (warn_for_misleading_indentation): Likewise.
3862 * c-opts.c (c_common_post_options): Likewise.
3863 * c-warn.c (warn_logical_not_parentheses): Likewise.
3864 (warn_duplicated_cond_add_or_warn): Likewise.
3865 (warn_for_multistatement_macros): Likewise.
3866
3fb558b1
NS
38672018-08-20 Nathan Sidwell <nathan@acm.org>
3868
3869 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3870 access.
3871
800c0e98
NS
38722018-08-17 Nathan Sidwell <nathan@acm.org>
3873
3874 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3875 field.
3876 (laxy_hex_fp_value_count): Make unsigned.
3877 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
3878 manipulate the macro.
3879 (builtin_defin_with_hex_fp_value): Adjust callback name, use
3880 cpp_define_lazily.
3881
6f795a92
DM
38822018-08-17 David Malcolm <dmalcolm@redhat.com>
3883
3884 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3885 (gcc_dump_printf_length_specs): New.
3886 (gcc_dump_printf_flag_pairs): New.
3887 (gcc_dump_printf_flag_specs): New.
3888 (gcc_dump_printf_char_table): New.
3889 (format_types_orig): Add entry for "gcc_dump_printf".
3890 (init_dynamic_diag_info): Set up length_char_specs and
3891 conversion_specs for gcc_dump_printf_format_type.
3892 (handle_format_attribute): Handle gcc_dump_printf_format_type.
3893
c5d725c0
NS
38942018-08-17 Nathan Sidwell <nathan@acm.org>
3895
10f04917
NS
3896 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3897
c5d725c0
NS
3898 * c-ada-spec.c: Don't #include "cpp-id-data.h"
3899 * c-cppbuiltin.c: Likewise.
3900
c0c12356
ML
39012018-08-17 Martin Liska <mliska@suse.cz>
3902
3903 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
3904 Ignore/Deprecated flag. Warning is done automatically for
3905 Deprecated flags.
c0c12356 3906
10fcc142
DM
39072018-08-16 David Malcolm <dmalcolm@redhat.com>
3908
3909 PR c++/70693
3910 * c-common.c (selftest::c_family_tests): Call
3911 selftest::c_indentation_c_tests.
3912 * c-common.h (selftest::c_indentation_c_tests): New decl.
3913 * c-indentation.c: Include "selftest.h".
3914 (next_tab_stop): Add "tab_width" param, rather than accessing
3915 cpp_opts.
3916 (get_visual_column): Likewise. Clarify comment. Bulletproof
3917 against reading past the end of the line.
3918 (get_first_nws_vis_column): Add "tab_width" param.
3919 (detect_intervening_unindent): Likewise.
3920 (should_warn_for_misleading_indentation): Read tab width from
3921 cpp_opts and pass around.
3922 (selftest::test_next_tab_stop): New test.
3923 (selftest::assert_get_visual_column_succeeds): New function.
3924 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3925 (selftest::assert_get_visual_column_fails): New function.
3926 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3927 (selftest::test_get_visual_column): New test.
3928 (selftest::c_indentation_c_tests): New function.
3929
3f6677f4
NS
39302018-08-16 Nathan Sidwell <nathan@acm.org>
3931
3932 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3933 (store_ada_macro): Likewise.
3934 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3935 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3936
96e6ae57
DM
39372018-08-15 David Malcolm <dmalcolm@redhat.com>
3938
3939 * c-format.c: Include "selftest-diagnostic.h" and
3940 "gcc-rich-location.h".
3941 (format_warning_at_char): Pass NULL for new label params of
3942 format_warning_va.
3943 (class indirection_suffix): New class.
3944 (class range_label_for_format_type_mismatch): New class.
3945 (format_type_warning): Move logic for generating "*" suffix to
3946 class indirection_suffix. Create "fmt_label" and "param_label"
3947 to show their types, and pass them to the
3948 format_warning_at_substring calls.
3949 (selftest::test_type_mismatch_range_labels): New test.
3950 (selftest::c_format_c_tests): Call it.
3951
23aa9f7c
MS
39522018-08-13 Martin Sebor <msebor@redhat.com>
3953
3954 PR tree-optimization/71625
3955 * c-common.c (braced_list_to_string): New function.
3956 * c-common.h (braced_list_to_string): Declare it.
3957
f10a9135
NS
39582018-08-08 Nathan Sidwell <nathan@acm.org>
3959
3960 * c-common.c (try_to_locate_new_include_inertion_point): Use
3961 linemap_included_from_linemap.
3962 * c-lex.c (fe_file_change): Use linemap_included_from.
3963 * c-ppoutput.c (pp_file_change): Likewise.
3964
8a45b051
MS
39652018-08-01 Martin Sebor <msebor@redhat.com>
3966
3967 PR tree-optimization/86650
ab20d992 3968 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
3969 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
3970 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
3971 * c-format.h (T89_G): Update to be "gimple *" rather than
3972 "gcall *".
3973 (local_gcall_ptr_node): Rename...
3974 (local_gimple_ptr_node): ...to this.
3975
e540ccc0
DM
39762018-07-31 David Malcolm <dmalcolm@redhat.com>
3977
3978 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
3979 table entries for gcc_diag_char_table, and the 'Z' entry from
3980 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
3981 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
3982 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
3983 adding missing "Z" for this table. Remove erroneous "G" and "K"
3984 entries.
3985 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3986 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
3987 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3988
425fc685
RE
39892018-07-31 Richard Earnshaw <rearnsha@arm.com>
3990
3991 * c-common.c (speculation_safe_resolve_call): New function.
3992 (speculation_safe_resolve_params): New function.
3993 (speculation_safe_resolve_return): New function.
3994 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
3995 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
3996 __HAVE_SPECULATION_SAFE_VALUE.
3997
181463c2
DM
39982018-07-20 David Malcolm <dmalcolm@redhat.com>
3999
4000 * c-common.c (c_cpp_error): Remove redundant "line_table"
4001 parameter from call to rich_location::set_range.
4002 (maybe_suggest_missing_token_insertion): Likewise.
4003
0d7f9065
MS
40042018-07-20 Martin Sebor <msebor@redhat.com>
4005
4006 PR middle-end/82063
ab20d992 4007 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4008
00abf86c
MS
40092018-07-20 Martin Sebor <msebor@redhat.com>
4010
4011 PR middle-end/82063
4012 * c-common.h (c_common_handle_option): Change function argument
4013 to HOST_WIDE_INT.
4014 * c-opts.c (c_common_init_options): Same.
4015 (c_common_handle_option): Same. Remove special handling of
4016 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4017 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4018 options to take a HOST_WIDE_INT argument and accept a byte-size
4019 suffix. Initialize.
4020 (-Wvla-larger-than): Same.
4021 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4022 (-Wno-vla-larger-than): Same.
4023
9b452033
JJ
40242018-07-12 Jakub Jelinek <jakub@redhat.com>
4025
4026 * c-attribs.c (c_common_attribute_table): Add
4027 "omp declare target implicit" attribute.
4028
cd0762f3
RB
40292018-07-12 Richard Biener <rguenther@suse.de>
4030
4031 PR c/86453
4032 * c-attribs.c (handle_packed_attribute): Do not build a variant
4033 type with TYPE_PACKED, instead ignore the attribute if we may
4034 not apply to the original type.
4035
0b27c3ed
JJ
40362018-07-10 Jakub Jelinek <jakub@redhat.com>
4037
4038 PR c++/86443
4039 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4040 to contain TREE_LIST for both the original class iterator and the
4041 "last" helper var.
4042
e730a0ef
EB
40432018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4044
4045 * c-ada-spec.c (to_ada_name): Remove index parameter.
4046 (pp_ada_tree_identifier): Likewise.
4047 (dump_ada_macros): Adjust call to to_ada_name.
4048 (struct overloaded_name_hash): Delete.
4049 (struct overloaded_name_hasher): Likewise.
4050 (overloaded_names): Likewise.
4051 (compute_overloading_index): Likewise.
4052 (dump_ada_decl_name): Do not call compute_overloading_index and
4053 adjust calls to pp_ada_tree_identifier.
4054 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4055 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4056 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4057 (dump_ada_enum_type): Remove type and display_convention parameters.
4058 Adjust calls to pp_ada_tree_identifier.
4059 (dump_ada_node): Likewise and for dump_ada_structure.
4060 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4061 and tidy up.
4062 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4063 syntax.
4064 (print_constructor): Adjust call to pp_ada_tree_identifier.
4065 (print_destructor): Likewise.
4066 (dump_ada_declaration): Switch to aspect syntax.
4067 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4068 parameter with nested parameter.
4069 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4070 (dump_ada_specs): Do not delete overloaded_names table.
4071
8de583fc
PB
40722018-07-06 Peter Bergner <bergner@linux.ibm.com>
4073
4074 PR target/86324
e730a0ef 4075 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4076 target hook.
4077
09cff37b
NS
40782018-07-05 Nathan Sidwell <nathan@acm.org>
4079
4080 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4081 NO_IMPLICIT_EXTERN_C.
4082
98086b2b
ML
40832018-06-28 Martin Liska <mliska@suse.cz>
4084
4085 * cppspec.c: Include opt-suggestions.h.
4086
ab20d992
JJ
40872018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4088 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4089 Cesar Philippidis <cesar@codesourcery.com>
4090
4091 * c-pragma.h (enum pragma_omp_clause): Add
4092 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4093 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4094
f41b7612
JJ
40952018-06-20 Jakub Jelinek <jakub@redhat.com>
4096
4097 PR c++/86210
4098 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4099 comment.
4100
4252ccd7
MS
41012018-06-18 Martin Sebor <msebor@redhat.com>
4102
4103 PR middle-end/85602
4104 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4105 nonstring.
4106
e197e64e
KV
41072018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4108
4109 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4110
34a7a230
JM
41112018-06-13 Jason Merrill <jason@redhat.com>
4112
5cef3733
JM
4113 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4114 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4115 handling.
4116
34a7a230
JM
4117 PR c++/86094 - wrong code with defaulted move ctor.
4118 * c-opts.c (c_common_post_options): Bump the current ABI version to
4119 13. Set warn_abi_version and flag_abi_compat_version to the current
4120 version rather than 0. Fix defaulting flag_abi_compat_version from
4121 warn_abi_version.
4122
bb0f14ae
MS
41232018-06-12 Martin Sebor <msebor@redhat.com>
4124
4125 PR c/85931
4126 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4127 sizeof source and destination yields the same value.
4128
3713f2e2
ML
41292018-06-12 Martin Liska <mliska@suse.cz>
4130
4131 * c.opt: Make MPX-related options as Deprecated.
4132
4af78ef8
DM
41332018-06-08 David Malcolm <dmalcolm@redhat.com>
4134
4135 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4136 rather than 0.
4137
31db0fe0
ML
41382018-06-08 Martin Liska <mliska@suse.cz>
4139
4140 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4141 for MPX (macros, related functions, fields in cgraph_node, ...).
4142 (handle_bnd_legacy): Likewise.
4143 (handle_bnd_instrument): Likewise.
4144 * c.opt: Likewise.
4145
fe16acf2
JJ
41462018-06-06 Jakub Jelinek <jakub@redhat.com>
4147
4148 PR c++/86068
4149 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4150 __cpp_transactional_memory to 201500 instead of 210500.
4151
4dbdb49b
JM
41522018-06-06 Jason Merrill <jason@redhat.com>
4153
4154 PR c++/85710 - ICE with -Wmemset-elt-size.
4155 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4156
f8ad043f
JM
41572018-06-01 Jason Merrill <jason@redhat.com>
4158
4159 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4160 201703.
4161
abc24d93
EB
41622018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4163
4164 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4165 declaration for a typedef independently of whether the declaration of
4166 the subtype is generated.
4167
d258f4aa
MS
41682018-05-31 Martin Sebor <msebor@redhat.com>
4169
4170 PR c/82063
4171 * c.opt (-Wno-alloc-size-larger-than): New option.
4172
b67b9225
DP
41732018-04-22 David Pagan <dave.pagan@oracle.com>
4174
4175 PR c/55976
4176 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4177 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4178 differentiate between default (no option), -Wreturn-type, and
4179 -Wno-return-type.
4180
04eb9c55
JM
41812018-05-29 Jason Merrill <jason@redhat.com>
4182
4183 * c.opt (Winit-list-lifetime): New flag.
4184
b0c31bc6
BE
41852018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4186
4187 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4188 splay_tree_delete_pointers.
4189
44284983
JJ
41902018-05-26 Jakub Jelinek <jakub@redhat.com>
4191
4192 PR bootstrap/85921
4193 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4194 noinline variable to workaround broken kernel headers.
4195
b46b715d
JM
41962018-05-18 Jason Merrill <jason@redhat.com>
4197
4198 * c.opt (Wdeprecated-copy): New flag.
4199
40659769
ML
42002018-05-17 Martin Liska <mliska@suse.cz>
4201
4202 * c-warn.c (overflow_warning): Do not use
4203 space in between 'G_' and '('.
4204
403962ea
JM
42052018-05-09 Jason Merrill <jason@redhat.com>
4206
4207 * c-common.c (valid_array_size_p): Add complain parameter.
4208 * c-common.h: ...which defaults to true.
4209
1c9ee609
JJ
42102018-05-11 Jakub Jelinek <jakub@redhat.com>
4211
4212 PR c/85696
4213 * c-omp.c (c_omp_predetermined_sharing): Return
4214 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4215
19916065
ML
42162018-05-11 Martin Liska <mliska@suse.cz>
4217
92a285c1 4218 PR sanitizer/85556
19916065
ML
4219 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4220 TREE_LIST values.
4221
79e7b1fe
JJ
42222018-05-10 Jakub Jelinek <jakub@redhat.com>
4223
4224 PR c++/85662
4225 * c-common.h (fold_offsetof_1): Removed.
4226 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4227 CTX argument defaulted to ERROR_MARK.
4228 * c-common.c (fold_offsetof_1): Renamed to ...
4229 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4230 argument, convert the pointer constant to TYPE and use size_binop
4231 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4232 a pointer type. Adjust recursive calls.
4233
86c12f76
EB
42342018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4235
4236 PR c++/85400
4237 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4238
ee336e84
NS
42392018-05-07 Nathan Sidwell <nathan@acm.org>
4240
4241 * c.opt (ffor-scope): Remove functionality, issue warning.
4242
6c072e21
NS
42432018-05-03 Nathan Sidwell <nathan@acm.org>
4244
4245 * c.opt (ffriend-injection): Remove functionality, issue warning.
4246
2cc7d3a7
DM
42472018-05-01 David Malcolm <dmalcolm@redhat.com>
4248
4249 PR c/84258
4250 * c-format.c (struct format_check_results): Add field
4251 "number_non_char".
4252 (check_format_info): Initialize it, and warn if encountered.
4253 (check_format_arg): Distinguish between wide char and
4254 everything else when detecting arrays of non-char.
4255
7761dfbe
DM
42562018-04-30 David Malcolm <dmalcolm@redhat.com>
4257
4258 * c-format.c (get_corrected_substring): Update for
4259 location_get_source_line returning a char_span. Use a char_span
4260 when handling the prefix of the correction.
4261 * c-indentation.c (get_visual_column): Update for
4262 location_get_source_line returning a char_span.
4263 (get_first_nws_vis_column): Likewise.
4264
62e98ef1
DM
42652018-03-29 David Malcolm <dmalcolm@redhat.com>
4266
4267 PR c++/84269
4268 * known-headers.cc (get_stdlib_header_for_name): Add various names
4269 from <assert.h>, <string.h>, and <memory.h>; add more names from
4270 <stdio.h>.
4271
a7dea617
JJ
42722018-03-27 Jakub Jelinek <jakub@redhat.com>
4273
4274 PR c++/85061
4275 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4276 get_base_address of the second operand is a VAR_P, rather than the
4277 operand itself, and use gcc_checking_assert instead of gcc_assert.
4278
889a3a30
MP
42792018-03-23 Marek Polacek <polacek@redhat.com>
4280
4281 PR c++/85045
4282 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4283 <case RDIV_EXPR>: Tweak condition.
4284
452154b9
EB
42852018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4286
4287 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4288
63ecb626
JJ
42892018-03-16 Jakub Jelinek <jakub@redhat.com>
4290
ce811fc4
JJ
4291 PR c/84909
4292 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4293 diagnostics.
4294
63ecb626
JJ
4295 PR c/84910
4296 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4297 diagnostics.
4298
a1295eec
RB
42992018-03-16 Richard Biener <rguenther@suse.de>
4300
4301 PR c/84873
4302 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4303 unshare the possibly folded expression.
4304
919674fb
RB
43052018-03-15 Richard Biener <rguenther@suse.de>
4306
4307 PR c/84873
4308 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4309
f99309b2
MS
43102018-03-13 Martin Sebor <msebor@redhat.com>
4311
4312 PR tree-optimization/84725
4313 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4314 with all three narrow character types, including their qualified forms.
4315
e9b9fa4c
MS
43162018-03-12 Martin Sebor <msebor@redhat.com>
4317
4318 PR tree-optimization/83456
ab20d992 4319 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4320 Restore checking of bounded built-in functions.
4321 (check_function_arguments): Also return the result
4322 of warn_for_restrict.
ab20d992
JJ
4323 * c-common.c (check_function_restrict): Return bool.
4324 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4325
0805d020
MP
43262018-03-02 Marek Polacek <polacek@redhat.com>
4327
4328 PR c++/84171
4329 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4330 is erroneous.
4331
ed2a2f08
TS
43322018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4333
4334 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4335 function".
4336
90abdde0
MP
43372018-03-01 Marek Polacek <polacek@redhat.com>
4338
4339 PR c++/84639
4340 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4341 alignment in computation.
4342
c6db43fa
EB
43432018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4344
4345 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4346 <REAL_TYPE>: Deal specifically with _Float128/__float128.
4347
9e25c7ed
EB
43482018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4349
4350 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4351 (is_char_array): Take a type instead of a declaration.
4352 (dump_ada_array_type): Likewise.
4353 (is_simple_enum): Minor tweak.
4354 (dump_ada_enum_type): New function extracted from...
4355 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
4356 <INTEGER_TYPE>: Remove unreachable code.
4357 <RECORD_TYPE>: Likewise. Minor tweaks.
4358 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4359 <ENUMERAL_TYPE>: New case.
4360 <RECORD_TYPE>: Factor out common code.
4361 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4362 Minor tweaks. Deal with enumeral types.
4363 (dump_ada_structure): Minor tweaks.
4364
09de3550
EB
43652018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4366
4367 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4368 address for incomplete structures.
4369 (dump_forward_type): Do not bail out for incomplete structures.
4370 (dump_ada_declaration): Do not special-case incomplete structures
4371 for subtypes. Dump them as null records for types.
4372
095d8d4b
EB
43732018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4374
4375 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4376 (is_char_array): Fix formatting.
4377 (dump_template_types): Likewise.
4378 (dump_generic_ada_node): Rename into...
4379 (dump_ada_node): ...this.
4380 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4381 incomplete structures and not for empty structures. Do not use it
4382 when forward declarations are needed.
4383 (dump_forward_type): New function.
4384 (dump_nested_types): Remove FORWARD parameter. Do not consider
4385 TREE_VISITED and do not generate a forward declaration. Only dump
4386 original nested types for nested declaration.
4387 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4388 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4389 <RECORD_TYPE>: Do not consider TREE_VISITED.
4390 (dump_ada_declaration): Use booleans and fix formatting throughout.
4391 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4392 Call dump_forward_type instead of dump_nested_types for a typedef.
4393 Remove superfluous check and adjust call to dump_nested_types.
4394 <POINTER_TYPE>: Call dump_forward_type and fall through.
4395 (dump_ada_struct_decl): Rename into...
4396 (dump_ada_structure): ...this. Do not special-case empty structures.
4397
d4cfd486
MS
43982018-02-27 Martin Sebor <msebor@redhat.com>
4399
4400 PR c++/83871
4401 * c.opt (-Wmissing-attributes): New option.
4402
b22dbd03
ML
44032018-02-21 Martin Liska <mliska@suse.cz>
4404
4405 * c.opt (Wcatch-value=): Add IntegerRange.
4406
883dfe2a
JM
44072018-02-15 Jason Merrill <jason@redhat.com>
4408
4409 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4410
0444aa9c
NS
44112018-02-09 Nathan Sidwell <nathan@acm.org>
4412
4413 PR c/84293
4414 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4415 arg.
4416 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4417 arg. Adjust.
4418
cea71f0a
MS
44192018-02-09 Martin Sebor <msebor@redhat.com>
4420
4421 PR lto/84212
4422 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4423 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4424 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4425 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4426 (-Wuninitialized): Same.
4427
8c8b7be5
EB
44282018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4429
4430 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4431 keyword for components.
4432
7c30b12a
PC
44332018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4434
4435 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4436
eece7fe5
JK
44372018-02-02 Julia Koval <julia.koval@intel.com>
4438
4439 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4440
7d07a93a
MP
44412018-01-29 Marek Polacek <polacek@redhat.com>
4442
4443 PR c/83966
4444 * c-format.c (check_function_format): Check current_function_decl.
4445
53723269
JJ
44462018-01-27 Jakub Jelinek <jakub@redhat.com>
4447
4448 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4449 argument.
4450 (LAZY_HEX_FP_VALUES_CNT): Define.
4451 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4452 values rather than just 12.
4453 (builtin_define_with_hex_fp_value): Likewise.
4454
7365279f
BK
44552018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4456
92a285c1
ML
4457 PR other/70268
4458 * c.opt (-fmacro-prefix-map): New option.
4459 * c-opts.c (c_common_handle_option): Handle it.
4460 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4461 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4462
bb9869d5
DM
44632018-01-17 David Malcolm <dmalcolm@redhat.com>
4464
4465 PR c++/83814
4466 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4467
68dc87c3
EB
44682018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4469
4470 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4471 Skip 'f' and 'F' characters if it is true.
4472 (store_ada_macro): Minor tweak.
4473 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4474 <CPP_WSTRING>: Likewise.
4475 <CPP_STRING>: Output '&' in the buffer if not the first string.
4476 <CPP_NUMBER>: Adjust calls to dump_number.
4477
9a004410
DM
44782018-01-10 David Malcolm <dmalcolm@redhat.com>
4479
4480 PR c++/43486
4481 * c-common.c: Include "selftest.h".
4482 (get_atomic_generic_size): Perform the test for integral type
4483 before the range test for any integer constant, fixing indentation
4484 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4485 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4486 (selftest::test_fold_for_warn): New function.
4487 (selftest::c_common_c_tests): New function.
4488 (selftest::c_family_tests): Call it, and
4489 selftest::c_pretty_print_c_tests.
4490 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4491 * c-format.c (check_format_arg): Convert VAR_P check to a
4492 fold_for_warn.
4493 * c-pretty-print.c: Include "selftest.h".
4494 (pp_c_cast_expression): Don't print casts for location wrappers.
4495 (selftest::assert_c_pretty_printer_output): New function.
4496 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4497 (selftest::test_location_wrappers): New function.
4498 (selftest::c_pretty_print_c_tests): New function.
4499 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4500
5c0caeb3
RS
45012018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4502 Alan Hayward <alan.hayward@arm.com>
4503 David Sherwood <david.sherwood@arm.com>
4504
4505 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4506
73a699ae
RS
45072018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4508 Alan Hayward <alan.hayward@arm.com>
4509 David Sherwood <david.sherwood@arm.com>
4510
4511 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4512 as polynomial.
4513
928686b1
RS
45142018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4515 Alan Hayward <alan.hayward@arm.com>
4516 David Sherwood <david.sherwood@arm.com>
4517
4518 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4519 (convert_vector_to_array_for_subscript): Handle polynomial
4520 TYPE_VECTOR_SUBPARTS.
4521 (c_common_type_for_mode): Check valid_vector_subparts_p.
4522 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4523 VECTOR_CST_NELTS.
4524
85ec4feb
JJ
45252018-01-03 Jakub Jelinek <jakub@redhat.com>
4526
4527 Update copyright years.
4528
170a8bd6 45292017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4530 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4531
4532 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4533 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4534
ab20d992 45352017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4536
4537 PR debug/83527
4538 PR debug/83419
4539 * c-semantics.c (only_debug_stmts_after_p): New.
4540 (pop_stmt_list): Clear side effects in debug-only stmt list.
4541 Check for single nondebug stmt followed by debug stmts only.
4542
c12d20d4
AO
45432017-12-21 Alexandre Oliva <aoliva@redhat.com>
4544
4545 PR debug/83419
4546 * c-semantics.c (pop_stmt_list): Propagate side effects from
4547 single nondebug stmt to container list.
4548
01512446
JJ
45492017-12-19 Jakub Jelinek <jakub@redhat.com>
4550
4551 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4552 conditions with typical order conditions.
4553
82cfbd01
MP
45542017-12-18 Marek Polacek <polacek@redhat.com>
4555
4556 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4557 not in effect.
4558
99da11ec
MS
45592017-12-17 Martin Sebor <msebor@redhat.com>
4560
4561 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4562 an error for attribute warn_if_not_aligned.
4563
cc8bea0a
MS
45642017-12-16 Martin Sebor <msebor@redhat.com>
4565
4566 PR tree-optimization/78918
4567 * c-common.c (check_function_restrict): Avoid checking built-ins.
4568 * c.opt (-Wrestrict): Include in -Wall.
4569
4849deb1
JJ
45702017-12-15 Jakub Jelinek <jakub@redhat.com>
4571
4572 * c-attribs.c (c_common_attribute_table,
4573 c_common_format_attribute_table): Swap affects_type_identity
4574 and handler fields, adjust comments.
4575
c65e18d3
BE
45762017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4577
4578 * c.opt (Wcast-function-type): New warning option.
4579 * c-lex.c (get_fileinfo): Avoid warning.
4580 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4581
2004617a
QZ
45822017-12-14 Qing Zhao <qing.zhao@oracle.com>
4583
7365279f 4584 PR middle_end/79538
2004617a
QZ
4585 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4586 Adjust the size of buf1 and buf2, add a new buf to avoid
4587 format-overflow warning.
4588
ab20d992 45892017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4590
4591 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4592 subsequent statement list.
4593
5d9ae53d
MS
45942017-12-07 Martin Sebor <msebor@redhat.com>
4595
4596 PR c/81544
4597 PR c/81566
4598 * c-attribs.c (attr_aligned_exclusions): New array.
4599 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4600 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4601 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4602 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4603 (attr_warn_unused_result_exclusions): Same.
4604 (handle_hot_attribute, handle_cold_attribute): Simplify.
4605 (handle_const_attribute): Warn on function returning void.
4606 (handle_pure_attribute): Same.
4607 (handle_aligned_attribute): Diagnose conflicting attribute
4608 specifications.
4609 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4610
c79144f8
DM
46112017-12-06 David Malcolm <dmalcolm@redhat.com>
4612
4613 PR c/83236
4614 * c-common.c (selftest::c_family_tests): Call
4615 selftest::c_spellcheck_cc_tests.
4616 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4617 * c-spellcheck.cc: Include "selftest.h".
4618 (name_reserved_for_implementation_p): New function.
4619 (should_suggest_as_macro_p): New function.
4620 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4621 should_suggest_as_macro_p and call it.
4622 (selftest::test_name_reserved_for_implementation_p): New function.
4623 (selftest::c_spellcheck_cc_tests): New function.
4624 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4625
613bc14f
DM
46262017-12-06 David Malcolm <dmalcolm@redhat.com>
4627
4628 * c-spellcheck.cc: New file, taken from macro-handling code in
4629 spellcheck-tree.c.
4630 * c-spellcheck.h: New file, taken from macro-handling code in
4631 spellcheck-tree.h.
4632
e76c7157
JJ
46332017-12-01 Jakub Jelinek <jakub@redhat.com>
4634
4635 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4636 attribute.
4637 (handle_simd_attribute): Don't check for "cilk simd function"
4638 attribute. Reindent, formatting changes.
4639
b0da4034
JK
46402017-11-30 Julia Koval <julia.koval@intel.com>
4641
4642 * c-common.h (inv_list): Remove.
4643
058f0b9e
JJ
46442017-11-28 Jakub Jelinek <jakub@redhat.com>
4645
4646 PR sanitizer/81275
4647 * c-common.c (c_switch_covers_all_cases_p_1,
4648 c_switch_covers_all_cases_p): New functions.
4649 * c-common.h (c_switch_covers_all_cases_p): Declare.
4650
5e9d6aa4 46512017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4652 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4653
4654 * array-notation-common.c: Delete.
4655 * c-cilkplus.c: Ditto.
4656 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4657 * c-common.def (ARRAY_NOTATION_REF): Remove.
4658 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4659 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4660 c_validate_cilk_plus_loop, cilkplus_an_parts,
4661 cilk_ignorable_spawn_rhs_op,
4662 cilk_recognize_spawn): Remove.
4663 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4664 * c-omp.c: Remove CILK_SIMD check.
4665 * c-pragma.c: Ditto.
4666 * c-pragma.h: Remove CILK related pragmas.
4667 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4668 ARRAY_NOTATION_REF condition.
4669 (c_pretty_printer::expression): Ditto.
4670 * c.opt (fcilkplus): Remove.
4671 * cilk.c: Delete.
4672
1af4ebf5
MG
46732017-11-21 Marc Glisse <marc.glisse@inria.fr>
4674
4675 * c-pretty-print.c (pp_c_additive_expression,
4676 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4677
d44ed508
JJ
46782017-11-21 Jakub Jelinek <jakub@redhat.com>
4679
7d2f0f9b
JJ
4680 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4681
d44ed508
JJ
4682 PR c++/83059
4683 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4684 instead of tree_to_uhwi, formatting fix.
4685
26edace6
DM
46862017-11-20 David Malcolm <dmalcolm@redhat.com>
4687
4688 PR c/81404
4689 * known-headers.cc: New file, based on material from c/c-decl.c.
4690 (suggest_missing_header): Copied as-is.
4691 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4692 heavily edited to add C++ support. Add some knowledge about
4693 <limits.h>, <stdint.h>, and <wchar.h>.
4694 * known-headers.h: Likewise.
4695
6c7a259b
DM
46962017-11-20 David Malcolm <dmalcolm@redhat.com>
4697
4698 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4699 (lookup_name_fuzzy): Likewise. Convert return type from
4700 const char * to name_hint. Add location_t param.
4701 * name-hint.h: New header.
4702
f9c59f7e
JJ
47032017-11-19 Jakub Jelinek <jakub@redhat.com>
4704
4705 PR c/66618
4706 PR c/69960
4707 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4708
1e39313a
JM
47092017-11-16 Joseph Myers <joseph@codesourcery.com>
4710
4711 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4712 expected publication date of C17.
4713 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4714
3ca0dc60
JM
47152017-11-15 Joseph Myers <joseph@codesourcery.com>
4716
4717 PR c/81156
4718 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4719 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4720
025d57f0
MS
47212017-11-10 Martin Sebor <msebor@redhat.com>
4722
4723 PR c/81117
4724 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4725 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4726 * c.opt (-Wstringop-truncation): New option.
4727
1b6fa695
ML
47282017-11-06 Martin Liska <mliska@suse.cz>
4729
4730 PR middle-end/82404
4731 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4732 FE.
4733 * c.opt: Set default value of warn_return_type.
4734
64a5912c
DM
47352017-10-31 David Malcolm <dmalcolm@redhat.com>
4736
4737 * c-common.c (binary_op_error): Update for renaming of
4738 error_at_rich_loc.
4739 (c_parse_error): Likewise.
4740 * c-warn.c (warn_logical_not_parentheses): Likewise for
4741 renaming of inform_at_rich_loc.
4742 (warn_for_restrict): Likewise for renaming of
4743 warning_at_rich_loc_n.
4744
c76dc9c3
JM
47452017-10-30 Joseph Myers <joseph@codesourcery.com>
4746
4747 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4748 * c-opts.c (set_std_c17): New function.
4749 (c_common_init_options): Use gnu17 as default C version.
4750 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4751
ee5fd23a
MM
47522017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
4753
4754 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4755 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4756 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4757 __FP_FAST_FMA<N>X.
4758
d1047465
MP
47592017-10-23 Marek Polacek <polacek@redhat.com>
4760
4761 PR c/82681
4762 * c-warn.c (warnings_for_convert_and_check): Fix typos.
4763
9e878cf1
EB
47642017-10-19 Eric Botcazou <ebotcazou@adacore.com>
4765
4766 * c-common.c (check_builtin_function_arguments): Also check arguments
4767 of __builtin_alloca_with_align_and_max.
4768
89b6abbb
DM
47692017-10-17 David Malcolm <dmalcolm@redhat.com>
4770
4771 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4772 rather than NULL to format_warning_va.
4773 (check_format_types): Likewise when calling format_type_warning.
4774 Remove code to extract source_ranges and source_range * in favor
4775 of just a location_t.
4776 (format_type_warning): Convert source_range * param to a
4777 location_t.
4778
39382c09
JJ
47792017-10-13 Jakub Jelinek <jakub@redhat.com>
4780
4781 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4782 [LR]SHIFT_EXPR.
4783
62e1c678
DM
47842017-10-12 David Malcolm <dmalcolm@redhat.com>
4785
4786 * c-common.c (enum missing_token_insertion_kind): New enum.
4787 (get_missing_token_insertion_kind): New function.
4788 (maybe_suggest_missing_token_insertion): New function.
4789 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4790
b90c9338
NS
47912017-10-11 Nathan Sidwell <nathan@acm.org>
4792
4793 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4794 (c_common_handle_option): Update incpath_kind names.
4795
3a266bcd
ML
47962017-10-11 Martin Liska <mliska@suse.cz>
4797
4798 PR sanitizer/82490
4799 * c-attribs.c (handle_no_sanitize_attribute): Report directly
4800 Wattributes warning.
4801
8e6cdc90
RS
48022017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
4803
4804 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4805 operating on trees as wide_ints.
4806 * c-common.c (pointer_int_sum): Likewise.
4807 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4808 * c-warn.c (match_case_to_enum_1): Likewise.
4809 (c_do_switch_warnings): Likewise.
4810 (maybe_warn_shift_overflow): Likewise.
4811
802b38c9
JJ
48122017-10-10 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR c/82437
4815 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4816 instead of wide_int::from.
4817
4e34b338
JJ
48182017-10-06 Jakub Jelinek <jakub@redhat.com>
4819
4820 PR c/82437
4821 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4822 using to_widest use wide_int with the larger of the two precisions.
4823
4bc4b2b4
BE
48242017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4825
4826 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4827 functions.
4828
a1488398
RS
48292017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
4830
4831 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4832 when combining the original unconverted comparison operands.
4833
01c9fb68
JJ
48342017-09-29 Jakub Jelinek <jakub@redhat.com>
4835
4836 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4837 attribute.
4838
6e3e8419
EB
48392017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4840
4841 * c-ada-spec.c (to_ada_name): Add index parameter.
4842 (pp_ada_tree_identifier): Likewise.
4843 (dump_ada_macros): Adjust call to to_ada_name.
4844 (struct overloaded_name_hash): New type.
4845 (struct overloaded_name_hasher): Likewise.
4846 (overloaded_names): New hash table.
4847 (compute_overloading_index): New function.
4848 (dump_ada_decl_name): Call it and pass the result to
4849 pp_ada_tree_identifier.
4850 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4851 (dump_ada_function_declaration): Likewise.
4852 (dump_generic_ada_node): Likewise.
4853 (print_constructor): Likewise.
4854 (print_destructor): Likewise.
4855 (dump_ada_specs): Delete overloaded_names table.
4856
79310774
EB
48572017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4858
4859 * c-ada-spec.c (max_ada_macros): Move around.
4860 (store_ada_macro_index): Likewise.
4861 (source_file): Rename into...
4862 (macro_source_file): ...this.
4863 (count_ada_macro): Move around.
4864 (store_ada_macro): Likewise.
4865 (compare_macro): Likewise.
4866 (print_ada_macros): Merge in...
4867 (dump_ada_macros): ...this.
4868 (source_file_base): Rename into...
4869 (current_source_file): ...this.
4870 (print_comment): Move around.
4871 (dump_ada_nodes): Call dump_ada_declaration directly.
4872 (struct with): Change type of limited field to bool.
4873 (append_withs): Change type of limited_access parameter to bool.
4874 (pp_ada_tree_identifie): Likewise.
4875 (dump_ada_decl_nam): Likewise.
4876 (dump_generic_ada_node): Likewise. Do not print the return type.
4877 (to_ada_name): Change type of space_found parameter to bool.
4878 (dump_ada_function_declaration): Return void and change type of
4879 parameters to bool. Also print the return type for a function.
4880 (print_ada_methods): Rename into...
4881 (dump_ada_methods): ...this.
4882 (print_ada_declaration): Rename into ...
4883 (dump_ada_declaration): ...this. Do not print the return type.
4884 (print_ada_struct_decl): Rename into...
4885 (dump_ada_struct_decl): ...this.
4886
7d386d45
JJ
48872017-09-29 Jakub Jelinek <jakub@redhat.com>
4888
4889 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4890 rather than DECL_INITIAL.
4891 (common_handle_aligned_attribute): Likewise.
4892
ab20d992 48932017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
4894
4895 * c.opt (gen-decls): Add RejectNegative.
4896
026a79f7
AS
48972017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
4898 Jakub Jelinek <jakub@redhat.com>
4899
4900 Add support for -std=c++2a.
4901 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4902 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4903 * c-opts.c (set_std_cxx2a): New.
4904 (c_common_handle_option): Set options when -std=c++2a is enabled.
4905 (c_common_post_options): Adjust comments.
4906 (set_std_cxx14, set_std_cxx17): Likewise.
4907
4a8ca690
EB
49082017-09-15 Eric Botcazou <ebotcazou@adacore.com>
4909
4910 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4911 message for non-uniform endianness and issue a warning in C++.
4912
7b936140
JJ
49132017-09-15 Jakub Jelinek <jakub@redhat.com>
4914
4915 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4916 (Wc++17-compat): Change from undocumented alias to option.
4917 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4918 change C++1z to C++17 in description.
4919 (std=c++1z, std=gnu++1z): Change from option to undocumented
4920 deprecated alias.
4921 (std=c++17, std=gnu++17): Change from undocumented alias to option.
4922 Adjust description.
4923 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4924 * c-opts.c (set_std_cxx1z): Rename to ...
4925 (set_std_cxx17): ... this.
4926 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4927 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 4928 caller.
7b936140
JJ
4929 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
4930 comments.
4931
12263f13
L
49322017-09-12 H.J. Lu <hongjiu.lu@intel.com>
4933
4934 * c-attribs.c (common_handle_aligned_attribute): Don't warn
4935 function alignment if warn_if_not_aligned_p is true.
4936
6836632e
NS
49372017-09-12 Nathan Sidwell <nathan@acm.org>
4938
4939 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4940 resort_sorted_fields): Move to c/c-decl.c.
4941 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4942 (struct sorted_fields_type): Move to c/c-lang.h.
4943
019bf9ad
JW
49442017-09-09 Jonathan Wakely <jwakely@redhat.com>
4945
4946 PR c++/81852
4947 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
4948
bc7fe952
MP
49492017-09-04 Marek Polacek <polacek@redhat.com>
4950
4951 PR c/81783
4952 * c-warn.c (warn_tautological_bitwise_comparison): New function.
4953 (warn_tautological_cmp): Call it.
4954
ab20d992 49552017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
4956
4957 * c-opts.c (c_common_finish): Write dependency information even if
4958 there are errors.
4959
d2e05fcb
JJ
49602017-09-01 Jakub Jelinek <jakub@redhat.com>
4961
4962 PR c/81887
4963 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
4964 (omp_pragmas_simd): ... here.
4965 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
4966 create new clauses list containing just simd clause.
4967
18e2a8b8
RS
49682017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4969 Alan Hayward <alan.hayward@arm.com>
4970 David Sherwood <david.sherwood@arm.com>
4971
4972 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
4973 into scalar_mode_supported_p call.
4974 (handle_mode_attribute): Update call to scalar_mode_supported_p.
4975
16d22000
RS
49762017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4977 Alan Hayward <alan.hayward@arm.com>
4978 David Sherwood <david.sherwood@arm.com>
4979
4980 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
4981 for the mode iterator.
4982
b397965c
RS
49832017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4984 Alan Hayward <alan.hayward@arm.com>
4985 David Sherwood <david.sherwood@arm.com>
4986
4987 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
4988 * c-common.c (c_build_vec_perm_expr): Likewise.
4989
357b7604
RS
49902017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4991 Alan Hayward <alan.hayward@arm.com>
4992 David Sherwood <david.sherwood@arm.com>
4993
4994 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
4995
e05c94ba
RS
49962017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4997 Alan Hayward <alan.hayward@arm.com>
4998 David Sherwood <david.sherwood@arm.com>
4999
5000 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5001 before calling targetm.addr_space.valid_pointer_mode.
5002
5c20c4af
RS
50032017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5004 Alan Hayward <alan.hayward@arm.com>
5005 David Sherwood <david.sherwood@arm.com>
5006
5007 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5008
c94843d2 50092017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5010 Alan Hayward <alan.hayward@arm.com>
5011 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5012
5013 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5014 iterators.
5015 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5016
4e10a5a7
RS
50172017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5018 Alan Hayward <alan.hayward@arm.com>
5019 David Sherwood <david.sherwood@arm.com>
5020
5021 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5022 case statements.
5023
130fcab0
ML
50242017-08-29 Martin Liska <mliska@suse.cz>
5025
5026 PR other/39851
5027 * c-common.c (parse_optimize_options): Add argument to function
5028 call.
5029 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5030
14e18d71
DM
50312017-08-24 David Malcolm <dmalcolm@redhat.com>
5032
5033 * c-lex.c (interpret_float): Use token location
5034 when building an EXCESS_PRECISION_EXPR.
5035
2f687306
DM
50362017-08-21 David Malcolm <dmalcolm@redhat.com>
5037
5038 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5039 it to check_function_format.
5040 * c-common.h (check_function_arguments): Add vec<location_t> *
5041 param.
5042 (check_function_format): Likewise.
5043 * c-format.c (struct format_check_context): Add field "arglocs".
5044 (check_function_format): Add param "arglocs"; pass it to
5045 check_format_info.
ab20d992 5046 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5047 new field of format_ctx.
5048 (check_format_arg): Pass format_ctx->arglocs to new param of
5049 check_format_info_main.
5050 (class argument_parser): New field "arglocs".
5051 (argument_parser::argument_parser): Add "arglocs_" param and use
5052 it to initialize new field.
5053 (argument_parser::check_argument_type): Pass new arglocs field to
5054 check_format_types.
5055 (check_format_info_main): Add param "arglocs", and use it when
5056 constructing arg_parser.
5057 (check_format_types): Add param "arglocs"; use it if non-NULL when
5058 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5059
00aa1fa2
L
50602017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5061
5062 PR c/53037
5063 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5064 (c_common_attribute_table): Add warn_if_not_aligned.
5065 (handle_aligned_attribute): Renamed to ...
5066 (common_handle_aligned_attribute): Remove argument, name, and add
5067 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5068 (handle_aligned_attribute): New.
5069 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5070
27be025d
MS
50712017-08-14 Martin Sebor <msebor@redhat.com>
5072
5073 PR c/81117
5074 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5075 (handle_nonstring_attribute): New function.
5076
da67acb9
MS
50772017-08-14 Martin Sebor <msebor@redhat.com>
5078
5079 PR c/81117
5080 * c-format.h (T89_G): New macro.
5081 * c-format.c (local_gcall_ptr_node): New variable.
5082 (init_dynamic_diag_info): Initialize it.
5083
a8b522b4
ML
50842017-08-11 Martin Liska <mliska@suse.cz>
5085
5086 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5087 TARGET_SUPPORTS_ALIASES.
5088
32129a17
DM
50892017-08-10 David Malcolm <dmalcolm@redhat.com>
5090
5091 * c-common.c (c_parse_error): Add rich_location * param, using it
5092 rather implicitly using input_location.
5093 * c-common.h (c_parse_error): Add rich_location * param.
5094
30af3a2b
MP
50952017-08-09 Marek Polacek <polacek@redhat.com>
5096
5097 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5098 (c_common_truthvalue_conversion): Likewise.
5099 * c-omp.c (c_finish_omp_atomic): Likewise.
5100 * c-common.h (build_binary_op): Update declaration.
5101
314e6352
ML
51022017-08-08 Martin Liska <mliska@suse.cz>
5103
5104 * c-ada-spec.c: Include header files.
5105 * c-ubsan.c: Likewise.
5106 * c-warn.c: Likewise.
5107
56b5041c
JJ
51082017-08-07 Jakub Jelinek <jakub@redhat.com>
5109
5110 PR c/69389
5111 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5112
db440138
EB
51132017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5114
5115 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5116 (print_ada_methods): Likewise.
5117 (print_ada_declaration): Likewise.
5118
577eec56
ML
51192017-08-07 Martin Liska <mliska@suse.cz>
5120
5121 * array-notation-common.c: Add new includes.
5122 * c-format.c( handle_format_attribute): Canonicalize a format
5123 function name.
5124 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5125 attribute.
5126 * c-pretty-print.c: Add new include.
5127
b854df3c
EB
51282017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5129
5130 * c-ada-spec.c (has_static_fields): Look only into variables.
5131 (print_constructor): Add TYPE parameter and use it for the name.
5132 (print_destructor): Likewise.
5133 (print_ada_declaration): Adjust to new constructor/destructor names.
5134 Adjust calls to print_constructor and print_destructor.
5135 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5136 Look only into variables in the final loop.
5137
9f2cb25e
EB
51382017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5139
5140 * c-ada-spec.c (has_static_fields): Look only into fields.
5141 (dump_generic_ada_node): Small tweak.
5142 (dump_nested_types): Look only into fields.
5143 (print_ada_declaration): Look only into methods. Small tweak.
5144 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5145
f4bcd9eb
EB
51462017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5147
5148 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5149 (dump_ada_function_declaration): Likewise.
5150 (dump_generic_ada_node): Likewise.
5151 (print_ada_declaration): Add support for const-qualified variables.
5152
f34ebeb2
ML
51532017-07-31 Martin Liska <mliska@suse.cz>
5154
5155 PR sanitize/81530
5156 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5157 Guard condition with flag_sanitize_p also with current_function_decl
5158 non-null equality.
5159 (ubsan_maybe_instrument_reference_or_call): Likewise.
5160
218e5d04
UB
51612017-07-30 Uros Bizjak <ubizjak@gmail.com>
5162
5163 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5164
942047f2
EB
51652017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5166
5167 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5168 for enumeral types.
5169 (print_ada_declaration): Add missing guard for record types.
5170
a40ff0ae
JJ
51712017-07-27 Jakub Jelinek <jakub@redhat.com>
5172
5173 PR c/45784
5174 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5175 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5176 new COMPOUND_EXPRs around the rhs of the comparison.
5177
06bd22f6
MP
51782017-07-27 Marek Polacek <polacek@redhat.com>
5179
5180 PR c/81417
5181 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5182 the types.
5183
036ea399
JJ
51842017-07-27 Jakub Jelinek <jakub@redhat.com>
5185
5186 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5187 (handle_noipa_attribute): New function.
5188
417ca011
TD
51892017-07-07 Torsten Duwe <duwe@suse.de>
5190
5191 * c-attribs.c (c_common_attribute_table): Add entry for
5192 "patchable_function_entry".
5193
5aaa8fb4
NS
51942017-07-20 Nathan Sidwell <nathan@acm.org>
5195
5196 Remove TYPE_METHODS.
5197 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5198 dump_ada_template, print_ada_methods,
5199 print_ada_declaration): Member fns are on TYPE_FIELDS.
5200
ff22eb12
NS
52012017-07-18 Nathan Sidwell <nathan@acm.org>
5202
5203 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5204
eea77d1f
DM
52052017-07-14 David Malcolm <dmalcolm@redhat.com>
5206
5207 * c-common.c (try_to_locate_new_include_insertion_point): New
5208 function.
5209 (per_file_includes_t): New typedef.
5210 (added_includes_t): New typedef.
5211 (added_includes): New variable.
5212 (maybe_add_include_fixit): New function.
5213 * c-common.h (maybe_add_include_fixit): New decl.
5214
281ac396
MS
52152017-07-10 Martin Sebor <msebor@redhat.com>
5216
5217 PR other/81345
5218 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5219
b6f43128
DM
52202017-07-06 David Malcolm <dmalcolm@redhat.com>
5221
5222 * c-common.c (selftest::c_family_tests): New.
5223 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5224 (selftest::c_family_tests): New decl.
5225
efbf55b0
MP
52262017-07-04 Marek Polacek <polacek@redhat.com>
5227
5228 PR c/81231
5229 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5230 types.
5231
6c86bd88
MP
52322017-07-04 Marek Polacek <polacek@redhat.com>
5233
5234 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5235
17a7218b
ML
52362017-06-28 Martin Liska <mliska@suse.cz>
5237
5238 PR ipa/81128
5239 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5240 to a function declaration.
5241
63010089
ML
52422017-06-28 Martin Liska <mliska@suse.cz>
5243
5244 PR driver/79659
5245 * c.opt: Add IntegerRange to various options.
5246
3e2becc4
MP
52472017-06-26 Marek Polacek <polacek@redhat.com>
5248
5249 PR c/80116
5250 * c-common.h (warn_for_multistatement_macros): Declare.
5251 * c-warn.c: Include "c-family/c-indentation.h".
5252 (warn_for_multistatement_macros): New function.
5253 * c.opt (Wmultistatement-macros): New option.
5254 * c-indentation.c (guard_tinfo_to_string): No longer static.
5255 Change the parameter type to "enum rid". Handle RID_SWITCH.
5256 * c-indentation.h (guard_tinfo_to_string): Declare.
5257
2db9b7cd
MG
52582017-06-23 Marc Glisse <marc.glisse@inria.fr>
5259
5260 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5261
c3684b7b
MS
52622017-06-15 Martin Sebor <msebor@redhat.com>
5263
5264 PR c++/80560
5265 * c.opt (-Wclass-memaccess): New option.
5266
e72c4afd
BK
52672017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5268
5269 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5270
8a516588
MP
52712017-06-13 Marek Polacek <polacek@redhat.com>
5272
5273 PR objc/80949
5274 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5275 branches is null.
5276
45b2222a
ML
52772017-06-13 Martin Liska <mliska@suse.cz>
5278
5279 PR sanitize/78204
5280 * c-attribs.c (add_no_sanitize_value): New function.
5281 (handle_no_sanitize_attribute): Likewise.
5282 (handle_no_sanitize_address_attribute): Use the function.
5283 (handle_no_sanitize_thread_attribute): New function.
5284 (handle_no_address_safety_analysis_attribute): Use
5285 add_no_sanitize_value.
5286 (handle_no_sanitize_undefined_attribute): Likewise.
5287 * c-common.h: Declare new functions.
5288 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5289 (ubsan_instrument_shift): Likewise.
5290 (ubsan_instrument_bounds): Likewise.
5291 (ubsan_maybe_instrument_array_ref): Likewise.
5292 (ubsan_maybe_instrument_reference_or_call): Likewise.
5293
a01f151f
JM
52942017-06-11 Jason Merrill <jason@redhat.com>
5295
5296 * c-ada-spec.c, c-pragma.c: Use id_equal.
5297
3de4ac6d
MP
52982017-06-04 Marek Polacek <polacek@redhat.com>
5299
5300 PR c/80919
5301 * c-format.c (matching_type_p): Return false if any of the types
5302 requires structural equality.
5303
2474f48f
MS
53042017-06-02 Martin Sebor <msebor@redhat.com>
5305
5306 PR c/80892
5307 * c-warn.c (conversion_warning): Use -Wconversion for integer
5308 conversion and -Wfloat-conversion for floating one.
5309
40ffd95f
BE
53102017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5311
5312 * c.opt (Wsizeof-pointer-div): New warning option.
5313
3fa4634c
VR
53142017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5315
5316 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5317 (Wcatch-value=1): Enable by -Wall.
5318
f012c8ef
DM
53192017-05-30 David Malcolm <dmalcolm@redhat.com>
5320
5321 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5322 format_chars.
5323 * c.opt (fdiagnostics-show-template-tree): New option.
5324 (felide-type): New option.
5325
63dbcd13
VR
53262017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5327
5328 * c.opt (Wcatch-value=): New C++ warning flag.
5329
be136b5c
NS
53302017-05-24 Nathan Sidwell <nathan@acm.org>
5331
5332 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5333 const casts to avoid warning.
5334
3cd211af
MS
53352017-05-24 Martin Sebor <msebor@redhat.com>
5336
5337 PR c/80731
5338 * c-common.h (unsafe_conversion_p): Add a function argument.
5339 * c-common.c (unsafe_conversion_p): Same.
5340 Add type names and values to diagnostics.
5341 (scalar_to_vector): Adjust.
5342 * c-warn.c (constant_expression_error): Add a function argument.
5343 Add type names and values to diagnostics.
5344 (conversion_warning): Add a function argument.
5345 Add type names and values to diagnostics.
5346 (warnings_for_convert_and_check): Same.
5347
1ff7be5a
JM
53482017-05-19 Jason Merrill <jason@redhat.com>
5349
5350 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5351 enumerators.
5352
ff502317
BE
53532017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5354
5355 * c-format.c (locus): Move out of function scope,
5356 add GTY attribute.
5357
2a8a8d7b
NS
53582017-05-19 Nathan Sidwell <nathan@acm.org>
5359
5360 * c-opts.c (class_dump_file, class_dump_flags): Delete.
5361 (c_common_parse_file): Remove class dump handling.
5362 (get_dump_info): Likewise.
5363
39aac208
RB
53642017-05-19 Richard Biener <rguenther@suse.de>
5365
5366 PR c++/80593
5367 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5368 to alias-set zero memory.
5369
6ecd2339
BE
53702017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5371
5372 * c-format.c (local_tree_type_node): Add GTY attribute.
5373
6574d78e
MP
53742017-05-18 Marek Polacek <polacek@redhat.com>
5375
5376 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5377 (c_common_fixed_point_type_for_size): Likewise.
5378 (c_common_type_for_mode): Likewise.
5379 (shorten_compare): Likewise.
5380 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5381 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5382
e3455240
MP
53832017-05-18 Marek Polacek <polacek@redhat.com>
5384
5385 * c-common.c (self_promoting_args_p): Change the return type to bool.
5386 Use false/true instead of 0/1.
5387 * c-common.h (self_promoting_args_p): Update.
5388
3fa8871b
MP
53892017-05-17 Marek Polacek <polacek@redhat.com>
5390
5391 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5392 * c-warn.c: Likewise.
5393
b42cc3ca
VV
53942017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5395
5396 Implement new C++ intrinsics __is_assignable and __is_constructible.
5397 * c-common.c (__is_assignable, __is_constructible): New.
5398 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5399
1a817418
ML
54002017-05-17 Martin Liska <mliska@suse.cz>
5401
5402 * c-common.h: Introduce dump_flags_t type and
5403 use it instead of int type.
5404 * c-gimplify.c (c_genericize): Likewise.
5405 * c-opts.c: Likewise.
5406
b2fa0a8b
MP
54072017-05-17 Marek Polacek <polacek@redhat.com>
5408
5409 * c-common.c (c_save_expr): Remove.
5410 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5411 * c-common.h (c_save_expr): Remove declaration.
5412
31c2d57d
VR
54132017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5414
5415 PR c/35441
5416 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5417 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5418 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5419 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5420 RDIV_EXPR.
5421 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5422
684f84de
MP
54232017-05-09 Marek Polacek <polacek@redhat.com>
5424
5425 PR c/80525
5426 * c-warn.c (unwrap_c_maybe_const): New.
5427 (warn_logical_operator): Call it.
5428
641da50a
NS
54292017-05-09 Nathan Sidwell <nathan@acm.org>
5430
5431 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5432 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5433
631238ac
MS
54342017-05-08 Martin Sebor <msebor@redhat.com>
5435
5436 PR translation/80280
5437 * c-format.h (struct format_flag_spec): Add new member.
5438 (T89_T): New macro.
5439 * c-format.c (local_tree_type_node): New global.
5440 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5441 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5442 (strfmon_flag_specs): Likewise.
5443 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5444 with distinct quoting properties.
5445 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5446 (flag_chars_t::validate): Add argument and handle bad quoting.
5447 (check_format_info_main): Handle quoting problems.
5448 (init_dynamic_diag_info): Simplify.
5449
49f0c04c
JM
54502017-05-08 Jason Merrill <jason@redhat.com>
5451
5452 * c-opts.c (c_common_post_options): Update defaults for
5453 flag_abi_version and flag_abi_compat_version.
5454
56d35585
DM
54552017-05-05 David Malcolm <dmalcolm@redhat.com>
5456
5457 * c-common.c (c_cpp_error): Replace report_diagnostic
5458 with diagnostic_report_diagnostic.
5459
0f2c4a8f
MS
54602017-05-04 Martin Sebor <msebor@redhat.com>
5461
5462 PR translation/80280
5463 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5464 (handle_weakref_attribute): Same.
5465
6fe63fb4
NS
54662017-05-03 Nathan Sidwell <nathan@acm.org>
5467
5468 Canonicalize canonical type hashing
5469 * c-common.c (complete_array_type): Use type_hash_canon.
5470
815d9cc6
XR
54712017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5472
92a285c1 5473 PR c++/80038
815d9cc6
XR
5474 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5475 prototype.
5476 (cilk_install_body_pedigree_operations): Likewise.
5477 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5478 detatched.
5479 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5480 (cilk_install_body_pedigree_operations): Likewise.
5481 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5482 unwrapping.
5483
f8a36447
JJ
54842017-04-27 Jakub Jelinek <jakub@redhat.com>
5485
5486 PR c++/80534
5487 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5488 flag on non-aggregate element types.
5489
7c145456
BE
54902017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5491
5492 * c-common.c (c_type_hasher, type_hash_table): Remove.
5493 (c_common_get_alias_set): Remove unreachable code.
5494 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5495
c3cbcd45
VR
54962017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5497
5498 * c.opt (Wextra-semi): New C++ warning flag.
5499
8a59d466
JJ
55002017-04-20 Jakub Jelinek <jakub@redhat.com>
5501
5502 PR middle-end/80423
5503 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5504
8487c9a5
JJ
55052017-04-18 Jakub Jelinek <jakub@redhat.com>
5506
5507 PR middle-end/79788
5508 PR middle-end/80375
5509 * c-common.c (c_common_type_for_mode): Don't handle
5510 widest_*_literal_type_node here.
5511 c_common_signed_or_unsigned_type): Likewise.
5512 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5513 to *intTI_type_node or *intDI_type_node depending on whether
5514 TImode is supported by the target or not.
5515
3ee0fb02
ML
55162017-04-10 Martin Liska <mliska@suse.cz>
5517
5518 PR sanitizer/80350
5519 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5520 doing an UBSAN check.
5521
5764ee3c
JW
55222017-04-03 Jonathan Wakely <jwakely@redhat.com>
5523
5524 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5525
6f3af356
JJ
55262017-03-31 Jakub Jelinek <jakub@redhat.com>
5527
5528 PR c++/79572
5529 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5530 tree *.
5531 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5532 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5533 REFERENCE_TYPE.
5534
f6a7a9d5
DM
55352017-03-31 David Malcolm <dmalcolm@redhat.com>
5536
5537 PR documentation/78732
5538 * c.opt (Wendif-labels): Fix description to refer to
5539 #else rather than #elif.
5540
af88f557
JJ
55412017-03-31 Jakub Jelinek <jakub@redhat.com>
5542
5543 PR libstdc++/80251
5544 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5545 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5546
a9e4a1a5
JJ
55472017-03-27 Jakub Jelinek <jakub@redhat.com>
5548
5549 PR middle-end/80162
5550 * c-common.c (c_common_mark_addressable_vec): Don't set
5551 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5552
3f01b620
MS
55532017-03-21 Martin Sebor <msebor@redhat.com>
5554
5555 PR c++/79548
5556 * c-common.c (set_underlying_type): Mark type used only when
5557 original del is declared unused.
5558
2f6f187a
DM
55592017-03-10 David Malcolm <dmalcolm@redhat.com>
5560
5561 PR translation/79848
5562 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5563 "%qs".
5564
a02fa805
DM
55652017-03-10 David Malcolm <dmalcolm@redhat.com>
5566
5567 PR c/79921
5568 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5569 from inform's message, so that xgettext can locate it.
5570
822a132c
MP
55712017-03-09 Marek Polacek <polacek@redhat.com>
5572
5573 PR c++/79962
5574 PR c++/79984
5575 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5576 conversion to the attribute list.
5577
bba81f1c
ML
55782017-03-09 Martin Liska <mliska@suse.cz>
5579
5580 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5581
108154ff
JM
55822017-03-03 Jason Merrill <jason@redhat.com>
5583
5584 * c.opt (Wnoexcept-type): New.
5585
eb0e7c34
RB
55862017-03-02 Richard Biener <rguenther@suse.de>
5587
5588 PR c/79756
5589 * c-common.c (c_common_mark_addressable_vec): Look through
5590 C_MAYBE_CONST_EXPR.
5591
9453ba0a
ML
55922017-02-28 Martin Liska <mliska@suse.cz>
5593
5594 * c.opt: Replace space with tabular for options of <number>
5595 type.
5596
6a825afe
ML
55972017-02-28 Martin Liska <mliska@suse.cz>
5598
5599 * c.opt: Fix --help=option -Q for options which are of
5600 an enum type.
5601
4227c9ad
JJ
56022017-02-24 Jakub Jelinek <jakub@redhat.com>
5603
5604 PR c++/79588
5605 * c-common.c (check_function_restrict): New function.
5606 (check_function_arguments): Add FNDECL argument. Call
5607 check_function_restrict if -Wrestrict.
5608 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5609 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5610 * c-common.h (check_function_arguments): Add FNDECL argument.
5611 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5612
59909673
EB
56132017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5614
5615 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5616 treatment of parameters with pointer-to-tagged type and tidy up.
5617 (print_ada_methods): Remove the special treatment of C++ static member
5618 functions.
5619
54dcd526
ML
56202017-02-22 Martin Liska <mliska@suse.cz>
5621
5622 * c.opt: Replace inequality signs with square brackets
5623 for -Wnornalized.
5624
00bc9de3
JJ
56252017-02-21 Jakub Jelinek <jakub@redhat.com>
5626
5627 PR c++/79641
5628 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5629 preserve quals.
5630
97fcf744
JM
56312017-02-17 Joseph Myers <joseph@codesourcery.com>
5632
5633 * c-cppbuiltin.c (builtin_define_float_constants): Define
5634 __DECIMAL_DIG__ to the value for long double.
5635
c7545f1c
MP
56362017-02-15 Marek Polacek <polacek@redhat.com>
5637
5638 PR c/79515
5639 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5640 conversion has occured.
5641
c2e84327
DM
56422017-01-24 David Malcolm <dmalcolm@redhat.com>
5643
5644 * c-common.c (c_common_reswords): Add "__RTL".
5645 * c-common.h (enum rid): Add RID_RTL.
5646
2ebd93e1
MP
56472017-01-20 Marek Polacek <polacek@redhat.com>
5648
5649 PR c/64279
5650 * c-common.h (do_warn_duplicated_branches_r): Declare.
5651 * c-gimplify.c (c_genericize): Walk the function tree calling
5652 do_warn_duplicated_branches_r.
5653 * c-warn.c (expr_from_macro_expansion_r): New.
5654 (do_warn_duplicated_branches): New.
5655 (do_warn_duplicated_branches_r): New.
5656 * c.opt (Wduplicated-branches): New option.
5657
0d80ab91
DM
56582017-01-17 David Malcolm <dmalcolm@redhat.com>
5659
5660 PR c++/71497
5661 * c-indentation.c (warn_for_misleading_indentation): Use the past
5662 subjunctive in the note.
5663
7f991c36
AH
56642017-01-17 Aldy Hernandez <aldyh@redhat.com>
5665
5666 PR c/79116
5667 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5668 start type to integer_type.
5669
1c70261c
JJ
56702017-01-16 Jakub Jelinek <jakub@redhat.com>
5671
5672 PR driver/49726
5673 * c.opt (gen-decls): Add Driver flag.
5674
1ddca3f3
PC
56752017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5676
5677 Revert:
5678 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5679
5680 PR c++/71737
5681 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5682
7d2f3f1d
PC
56832017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5684
5685 PR c++/71737
5686 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5687
bce6f760
MS
56882017-01-12 Martin Sebor <msebor@redhat.com>
5689
5690 (-Wformat-overflow): ...to this.
5691
bf5fbf46
MS
56922017-01-11 Martin Sebor <msebor@redhat.com>
5693
5694 PR c/78768
5695 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5696 Also enable for LTO.
5697
e363df3f
JM
56982017-01-10 Jason Merrill <jason@redhat.com>
5699
5700 Implement P0195R2, C++17 variadic using.
5701 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5702
bd2c6270
JJ
57032017-01-09 Jakub Jelinek <jakub@redhat.com>
5704
5705 PR translation/79019
5706 PR translation/79020
5707 * c.opt (Wnormalized=): Fix typo in description.
5708
efcc8d38
MS
57092017-01-08 Martin Sebor <msebor@redhat.com>
5710
5711 PR middle-end/77708
5712 * c.opt (-Wformat-truncation): New option.
5713
ab20d992 57142017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5715
5716 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5717 value to unsigned short to fit in 4 hex digits without
5718 warnings.
5719
4e89adf9
EB
57202017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5721
5722 * c.opt (fsso-struct): Add 'native' value.
5723
cd445b54
ML
57242017-01-05 Martin Liska <mliska@suse.cz>
5725
5726 PR pch/78970
5727 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5728 header.
5729
a9342885
MP
57302017-01-04 Marek Polacek <polacek@redhat.com>
5731
5732 PR c++/64767
5733 * c.opt (Wpointer-compare): New option.
5734
fc73e60c
JJ
57352017-01-04 Jakub Jelinek <jakub@redhat.com>
5736
5737 PR driver/78957
5738 * c.opt (fsso-struct=): Add RejectNegative.
5739
cbe34bb5
JJ
57402017-01-01 Jakub Jelinek <jakub@redhat.com>
5741
5742 Update copyright years.
5743
d4a6c0ea
ML
57442016-12-29 Martin Liska <mliska@suse.cz>
5745
5746 PR c/78933
5747 * c.opt (strong-eval-order): Add RejectNegative keyword.
5748
67a5ad7c
JM
57492016-12-22 Jason Merrill <jason@redhat.com>
5750
5751 Implement P0522R0, matching of template template arguments.
5752 * c-cppbuiltin.c (c_cpp_builtins): Define
5753 __cpp_template_template_args.
5754
0dba7960
JJ
57552016-12-21 Jakub Jelinek <jakub@redhat.com>
5756
5757 PR bootstrap/78817
5758 * c-common.c (struct nonnull_arg_ctx): New type.
5759 (check_function_nonnull): Return bool instead of void. Use
5760 nonnull_arg_ctx as context rather than just location_t.
5761 (check_nonnull_arg): Adjust for the new context type, set
5762 warned_p to true if a warning has been diagnosed.
5763 (check_function_arguments): Return bool instead of void.
5764 * c-common.h (check_function_arguments): Adjust prototype.
5765
31bfc9b9
JM
57662016-12-21 Jason Merrill <jason@redhat.com>
5767
5768 * c.opt (-fnew-ttp-matching): New flag.
5769 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5770
629b3d75
MJ
57712016-12-14 Martin Jambor <mjambor@suse.cz>
5772
5773 * c-omp.c: Include omp-general.h instead of omp-low.h.
5774 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5775 name.
5776
474da67e
MS
57772016-12-14 Martin Sebor <msebor@redhat.com>
5778
5779 PR c/17308
5780 * c-common.c (check_nonnull_arg): Disable when optimization
5781 is enabled.
5782
fe366b87
MP
57832016-12-12 Marek Polacek <polacek@redhat.com>
5784
5785 PR c++/78647
5786 * c-common.c (attribute_fallthrough_p): Return false for
5787 error_mark_node.
5788
8bd9f164
MS
57892016-12-08 Martin Sebor <msebor@redhat.com>
5790
5791 PR c/78284
5792 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5793
060162e0
MS
57942016-12-08 Martin Sebor <msebor@redhat.com>
5795
5796 PR c/78165
92a285c1
ML
5797 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5798 suffix.
060162e0 5799
ee92e7ba
MS
58002016-12-07 Martin Sebor <msebor@redhat.com>
5801
5802 PR c/53562
5803 PR middle-end/77784
5804 PR middle-end/78149
5805 PR middle-end/78138
5806 * c.opt (-Wstringop-overflow): New option.
5807
84b0769e
MO
58082016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
5809
5810 * c-attribs.c (asan odr indicator): New attribute.
5811 (handle_asan_odr_indicator_attribute): New function.
5812
7fa6a965
PK
58132016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5814
5815 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5816 ptrdiff_type_node;
5817
56d8ffc1
JG
58182016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5819
5820 * c-common.c (excess_precision_mode_join): New.
5821 (c_ts18661_flt_eval_method): New.
5822 (c_c11_flt_eval_method): Likewise.
5823 (c_flt_eval_method): Likewise.
5824 * c-common.h (excess_precision_mode_join): New.
5825 (c_flt_eval_method): Likewise.
5826 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5827 (cpp_iec_559_value): Call it.
5828 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5829 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5830 __FLT_EVAL_METHOD_TS_18661_3__.
5831
04f0fcf7
JG
58322016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5833
5834 * c-opts.c (c_common_post_options): Add logic to handle the default
5835 case for -fpermitted-flt-eval-methods.
5836
fb2675cb
PB
58372016-11-23 Paolo Bonzini <bonzini@gnu.org>
5838
5839 * c.opt (Wexpansion-to-defined): New.
5840
ec1c5694
JJ
58412016-11-23 Jakub Jelinek <jakub@redhat.com>
5842
5843 PR target/78451
5844 * c-pragma.c (handle_pragma_target): Don't replace
5845 current_target_pragma, but chainon the new args to the current one.
5846
730c9e75
NS
58472016-11-22 Nathan Sidwell <nathan@acm.org>
5848
5849 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 5850 indentation and formatting.
730c9e75 5851
89990732
MS
58522016-11-21 Martin Sebor <msebor@redhat.com>
5853
5854 * c.opt (-fprintf-return-value): Enable by default.
5855
48330c93
BE
58562016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5857
5858 PR c++/71973
5859 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5860 * c-common.c (c_common_nodes_and_builtins): Initialize
5861 const_tm_ptr_type_node.
5862
0d939c95
MP
58632016-11-16 Marek Polacek <polacek@redhat.com>
5864
5865 PR c/78285
5866 * c-common.c (c_add_case_label): Turn error_at calls into inform.
5867
8e745a17
JJ
58682016-11-14 Jakub Jelinek <jakub@redhat.com>
5869
5870 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5871
1ee62b92 58722016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
5873 Richard Biener <rguenther@suse.de>
5874
5875 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5876 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5877 * c.opt (fgimple): New option.
1ee62b92 5878
22b15758
UB
58792016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5880
5881 PR c/35503
5882 * c-common.h (warn_for_restrict): Declare.
5883 * c-warn.c: Include gcc-rich-location.h.
5884 (warn_for_restrict): New function.
5885 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5886 (gcc_cdiag_char_table): Likewise.
5887 (gcc_cxxdiag_char_table): Likewise.
5888 * c.opt (Wrestrict): New option.
5889
4be719cd
EB
58902016-11-13 Eric Botcazou <ebotcazou@adacore.com>
5891
5892 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5893 for nested types only if the type is a record or union and dump SLOC.
5894
4a826ca6
JM
58952016-11-09 Jason Merrill <jason@redhat.com>
5896
5897 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5898
2e955d50
JJ
58992016-11-09 Jakub Jelinek <jakub@redhat.com>
5900
5901 * c-ubsan.c (ubsan_instrument_shift): Handle split
5902 -fsanitize=shift-base and -fsanitize=shift-exponent.
5903
51dc6603
JM
59042016-11-07 Jason Merrill <jason@redhat.com>
5905
5906 * c.opt (Wc++1z-compat): New.
5907 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5908
6dc4a604
ML
59092016-11-07 Martin Liska <mliska@suse.cz>
5910
5911 * c-warn.c (warn_for_unused_label): Save all labels used
5912 in goto or in &label.
5913
b302001e
JM
59142016-11-03 Jason Merrill <jason@redhat.com>
5915
5916 * c-cppbuiltin.c (c_cpp_builtins): Correct
5917 __cpp_inheriting_constructors.
5918
31f7f784
JM
59192016-11-01 Jason Merrill <jason@redhat.com>
5920
2bc78e3c
JM
5921 * c-cppbuiltin.c (c_cpp_builtins): Update
5922 __cpp_inheriting_constructors.
5923
31f7f784
JM
5924 * c.opt (-fnew-inheriting-ctors): New.
5925 * c-opts.c: Default to on for ABI 11+.
5926
dcb466ec
JJ
59272016-10-31 Jakub Jelinek <jakub@redhat.com>
5928
5929 PR c++/77948
5930 * c.opt (fext-numeric-literals): Add Var and Init.
5931 * c-opts.c (c_common_handle_option): Don't clear
5932 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5933 (c_common_post_options): Clear it here if not set
5934 explicitly.
5935
52e1b91e
AH
59362016-10-28 Aldy Hernandez <aldyh@redhat.com>
5937
5938 PR debug/77773
5939 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5940 if NULL.
5941
e16f1cc7
JJ
59422016-10-25 Jakub Jelinek <jakub@redhat.com>
5943
5944 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
5945 * c-common.c (c_common_reswords): Add __builtin_launder.
5946
f8348061
BE
59472016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
5948
5949 * c-common.c (c_common_truthvalue_conversion): Warn for
5950 multiplications in boolean context. Fix the quoting of '<<' and '<'
5951 in the shift warning.
5952
eff89e01
BE
59532016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
5954
5955 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
5956
24bc7bf4
JM
59572016-10-20 Jason Merrill <jason@redhat.com>
5958
5959 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
5960
4c712374
BE
59612016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5962
5963 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
5964 integer shift ops in boolean context.
5965
59662016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
5967
5968 * c.opt (Walloca): New.
5969 (Walloca-larger-than=): New.
5970 (Wvla-larger-than=): New.
5971
8fa18c06
MP
59722016-10-17 Marek Polacek <polacek@redhat.com>
5973
5974 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
5975 Return immediately when finding a match.
5976 (warn_tautological_cmp): Remove a boolean variable that is no longer
5977 needed.
5978
b12b1915
MP
59792016-10-17 Marek Polacek <polacek@redhat.com>
5980
5981 * c-attribs.c: New file.
5982 * c-common.c: Move attributes handling to c-attribs.c.
5983 (get_nonnull_operand): No longer static.
5984 * c-common.h: Move the declarations from c-attribs.c to its own section.
5985
2045acd9
JM
59862016-10-14 Jason Merrill <jason@redhat.com>
5987
5988 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
5989 and __cpp_deduction_guides.
5990
14a2c9aa
JM
59912016-10-13 Jason Merrill <jason@redhat.com>
5992
5993 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
5994
4d0cdd0c
TP
59952016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5996
5997 * c-cppbuiltin.c: Include memmodel.h.
5998 * c-opts.c: Likewise.
5999 * c-pragma.c: Likewise.
6000 * c-warn.c: Likewise.
6001
70f6d5e1
JJ
60022016-10-12 Jakub Jelinek <jakub@redhat.com>
6003
6004 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6005 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6006 * c-opts.c (sanitize_cpp_opts): Initialize
6007 cpp_opts->cpp_warn_implicit_fallthrough.
6008
78f61294
MP
60092016-10-11 Marek Polacek <polacek@redhat.com>
6010
6011 * c-common.c (warning_candidate_p): Change the return type to bool
6012 and return true/false instead of 1/0.
6013 (vector_mode_valid_p): Likewise.
6014
038b5cc0
MP
60152016-10-11 Marek Polacek <polacek@redhat.com>
6016
6017 * c-common.c (fold_for_warn): No longer static.
6018 (bool_promoted_to_int_p): Likewise.
6019 (c_common_get_narrower): Likewise.
6020 (constant_expression_warning): Move to c-warn.c.
6021 (constant_expression_error): Likewise.
6022 (overflow_warning): Likewise.
6023 (warn_logical_operator): Likewise.
6024 (find_array_ref_with_const_idx_r): Likewise.
6025 (warn_tautological_cmp): Likewise.
6026 (expr_has_boolean_operands_p): Likewise.
6027 (warn_logical_not_parentheses): Likewise.
6028 (warn_if_unused_value): Likewise.
6029 (strict_aliasing_warning): Likewise.
6030 (sizeof_pointer_memaccess_warning): Likewise.
6031 (check_main_parameter_types): Likewise.
6032 (conversion_warning): Likewise.
6033 (warnings_for_convert_and_check): Likewise.
6034 (match_case_to_enum_1): Likewise.
6035 (match_case_to_enum): Likewise.
6036 (c_do_switch_warnings): Likewise.
6037 (warn_for_omitted_condop): Likewise.
6038 (readonly_error): Likewise.
6039 (lvalue_error): Likewise.
6040 (invalid_indirection_error): Likewise.
6041 (warn_array_subscript_with_type_char): Likewise.
6042 (warn_about_parentheses): Likewise.
6043 (warn_for_unused_label): Likewise.
6044 (warn_for_div_by_zero): Likewise.
6045 (warn_for_memset): Likewise.
6046 (warn_for_sign_compare): Likewise.
6047 (do_warn_double_promotion): Likewise.
6048 (do_warn_unused_parameter): Likewise.
6049 (record_locally_defined_typedef): Likewise.
6050 (maybe_record_typedef_use): Likewise.
6051 (maybe_warn_unused_local_typedefs): Likewise.
6052 (maybe_warn_bool_compare): Likewise.
6053 (maybe_warn_shift_overflow): Likewise.
6054 (warn_duplicated_cond_add_or_warn): Likewise.
6055 (diagnose_mismatched_attributes): Likewise.
6056 * c-common.h: Move the declarations from c-warn.c to its own section.
6057 * c-warn.c: New file.
6058
627be19f
JM
60592016-10-08 Jason Merrill <jason@redhat.com>
6060
6061 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6062 into COND_EXPR in C++.
6063
7bad794a
JJ
60642016-10-08 Jakub Jelinek <jakub@redhat.com>
6065
6066 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6067 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6068 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6069
be845b04
JJ
60702016-10-07 Jakub Jelinek <jakub@redhat.com>
6071
6072 Implement LWG2296 helper intrinsic
6073 * c-common.h (enum rid): Add RID_ADDRESSOF.
6074 * c-common.c (c_common_reswords): Add __builtin_addressof.
6075
c09c4992
BE
60762016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6077
6078 PR c++/77700
6079 * c-common.c (c_common_truthvalue_conversion): Warn also for
6080 suspicious enum values in boolean context.
6081
342cfb3e
JJ
60822016-10-06 Jakub Jelinek <jakub@redhat.com>
6083
6084 Implement P0258R2 - helper for C++17
6085 std::has_unique_object_representations trait
6086 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6087 * c-common.c (c_common_reswords): Add
6088 __has_unique_object_representations.
6089
2e69f143
JJ
60902016-10-05 Jakub Jelinek <jakub@redhat.com>
6091
6092 PR sanitizer/66343
6093 * c-ubsan.c (ubsan_instrument_return): Don't call
6094 initialize_sanitizer_builtins here.
6095
700fff34
BE
60962016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6097
6098 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6099 conditional expression in boolean context when only one arm is
6100 non-boolean.
6101
9563bfcd
JJ
61022016-10-05 Jakub Jelinek <jakub@redhat.com>
6103
04a32443
JJ
6104 PR sanitizer/77823
6105 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6106 is not integral.
6107
9563bfcd
JJ
6108 * c-common.c (c_common_reswords): Update comment for C++11.
6109
f1644724
JM
61102016-10-04 Jason Merrill <jason@redhat.com>
6111
6112 * c-common.c (make_tree_vector_from_ctor): New.
6113 * c-common.h: Declare it.
6114
5a79befb
JJ
61152016-10-04 Jakub Jelinek <jakub@redhat.com>
6116
6117 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6118 __LIBGCC_JCR_SECTION_NAME__.
6119
1633d3b9
BE
61202016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6121
6122 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6123 left shift in boolean context.
6124
a2c6e7f2
JJ
61252016-09-29 Jakub Jelinek <jakub@redhat.com>
6126
6127 Implement P0001R1 - C++17 removal of register storage class specifier
6128 * c.opt (Wregister): New warning.
6129 * c-opts.c (c_common_post_options): Enable -Wregister by
6130 default for C++17.
6131
75304c87
JG
61322016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6133
6134 * c-opts.c (c_common_post_options): Remove special case for
6135 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6136 in C++.
6137
bbfac6da
JJ
61382016-09-27 Jakub Jelinek <jakub@redhat.com>
6139
6e39060a
JJ
6140 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6141 -std=c++1z.
6142
bbfac6da
JJ
6143 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6144
e73cf9a2
TP
61452016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6146
6147 * c-common.c: Include memmodel.h.
6148
c6147dc4
MP
61492016-09-26 Marek Polacek <polacek@redhat.com>
6150
6151 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6152
81fea426
MP
61532016-09-26 Marek Polacek <polacek@redhat.com>
6154
6155 PR c/7652
6156 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6157 (handle_fallthrough_attribute): New function.
6158 (attribute_fallthrough_p): New function.
6159 * c-common.h (attribute_fallthrough_p): Declare.
6160
9a2300e9
MP
61612016-09-24 Marek Polacek <polacek@redhat.com>
6162
6163 PR c/77490
6164 * c.opt (Wbool-operation): New.
6165
a09e9e35
BE
61662016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6167
6168 * c-common.c (c_common_truthvalue_conversion): Inhibit
6169 Wint-in-bool-context warning with from_macro_definition_at.
6170 Mention the expression will always evaluate to true.
6171
d43b4ccc
MS
61722016-09-21 Martin Sebor <msebor@redhat.com>
6173
6174 PR bootstrap/77676
6175 * c.opt (fprintf-return-value): Temporarily initialize to zero
6176 to unblock bootstrap failures.
6177
2e1c20b1
JJ
61782016-09-21 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR c++/77651
6181 * c.opt (Waligned-new=): Add RejectNegative.
6182 (faligned-new=): Likewise. Spelling fix - change
6183 aligned_new_threshhold to aligned_new_threshold.
6184 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6185 to aligned_new_threshold.
6186
88d0c3f0
MS
61872016-09-20 Martin Sebor <msebor@redhat.com>
6188
6189 PR middle-end/49905
6190 * c.opt: Add -Wformat-length and -fprintf-return-value.
6191
144a96e4
BE
61922016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6193
6194 PR c++/77434
6195 * c.opt (Wint-in-bool-context): New warning.
6196 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6197 constants in boolean context.
6198
63012d9a
JM
61992016-09-19 Joseph Myers <joseph@codesourcery.com>
6200
6201 * c-common.c (max_align_t_align): Also consider alignment of
6202 float128_type_node.
6203
931388ce
JM
62042016-09-15 Jason Merrill <jason@redhat.com>
6205
6206 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6207 DECL_EXTERNAL.
6208
38711381
JM
62092016-09-14 Jason Merrill <jason@redhat.com>
6210
6211 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6212 limit FIELD_DECL, either.
6213
e51fbec3
MP
62142016-09-14 Marek Polacek <polacek@redhat.com>
6215
6216 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6217 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6218 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6219
254830ba
DM
62202016-09-13 David Malcolm <dmalcolm@redhat.com>
6221
6222 * c-common.c (warn_logical_not_parentheses): Replace
6223 rich_location::add_fixit_insert calls with add_fixit_insert_before
6224 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6225
42763690
JM
62262016-09-13 Jason Merrill <jason@redhat.com>
6227 Tom de Vries <tom@codesourcery.com>
6228
6229 PR c++/77427
6230 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6231
9453eee9
JM
62322016-09-13 Jason Merrill <jason@redhat.com>
6233
6234 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6235 limit types at all.
6236
e96809e3
JM
62372016-09-12 Jason Merrill <jason@redhat.com>
6238
6239 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6240 bit/byte confusion, allow large alignment for types.
6241
54dcdb88
BE
62422016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6243
6244 PR c++/77496
6245 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6246
d1463eb9
DM
62472016-09-12 David Malcolm <dmalcolm@redhat.com>
6248
6249 PR c/72858
6250 * c-format.c (argument_parser::check_argument_type): Add params
6251 "type_start" and "conversion_char". Use the former to generate
6252 offset_to_type_start and pass it and conversion_char to
6253 check_format_types.
6254 (check_format_info_main): Capture the start of the type
6255 information as "type_start", and pass it an format_char
6256 to arg_parser.check_argument_type.
6257 (check_format_types): Provide an example in the leading comment.
6258 Add params "offset_to_type_start" and "conversion_char"; pass
6259 them to format_type_warning calls.
6260 (test_get_modifier_for_format_len): Likewise.
6261 (matching_type_p): New function.
6262 (get_format_for_type): Add param "conversion_char" and move
6263 implementation into...
6264 (get_format_for_type_1): ...new function, called twice.
6265 Use new function matching_type_p rather than checking for
6266 TYPE_CANONICAL equality.
6267 (get_corrected_substring): New function.
6268 (format_type_warning): Provide an example in the leading comment.
6269 Add params "offset_to_type_start" and "conversion_char". Replace
6270 call to get_format_for_type with call to get_corrected_substring
6271 and move rejection of hints for widths/precisions there.
6272 (assert_format_for_type_streq): Add param "conversion_char".
6273 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6274 (test_get_format_for_type_printf): Add conversion chars to the
6275 tests, adding coverage for various combinations of integer
6276 vs double conversions, and for preserving octal and hexadecimal
6277 conversions.
6278 (test_get_format_for_type_scanf): Add conversion chars to the
6279 tests.
6280
5b28efbb
TV
62812016-09-10 Tom de Vries <tom@codesourcery.com>
6282
6283 PR C/71602
6284 * c-common.c (build_va_arg): Handle more strict
6285 targetm.canonical_va_list_type. Replace first argument type error with
6286 assert.
6287
3f0177e7
MS
62882016-09-09 Martin Sebor <msebor@redhat.com>
6289
6290 PR c/77520
6291 PR c/77521
6292 * c-format.c (argument_parser::find_format_char_info): Use %qc
6293 format directive unconditionally.
6294
af63ba4b
JM
62952016-09-09 Jason Merrill <jason@redhat.com>
6296
6297 Implement C++17 new of over-aligned types.
6298 * c.opt: Add -faligned-new and -Waligned-new.
6299 * c-common.c (max_align_t_align): Split out from...
6300 (cxx_fundamental_alignment_p): ...here.
6301 * c-common.h: Declare it.
6302 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6303
c65248cb
JM
63042016-09-09 Joseph Myers <joseph@codesourcery.com>
6305
6306 * c-cppbuiltin.c (builtin_define_type_width): New function.
6307 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6308 macros.
6309
e5106e27
DM
63102016-09-07 David Malcolm <dmalcolm@redhat.com>
6311
6312 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6313 a POINTER_TYPE.
6314 (substring_loc::get_location): Move to substring-locations.c,
6315 keeping implementation as...
6316 (c_get_substring_location): New function, from the above, reworked
6317 to use accessors rather than member lookup.
6318 * c-common.h (class substring_loc): Move to substring-locations.h,
6319 replacing with a forward decl.
6320 (c_get_substring_location): New decl.
6321 * c-format.c: Include "substring-locations.h".
6322 (format_warning_va): Move to substring-locations.c.
6323 (format_warning_at_substring): Likewise.
6324
ab20d992 63252016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6326
6327 PR c/77336
6328 * c-format.c (check_function_format): Avoid issuing warnings for
6329 functions unless they call format functions with non-constant
6330 format strings.
6331
b772a565
RB
63322016-09-06 Richard Biener <rguenther@suse.de>
6333
6334 PR c/77450
6335 * c-common.c (c_common_mark_addressable_vec): Handle
6336 COMPOUND_LITERAL_EXPR.
6337
25ff5dd3
MP
63382016-09-05 Marek Polacek <polacek@redhat.com>
6339
6340 PR c/77423
6341 * c-common.c (bool_promoted_to_int_p): New function.
6342 (expr_has_boolean_operands_p): New function.
6343 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6344 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6345
21234eb5
TV
63462016-09-04 Tom de Vries <tom@codesourcery.com>
6347
6348 revert:
6349 2016-08-29 Tom de Vries <tom@codesourcery.com>
6350
6351 * c-common.c (build_va_arg): Replace first argument type error
6352 with assert.
6353
9dc5773f
JJ
63542016-09-02 Jakub Jelinek <jakub@redhat.com>
6355
6356 PR c/65467
6357 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6358 (c_finish_omp_for): Reject _Atomic qualified iterators.
6359
63602016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
6361
6362 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6363 size to guarantee it fits the output of the formatted function
6364 regardless of its arguments.
6365
295844f6
MP
63662016-09-01 Marek Polacek <polacek@redhat.com>
6367
6368 PR c/7652
6369 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6370 FALLTHRU comments.
6371
3d06b6f2
MP
63722016-08-29 Marek Polacek <polacek@redhat.com>
6373
6374 PR c/77292
6375 * c-common.c (warn_logical_not_parentheses): Don't warn for
6376 a comparison or a logical operator.
6377
34cedad5
TV
63782016-08-29 Tom de Vries <tom@codesourcery.com>
6379
6380 * c-common.c (build_va_arg): Fix type comparison assert.
6381
f162d717
TV
63822016-08-29 Tom de Vries <tom@codesourcery.com>
6383
6384 * c-common.c (build_va_arg): Replace first argument type error
6385 with assert.
6386
ba9bbd6f
TV
63872016-08-29 Tom de Vries <tom@codesourcery.com>
6388
6389 PR c/77398
6390 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6391 with error_mark_node as va_list instead of with illegal va_list.
6392
ebef225f
MP
63932016-08-25 Marek Polacek <polacek@redhat.com>
6394 David Malcolm <dmalcolm@redhat.com>
6395
6396 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6397 * c-common.h (warn_logical_not_parentheses): Update declaration.
6398
b00e6e75
MP
63992016-08-22 Marek Polacek <polacek@redhat.com>
6400
6401 PR c++/77321
6402 * c-common.c (warn_for_memset): Check type for null.
6403
6dc198e3
JM
64042016-08-22 Joseph Myers <joseph@codesourcery.com>
6405
14ec014e 6406 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6407 _FloatNx types for suffixes for built-in functions.
6408
c65699ef
JM
64092016-08-19 Joseph Myers <joseph@codesourcery.com>
6410
6411 PR c/32187
6412 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6413 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6414 (RID_FLOAT128X): New enum rid values.
6415 (CASE_RID_FLOATN_NX): New macro.
6416 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6417 keywords.
6418 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6419 corresponding complex types.
6420 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6421 _FloatNx and corresponding complex types.
6422 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6423 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6424 and _FloatNx types for the widest type for determining
6425 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6426 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6427 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6428 and _FloatNx types.
6429 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6430 constants.
6431 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6432 _FloatNx types.
6433
cc015f3a
DM
64342016-08-18 David Malcolm <dmalcolm@redhat.com>
6435
6436 * c-opts.c (c_diagnostic_finalizer): Update for change to
6437 diagnostic_show_locus.
6438
cb18fd07
DM
64392016-08-18 David Malcolm <dmalcolm@redhat.com>
6440
6441 * c-common.c: Include "spellcheck.h".
6442 (cb_get_suggestion): New function.
6443 * c-common.h (cb_get_suggestion): New decl.
6444 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6445 cb_get_suggestion.
6446
a76989dc
MP
64472016-08-18 Marek Polacek <polacek@redhat.com>
6448
6449 PR c/71514
6450 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6451 and pointer-to-VLA.
6452
65e736c0
DM
64532016-08-16 David Malcolm <dmalcolm@redhat.com>
6454
6455 PR c/72857
6456 * c-common.c (substring_loc::get_range): Rename to...
6457 (substring_loc::get_location): ...this, converting param from a
6458 source_range * to a location_t *. Call
6459 get_source_location_for_substring rather than
6460 get_source_range_for_substring, and pass in m_caret_idx.
6461 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6462 (substring_loc::get_range): Replace with...
6463 (substring_loc::get_location): ...this.
6464 (substring_loc::set_caret_index): New method.
6465 (substring_loc): Add field m_caret_idx.
6466 * c-format.c (format_warning_va): Update for above changes.
6467 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6468 clashing with type name.
6469 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6470 (check_argument_type): Likewise.
6471 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6472 Use a copy when emitting warnings, setting the caret index from TYPE.
6473
7e1dde14 64742016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6475 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6476
6477 * c-ada-spec.c (dump_number): New function.
6478 (handle_escape_character): Likewise.
6479 (print_ada_macros): Add handling of constant integers and strings.
6480
191816a3
MP
64812016-08-12 Marek Polacek <polacek@redhat.com>
6482
6483 PR c/7652
6484 * c-common.c (scalar_to_vector): Adjust fall through comment.
6485 * c-opts.c (c_common_handle_option): Likewise.
6486 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6487 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6488 fall through comment.
6489 * cilk.c (extract_free_variables): Add FALLTHRU.
6490
452df4a4
JM
64912016-08-10 Jason Merrill <jason@redhat.com>
6492
6493 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6494
f3365c12
JM
64952016-08-09 Jason Merrill <jason@redhat.com>
6496
6497 * c-common.c (c_common_attribute_table): vector_size affects type
6498 identity.
6499
f0bc3323
MP
65002016-08-09 Marek Polacek <polacek@redhat.com>
6501
6502 PR c/7652
6503 * c-ada-spec.c (dump_generic_ada_node): Add return.
6504
98e5a19a
JM
65052016-08-09 Jason Merrill <jason@redhat.com>
6506
6507 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6508 C++17 constexpr lambdas.
6509
895aa8e1
DM
65102016-08-08 David Malcolm <dmalcolm@redhat.com>
6511
6512 PR c/64955
6513 * c-common.h (selftest::c_format_c_tests): New declaration.
6514 (selftest::run_c_tests): New declaration.
6515 * c-format.c: Include "selftest.h.
6516 (format_warning_va): Add param "corrected_substring" and use
6517 it to add a replacement fix-it hint.
6518 (format_warning_at_substring): Likewise.
6519 (format_warning_at_char): Update for new param of
6520 format_warning_va.
6521 (argument_parser::check_argument_type): Pass "fki" to
6522 check_format_types.
6523 (check_format_types): Add param "fki" and pass it to
6524 format_type_warning.
6525 (deref_n_times): New function.
6526 (get_modifier_for_format_len): New function.
6527 (selftest::test_get_modifier_for_format_len): New function.
6528 (get_format_for_type): New function.
6529 (format_type_warning): Add param "fki" and use it to attempt
6530 to provide hints for argument types when calling
6531 format_warning_at_substring.
6532 (selftest::get_info): New function.
6533 (selftest::assert_format_for_type_streq): New function.
6534 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6535 (selftest::test_get_format_for_type_printf): New function.
6536 (selftest::test_get_format_for_type_scanf): New function.
6537 (selftest::c_format_c_tests): New function.
6538
e52ed3fe
DM
65392016-08-08 David Malcolm <dmalcolm@redhat.com>
6540
6541 PR c/52952
6542 * c-format.c: Include "diagnostic.h".
6543 (location_column_from_byte_offset): Delete.
6544 (location_from_offset): Delete.
6545 (format_warning_va): New function.
6546 (format_warning_at_substring): New function.
6547 (format_warning_at_char): New function.
6548 (check_format_arg): Capture location of format_tree and pass to
6549 check_format_info_main.
6550 (argument_parser): Add fields "start_of_this_format" and
6551 "format_string_cst".
6552 (flag_chars_t::validate): Add param "format_string_cst". Convert
6553 warning_at call using location_from_offset to call to
6554 format_warning_at_char.
6555 (argument_parser::argument_parser): Add param "format_string_cst_"
6556 and use use it to initialize field "format_string_cst".
6557 Initialize new field "start_of_this_format".
6558 (argument_parser::read_format_flags): Convert warning_at call
6559 using location_from_offset to a call to format_warning_at_char.
6560 (argument_parser::read_any_format_left_precision): Likewise.
6561 (argument_parser::read_any_format_precision): Likewise.
6562 (argument_parser::read_any_other_modifier): Likewise.
6563 (argument_parser::find_format_char_info): Likewise, in three places.
6564 (argument_parser::parse_any_scan_set): Likewise, in one place.
6565 (argument_parser::handle_conversions): Likewise, in two places.
6566 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6567 and use it to make a substring_loc. Pass the latter to
6568 check_format_types.
6569 (check_format_info_main): Add params "fmt_param_loc" and
6570 "format_string_cst". Convert warning_at calls using
6571 location_from_offset to calls to format_warning_at_char. Pass the
6572 new params to the arg_parser ctor. Pass "format_string_cst" to
6573 flag_chars.validate. Pass "fmt_param_loc" to
6574 arg_parser.check_argument_type.
6575 (check_format_types): Convert first param from a location_t
6576 to a const substring_loc & and rename to "fmt_loc". Attempt
6577 to extract the range of the relevant parameter and pass it
6578 to format_type_warning.
6579 (format_type_warning): Convert first param from a location_t
6580 to a const substring_loc & and rename to "fmt_loc". Add
6581 params "param_range" and "type". Replace calls to warning_at
6582 with calls to format_warning_at_substring.
6583
1c4d457e
DM
65842016-08-08 David Malcolm <dmalcolm@redhat.com>
6585
6586 * c-format.c (class flag_chars_t): New class.
6587 (struct length_modifier): New struct.
6588 (class argument_parser): New class.
6589 (flag_chars_t::flag_chars_t): New ctor.
6590 (flag_chars_t::has_char_p): New method.
6591 (flag_chars_t::add_char): New method.
6592 (flag_chars_t::validate): New method.
6593 (flag_chars_t::get_alloc_flag): New method.
6594 (flag_chars_t::assignment_suppression_p): New method.
6595 (argument_parser::argument_parser): New ctor.
6596 (argument_parser::read_any_dollar): New method.
6597 (argument_parser::read_format_flags): New method.
6598 (argument_parser::read_any_format_width): New method.
6599 (argument_parser::read_any_format_left_precision): New method.
6600 (argument_parser::read_any_format_precision): New method.
6601 (argument_parser::handle_alloc_chars): New method.
6602 (argument_parser::read_any_length_modifier): New method.
6603 (argument_parser::read_any_other_modifier): New method.
6604 (argument_parser::find_format_char_info): New method.
6605 (argument_parser::validate_flag_pairs): New method.
6606 (argument_parser::give_y2k_warnings): New method.
6607 (argument_parser::parse_any_scan_set): New method.
6608 (argument_parser::handle_conversions): New method.
6609 (argument_parser::check_argument_type): New method.
6610 (check_format_info_main): Introduce classes argument_parser
6611 and flag_chars_t, moving the code within the loop into methods
6612 of these classes. Make various locals "const".
6613
88fa5555
DM
66142016-08-05 David Malcolm <dmalcolm@redhat.com>
6615
6616 * c-common.c: Include "substring-locations.h".
6617 (get_cpp_ttype_from_string_type): New function.
6618 (g_string_concat_db): New global.
6619 (substring_loc::get_range): New method.
6620 * c-common.h (g_string_concat_db): New declaration.
6621 (class substring_loc): New class.
6622 * c-lex.c (lex_string): When concatenating strings, capture the
6623 locations of all tokens using a new obstack, and record the
6624 concatenation locations within g_string_concat_db.
6625 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6626 on the ggc-heap.
6627
78169471
MP
66282016-07-29 Marek Polacek <polacek@redhat.com>
6629
638fc14f
MP
6630 PR c/71926
6631 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6632 parentheses warning.
6633
78169471
MP
6634 PR c/71574
6635 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6636
1225d6b1
ML
66372016-07-28 Martin Liska <mliska@suse.cz>
6638
6639 PR gcov-profile/68025
6640 * c-common.c (handle_no_profile_instrument_function_attribute):
6641
ec1e2a40
BE
66422016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6643
6644 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6645 BITS_PER_UNIT_LOG.
6646
5ec2cd9f
JM
66472016-07-25 Jason Merrill <jason@redhat.com>
6648
6649 PR c++/65970
6650 * c.opt (fconstexpr-loop-limit): New.
6651
9dc5773f 66522016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6653
6654 PR c++/71675
6655 * c-common.c (resolve_overloaded_builtin): Avoid converting
6656 __atomic_compare_exchange_n return type to that of what its
6657 first argument points to.
6658
e3fe09c1
UB
66592016-07-22 Uros Bizjak <ubizjak@gmail.com>
6660
6661 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6662 ~(unsigned HOST_WIDE_INT) 0.
6663
bc91c436
ML
66642016-07-22 Martin Liska <mliska@suse.cz>
6665
6666 PR gcov-profile/69028
6667 PR gcov-profile/62047
6668 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6669 to the current_function_decl.
6670
451dcc66
JM
66712016-07-21 Jason Merrill <jason@redhat.com>
6672
6673 PR c++/65168
6674 * c-common.c (c_common_truthvalue_conversion): Check
6675 c_inhibit_evaluation_warnings for warning about address of
6676 reference.
6677
de6a69ee
DM
66782016-07-20 David Malcolm <dmalcolm@redhat.com>
6679
6680 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6681 const char *.
6682
d022c55a
JM
66832016-07-15 Jason Merrill <jason@redhat.com>
6684
6685 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6686
ddbbcb19
JJ
66872016-07-15 Jakub Jelinek <jakub@redhat.com>
6688
6689 PR c/71858
6690 * c-common.h (enum lookup_name_fuzzy_kind): Add
6691 FUZZY_LOOKUP_FUNCTION_NAME.
6692
d0cf395a
JM
66932016-07-08 Jason Merrill <jason@redhat.com>
6694
6695 P0145: Refining Expression Order for C++.
6696 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6697 * c-opts.c: Adjust.
6698
98d44e93
MT
66992016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6700
6701 PR c++/71214
6702 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6703
f9d8d994
TS
67042016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6705
6706 * c-pragma.h (enum pragma_kind): Rename
6707 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6708 users.
6709
4aa83879
RB
67102016-06-29 Richard Biener <rguenther@suse.de>
6711
6712 PR middle-end/71002
6713 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6714
a25bd9e6
JM
67152016-06-24 Jason Merrill <jason@redhat.com>
6716
6717 P0145R2: Refining Expression Order for C++.
6718 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6719 MODIFY_EXPR.
6720
a86451b9
JJ
67212016-06-24 Jakub Jelinek <jakub@redhat.com>
6722
6723 * c-common.c (check_builtin_function_arguments): Require last
6724 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6725 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6726 if the last argument is pointer to enumerated or boolean type.
6727
1a4f11c8
DM
67282016-06-22 David Malcolm <dmalcolm@redhat.com>
6729
6730 PR c/70339
6731 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6732 (lookup_name_fuzzy): New prototype.
6733
fe55692c
JDA
67342016-06-21 John David Anglin <danglin@gcc.gnu.org>
6735
6736 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6737
4eb24e01
JM
67382016-06-14 Jason Merrill <jason@redhat.com>
6739
6740 P0145R2: Refining Expression Order for C++.
6741 * c.opt (fargs-in-order): New.
6742 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6743
ef7cf206
JJ
67442016-06-13 Jakub Jelinek <jakub@redhat.com>
6745
0dda258b
JJ
6746 PR sanitizer/71498
6747 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6748 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6749
ef7cf206
JJ
6750 PR preprocessor/71183
6751 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6752 to cb_get_source_date_epoch.
6753
50b15873
JJ
67542016-06-10 Jakub Jelinek <jakub@redhat.com>
6755
6756 PR c/68657
6757 * c.opt (Wpsabi): Add Warning flag.
6758
4d926e34
MS
67592016-06-10 Martin Sebor <msebor@redhat.com>
6760
6761 PR c/71392
14ec014e 6762 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
6763 the nonnull attribute in type-generic builtins.
6764
e01b4e16
MS
67652016-06-09 Martin Sebor <msebor@redhat.com>
6766
6767 PR c/70883
6768 * c-common.c (builtin_function_validate_nargs): Make text of error
6769 message consistent with others like it.
6770
44a845ca
MS
67712016-06-08 Martin Sebor <msebor@redhat.com>
6772 Jakub Jelinek <jakub@redhat.com>
6773
6774 PR c++/70507
6775 PR c/68120
6776 * c-common.c (check_builtin_function_arguments): Handle
6777 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6778
a80a7051
RB
67792016-06-08 Richard Biener <rguenther@suse.de>
6780
6781 * c-common.c (parse_optimize_options): Improve diagnostic messages.
6782
bfd67b47
RB
67832016-06-07 Richard Biener <rguenther@suse.de>
6784
6785 PR c/61564
6786 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6787 options and warn about others.
6788
15c98b2e
ES
67892016-06-01 Eduard Sanou <dhole@openmailbox.org>
6790
6791 * c-common.c (get_source_date_epoch): Rename to
6792 cb_get_source_date_epoch.
6793 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6794 message when the parsing fails. Use error_at instead of fatal_error.
6795 * c-common.h (get_source_date_epoch): Rename to
6796 cb_get_source_date_epoch.
6797 * c-common.h (cb_get_source_date_epoch): Prototype.
6798 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6799 * c-common.h (c_omp_region_type): Remove trailing comma.
6800 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6801 * c-lex.c (c_lex_with_flags): Remove initialization of
6802 pfile->source_date_epoch.
6803
00631022
JJ
68042016-05-30 Jakub Jelinek <jakub@redhat.com>
6805
6806 PR c++/71349
6807 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6808 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
6809 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6810 instead of C_OMP_CLAUSE_SPLIT_FOR.
6811
f17a223d
RB
68122016-05-24 Richard Biener <rguenther@suse.de>
6813
6814 PR middle-end/70434
6815 PR c/69504
6816 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6817 (convert_vector_to_array_for_subscript): ... this.
6818 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6819 VIEW_CONVERT_EXPR to an array type. Rename to ...
6820 (convert_vector_to_array_for_subscript): ... this.
6821
4f2e1536
MP
68222016-05-12 Marek Polacek <polacek@redhat.com>
6823
6824 PR c/70756
6825 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6826 size_in_bytes and pass LOC to it.
6827
d6e83a8d
MM
68282016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
6829
6830 PR c/43651
6831 * c.opt (Wduplicate-decl-specifier): New option.
6832
5c3a10fb
MP
68332016-05-11 Marek Polacek <polacek@redhat.com>
6834
6835 PR c++/71024
6836 * c-common.c (diagnose_mismatched_attributes): New function.
6837 * c-common.h (diagnose_mismatched_attributes): Declare.
6838
deef7113
MP
68392016-05-04 Marek Polacek <polacek@redhat.com>
6840
6841 * c.opt (Wdangling-else): New option.
6842
79ce98bc
MP
68432016-05-03 Marek Polacek <polacek@redhat.com>
6844
6845 PR c/70859
6846 * c-common.c (builtin_function_validate_nargs): Add location
6847 parameter. Use it.
6848 (check_builtin_function_arguments): Add location and arguments
6849 parameters. Use them.
6850 * c-common.h (check_builtin_function_arguments): Update declaration.
6851
381cdae4
RB
68522016-05-03 Richard Biener <rguenther@suse.de>
6853
6854 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6855 allow call args to gimplify to SSA names.
6856
1d793c34
MP
68572016-05-03 Marek Polacek <polacek@redhat.com>
6858
6859 * c-common.h (enum c_omp_region_type): Remove stray comma.
6860
77886428
CP
68612016-05-02 Cesar Philippidis <cesar@codesourcery.com>
6862
6863 * c-common.h (enum c_omp_region_type): Define.
6864
697e0b28
RS
68652016-05-02 Richard Sandiford <richard.sandiford@arm.com>
6866
6867 * c-common.c (shorten_compare): Use wi::to_wide.
6868
e7ff0319
CP
68692016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6870
6871 PR middle-end/70626
6872 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6873 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6874 reduction clauses in acc parallel loops.
6875
2fff3db8
MP
68762016-04-29 Marek Polacek <polacek@redhat.com>
6877
6878 PR c/70852
6879 * c-common.c (warn_for_memset): Check domain before accessing it.
6880
509063eb
DV
68812016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
6882
6883 PR/69089
6884 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6885 "aligned" attribute.
6886
b632761d
JM
68872016-04-28 Jason Merrill <jason@redhat.com>
6888
6889 * c-lex.c (c_common_has_attribute): Handle nodiscard.
6890
174f6622
ES
68912016-04-28 Eduard Sanou <dhole@openmailbox.org>
6892 Matthias Klose <doko@debian.org>
6893
6894 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 6895 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
6896 handling.
6897 * c-common.h (get_source_date_epoch): Prototype.
6898 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6899
6bc2bb18
RB
69002015-04-27 Ryan Burn <contact@rnburn.com>
6901
6902 PR c++/69024
6903 PR c++/68997
6904 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6905 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6906 external linkage.
6907 (cilk_detect_and_unwrap): Corresponding changes.
6908 (extract_free_variables): Don't extract free variables from
6909 AGGR_INIT_EXPR slot.
6910 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6911 (cilk_recognize_spawn): Likewise.
6912
c1e1f433
BS
69132016-04-27 Bernd Schmidt <bschmidt@redhat.com>
6914
6915 * c.opt (Wmemset-elt-size): New option.
6916 * c-common.c (warn_for_memset): New function.
6917 * c-common.h (warn_for_memset): Declare.
6918
d067e05f
JM
69192016-04-25 Jason Merrill <jason@redhat.com>
6920
6921 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6922 No longer static.
6923 * c-common.h: Declare it.
6924 * c-lex.c (c_common_has_attribute): Add maybe_unused.
6925
9aa36ae5
JM
69262016-04-22 Jason Merrill <jason@redhat.com>
6927
6928 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6929
477d4906
IV
69302016-04-20 Ilya Verbin <ilya.verbin@intel.com>
6931
6932 PR c++/69363
6933 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6934 * c-common.h (c_finish_cilk_clauses): Remove declaration.
6935
fe37c7af
MM
69362016-04-18 Michael Matz <matz@suse.de>
6937
6938 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6939 and SET_DECL_ALIGN.
6940
23f2660f
EB
69412016-04-17 Eric Botcazou <ebotcazou@adacore.com>
6942
6943 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
6944 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
6945 to incomplete types.
6946 (dump_nested_type): Remove redundant tests and tidy up.
6947 (print_ada_declaration): Also set TREE_VISITED on the declaration of
6948 a type which is the typedef of an original type.
6949
1e77281b
MP
69502016-04-15 Marek Polacek <polacek@redhat.com>
6951
6952 PR c/70651
6953 * c-common.c (build_va_arg): Change two asserts into errors and return
6954 error_mark_node.
6955
b3a77f21
MP
69562016-04-13 Marek Polacek <polacek@redhat.com>
6957
6958 PR c++/70639
6959 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
6960 for switch statements, too.
6961
322b8466
JM
69622016-03-28 Jason Merrill <jason@redhat.com>
6963
6964 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
6965
fbdb6baf
MP
69662016-03-23 Marek Polacek <polacek@redhat.com>
6967
6968 PR c++/69884
6969 * c.opt (Wignored-attributes): New option.
6970
5c240f4d
DM
69712016-03-22 David Malcolm <dmalcolm@redhat.com>
6972
6973 PR c/69993
6974 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
6975 diagnostic text, reversing the order of the warning and note so
6976 that they appear in source order.
6977
14ba7b28
MP
69782016-03-17 Marek Polacek <polacek@redhat.com>
6979
6980 PR c/69407
6981 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
6982 operations.
6983
08a1cadc
JM
69842016-03-14 Jason Merrill <jason@redhat.com>
6985
2aaeea19
JM
6986 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
6987
08a1cadc
JM
6988 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
6989
c06d25bb
RB
69902016-03-09 Richard Biener <rguenther@suse.de>
6991
6992 PR c/70143
6993 * c-common.c (strict_aliasing_warning): Add back
6994 alias_sets_conflict_p check.
6995
80aac5c8
JM
69962016-03-08 Jason Merrill <jason@redhat.com>
6997
6998 * c-opts.c (set_std_cxx1z): Don't enable concepts.
6999
64b23c13
DM
70002016-03-04 David Malcolm <dmalcolm@redhat.com>
7001
7002 PR c/68187
7003 * c-indentation.c (get_visual_column): Move code to determine next
7004 tab stop to...
7005 (next_tab_stop): ...this new function.
7006 (line_contains_hash_if): Delete function.
7007 (detect_preprocessor_logic): Delete function.
7008 (get_first_nws_vis_column): New function.
7009 (detect_intervening_unindent): New function.
7010 (should_warn_for_misleading_indentation): Replace call to
7011 detect_preprocessor_logic with a call to
7012 detect_intervening_unindent.
7013
729526f5
DM
70142016-03-04 David Malcolm <dmalcolm@redhat.com>
7015
7016 PR c/68187
7017 * c-indentation.c (should_warn_for_misleading_indentation): When
7018 suppressing warnings about cases where the guard and body are on
7019 the same column, only use the first non-whitespace column in place
7020 of the guard token column when dealing with "else" clauses.
7021 When rejecting aligned BODY and NEXT, loosen the requirement
7022 from equality with the first non-whitespace of guard to simply
7023 that they not be indented relative to it.
7024
e9a35493
RB
70252016-03-04 Richard Biener <rguenther@suse.de>
7026
7027 PR c++/70054
7028 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7029 instead of alias_sets_conflict_p.
7030
1be56bc5
MP
70312016-03-01 Marek Polacek <polacek@redhat.com>
7032
7033 PR c++/69795
7034 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7035 any DECL.
7036
35886f0b
MS
70372016-02-22 Martin Sebor <msebor@redhat.com>
7038
7039 PR middle-end/69780
7040 * c-common.c (check_builtin_function_arguments): Validate and
7041 reject invalid arguments to __builtin_alloca_with_align.
7042
4246c8da
MW
70432016-02-20 Mark Wielaard <mjw@redhat.com>
7044
7045 PR c/28901
7046 * c.opt (Wunused-const-variable): Turn into Alias for...
7047 (Wunused-const-variable=): New option.
7048
268be88c
BE
70492016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7050
7051 PR c++/69865
7052 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7053 here...
7054 (c_common_init_options): ...to here.
7055 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7056
871b3f47
JJ
70572016-02-19 Jakub Jelinek <jakub@redhat.com>
7058
7059 PR c++/69826
7060 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7061 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7062 flag_preprocess_only.
7063
bf14eba2
JJ
70642016-02-16 Jakub Jelinek <jakub@redhat.com>
7065
7066 PR c/69835
7067 * c.opt (Wnonnull-compare): Enable for -Wall.
7068
ba6b3795
JJ
70692016-02-15 Jakub Jelinek <jakub@redhat.com>
7070
7071 PR c++/69797
7072 * c-common.c (sync_resolve_size): Diagnose too few arguments
7073 even when params is non-NULL empty vector.
7074
a011cd92
BS
70752016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7076
7077 PR target/60410
7078 * c.opt (fshort-double): Remove.
7079
46cb9332
MS
70802016-02-05 Martin Sebor <msebor@redhat.com>
7081
7082 PR c++/69662
7083 * c.opt (Warning options): Update -Wplacement-new to take
7084 an optional argument.
7085
e1b81f2b
JJ
70862016-02-01 Jakub Jelinek <jakub@redhat.com>
7087
7088 PR preprocessor/69543
7089 PR c/69558
7090 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7091 instead of loc to control_warning_option.
7092
b6adbb9f
NS
70932016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7094
7095 * c.opt (fopenacc-dim=): New option.
7096
5d70666e
RB
70972016-01-27 Ryan Burn <contact@rnburn.com>
7098
7099 PR cilkplus/69267
7100 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7101 gimplify_arg. Removed superfluous post_p argument.
7102 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7103 superfluous post_p argument.
7104 * c-gimplify.c (c_gimplify_expr): Likewise.
7105
01e1dea3
DM
71062016-01-26 David Malcolm <dmalcolm@redhat.com>
7107
7108 PR other/69006
7109 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7110 pp_newline_and_flush with pp_flush.
7111
9f04a53e
MS
71122016-01-20 Martin Sebor <msebor@redhat.com>
7113
7114 PR c/69405
7115 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7116 an incompatible argument when the argument isn't a valid tree node.
7117
7f26f7df
JM
71182016-01-18 Jason Merrill <jason@redhat.com>
7119
7120 PR c++/68767
7121 * c-common.c (check_function_arguments_recurse): Fold the whole
7122 COND_EXPR, not just the condition.
7123
f62bf092
TV
71242016-01-18 Tom de Vries <tom@codesourcery.com>
7125
7126 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7127 classify as loop clause.
7128
e0a575ff
JJ
71292016-01-15 Jakub Jelinek <jakub@redhat.com>
7130
7131 PR bootstrap/68271
7132 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7133 C++ FE no longer has limit on number of pragmas.
7134
71352015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7136
7137 PR c++/69048
7138 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7139 to add missing cleanup point.
b6e3db06 7140
c7df95d8
DM
71412016-01-14 David Malcolm <dmalcolm@redhat.com>
7142
7143 PR c++/68819
7144 * c-indentation.c (get_visual_column): Add location_t param.
7145 Handle the column number being zero by effectively disabling the
7146 warning, with an "inform".
7147 (should_warn_for_misleading_indentation): Add location_t argument
7148 for all uses of get_visual_column.
7149
21efdd80
PP
71502016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7151
7152 PR c++/69029
7153 * c-indentation.c (should_warn_for_misleading_indentation):
7154 Don't warn about do-while statements.
7155
7a127fa7
MS
71562016-01-07 Martin Sebor <msebor@redhat.com>
7157
7158 PR c/68966
7159 * c-common.c (sync_resolve_size): Reject first argument when it's
7160 a pointer to _Bool.
7161
c589e975
DM
71622016-01-05 David Malcolm <dmalcolm@redhat.com>
7163
7164 PR c/69122
7165 * c-indentation.c (get_visual_column): Remove default argument.
7166 (should_warn_for_misleading_indentation): For the multiline case,
7167 update call to get_visual_column for next_stmt_exploc so that it
7168 captures the location of the first non-whitespace character in the
7169 relevant line. Don't issue warnings if there is non-whitespace
7170 before the next statement.
7171
818ab71a
JJ
71722016-01-04 Jakub Jelinek <jakub@redhat.com>
7173
7174 Update copyright years.
7175
745e411d
DM
71762015-12-21 David Malcolm <dmalcolm@redhat.com>
7177
7178 * c-common.c (binary_op_error): Convert first param from
7179 location_t to rich_location * and use it when emitting an error.
7180 * c-common.h (binary_op_error): Convert first param from
7181 location_t to rich_location *.
7182
de67c4c3
DM
71832015-12-16 David Malcolm <dmalcolm@redhat.com>
7184
7185 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7186 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7187
4a38b02b
IV
71882015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7189
7190 * c-common.c (c_common_attribute_table): Handle "omp declare target
7191 link" attribute.
7192
54d62f51
JJ
71932015-12-14 Jakub Jelinek <jakub@redhat.com>
7194
7195 PR c/68833
7196 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7197
8d4227c8
TB
71982014-12-12 Tobias Burnus <burnus@net-b.de>
7199
7200 PR fortran/68815
7201 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7202 specifiers (%d, %i,%u and %c).
7203
f6069ccc
DM
72042015-12-10 David Malcolm <dmalcolm@redhat.com>
7205
7206 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7207
63bbf46d
JJ
72082015-12-08 Jakub Jelinek <jakub@redhat.com>
7209
7210 PR c/48088
7211 PR c/68657
7212 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7213 * c-pragma.c (handle_pragma_diagnostic): Adjust
7214 control_warning_option caller.
7215
f79520bb
DM
72162015-12-07 David Malcolm <dmalcolm@redhat.com>
7217
7218 * c-common.c (c_cpp_error): Update for change to
7219 rich_location::set_range.
7220
b3d5bc62
JJ
72212015-12-04 Paolo Bonzini <bonzini@gnu.org>
7222
7223 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7224 shifting 1 out of the sign bit.
7225
72262015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7227
7228 * c-common.c (c_common_attribute_table[]): Update max arguments
7229 count for "simd" attribute.
7230 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7231
6eb4a537
JJ
72322015-12-03 Jakub Jelinek <jakub@redhat.com>
7233
7234 PR preprocessor/57580
7235 * c-ppoutput.c (print): Change printed field to bool.
7236 Move src_file last for smaller padding.
7237 (init_pp_output): Set print.printed to false instead of 0.
7238 (scan_translation_unit): Fix up formatting. Set print.printed
7239 to true after printing something other than newline.
7240 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7241 (maybe_print_line_1): Set print.printed to false instead of 0.
7242 (print_line_1): Likewise.
7243 (do_line_change): Set print.printed to true instead of 1.
7244 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7245 dump_macro): Set print.printed to false after printing newline.
7246
4250754e
JM
72472015-12-02 Jason Merrill <jason@redhat.com>
7248
f479b43d
JM
7249 * c-common.c (fold_for_warn): New.
7250 (warn_logical_operator, warn_tautological_cmp)
7251 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7252
4250754e
JM
7253 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7254 (c_fully_fold_internal, decl_constant_value_for_optimization):
7255 Move to c/c-fold.c.
7256 * c-common.h: Don't declare decl_constant_value_for_optimization.
7257
e9e32ee6
JM
72582015-12-02 Joseph Myers <joseph@codesourcery.com>
7259
7260 PR c/68162
7261 * c-common.h (c_build_qualified_type): Add extra default
7262 arguments.
7263
37d5ad46
JB
72642015-12-01 Julian Brown <julian@codesourcery.com>
7265 Cesar Philippidis <cesar@codesourcery.com>
7266 James Norris <James_Norris@mentor.com>
7267
7268 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7269 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7270 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7271
f07862c7
EB
72722015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7273
7274 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7275 (decl_sloc_common): Delete and move bulk of processing to...
7276 (decl_sloc): ...here.
7277 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7278 (dump_ada_double_name): Remove S parameter and compute the suffix.
7279 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7280 element type and deal with an anonymous one.
7281 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7282 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7283 and remove reference to QUAL_UNION_TYPE.
7284 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7285 (dump_nested_type): ...here. New function extracted from above.
7286 Generate a full declaration for anonymous element type of arrays.
7287 (print_ada_declaration): Really skip anonymous declarations. Remove
7288 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7289 Clean up processing of declarations of array types and objects.
7290 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7291 Remove obsolete code and tidy up.
7292
75c8aac3
JH
72932015-11-29 Jan Hubicka <hubicka@ucw.cz>
7294
7295 PR c/67581
7296 * c-common.c (handle_transparent_union_attribute): Update
7297 also type variants.
7298
b58d3df2
ML
72992015-11-27 Martin Liska <mliska@suse.cz>
7300
7301 PR c++/68312
7302 * array-notation-common.c (cilkplus_extract_an_triplets):
7303 Release vector of vectors.
7304 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7305
89a01fcf
EB
73062015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7307
7308 PR c++/68527
7309 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7310 (print_ada_struct_decl): Likewise.
7311
cc5c5226
IZ
73122015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7313
7314 PR c++/68001
7315 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7316 * cilk.c (recognize_spawn): Determine location in a more precise
7317 way.
7318
269adb9d
JM
73192015-11-19 Jason Merrill <jason@redhat.com>
7320
7321 * c-common.c (shorten_compare): But look through macros from
7322 system headers.
7323
d0eccfcd
JM
73242015-11-18 Jason Merrill <jason@redhat.com>
7325
7326 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7327 non-constant operand comes from a macro.
7328
3e44547c
JM
73292015-11-17 Jason Merrill <jason@redhat.com>
7330
7331 PR bootstrap/68346
7332 * c-common.c (warn_tautological_cmp): Fold before checking for
7333 constants.
7334
0f62c7a0
MP
73352015-11-16 Marek Polacek <polacek@redhat.com>
7336
7337 PR c++/68362
7338 * c-common.c (check_case_bounds): Fold low and high cases.
7339
a868811e
MP
73402015-11-16 Marek Polacek <polacek@redhat.com>
7341
7342 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7343 * c-common.c (c_common_get_alias_set): Likewise.
7344 (handle_visibility_attribute): Likewise.
7345
fff77217
KY
73462015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
7347
7348 * c-common.c (handle_simd_attribute): New.
7349 (struct attribute_spec): Add entry for "simd".
7350 (handle_simd_attribute): New.
7351
269e63b7
KT
73522015-11-13 Kai Tietz <ktietz70@googlemail.com>
7353
7354 * c-lex.c (interpret_float): Use fold_convert.
7355
ebedc9a3
DM
73562015-11-13 David Malcolm <dmalcolm@redhat.com>
7357
7358 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7359 and store it on the result.
7360 * c-opts.c (c_common_init_options): Set
7361 global_dc->colorize_source_p.
7362
6e232ba4
JN
73632015-11-12 James Norris <jnorris@codesourcery.com>
7364 Joseph Myers <joseph@codesourcery.com>
7365
7365279f 7366 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7367 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7368 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7369 PRAGMA_OACC_CLAUSE_LINK.
7370
e78bede6
MP
73712015-11-11 Marek Polacek <polacek@redhat.com>
7372
7373 PR c/68107
7374 PR c++/68266
7375 * c-common.c (valid_array_size_p): New function.
7376 * c-common.h (valid_array_size_p): Declare.
7377
3f8257db 73782015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7379
7380 PR bootstrap/68271
7381 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7382
69f293c9
AM
73832015-11-11 Andrew MacLeod <amacleod@redhat.com>
7384
7385 * array-notation-common.c: Remove unused header files.
7386 * c-ada-spec.c: Likewise.
7387 * c-cilkplus.c: Likewise.
7388 * c-common.c: Likewise.
7389 * c-cppbuiltin.c: Likewise.
7390 * c-dump.c: Likewise.
7391 * c-format.c: Likewise.
7392 * c-gimplify.c: Likewise.
7393 * c-indentation.c: Likewise.
7394 * c-lex.c: Likewise.
7395 * c-omp.c: Likewise.
7396 * c-opts.c: Likewise.
7397 * c-pch.c: Likewise.
7398 * c-ppoutput.c: Likewise.
7399 * c-pragma.c: Likewise.
7400 * c-pretty-print.c: Likewise.
7401 * c-semantics.c: Likewise.
7402 * c-ubsan.c: Likewise.
7403 * cilk.c: Likewise.
7404 * stub-objc.c: Likewise.
7405
3a40d81d
NS
74062015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7407 Cesar Philippidis <cesar@codesourcery.com>
7408 James Norris <jnorris@codesourcery.com>
7409 Julian Brown <julian@codesourcery.com>
7410 Nathan Sidwell <nathan@codesourcery.com>
7411
7412 * c-pragma.c (oacc_pragmas): Add "routine".
7413 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7414
ee45a32d
EB
74152015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7416
7417 * c-common.c (c_common_attributes): Add scalar_storage_order.
7418 (handle_scalar_storage_order_attribute): New function.
7419 * c-pragma.c (global_sso): New variable.
7420 (maybe_apply_pragma_scalar_storage_order): New function.
7421 (handle_pragma_scalar_storage_order): Likewise.
7422 (init_pragma): Register scalar_storage_order.
7423 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7424 * c.opt (Wscalar-storage-order): New warning.
7425 (fsso-struct=): New option.
7426
eb11eb15
MS
74272015-11-08 Martin Sebor <msebor@redhat.com>
7428
7429 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7430
0aad0198
RS
74312015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7432
7433 * c-common.c: Don't undef DEF_BUILTIN.
7434
8a645150
DM
74352015-11-06 David Malcolm <dmalcolm@redhat.com>
7436
7437 * c-common.c (c_cpp_error): Convert parameter from location_t to
7438 rich_location *. Eliminate the "column_override" parameter and
7439 the call to diagnostic_override_column.
7440 Update the "done_lexing" clause to set range 0
7441 on the rich_location, rather than overwriting a location_t.
7442 * c-common.h (c_cpp_error): Convert parameter from location_t to
7443 rich_location *. Eliminate the "column_override" parameter.
7444
7a5e4956
CP
74452015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7446 Thomas Schwinge <thomas@codesourcery.com>
7447 James Norris <jnorris@codesourcery.com>
7448
7449 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7450 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7451 clauses with parallel and kernels and loops.
7452 * c-pragma.h (enum pragma_omp_clause): Add entries for
7453 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7454 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7455 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7456 INDEPENDENT,SEQ}.
7457 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7458
e2f5cc96
MS
74592015-11-05 Martin Sebor <msebor@redhat.com>
7460
7461 PR c++/67942
7462 * c.opt (-Wplacement-new): New option.
7463
e01d41e5
JJ
74642015-11-05 Jakub Jelinek <jakub@redhat.com>
7465
7466 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7467 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7468 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7469 save_expr or create_tmp_var* if TEST is true.
7470 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7471 Don't call add_stmt here.
7472 (struct c_omp_check_loop_iv_data): New type.
7473 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7474 c_omp_check_loop_iv_exprs): New functions.
7475 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7476 distribute.
7477 (c_omp_declare_simd_clauses_to_numbers): Change
7478 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7479 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7480 from numbers to PARM_DECLs.
7481
595278be
MM
74822015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7483
7484 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7485 flag_checking.
7486
3f8257db 74872015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7488
7489 PR c++-common/67882
b3d5bc62
JJ
7490 * c-common.h (fold_offsetof_1): Add argument.
7491 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7492 offsetof expressions that reference elements past the end of
7493 an array.
7494
4bf9e5a8
TS
74952015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7496 Chung-Lin Tang <cltang@codesourcery.com>
7497
7498 * c-pragma.c (oacc_pragmas): Add "atomic".
7499 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7500
3b1661a9
ES
75012015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7502
7503 * c-common.c (handle_target_clones_attribute): New.
7504 (c_common_attribute_table): Add handle_target_clones_attribute.
7505 (handle_always_inline_attribute): Add check on target_clones attribute.
7506 (handle_target_attribute): Ditto.
7507
2adfab87
AM
75082015-10-29 Andrew MacLeod <amacleod@redhat.com>
7509
7510 * array-notation-common.c: Reorder #include's and remove duplicates.
7511 * c-ada-spec.c: Likewise.
7512 * c-cilkplus.c: Likewise.
7513 * c-common.c: Likewise.
7514 * c-cppbuiltin.c: Likewise.
7515 * c-dump.c: Likewise.
7516 * c-format.c: Likewise.
7517 * c-gimplify.c: Likewise.
7518 * c-indentation.c: Likewise.
7519 * c-lex.c: Likewise.
7520 * c-omp.c: Likewise.
7521 * c-opts.c: Likewise.
7522 * c-pch.c: Likewise.
7523 * c-ppoutput.c: Likewise.
7524 * c-pragma.c: Likewise.
7525 * c-pretty-print.c: Likewise.
7526 * c-semantics.c: Likewise.
7527 * c-ubsan.c: Likewise.
7528 * cilk.c: Likewise.
7529 * stub-objc.c: Likewise.
7530
d90ec4f2
JM
75312015-10-28 Jason Merrill <jason@redhat.com>
7532
7533 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7534
88bae6f4
TS
75352015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7536 James Norris <jnorris@codesourcery.com>
7537 Cesar Philippidis <cesar@codesourcery.com>
7538
7539 PR c/64765
7540 PR c/64880
7541 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7542 * c-omp.c (c_oacc_split_loop_clauses): New function.
7543
b1726d6c
MS
75442015-10-21 Martin Sebor <msebor@redhat.com>
7545
7546 PR driver/68043
7547 * c.opt: End each sentence that describes an option with a period.
7548
fa60eeb9
MP
75492015-10-20 Marek Polacek <polacek@redhat.com>
7550
7551 * array-notation-common.c (is_cilkplus_vector_p): Define.
7552 * c-common.h (is_cilkplus_vector_p): Declare.
7553
95979049
MP
75542015-10-20 Marek Polacek <polacek@redhat.com>
7555
7556 * c.opt (std=gnu++11): Do not describe as experimental.
7557 (std=gnu++14): Likewise.
7558
2a9fb712
JM
75592015-10-19 Jason Merrill <jason@redhat.com>
7560
7561 * c-cppbuiltin.c (c_cpp_builtins): Define
7562 __cpp_nontype_template_args.
7563
13b380a3
JM
75642015-10-19 Jason Merrill <jason@redhat.com>
7565
7566 * c-cppbuiltin.c (c_cpp_builtins): Define
7567 __cpp_enumerator_attributes, __cpp_fold_expressions,
7568 __cpp_unicode_characters.
7569
d9a6bd32
JJ
75702015-10-13 Jakub Jelinek <jakub@redhat.com>
7571 Aldy Hernandez <aldyh@redhat.com>
7572
7573 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7574 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7575 (c_define_builtins): Likewise.
7576 * c-common.h (enum c_omp_clause_split): Add
7577 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7578 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7579 (c_finish_omp_for): Add ORIG_DECLV argument.
7580 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7581 201511 instead of 201307.
7582 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7583 OMP_CRITICAL_CLAUSES to it.
7584 (c_finish_omp_ordered): Add CLAUSES argument, set
7585 OMP_ORDERED_CLAUSES to it.
7586 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7587 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7588 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7589 constructs and new OpenMP 4.5 clauses. Clear
7590 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7591 verification code.
7592 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7593 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7594 (enum pragma_omp_clause): Add
7595 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7596 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7597
624d31fe
RS
75982015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7599
7600 * c-lex.c (interpret_float): Use real_equal instead of
7601 REAL_VALUES_EQUAL.
7602
b8fd7909
JM
76032015-10-04 Jason Merrill <jason@redhat.com>
7604
7605 Implement N4514, C++ Extensions for Transactional Memory.
7606 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7607 (c_common_attribute_table): Add transaction_safe_dynamic.
7608 transaction_safe now affects type identity.
7609 (handle_tm_attribute): Handle transaction_safe_dynamic.
7610 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7611 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7612 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7613 (D_TRANSMEM): New.
7614 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7615 * c-pretty-print.c (pp_c_attributes_display): Don't print
7616 transaction_safe in C++.
7617
12651878
MP
76182015-10-02 Marek Polacek <polacek@redhat.com>
7619
7620 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7621
3e3b8d63
MP
76222015-10-02 Marek Polacek <polacek@redhat.com>
7623
7624 PR c/64249
7625 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7626 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7627 * c.opt (Wduplicated-cond): New option.
7628
0d1a8f75
JM
76292015-10-01 Joseph Myers <joseph@codesourcery.com>
7630
7631 * c.opt (std=c11): Do not describe as experimental.
7632 (std=gnu11): Likewise.
7633 (std=iso9899:2011): Likewise.
7634
3e32ee19
NS
76352015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7636
7637 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7638 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7639
974348ee
MP
76402015-09-25 Marek Polacek <polacek@redhat.com>
7641
7642 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7643 (ubsan_instrument_shift): Likewise.
7644
15dbc1a6
MP
76452015-09-25 Marek Polacek <polacek@redhat.com>
7646
7647 PR sanitizer/64906
7648 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7649
6b95d7cc
PP
76502015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7651
7652 * c-indentation.c (should_warn_for_misleading_indentation):
7653 Compare next_stmt_vis_column with guard_line_first_nws instead
7654 of with guard_line_vis_column.
7655
c1822f9c
MLI
76562015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7657
7658 PR c/49654
7659 PR c/49655
7660 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7661 options and options not valid for the current language.
7662
d5398058
PP
76632015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7664
7665 * c-indentation.c (should_warn_for_misleading_indentation):
7666 Float out and consolidate the calls to get_visual_column that
7667 are passed guard_exploc as an argument. Compare
7668 next_stmt_vis_column with guard_line_first_nws instead of with
7669 body_line_first_nws.
7670
6b333269
NS
76712015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7672
7673 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7674 Wnamespaces): New C++ warnings.
7675
a75f1574
JM
76762015-09-22 Jason Merrill <jason@redhat.com>
7677
7678 * c-common.h (abi_compat_version_crosses): New.
7679 (warn_abi_version): Declare.
7680 * c-common.c: Define it.
7681 * c-opts.c (c_common_post_options): Handle it.
7682 flag_abi_compat_version defaults to 8.
7683
bdaaa8b7
VV
76842015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7685
7686 Complete the implementation of N4230, Nested namespace definition.
7687 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7688 __cpp_nested_namespace_definitions.
7689
eaa797e8
MLI
76902015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7691
7692 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7693
c4914de6
MLI
76942015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7695
7696 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7697 when warning.
7698 * c-pragma.h (pragma_lex): Add optional loc argument.
7699
fcb87c50
MM
77002015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7701
7702 * c-format.c (check_format_arg): Adjust to use common block size in all
7703 object pools.
7704
31bdd08a
DM
77052015-09-15 David Malcolm <dmalcolm@redhat.com>
7706
7707 * c-format.c (location_from_offset): Update for change in
7708 signature of location_get_source_line.
7709 * c-indentation.c (get_visual_column): Likewise.
7710 (line_contains_hash_if): Likewise.
7711
aa9f4b4c
MP
77122015-09-14 Marek Polacek <polacek@redhat.com>
7713
7714 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7715 setting various warnings.
7716
aa256c4a
MP
77172015-09-14 Marek Polacek <polacek@redhat.com>
7718
7719 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7720 a negative value.
7721
0f876f22
MW
77222015-09-11 Mark Wielaard <mjw@redhat.com>
7723
7724 PR c/28901
7725 * c.opt (Wunused-variable): Option from common.opt.
7726 (Wunused-const-variable): New option.
7727
273aa49e
PC
77282015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7729
7730 PR c++/53184
7731 * c.opt ([Wsubobject-linkage]): Add.
7732
1807ffc1
MS
77332015-09-03 Martin Sebor <msebor@redhat.com>
7734
7735 PR c/66516
7736 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7737 functions.
7738 * c-common.c (reject_gcc_builtin): Define.
7739
38942840
BI
77402015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
7741
7742 PR middle-end/60586
7743 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7744 prototype.
7745 * c-gimplify.c (c_gimplify_expr): Added a call to the function
7746 cilk_gimplify_call_params_in_spawned_fn.
7747 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7748 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7749 unwrapping.
7750
c316b5e4
MP
77512015-08-25 Marek Polacek <polacek@redhat.com>
7752
7753 PR middle-end/67330
7754 * c-common.c (handle_weak_attribute): Don't check whether the
7755 visibility can be changed here.
7756
584a7c46
MLI
77572015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7758
7759 * c-lex.c (c_lex_with_flags): Use explicit locations.
7760
a79683d5
TS
77612015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
7762
7763 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7764 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7765
61717a45
FXC
77662015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7767
7768 PR middle-end/36757
7769 * c-common.c (check_builtin_function_arguments): Add check
7770 for BUILT_IN_SIGNBIT argument.
7771
329524f5
PC
77722015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
7773
7774 PR c++/67160
7775 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7776 in c++1z mode.
7777
4ee55665
MP
77782015-08-17 Marek Polacek <polacek@redhat.com>
7779
7780 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7781 with whitespaces before qualifier names.
7782
b893e375
MP
77832015-08-12 Marek Polacek <polacek@redhat.com>
7784
7785 PR c++/55095
7786 * c-common.c (maybe_warn_shift_overflow): Properly handle
7787 left-shifting 1 into the sign bit.
7788
c2d89095
MLI
77892015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7790
7791 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7792
971e17ff
AS
77932015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
7794 Braden Obrzut <admin@maniacsvault.net>
7795 Jason Merrill <jason@redhat.com>
7796
7797 Add C++ Concepts TS support.
7798 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7799 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7800 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7801 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7802 * c-opts.c (set_std_cxx1z): Set flag_concepts.
7803 * c.opt (fconcepts): New.
7804
b3d5bc62
JJ
78052015-08-02 Martin Sebor <msebor@redhat.com>
7806
7807 * c.opt (-Wframe-address): New warning option.
7808
8ebca419
PP
78092015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7810
7811 * c-indentation.c (should_warn_for_misleading_indentation):
7812 Improve heuristics.
7813
1a1e101f
PP
78142015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7815
7816 * c-indentation.c (get_visual_column): Add parameter first_nws,
7817 use it. Update comment documenting the function.
7818 (is_first_nonwhitespace_on_line): Remove.
7819 (should_warn_for_misleading_indentation): Replace usage of
7820 of is_first_nonwhitespace_on_line with get_visual_column.
7821
992118a1
PP
78222015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7823
7824 * c-indentation.h (struct token_indent_info): Define.
7825 (get_token_indent_info): Define.
7826 (warn_for_misleading_information): Declare.
7827 * c-common.h (warn_for_misleading_information): Remove.
7828 * c-identation.c (warn_for_misleading_indentation):
7829 Change declaration to take three token_indent_infos. Adjust
7830 accordingly.
7831 * c-identation.c (should_warn_for_misleading_indentation):
7832 Likewise. Bail out early if the body is a compound statement.
7833 (guard_tinfo_to_string): Define.
7834
e8fa3817
JM
78352015-07-30 Jason Merrill <jason@redhat.com>
7836
7837 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7838 '*' for reference decay.
7839
173864e8
MP
78402015-07-30 Marek Polacek <polacek@redhat.com>
7841
7842 * c-common.c (warn_tautological_cmp): Bail for float types.
7843
f2afe6dd
MP
78442015-07-27 Marek Polacek <polacek@redhat.com>
7845
7846 PR bootstrap/67030
7847 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7848
05b28fd6
MP
78492015-07-27 Marek Polacek <polacek@redhat.com>
7850
7851 PR c++/66555
7852 PR c/54979
7853 * c-common.c (find_array_ref_with_const_idx_r): New function.
7854 (warn_tautological_cmp): New function.
7855 * c-common.h (warn_tautological_cmp): Declare.
7856 * c.opt (Wtautological-compare): New option.
7857
5a5062b8
MP
78582015-07-23 Marek Polacek <polacek@redhat.com>
7859
7860 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7861 (ubsan_instrument_shift): Likewise.
7862
dc891fe7
MP
78632015-07-23 Marek Polacek <polacek@redhat.com>
7864
7865 PR sanitizer/66908
7866 * c-ubsan.c: Include gimplify.h.
7867 (ubsan_instrument_division): Unshare OP0 and OP1.
7868 (ubsan_instrument_shift): Likewise.
7869
451b5e48
MP
78702015-07-20 Marek Polacek <polacek@redhat.com>
7871 Richard Sandiford <richard.sandiford@arm.com>
7872
7873 PR c++/55095
7874 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7875 Use EXPR_LOC_OR_LOC.
7876 (maybe_warn_shift_overflow): New function.
7877 * c-common.h (maybe_warn_shift_overflow): Declare.
7878 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7879 * c.opt (Wshift-overflow): New option.
7880
fb0b2914
ML
78812015-07-16 Martin Liska <mliska@suse.cz>
7882
7883 * c-format.c (static void check_format_info_main): Use
7884 object_allocator instead of pool_allocator.
7885 (check_format_arg): Likewise.
7886 (check_format_info_main): Likewise.
7887
903f5c23
AM
78882015-07-15 Andrew MacLeod <amacleod@redhat.com>
7889
7890 * c-opts.c: Remove multiline #include comment.
7891
026c3cfd
AH
78922015-07-12 Aldy Hernandez <aldyh@redhat.com>
7893
7894 * c-common.c: Fix double word typos.
7895
bb49ee66
EB
78962015-07-10 Eric Botcazou <ebotcazou@adacore.com>
7897
7898 * c-ada-spec.h (cpp_operation): Revert latest change.
7899 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
7900 constructors and destructors.
7901
1916bcb5
AM
79022015-07-09 Andrew MacLeod <amacleod@redhat.com>
7903
7904 * c-common.h: Adjust includes for flags.h changes.
7905 * stub-objc.c: Likewise.
026c3cfd 7906
a9dcd529
EB
79072015-07-08 Eric Botcazou <ebotcazou@adacore.com>
7908
7909 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7910 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7911
b03b462f
JJ
79122015-07-08 Jakub Jelinek <jakub@redhat.com>
7913
7914 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7915 are to be removed, return NULL rather than original clauses list.
7916
c7131fb2
AM
79172015-07-07 Andrew MacLeod <amacleod@redhat.com>
7918
7919 * array-notation-common.c: Adjust includes.
7920 * c-ada-spec.c: Likewise.
7921 * c-cilkplus.c: Likewise.
7922 * c-common.h: Likewise.
7923 * c-cppbuiltin.c: Likewise.
7924 * c-dump.c: Likewise.
7925 * c-format.c: Likewise.
7926 * c-gimplify.c: Likewise.
7927 * c-indentation.c: Likewise.
7928 * c-lex.c: Likewise.
7929 * c-omp.c: Likewise.
7930 * c-opts.c: Likewise.
7931 * c-pch.c: Likewise.
7932 * c-ppoutput.c: Likewise.
7933 * c-pragma.c: Likewise.
7934 * c-pretty-print.c: Likewise.
7935 * c-semantics.c: Likewise.
7936 * c-ubsan.c: Likewise.
7937 * cilk.c: Likewise.
7938 * stub-objc.c: Likewise.
7939
2a7fb83f
EB
79402015-07-07 Eric Botcazou <ebotcazou@adacore.com>
7941
7942 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7943 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
7944
a03c9bf1
JM
79452015-07-01 Jason Merrill <jason@redhat.com>
7946
36a85135
JM
7947 * c-common.h (D_CXX11): Rename from D_CXX0X.
7948 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
7949 * c-common.c: Adjust.
7950
e7fa68d5
JM
7951 * c-opts.c (c_common_post_options): Default to C++14.
7952
a03c9bf1
JM
7953 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
7954
fe95b036
ESR
79552015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
7956
7957 Implement N4197 - Adding u8 character literals
b3d5bc62 7958 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 7959 CPP_CHAR.
b3d5bc62 7960 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 7961 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 7962 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
7963 and CPP_UTF8CHAR tokens.
7964 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 7965
da2e71c9
MLI
79662015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7967
7968 PR fortran/66605
7969 * c-common.c (do_warn_unused_parameter): Move here.
7970 * c-common.h (do_warn_unused_parameter): Declare.
7971
b155cfd9
MP
79722015-06-29 Marek Polacek <polacek@redhat.com>
7973
7974 PR c/66322
7975 * c-common.c (check_case_bounds): Add bool * parameter. Set
7976 OUTSIDE_RANGE_P.
7977 (c_add_case_label): Add bool * parameter. Pass it down to
7978 check_case_bounds.
7979 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
7980 warning here.
7981 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
7982 declarations.
7983
31521951
MP
79842015-06-27 Marek Polacek <polacek@redhat.com>
7985
7986 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
7987 or VECTOR_INTEGER_TYPE_P throughout.
7988 * c-gimplify.c: Likewise.
7989
22d03525
MP
79902015-06-26 Marek Polacek <polacek@redhat.com>
7991
7992 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
7993 * c-common.c (c_fully_fold_internal): Likewise.
7994 (c_alignof_expr): Likewise.
7995 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
7996 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 7997 * cilk.c (create_parm_list): Likewise.
22d03525 7998
af05e6e5
MP
79992015-06-26 Marek Polacek <polacek@redhat.com>
8000
8001 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8002
f0889939
AM
80032015-06-25 Andrew MacLeod <amacleod@redhat.com>
8004
8005 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8006 * c-gimplify.c: Likewise.
8007 * c-pragma.c: Likewise.
8008 * c-ubsan.c: Likewise.
8009 * cilk.c: Likewise.
8010
ca752f39
RS
80112015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8012
8013 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8014 ggc_hasher.
8015
16a16ec7
AM
80162015-06-25 Andrew MacLeod <amacleod@redhat.com>
8017
8018 * cilk.c: Move calls.h after tm.h in the include chain.
8019
0ae9bd27
MP
80202015-06-25 Marek Polacek <polacek@redhat.com>
8021
8022 * array-notation-common.c: Use VAR_P throughout.
8023 * c-ada-spec.c: Likewise.
8024 * c-common.c: Likewise.
8025 * c-format.c: Likewise.
8026 * c-gimplify.c: Likewise.
8027 * c-omp.c: Likewise.
8028 * c-pragma.c: Likewise.
8029 * c-pretty-print.c: Likewise.
8030 * cilk.c: Likewise.
8031
62f9079a
MP
80322015-06-25 Marek Polacek <polacek@redhat.com>
8033
8034 * cilk.c (extract_free_variables): Use is_global_var.
8035
0fa16060
RS
80362015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8037
8038 * c-common.c: Don't include target-def.h.
8039
a68ae2e1
MP
80402015-06-23 Marek Polacek <polacek@redhat.com>
8041
8042 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8043 when comparing INTEGER_CSTs.
8044
c6a2f2d9
PMR
80452015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8046
8047 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8048 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8049 (dump_ada_template): Skip partially specialized types.
8050
6b4db501
MM
80512015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8052
8053 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8054 swapping.
8055
abb226c9
AM
80562015-06-17 Andrew MacLeod <amacleod@redhat.com>
8057
8058 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8059 * c-ada-spec.c: Likewise.
8060 * c-cilkplus.c: Likewise.
8061 * c-common.c: Likewise.
8062 * c-common.h: Likewise.
8063 * c-cppbuiltin.c: Likewise.
8064 * c-dump.c: Likewise.
8065 * c-format.c: Likewise.
8066 * c-gimplify.c: Likewise.
8067 * c-indentation.c: Likewise.
8068 * c-lex.c: Likewise.
8069 * c-omp.c: Likewise.
8070 * c-opts.c: Likewise.
8071 * c-pch.c: Likewise.
8072 * c-ppoutput.c: Likewise.
8073 * c-pragma.c: Likewise.
8074 * c-pretty-print.c: Likewise.
8075 * c-semantics.c: Likewise.
8076 * c-ubsan.c: Likewise.
8077 * cilk.c: Likewise.
8078 * stub-objc.c: Likewise.
8079
076fecad
PP
80802015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8081
8082 PR c++/65168
8083 * c-common.c (c_common_truthvalue_conversion): Warn when
8084 converting an address of a reference to a truth value.
8085
13fdf2e2
AM
80862015-06-08 Andrew MacLeod <amacleod@redhat.com>
8087
8088 * array-notation-common.c : Adjust include files.
8089 * c-ada-spec.c : Likewise.
8090 * c-cilkplus.c : Likewise.
8091 * c-common.c : Likewise.
8092 * c-common.h : Likewise.
8093 * c-cppbuiltin.c : Likewise.
8094 * c-dump.c : Likewise.
8095 * c-format.c : Likewise.
8096 * c-gimplify.c : Likewise.
8097 * c-indentation.c : Likewise.
8098 * c-lex.c : Likewise.
8099 * c-omp.c : Likewise.
8100 * c-opts.c : Likewise.
8101 * c-pch.c : Likewise.
8102 * c-ppoutput.c : Likewise.
8103 * c-pragma.c : Likewise.
8104 * c-pretty-print.c : Likewise.
8105 * c-semantics.c : Likewise.
8106 * c-ubsan.c : Likewise.
8107 * cilk.c : Likewise.
8108 * stub-objc.c : Likewise.
8109
a1661b90
MP
81102015-06-08 Marek Polacek <polacek@redhat.com>
8111
8112 PR c/66415
8113 * c-format.c (location_from_offset): Return LOC if LINE is null.
8114
d7438551
AH
81152015-06-05 Aldy Hernandez <aldyh@redhat.com>
8116
8117 * c-common.h (c_parse_final_cleanups): New prototype.
8118 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8119
b3d5bc62
JJ
81202015-06-04 Sriraman Tallam <tmsriram@google.com>
8121
8122 * c-common.c (noplt): New attribute.
8123 (handle_noplt_attribute): New handler.
8124
ecb9f223
AM
81252015-06-04 Andrew MacLeod <amacleod@redhat.com>
8126
8127 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8128 * c-ada-spec.c: Likewise.
8129 * c-cilkplus.c: Likewise.
8130 * c-common.c: Likewise.
8131 * c-common.h: Likewise.
8132 * c-cppbuiltin.c: Likewise.
8133 * c-dump.c: Likewise.
8134 * c-format.c: Likewise.
8135 * c-gimplify.c: Likewise.
8136 * c-indentation.c: Likewise.
8137 * c-lex.c: Likewise.
8138 * c-omp.c: Likewise.
8139 * c-opts.c: Likewise.
8140 * c-pch.c: Likewise.
8141 * c-ppoutput.c: Likewise.
8142 * c-pragma.c: Likewise.
8143 * c-pretty-print.c: Likewise.
8144 * c-semantics.c: Likewise.
8145 * c-ubsan.c: Likewise.
8146 * cilk.c: Likewise.
8147 * stub-objc.c: Likewise.
8148
6ac48155
DM
81492015-06-02 David Malcolm <dmalcolm@redhat.com>
8150
8151 PR c/66220:
8152 * c-indentation.c (should_warn_for_misleading_indentation): Use
8153 expand_location rather than expand_location_to_spelling_point.
8154 Don't warn if the guarding statement is more indented than the
8155 next/body stmts.
8156
773ce42e
DM
81572015-06-02 David Malcolm <dmalcolm@redhat.com>
8158
8159 * c-indentation.c (warn_for_misleading_indentation): Bail out
8160 immediately if -Wmisleading-indentation isn't enabled.
8161
4fef8379
ML
81622015-06-01 Martin Liska <mliska@suse.cz>
8163
8164 * c-format.c (check_format_arg):Use new type-based pool allocator.
8165 (check_format_info_main) Likewise.
8166
1edfb384
EB
81672015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8168
8169 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8170 (has_nontrivial_methods): Likewise.
8171
9677ef52
MP
81722015-05-25 Marek Polacek <polacek@redhat.com>
8173
8174 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8175
fd5c817a
MP
81762015-05-22 Marek Polacek <polacek@redhat.com>
8177
8178 PR c/47043
8179 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8180
a2f45fe6 81812015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8182
8183 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8184 STACK_GROWS_DOWNWARD.
8185
a2f45fe6 81862015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8187
8188 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8189 STACK_GROWS_DOWNWARD rather than if it is defined.
8190
0fee2ac2 81912015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8192
0fee2ac2
MLI
8193 PR c/52952
8194 * c-format.c (location_column_from_byte_offset): New.
8195 (location_from_offset): New.
8196 (struct format_wanted_type): Add offset_loc field.
8197 (check_format_info): Move handling of location for extra arguments
8198 closer to the point of warning.
8199 (check_format_info_main): Pass the result of location_from_offset
8200 to warning_at.
8201 (format_type_warning): Pass the result of location_from_offset
8202 to warning_at.
8203
cf4ef6f7
MP
82042015-05-20 Marek Polacek <polacek@redhat.com>
8205
8206 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8207
3a65ee74
MP
82082015-05-20 Marek Polacek <polacek@redhat.com>
8209
8210 * c-ada-spec.c (dump_sloc): Use DECL_P.
8211
21b634ae
MP
82122015-05-20 Marek Polacek <polacek@redhat.com>
8213
8214 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8215 * c-common.c: Likewise.
8216
0e50b624
DM
82172015-05-19 David Malcolm <dmalcolm@redhat.com>
8218
8219 * c-common.h (fe_file_change): Strengthen param from
8220 const line_map * to const line_map_ordinary *.
8221 (pp_file_change): Likewise.
8222 * c-lex.c (fe_file_change): Likewise.
8223 (cb_define): Use linemap_check_ordinary when invoking
8224 SOURCE_LINE.
8225 (cb_undef): Likewise.
8226 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8227 invoking cb_file_change.
8228 (c_finish_options): Likewise.
8229 (push_command_line_include): Likewise.
8230 (cb_file_change): Strengthen param "new_map" from
8231 const line_map * to const line_map_ordinary *.
8232 * c-ppoutput.c (cb_define): Likewise for local "map".
8233 (pp_file_change): Likewise for param "map" and local "from".
8234
fab27f52
MM
82352015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8236
8237 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8238
2fe1d762
TV
82392015-05-18 Tom de Vries <tom@codesourcery.com>
8240
8241 * c-common.c (build_va_arg_1): New function.
8242 (build_va_arg): Add address operator to va_list operand if necessary.
8243
7a37fa90
MM
82442015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8245
8246 PR c/48956
8247 * c-common.c (int_safely_convertible_to_real_p): Define.
8248 (unsafe_conversion_p): Check conversions involving complex types.
8249 (conversion_warning): Add new warning message for conversions which
8250 discard imaginary component.
8251 * c-common.h: (enum conversion_safety): Add new enumerator for such
8252 conversions.
8253
3aa3c9fc
MP
82542015-05-14 Marek Polacek <polacek@redhat.com>
8255
8256 PR c/66066
8257 PR c/66127
8258 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8259 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8260 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8261 use it. If FOR_INT_CONST, require that all evaluated operands be
8262 INTEGER_CSTs.
8263
c3388e62
DM
82642015-05-12 David Malcolm <dmalcolm@redhat.com>
8265
8266 * c-common.h (warn_for_misleading_indentation): New prototype.
8267 * c-indentation.c: New file.
8268 * c.opt (Wmisleading-indentation): New option.
8269
c7b38fd5
TV
82702015-05-12 Tom de Vries <tom@codesourcery.com>
8271
8272 PR tree-optimization/66010
8273 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8274
381bf11e
JM
82752015-05-09 Jason Merrill <jason@redhat.com>
8276
edff0c06
JM
8277 * c-opts.c (c_common_post_options): Also clear
8278 cpp_opts->cpp_warn_cxx11_compat.
8279
129211bc
JM
8280 * c-common.h (enum cxx_dialect): Add cxx_unset.
8281 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8282 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8283
381bf11e
JM
8284 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8285 (std=gnu++0x): Mark as Undocumented.
8286 (std=gnu++1y): Add deprecated message.
8287
fe191308
JM
82882015-05-08 Jason Merrill <jason@redhat.com>
8289
765189ff
JM
8290 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8291 * c-opts.c: Adjust.
8292
fe191308
JM
8293 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8294
755e528f
MP
82952015-05-08 Marek Polacek <polacek@redhat.com>
8296
8297 PR c/64918
8298 * c.opt (Woverride-init-side-effects): New option.
8299
0173bd2a
MP
83002015-05-07 Marek Polacek <polacek@redhat.com>
8301
8302 PR c/65179
8303 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8304 negative value.
8305 * c.opt (Wshift-negative-value): New option.
8306 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8307 when -Wextra and C99/C++11 mode.
8308
e0f0d3b9
MP
83092015-05-07 Marek Polacek <polacek@redhat.com>
8310 Martin Uecker <uecker@eecs.berkeley.edu>
8311
8312 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8313 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8314
8243e2a9
JM
83152015-05-05 Jason Merrill <jason@redhat.com>
8316
8317 * c.opt (Wterminate): New.
8318
577cd070
MP
83192015-04-30 Marek Polacek <polacek@redhat.com>
8320
8321 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8322 require that the non-constant be of a boolean type.
8323
0373796b
JT
83242015-04-29 Josh Triplett <josh@joshtriplett.org>
8325
e0f0d3b9
MP
8326 * c-common.c (handle_section_attribute): Refactor to reduce
8327 nesting and distinguish between error cases.
0373796b 8328
716c0ba6
MP
83292015-04-29 Marek Polacek <polacek@redhat.com>
8330
8331 PR c/64610
8332 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8333 with 0/1.
8334
8848828b
JJ
83352015-04-29 Jakub Jelinek <jakub@redhat.com>
8336
8337 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8338 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8339 HOST_BITS_PER_WIDE_INT.
8340
ecd0e562
TV
83412015-04-28 Tom de Vries <tom@codesourcery.com>
8342
8343 PR tree-optimization/65887
8344 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8345
2a877204 83462015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 8347 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
8348
8349 * c-ada-spec.c (in_function): Delete.
8350 (dump_generic_ada_node): Do not change in_function and remove the
8351 redundant code dealing with it.
8352 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
8353 (print_ada_methods): Output the static member functions in a nested
8354 package after the regular methods as well as associated renamings.
8355
4853031e
MP
83562015-04-24 Marek Polacek <polacek@redhat.com>
8357
8358 PR c/65830
8359 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8360 and OPT_Wshift_count_overflow.
8361
8c2b7f79
MP
8362 PR c/63357
8363 * c-common.c (warn_logical_operator): Warn if the operands have the
8364 same expressions.
8365
b8787813
MP
83662015-04-24 Marek Polacek <polacek@redhat.com>
8367
8368 PR c/61534
8369 * c-common.c (warn_logical_operator): Bail if either operand comes
8370 from a macro expansion.
8371
8fba1830
BRF
83722015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8373
8374 PR target/55143
8375 * c-common.c (c_default_pointer_mode): Add definition.
8376 * c-common.h (c_default_pointer_mode): Add declaration.
8377
17958621
JJ
83782015-03-11 Jakub Jelinek <jakub@redhat.com>
8379
8380 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8381 on record_builtin_type argument.
8382
7ccb1a11
JJ
83832015-03-10 Jakub Jelinek <jakub@redhat.com>
8384
8385 PR c/65120
8386 * c-common.c (warn_logical_not_parentheses): Don't warn for
8387 !x == 0 or !x != 0.
8388
04fd785e
MP
83892015-03-07 Marek Polacek <polacek@redhat.com>
8390
8391 PR sanitizer/65280
8392 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8393 before trying to figure out whether we have a flexible array member.
8394
a4e26206 83952015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8396 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8397
8398 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8399
0d2489f4
EB
84002015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8401
8402 PR ada/65319
8403 * c-ada-spec.c (print_destructor): Remove obsolete code.
8404
83ed54d7
EB
84052015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8406
8407 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8408 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8409 DECL_TEMPLATE_RESULT emulations.
8410 (dump_ada_template)): Add guard for TYPE_METHODS.
8411
7631f0e2
MP
84122015-02-27 Marek Polacek <polacek@redhat.com>
8413
8414 PR c/65040
8415 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8416
d1783ae5
KT
84172015-02-27 Kai Tietz <ktietz@redhat.com>
8418
8419 PR c/35330
8420 * c-pragma.c (handle_pragma_weak): Do not try to create
8421 weak/alias of declarations not being function, or variable
8422 declarations.
8423
56a9f6bc
TS
84242015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8425
8426 PR libgomp/64625
8427 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8428 Remove macros.
8429 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8430
3d5cb23d
MP
84312015-02-16 Marek Polacek <polacek@redhat.com>
8432
8433 PR c/65066
8434 * c-format.c (check_format_types): Handle null param.
8435
fa008882
MP
84362015-02-13 Marek Polacek <polacek@redhat.com>
8437
8438 PR c/65040
8439 * c-format.c (check_format_types): Don't warn about different
8440 signedness if the original value is in the range of WANTED_TYPE.
8441
785f21af
JM
84422015-02-12 Jason Merrill <jason@redhat.com>
8443
8444 PR c++/64956
8445 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8446 to the current highest version.
8447 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8448
4886ec8e
JJ
84492015-02-04 Jakub Jelinek <jakub@redhat.com>
8450
8451 PR c/64824
8452 PR c/64868
8453 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8454 instead of RDIV_EXPR. Use build_binary_op instead of
8455 build2_loc.
8456
40fecdd6
JM
84572015-01-30 Joseph Myers <joseph@codesourcery.com>
8458
8459 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8460 to pass input_location as first argument.
8461
a0c88d06
TV
84622015-01-23 Tom de Vries <tom@codesourcery.com>
8463
8464 PR libgomp/64672
8465 * c.opt (fopenacc): Mark as LTO option.
8466
1506ae0e
TV
84672015-01-23 Tom de Vries <tom@codesourcery.com>
8468
8469 PR libgomp/64707
8470 * c.opt (fopenmp): Mark as LTO option.
8471
31be63ab
JJ
84722015-01-21 Jakub Jelinek <jakub@redhat.com>
8473
8474 PR c/63307
b1726d6c 8475 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8476 (compare_decls): Fix up formatting.
8477
84782015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8479
8480 PR c/63307
8481 * cilk.c: Include vec.h.
8482 (struct cilk_decls): New structure.
8483 (wrapper_parm_cb): Split this function to...
8484 (fill_decls_vec): ...this...
8485 (create_parm_list): ...and this.
8486 (compare_decls): New function.
8487 (for_local_cb): Remove.
8488 (wrapper_local_cb): Ditto.
8489 (build_wrapper_type): For now first traverse and fill vector of
8490 declarations then sort it and then deal with sorted vector.
8491 (cilk_outline): Ditto.
8492 (declare_one_free_variable): Ditto.
8493
6875457f
JM
84942015-01-21 Jason Merrill <jason@redhat.com>
8495
8496 PR c++/64629
8497 * c-format.c (check_format_arg): Call decl_constant_value.
8498
185c9e56
ML
84992015-01-19 Martin Liska <mliska@suse.cz>
8500
8501 * c-common.c (handle_noicf_attribute): New function.
8502
41dbbb37
TS
85032015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8504 Bernd Schmidt <bernds@codesourcery.com>
8505 James Norris <jnorris@codesourcery.com>
8506 Cesar Philippidis <cesar@codesourcery.com>
8507 Ilmir Usmanov <i.usmanov@samsung.com>
8508 Jakub Jelinek <jakub@redhat.com>
8509
8510 * c.opt (fopenacc): New option.
8511 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8512 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8513 New macros.
8514 * c-common.h (c_finish_oacc_wait): New prototype.
8515 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8516 (c_finish_oacc_wait): New function.
8517 * c-pragma.c (oacc_pragmas): New variable.
8518 (c_pp_lookup_pragma, init_pragma): Handle it.
8519 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8520 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8521 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8522 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8523 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8524 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8525 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8526 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8527 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8528 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8529 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8530 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8531 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8532 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8533 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8534 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8535 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8536 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8537 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8538 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8539 PRAGMA_OACC_CLAUSE_WORKER.
8540
3f8257db 85412015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8542
8543 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8544 for the new option fstack-protector_explicit.
8545 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8546 (handle_stack_protect_attribute): New function.
8547
3f8257db 85482015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8549
8550 * c.opt: New option -Warray-bounds=.
8551
adfac8df
JJ
85522015-01-09 Michael Collison <michael.collison@linaro.org>
8553
8554 * array-notation-common.c: Include hash-set.h, machmode.h,
8555 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8556 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8557 * c-ada-spec.c: Ditto.
8558 * c-cilkplus.c: Ditto.
8559 * c-common.c: Include input.h due to flattening of tree.h.
8560 Define macro GCC_C_COMMON_C.
8561 * c-common.h: Flatten tree.h header files into c-common.h.
8562 Remove include of tree-core.h.
8563 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8564 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8565 fold-const.h, wide-int.h, and inchash.h due to
8566 flattening of tree.h.
8567 * c-dump.c: Ditto.
8568 * c-format.c: Flatten tree.h header files into c-common.h.
8569 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8570 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8571 fold-const.h, wide-int.h, and inchash.h due to
8572 flattening of tree.h.
8573 * c-dump.c: Include hash-set.h, machmode.h,
8574 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8575 fold-const.h, wide-int.h, and inchash.h due to
8576 flattening of tree.h.
8577 * c-format.c: Include hash-set.h, machmode.h,
8578 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8579 fold-const.h, wide-int.h, inchash.h and real.h due to
8580 flattening of tree.h.
8581 * c-gimplify.c: Include hash-set.h, machmode.h,
8582 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8583 fold-const.h, wide-int.h, and inchash.h due to
8584 flattening of tree.h.
8585 * cilk.c: Ditto.
8586 * c-lex.c: Ditto.
8587 * c-omp.c: Ditto.
8588 * c-opts.c: Ditto.
8589 * c-pch.c: Ditto.
8590 * c-ppoutput.c: Ditto.
8591 * c-pragma.c: Ditto.
8592 * c-pretty-print.c: Ditto.
8593 * c-semantics.c: Ditto.
8594 * c-ubsan.c: Ditto.
8595 * stub-objc.c: Ditto.
8596
f5481fc4
JM
85972015-01-08 Jason Merrill <jason@redhat.com>
8598
8599 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8600 do_ubsan_in_current_function.
8601 (ubsan_maybe_instrument_reference_or_call): Likewise.
8602 * c-ubsan.h: Declare it.
8603
de35aa66
MS
86042015-01-08 Mike Stump <mikestump@comcast.net>
8605
8606 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8607
4a9a42ab
MP
86082015-01-07 Marek Polacek <polacek@redhat.com>
8609
8610 PR c/64440
8611 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8612 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8613
2f42e5de
TS
86142015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8615
8616 PR c++/31397
8617 * c.opt (Wsuggest-override): New option.
8618
5624e564
JJ
86192015-01-05 Jakub Jelinek <jakub@redhat.com>
8620
8621 Update copyright years.
8622
5bd012f8
MP
86232015-01-05 Marek Polacek <polacek@redhat.com>
8624
8625 PR c/64423
8626 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8627 parameter. Use it.
8628 * c-common.h (warn_array_subscript_with_type_char): Update
8629 declaration.
8630
a7fa8d18
ESR
86312014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8632
8633 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8634 Control macro with flag_sized_deallocation.
8635
3f8257db 86362014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8637
8638 * c.opt (Wdiscarded-array-qualifiers): New option.
8639
1f8d3e84
JJ
86402014-12-19 Jakub Jelinek <jakub@redhat.com>
8641
8642 PR preprocessor/63831
8643 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8644 and __has_cpp_attribute here.
8645 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8646 c_common_has_attribute.
8647 * c-common.h (c_common_has_attribute): New prototype.
8648 * c-lex.c (init_c_lex): Set cb->has_attribute to
8649 c_common_has_attribute instead of cb_has_attribute.
8650 (get_token_no_padding): New function.
8651 (cb_has_attribute): Renamed to ...
8652 (c_common_has_attribute): ... this. No longer static. Use
8653 get_token_no_padding, require ()s, don't build TREE_LIST
8654 unnecessarily, fix up formatting, adjust diagnostics, call
8655 init_attributes.
8656
20b06add
JM
86572014-12-15 Jason Merrill <jason@redhat.com>
8658
8659 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8660 (-Wsized-deallocation): New.
8661 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8662 to on in C++14 and up.
8663
94a073b2
JM
86642014-12-11 Jason Merrill <jason@redhat.com>
8665
acaa5911
JM
8666 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8667
94a073b2
JM
8668 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8669 we aren't complaining about VLAs.
8670
7fb66c15
MP
86712014-12-06 Marek Polacek <polacek@redhat.com>
8672
8673 PR tree-optimization/64183
8674 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8675 shift-expression if it is integer_type_node. Use types_compatible_p.
8676
b731b390
JJ
86772014-11-29 Jakub Jelinek <jakub@redhat.com>
8678
8679 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8680 last argument from create_tmp_var_raw and create_tmp_var calls.
8681 * cilk.c (gimplify_cilk_spawn): Likewise.
8682 * c-omp.c (c_finish_omp_atomic): Likewise.
8683
6a4da643
MP
86842014-11-28 Marek Polacek <polacek@redhat.com>
8685
8686 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8687 instead of unsigned_type_node.
8688
541e35a6
MP
86892014-11-28 Marek Polacek <polacek@redhat.com>
8690
8691 PR c/63862
8692 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8693 to op1_utype.
8694 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8695 expression to unsigned_type_node.
8696
dcc97066
MW
86972014-11-20 Mark Wielaard <mjw@redhat.com>
8698
8699 PR debug/38757
8700 * c-opts.c (set_std_c89): Set lang_hooks.name.
8701 (set_std_c99): Likewise.
8702 (set_std_c11): Likewise.
8703 (set_std_cxx98): Likewise.
8704 (set_std_cxx11): Likewise.
8705 (set_std_cxx14): Likewise.
8706 (set_std_cxx1z): Likewise.
8707
aa7da51a
JJ
87082014-11-21 Jakub Jelinek <jakub@redhat.com>
8709
8710 PR target/63764
8711 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8712 return type to bool.
009a3480 8713 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8714 (convert_vector_to_pointer_for_subscript): Change return type to
8715 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8716 and copy it into a TARGET_EXPR and use that instead of *vecp
8717 directly.
8718
538dd0b7
DM
87192014-11-19 David Malcolm <dmalcolm@redhat.com>
8720
8721 Merger of git branch "gimple-classes-v2-option-3".
8722 * ChangeLog.gimple-classes: New.
8723 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8724 from being just a vec<gimple> to a vec<gbind *>.
8725
c39a5e99
JJ
87262014-11-18 Jakub Jelinek <jakub@redhat.com>
8727
8728 PR sanitizer/63813
8729 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8730 argument to ptype, set type to TREE_TYPE (ptype). Don't call
8731 get_pointer_alignment for non-pointers. Use ptype, or if it is
8732 reference type, corresponding pointer type, as type of kind
8733 argument.
8734 (ubsan_maybe_instrument_reference,
8735 ubsan_maybe_instrument_member_call): Adjust callers.
8736
8537a4a9
MP
87372014-11-15 Marek Polacek <polacek@redhat.com>
8738
8739 PR middle-end/63884
8740 * array-notation-common.c (is_sec_implicit_index_fn): Return false
8741 for NULL fndecl.
8742 (extract_array_notation_exprs): Return for NULL node.
8743
2079956a
JM
87442014-11-12 Joseph Myers <joseph@codesourcery.com>
8745
8746 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8747 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8748
1304953e
JJ
87492014-11-12 Jakub Jelinek <jakub@redhat.com>
8750
8751 PR c/59708
8752 * c-common.c (check_builtin_function_arguments): Handle
8753 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8754
e5e44252
AK
87552014-11-10 Andi Kleen <ak@linux.intel.com>
8756
8757 PR c/60804
8758 * c-common.h (check_no_cilk): Declare.
8759 * cilk.c (get_error_location): New function.
8760 (check_no_cilk): Dito.
8761
e64b984d
AK
87622014-11-10 Andi Kleen <ak@linux.intel.com>
8763
8764 * cilk.c (recognize_spawn): Use expression location
8765 for error message.
8766
13c21655
PC
87672014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
8768
8769 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8770
42fd12b1
ESR
87712014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
8772
8773 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8774 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8775 (__cpp_range_based_for, __cpp_initializer_lists,
8776 __cpp_delegating_constructors, __cpp_nsdmi,
8777 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8778 for C++11; (__cpp_attribute_deprecated): Remove in favor of
8779 __has_cpp_attribute.
8780 * c-lex.c (cb_has_attribute): New callback CPP function;
8781 (init_c_lex): Set has_attribute callback.
8782
6f450181
RB
87832014-11-04 Richard Biener <rguenther@suse.de>
8784
8785 * c-common.c (shorten_compare): Do not shorten mixed
8786 DFP and non-DFP compares.
8787
26f0e1d6
ESR
87882014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8789
8790 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8791 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8792 Commentary and rearrangement of tests.
8793 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8794 Commentary and rearrangement of tests.
ab20d992 8795 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
8796 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8797
ef4bddc2
RS
87982014-10-29 Richard Sandiford <richard.sandiford@arm.com>
8799
8800 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8801 enum from machine_mode.
8802
c582198b
AM
88032014-10-28 Andrew MacLeod <amacleod@redhat.com>
8804
adfac8df
JJ
8805 * c-common.c: Adjust include files.
8806 * c-gimplify.c: Ditto.
8807 * cilk.c: Ditto.
8808 * c-pragma.c: Ditto.
8809 * c-ubsan.c: Ditto.
c582198b 8810
60393bbc
AM
88112014-10-27 Andrew MacLeod <amacleod@redhat.com>
8812
8813 * c-gimplify.c: Adjust include files.
8814
d723bb7c
MLI
88152014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8816
8817 PR c++/53061
8818 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8819 c_common_initialize_diagnostics.
8820 * c-common.h: Likewise.
8821
90f3520e
MP
88222014-10-24 Marek Polacek <polacek@redhat.com>
8823
8824 PR c/56980
8825 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8826 print "struct"/"union"/"enum" for typedefed names.
8827
59d7607a
MP
88282014-10-23 Marek Polacek <polacek@redhat.com>
8829
8830 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8831 in unsigned type.
8832
d95a2703
JJ
88332014-10-22 Jakub Jelinek <jakub@redhat.com>
8834 Yury Gribov <y.gribov@samsung.com>
8835
8836 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8837 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8838 instead of flag_sanitize_recover as bool flag.
8839
8e6ef852
KY
88402014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
8841
8842 * cilk.c: Revert previous change.
8843
948cf550
IZ
88442014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
8845
8846 PR c/63307
8847 * cilk.c: Include vec.h.
8848 (struct cilk_decls): New structure.
8849 (wrapper_parm_cb): Split this function to...
8850 (fill_decls_vec): ...this...
8851 (create_parm_list): ...and this.
8852 (compare_decls): New function.
8853 (for_local_cb): Remove.
8854 (wrapper_local_cb): Ditto.
8855 (build_wrapper_type): For now first traverse and fill vector of
8856 declarations then sort it and then deal with sorted vector.
8857 (cilk_outline): Ditto.
8858 (declare_one_free_variable): Ditto.
8859
92574c7c
MP
88602014-10-17 Marek Polacek <polacek@redhat.com>
8861
8862 * c-opts.c (c_common_post_options): Set warn_implicit_int.
8863 * c.opt (Wimplicit-int): Initialize to -1.
8864
83685514
AM
88652014-10-16 Andrew MacLeod <amacleod@redhat.com>
8866
8867 * c-pragma.c: Adjust include files.
8868 * c-semantics.c: Likewise.
8869
5b8300ea
DD
88702014-10-16 DJ Delorie <dj@redhat.com>
8871
8872 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8873 multiples of bytes.
8874
5f83e90b
JM
88752014-10-14 Jason Merrill <jason@redhat.com>
8876
8877 PR c++/63455
8878 * c-common.h (CPP_PREPARSED_EXPR): New.
8879 (N_CP_TTYPES): Adjust.
8880
d73326ca
MP
88812014-10-15 Marek Polacek <polacek@redhat.com>
8882
8883 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8884
78a7c317
DD
88852014-10-14 DJ Delorie <dj@redhat.com>
8886
8887 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8888 types, not just __int128.
8889 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8890 types, not just __int128.
8891 (cpp_atomic_builtins): Round pointer sizes up.
8892 (type_suffix): Use type precision, not specific types.
8893 * c-common.c (c_common_reswords): Remove __int128 special case.
8894 (c_common_type_for_size): Check for all __intN types, not just
8895 __int128.
8896 (c_common_type_for_mode): Likewise.
8897 (c_common_signed_or_unsigned_type): Likewise.
8898 (c_build_bitfield_integer_type): Likewise.
8899 (c_common_nodes_and_builtins): Likewise.
8900 (keyword_begins_type_specifier): Likewise.
8901 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8902 __intN variants.
8903
2a22f99c
TS
89042014-10-12 Trevor Saunders <tsaunders@mozilla.com>
8905
8906 * c-common.c: Use hash_table instead of hashtab.
8907
2a8ef767
ESR
89082014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
8909
adfac8df 8910 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
8911 C++11 section.
8912
3c9aabbd
MG
89132014-10-03 Marc Glisse <marc.glisse@inria.fr>
8914
8915 PR c++/54427
8916 PR c++/57198
8917 PR c++/58845
8918 * c-common.c (warn_logical_operator): Punt for vectors.
8919
a15f7cb8
ESR
89202014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8921
8922 Implement SD-6: SG10 Feature Test Recommendations
8923 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8924 macros and the __has_header macro.
8925
8d0cf15e
JM
89262014-09-30 Jason Merrill <jason@redhat.com>
8927
dd5d5481
JM
8928 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8929 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8930 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8931
b752325e
JM
8932 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8933 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8934
8d0cf15e
JM
8935 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8936 * c-common.c (c_common_reswords): Remove __is_convertible_to.
8937
083e891e
MP
89382014-09-24 Marek Polacek <polacek@redhat.com>
8939
8940 PR c/61405
8941 PR c/53874
8942 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8943
7861b648
AK
89442014-09-23 Andi Kleen <ak@linux.intel.com>
8945
8946 * c-common.c (handle_no_reorder_attribute): New function.
8947 (c_common_attribute_table): Add no_reorder attribute.
8948
9a79452d
JM
89492014-09-22 Joseph Myers <joseph@codesourcery.com>
8950
8951 * c-cppbuiltin.c (c_cpp_builtins): Define
8952 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
8953 modes.
8954
dd69f047
JM
89552014-09-18 Joseph Myers <joseph@codesourcery.com>
8956
8957 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
8958 for supported floating-point modes.
8959
737a4826
MLI
89602014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8961
8962 * c.opt (Wpsabi): Use LangEnabledBy.
8963 * c-opts.c (c_common_handle_option): Do not handle here.
8964
8cc4b7a2
JM
89652014-09-12 Joseph Myers <joseph@codesourcery.com>
8966
8967 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
8968 macros for floating-point modes.
8969
179b5a55
MG
89702014-09-11 Marc Glisse <marc.glisse@inria.fr>
8971
8972 PR target/58757
8973 * c-cppbuiltin.c (builtin_define_float_constants): Correct
8974 __*_DENORM_MIN__ without denormals.
8975
570a11fe
JJ
89762014-09-10 Jakub Jelinek <jakub@redhat.com>
8977
8978 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8979 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8980 ubsan_create_data callers.
8981 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
8982 index is constant or BIT_AND_EXPR with constant mask and is
8983 small enough for the bound.
8984 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
8985 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
8986
b559c810
MLI
89872014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8988
8989 * c.opt: Add CppReason to various flags.
8990 (Wdate-time): Re-sort.
8991 * c-common.c: Include c-common.h earlier.
8992 (struct reason_option_codes_t): Delete.
8993 (c_option_controlling_cpp_error): Prefix global type and struct
8994 with cpp_.
8995
1ef33fd4
MLI
89962014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8997
8998 * c.opt (Wnormalized): New.
8999 (Wnormalized=): Use Enum and Reject Negative.
9000 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9001
66bb34c0
JM
90022014-09-08 Joseph Myers <joseph@codesourcery.com>
9003
9004 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9005 digits of floating-point modes if -fbuilding-libgcc.
9006
53d68b9f
JM
90072014-09-05 Joseph Myers <joseph@codesourcery.com>
9008
9009 * c-cppbuiltin.c (c_cpp_builtins): Also define
9010 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9011 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9012 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9013 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9014 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9015 __LIBGCC_STACK_GROWS_DOWNWARD__,
9016 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9017 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9018 __LIBGCC_DWARF_FRAME_REGISTERS__,
9019 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9020 __LIBGCC_STACK_POINTER_REGNUM__ and
9021 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9022 (builtin_define_with_value): Handle backslash-escaping in string
9023 macro values.
9024
f65586dc
RB
90252014-09-05 Richard Biener <rguenther@suse.de>
9026
9027 PR middle-end/63148
9028 * c-format.c (check_format_arg): Properly handle
9029 effectively signed POINTER_PLUS_EXPR offset.
9030
2b71f4a4
MLI
90312014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9032
9033 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9034 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9035 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9036 and Init.
9037 * c-opts.c (c_common_handle_option): Do not handle here.
9038 (sanitize_cpp_opts): Likewise.
9039 * c-common.c (struct reason_option_codes_t): Handle
9040 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9041
d2e4feca
MP
90422014-09-03 Marek Polacek <polacek@redhat.com>
9043
9044 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9045
9a771876
JJ
90462014-09-02 Jakub Jelinek <jakub@redhat.com>
9047 Balaji V. Iyer <balaji.v.iyer@intel.com>
9048 Igor Zamyatin <igor.zamyatin@intel.com>
9049
9050 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9051 * c-common.c (c_common_reswords): Added _Cilk_for.
9052 * c-common.h (enum rid): Added RID_CILK_FOR.
9053 (cilk_for_number_of_iterations): Add declaration.
9054 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9055 CILK_FOR.
9056 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9057 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9058
81b5d104
MLI
90592014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9060
9061 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9062 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9063 Wundef): Use CPP, Var and Init.
9064 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9065
b753b37b
MLI
90662014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9067
9068 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9069 * c-opts.c (c_common_handle_option): Do not handle here.
9070
028aee17
JM
90712014-08-25 Jason Merrill <jason@redhat.com>
9072
9073 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9074 -std=c++14 and -std=gnu++14, rather than the reverse.
9075 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9076 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9077 * c-common.h (cxx_dialect): Remove cxx1y.
9078
e4276ba5
ESR
90792014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9080
9081 * c-common.h (enum cxx_dialect): Add cxx14.
9082 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9083 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9084 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9085
a545cacd
JM
90862014-08-22 Jason Merrill <jason@redhat.com>
9087
9088 * c.opt (std=gnu++17): Fix alias.
9089
59ea0364
MP
90902014-08-22 Marek Polacek <polacek@redhat.com>
9091
9092 PR c++/62199
9093 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9094 check for vector types. Drop LHS argument.
9095 * c-common.h (warn_logical_not_parentheses): Adjust.
9096
596e808c
MLI
90972014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9098
9099 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9100 (Wmultichar): Likewise.
9101 (Wdate-time): Use C-family languages instead of Common. Use CPP
9102 and Var.
9103 * c-opts.c (c_common_handle_option): Do not handle the above
9104 options here.
9105 (sanitize_cpp_opts): Likewise.
9106
18767f65
MLI
91072014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9108
9109 PR fortran/44054
9110 * c-opts.c: Include tree-diagnostics.h.
9111 (c_diagnostic_finalizer): New.
9112 (c_common_initialize_diagnostics): Use it.
9113
b4413594
MLI
91142014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9115
9116 PR preprocessor/51303
9117 * c-common.c (struct reason_option_codes_t option_codes):
9118 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9119
43f9a13c
MLI
91202014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9121
9122 PR c/60975
9123 PR c/53063
9124 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9125 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9126 (c_common_post_options): Call init_global_opts_from_cpp.
9127 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9128
04159acf
MP
91292014-08-19 Marek Polacek <polacek@redhat.com>
9130
9131 PR c++/62153
9132 * c-common.c (maybe_warn_bool_compare): New function.
9133 * c-common.h (maybe_warn_bool_compare): Declare.
9134 * c.opt (Wbool-compare): New option.
9135
35aff4fb
MP
91362014-08-19 Marek Polacek <polacek@redhat.com>
9137
9138 * c.opt (Wc99-c11-compat): New option.
9139
177cce46
MP
91402014-08-19 Marek Polacek <polacek@redhat.com>
9141
9142 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9143 to warn_c90_c99_compat.
9144 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9145 to -1.
9146
6ae9194f
MLI
91472014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9148 Steven Bosscher <steven@gcc.gnu.org>
9149
9150 PR c/52952
9151 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9152 format_check_results.
9153 (check_function_format): Use true and add comment for boolean
9154 argument.
9155 (finish_dollar_format_checking): Use explicit location when warning.
9156 (check_format_info): Likewise.
9157 (check_format_arg): Set extra_arg_loc and format_string_loc.
9158 (check_format_info_main): Use explicit location when warning.
9159 (check_format_types): Pass explicit location.
9160 (format_type_warning): Likewise.
9161
8e54f6d3
MLI
91622014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9163
9164 PR fortran/44054
9165 * c-format.c: Handle Fortran flags.
9166
cd4e76fc
IZ
91672014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9168
9169 PR other/61962
9170 * array-notation-common.c (find_rank): Added handling for other
9171 types of references.
9172
f3bede71
MP
91732014-08-10 Marek Polacek <polacek@redhat.com>
9174
9175 PR c/51849
9176 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9177 * c.opt (Wc90-c99-compat): Add option.
9178
9f25a338
TS
91792014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9180
9181 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9182
62e4eb35
MP
91832014-08-03 Marek Polacek <polacek@redhat.com>
9184
ab20d992 9185 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9186 (c_add_case_label): Pass loc to check_case_value.
9187
b787e7a2
TS
91882014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9189
9190 * cilk.c: Use hash_map instead of pointer_map.
9191
6e2830c3
TS
91922014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9193
9194 * c-gimplify.c: Use hash_set instead of pointer_set.
9195
a7ee52fb
IZ
91962014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9197
9198 PR middle-end/61455
9199 * array-notation-common.c (extract_array_notation_exprs): Handling
9200 of DECL_EXPR added.
9201
944fa280
JJ
92022014-08-01 Jakub Jelinek <jakub@redhat.com>
9203
9204 * c-common.h (min_align_of_type): Removed prototype.
9205 * c-common.c (min_align_of_type): Removed.
9206 * c-ubsan.h (ubsan_maybe_instrument_reference,
9207 ubsan_maybe_instrument_member_call): New prototypes.
9208 * c-ubsan.c: Include stor-layout.h and builtins.h.
9209 (ubsan_maybe_instrument_reference_or_call,
9210 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9211 functions.
9212
b4dfdc11
MG
92132014-07-31 Marc Glisse <marc.glisse@inria.fr>
9214
9215 PR c++/60517
9216 * c.opt (-Wreturn-local-addr): Move to common.opt.
9217
a41844e5
JM
92182014-07-30 Jason Merrill <jason@redhat.com>
9219
9220 PR c++/61659
9221 PR c++/61687
9222 Revert:
9223 * c.opt (-fuse-all-virtuals): New.
9224
976d5a22
TT
92252014-07-30 Tom Tromey <tromey@redhat.com>
9226
9227 PR c/59855
9228 * c.opt (Wdesignated-init): New option.
9229 * c-common.c (c_common_attribute_table): Add "designated_init".
9230 (handle_designated_init): New function.
9231
cdc94aca
MP
92322014-07-24 Marek Polacek <polacek@redhat.com>
9233
9234 PR c/57653
9235 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9236
f41373b6
DS
92372014-07-16 Dodji Seketeli <dodji@redhat.com>
9238
9239 PR preprocessor/60723 - missing system-ness marks for macro tokens
9240 * c-ppoutput.c (struct print::prev_was_system_token): New data
9241 member.
9242 (init_pp_output): Initialize it.
9243 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9244 (do_line_change): Return a flag saying if a line marker was
9245 emitted or not.
9246 (scan_translation_unit): Detect if the system-ness of the token we
9247 are about to emit is different from the one of the previously
9248 emitted token. If so, emit a line marker. Avoid emitting useless
9249 adjacent line markers. Avoid emitting line markers for tokens
9250 originating from the expansion of built-in macros.
9251 (scan_translation_unit_directives_only): Adjust.
9252
4d661eaa
MP
92532014-07-15 Marek Polacek <polacek@redhat.com>
9254
9255 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9256 TYPE_MAX_VALUE is NULL.
9257
b108f48f
JJ
92582014-07-14 Jakub Jelinek <jakub@redhat.com>
9259
9260 PR middle-end/61294
9261 * c.opt (Wmemset-transposed-args): New warning.
9262
c0221884
JM
92632014-07-10 Jason Merrill <jason@redhat.com>
9264
9265 PR c++/61659
9266 PR c++/61687
9267 * c.opt (-fuse-all-virtuals): New.
9268
63dfbb95
RB
92692014-07-09 Richard Biener <rguenther@suse.de>
9270
9271 PR c-family/61741
9272 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9273 using unsigned arithmetic if overflow does not wrap instead of
9274 if overflow is undefined.
9275
773ec47f
MP
92762014-07-06 Marek Polacek <polacek@redhat.com>
9277
9278 PR c/6940
9279 * c.opt (Wsizeof-array-argument): New option.
9280
00a7ba58
JJ
92812014-07-03 Jakub Jelinek <jakub@redhat.com>
9282
b1726d6c 9283 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9284 comments->count <= 1, as comments->entries might be NULL.
9285
52ec0ea3
MP
92862014-07-01 Marek Polacek <polacek@redhat.com>
9287
9288 * c.opt (Wint-conversion): New option.
9289
d5c3d343
MP
92902014-07-01 Marek Polacek <polacek@redhat.com>
9291
9292 PR c/58286
9293 * c.opt (Wincompatible-pointer-types): New option.
9294
6e7ceb17
PC
92952014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9296
9297 PR c++/51400
9298 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9299 Do not discard TYPE_QUALS of type.
9300
da73100b
JM
93012014-06-26 Jason Merrill <jason@redhat.com>
9302
9303 * c-common.h (enum cxx_dialect): Add cxx1z.
9304 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9305 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9306
08eedf75
TJ
93072014-06-26 Teresa Johnson <tejohnson@google.com>
9308
9309 * c-common.h (get_dump_info): Declare.
9310 * c-gimplify.c (c_genericize): Use saved dump files.
9311 * c-opts.c (c_common_parse_file): Begin and end dumps
9312 once around parsing invocation.
9313 (get_dump_info): New function.
9314
7b56b2f8
MP
93152014-06-23 Marek Polacek <polacek@redhat.com>
9316 Andrew MacLeod <amacleod@redhat.com>
9317
9318 PR c/61553
9319 * c-common.c (get_atomic_generic_size): Don't segfault if the
9320 type doesn't have a size.
9321
0e37a2f3
MP
93222014-06-20 Marek Polacek <polacek@redhat.com>
9323
9324 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9325 (ubsan_walk_array_refs_r): New function.
9326 (c_genericize): Instrument array bounds.
9327 * c-ubsan.c: Include "internal-fn.h".
9328 (ubsan_instrument_division): Mark instrumented arrays as having
9329 side effects. Adjust ubsan_type_descriptor call.
9330 (ubsan_instrument_shift): Likewise.
9331 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9332 (ubsan_instrument_bounds): New function.
9333 (ubsan_array_ref_instrumented_p): New function.
9334 (ubsan_maybe_instrument_array_ref): New function.
9335 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9336 (ubsan_array_ref_instrumented_p): Declare.
9337 (ubsan_maybe_instrument_array_ref): Declare.
9338
93392014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9340
9341 PR lto/61123
9342 * c.opt (fshort-enums): Add to LTO.
9343 * c.opt (fshort-wchar): Likewise.
9344
5c3d09f7
MP
93452014-06-16 Marek Polacek <polacek@redhat.com>
9346
9347 PR c/60439
9348 * c.opt (Wswitch-bool): Add Var.
9349
9cf32741
JJ
93502014-06-12 Jakub Jelinek <jakub@redhat.com>
9351
9352 PR middle-end/61486
9353 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9354 #pragma omp target teams or
9355 #pragma omp {,target }teams distribute simd.
9356
62984918
JM
93572014-06-12 Jason Merrill <jason@redhat.com>
9358
9359 * c.opt (Wabi=, fabi-compat-version): New.
9360 * c-opts.c (c_common_handle_option): Handle -Wabi=.
9361 (c_common_post_options): Handle flag_abi_compat_version default.
9362 Disallow -fabi-compat-version=1.
9363 * c-common.h (abi_version_crosses): New.
9364
f961457f
JH
93652014-06-11 Jan Hubicka <hubicka@ucw.cz>
9366
adfac8df 9367 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9368 section names that are no longer trees.
9369
92d28cbb
JJ
93702014-06-10 Jakub Jelinek <jakub@redhat.com>
9371
9372 PR fortran/60928
9373 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9374 (omp_pragmas): ... back here.
9375
742938c9
MP
93762014-06-05 Marek Polacek <polacek@redhat.com>
9377
9378 PR c/49706
9379 * c-common.c (warn_logical_not_parentheses): New function.
9380 * c-common.h (warn_logical_not_parentheses): Declare.
9381 * c.opt (Wlogical-not-parentheses): New option.
9382
9d548dfb
MP
93832014-06-04 Marek Polacek <polacek@redhat.com>
9384
9385 PR c/30020
9386 * c-common.c (check_case_bounds): Add location parameter.
9387 Use it.
9388 (c_add_case_label): Pass loc to check_case_bounds.
9389
fedfecef
MP
93902014-06-03 Marek Polacek <polacek@redhat.com>
9391
9392 PR c/60439
9393 * c.opt (Wswitch-bool): New option.
9394
f6a7cffc
TS
93952014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9396
040d18b6
TS
9397 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9398 Remove prototypes.
9399 (record_types_used_by_current_var_decl): Move prototype to where
9400 it belongs.
9401
f6a7cffc
TS
9402 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9403 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9404 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9405
632f2871
RS
94062014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9407
9408 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9409 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9410 void_zero_node.
9411 * c-pretty-print.c (pp_c_void_constant): New function.
9412 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9413 (c_pretty_printer::expression): Handle VOID_CST.
9414 * cilk.c (extract_free_variables): Likewise.
9415 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9416 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9417
766090c2
TS
94182014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9419
9420 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9421 * c-pragma.c (push_alignment): Adjust.
9422 (handle_pragma_push_options): Likewise.
9423
661a0813
MP
94242014-05-09 Marek Polacek <polacek@redhat.com>
9425
9426 PR c/50459
9427 * c-common.c (check_user_alignment): Return -1 if alignment is error
9428 node.
9429 (handle_aligned_attribute): Don't call default_conversion on
9430 FUNCTION_DECLs.
9431 (handle_vector_size_attribute): Likewise.
9432 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9433 (handle_sentinel_attribute): Call default_conversion and allow even
9434 integral types as an argument.
9435
2793eeab
MP
94362014-05-08 Marek Polacek <polacek@redhat.com>
9437
9438 PR c/61053
9439 * c-common.c (min_align_of_type): New function factored out from...
9440 (c_sizeof_or_alignof_type): ...here.
9441 * c-common.h (min_align_of_type): Declare.
9442
f827930a
MP
94432014-05-08 Marek Polacek <polacek@redhat.com>
9444
9445 PR c/61077
9446 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9447 parameter type of main.
9448
ca49b74e
DD
94492014-05-07 DJ Delorie <dj@redhat.com>
9450
9451 * c-cppbuiltin.c (print_bits_of_hex): New.
9452 (builtin_define_type_minmax): Print values using hex so as not to
9453 require a pre-computed list of string values.
9454
1d60af08
KZ
94552014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9456 Mike Stump <mikestump@comcast.net>
9457 Richard Sandiford <rdsandiford@googlemail.com>
9458
9459 * c-ada-spec.c: Include wide-int.h.
9460 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9461 (dump_generic_ada_node): Use wide-int interfaces.
9462 * c-common.c: Include wide-int-print.h.
9463 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9464 (pointer_int_sum): Use wide-int interfaces.
9465 (c_common_nodes_and_builtins): Use make_int_cst.
9466 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9467 (handle_alloc_size_attribute): Use wide-int interfaces.
9468 (get_nonnull_operand): Likewise.
9469 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9470 * c-lex.c: Include wide-int.h.
9471 (narrowest_unsigned_type): Take a widest_int rather than two
9472 HOST_WIDE_INTs.
9473 (narrowest_signed_type): Likewise.
9474 (interpret_integer): Update accordingly. Use wide-int interfaces.
9475 (lex_charconst): Use wide-int interfaces.
9476 * c-pretty-print.c: Include wide-int.h.
9477 (pp_c_integer_constant): Use wide-int interfaces.
9478 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9479 INT_CST_LT_UNSIGNED.
9480
b15458be
RB
94812014-05-06 Richard Biener <rguenther@suse.de>
9482
9483 * c-opts.c (c_common_post_options): For -freestanding,
9484 -fno-hosted and -fno-builtin disable pattern recognition
9485 if not enabled explicitely.
9486
6577374e
MP
94872014-05-02 Marek Polacek <polacek@redhat.com>
9488
9489 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9490
d00887e8
MP
94912014-05-01 Marek Polacek <polacek@redhat.com>
9492
9493 PR c/43245
9494 * c.opt (Wdiscarded-qualifiers): Add.
9495
f8ed5150
MP
94962014-04-30 Marek Polacek <polacek@redhat.com>
9497
9498 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9499 INT_MIN / -1 sanitization only for integer types.
9500
45484dcf
MP
95012014-04-25 Marek Polacek <polacek@redhat.com>
9502
9503 PR c/18079
9504 * c-common.c (handle_noinline_attribute): Warn if the attribute
9505 conflicts with always_inline attribute.
9506 (handle_always_inline_attribute): Warn if the attribute conflicts
9507 with noinline attribute.
9508
38e514c0
MP
95092014-04-25 Marek Polacek <polacek@redhat.com>
9510
9511 PR c/60156
9512 * c-common.c (check_main_parameter_types): Warn about variadic main.
9513
44875f92
MS
95142014-04-24 Mike Stump <mikestump@comcast.net>
9515
9516 * c.opt (Wshadow-ivar): Default to on.
9517
dcaaa5a0
DP
95182014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9519
9520 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9521
c07d7c02
MP
95222014-04-23 Marek Polacek <polacek@redhat.com>
9523
9524 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9525
1c33c9b7
JJ
95262014-04-22 Jakub Jelinek <jakub@redhat.com>
9527
9528 PR sanitizer/60275
9529 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9530 if flag_sanitize_undefined_trap_on_error.
9531 (ubsan_instrument_division, ubsan_instrument_shift,
9532 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9533 if !flag_sanitize_recover.
9534
793c625f
MG
95352014-04-22 Marc Glisse <marc.glisse@inria.fr>
9536
9537 PR libstdc++/43622
9538 * c-common.c (registered_builtin_types): Make non-static.
9539 * c-common.h (registered_builtin_types): Declare.
9540
b0f1bf36 95412014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9542 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9543
9544 PR c/60819
9545 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9546 apply may-alias the scalar pointer type when applicable.
9547
3b07fa4a
IZ
95482014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9549
9550 PR middle-end/60467
9551 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9552 as possible argument for Cilk_spawn.
9553
cbbd2b1c
TB
95542014-04-11 Tobias Burnus <burnus@net-b.de>
9555
9556 PR c/60194
9557 * c.opt (Wformat-signedness): Add
9558 * c-format.c(check_format_types): Use it.
9559
6415bd5d
JM
95602014-04-11 Jason Merrill <jason@redhat.com>
9561
9562 PR c++/57926
9563 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9564 default_conversion for an array argument.
9565
6525783a
MP
95662014-04-08 Marek Polacek <polacek@redhat.com>
9567
9568 PR sanitizer/60745
9569 * c-ubsan.c: Include asan.h.
9570 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9571
880a467b
NS
95722014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9573
9574 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9575
7b59ff2d
MP
95762014-04-02 Marek Polacek <polacek@redhat.com>
9577
9578 * c-common.h (c_expand_expr): Remove declaration.
9579
8edbfaa6
JJ
95802014-03-28 Jakub Jelinek <jakub@redhat.com>
9581
9582 PR c++/60689
9583 * c-common.c (add_atomic_size_parameter): When creating new
9584 params vector, push the size argument first.
9585
07d72e1d
JJ
95862014-03-26 Jakub Jelinek <jakub@redhat.com>
9587
9588 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9589 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9590 ubsan_create_data callers.
9591
b35e0fa0
JJ
95922014-03-22 Jakub Jelinek <jakub@redhat.com>
9593
9594 PR debug/60603
9595 * c-opts.c (c_finish_options): Restore cb_file_change call to
9596 <built-in>.
9597
39a1ebb3
JJ
95982014-03-13 Jakub Jelinek <jakub@redhat.com>
9599
9600 PR middle-end/36282
9601 * c-pragma.c (apply_pragma_weak): Only look at
9602 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9603 DECL_ASSEMBLER_NAME_SET_P (decl).
9604 (maybe_apply_pending_pragma_weaks): Exit early if
9605 vec_safe_is_empty (pending_weaks) rather than only when
9606 !pending_weaks.
9607 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9608 set assembler name back to NULL afterwards.
9609
a07f6ed2
JM
96102014-03-11 Jason Merrill <jason@redhat.com>
9611
9612 * c.opt: Add -std=gnu++14.
9613
75b107f5
IB
96142014-03-11 Ian Bolton <ian.bolton@arm.com>
9615
9616 * c-opts.c (c_common_post_options): Don't override
9617 -ffp-contract=fast if unsafe-math-optimizations is on.
9618
f42c637e
PM
96192014-03-08 Paulo Matos <paulo@matos-sorge.com>
9620
22b15758 9621 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9622
70e24808
JM
96232014-03-07 Jason Merrill <jason@redhat.com>
9624
9625 * c.opt: Add -std=c++14.
9626
3af9c5e9
MP
96272014-03-06 Marek Polacek <polacek@redhat.com>
9628
9629 PR c/60197
9630 * cilk.c (contains_cilk_spawn_stmt): New function.
9631 (contains_cilk_spawn_stmt_walker): Likewise.
9632 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9633 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9634
b3bdf019
JJ
96352014-03-03 Jakub Jelinek <jakub@redhat.com>
9636
9637 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9638 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9639 even when flag_preprocess_only.
9640
ca7e759d
JM
96412014-02-26 Jason Merrill <jason@redhat.com>
9642
9643 PR c++/59231
9644 PR c++/11586
9645 * c-common.c (shorten_compare): Don't check
9646 c_inhibit_evaluation_warnings.
9647
28e41874
JJ
96482014-02-19 Jakub Jelinek <jakub@redhat.com>
9649
cca615af
JJ
9650 PR c/37743
9651 * c-common.c (c_common_nodes_and_builtins): When initializing
9652 c_uint{16,32,64}_type_node, also set corresponding
9653 uint{16,32,64}_type_node to the same value.
9654
28e41874
JJ
9655 PR c++/60267
9656 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9657 for PRAGMA_IVDEP if flag_preprocess_only.
9658
c2bf53a1
JJ
96592014-02-12 Jakub Jelinek <jakub@redhat.com>
9660
9661 PR c/60101
9662 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9663 if false, add ADD itself, rather than vice versa.
9664 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9665 copy. For SAVE_EXPR, only call merge_tlist once.
9666
8fcbce72
JJ
96672014-02-08 Jakub Jelinek <jakub@redhat.com>
9668
9669 PR middle-end/60092
9670 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9671 and tree_to_uhwi.
9672 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9673 functions.
9674 (c_common_attribute_table): Add alloc_align and assume_aligned
9675 attributes.
9676
0a756a3f
MP
96772014-02-06 Marek Polacek <polacek@redhat.com>
9678
9679 PR c/60087
9680 * c-common.c (warn_for_sign_compare): Call warning_at with location
9681 instead of warning.
9682
7ec4847a
MP
96832014-02-05 Marek Polacek <polacek@redhat.com>
9684
9685 PR c/53123
9686 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9687 statement.
9688
66f20604
MP
96892014-02-04 Marek Polacek <polacek@redhat.com>
9690
9691 PR c/60036
9692 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9693 SAVE_EXPR.
9694
5d77fb19
MG
96952014-02-03 Marc Glisse <marc.glisse@inria.fr>
9696
9697 PR c++/53017
9698 PR c++/59211
9699 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9700 handle_vector_size_attribute, handle_nonnull_attribute): Call
9701 default_conversion on the attribute argument.
9702 (handle_nonnull_attribute): Increment the argument number.
9703
81e5eca8
MP
97042014-01-31 Marek Polacek <polacek@redhat.com>
9705
9706 PR c/59963
9707 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9708 build_function_call_vec.
9709 (resolve_overloaded_builtin): Likewise.
9710 * c-common.h (build_function_call_vec): Adjust declaration.
9711
68fca595
MP
97122014-01-30 Marek Polacek <polacek@redhat.com>
9713
9714 PR c/59940
9715 * c-common.h (unsafe_conversion_p): Adjust declaration.
9716 (warnings_for_convert_and_check): Likewise.
9717 (convert_and_check): Likewise.
9718 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9719 expansion_point_location_if_in_system_header on it.
9720 (warnings_for_convert_and_check): Add location parameter. Call
9721 expansion_point_location_if_in_system_header on it. Use it.
9722 (convert_and_check): Add location parameter. Use it.
9723 (conversion_warning): Likewise.
9724 (c_add_case_label): Adjust convert_and_check calls.
9725 (scalar_to_vector): Adjust unsafe_conversion_p calls.
9726
b72271b9
BI
97272014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9728
9729 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9730 flag_cilkplus.
9731 * c-pragma.c (init_pragma): Likewise.
9732 * c.opt: Likewise.
9733
393e8e8b
MP
97342014-01-23 Marek Polacek <polacek@redhat.com>
9735
9736 PR c/59846
9737 * c-common.c (shorten_compare): Add location_t parameter.
9738 * c-common.h (shorten_binary_op): Adjust declaration.
9739
f04dda30
MP
97402014-01-23 Marek Polacek <polacek@redhat.com>
9741
9742 PR c/58346
9743 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9744 * c-common.h: Declare it.
9745
621955cb
EB
97462014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9747
9748 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9749 * c-ada-spec.c (dump_ads): Likewise.
9750 (cpp_check): Likewise.
9751 (dump_ada_specs): Likewise.
9752
97532014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
9754
9755 PR c++/49718
9756 * c-common.c (handle_no_instrument_function_attribute): Allow
9757 no_instrument_function attribute in class member
9758 definition/declaration.
9759
241f845a
JJ
97602014-01-15 Jakub Jelinek <jakub@redhat.com>
9761
9762 PR c/58943
9763 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9764 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
9765 being COMPOUND_EXPR.
9766 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9767 operand a SAVE_EXPR and second MODIFY_EXPR.
9768
e83b8e2e
JJ
97692014-01-09 Jakub Jelinek <jakub@redhat.com>
9770
9771 PR target/58115
9772 * c-pch.c (c_common_write_pch): Call
9773 prepare_target_option_nodes_for_pch.
9774
23a5b65a
RS
97752014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9776
9777 Update copyright years
9778
f9030485
RS
97792014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9780
9781 * array-notation-common.c, c-cilkplus.c: Use the standard form for
9782 the copyright notice.
9783
f2aa696b
EB
97842013-12-28 Eric Botcazou <ebotcazou@adacore.com>
9785
9786 * c-ada-spec.c (print_constructor): New function.
9787 (print_destructor): Retrieve the origin of the destructor.
9788 (print_ada_declaration): Revamp handling of constructors/destructors.
9789
3f8257db 97902013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
9791 Bill Maddox <maddox@google.com>
9792 Jason Merrill <jason@redhat.com>
9793
9794 * c.opt: Add -fdeclone-ctor-dtor.
9795 * c-opts.c (c_common_post_options): Default to on iff -Os.
9796
41958c28
BI
97972013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
9798
9799 * c-common.c (c_common_attribute_table): Added "cilk simd function"
9800 attribute.
9801 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 9802 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
9803 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9804 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9805 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9806 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9807 PRAGMA_CILK_CLAUSE_UNIFORM.
9808
b1726d6c 9809
12893402
BI
98102013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
9811
9812 * cilk.c (cilk_outline): Made this function non-static.
9813 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9814 (create_cilk_wrapper): Added a new parameter: a function pointer.
9815 (c_install_body_w_frame_cleanup): Remove
9816 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9817 * c-common.h (cilk_outline): New prototype.
9818 (gimplify_cilk_spawn): Removed two parameters.
9819 (cilk_install_body_with_frame_cleanup): New prototype.
9820 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9821 CILK_SPAWN_STMT case.
9822
085b42ed
BS
98232013-12-11 Bernd Schmidt <bernds@codesourcery.com>
9824
2ce064c3
BS
9825 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9826
085b42ed
BS
9827 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9828 (int_array_type_node): Remove.
9829 * c-common.c (c_common_nodes_and_builtins): Don't build it.
9830
9e36c9ed
MP
98312013-12-05 Marek Polacek <polacek@redhat.com>
9832
9833 PR c/52023
9834 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9835 [ADJUST_FIELD_ALIGN].
9836
296674db
JM
98372013-12-04 Joseph Myers <joseph@codesourcery.com>
9838
9839 PR c/52023
9840 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9841 and check field alignment if set.
9842 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9843 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9844
b1726d6c 98452013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
9846 Marek Polacek <polacek@redhat.com>
9847
9848 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9849 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9850
d7947e19
L
98512013-11-29 H.J. Lu <hongjiu.lu@intel.com>
9852
9853 PR c/59309
9854 * cilk.c (gimplify_cilk_spawn): Properly handle function without
9855 arguments.
9856
fad7652e
JJ
98572013-11-29 Jakub Jelinek <jakub@redhat.com>
9858
9859 PR c/59280
9860 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9861 goto invalid. If it is error_mark_node, don't issue further
9862 diagnostics.
9863
8b5e1202
SO
98642013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
9865
9866 * c.opt (Wopenmp-simd): New.
9867
0a508bb6
JJ
98682013-11-22 Jakub Jelinek <jakub@redhat.com>
9869
9870 * c-ubsan.h (ubsan_instrument_return): New prototype.
9871 * c-ubsan.c (ubsan_instrument_return): New function.
9872
2fb9a547
AM
98732013-11-22 Andrew MacLeod <amacleod@redhat.com>
9874
9875 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
9876 * c-gimplify.c: Likewise.
9877 * cilk.c: Likewise.
2fb9a547 9878
8400e75e
DM
98792013-11-22 David Malcolm <dmalcolm@redhat.com>
9880
9881 * c-common.c (unsafe_conversion_p): Remove use of
9882 EXPR_LOC_OR_HERE macro.
9883 (conversion_warning): Likewise.
9884 (warnings_for_convert_and_check): Likewise.
9885 (warn_for_collisions_1): Likewise.
9886 (shorten_compare): Likewise, and remove use of in_system_header
9887 macro, using the location from the former.
9888 * c-lex.c (dump_one_header): Remove use of input_filename macro.
9889 (cb_def_pragma): Remove use of in_system_header macro.
9890 (lex_string): Likewise.
9891 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9892
eb1ce453
KZ
98932013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9894 Mike Stump <mikestump@comcast.net>
9895 Richard Sandiford <rdsandiford@googlemail.com>
9896
9897 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9898 instead of TREE_INT_CST_LOW, in cases where there is a protecting
9899 tree_fits_shwi_p or tree_fits_uhwi_p.
9900 (dump_generic_ada_node): Likewise.
9901 * c-format.c (check_format_arg): Likewise.
9902 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9903
6b3b8c27
KZ
99042013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9905
9906 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9907
49b0aa18
JC
99082013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
9909
9910 PR c/53001
9911 * c-common.c (unsafe_conversion_p): Make this function
9912 return an enumeration with more detail.
9913 (conversion_warning): Use the new return type of
9914 unsafe_conversion_p to separately warn either about conversions
9915 that lower floating point number precision or about the other
9916 kinds of conversions.
9917 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
9918 (unsafe_conversion_p): switching return type to
9919 conversion_safety enumeration.
49b0aa18
JC
9920 * c.opt: Adding new warning -Wfloat-conversion and
9921 enabling it with -Wconversion.
9922
b826515a
BS
99232013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
9924
8e745a17
JJ
9925 * c-opts.c: Include plugin.h.
9926 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 9927
b9a55b13
MP
99282013-11-19 Marek Polacek <polacek@redhat.com>
9929
9930 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9931 call.
9932 (ubsan_instrument_shift): Likewise.
9933 (ubsan_instrument_vla): Likewise.
9934
7d362f6c
RS
99352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9936
9937 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9938 cast to unsigned type.
9939
386b1f1f
RS
99402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9941
9942 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9943 tree_low_cst.
9944 (complete_array_type): Update comment to refer to tree_to_[su]hwi
9945 rather than tree_low_cst.
9946
ae7e9ddd
RS
99472013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9948
9949 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
9950 tree_to_uhwi throughout.
9951
9439e9a1
RS
99522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9953
9954 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
9955 tree_low_cst (..., 0) with tree_to_shwi throughout.
9956
cc269bb6
RS
99572013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9958
9959 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
9960 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
9961
9541ffee
RS
99622013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9963
9964 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
9965 host_integerp (..., 0) with tree_fits_shwi_p throughout.
9966
c02065fc
AH
99672013-11-15 Aldy Hernandez <aldyh@redhat.com>
9968
9969 * c-cilkplus.c: New file.
9970 * c-common.c (readonly_error): Add location argument.
9971 * c-common.h (readonly_error): Same.
9972 (c_finish_cilk_clauses): Protoize.
9973 (c_check_cilk_loop): Same.
9974 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9975 Do not fail on error_mark_node.
9976 Abstract increment canonicalization to here...
9977 (c_omp_for_incr_canonicalize_ptr): New.
9978 c-pragma.c (init_pragma): Register "simd" pragma.
9979 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
9980 (enum pragma_cilk_clause): New.
9981
9cc65f15
RS
99822013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
9983
9984 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
9985 wchar_type and host_integerp checks.
9986
18f429e2
AM
99872013-11-14 Andrew MacLeod <amacleod@redhat.com>
9988
9989 * c-common.c: Likewise.
9990 * c-gimplify.c: Likewise.
9991 * cilk.c: Likewise.
9992
d8a2d370
DN
99932013-11-14 Diego Novillo <dnovillo@google.com>
9994
9995 * c-common.c: Include fold-const.h.
9996 Include stor-layout.h.
9997 Include calls.h.
9998 Include stringpool.h.
9999 Include attribs.h.
10000 Include varasm.h.
10001 Include trans-mem.h.
10002 * c-cppbuiltin.c: Include stor-layout.h.
10003 Include stringpool.h.
10004 * c-format.c: Include stringpool.h.
10005 * c-lex.c: Include stringpool.h.
10006 Include stor-layout.h.
10007 * c-pragma.c: Include stringpool.h.
10008 Include attribs.h.
10009 Include varasm.h.
10010 Include gcc-symtab.h.
10011 * c-pretty-print.c: Include stor-layout.h.
10012 Include attribs.h.
10013 * cilk.c: Include stringpool.h.
10014 Include calls.h.
10015
38b7bc7f
JM
100162013-11-13 Joseph Myers <joseph@codesourcery.com>
10017
10018 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10019 * c-common.c (c_common_reswords): Add __auto_type.
10020 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10021
45b0be94
AM
100222013-11-12 Andrew MacLeod <amacleod@redhat.com>
10023
18f429e2
AM
10024 * c-common.c: Include gimplify.h.
10025 * c-gimplify.c: Likewise.
10026 * cilk.c: Likewise.
10027 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10028 * c-ubsan.c: Don't include gimple.h.
45b0be94 10029
582d9b50
JM
100302013-11-12 Joseph Myers <joseph@codesourcery.com>
10031
10032 * c-common.c (c_common_reswords): Add _Thread_local.
10033
6b28e197
JM
100342013-11-09 Joseph Myers <joseph@codesourcery.com>
10035
10036 * c-common.c (atomic_size_supported_p): New function.
10037 (resolve_overloaded_atomic_exchange)
10038 (resolve_overloaded_atomic_compare_exchange)
10039 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10040 Use it instead of comparing size with a local list of sizes.
10041
267bac10
JM
100422013-11-07 Andrew MacLeod <amacleod@redhat.com>
10043 Joseph Myers <joseph@codesourcery.com>
10044
10045 * c-common.h (enum rid): Add RID_ATOMIC.
10046 * c-common.c (c_common_reswords): Add _Atomic.
10047 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10048 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10049 * c-format.c (check_format_types): Check for extra _Atomic
10050 qualifiers in format argument.
10051 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10052 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10053
5157b91e
TB
100542013-11-06 Tobias Burnus <burnus@net-b.de>
10055
10056 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10057
6dbe0958
JM
100582013-11-06 Joseph Myers <joseph@codesourcery.com>
10059
10060 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10061 standards modes.
10062 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10063 to mean lack of IEEE 754 support.
10064
e8ff5196
TB
100652013-11-05 Tobias Burnus <burnus@net-b.de>
10066
10067 * c.opt (-Wdate-time): New option
10068 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10069
254a0760
JM
100702013-11-05 Joseph Myers <joseph@codesourcery.com>
10071
10072 * c-cppbuiltin.c (cpp_iec_559_value): Test
10073 flag_excess_precision_cmdline not flag_excess_precision.
10074
6d7f7e0a
TB
100752013-11-05 Tobias Burnus <burnus@net-b.de>
10076
10077 * c.opt (fopenmp-simd): New option.
10078 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10079 (omp_pragmas): ... this new struct.
10080 (c_pp_lookup_pragma): Also walk omp_pragmas.
10081 (init_pragma): Init pragmas for -fopenmp-simd.
10082
55a7f02f
MP
100832013-11-04 Marek Polacek <polacek@redhat.com>
10084
10085 PR c++/58979
10086 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10087
9193fb05
JM
100882013-11-04 Joseph Myers <joseph@codesourcery.com>
10089
10090 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10091 New functions.
10092 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10093
94159ecf
EB
100942013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10095
10096 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10097 (dump_ada_specs): Adjust prototype of second callback.
10098 * c-ada-spec.c (cpp_check): New global variable.
10099 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10100 (print_generic_ada_decl): Likewise.
10101 (has_static_fields): Change return type to bool and add guard.
10102 (has_nontrivial_methods): New predicate.
10103 (is_tagged_type): Change return type to bool.
10104 (separate_class_package): Call has_nontrivial_methods.
10105 (pp_ada_tree_identifier): Minor tweaks.
10106 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10107 (dump_ada_array_domains): Likewise.
10108 (dump_ada_array_type): Likewise.
10109 (dump_template_types): Remove cpp_check parameter and do not pass it to
10110 dump_generic_ada_node.
10111 (dump_ada_template): Likewise.
10112 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10113 recursively.
10114 (print_ada_methods): Change return type to integer. Remove cpp_check
10115 parameter and do not pass it down.
10116 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10117 dump_generic_ada_node.
10118 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10119 accessing methods.
10120 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10121 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10122 value of print_ada_methods.
10123 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10124 Set cpp_check to it before invoking dump_ada_nodes.
10125 (dump_ada_specs): Likewise.
10126
b906f4ca
MP
101272013-11-03 Marek Polacek <polacek@redhat.com>
10128
10129 * c-ubsan.c: Don't include hash-table.h.
10130 (ubsan_instrument_vla): New function.
10131 * c-ubsan.h: Declare it.
10132
5e20cdc9
DM
101332013-10-31 David Malcolm <dmalcolm@redhat.com>
10134
10135 Automated part of renaming of symtab_node_base to symtab_node.
10136
10137 Patch autogenerated by rename_symtab.py from
10138 https://github.com/davidmalcolm/gcc-refactoring-scripts
10139 revision 58bb219cc090b2f4516a9297d868c245495ee622
10140
10141 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10142 symtab_node_base to symtab_node.
10143
7057e645
ESR
101442013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10145
8e745a17 10146 Implement C++14 digit separators.
7057e645
ESR
10147 * c-lex.c (interpret_float): Remove digit separators from scratch string
10148 before building real literal.
10149
193ea7bc
JJ
101502013-10-30 Jakub Jelinek <jakub@redhat.com>
10151
10152 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10153
939b37da
BI
101542013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10155
10156 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10157 fields.
10158 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10159 enabled.
10160 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10161 (insert_cilk_frame): New prototype.
10162 (cilk_init_builtins): Likewise.
10163 (gimplify_cilk_spawn): Likewise.
10164 (c_cilk_install_body_w_frame_cleanup): Likewise.
10165 (cilk_detect_spawn_and_unwrap): Likewise.
10166 (cilk_set_spawn_marker): Likewise.
10167 (build_cilk_sync): Likewise.
10168 (build_cilk_spawn): Likewise.
10169 * cilk.c: New file.
10170
67348ccc
DM
101712013-10-29 David Malcolm <dmalcolm@redhat.com>
10172
10173 Patch autogenerated by refactor_symtab.py from
10174 https://github.com/davidmalcolm/gcc-refactoring-scripts
10175 revision 58bb219cc090b2f4516a9297d868c245495ee622
10176
10177 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10178 to a true class hierarchy.
10179 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10180
d570872d
RS
101812013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10182
10183 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10184
98906124
JL
101852013-10-26 Jeff Law <law@redhat.com>
10186
adfac8df
JJ
10187 * c-common.c (c_define_builtins): Remove mudflap support.
10188 * c.opt: Ignore and warn for mudflap options.
98906124 10189
d73749df 101902013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10191
10192 PR other/33426
10193 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10194 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10195
3f04b1bb
JM
101962013-10-23 Jason Merrill <jason@redhat.com>
10197
10198 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10199
acf0174b
JJ
102002013-10-11 Jakub Jelinek <jakub@redhat.com>
10201
acd15a28
JJ
10202 * c-common.h (omp_clause_mask::operator !=): New method.
10203 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10204 instead of if (mask & something) tests everywhere.
10205
acf0174b
JJ
10206 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10207 201307 instead of 201107.
10208 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10209 (c_common_attribute_table): Add "omp declare target" and
10210 "omp declare simd" attributes.
10211 (handle_omp_declare_target_attribute,
10212 handle_omp_declare_simd_attribute): New functions.
10213 * c-omp.c: Include c-pragma.h.
10214 (c_finish_omp_taskgroup): New function.
10215 (c_finish_omp_atomic): Add swapped argument, if true,
10216 build the operation first with rhs, lhs arguments and use NOP_EXPR
10217 build_modify_expr.
10218 (c_finish_omp_for): Add code argument, pass it down to make_code.
10219 (c_omp_split_clauses): New function.
10220 (c_split_parallel_clauses): Removed.
10221 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10222 c_omp_declare_simd_clauses_to_decls): New functions.
10223 * c-common.h (omp_clause_mask): New type.
10224 (OMP_CLAUSE_MASK_1): Define.
10225 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10226 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10227 omp_clause_mask::operator |, omp_clause_mask::operator &,
10228 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10229 omp_clause_mask::operator ==): New methods.
10230 (enum c_omp_clause_split): New.
10231 (c_finish_omp_taskgroup): New prototype.
10232 (c_finish_omp_atomic): Add swapped argument.
10233 (c_finish_omp_for): Add code argument.
10234 (c_omp_split_clauses): New prototype.
10235 (c_split_parallel_clauses): Removed.
10236 (c_omp_declare_simd_clauses_to_numbers,
10237 c_omp_declare_simd_clauses_to_decls): New prototypes.
10238 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10239 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10240 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10241 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10242 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10243 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10244 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10245 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10246 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10247 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10248 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10249 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10250 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10251 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10252 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10253 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10254 PRAGMA_OMP_CLAUSE_UNIFORM.
10255
826cacfe
MG
102562013-10-09 Marc Glisse <marc.glisse@inria.fr>
10257
10258 PR tree-optimization/20318
10259 * c-common.c (handle_returns_nonnull_attribute): New function.
10260 (c_common_attribute_table): Add returns_nonnull.
10261
2284b034
MG
102622013-10-03 Marc Glisse <marc.glisse@inria.fr>
10263
10264 PR c++/19476
10265 * c.opt (fcheck-new): Move to common.opt.
10266
b56e9788
MP
102672013-09-25 Marek Polacek <polacek@redhat.com>
10268 Jakub Jelinek <jakub@redhat.com>
10269
10270 PR sanitizer/58413
10271 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10272 an expression if we can prove it is correct.
10273 (ubsan_instrument_division): Likewise. Remove unnecessary
10274 check.
10275
ce6923c5
MP
102762013-09-18 Marek Polacek <polacek@redhat.com>
10277
10278 PR sanitizer/58411
10279 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10280 Declare it.
10281 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10282
fb5610fb
IS
102832013-09-14 Iain Sandoe <iain@codesourcery.com>
10284
10285 PR target/48094
10286 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10287 fobjc-gc, freplace-objc-classes): Accept for LTO.
10288
88b0e79e
JC
102892013-09-13 Jacek Caban <jacek@codeweavers.com>
10290
10291 * c-target.def: New hook
10292
c9b0866a
PC
102932013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10294
10295 PR c++/43452
10296 * c.opt (Wdelete-incomplete): Add.
10297
0af94e6f
JR
102982013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10299
10300 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10301 (vector_types_compatible_elements_p): New function.
10302 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10303 declaration.
10304 (vector_types_compatible_elements_p): Declare.
10305
7c26172c
GDR
103062013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10307
10308 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10309 a virtual member function.
10310 (pp_simple_type_specifier): Remove.
10311 (pp_c_type_specifier): Likewise.
10312 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10313 Rename from pp_c_type_specifier. Adjust.
10314 (c_pretty_printer::c_pretty_printer): Do not assign to
10315 simple_type_specifier.
10316
20059c8b
GDR
103172013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10318
10319 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10320 member function.
10321 (c_pretty_printer::storage_class_specifier): Likewise.
10322 (c_pretty_printer::initializer): Likewise.
10323 (pp_declaration): Remove.
10324 (pp_declaration_specifiers): Likewise.
10325 (pp_abstract_declarator): Likewise.
10326 (pp_declarator): Likewise.
10327 (pp_type_id): Likewise.
10328 (pp_statement): Likewise.
10329 (pp_constant): Likewise.
10330 (pp_id_expression): Likewise.
10331 (pp_primary_expression): Likewise.
10332 (pp_unary_expression): Likewise.
10333 (pp_multiplicative_expression): Likewise.
10334 (pp_conditional_expression): Likewise.
10335 (pp_assignment_expression): Likewise.
10336 (pp_expression): Likewise.
10337 (pp_c_type_id): Likewise.
10338 (pp_c_storage_class_specifier): Likewise.
10339 * c-pretty-print.c (pp_c_type_cast): Tidy.
10340 (pp_c_pointer): Likewise.
10341 (pp_c_type_specifier): Likewise.
10342 (pp_c_parameter_type_list): Likewise.
10343 (pp_c_function_definition): Likewise.
10344 (pp_c_init_declarator): Likewise.
10345 (pp_c_initializer_list): Likewise.
10346 (pp_c_constructor_elts): Likewise.
10347 (c_pretty_printer::direct_abstract_declarator): Likewise.
10348 (c_pretty_printer::declaration_specifiers): Likewise.
10349 (c_pretty_printer::primary_expression): Likewise.
10350 (c_pretty_printer::postfix_expression): Likewise.
10351 (c_pretty_printer::type_id): Rename from pp_c_type_id.
10352 (c_pretty_printer::storage_class_specifier): Rename from
10353 pp_c_storage_class_specifier.
10354 (c_pretty_printer::initializer): Rename from pp_c_initializer.
10355 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10356 storage_class_specifier, initializer, offset_list, flags.
10357
de5a5fa1
MP
103582013-08-30 Marek Polacek <polacek@redhat.com>
10359
10360 * c-ubsan.c: New file.
10361 * c-ubsan.h: New file.
10362
8f0e4d72
GDR
103632013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10364
10365 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10366 member function.
10367 (c_pretty_printer::declaration_specifiers): Likewise.
10368 (c_pretty_printer::declarator): Likewise.
10369 (c_pretty_printer::abstract_declarator): Likewise.
10370 (c_pretty_printer::direct_abstract_declarator): Likewise.
10371 (c_pretty_printer::direct_declarator): Likewise.
10372 (c_pretty_printer::function_specifier): Likewise.
10373 (pp_declaration): Adjust.
10374 (pp_declaration_specifiers): Likewise.
10375 (pp_abstract_declarator): Likewise.
10376 (pp_direct_declarator): Likewise.
10377 (pp_function_specifier): Likewise.
10378 (pp_direct_abstract_declarator): Remove as unused.
10379 (pp_c_declaration): Remove.
10380 (pp_c_declaration_specifiers): Likewise.
10381 (pp_c_declarator): Likewise.
10382 (pp_c_direct_declarator): Likewise.
10383 (pp_c_function_specifier): Likewise.
10384 (pp_c_direct_abstract_declarator): Likewise.
10385 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10386 from pp_c_abstract_declarator. Adjust.
ab20d992 10387 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10388 pp_c_direct_abstract_declarator. Adjust.
10389 (c_pretty_printer::function_specifier): Rename from
10390 pp_c_function_specifier. Adjust.
10391 (c_pretty_printer::declaration_specifiers): Rename from
10392 pp_c_declaration_specifiers. Adjust.
10393 (c_pretty_printer::direct_declarator): Rename from
10394 pp_c_direct_declarator. Adjust.
10395 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10396 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10397 (c_pretty_printer::c_pretty_printer): Do not assign to
10398 declaration, declaration_specifiers, declarator,
10399 direct_declarator, direct_abstract_declarator, function_specifier.
10400
00d34d3a
GDR
104012013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10402
10403 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10404 virtual member function.
10405 (c_pretty_printer::multiplicative_expression): Likewise.
10406 (c_pretty_printer::conditional_expression): Likewise.
10407 (c_pretty_printer::assignment_expression): Likewise.
10408 (c_pretty_printer::expression): Likewise.
10409 (pp_unary_expression): Adjust.
10410 (pp_multiplicative_expression): Likewise.
10411 (pp_assignment_expression): Likewise.
10412 (pp_conditional_expression): Likewise.
10413 (pp_expression): Likewise.
10414 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10415 from pp_c_unary_expression. Adjust.
10416 (c_pretty_printer::multiplicative_expression): Rename from
10417 pp_c_multiplicative_expression. Adjust.
10418 (c_pretty_printer::conditional_expression): Rename from
10419 pp_c_conditional_expression. Adjust.
10420 (c_pretty_printer::assignment_expression): Rename from
10421 pp_c_assignment_expression. Adjust.
10422 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10423 (c_pretty_printer::c_pretty_printer): Do not assign to
10424 unary_expression, multiplicative_expression,
10425 conditional_expression, expression.
10426
fb22178f
GDR
104272013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10428
10429 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10430 virtual member function.
10431 (pp_postfix_expression): Adjust.
10432 (pp_c_postfix_expression): Remove.
10433 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10434 from pp_c_postfix_expression. Adjust.
10435 (c_pretty_printer::c_pretty_printer): Do not assign to
10436 postfix_expression.
10437
7ecc2600
GDR
104382013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10439
10440 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10441 virtua member function.
10442 (pp_primary_expression): Adjust.
10443 (pp_c_primary_expression): Remove.
10444 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10445 from pp_c_primary_expression. Adjust.
10446 (pp_c_initializer_list): Use pp_primary_expression.
10447 (c_pretty_printer::c_pretty_printer): Do not assign to
10448 primary_expression.
10449
0691175f
GDR
104502013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10451
10452 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10453 * c-pretty-print.c (M_): Remove.
10454 (c_pretty_printer::translate_string): Define.
10455 (pp_c_type_specifier): Use it.
10456 (pp_c_primary_expression): Likewise.
10457 (pp_c_expression): Likewise.
10458
66dfe4c4
GDR
104592013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10460
10461 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10462 virtual function.
10463 (pp_c_id_expression): Remove.
10464 (pp_id_expression): Adjust.
10465 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10466 pp_c_id_expression. Adjust.
10467 (pp_c_postfix_expression): Use pp_id_expression.
10468 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10469
ca43e9d5
GDR
104702013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10471
10472 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10473 member function.
10474 (pp_constant): Adjust.
10475 (pp_c_constant): Remove.
10476 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10477 pp_c_constant. Adjust.
10478 (pp_c_constant)
10479 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10480 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10481
da6ca2b5
GDR
104822013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10483
10484 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10485 (c_pretty_printer::c_pretty_printer): Declare.
10486 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10487 c_pretty_printer_init. Adjust.
10488 (print_c_tree): Do not call c_pretty_printer_init.
10489 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10490
65a372f4
AC
104912013-08-09 Arnaud Charlet <charlet@adacore.com>
10492
10493 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10494
fd9b0f32
PC
104952013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10496
10497 PR c++/58080
10498 * c-common.c (pointer_int_sum): Add bool parameter.
10499 * c-common.h (pointer_int_sum): Adjust declaration.
10500
e0aec1e9
GDR
105012013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10502
10503 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10504 c_pretty_printer variable.
10505
b066401f
GDR
105062013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10507
10508 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10509 (pp_base): Remove.
10510 (pp_c_base): Likewise. Adjust users.
10511 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10512 (pp_c_whitespace): Do not call pp_base.
10513 (pp_c_left_paren): Likewise.
10514 (pp_c_right_paren): Likewise.
10515 (pp_c_left_brace): Likewise.
10516 (pp_c_right_brace): Likewise.
10517 (pp_c_left_bracket): Likewise.
10518 (pp_c_right_bracket): Likewise.
10519 (pp_c_dot): Likewise.
10520 (pp_c_ampersand): Likewise.
10521 (pp_c_star): Likewise.
10522 (pp_c_arrow): Likewise.
10523 (pp_c_semicolon): Likewise.
10524 (pp_c_complement): Likewise.
10525 (pp_c_exclamation): Likewise.
10526 (pp_c_direct_declarator): Likewise.
10527 (pp_c_ws_string): Likewise.
10528 (pp_c_identifier): Likewise.
10529 (pp_c_statement): Likewise.
10530 (print_c_tree): Likewise.
10531
65e5a578
ESR
105322013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10533
10534 PR c++/58072
10535 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10536 provide useful error strings.
10537
137a1a27
GDR
105382013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10539
10540 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10541 printer functions instead of pp_string or operators and punctuators.
10542 (dump_generic_ada_node): Likewise.
10543 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10544 (pp_c_relational_expression): Likewise.
10545 (pp_c_logical_or_expression): Likewise.
10546
07838b13
GDR
105472013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10548
10549 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10550 functions instead of pp_character.
10551 (pp_ada_tree_identifier): Likewise.
10552 (dump_ada_double_name): Likewise.
10553 (dump_ada_function_declaration): Likewise.
10554 (dump_ada_array_domains): Likewise.
10555 (dump_template_types): Likewise.
10556 (dump_generic_ada_node): Likewise.
10557 (print_ada_declaration): Likewise.
10558 (print_ada_struct_decl): Likewise.
10559 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10560
433cc7b0
TT
105612013-07-23 Tom Tromey <tromey@redhat.com>
10562
10563 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10564 * c-common.c (c_common_reswords): Add _Generic.
10565
688010ba
OB
105662013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10567
10568 * c-common.c: Fix typos.
10569 * c-common.h: Likewise.
10570
2a99e5e6
LL
105712013-07-13 Lubos Lunak <l.lunak@suse.cz>
10572
10573 PR c++/55203
10574 * c-common.c (c_common_attribute_table): Add warn_unused.
10575 (handle_warn_unused_attribute): New.
10576
c26302d5
JJ
105772013-07-10 Jakub Jelinek <jakub@redhat.com>
10578
10579 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10580 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10581
dfeadaa0
PC
105822013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10583
10584 PR c++/57869
10585 * c.opt: Add Wconditionally-supported.
10586
6a2fa4b2
GS
105872013-07-08 Graham Stott <graham.stott@btinternet.com>
10588
adfac8df 10589 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10590 unused variables l_length and l_node.
10591
ecdbd01a 105922013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10593
10594 PR c/57821
10595 * c-common.c (complete_array_type): Delay folding first index
10596 like other indices. When folding, check for index overflow.
10597
bedc293e
MG
105982013-06-27 Marc Glisse <marc.glisse@inria.fr>
10599
10600 PR c++/57509
10601 * c-common.h (c_build_vec_perm_expr): New complain argument.
10602 * c-common.c (c_build_vec_perm_expr): Likewise.
10603 Use save_expr also in C++.
10604
604b2bfc
GDR
106052013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10606
10607 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10608 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10609 * c-opts.c (c_common_post_options): Likewise.
10610
dfeadaa0 106112013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10612
10613 * array-notation-common.c (length_mismatch_in_expr): Changed the
10614 parameter type's from a dynamic array to a vec_tree. Also removed
10615 the size parameters.
10616 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10617 the change above.
10618
2ce86d2e
BI
106192013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10620
10621 * c-common.h (struct cilkplus_an_parts): New structure.
10622 (struct cilkplus_an_loop_parts): Likewise.
10623 (cilkplus_extract_an_triplets): New prototype.
10624 (fix_sec_implicit_args): Likewise.
10625 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10626 (fix_sec_implicit_args): Likewise.
604b2bfc 10627
07a6825b
BI
106282013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10629
10630 * array-notation-common.c (find_inv_trees): Removed an unwanted
10631 typecasting.
10632 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10633 enum rid to enum tree_code.
10634
08346abd
JH
106352013-06-11 Jan Hubicka <jh@suse.cz>
10636
10637 * c-common.c (handle_alias_ifunc_attribute): Do not set
10638 DECL_EXTERNAL for weakref variables.
10639 * c-pragma.c (handle_pragma_weak): Make sure aliases
10640 are not declared as external.
10641
d60f1706
BI
106422013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10643
10644 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10645 function from c/c-array-notation.c.
10646 (is_cilkplus_reduce_builtin): Likewise.
10647 (find_rank): Likewise.
10648 (extract_array_notation_exprs): Likewise.
10649 (replace_array_notations): Likewise.
10650 (find_inv_trees): Likewise.
10651 (replace_inv_trees): Likewise.
10652 (contains_array_notation_expr): Likewise.
10653 (find_correct_array_notation_type): Likewise.
10654 * c-common.h (struct inv_list): Moved this struct from the file
10655 c/c-array-notation.c and added a new field called additional tcodes.
10656 (length_mismatch_in_expr_p): New prototype.
10657 (is_cilkplus_reduce_builtin): Likewise.
10658 (find_rank): Likewise.
10659 (extract_array_notation_exprs): Likewise.
10660 (replace_array_notation): Likewise.
10661 (find_inv_trees): Likewise.
10662 (replace_inv_trees): Likewise.
10663 (find_correct_array_notation_type): Likewise.
dfeadaa0 10664
36536d79
BI
106652013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10666
10667 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10668 function array_notation_init_builtins is called.
10669 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10670 * c-common.def (ARRAY_NOTATION_REF): New tree.
10671 * c-common.h (build_array_notation_expr): New function declaration.
10672 (build_array_notation_ref): Likewise.
10673 (extract_sec_implicit_index_arg): New extern declaration.
10674 (is_sec_implicit_index_fn): Likewise.
10675 (ARRAY_NOTATION_CHECK): New define.
10676 (ARRAY_NOTATION_ARRAY): Likewise.
10677 (ARRAY_NOTATION_START): Likewise.
10678 (ARRAY_NOTATION_LENGTH): Likewise.
10679 (ARRAY_NOTATION_STRIDE): Likewise.
10680 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10681 ARRAY_NOTATION_REF.
10682 (pp_c_expression): Likewise.
10683 * c.opt (flag_enable_cilkplus): New flag.
10684 * array-notation-common.c: New file.
10685
f7716d57
JJ
106862013-05-14 Jakub Jelinek <jakub@redhat.com>
10687
10688 PR c++/57274
10689 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10690
a5e0cd1d
MG
106912013-05-10 Marc Glisse <marc.glisse@inria.fr>
10692
10693 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10694 vectors.
10695
f6bc1c4a
HS
106962013-05-07 Han Shen <shenhan@google.com>
10697
10698 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10699
3f12f6e9
SKS
107002013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10701
10702 * c-common.c (check_user_alignment): Emit error for negative values.
10703
61949153
PC
107042013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10705
10706 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10707
e93e18e9
PC
107082013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10709
10710 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10711 __GXX_EXPERIMENTAL_CXX1Y__.
10712
44d90fe1 107132013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10714 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10715
10716 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10717 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10718 to simply use OPT_Wpointer_arith.
10719 (c_sizeof_or_alignof_type): Likewise.
10720
13f39b2e
PC
107212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10722
10723 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10724
4b84d650
JJ
107252013-04-12 Jakub Jelinek <jakub@redhat.com>
10726
10727 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10728 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10729 specifiers.
10730
fb037b5d
SB
107312013-04-07 Steven Bosscher <steven@gcc.gnu.org>
10732
10733 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10734
4e856798
PC
107352013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
10736
10737 * c-common.c (pointer_int_sum): Remove dead code.
10738
4b1baac8
RS
107392013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
10740
10741 PR middle-end/56524
10742 * c-common.c (handle_optimize_attribute): Don't call
10743 save_optabs_if_changed.
10744
0b50e654
JJ
107452013-03-05 Jakub Jelinek <jakub@redhat.com>
10746
10747 PR middle-end/56461
10748 * c-pch.c (pch_init): Free target_validity at the end.
10749
48c41403
JJ
107502013-03-04 Jakub Jelinek <jakub@redhat.com>
10751
10752 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10753
e664c61c
KS
107542013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
10755 Jakub Jelinek <jakub@redhat.com>
10756
10757 PR sanitizer/56454
10758 * c-common.c (handle_no_sanitize_address_attribute): New function.
10759 (c_common_attribute_table): Add no_sanitize_address attribute.
10760 (handle_no_address_safety_analysis_attribute): Add
10761 no_sanitize_address attribute, not no_address_safety_analysis
10762 attribute.
10763
a475fd3d 107642013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
10765
10766 PR target/52555
10767 * c-common.c (handle_optimize_attribute): Call
10768 save_optabs_if_changed.
10769
f6007d99
JJ
107702013-02-18 Jakub Jelinek <jakub@redhat.com>
10771 Steven Bosscher <steven@gcc.gnu.org>
10772
10773 PR pch/54117
10774 * c-opts.c (c_common_post_options): If debug info is enabled
10775 and non-dwarf*, refuse to load PCH files and when writing PCH
10776 file warn.
10777
cf35e2b1
JJ
107782013-02-05 Jakub Jelinek <jakub@redhat.com>
10779
10780 PR middle-end/56167
10781 * c-common.c (handle_error_attribute): Fix condition.
10782
32887460
JJ
107832013-01-30 Jakub Jelinek <jakub@redhat.com>
10784
10785 PR c++/55742
10786 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10787
5af057d8
JM
107882013-01-18 Jason Merrill <jason@redhat.com>
10789
10790 PR target/54908
10791 * c.opt (-fextern-tls-init): New.
10792 * c-opts.c (c_common_post_options): Handle it.
10793
cc83c823
JJ
107942013-01-09 Jakub Jelinek <jakub@redhat.com>
10795
10796 PR c/48418
10797 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10798 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10799 and is either negative or bigger or equal to type precision
10800 of the first operand.
10801
a859517f
MP
108022012-12-03 Marek Polacek <polacek@redhat.com>
10803
10804 PR c/55570
10805 * c-common.c (check_user_alignment): Swap order of tests,
10806 check TREE_CODE first.
10807
2d7aa578
ESR
108082012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
10809
10810 PR c++/52654
10811 * c-common.h (overflow_type): New enum.
10812 (build_userdef_literal): Add overflow_type argument.
10813 (tree_userdef_literal): Add overflow_type.
10814 (USERDEF_LITERAL_OVERFLOW): New access macro.
10815 * c-common.c (build_userdef_literal): Add overflow_type
10816 argument.
10817 * c-lex.c (c_lex_with_flags): Add overflow_type to
10818 build_userdef_literal calls.
10819 (interpret_integer, interpret_float): Add overflow_type argument.
10820
cc3c4f62
RB
108212012-11-28 Richard Biener <rguenther@suse.de>
10822
10823 PR c/35634
10824 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10825 here and use a type with proper overflow behavior for types that would
10826 need to be promoted for the arithmetic.
10827
77bc5132
JJ
108282012-11-23 Jakub Jelinek <jakub@redhat.com>
10829
10830 PR sanitizer/55435
10831 * c-common.c (handle_no_address_safety_analysis_attribute): New
10832 function.
10833 (c_common_attribute_table): Add no_address_safety_analysis.
10834
5dc99c46
SB
108352012-11-16 Simon Baldwin <simonb@google.com>
10836
10837 * c.opt: Add f[no-]canonical-system-headers.
10838 * c-opts.c (c_common_handle_option): Handle
10839 OPT_fcanonical_system_headers.
10840
a4a0016d
ESR
108412012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
10842
10843 PR c++/54413
10844 * c-opts.c (c_common_handle_option): Set new flags.
10845 * c.opt: Describe new flags.
10846
7dbb85a7
JM
108472012-11-09 Jason Merrill <jason@redhat.com>
10848
10849 * c.opt (Wabi-tag): New.
10850
ad7bac31
AK
108512012-11-09 Andi Kleen <ak@linux.intel.com>
10852
10853 PR 55139
10854 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 10855 MEMMODEL_MASK
ad7bac31 10856
7332899a
MLI
108572012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10858
10859 PR c/53063
10860 * c.opt (Wformat): Make it Alias Wformat=1.
10861 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10862 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10863 LangEnabledBy.
10864 (Wformat=): RejectNegative. Use LangEnabledBy.
10865 (Wnonnull): Use LangEnabledBy.
10866 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10867 * c-format.c (set_Wformat): Delete.
10868 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
10869 (maybe_read_dollar_number): Likewise.
10870 (avoid_dollar_number): Likewise.
10871 (finish_dollar_format_checking): Likewise.
10872 (check_format_info): Likewise.
10873 (check_format_info_main): Likewise.
10874 (check_format_types): Likewise.
10875 (format_type_warning): Likewise.
10876 * c-common.c (int): Likewise.
10877 (check_function_sentinel): Likewise.
8e745a17 10878 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 10879
34a180a6
MLI
108802012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10881
10882 PR c/53063
10883 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10884 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10885 Use LangEnabledBy.
10886 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10887 common.opt.
10888 (Wvariadic-macros): Init(1).
10889 * c-opts.c (c_common_handle_option): Do not handle them
10890 explicitly.
10891 (c_common_post_options): Likewise.
10892 (sanitize_cpp_opts): warn_unused_macros is now
10893 cpp_warn_unused_macros.
10894 (push_command_line_include): Likewise.
10895 * c-common.c (warn_unknown_pragmas): Do not define.
10896 * c-common.h (warn_unknown_pragmas): Do not declare.
10897
3f46d6a5
MLI
108982012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10899
10900 PR c/51294
10901 * c-common.c (conversion_warning): Handle conditional expressions.
10902
880661a4
JW
109032012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
10904
10905 PR c++/54930
10906 * c.opt (Wreturn_local_addr): Define new option.
10907
4514a96b
JM
109082012-10-25 Jason Merrill <jason@redhat.com>
10909
f14edc1a
JM
10910 * c.opt (Wvirtual-move-assign): New.
10911
4514a96b
JM
10912 * c.opt (Winherited-variadic-ctor): New.
10913
93100c6b
MG
109142012-10-25 Marc Glisse <marc.glisse@inria.fr>
10915
10916 PR c++/54427
10917 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10918
1efcb8c6
JM
109192012-10-23 Joseph Myers <joseph@codesourcery.com>
10920
10921 * c-common.h (pch_cpp_save_state): Declare.
10922 * c-target.def (c_preinclude): New hook.
10923 * c-opts.c (done_preinclude): New.
10924 (push_command_line_include): Handle default preincluded header.
10925 (cb_file_change): Call pch_cpp_save_state when calling
10926 push_command_line_include.
10927 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10928 (pch_cpp_save_state): New.
10929 (pch_init): Call pch_cpp_save_state conditionally, instead of
10930 calling cpp_save_state.
10931
4a0ae68e
MLI
109322012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10933
10934 PR c/53063
10935 PR c/40989
10936 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10937 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10938 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10939 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10940 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10941 * c-opts.c (c_common_handle_option): Remove explicit handling from
10942 here.
10943 (c_common_post_options): Likewise.
10944
67e4210b
EB
109452012-10-18 Eric Botcazou <ebotcazou@adacore.com>
10946
10947 * c-ada-spec.c (LOCATION_COL): Delete.
10948 (compare_location): New function.
10949 (compare_node): Use it.
10950 (compare_comment): Likewise.
10951
65d4f2cd
MLI
109522012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10953
10954 PR c/53063
10955 PR c/40989
10956 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
10957 * c-opts.c (c_common_handle_option): Do not set them here. Add
10958 comment.
10959 (c_common_post_options): Likewise.
10960
909881cb
EB
109612012-10-16 Eric Botcazou <ebotcazou@adacore.com>
10962
10963 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
10964 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
10965 Remove POINTER_TYPE handling, add large unsigned handling and use
10966 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
10967
3a785c97
JJ
109682012-10-12 Jakub Jelinek <jakub@redhat.com>
10969
10970 PR c/54381
10971 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
10972 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
10973 locs and array of 3 trees instead of just single loc and single
10974 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
10975 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
10976 For *cmp* builtins that take two sources strings report warnings
10977 about first and second source, not about destination and source.
10978
5e54f81d
MG
109792012-10-12 Marc Glisse <marc.glisse@inria.fr>
10980
10981 PR c++/53055
10982 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
10983
f5b02f1e
EB
109842012-10-11 Eric Botcazou <ebotcazou@adacore.com>
10985
10986 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
10987 declaring something coming from another file.
10988
b46dbc6c
AC
109892012-10-10 Arnaud Charlet <charlet@adacore.com>
10990
f5b02f1e 10991 PR ada/54845
b46dbc6c
AC
10992 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
10993
5d9de0d0
PC
109942012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
10995
10996 PR c++/54194
10997 * c-common.c (warn_about_parentheses): Add location_t parameter;
10998 use EXPR_LOC_OR_LOC.
10999 * c-common.h: Update declaration.
11000
a212e43f
MG
110012012-10-09 Marc Glisse <marc.glisse@inria.fr>
11002
11003 PR c++/54427
11004 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11005 more operations. Make error messages optional.
11006 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11007 (scalar_to_vector): Declare.
11008
b1db7f91
JM
110092012-10-08 Jason Merrill <jason@redhat.com>
11010
11011 * c-common.c (c_common_reswords): Add thread_local.
11012
e28d52cf
DS
110132012-10-08 Dodji Seketeli <dodji@redhat.com>
11014
11015 PR c++/53528 C++11 attribute support
11016 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11017 new functions.
11018 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11019 static function.
11020 (handle_aligned_attribute): In choose strictest alignment
11021 among many. Use new check_cxx_fundamental_alignment_constraints.
11022 (handle_transparent_union_attribute): In c++11 attribute syntax,
11023 don't look through typedefs.
11024
3b78de56
AC
110252012-10-04 Arnaud Charlet <charlet@adacore.com>
11026
11027 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11028 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11029 out of dumpfile.h.
11030
6040bb5f
DC
110312012-09-25 Dehao Chen <dehao@google.com>
11032
11033 PR middle-end/54645
3b78de56 11034 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11035 map when read in the pch.
11036
3f8257db 110372012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11038
11039 * c-ada-spec.c: Style fixes.
11040
3f8257db 110412012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11042
11043 * c.opt (-fada-spec-parent): Define new command line switch.
11044 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11045 is specified, generate binding spec as a child of the specified unit.
11046
0ccb505d
PC
110472012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11048 Manuel López-Ibáñez <manu@gcc.gnu.org>
11049
11050 PR c++/53210
11051 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11052
c583af79
AC
110532012-08-23 Arnaud Charlet <charlet@adacore.com>
11054
11055 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11056 for pointers, and add missing Convention C pragma.
11057 (print_ada_struct_decl): Add missing aliased keyword.
11058 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11059
1a4049e7
JJ
110602012-08-17 Jakub Jelinek <jakub@redhat.com>
11061
11062 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11063 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11064 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11065 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11066 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11067
70b5e7dc
RG
110682012-08-10 Richard Guenther <rguenther@suse.de>
11069
11070 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11071
f8923f7e
SB
110722012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11073
11074 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11075 instead of separate pp_newline and pp_flush.
11076 (print_c_tree): Likewise.
11077
e45abe1f
RH
110782012-07-26 Richard Henderson <rth@redhat.com>
11079
11080 * c-common.c (handle_hot_attribute): Allow labels.
11081 (handle_cold_attribute): Likewise.
11082
332f1d24
JJ
110832012-07-20 Jakub Jelinek <jakub@redhat.com>
11084
11085 PR c++/28656
11086 * c-common.c (check_function_nonnull): Handle multiple nonnull
11087 attributes properly.
11088
7ee2468b
SB
110892012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11090
11091 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11092 * c-ada-spec.c: Likewise.
11093 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11094
ee7b28eb
SB
110952012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11096
11097 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11098 Remove code conditional on it.
11099
6bdf3519
SB
111002012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11101
11102 * c-gimplify.c: Do not include basic-block.h.
11103 * c-common.c: Do not include linfuncs.h.
11104
532aafad
SB
111052012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11106
11107 * c-common.h: Include tree.h.
11108
8d0d1915
JM
111092012-07-02 Jason Merrill <jason@redhat.com>
11110
11111 PR c++/53524
11112 * c-common.c (get_priority): Call default_conversion.
11113
fbc873ad
UB
111142012-07-01 Uros Bizjak <ubizjak@gmail.com>
11115
11116 * c-pch.c (c_common_write_pch): Remove unused variables.
11117
d4a10d0a
SB
111182012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11119
11120 * cppspec.c: Moved from gcc/ to here.
11121
6f3a2e23
KT
111222012-06-27 Kai Tietz <ktietz@redhat.com>
11123
11124 PR preprocessor/37215
11125 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11126
8ca92d04
SB
111272012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11128
11129 * c-common.h (c_common_print_pch_checksum): Remove.
11130 * c-pch.c: Do not include output.h.
11131 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11132 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11133 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11134 (struct c_pch_header): Remove.
11135 (get_ident): Update gpch version.
11136 (pch_init): Do not print executable_checksum to asm_out_file.
11137 Do not fail if there is no asm_out_file to read back from. Set
11138 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11139 (c_common_write_pch): Verify that nothing was written to asm_out_file
11140 since pch_init was called. Do not write a c_pch_header, and do not
11141 copy from asm_out_file to the PCH.
11142 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11143 the content of asm_out_file from the PCH.
11144 (c_common_print_pch_checksum): Remove.
11145 * c-opts.c (c_common_init): Print out executable_checksum directly.
11146
70f42967
SB
111472012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11148
11149 * c-target.def (objc_declare_unresolved_class_reference,
11150 objc_declare_class_definition): Add new hooks.
11151
a8781821
SB
111522012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11153
11154 * c-lex.c: Do not include output.h.
11155 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11156 Remove uses of ASM_OUTPUT_IDENT.
11157
9e1a8dd1
RR
111582012-06-15 Marc Glisse <marc.glisse@inria.fr>
11159
11160 PR c++/51033
11161 * c-common.h (c_build_vec_perm_expr): Move decl here.
11162 * c-common.c (c_build_vec_perm_expr): Move definition
11163 here.
11164
6f07a821
SB
111652012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11166
11167 * c.opt (fconserve-space): Turn into a no-op.
11168
9faeb493 111692012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11170
11171 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11172 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11173 both the start and end of the function.
11174
a4b7d13c
SB
111752012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11176
11177 * c-common.c: Do not include output.h.
11178 * c-pragma.c: Likewise.
11179
c265f413
SA
111802012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11181
11182 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11183 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11184 (lang_decl_name): Handle namespace decls.
11185
be7a421e
SB
111862012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11187
11188 * c-ada-spec.c: Do not include output.h.
11189 * c-semantics.c: Likewise.
11190
65de6659
JM
111912012-05-29 Joseph Myers <joseph@codesourcery.com>
11192
11193 * c-common.c: Fix typo.
11194
ca5f4331
MM
111952012-05-29 Michael Matz <matz@suse.de>
11196
11197 * c-common.h (c_expand_decl): Remove prototype.
11198
4f7f7aca
MLI
111992012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11200
11201 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11202 * c-opts.c (c_common_handle_option): Remove code handling
11203 warn_missing_braces.
11204
4a792f9b
PC
112052012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11206
11207 PR c++/25137
11208 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11209 -Wmissing_braces.
11210
650dc14a
DS
112112012-05-22 Dodji Seketeli <dodji@redhat.com>
11212
11213 PR c++/53322
11214 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11215
9b095bf1
MLI
112162012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11217
11218 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11219 * c-opts.c (c_common_handle_option): Do not handle explicitly
11220 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11221
0b2c4be5
DS
112222012-05-16 Dodji Seketeli <dodji@redhat.com>
11223
11224 PR preprocessor/7263
ab20d992 11225 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11226 to cpp_classify_number. For diagnostics, use the precise location
11227 instead of the global input_location.
11228
a1bde5af
PC
112292012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11230
d02924ef 11231 PR c++/11856
a1bde5af
PC
11232 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11233
d1ede5f4
BS
112342012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11235
a1bde5af 11236 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11237
f2bc201f
MLI
112382012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11239
11240 PR 53063
11241 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11242 Wreorder): Use LangEnabledBy.
11243 * c-opts.c (c_common_handle_option): Do not enable them
11244 explicitly. Call lang-specific generated functions.
11245 (c_common_post_options): Do not set them here.
11246
95744782
MLI
112472012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11248
11249 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11250 Wmissing-field-initializers,Wmissing-parameter-type,
11251 Wold-style-declaration,Woverride-init): Use EnabledBy.
11252 * c-opts.c (c_common_post_options): Do not set here explicitly.
11253
7d5a5747
MLI
112542012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11255
11256 PR 53063
11257 * c-opts.c (c_common_handle_option): Use handle_generated_option
11258 to enable sub-options.
11259
5a3c9cf2
PC
112602012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11261
11262 PR c++/53158
11263 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11264
3ac8781c
RG
112652012-05-10 Richard Guenther <rguenther@suse.de>
11266
11267 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11268 adjust commentary about TYPE_IS_SIZETYPE types.
11269
1e537948
MLI
112702012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11271
11272 PR c++/53261
11273 * c-common.c (warn_logical_operator): Check that argument of
11274 integer_zerop is not NULL.
11275
f2c4a785
MLI
112762012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11277
11278 PR c/43772
11279 * c-common.c (warn_logical_operator): Do not warn if either side
11280 is already true or false.
11281
50f305ca
MLI
112822012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11283
11284 PR c/51712
11285 * c-common.c (expr_original_type): New.
11286 (shorten_compare): Do not warn for enumeration types.
11287
0c3641b0
MLI
112882012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11289
11290 * c.opt (fpermissive): Add Var(flag_permissive).
11291
7edaa4d2
MG
112922012-04-30 Marc Glisse <marc.glisse@inria.fr>
11293
11294 PR c++/51033
11295 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11296 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11297
b9c8da34
DS
112982012-04-30 Dodji Seketeli <dodji@redhat.com>
11299
11300 Add -Wvarargs option
ab20d992 11301 * c.opt (Wvarargs): Define new option.
b9c8da34 11302
e6c69da0
MLI
113032012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11304
11305 * c-common.c (check_function_arguments): Replace
11306 Wmissing-format-attribute with Wsuggest-attribute=format.
11307
90137d8f
MLI
113082012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11309
11310 * c.opt (Wsuggest-attribute=format): New. Alias of
11311 Wmissing-format-attribute.
11312 * c-format.c (decode_format_type): Replace
11313 Wmissing-format-attribute with Wsuggest-attribute=format.
11314 (check_function_format): Likewise.
11315
9faeb493 113162012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11317
11318 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11319 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11320 * c.opt: Add Wliteral-suffix.
11321
c1771a20
MLI
113222012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11323
11324 PR c/44774
11325 * c.opt (Wpedantic): New.
11326 (pedantic): Alias Wpedantic.
11327 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11328 (c_common_post_options): Likewise.
11329 (sanitize_cpp_opts): Likewise.
11330 * c-lex.c (interpret_float): Likewise.
11331 * c-format.c (check_format_types): Likewise.
11332 * c-common.c (pointer_int_sum): Likewise.
11333 (c_sizeof_or_alignof_type): Likewise.
11334 (c_add_case_label): Likewise.
11335 (c_do_switch_warnings): Likewise.
11336 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11337
04b391c1
JM
113382012-04-15 Jason Merrill <jason@redhat.com>
11339
11340 PR c++/52818
11341 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11342 (C_STD_NAME): Distinguish between C++98 and C++11.
11343
ac868f29
EB
113442012-04-11 Eric Botcazou <ebotcazou@adacore.com>
11345
11346 PR target/52624
11347 * c-common.h (uint16_type_node): Rename into...
11348 (c_uint16_type_node): ...this.
11349 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11350 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11351
fd4116f4
MLI
113522012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
11353
11354 * c-common.c (warn_if_unused_value): Move definition to here.
11355 * c-common.h (warn_if_unused_value): Move declaration to here.
11356
573ac65e
WB
113572012-03-23 William Bader <williambader@hotmail.com>
11358
11359 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11360
552b8185
JM
113612012-03-20 Jason Merrill <jason@redhat.com>
11362
11363 * c-common.h (enum cxx_dialect): Add cxx1y.
11364 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11365 test.
11366 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11367 * c-opts.c (c_common_post_options): Likewise.
11368 (set_std_cxx1y): New.
11369 (c_common_handle_option): Call it.
11370 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11371
04398fa8
PC
113722012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11373
11374 PR c++/14710
11375 * c.opt ([Wuseless-cast]): Add.
11376
d2a12ae7
RG
113772012-03-16 Richard Guenther <rguenther@suse.de>
11378
11379 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11380
a12bf402
MLI
113812012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11382
11383 PR c++/44783
11384 * c.opt (ftemplate-backtrace-limit) Add.
11385
5c30094f
RO
113862012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11387
11388 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11389 handling.
11390 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11391 (init_pragma): Don't register extern_prefix.
11392
21fa2faf
RG
113932012-03-12 Richard Guenther <rguenther@suse.de>
11394
11395 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11396 (builtin_type_for_size): Likewise.
11397
e3793c6f
JJ
113982012-02-13 Jakub Jelinek <jakub@redhat.com>
11399
11400 PR c++/52215
11401 * c-common.c (sync_resolve_params): Don't decide whether to convert
11402 or not based on TYPE_SIZE comparison, convert whenever arg_type
11403 is unsigned INTEGER_TYPE.
11404
93286335
PC
114052012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11406
11407 PR c/52118
11408 * c.opt ([Wunused-local-typedefs]): Fix description.
11409
7a421706
MS
114102012-01-24 Mike Stump <mikestump@comcast.net>
11411
11412 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11413 exactly.
11414
ba9b1f11
RG
114152012-01-18 Richard Guenther <rguenther@suse.de>
11416
11417 * c-opts.c (c_common_post_options): Reset LTO flags if
11418 we are about to generate a PCH.
11419
465406be
PC
114202012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11421
11422 PR c++/51777
11423 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11424 use pp_unsigned_wide_integer.
11425
aee15221
RG
114262012-01-10 Richard Guenther <rguenther@suse.de>
11427
11428 PR middle-end/51806
11429 * c-opts.c (c_common_handle_option): Move -Werror handling
11430 to language independent code.
11431
5720c0dc
RG
114322012-01-05 Richard Guenther <rguenther@suse.de>
11433
11434 PR middle-end/51764
11435 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11436 from common.opt.
11437
73ac190a
PC
114382011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11439
11440 PR c++/51316
11441 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11442 of array types with an unknown bound.
11443
48b0b196
JM
114442011-12-20 Joseph Myers <joseph@codesourcery.com>
11445
11446 * c-common.c (flag_isoc99): Update comment to refer to C11.
11447 (flag_isoc1x): Change to flag_isoc11.
11448 * c-common.h (flag_isoc99): Update comment to refer to C11.
11449 (flag_isoc1x): Change to flag_isoc11.
11450 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11451 C11.
11452 * c-opts.c (set_std_c1x): Change to set_std_c11.
11453 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11454 Call set_std_c11.
11455 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11456 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11457 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11458 standard.
11459 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11460 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11461 (std=gnu1x): Make alias of std=gnu11.
11462
d58d6eb5
JM
114632011-12-19 Jason Merrill <jason@redhat.com>
11464
11465 PR c++/51228
11466 * c-common.c (handle_transparent_union_attribute): Check the first
11467 field if the type is complete.
11468
b3908fcc
JW
114692011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11470
11471 PR libstdc++/51365
11472 * c-common.c (RID_IS_FINAL): Add.
11473 * c-common.h (RID_IS_FINAL): Add.
11474
fea3ca91
IS
114752011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11476
11477 * c.opt (fgnu-runtime): Provide full description.
11478 (fnext-runtime): Likewise.
11479 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11480
62bad7cd
AM
114812011-11-28 Andrew MacLeod <amacleod@redhat.com>
11482
11483 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11484 predefines in one place. Add LOCK_FREE predefines.
11485 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11486 new func.
11487
c466c4ff
AM
114882011-11-24 Andrew MacLeod <amacleod@redhat.com>
11489
11490 PR c/51256
9faeb493 11491 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11492 conditions
9faeb493
UB
11493 (resolve_overloaded_atomic_exchange,
11494 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11495 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11496 error_mark_node for error conditions.
9faeb493 11497
a5952633
RG
114982011-11-08 Richard Guenther <rguenther@suse.de>
11499
11500 PR middle-end/51010
ab20d992 11501 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11502
0a35513e
AH
115032011-11-07 Richard Henderson <rth@redhat.com>
11504 Aldy Hernandez <aldyh@redhat.com>
11505 Torvald Riegel <triegel@redhat.com>
11506
11507 Merged from transactional-memory.
11508
11509 * c-common.c (handle_tm_wrap_attribute,
11510 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11511 (struct c_common_reswords): Added __transaction* keywords.
11512 (struct c_common_attribute_table): Added transaction* and tm_regparm
11513 attributes.
11514 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11515 masks.
11516 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11517 find_tm_attribute): Declare.
11518
6d87092d
JM
115192011-11-07 Jason Merrill <jason@redhat.com>
11520
11521 PR c++/35688
11522 * c-common.c, c-common.h: Revert yesterday's changes.
11523
8e7860a1
JM
115242011-11-06 Jason Merrill <jason@redhat.com>
11525
11526 PR c++/35688
11527 * c-common.c (decl_has_visibility_attr): Split out from...
11528 (c_determine_visibility): ...here.
11529 * c-common.h: Declare it.
11530
d19fa6b5
JM
115312011-11-06 Joseph Myers <joseph@codesourcery.com>
11532
11533 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11534 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11535 type.
11536 (check_user_alignment): New. Split out of
11537 handle_aligned_attribute. Disallow integer constants with
11538 noninteger types. Conditionally allow zero.
11539 (handle_aligned_attribute): Use check_user_alignment.
11540 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11541
86951993
AM
115422011-11-06 Andrew MacLeod <amacleod@redhat.com>
11543 Richard Henderson <rth@redhat.com>
11544
11545 Merged from cxx-mem-model.
11546
11547 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11548 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11549 parameters that are the same type size.
11550 (get_atomic_generic_size): New. Find size of generic
11551 atomic function parameters and do typechecking.
11552 (add_atomic_size_parameter): New. Insert size into parameter list.
11553 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11554 either __atomic_exchange_n or external library call.
9faeb493 11555 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11556 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11557 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11558 __atomic_load_n or an external library call.
11559 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11560 __atomic_store_n or an external library call.
11561 (resolve_overloaded_builtin): Handle new __atomic builtins.
11562
cf9e9959
EB
115632011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11564
11565 PR c++/50608
11566 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11567 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11568 <INDIRECT_REF>: Return the argument.
11569 <ARRAY_REF>: Remove special code for negative offset.
11570 Call fold_build_pointer_plus instead of size_binop.
11571 (fold_offsetof): Remove STOP_REF argument and adjust.
11572 * c-common.h (fold_offsetof_1): Declare.
11573 (fold_offsetof): Remove STOP_REF argument.
11574
25339f10
JM
115752011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11576
11577 PR c++/50810
11578 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11579 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11580 Wnarrowing for C++0x and C++98.
11581 * c.opt ([Wnarrowing]): Update.
11582
89401152
PC
115832011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11584
11585 PR c++/44277
11586 * c.opt: Add Wzero-as-null-pointer-constant.
11587
97e3ad20
JM
115882011-10-31 Jason Merrill <jason@redhat.com>
11589
15694fdd
JM
11590 * c.opt (-fdeduce-init-list): Off by default.
11591
97e3ad20
JM
11592 PR c++/50920
11593 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11594 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11595 and -Wc++11-compat.
11596 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11597
fb9120e3
RAV
115982011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11599
11600 PR c++/30066
11601 * c.opt (fvisibility-inlines-hidden): Description change.
11602
3ce4f9e4
ESR
116032011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11604
11605 Implement C++11 user-defined literals.
11606 * c-common.c (build_userdef_literal): New.
11607 * c-common.def: New tree code.
11608 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11609 * c-lex.c (interpret_float): Add suffix parm.
11610 (c_lex_with_flags): Build literal tokens.
11611
5f53c243
PC
116122011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11613
11614 PR c++/50841
11615 Revert:
11616 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11617
11618 PR c++/50810
11619 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11620 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11621 Wnarrowing for C++0x and C++98.
11622 * c.opt ([Wnarrowing]): Update.
11623
263734e1
PC
116242011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11625
11626 PR c++/50810
11627 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11628 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11629 Wnarrowing for C++0x and C++98.
11630 * c.opt ([Wnarrowing]): Update.
11631
d2e312d7
PC
116322011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11633
11634 PR c++/45385
11635 * c-common.c (conversion_warning): Remove code looking for
11636 artificial operands.
11637
d17687f6
DS
116382011-10-18 Dodji Seketeli <dodji@redhat.com>
11639
11640 PR bootstrap/50760
11641 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11642 !NO_IMPLICIT_EXTERN_C.
d17687f6 11643
fc8396e9
PC
116442011-10-17 Michael Spertus <mike_spertus@symantec.com>
11645
11646 * c-common.c (c_common_reswords): Add __bases,
11647 __direct_bases.
11648 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11649
116502011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11651
11652 PR c++/50757
11653 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11654
847e697a
TT
116552011-10-15 Tom Tromey <tromey@redhat.com>
11656 Dodji Seketeli <dodji@redhat.com>
11657
11658 * c.opt (fdebug-cpp): New option.
11659 * c-opts.c (c_common_handle_option): Handle the option.
11660 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11661 output stream in parameter. Factorized from ...
11662 (maybe_print_line): ... this. Dump location debug information when
11663 -fdebug-cpp is in effect.
11664 (print_line_1): New static function. Takes an output stream in
11665 parameter. Factorized from ...
11666 (print_line): ... here. Dump location information when -fdebug-cpp
11667 is in effect.
11668 (scan_translation_unit): Dump location information when
11669 -fdebug-cpp is in effect.
11670
92582b75
TT
116712011-10-15 Tom Tromey <tromey@redhat.com>
11672 Dodji Seketeli <dodji@redhat.com>
11673
11674 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11675 without argument.
11676 * c-opts.c (c_common_handle_option)<case
11677 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11678 cases. Handle -ftrack-macro-expansion with and without argument.
11679
46427374
TT
116802011-10-15 Tom Tromey <tromey@redhat.com>
11681 Dodji Seketeli <dodji@redhat.com>
11682
11683 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11684 (print_line, cb_define, do_line_change): Adjust to avoid touching
11685 the internals of struct line_map. Use the public API instead.
11686 * c-pch.c (c_common_read_pch): Likewise.
11687 * c-lex.c (fe_file_change): Likewise.
11688
fc8396e9
PC
116892011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11690
11691 PR c++/17212
11692 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11693
116942011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11695
11696 PR c++/33067
11697 * c-pretty-print.c (pp_c_floating_constant): Output
11698 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11699
e79983f4
MM
117002011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11701
11702 * c-common.c (def_builtin_1): Delete old interface with two
11703 parallel arrays to hold standard builtin declarations, and replace
11704 it with a function based interface that can support creating
11705 builtins on the fly in the future. Change all uses, and poison
11706 the old names. Make sure 0 is not a legitimate builtin index.
11707 * c-omp.c (c_finish_omp_barrier): Ditto.
11708 (c_finish_omp_taskwait): Ditto.
11709 (c_finish_omp_flush): Ditto.
11710
6637388f
TG
117112011-10-11 Tristan Gingold <gingold@adacore.com>
11712
11713 * c.opt: (fallow-parameterless-variadic-functions): New.
11714
3797cb21
DS
117152011-09-08 Dodji Seketeli <dodji@redhat.com>
11716
11717 PR c++/33255 - Support -Wunused-local-typedefs warning
11718 * c-common.h (struct c_language_function::local_typedefs): New
11719 field.
9faeb493
UB
11720 (record_locally_defined_typedef, maybe_record_typedef_use)
11721 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 11722 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
11723 (maybe_record_typedef_use)
11724 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
11725 * c.opt: Declare new -Wunused-local-typedefs flag.
11726
693ddb1b
EB
117272011-09-06 Eric Botcazou <ebotcazou@adacore.com>
11728
11729 PR middle-end/50266
11730 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11731 computations.
11732
830c740f
RG
117332011-09-05 Richard Guenther <rguenther@suse.de>
11734
11735 * c-common.c (complete_array_type): Use ssize_int (-1) instead
11736 of integer_minus_one_node for empty array upper bounds.
11737
892a371f
DS
117382011-08-28 Dodji Seketeli <dodji@redhat.com>
11739
11740 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11741 it's the first time it's being called on this main TU.
11742
0e3fdb48
RB
117432011-08-24 Richard Guenther <rguenther@suse.de>
11744
11745 PR c/49396
11746 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11747
117482011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
11749
11750 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11751 defined in cpp_init_builtins and c_cpp_builtins.
11752
d4a83c10
JM
117532011-08-19 Joseph Myers <joseph@codesourcery.com>
11754
11755 * c-common.c (c_common_reswords): Add __builtin_complex.
11756 * c-common.h (RID_BUILTIN_COMPLEX): New.
11757
bbceee64
JM
117582011-08-18 Joseph Myers <joseph@codesourcery.com>
11759
11760 * c-common.c (c_common_reswords): Add _Noreturn.
11761 (keyword_is_function_specifier): Handle RID_NORETURN.
11762 * c-common.h (RID_NORETURN): New.
11763
3f8257db 117642011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
11765
11766 * c-common.c (unsafe_conversion_p): New function. Check if it is
11767 unsafe to convert an expression to the type.
11768 (conversion_warning): Adjust, use unsafe_conversion_p.
11769 * c-common.h (unsafe_conversion_p): New function declaration.
11770
20906c66
JJ
117712011-08-02 Jakub Jelinek <jakub@redhat.com>
11772
11773 * c-common.h (c_finish_omp_atomic): Adjust prototype.
11774 (c_finish_omp_taskyield): New prototype.
11775 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11776 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11777 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
11778 or RHS1 have side-effects, evaluate those too in the right spot,
11779 if it is a decl and LHS is also a decl, error out if they
11780 aren't the same.
11781 (c_finish_omp_taskyield): New function.
11782 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11783 * c-pragma.c (omp_pragmas): Add taskyield.
11784 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11785 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11786 PRAGMA_OMP_CLAUSE_MERGEABLE.
11787
770e5a2e
DS
117882011-07-25 Dodji Seketeli <dodji@redhat.com>
11789
11790 * c-common.h (set_underlying_type): Remove parm name from
11791 declaration.
11792
1baae426
RG
117932011-07-25 Romain Geissler <romain.geissler@gmail.com>
11794
11795 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 11796
fcb21722
JM
117972011-07-22 Jason Merrill <jason@redhat.com>
11798
76f86d00
JM
11799 PR c++/49793
11800 * c.opt (Wnarrowing): New.
11801
3a636414
JM
11802 PR c++/30112
11803 * c-common.h: Declare c_linkage_bindings.
11804 * c-pragma.c (handle_pragma_redefine_extname): Use it.
11805
fcb21722
JM
11806 PR c++/49813
11807 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11808 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11809 as flag_isoc99 for 'restrict'.
11810 (pp_c_specifier_qualifier_list): Likewise for _Complex.
11811
02614448
ILT
118122011-07-21 Ian Lance Taylor <iant@google.com>
11813
11814 PR middle-end/49705
11815 * c-common.c (c_disable_warnings): New static function.
11816 (c_enable_warnings): New static function.
11817 (c_fully_fold_internal): Change local unused_p to bool. Call
11818 c_disable_warnings and c_enable_warnings rather than change
11819 c_inhibit_evaluation_warnings.
11820
34429675
JM
118212011-07-20 Jason Merrill <jason@redhat.com>
11822
11823 PR c++/6709 (DR 743)
11824 PR c++/42603 (DR 950)
11825 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11826 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11827 (CPP_DECLTYPE): New.
11828 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11829
5d49b6a7
RG
118302011-07-19 Richard Guenther <rguenther@suse.de>
11831
11832 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11833 * c-omp.c (c_finish_omp_for): Likewise.
11834
e84a58ff
EB
118352011-07-12 Eric Botcazou <ebotcazou@adacore.com>
11836
11837 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11838 body on the next line.
11839
329af3c7
JM
118402011-07-08 Jason Merrill <jason@redhat.com>
11841
4063e61b
JM
11842 PR c++/45437
11843 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11844
329af3c7
JM
11845 PR c++/49673
11846 * c-common.c (c_apply_type_quals_to_decl): Don't check
11847 TYPE_NEEDS_CONSTRUCTING.
11848
1a072294
RG
118492011-07-06 Richard Guenther <rguenther@suse.de>
11850
11851 * c-common.c (c_common_nodes_and_builtins):
11852 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11853
fce5dddd
RG
118542011-07-05 Richard Guenther <rguenther@suse.de>
11855
11856 * c-common.c (c_common_nodes_and_builtins): Build all common
11857 tree nodes first.
11858
45d439ac
JJ
118592011-06-27 Jakub Jelinek <jakub@redhat.com>
11860
56300785
JJ
11861 * c-common.h (c_tree_chain_next): New static inline function.
11862
45d439ac
JJ
11863 * c-common.c (check_builtin_function_arguments): Handle
11864 BUILT_IN_ASSUME_ALIGNED.
11865
e0a8ecf2
AM
118662011-06-21 Andrew MacLeod <amacleod@redhat.com>
11867
11868 * c-common.c: Add sync_ or SYNC__ to builtin names.
11869 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
11870
118712011-06-20 Pierre Vittet <piervit@pvittet.com>
11872
11873 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11874 handler.
11875 (gen_pragma_handler): New union.
11876 (internal_pragma_handler): New type.
11877 (c_register_pragma_with_data)
11878 (c_register_pragma_with_expansion_and_data): New functions.
11879
11880 * c-pragma.c (registered_pragmas, c_register_pragma_1)
11881 (c_register_pragma, c_register_pragma_with_expansion)
11882 (c_invoke_pragma_handler): Changed to work with
11883 internal_pragma_handler.
11884 (c_register_pragma_with_data)
11885 (c_register_pragma_with_expansion_and_data): New functions.
11886
677f3fa8
JM
118872011-06-14 Joseph Myers <joseph@codesourcery.com>
11888
11889 * c-common.c: Include common/common-target.h.
11890 (handle_section_attribute): Use
11891 targetm_common.have_named_sections.
11892 * c-cppbuiltin.c: Include common/common-target.h.
11893 (c_cpp_builtins): Use targetm_common.except_unwind_info.
11894
d7fc8c14
RG
118952011-06-10 Richard Guenther <rguenther@suse.de>
11896
11897 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11898 to print a IDENTIFIER_NODE.
11899
10e48e39
RO
119002011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11901 Joseph Myers <joseph@codesourcery.com>
11902
11903 * c.opt (fbuilding-libgcc): New option.
11904 * c-cppbuiltin.c (c_cpp_builtins): Define
11905 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11906
6976ae51
JM
119072011-06-07 Jason Merrill <jason@redhat.com>
11908
3ff60975
JM
11909 * c-common.c (max_tinst_depth): Lower default to 900.
11910
6976ae51
JM
11911 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11912
009db074
RG
119132011-06-07 Richard Guenther <rguenther@suse.de>
11914
11915 * c-common.c (c_common_nodes_and_builtins): Do not set
11916 size_type_node or call set_sizetype.
11917
b4592b92
DS
119182011-06-07 Dodji Seketeli <dodji@redhat.com>
11919
11920 PR debug/49130
11921 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 11922 type when using pointer comparison to compare types.
b4592b92 11923
014ab419
JW
119242011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
11925
11926 * c.opt: Add -Wdelete-non-virtual-dtor.
11927 * c-opts.c (c_common_handle_option): Include it in -Wall.
11928
4f60111f
NF
119292011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
11930
11931 PR bootstrap/49190
11932
11933 Revert:
11934 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11935
11936 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11937 not tree_common.
11938
4cc4f2f4
JJ
119392011-05-27 Jakub Jelinek <jakub@redhat.com>
11940
11941 PR c++/49165
11942 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11943 C++ don't call c_common_truthvalue_conversion on void type arms.
11944
38e01f9e
NF
119452011-05-27 Nathan Froyd <froydnj@codesourcery.com>
11946
11947 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
11948 (stmt_list_stack): Define.
11949 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
11950 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
11951
92e948a8
NF
119522011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11953
11954 * c-common.c (warning_candidate_p): Check for BLOCKs.
11955
a2fc3e63
NF
119562011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11957
11958 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11959 not tree_common.
11960
0957c029
JJ
119612011-05-25 Jakub Jelinek <jakub@redhat.com>
11962
11963 * c-common.c (def_fn_type): Remove extra va_end.
11964
828fb3ba
JM
119652011-05-23 Jason Merrill <jason@redhat.com>
11966
11967 PR c++/48106
11968 * c-common.c (c_common_get_narrower): New.
11969 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
11970
dde05067
NF
119712011-05-23 Nathan Froyd <froydnj@codesourcery.com>
11972
11973 * c-common.h (check_function_arguments): Tweak prototype of
11974 check_function_arguments.
11975 * c-common.c (check_function_arguments): Likewise. Adjust
11976 calls to check_function_nonnull, check_function_format, and
11977 check_function_sentinel.
11978 (check_function_sentinel): Take a FUNCTION_TYPE rather than
11979 separate attributes and typelist arguments. Use
11980 FOREACH_FUNCTION_ARGS to iterate over argument types.
11981
3c0d13bf
PC
119822011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11983
11984 * c-common.c (c_common_reswords): Reorder.
11985 * c-common.h (rid): Likewise.
11986
8242dd04
NF
119872011-05-10 Nathan Froyd <froydnj@codesourcery.com>
11988
11989 * c-common.c (def_fn_type): Don't call build_function_type, call
11990 build_function_type_array or build_varargs_function_type_array
11991 instead.
11992 (c_common_nodes_and_builtins): Likewise.
11993
3d528853
NF
119942011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11995
11996 * c-common.c (c_add_case_label): Omit the loc argument to
11997 build_case_label.
11998 * c-common.h (build_case_label): Remove.
11999 * c-semantics.c (build_case_label): Remove.
12000
a04a722b
JM
120012011-05-05 Joseph Myers <joseph@codesourcery.com>
12002
12003 * c-objc.h (objc_start_method_definition): Update prototype.
12004 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12005
e19a18d4
NF
120062011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12007
12008 * c-common.c (check_main_parameter_types): Reindent. Don't use
12009 TYPE_ARG_TYPES directly.
12010 (handle_nonnull_attribute): Likewise.
12011 (sync_resolve_params): Likewise.
12012 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12013 to check_format_string.
12014 (handle_format_attribute): Likewise.
12015 (check_format_string): Take a function type to examine instead of
12016 a type list. Use a function_arg_iterator to step through argument
12017 types.
12018
c62c040f
RG
120192011-05-04 Richard Guenther <rguenther@suse.de>
12020
12021 * c-common.c (fix_string_type): Use size_int for index type bounds.
12022 (start_fname_decls): Do not pass NULL to build_int_cst.
12023 (c_init_attributes): Likewise.
12024 * c-lex.c (c_lex_with_flags): Likewise.
12025
c12ff9d8
JM
120262011-04-27 Jason Merrill <jason@redhat.com>
12027
12028 * c-common.c (make_tree_vector_from_list): New.
12029 * c-common.h: Declare it.
12030
304dfbe3
RG
120312011-04-26 Richard Guenther <rguenther@suse.de>
12032
12033 PR preprocessor/48248
12034 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12035 for output size with -P.
12036
3c0d13bf
PC
120372011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12038
12039 * c-common.c (struct c_common_resword): Add __underlying_type.
12040 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12041
04695783
JM
120422011-04-20 Jim Meyering <meyering@redhat.com>
12043
12044 * c-format.c (init_dollar_format_checking): Remove useless
12045 if-before-free.
12046
0dc33c3c
NP
120472011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12048
12049 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12050 (objc_detect_field_duplicates): New.
0dc33c3c 12051 * stub-objc.c: Likewise.
3c0d13bf 12052
c59633d9
NP
120532011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12054
12055 * stub-objc.c (objc_declare_protocols): Renamed to
12056 objc_declare_protocol.
12057 * c-objc.h: Likewise.
3c0d13bf 12058
32dabdaf
NP
120592011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12060
12061 * stub-objc.c (objc_declare_class): Updated argument name.
12062
81f653d6
NF
120632011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12064
12065 * c-common.h (c_common_init_ts): Declare.
12066 * c-common.c (c_common_init_ts): Define.
12067
eb345401
NP
120682011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12069
12070 * c-objc.h (objc_build_message_expr): Updated prototype.
12071 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12072
a358e188
MJ
120732011-04-12 Martin Jambor <mjambor@suse.cz>
12074
12075 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12076 of cgraph_node.
12077
e6313a78
RG
120782011-04-11 Richard Guenther <rguenther@suse.de>
12079
12080 * c-common.c (complete_array_type): Build a range type of
12081 proper type.
12082
dcf0c47e
NF
120832011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12084
12085 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12086 (handle_type_generic_attribute): Likewise.
12087
1ee44b26
JM
120882011-04-07 Jason Merrill <jason@redhat.com>
12089
12090 PR c++/48450
12091 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12092 conversion from C++0x scoped enum.
12093
acce4e77
JM
120942011-04-06 Joseph Myers <joseph@codesourcery.com>
12095
12096 * c-target-def.h: New file.
12097 * c-target.def: New file.
12098 * c-target.h: New file.
12099 * c-common.c (targetcm): Don't define here.
12100 * c-common.h (default_handle_c_option): Declare.
12101 * c-format.c: Include c-target.h instead of target.h.
12102 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12103 include tm.h.
12104 (default_handle_c_option): Move from targhooks.c.
12105
e2eefb55
JJ
121062011-03-29 Jakub Jelinek <jakub@redhat.com>
12107
12108 PR preprocessor/48248
12109 * c-ppoutput.c (print): Add src_file field.
12110 (init_pp_output): Initialize it.
12111 (maybe_print_line): Don't optimize by adding up to 8 newlines
12112 if map->to_file and print.src_file are different file.
12113 (print_line): Update print.src_file.
12114
ba78087b
KT
121152011-03-25 Kai Tietz <ktietz@redhat.com>
12116
12117 * c-ada-spec.c (compare_comment): Use filename_cmp
12118 instead of strcmp for filename.
12119
0edf1bb2
JL
121202011-03-25 Jeff Law <law@redhat.com>
12121
adfac8df 12122 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12123
c7dc8804
JM
121242011-03-25 Jason Merrill <jason@redhat.com>
12125
12126 * c.opt: Add -std=c++03.
12127
d1d879b1
EB
121282011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12129
12130 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12131
3f8257db 121322011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12133
12134 PR target/12171
5050afdf
KT
12135 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12136 Display allowed attributes for function pointer types.
12137 (pp_c_attributes_display): New function to display
12138 attributes having affects_type_identity flag set to true.
12139 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12140
62d784f7
KT
12141 * c-common.c (c_common_attribute_table):
12142 Add new element.
12143 (c_common_format_attribute_table): Likewise.
12144
82d37118
JM
121452011-03-18 Jason Merrill <jason@redhat.com>
12146
49a000c3
JM
12147 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12148 * c-common.h: Don't declare it here.
12149 * c-common.c: Or define it here.
12150 * c-opts.c (c_common_handle_option): Or set it here.
12151
82d37118
JM
12152 PR c++/35315
12153 * c-common.c (handle_transparent_union_attribute): Don't
12154 make a duplicate type in C++.
12155
17bc631c
JM
121562011-03-15 Jason Merrill <jason@redhat.com>
12157
12158 * c-common.c (max_constexpr_depth): New.
12159 * c-common.h: Declare it.
12160 * c-opts.c (c_common_handle_option): Set it.
12161 * c.opt (fconstexpr-depth): New option.
12162
1b9b91a6
JM
121632011-03-11 Jason Merrill <jason@redhat.com>
12164
f231b5ff
JM
12165 * c-common.c (attribute_takes_identifier_p): Add missing const.
12166
1b9b91a6
JM
12167 PR c++/46803
12168 * c-common.c (attribute_takes_identifier_p): Assume that an
12169 unknown attribute takes an identifier.
12170
a19e4d44
NF
121712011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12172
12173 PR c/47786
12174 * c-common.c (c_type_hash): Call list_length instead of iterating
12175 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12176
982d62f6
JJ
121772011-02-19 Jakub Jelinek <jakub@redhat.com>
12178
12179 PR c/47809
12180 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12181
0a256240
NP
121822011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12183
12184 * c.opt (fobjc-abi-version=) New.
12185 (fobjc-nilcheck): New.
12186
ba9e6dd5
NF
121872011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12188
12189 PR c++/46890
12190 * c-common.h (keyword_is_decl_specifier): Declare.
12191 * c-common.c (keyword_is_decl_specifier): Define.
12192 (keyword_is_function_specifier): New function.
12193
7273813a
JJ
121942011-01-26 Jakub Jelinek <jakub@redhat.com>
12195
12196 PR c/47473
12197 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12198 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12199 REAL_TYPE.
12200
908ef79b
AC
122012011-01-26 Arnaud Charlet <charlet@adacore.com>
12202
12203 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12204
237e9384
JJ
122052011-01-26 Jakub Jelinek <jakub@redhat.com>
12206
12207 PR pch/47430
12208 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12209 after init_c_lex if pch_file is set.
12210
47ea1edf
DK
122112011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12212
d4dba752 12213 PR c++/43601
47ea1edf
DK
12214 * c.opt (-fkeep-inline-dllexport): New switch.
12215
2aa9c6ae
RG
122162011-01-12 Richard Guenther <rguenther@suse.de>
12217
12218 PR middle-end/32511
12219 * c-common.c (handle_weak_attribute): Warn instead of error
12220 on declaring an inline function weak.
12221
7bd11157
TT
122222011-01-05 Tom Tromey <tromey@redhat.com>
12223
12224 * c-common.h (lvalue_error): Update.
12225 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12226 not error.
12227
0e66e494 122282010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12229
b4f588c4
NP
12230 PR objc/47075
12231 * c-objc.h (objc_finish_message_expr): Added argument to
12232 prototype.
12233
f4da8dce
NF
122342010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12235
12236 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12237 Use prototype_p.
12238
46270f14
NP
122392010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12240
12241 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12242 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12243
4816c593
NF
122442010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12245
12246 * c-common.h (readonly_error): Declare.
12247 * c-common.c (readonly_error): Define.
12248
7a6daeb0
NF
122492010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12250
12251 * c-common.h (invalid_indirection_error): Declare.
12252 * c-common.c (invalid_indirection_error): Define.
12253
892f6119
RG
122542010-12-03 Richard Guenther <rguenther@suse.de>
12255
12256 PR c/46745
12257 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12258 (pp_c_unary_expression): Likewise.
12259 (pp_c_expression): Likewise.
12260
6c39e757
NP
122612010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12262
12263 * c-common.h (objc_finish_function): New.
12264 (objc_non_volatilized_type): Removed.
12265 (objc_type_quals_match): Removed.
12266 * stub-objc.c (objc_finish_function): New.
12267 (objc_non_volatilized_type): Removed.
12268 (objc_type_quals_match): Removed.
9faeb493 12269
7c475d11
JM
122702010-11-30 Joseph Myers <joseph@codesourcery.com>
12271
12272 * c-common.h (parse_optimize_options): Declare.
12273 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12274 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12275
71f3e391
JM
122762010-11-29 Joseph Myers <joseph@codesourcery.com>
12277
12278 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12279 GET_ENVIRONMENT.
12280 * c-pch.c (O_BINARY): Don't define here.
12281 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12282
d5fabb58
JM
122832010-11-25 Joseph Myers <joseph@codesourcery.com>
12284
12285 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12286 targetm.except_unwind_info.
12287
299404a1
JM
122882010-11-23 Joseph Myers <joseph@codesourcery.com>
12289
12290 * c-opts.c (c_common_handle_option): Pass location to
12291 set_struct_debug_option.
12292
c98cd5bf
JM
122932010-11-23 Joseph Myers <joseph@codesourcery.com>
12294
12295 * c-common.c (visibility_options): Move from ../opts.c.
12296 * c-common.h (struct visibility_flags, visibility_options):
12297 Declare here.
12298 * c-opts.c (finish_options): Rename to c_finish_options.
12299 (c_common_init): Update call to finish_options.
12300
a9546771
NP
123012010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12302
12303 PR objc/34033
12304 * c-lex.c (lex_string): Check that each string in an Objective-C
12305 string concat sequence starts with either one or zero '@', and
12306 that there are no spurious '@' signs at the end.
12307
24a57808
JM
123082010-11-20 Joseph Myers <joseph@codesourcery.com>
12309
12310 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12311 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12312 HANDLE_PRAGMA_VISIBILITY.
12313 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12314 HANDLE_PRAGMA_VISIBILITY): Don't define.
12315 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12316
a9aa2c3a
NF
123172010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12318
12319 PR c++/16189
12320 PR c++/36888
12321 PR c++/45331
12322 * c-common.h (keyword_begins_type_specifier): Declare.
12323 (keyword_is_storage_class_specifier): Declare.
12324 (keyword_is_type_qualifier): Declare.
12325 * c-common.c (keyword_begins_type_specifier): New function.
12326 (keyword_is_storage_class_specifier): New function.
12327 (keyword_is_type_qualifier): Declare.
12328
5386338c
JM
123292010-11-19 Joseph Myers <joseph@codesourcery.com>
12330
12331 PR c/46547
12332 * c-common.c (in_late_binary_op): Define.
12333 (c_common_truthvalue_conversion): Check in_late_binary_op before
12334 calling c_save_expr.
12335 * c-common.h (in_late_binary_op): Declare.
12336
69ccdddb
JM
123372010-11-19 Joseph Myers <joseph@codesourcery.com>
12338
12339 * c-opts.c (c_common_handle_option): Update calls to
12340 set_struct_debug_option.
12341
6b192a09
NP
123422010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
12343
12344 * c-common.h (objc_declare_protocols): Added additional argument.
12345 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 12346
fb52b50a
NF
123472010-11-18 Nathan Froyd <froydnj@codesourcery.com>
12348
12349 PR c/33193
12350 * c-common.h (build_real_imag_expr): Declare.
12351 * c-semantics.c (build_real_imag_expr): Define.
12352
b37421c6
JM
123532010-11-17 Joseph Myers <joseph@codesourcery.com>
12354
12355 * c-opts.c (c_common_parse_file): Take no arguments.
12356 * c-common.h (c_common_parse_file): Update prototype.
12357
07078664
JJ
123582010-11-16 Jakub Jelinek <jakub@redhat.com>
12359
12360 PR c++/46401
12361 * c-common.c (warning_candidate_p): Don't track non-const calls
12362 or STRING_CSTs.
12363
c6a13190
ILT
123642010-11-15 Ian Lance Taylor <iant@google.com>
12365
12366 * c-lex.c (init_c_lex): Set macro debug callbacks if
12367 flag_dump_go_spec is set.
12368
925e8657
NP
123692010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12370
12371 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12372 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12373
bb0a9581
NF
123742010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12375
12376 PR preprocessor/45038
12377 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12378 dialects.
12379
c5fa0890
JM
123802010-11-12 Joseph Myers <joseph@codesourcery.com>
12381
12382 * c-common.h (c_family_lang_mask): Declare.
12383 * c-opts.c (c_family_lang_mask): Make extern.
12384 * c-pragma.c (handle_pragma_diagnostic): Use
12385 control_warning_option.
12386
a4d8c676
JM
123872010-11-12 Joseph Myers <joseph@codesourcery.com>
12388
12389 * c-common.c (parse_optimize_options): Update call to
12390 decode_options.
12391 * c-common.h (c_common_handle_option): Update prototype.
12392 * c-opts.c (c_common_handle_option): Take location_t parameter and
12393 pass it to other functions.
12394
f954bd2c
JM
123952010-11-11 Joseph Myers <joseph@codesourcery.com>
12396
12397 * c-opts.c (warning_as_error_callback): Remove.
12398 (c_common_initialize_diagnostics): Don't call
12399 register_warning_as_error_callback.
12400 (c_common_handle_option): Handle -Werror=normalized= here.
12401
d8a07487
JM
124022010-11-10 Joseph Myers <joseph@codesourcery.com>
12403
12404 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12405 in diagnostic.
12406 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12407 letter.
12408 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12409 Remove trailing '.' from diagnostics.
12410 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12411
d5478783
JM
124122010-11-10 Joseph Myers <joseph@codesourcery.com>
12413
12414 * c-common.c (parse_optimize_options): Pass global_dc to
12415 decode_options.
12416 * c-opts.c (c_common_handle_option): Pass &global_options to
12417 set_Wstrict_aliasing.
12418 * c.opt (v): Don't mark Common or document here.
12419
91ebb981
IS
124202010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12421
12422 PR target/44981
12423 * c-format.c (format_type): New type gcc_objc_string_format_type.
12424 (valid_stringptr_type_p): New.
12425 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12426 (check_format_string): Pass expected type, use
91ebb981
IS
12427 valid_stringptr_type_p (), check that the format string types are
12428 consistent with the format specification.
12429 (decode_format_attr): Warn if NSString is used outside objective-c.
12430 (format_types_orig): Add NSString.
12431 (format_name): New.
12432 (format_flags): New.
12433 (check_format_arg): Handle format strings requiring an external parser.
12434 first_target_format_type: New variable.
12435 (handle_format_attribute): Set up first_target_format_type, pass the
12436 expected format arg string type to check_format_string().
ab20d992 12437 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12438 * stub-objc.c (objc_string_ref_type_p): New.
12439 (objc_check_format_arg): New.
12440
bede2adc
NP
124412010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12442
9faeb493 12443 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12444 * c-common.h (objc_build_class_component_ref): New.
12445 * stub-objc.c (objc_build_class_component_ref): New.
12446
9a179d01
NP
124472010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12448
12449 * c.opt (Wproperty-assign-default): New option.
12450
22d8d616
NP
124512010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12452
12453 Implemented -fobjc-std=objc1 flag.
12454 * c.opt (fobjc-std=objc1): New option.
12455
2debdb4f
NP
124562010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12457
12458 Implemented format and noreturn attributes for Objective-C methods.
12459 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12460 attribute for Objective-C methods.
12461
ec52b111
JM
124622010-10-31 Jason Merrill <jason@redhat.com>
12463
12464 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12465 EXPR_LOC_OR_HERE.
12466
46a88c12
NP
124672010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12468
12469 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12470 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12471 (objc_add_property_declaration): Removed arguments for copies and
12472 ivar.
12473 (objc_build_getter_call): Renamed to
12474 objc_maybe_build_component_ref.
12475 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12476 (objc_is_property_ref): New.
12477 * c-common.c (c_common_reswords): Removed copies and ivar.
12478 * stub-objc.c (objc_add_property_declaration): Removed arguments
12479 for copies and ivar.
12480 (objc_build_getter_call): Renamed to
12481 objc_maybe_build_component_ref.
12482 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12483 (objc_is_property_ref): New.
9faeb493 12484
1e4bf85b
AC
124852010-10-29 Arnaud Charlet <charlet@adacore.com>
12486 Matthew Gingell <gingell@adacore.com>
12487
12488 * c-ada-spec.c (separate_class_package): New function.
12489 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12490 name of their enclosing package.
12491 (print_ada_declaration): Use separate_class_package.
12492
81f0bab2
JM
124932010-10-27 Jason Merrill <jason@redhat.com>
12494
2b08f2c5
JM
12495 * c-common.c (c_common_reswords): Add __is_literal_type.
12496 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12497
81f0bab2
JM
12498 * c-common.c (check_case_value): Remove special C++ code.
12499
200290f2
NP
125002010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12501
12502 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12503 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12504 and RID_LAST_PATTR.
12505 (objc_add_property_declaration): Added additional arguments.
12506 (objc_property_attribute_kind): Removed.
12507 (objc_set_property_attr): Removed.
12508 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12509 copy and nonatomic.
12510 * stub-objc.c (objc_add_property_declaration): Added additional
12511 arguments.
12512 (objc_set_property_attr): Removed.
9faeb493 12513
f614132b
NP
125142010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12515
12516 * c-common.h (objc_add_property_variable): Renamed to
12517 objc_add_property_declaration. Added location argument.
12518 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12519
b8a18805
NP
125202010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12521
12522 * c-common.h (objc_maybe_printable_name): New.
12523 * stub-objc.c (objc_maybe_printable_name): New.
12524
3f8257db
JJ
125252010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12526 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12527
12528 * c-common.h (c_common_mark_addressable_vec): Declare.
12529 * c-common.c (c_common_mark_addressable_vec): New function.
12530
249a82c4
NP
125312010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12532
12533 * c-common.h (objc_set_method_type): Removed.
12534 (objc_add_method_declaration): Added boolean argument.
12535 (objc_start_method_definition): Same change.
12536 (objc_build_method_signature): Same change.
12537 * stub-objc.c (objc_set_method_type): Removed.
12538 (objc_add_method_declaration): Added boolean argument.
12539 (objc_start_method_definition): Same change.
12540 (objc_build_method_signature): Same change.
12541
977e30bc
NP
125422010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12543
12544 * c-common.h (finish_file): Removed.
12545 (objc_write_global_declarations): New.
12546 * c-opts.c (c_common_parse_file): Do not call finish_file.
12547 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12548
da57d1b9
NP
125492010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12550
12551 Implemented parsing @synthesize and @dynamic for
12552 Objective-C/Objective-C++.
12553 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12554 (objc_add_synthesize_declaration): New.
12555 (objc_add_dynamic_declaration): New.
12556 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12557 * stub-objc.c (objc_add_synthesize_declaration): New.
12558 (objc_add_dynamic_declaration): New.
9faeb493 12559
0069111f
MM
125602010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12561
12562 PR target/46041
12563 * c-cppbuiltin.c (mode_has_fma): Move function here from
12564 builtins.c. Don't use the fma optab, instead just use the
12565 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12566 using -save-temps.
12567
e426b47b
NP
125682010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12569
12570 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12571
3f8257db 12572 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12573
9faeb493 12574 Radar 4330422
e426b47b
NP
12575 * c-common.h (objc_non_volatilized_type): New declaration
12576 * stub-objc.c (objc_non_volatilized_type): New stub.
12577
90fbfdc3
NP
125782010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12579
e426b47b 12580 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12581
ab20d992 12582 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12583
9faeb493 12584 Radar 4133425
90fbfdc3 12585 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12586 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12587
c37d8c30
IS
125882010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12589
12590 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12591 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12592 (objc_ivar_visibility_kind): New enum.
12593 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12594 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12595 visibility enum.
12596
1b1562a5
MM
125972010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12598
12599 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12600 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12601 has the appropriate fma builtins.
12602 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12603
668ea4b1
IS
126042010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12605
1b1562a5 12606 merge from FSF apple 'trunk' branch.
3f8257db 12607 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12608
668ea4b1
IS
12609 Radars 4436866, 4505126, 4506903, 4517826
12610 * c-common.c (c_common_resword): Define @property and its attributes.
12611 * c-common.h: Define property attribute enum entries.
12612 (OBJC_IS_PATTR_KEYWORD): New.
12613 (objc_property_attribute_kind): New enum.
12614 Declare objc_set_property_attr (), objc_add_property_variable (),
12615 objc_build_getter_call () and objc_build_setter_call ().
12616 * stub-objc.c (objc_set_property_attr): New stub.
12617 (objc_add_property_variable): Likewise.
12618 (objc_build_getter_call): Likewise.
12619 (objc_build_setter_call) Likewise.
1b1562a5 12620
a1178b30
IS
126212010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12622
1b1562a5 12623 merge from FSF apple 'trunk' branch.
ab20d992 12624 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12625
12626 Radar 3803157 (method attributes)
12627 * c-common.c (handle_deprecated_attribute): Recognize
12628 objc methods as valid declarations.
12629 * c-common.h: Declare objc_method_decl ().
1b1562a5 12630 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12631
a75bfaa6
JM
126322010-10-08 Joseph Myers <joseph@codesourcery.com>
12633
12634 * c-common.c (parse_optimize_options): Call
12635 decode_cmdline_options_to_array_default_mask before
12636 decode_options. Update arguments to decode_options.
12637 * c-common.h (c_common_init_options_struct): Declare.
12638 * c-opts.c (c_common_init_options_struct): New. Split out from
12639 c_common_init_options.
12640
f05b9d93
NP
126412010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12642
12643 Implemented fast enumeration for Objective-C.
12644 * c-common.h (objc_finish_foreach_loop): New.
12645 * stub-objc.c (objc_finish_foreach_loop): New.
12646
1ebe4b4f
JM
126472010-10-05 Joseph Myers <joseph@codesourcery.com>
12648
12649 * c-common.h (struct diagnostic_context): Don't declare here.
12650 (c_common_initialize_diagnostics): Declare using
12651 diagnostic_context typedef.
12652 * c-opts.c (c_common_handle_option): Pass global_dc to
12653 handle_generated_option.
12654
d4d24ba4
JM
126552010-10-04 Joseph Myers <joseph@codesourcery.com>
12656
12657 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12658 handle_generated_option.
12659
478a1c5b
ILT
126602010-10-03 Ian Lance Taylor <iant@google.com>
12661
12662 * c.opt (-fplan9-extensions): New option.
12663
82a1c2fe
FXC
126642010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12665
12666 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12667 Remove.
12668 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12669 of duplicating code.
12670
92902b1b
IS
126712010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12672
12673 * c-common.c: Add two new entries for @optional
12674 and @required keywords.
12675
12676 merge from FSF 'apple/trunk' branch.
3f8257db 12677 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12678
12679 Radar 4386773
12680 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12681 objective-c keywords.
12682 (objc_set_method_opt): New declaration.
12683 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12684
46625112
JM
126852010-09-30 Joseph Myers <joseph@codesourcery.com>
12686
12687 * c-common.c (handle_optimize_attribute): Pass &global_options to
12688 cl_optimization_save and cl_optimization_restore.
12689 * c-opts.c (c_common_handle_option): Pass &global_options to
12690 handle_generated_option.
12691 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12692 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12693 &global_options to cl_optimization_restore.
12694
49b91f05
NP
126952010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12696
12697 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12698 Objective-C/Objective-C++ keywords.
12699
13ed556f 127002010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12701
9faeb493
UB
12702 Merge from 'apple/trunk' branch on FSF servers.
12703
3f8257db 12704 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12705
12706 Radar 4281748
12707 * c-common.h (objc_check_global_decl): New declaration.
12708 * stub-objc.c (objc_check_global_decl): New stub.
12709
f0036cca
JM
127102010-09-29 Joseph Myers <joseph@codesourcery.com>
12711
12712 * c.opt: Don't use VarExists.
12713
e3339d0f
JM
127142010-09-29 Joseph Myers <joseph@codesourcery.com>
12715
12716 * c-common.c (c_cpp_error): Update names of diagnostic_context
12717 members.
12718 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12719 cl_optimization members.
12720 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12721 sanitize_cpp_opts, finish_options): Update names of cpp_options
12722 members.
12723
1973201f
NP
127242010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
12725
12726 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
12727 (objc_is_reserved_word): Removed.
12728 * c-common.c: Updated comments.
12729 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12730 objc_is_reserved_word.
12731 * stub-objc.c (objc_is_reserved_word): Removed.
12732
f7e71da5
IS
127332010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12734
9faeb493 12735 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
12736 include attributes.
12737 (objc_start_method_definition): Likewise.
12738 (objc_build_keyword_decl): Likewise.
12739 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12740 (objc_start_method_definition): Likewise.
12741 (objc_build_keyword_decl): Likewise.
12742
c165dca7
IS
127432010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12744
12745 * c-common.h (objc_start_class_interface): Adjust prototype.
12746 (objc_start_category_interface): Likewise.
12747 (objc_start_protocol): Likewise.
12748 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12749 (objc_start_class_interface): Likewise.
12750 (objc_start_category_interface): Likewise.
12751
7458026b
ILT
127522010-09-27 Ian Lance Taylor <iant@google.com>
12753
12754 * c-common.c (c_common_attribute_table): Add no_split_stack.
12755 (handle_no_split_stack_attribute): New static function.
12756
b581b85b
NP
127572010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
12758
9faeb493 12759 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 12760
3f8257db 12761 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 12762
9faeb493 12763 Radar 4229905
b581b85b
NP
12764 * c-common.h (objc_have_common_type): New declaration.
12765 * stub-objc.c (objc_have_common_type): New stub.
12766
12767 2005-06-22 Ziemowit Laski <zlaski@apple.com>
12768
12769 Radar 4154928
12770 * c-common.h (objc_common_type): New prototype.
9faeb493 12771 * stub-objc.c (objc_common_type): New stub.
b581b85b 12772
46a4da10
JH
127732010-09-24 Jan Hubicka <jh@suse.cz>
12774
12775 * c-common.c (handle_leaf_attribute): New function.
12776 (struct attribute_spec c_common_att): Add leaf.
12777
e200444e
JM
127782010-09-22 Joseph Myers <joseph@codesourcery.com>
12779
12780 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12781 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12782 -dump, -dump=, -imacros, -imacros=, -include, -include=,
12783 -include-barrier, -include-directory, -include-directory=,
12784 -include-directory-after, -include-directory-after=,
12785 -include-prefix, -include-prefix=, -include-with-prefix,
12786 -include-with-prefix=, -include-with-prefix-after,
12787 -include-with-prefix-after=, -include-with-prefix-before,
12788 -include-with-prefix-before=, -no-integrated-cpp,
12789 -no-line-commands, -no-standard-includes, -no-warnings, -output,
12790 -output=, -pedantic, -pedantic-errors, -preprocess,
12791 -print-missing-file-dependencies, -trace-includes, -traditional,
12792 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12793 -user-dependencies, -verbose, -write-dependencies,
12794 -write-user-dependencies, no-integrated-cpp, traditional): New.
12795
29a80ea6
NP
127962010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12797
12798 PR objc/23710
ac1fc2fc
NP
12799 * c-common.h (objc_start_method_definition): Return bool instead
12800 of void.
12801 * stub-objc.c (objc_start_method_definition): Return bool instead
12802 of void.
12803
128042010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12805
12806 PR objc/25965
12807 * c-common.h (objc_get_interface_ivars): New declaration.
12808 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 12809
de621752
ILT
128102010-09-15 Ian Lance Taylor <iant@google.com>
12811
12812 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 12813 messages. Remove period at end of warning message.
de621752 12814
ba885ec5
NS
128152010-09-09 Nathan Sidwell <nathan@codesourcery.com>
12816
12817 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12818 (handle_alias_attribute): ... here.
12819 (handle_ifunc_attribute): New.
12820
c5ee1358
MM
128212010-09-06 Mark Mitchell <mark@codesourcery.com>
12822
12823 * c-common.h (do_warn_double_promotion): Declare.
12824 * c-common.c (do_warn_double_promotion): Define.
12825
0a0b3574
MM
128262010-09-05 Mark Mitchell <mark@codesourcery.com>
12827
12828 * c.opt (Wdouble-promotion): New.
12829
d1779886
JM
128302010-09-02 Joseph Myers <joseph@codesourcery.com>
12831
12832 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12833 fvtable-thunks, fxref): Mark no longer supported in help text.
12834
2d2bd949
JM
128352010-09-02 Joseph Myers <joseph@codesourcery.com>
12836
12837 * c.opt (Wimport, fall-virtual, falt-external-templates,
12838 fdefault-inline, fenum-int-equiv, fexternal-templates,
12839 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12840 fname-mangling-version-, fnew-abi, fnonnull-objects,
12841 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12842 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12843 applicable.
12844 (fhandle-exceptions): Mark with Alias and Warn.
12845 * c-opts.c (c_common_handle_option): Don't handle options marked
12846 as ignored.
12847
5de8299c
JM
128482010-09-02 Joseph Myers <joseph@codesourcery.com>
12849
12850 * c.opt (Wcomments, Werror-implicit-function-declaration,
12851 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12852 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12853 aliases.
12854 * c-common.c (option_codes): Use OPT_Wcomment instead of
12855 OPT_Wcomments.
12856 * c-opts.c (warning_as_error_callback, c_common_handle_option):
12857 Don't handle options marked as aliases.
12858
0ceb0201
RG
128592010-08-25 Richard Guenther <rguenther@suse.de>
12860
12861 * c-common.c (c_common_get_alias_set): Remove special
12862 handling for pointers.
12863
ac47786e
NF
128642010-08-20 Nathan Froyd <froydnj@codesourcery.com>
12865
12866 * c-common.c: Use FOR_EACH_VEC_ELT.
12867 * c-gimplify.c: Likewise.
12868 * c-pragma.c: Likewise.
12869
c878765b
JM
128702010-08-16 Joseph Myers <joseph@codesourcery.com>
12871
12872 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
12873 RejectDriver.
12874 (MMDX): Change back to MMD. Mark NoDriverArg instead of
12875 RejectDriver.
12876 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12877 instead of OPT_MDX and OPT_MMDX.
12878
603349bf
JM
128792010-08-16 Joseph Myers <joseph@codesourcery.com>
12880
12881 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12882
644fa7ac
JM
128832010-08-12 Joseph Myers <joseph@codesourcery.com>
12884
12885 * c.opt (MD, MMD): Change to MDX and MMDX.
12886 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12887
481e1176
JM
128882010-08-11 Joseph Myers <joseph@codesourcery.com>
12889
12890 * c-opts.c (c_common_handle_option): Call handle_generated_option
12891 instead of handle_option.
12892
ac8dc9f7
NF
128932010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12894
12895 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12896 (maybe_apply_renaming_pragma): Delete unneeded declarations.
12897
4f8c876d
NF
128982010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12899
12900 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
12901 (pending_redefine_extname): Change type to a VEC.
12902 (add_to_renaming_pragma_list): Update for new type of
12903 pending_redefine_extname.
ac8dc9f7 12904 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 12905
3b0c690e
AC
129062010-08-04 Arnaud Charlet <charlet@adacore.com>
12907
12908 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12909 visited.
12910 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12911 decide whether a type has already been declared/seen.
12912 Do not go to the original type.
12913 (dump_nested_types): New parameter forward.
12914 Generate forward declaration if needed and mark type as visited.
12915 (print_ada_declaration): Call dump_nested_types if not already done.
12916 Mark types as visited.
12917
1890bccc
JM
129182010-08-03 Joseph Myers <joseph@codesourcery.com>
12919
12920 * c.opt (-print-pch-checksum): Remove option.
12921 * c-opts.c (c_common_handle_option): Don't handle
12922 OPT_print_pch_checksum.
12923
5f20c657
JM
129242010-07-27 Joseph Myers <joseph@codesourcery.com>
12925
12926 * c-common.h (c_common_handle_option): Update prototype and return
12927 value type.
12928 * c-opts.c (c_common_handle_option): Update prototype and return
12929 value type. Update calls to handle_option and
12930 enable_warning_as_error.
12931
f551f80c
JJ
129322010-07-27 Jakub Jelinek <jakub@redhat.com>
12933
12934 PR c/45079
12935 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12936
61ff2bdc
JM
129372010-07-27 Joseph Myers <joseph@codesourcery.com>
12938
12939 * c-common.h (c_common_missing_argument): Remove.
12940 * c-opts.c (c_common_missing_argument): Remove.
12941 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12942 idirafter, imacros, include, isysroot, isystem, iquote): Add
12943 MissingArgError.
12944 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
12945
7a9bf9a4
JM
129462010-07-27 Joseph Myers <joseph@codesourcery.com>
12947
12948 * c-common.h (c_common_option_lang_mask,
12949 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
12950 New.
12951 (c_common_init_options): Update prototype.
12952 * c-opts.c (c_common_option_lang_mask): New.
12953 (c_common_initialize_diagnostics): Split out of
12954 c_common_init_options.
12955 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
12956 New.
12957 (c_common_init_options): Update prototype. Use decoded options in
12958 search for -lang-asm.
12959
910ad8de
NF
129602010-07-15 Nathan Froyd <froydnj@codesourcery.com>
12961
12962 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
12963 * c-format.c: Likewise.
12964
718f9c0f
MLI
129652010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
12966
12967 * c-common.h: Include diagnostic-core.h. Error if already
12968 included.
12969 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
12970
4d451982
MLI
129712010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
12972
adfac8df 12973 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
12974 Do not include expr.h
12975 (vector_mode_valid_p): Move here.
12976
119fe915
SB
129772010-06-21 DJ Delorie <dj@redhat.com>
12978
12979 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
12980 allow these pragmas anywhere.
12981
129822010-06-14 Jakub Jelinek <jakub@redhat.com>
12983
12984 PR bootstrap/44509
12985 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
12986 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
12987 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
12988 ggc_strdup instead of xstrdup.
12989
129902010-06-10 Jakub Jelinek <jakub@redhat.com>
12991
12992 * c-cppbuiltin.c: Include cpp-id-data.h.
12993 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
12994 (lazy_hex_fp_value): New function.
12995 (builtin_define_with_hex_fp_value): Provide definitions lazily.
12996
6662d794
MLI
129972010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12998
12999 * c-gimplify.c: Do not include tree-flow.h
13000
38f8b050
JR
130012010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13002
13003 PR other/44034
13004 * c-common.c: Rename targetm member:
13005 targetm.enum_va_list -> targetm.enum_va_list_p
13006
9589f23e
AS
130072010-06-28 Anatoly Sokolov <aesok@post.ru>
13008
13009 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13010
3b06d379
SB
130112010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13012
13013 * c-cppbuiltin.c: Do not include except.h.
13014
d166d4c3
AK
130152010-06-24 Andi Kleen <ak@linux.intel.com>
13016
9faeb493
UB
13017 * c-common.c (warn_for_omitted_condop): New.
13018 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13019
70cb8be6
JM
130202010-06-21 Joseph Myers <joseph@codesourcery.com>
13021
13022 * c.opt (lang-objc): Remove.
13023 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13024
a4c97feb
JR
130252010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13026
13027 * c-opts.c: Include "tm_p.h".
13028
6e2f1956
JM
130292010-06-20 Joseph Myers <joseph@codesourcery.com>
13030
13031 * c-common.c (parse_optimize_options): Update call to
13032 decode_options.
13033
bc87224e
NF
130342010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13035
13036 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13037 new type of types_used_by_cur_var_decl.
13038
b49cf425
JR
130392010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13040
13041 PR bootstrap/44512
13042 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13043 for C++ standard compliance.
13044
59f9c2ed
JM
130452010-06-16 Jason Merrill <jason@redhat.com>
13046
13047 * c.opt: Add -Wnoexcept.
13048
33766b66
RG
130492010-06-16 Richard Guenther <rguenther@suse.de>
13050
13051 PR c/44555
13052 * c-common.c (c_common_truthvalue_conversion): Remove
13053 premature and wrong optimization concering ADDR_EXPRs.
13054
eff7e30c
AC
130552010-06-15 Arnaud Charlet <charlet@adacore.com>
13056
13057 * c-ada-spec.c (dump_sloc): Remove column info.
13058 (is_simple_enum): New function.
13059 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13060 enum types when relevant.
13061
6312e84d
MLI
130622010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13063
9faeb493 13064 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13065 location.
13066
1cb42611
JM
130672010-06-10 Joseph Myers <joseph@codesourcery.com>
13068
13069 * c-opts.c (c_common_handle_option): Don't handle
13070 OPT_fshow_column.
13071
a9429e29
LB
130722010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13073
13074 * c-pragma.c (push_alignment): Use typed GC allocation.
13075 (handle_pragma_push_options): Likewise.
13076
13077 * c-common.c (parse_optimize_options): Likewise.
13078
13079 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13080 option.
13081
5498f011
JM
130822010-06-07 Joseph Myers <joseph@codesourcery.com>
13083
13084 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13085 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13086 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13087 flag_signed_bitfields, warn_strict_null_sentinel,
13088 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13089 flag_gen_declaration, flag_no_gnu_keywords,
13090 flag_implement_inlines, flag_implicit_templates,
13091 flag_implicit_inline_templates, flag_optional_diags,
13092 flag_elide_constructors, flag_default_inline, flag_rtti,
13093 flag_conserve_space, flag_access_control, flag_check_new,
13094 flag_new_for_scope, flag_weak, flag_working_directory,
13095 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13096 flag_enforce_eh_specs, flag_threadsafe_statics,
13097 flag_pretty_templates): Remove.
13098 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13099 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13100 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13101 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13102 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13103 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13104 flag_no_gnu_keywords, flag_implement_inlines,
13105 flag_implicit_templates, flag_implicit_inline_templates,
13106 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13107 flag_rtti, flag_conserve_space, flag_access_control,
13108 flag_check_new, flag_new_for_scope, flag_weak,
13109 flag_working_directory, flag_use_cxa_atexit,
13110 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13111 flag_threadsafe_statics, flag_pretty_templates,
13112 warn_strict_null_sentinel): Remove.
13113 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13114 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13115 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13116 fimplicit-inline-templates, fimplicit-templates,
13117 flax-vector-conversions, fms-extensions, fnil-receivers,
13118 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13119 frtti, fshort-double, fshort-enums, fshort-wchar,
13120 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13121 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13122 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13123 gen-decls, undef): Use Var.
13124 (fdefault-inline, foptional-diags): Document as doing nothing.
13125 * c-opts.c (c_common_handle_option): Remove cases for options now
13126 using Var. Mark ignored options as such.
13127
39dabefd
SB
131282010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13129
9faeb493 13130 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13131 * c-common.def: Likewise.
13132 * c-common.h: Likewise.
13133 * c-cppbuiltin.c: Likewise.
13134 * c-dump.c: Likewise.
13135 * c-format.c: Likewise.
13136 * c-format.h : Likewise.
13137 * c-gimplify.c: Likewise.
13138 * c-lex.c: Likewise.
13139 * c-omp.c: Likewise.
13140 * c.opt: Likewise.
13141 * c-opts.c: Likewise.
13142 * c-pch.c: Likewise.
13143 * c-ppoutput.c: Likewise.
13144 * c-pragma.c: Likewise.
13145 * c-pragma.h: Likewise.
13146 * c-pretty-print.c: Likewise.
13147 * c-pretty-print.h: Likewise.
13148 * c-semantics.c: Likewise.
13149 * stub-objc.c: Likewise.
13150
13151 * c-common.c: Include gt-c-family-c-common.h.
13152 * c-pragma.c: Include gt-c-family-c-pragma.h.
13153\f
877e3c2a 13154Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13155
13156Copying and distribution of this file, with or without modification,
13157are permitted in any medium without royalty provided the copyright
13158notice and this notice are preserved.