]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
libphobos: Check in missing core.sync package module
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
d9176e64
GA
12022-05-27 Marek Polacek <polacek@redhat.com>
2
3 PR c/90658
4 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
5
62022-05-27 Jakub Jelinek <jakub@redhat.com>
7
8 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
9
57f2ce6a
GA
102022-05-20 David Malcolm <dmalcolm@redhat.com>
11
12 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
13 and "override".
14 * c-pretty-print.h: Likewise.
15
1cda629f
GA
162022-05-18 Marek Polacek <polacek@redhat.com>
17
18 PR c/105131
19 * c.opt (Wenum-int-mismatch): New.
20
212022-05-18 Marek Polacek <polacek@redhat.com>
22
23 PR c++/105497
24 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
25 enumerator when it was marked with attribute unused.
26
272022-05-18 Eric Botcazou <ebotcazou@adacore.com>
28
29 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
30 floating-point complex types.
31 <POINTER_TYPE>: Do not use limited_with clause if the designated
32 type is a scalar type.
33
3d9439b1
GA
342022-05-17 Jakub Jelinek <jakub@redhat.com>
35
36 * c-omp.cc (c_finish_omp_depobj): Handle
37 OMP_CLAUSE_DEPEND_INOUTSET.
38
702bd11f
GA
392022-05-16 Jason Merrill <jason@redhat.com>
40
41 PR c/105492
42 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
43 here.
44
452022-05-16 Martin Liska <mliska@suse.cz>
46
47 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
48 (c_common_nodes_and_builtins): Likewise.
49 * c-format.cc (check_tokens): Likewise.
50 (check_plain): Likewise.
51 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
52 (init_pragma): Likewise.
53 * known-headers.cc (get_string_macro_hint): Likewise.
54 (get_stdlib_header_for_name): Likewise.
55 * c-attribs.cc: Likewise.
56
9df4ffe4
GA
572022-05-13 Richard Biener <rguenther@suse.de>
58
59 * c-omp.cc: Remove gimple-fold.h include.
60
49ace834
GA
612022-05-12 Jakub Jelinek <jakub@redhat.com>
62
63 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
64 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
65 if null_pointer_node.
66
d0d513b5
GA
672022-05-11 Martin Liska <mliska@suse.cz>
68
69 PR target/105355
70 * c-opts.cc (c_common_handle_option): Change option name.
71 * c.opt: Remove Joined and use Separate option.
72
bd022ff9
GA
732022-05-09 Alex Coplan <alex.coplan@arm.com>
74
75 * c-common.h (get_dump_info): Delete.
76 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
77 from the global dump_manager instead of the (now obsolete)
78 get_dump_info.
79 * c-opts.cc (original_dump_file): Delete.
80 (original_dump_flags): Delete.
81 (c_common_parse_file): Switch to using global dump_manager to
82 manage the original dump file; fix leak of dump file.
83 (get_dump_info): Delete.
84
a1947c92
GA
852022-05-07 Marek Polacek <polacek@redhat.com>
86
87 PR c++/101833
88 PR c++/47634
89 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
90 with FN being either a function declaration or function type. Use
91 maybe_adjust_arg_pos_for_attribute.
92 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
93 check_function_format.
94 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
95 (positional_argument): Adjust.
96 * c-format.cc (get_constant): Rename to ...
97 (validate_constant): ... this. Take EXPR by reference. Return bool
98 instead of tree.
99 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
100 return value of validate_constant.
101 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
102 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
103 (check_function_format): Adjust a parameter name.
104 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
105
3e7db517
GA
1062022-05-04 Marek Polacek <polacek@redhat.com>
107
108 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
109 char to int.
110
95874f95
GA
1112022-04-30 Jason Merrill <jason@redhat.com>
112
113 PR c/100545
114 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
115 and typedef.
116 * c-common.cc (set_underlying_type): Add assert.
117
01ad093b
GA
1182022-04-26 Patrick Palka <ppalka@redhat.com>
119
120 PR c++/105304
121 * c-common.cc (verify_tree) [restart]: Move up to before the
122 NULL test.
123
da066c42
GA
1242022-04-11 Jakub Jelinek <jakub@redhat.com>
125
126 PR c++/105186
127 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
128 and __int%d__ builtin types, initialize corresponding ridpointers
129 entry.
130
150ab50f
GA
1312022-03-30 Marek Polacek <polacek@redhat.com>
132
133 PR c++/101030
134 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
135 conversion_warning when OP1 is null.
136
1372022-03-30 Thomas Schwinge <thomas@codesourcery.com>
138
139 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
140 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
141 option properties.
142
1432022-03-30 Thomas Schwinge <thomas@codesourcery.com>
144
145 * c.opt (Wuse-after-free): Remove.
146
1472022-03-30 Thomas Schwinge <thomas@codesourcery.com>
148
149 * c.opt (Warray-bounds): Remove.
150
d2906412
GA
1512022-03-26 Thomas Schwinge <thomas@codesourcery.com>
152
153 * c.opt: Properly quote comment.
154
31e989a2
GA
1552022-03-25 Eric Botcazou <ebotcazou@adacore.com>
156
157 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
158 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
159 the referenced type instead. Deal with the anonymous original type
160 of a typedef'ed type. In the actual access case, follow the chain
161 of external subtypes.
162 <TYPE_DECL>: Tidy up control flow.
163
d156bb87
GA
1642022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
165
166 * c-ada-spec.cc: Change array length
167
d7f00da1
GA
1682022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
169
170 * c-common.cc (c_family_tests): Call the new tests.
171 * c-common.h (c_diagnostic_tests): Declare.
172 (c_opt_problem_cc_tests): Likewise.
173
1742022-03-19 Jakub Jelinek <jakub@redhat.com>
175
176 PR c++/101515
177 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
178 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
179 be printed.
180
9fc8f278
GA
1812022-03-16 Christophe Lyon <christophe.lyon@arm.com>
182 Roger Sayle <roger@nextmovesoftware.com>
183
184 PR c/98198
185 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
186
1872022-03-16 Patrick Palka <ppalka@redhat.com>
188
189 PR c++/96780
190 * c.opt: Add -ffold-simple-inlines.
191
b9756c08
GA
1922022-03-13 Tobias Burnus <tobias@codesourcery.com>
193
194 * c-target.def (check_string_object_format_arg): Fix description typo.
195
57eeedda
GA
1962022-03-12 Thomas Schwinge <thomas@codesourcery.com>
197
198 PR other/65095
199 * c-common.h (c_omp_map_clause_name): Remove.
200 * c-omp.cc (c_omp_map_clause_name): Remove.
201
8cc4f9cd
GA
2022022-03-09 Jakub Jelinek <jakub@redhat.com>
203
204 PR c/104711
205 * c-opts.cc (c_common_post_options): Don't enable
206 -Wshift-negative-value from -Wextra for C++20 or later.
207 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
208 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
209 instead of TYPE_UNSIGNED.
210
e6533e2e
GA
2112022-03-07 Jakub Jelinek <jakub@redhat.com>
212
213 * c-attribs.cc: Fix up duplicated word issue in a comment.
214
12d4552e
GA
2152022-03-01 Martin Liska <mliska@suse.cz>
216
217 PR ipa/104533
218 * c-attribs.cc (handle_target_clones_attribute): Use
219 get_target_clone_attr_len and report warning soon.
220
0bdb0498
GA
2212022-02-17 Jonathan Wakely <jwakely@redhat.com>
222
223 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
224 (handle_pragma_weak): Likewise.
225 (handle_pragma_scalar_storage_order): Likewise.
226 (handle_pragma_redefine_extname): Likewise.
227 (handle_pragma_visibility): Likewise.
228 (handle_pragma_diagnostic): Likewise.
229 (handle_pragma_target): Likewise.
230 (handle_pragma_optimize): Likewise.
231 (handle_pragma_push_options): Likewise.
232 (handle_pragma_pop_options): Likewise.
233 (handle_pragma_reset_options): Likewise.
234 (handle_pragma_message): Likewise.
235 (handle_pragma_float_const_decimal64): Likewise.
236
cb3afcd2
GA
2372022-02-16 Jakub Jelinek <jakub@redhat.com>
238
239 PR c/104531
240 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
241 build_binary_op with LT_EXPR and only if that doesn't return
242 error_mark_node call build_modify_expr.
243
2442022-02-16 Jakub Jelinek <jakub@redhat.com>
245
246 PR c/104510
247 * c-common.cc (shorten_compare): Convert original arguments to
248 the original *restype_ptr when mixing binary and decimal float.
249
1f8a09d2
GA
2502022-02-14 Richard Biener <rguenther@suse.de>
251
252 PR c/104505
253 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
254 internal function calls.
255
e8d68f0a
GA
2562022-02-11 Richard Biener <rguenther@suse.de>
257
258 * c-attribs.cc (c_common_attribute_table): Add entry for
259 vector_mask.
260 (handle_vector_mask_attribute): New.
261
a645583d
GA
2622022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
263
264 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
265 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
266 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
267
3adf509f
GA
2682022-02-09 Jason Merrill <jason@redhat.com>
269
270 * c-cppbuiltin.cc (c_cpp_builtins): Update values
271 of __cpp_constexpr and __cpp_concepts for C++20.
272
bb99171b
GA
2732022-01-24 Marek Polacek <polacek@redhat.com>
274
275 PR preprocessor/104030
276 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
277
9dd44357
GA
2782022-01-21 Jakub Jelinek <jakub@redhat.com>
279
280 PR c++/104148
281 * c-common.h (check_function_arguments_recurse): Add for_format
282 arg.
283 * c-common.cc (check_function_nonnull): Pass false to
284 check_function_arguments_recurse's last argument.
285 (check_function_arguments_recurse): Add for_format argument,
286 if true, don't stop on warning_suppressed_p.
287 * c-format.cc (check_format_info): Pass true to
288 check_function_arguments_recurse's last argument.
289
fe1ad141
GA
2902022-01-19 David Malcolm <dmalcolm@redhat.com>
291
292 * c-common.cc (c_common_c_tests): Rename to...
293 (c_common_cc_tests): ...this.
294 (c_family_tests): Update calls for .c to .cc renaming.
295 * c-common.h (c_format_c_tests): Rename to...
296 (c_format_cc_tests): ...this.
297 (c_indentation_c_tests): Rename to...
298 (c_indentation_cc_tests): ...this.
299 (c_pretty_print_c_tests): Rename to...
300 (c_pretty_print_cc_tests): ...this.
301 * c-format.cc (c_format_c_tests): Rename to...
302 (c_format_cc_tests): ...this.
303 * c-indentation.cc (c_indentation_c_tests): Rename to...
304 (c_indentation_cc_tests): ...this.
305 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
306 (c_pretty_print_cc_tests): ...this.
307
fc829782
GA
3082022-01-17 Martin Liska <mliska@suse.cz>
309
310 * c-ada-spec.cc: Rename .c names to .cc.
311 * c-ada-spec.h: Likewise.
312 * c-common.cc (c_build_vec_convert): Likewise.
313 (warning_candidate_p): Likewise.
314 * c-common.h (enum rid): Likewise.
315 (build_real_imag_expr): Likewise.
316 (finish_label_address_expr): Likewise.
317 (c_get_substring_location): Likewise.
318 (c_build_bind_expr): Likewise.
319 (conflict_marker_get_final_tok_kind): Likewise.
320 (c_parse_error): Likewise.
321 (check_missing_format_attribute): Likewise.
322 (invalid_array_size_error): Likewise.
323 (warn_for_multistatement_macros): Likewise.
324 (build_attr_access_from_parms): Likewise.
325 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
326 * c-format.cc: Likewise.
327 * c-gimplify.cc (c_gimplify_expr): Likewise.
328 * c-indentation.h: Likewise.
329 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
330 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
331 * c-opts.cc (c_common_post_options): Likewise.
332 (set_std_cxx23): Likewise.
333 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
334 * c-pretty-print.h: Likewise.
335
3362022-01-17 Martin Liska <mliska@suse.cz>
337
338 * c-ada-spec.c: Moved to...
339 * c-ada-spec.cc: ...here.
340 * c-attribs.c: Moved to...
341 * c-attribs.cc: ...here.
342 * c-common.c: Moved to...
343 * c-common.cc: ...here.
344 * c-cppbuiltin.c: Moved to...
345 * c-cppbuiltin.cc: ...here.
346 * c-dump.c: Moved to...
347 * c-dump.cc: ...here.
348 * c-format.c: Moved to...
349 * c-format.cc: ...here.
350 * c-gimplify.c: Moved to...
351 * c-gimplify.cc: ...here.
352 * c-indentation.c: Moved to...
353 * c-indentation.cc: ...here.
354 * c-lex.c: Moved to...
355 * c-lex.cc: ...here.
356 * c-omp.c: Moved to...
357 * c-omp.cc: ...here.
358 * c-opts.c: Moved to...
359 * c-opts.cc: ...here.
360 * c-pch.c: Moved to...
361 * c-pch.cc: ...here.
362 * c-ppoutput.c: Moved to...
363 * c-ppoutput.cc: ...here.
364 * c-pragma.c: Moved to...
365 * c-pragma.cc: ...here.
366 * c-pretty-print.c: Moved to...
367 * c-pretty-print.cc: ...here.
368 * c-semantics.c: Moved to...
369 * c-semantics.cc: ...here.
370 * c-ubsan.c: Moved to...
371 * c-ubsan.cc: ...here.
372 * c-warn.c: Moved to...
373 * c-warn.cc: ...here.
374 * cppspec.c: Moved to...
375 * cppspec.cc: ...here.
376 * stub-objc.c: Moved to...
377 * stub-objc.cc: ...here.
378
9248ee41
GA
3792022-01-15 Martin Sebor <msebor@redhat.com>
380
381 PR c/63272
382 * c.opt (-Wdangling-pointer): New option.
383
3842022-01-15 Martin Sebor <msebor@redhat.com>
385
386 PR tree-optimization/80532
387 * c.opt (-Wuse-after-free): New options.
388
617db51d
GA
3892022-01-14 David Malcolm <dmalcolm@redhat.com>
390
391 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
392 (handle_tainted_args_attribute): New.
393
ad3f0d08
GA
3942022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
395 Jason Merrill <jason@redhat.com>
396
397 PR c++/70417
398 * c.opt: Added -Wmissing-template-keyword.
399
4002022-01-13 Richard Biener <rguenther@suse.de>
401
402 PR c/104002
403 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
404
02a8a01b
GA
4052022-01-12 Martin Liska <mliska@suse.cz>
406
407 PR target/103804
408 * c-attribs.c (handle_optimize_attribute): Do not call
409 cl_optimization_compare if we seen an error.
410
01a254e3
GA
4112022-01-11 Jakub Jelinek <jakub@redhat.com>
412
413 PR c/101537
414 PR c/103881
415 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
416 and BIT_XOR_EXPR.
417
d9450aa0
GA
4182022-01-10 Richard Biener <rguenther@suse.de>
419
420 PR middle-end/101530
421 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
422 in a TARGET_EXPR to force a temporary.
423
11ce8d04
GA
4242022-01-06 Marek Polacek <polacek@redhat.com>
425
426 PR c++/103758
427 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
428 diagnostic messages.
429 (handle_pragma_diagnostic): Likewise.
430
a4ae8c37
GA
4312022-01-03 Marek Polacek <polacek@redhat.com>
432
433 PR c++/103758
434 * c-format.c (check_tokens): Accept "decl-specifier*".
435
4362022-01-03 Jakub Jelinek <jakub@redhat.com>
437
438 PR c++/103600
439 * c-attribs.c (handle_non_overlapping_attribute): New function.
440 (c_common_attribute_table): Add "non overlapping" attribute.
441
84790a9d
GA
4422021-12-30 Jakub Jelinek <jakub@redhat.com>
443
444 PR c++/103012
445 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
446 cpp_define_unused/cpp_undef calls with forced token locations
447 BUILTINS_LOCATION.
448
d1e111da
GA
4492021-12-27 Patrick Palka <ppalka@redhat.com>
450
451 PR c++/103700
452 * c-common.c (pointer_int_sum): When quiet, return
453 error_mark_node for an incomplete pointed-to type and don't
454 call size_in_bytes_loc.
455
2554e2da
GA
4562021-12-17 Jason Merrill <jason@redhat.com>
457
458 PR c++/103681
459 * c-opts.c (c_common_post_options): Update defaults.
460
774269aa
GA
4612021-12-16 Martin Liska <mliska@suse.cz>
462
463 PR target/103709
464 * c-pragma.c (handle_pragma_pop_options): Do not check
465 global options modification when an error is seen in parsing
466 of options (pragmas or attributes).
467
c8dcf64b
GA
4682021-12-12 Jonathan Wakely <jwakely@redhat.com>
469
470 * known-headers.cc: Define INCLUDE_MEMORY instead of
471 INCLUDE_UNIQUE_PTR.
472 * name-hint.h: Likewise.
473 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
474
4b4839e3
GA
4752021-12-09 Jakub Jelinek <jakub@redhat.com>
476
477 PR pch/71934
478 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
479 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
480
03a9bd05
GA
4812021-12-03 Jakub Jelinek <jakub@redhat.com>
482
483 PR pch/71934
484 * c-pch.c (struct c_pch_validity): Remove pch_init member.
485 (pch_init): Don't initialize v.pch_init.
486 (c_common_valid_pch): Don't warn and punt if .text addresses change.
487
40fa651e
GA
4882021-12-01 Jason Merrill <jason@redhat.com>
489
490 PR c++/103310
491 * c.opt: Add -fconstexpr-fp-except.
492
87cd82c8
GA
4932021-11-29 Richard Biener <rguenther@suse.de>
494
495 * c-format.c (check_format_string): Remove spurious
496 gcc_unreachable.
497
4982021-11-29 Richard Biener <rguenther@suse.de>
499
500 * c-opts.c (c_common_post_options): Remove unreachable return.
501 * c-pragma.c (handle_pragma_target): Likewise.
502 (handle_pragma_optimize): Likewise.
503
091ccc06
GA
5042021-11-25 Jakub Jelinek <jakub@redhat.com>
505
506 PR c++/102611
507 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
508 default for C++23 regardless of warn_deprecated.
509 * c-cppbuiltin.c (c_cpp_builtins): Predefine
510 __cpp_multidimensional_subscript=202110L for C++23.
511
e1d43592
GA
5122021-11-23 Martin Sebor <msebor@redhat.com>
513
514 PR middle-end/88232
515 * c.opt: Add -Winfinite-recursion.
516
9c077398
GA
5172021-11-19 Martin Sebor <msebor@redhat.com>
518
519 PR c++/33925
520 PR c/102867
521 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
522 and improve handling tof defined symbols.
523
5242021-11-19 Martin Liska <mliska@suse.cz>
525
526 Revert:
527 2021-11-18 Martin Liska <mliska@suse.cz>
528
529 * c-gimplify.c (genericize_c_loop): Use option directly.
530
483092d3
GA
5312021-11-18 Matthias Kretz <m.kretz@gsi.de>
532
533 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
534 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
535
5362021-11-18 Martin Liska <mliska@suse.cz>
537
538 * c-gimplify.c (genericize_c_loop): Use option directly.
539
280d2838
GA
5402021-11-17 Martin Uecker <uecker@gcc.gnu.org>
541
542 PR c/91038
543 PR c/29970
544 * c-common.c (pointer_int_sum): Make sure pointer expressions
545 are evaluated first when the size expression depends on for
546 variably-modified types.
547
5482021-11-17 Marek Polacek <polacek@redhat.com>
549
550 PR preprocessor/103026
551 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
552
6b1695f4
GA
5532021-11-16 Jason Merrill <jason@redhat.com>
554
555 * c-common.c (release_tree_vector): Only cache vecs smaller than
556 16 elements.
557
e2b57363
GA
5582021-11-15 Jason Merrill <jason@redhat.com>
559
560 * c.opt: Add -fimplicit-constexpr.
561 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
562 * c-opts.c (c_common_post_options): Disable below C++14.
563
5642021-11-15 Jakub Jelinek <jakub@redhat.com>
565
566 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
567 Duplicate to both OMP_TARGET and OMP_TEAMS.
568
8d36a0d2
GA
5692021-11-10 Marek Polacek <polacek@redhat.com>
570
571 PR c++/101940
572 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
573 ignored_attributes.
574
c9b1334e
GA
5752021-11-09 David Malcolm <dmalcolm@redhat.com>
576
577 * c-pragma.c (GCC_BAD_AT): New macro.
578 (GCC_BAD2_AT): New macro.
579 (handle_pragma_pack): Use the location of the pertinent token when
580 issuing diagnostics about invalid constants/actions, and trailing
581 junk.
582 (handle_pragma_target): Likewise for non-string "GCC option".
583 (handle_pragma_message): Likewise for trailing junk.
584
18ae471f
GA
5852021-11-03 Joseph Myers <joseph@codesourcery.com>
586
587 PR c/103031
588 * c-common.c (convert_and_check): Add argument init_const. Call
589 convert_init if init_const.
590 * c-common.h (convert_and_check): Update prototype.
591 (convert_init): New prototype.
592
cf82e8d9
GA
5932021-11-01 David Malcolm <dmalcolm@redhat.com>
594
595 * c-lex.c (c_lex_with_flags): When complaining about non-printable
596 CPP_OTHER tokens, set the "escape on output" flag.
597
04a2cf3f
GA
5982021-10-27 Jakub Jelinek <jakub@redhat.com>
599
600 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
601 POINTER_PLUS_EXPR.
602 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
603 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
604
6052021-10-27 Jakub Jelinek <jakub@redhat.com>
606
607 PR c++/102854
608 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
609 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
610 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
611 conversions temporarily clear the 3rd bit from d->kind while walking
612 subtrees.
613 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
614 if possibly non-rectangular.
615
ae5c5406
GA
6162021-10-21 Jakub Jelinek <jakub@redhat.com>
617
618 PR middle-end/64888
619 * c-omp.c (c_omp_predefined_variable): Return true also for
620 ubsan_create_data created artificial variables.
621
5d5885c9
GA
6222021-10-14 Joseph Myers <joseph@codesourcery.com>
623
624 * c-format.c (printf_length_specs, scanf_length_specs)
625 (print_char_table, scan_char_table): Support DFP formats for C2X.
626 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
627 (T2X_D32, T2X_D64, T2X_D128): New macros.
628
6292021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
630
631 * c-omp.c (c_omp_check_context_selector): Rename to
632 omp_check_context_selector and move to omp-general.c.
633 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
634 move to omp-general.c.
635
52055987
GA
6362021-10-12 Joseph Myers <joseph@codesourcery.com>
637
638 * c-format.c (print_char_table): Add %b and %B formats.
639 (scan_char_table): Add %b format.
640 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
641 (T2X_UPD, T2X_UIM): New macros.
642
6432021-10-12 Jakub Jelinek <jakub@redhat.com>
644
645 * c-omp.c (c_finish_omp_atomic): Use
646 clear_padding_type_may_have_padding_p.
647
ce6eec39
GA
6482021-10-08 Martin Liska <mliska@suse.cz>
649
650 * c-opts.c (c_common_post_options): Use new macro
651 OPTION_SET_P.
652
50e20ee6
GA
6532021-10-07 Martin Liska <mliska@suse.cz>
654
655 * c-common.c (parse_optimize_options): Make
656 save_opt_decoded_options a pointer type.
657
57c7ec62
GA
6582021-10-06 Jakub Jelinek <jakub@redhat.com>
659
660 PR tree-optimization/102571
661 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
662 padding, but the non-padding bits are contiguous set of bytes
663 by adjusting the memcmp call arguments instead of emitting
664 __builtin_clear_padding and then comparing all the type's bytes.
665
6662021-10-06 Jakub Jelinek <jakub@redhat.com>
667
668 PR c++/102612
669 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
670 __cpp_constexpr to 202110L rather than 201907L.
671
da9c5f78
GA
6722021-10-04 Marek Polacek <polacek@redhat.com>
673
674 PR c++/97573
675 * c-common.h (do_warn_array_compare): Declare.
676 * c-warn.c (do_warn_array_compare): New.
677 * c.opt (Warray-compare): New option.
678
e3e07b89
GA
6792021-10-02 Iain Sandoe <iain@sandoe.co.uk>
680
681 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
682 NULL, this is not needed.
683
9d116bcc
GA
6842021-10-01 Martin Sebor <msebor@redhat.com>
685
686 PR c/102103
687 * c-common.c (decl_with_nonnull_addr_p): Handle members.
688 Check and perform warning suppression.
689 (c_common_truthvalue_conversion): Enhance warning suppression.
690
6912021-10-01 Martin Liska <mliska@suse.cz>
692
693 PR target/102552
694 * c-common.c (parse_optimize_options): decoded_options[0] is
695 used for program name, so merged_decoded_options should also
696 respect that.
697
6982021-10-01 Jakub Jelinek <jakub@redhat.com>
699 Richard Biener <rguenther@suse.de>
700
701 PR sanitizer/102515
702 * c-ubsan.c (ubsan_instrument_division): Check the right
703 flag_sanitize_recover bit, depending on which sanitization
704 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
705 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
706 and SANITIZE_DIVIDE is enabled, neither check is known
707 to be false and flag_sanitize_recover bits for those two
708 aren't the same, emit both __ubsan_handle_divrem_overflow
709 and __ubsan_handle_divrem_overflow_abort calls.
710
7112021-10-01 Martin Liska <mliska@suse.cz>
712
713 * c-common.c (parse_optimize_options): Combine optimize
714 options with what was provided on the command line.
715
7162021-10-01 Jakub Jelinek <jakub@redhat.com>
717
718 * c-omp.c (c_omp_split_clauses): Also copy
719 OMP_CLAUSE_ORDER_REPRODUCIBLE.
720
cf966403
GA
7212021-09-27 Martin Liska <mliska@suse.cz>
722
723 * c-opts.c (c_common_init_options_struct): Set also
724 x_flag_default_complex_method.
725
e4777439
GA
7262021-09-22 Jakub Jelinek <jakub@redhat.com>
727
728 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
729
62498024
GA
7302021-09-20 Matthias Kretz <m.kretz@gsi.de>
731
732 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
733 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
734 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
735 __ROUNDING_MATH__ according to the new optimization flags.
736
cf74e7b5
GA
7372021-09-18 Jakub Jelinek <jakub@redhat.com>
738
739 * c-omp.c (c_omp_split_clauses): Split order clause also to
740 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
741
0a4cb439
GA
7422021-09-17 Jakub Jelinek <jakub@redhat.com>
743
744 * c-omp.c (c_finish_omp_atomic): Avoid creating
745 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
746 create_tmp_var and add a zero initializer to TARGET_EXPRs that
747 had NULL initializer. When omitting operands after v = x,
748 use type of v rather than type of x. Fix type of vtmp
749 TARGET_EXPR.
750
07985c47
GA
7512021-09-13 Jason Merrill <jason@redhat.com>
752
753 * c.opt: Add -Winterference-size.
754 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
755 and __GCC_CONSTRUCTIVE_SIZE.
756
a26206ec
GA
7572021-09-10 Jakub Jelinek <jakub@redhat.com>
758
759 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
760 * c-omp.c: Include gimple-fold.h.
761 (c_finish_omp_atomic): Add r and weak arguments. Add support for
762 OpenMP 5.1 atomics.
763
f84e2f0b
GA
7642021-09-09 qing zhao <qing.zhao@oracle.com>
765
766 * c-attribs.c (handle_uninitialized_attribute): New function.
767 (c_common_attribute_table): Add "uninitialized" attribute.
768
b6db7cd4
GA
7692021-09-08 liuhongt <hongtao.liu@intel.com>
770
771 * c-common.c (excess_precision_mode_join): Update below comments.
772 (c_ts18661_flt_eval_method): Set excess_precision_type to
773 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
774 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
775 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
776 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
777
b2748138
GA
7782021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
779
780 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
781
7b739540
GA
7822021-09-03 Eric Botcazou <ebotcazou@adacore.com>
783
784 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
785 and -gnatwu warning for the package specification.
786
e11c6046
GA
7872021-09-01 Iain Sandoe <iain@sandoe.co.uk>
788
789 * c-attribs.c (handle_unavailable_attribute): New.
790
1e2f030b
GA
7912021-08-30 Jason Merrill <jason@redhat.com>
792
793 * c.opt: Add -Wmissing-requires.
794
85d77ac4
GA
7952021-08-25 Lewis Hyatt <lhyatt@gmail.com>
796
797 PR other/93067
798 * c-opts.c (c_common_input_charset_cb): New function.
799 (c_common_post_options): Call new function
800 diagnostic_initialize_input_context().
801
7c9e1645
GA
8022021-08-20 Tobias Burnus <tobias@codesourcery.com>
803
804 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
805 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
806 "di" and "u", respecitively; fill with BADLEN to match
807 size of 'types'.
808 (get_init_dynamic_hwi): Split off from ...
809 (init_dynamic_diag_info): ... here. Call it.
810 (init_dynamic_gfc_info): Call it.
811
8122021-08-20 Jakub Jelinek <jakub@redhat.com>
813
814 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
815 * c-pragma.c (omp_pragmas): Add error directive.
816 * c-omp.c (omp_directives): Uncomment error directive entry.
817
6e529985
GA
8182021-08-18 Jakub Jelinek <jakub@redhat.com>
819
820 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
821 * c-pragma.c (omp_pragmas): Add nothing directive.
822 * c-omp.c (omp_directives): Uncomment nothing directive entry.
823
2d14d64b
GA
8242021-08-17 Jakub Jelinek <jakub@redhat.com>
825
826 PR c++/101539
827 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
828 * c-common.c (c_common_reswords): Add __is_layout_compatible.
829
8302021-08-17 Matt Jacobson <mhjacobson@me.com>
831
832 * c-opts.c (c_common_post_options): Default to
833 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
834
8352021-08-17 Jakub Jelinek <jakub@redhat.com>
836
837 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
838 * c-pragma.c (omp_pragmas): Add scope construct.
839 * c-omp.c (omp_directives): Uncomment scope directive entry.
840
9d1d9fc8
GA
8412021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
842
843 * c-cppbuiltin.c (c_cpp_builtins): Define
844 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
845
72be20e2
GA
8462021-08-12 Jakub Jelinek <jakub@redhat.com>
847
848 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
849 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
850 * c-pragma.c (omp_pragmas_simd): Add masked construct.
851 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
852 enumerator.
853 (c_finish_omp_masked): Declare.
854 * c-omp.c (c_finish_omp_masked): New function.
855 (c_omp_split_clauses): Handle combined masked constructs.
856
4d17ca1b
GA
8572021-07-30 Jakub Jelinek <jakub@redhat.com>
858
859 PR c++/101539
860 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
861 * c-common.c (c_common_reswords): Add
862 __is_pointer_interconvertible_base_of.
863
8642021-07-29 Richard Biener <rguenther@suse.de>
865
866 PR c/101512
867 * c-common.c (c_common_mark_addressable_vec): Look through
868 C_MAYBE_CONST_EXPR even if not at the toplevel.
869
af3f12e6
GA
8702021-07-27 Martin Sebor <msebor@redhat.com>
871
872 PR c/101585
873 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
874
ead235f6
GA
8752021-07-23 Jakub Jelinek <jakub@redhat.com>
876
877 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
878 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
879 and later.
880
8812021-07-23 Jakub Jelinek <jakub@redhat.com>
882
883 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
884 PRAGMA_OMP__LAST_ enumerators.
885
419c6c68
GA
8862021-07-21 Thomas Schwinge <thomas@codesourcery.com>
887 Joseph Myers <joseph@codesourcery.com>
888 Cesar Philippidis <cesar@codesourcery.com>
889
890 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
891
92d45509
GA
8922021-07-20 Martin Sebor <msebor@redhat.com>
893
894 * c-common.c (c_build_shufflevector): Adjust by-value argument to
895 by-const-reference.
896 * c-common.h (c_build_shufflevector): Same.
897
87277b6a
GA
8982021-07-16 Andrew Pinski <apinski@marvell.com>
899
900 PR c/101453
901 * c-common.c (parse_optimize_options): Use the correct
902 size for buffer.
903
d97d71a1
GA
9042021-07-15 Martin Sebor <msebor@redhat.com>
905
906 PR c/101289
907 PR c/97548
908 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
909
c4fee1c6
GA
9102021-07-14 Jason Merrill <jason@redhat.com>
911
912 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
913
6fba0eea
GA
9142021-07-06 Martin Sebor <msebor@redhat.com>
915
916 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
917 (gcc_cdiag_char_table): Same.
918 (gcc_cxxdiag_char_table): Same.
919
7a60a6e8
GA
9202021-07-02 Jakub Jelinek <jakub@redhat.com>
921
922 * c-common.h (enum c_omp_directive_kind): New enum.
923 (struct c_omp_directive): New type.
924 (c_omp_categorize_directive): Declare.
925 * c-omp.c (omp_directives): New variable.
926 (c_omp_categorize_directive): New function.
927
bea7c16a
GA
9282021-07-01 Eric Botcazou <ebotcazou@adacore.com>
929
930 * c-ada-spec.c (packed_layout): New global variable.
931 (dump_ada_declaration): Set it upon seeing a packed record type.
932 Do not put the "aliased" keyword if it is set.
933 (dump_ada_structure): Add Pack aspect if it is set and clear it.
934
9352021-07-01 Eric Botcazou <ebotcazou@adacore.com>
936
937 * c-ada-spec.c (check_name): Rename into...
938 (check_type_name_conflict): ...this. Minor tweak.
939 (dump_ada_function_declaration): Adjust to above renaming.
940 (dump_ada_array_domains): Fix oversight.
941 (dump_ada_declaration): Call check_type_name_conflict for variables.
942
90708f87
GA
9432021-06-25 Martin Sebor <msebor@redhat.com>
944
945 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
946 (c_common_truthvalue_conversion): Replace direct uses of
947 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
948 copy_no_warning.
949 (check_function_arguments_recurse): Same.
950 * c-gimplify.c (c_gimplify_expr): Same.
951 * c-warn.c (overflow_warning): Same.
952 (warn_logical_operator): Same.
953 (warn_if_unused_value): Same.
954 (do_warn_unused_parameter): Same.
955
9aa8327e
GA
9562021-06-24 Jakub Jelinek <jakub@redhat.com>
957
958 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
959 C_ORT_OMP_TARGET.
960 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
961 combined target constructs also add map (always, tofrom:) clause.
962
ede6c356
GA
9632021-06-15 Robin Dapp <rdapp@linux.ibm.com>
964
965 * c-attribs.c (common_handle_aligned_attribute): Remove short
966 circuit and dead code.
967
8dc48181
GA
9682021-06-14 Jonathan Wakely <jwakely@redhat.com>
969
970 PR c++/101052
971 * known-headers.cc (get_stdlib_header_for_name): Add known
972 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
973 exit, and getenv.
974
8b8c3912
GA
9752021-06-12 Jason Merrill <jason@redhat.com>
976
977 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
978
f16f65f8
GA
9792021-06-11 Jakub Jelinek <jakub@redhat.com>
980
981 PR c++/100974
982 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
983 -std=c++2b for P1938R3 consteval if support.
984
4f625f47
GA
9852021-06-09 Jason Merrill <jason@redhat.com>
986
987 PR c++/100879
988 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
989 warning.
990
438aac59
GA
9912021-06-07 Martin Liska <mliska@suse.cz>
992
993 * c-target.def: Split long lines and replace them
994 with '\n\'.
995
600f90cb
GA
9962021-06-04 Martin Sebor <msebor@redhat.com>
997
998 PR c/100783
999 * c-attribs.c (positional_argument): Bail on erroneous types.
1000
10012021-06-04 Martin Sebor <msebor@redhat.com>
1002
1003 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1004 for element presence.
1005
440c8a0a
GA
10062021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1007
1008 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1009 (dump_ada_decl_name): Likewise.
1010 (dump_anonymous_type_name): Remove parent parameter and adjust.
1011 (dump_sloc): Minor tweak.
1012 (dump_ada_array_type): Remove type parameter and adjust.
1013 (dump_ada_enum_type): Remove parent parameter and adjust.
1014 (dump_ada_node): Adjust calls to above functions.
1015 (dumped_anonymous_types): New global variable.
1016 (dump_nested_types_1): Rename into...
1017 (dump_nested_types): ...this.
1018 (dump_nested_type): Remove parent and dumped_types parameters.
1019 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1020 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1021 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1022
10232021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1024
1025 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1026 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1027
10282021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1029
1030 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1031 (htable_t): New typedef.
1032 (overloaded_names): Use it.
1033 (add_name): New function.
1034 (init_overloaded_names): Use add_name to populate the table and add
1035 special cases for sigaction and stat.
1036 (overloaded_name_p): Rename into...
1037 (overloading_index): ...this. Do not initialize overloaded_names table
1038 here. Return the index or zero.
1039 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1040 but add an overloading suffix instead.
1041 (dump_ada_specs): Initialize overloaded_names tables here.
1042
b75978d1
GA
10432021-06-01 Martin Liska <mliska@suse.cz>
1044
1045 PR other/100759
1046 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1047 to a situation where we are not in processing of an optimize
1048 pragma.
1049 * c-pragma.c (handle_pragma_pop_options): Restore target
1050 options.
1051
ee682192
GA
10522021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1053
1054 PR testsuite/100749
1055 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1056
10572021-05-31 Richard Biener <rguenther@suse.de>
1058
1059 PR c++/88601
1060 * c-common.c: Include tree-vector-builder.h and
1061 vec-perm-indices.h.
1062 (c_common_reswords): Add __builtin_shufflevector.
1063 (c_build_shufflevector): New funtion.
1064 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1065 (c_build_shufflevector): Declare.
1066
48166757
GA
10672021-05-28 Jakub Jelinek <jakub@redhat.com>
1068
1069 PR middle-end/99928
1070 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1071 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1072
10732021-05-28 Tobias Burnus <tobias@codesourcery.com>
1074
1075 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1076
2bc6dace
GA
10772021-05-25 Martin Liska <mliska@suse.cz>
1078
1079 PR tree-optimization/92860
1080 PR target/99592
1081 * c-attribs.c (handle_optimize_attribute): Save target node
1082 before calling parse_optimize_options and save it in case
1083 it changes.
1084 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1085 (handle_pragma_pop_options): Likewise here.
1086
10872021-05-25 Martin Liska <mliska@suse.cz>
1088
1089 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1090
10912021-05-25 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR middle-end/99928
1094 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1095 combined with simd and not with taskloop or for.
1096
2832d51b
GA
10972021-05-21 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR middle-end/99928
1100 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1101 on firstprivate clause copy going to target construct, and for
1102 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1103
ea34e2ed
GA
11042021-05-20 Jonathan Wakely <jwakely@redhat.com>
1105
1106 * c.opt (Wc++11-extensions, Wc++14-extensions)
1107 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1108 options.
1109
11102021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1111
1112 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1113
11142021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1115
1116 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1117 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1118 (pch_init): Renamed member.
1119 (c_common_valid_pch): Adjust access to debug_type_names.
1120
65f32e5d
GA
11212021-05-19 Martin Sebor <msebor@redhat.com>
1122
1123 PR c/100619
1124 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1125 bounds.
1126
a8daf9a1
GA
11272021-05-18 Richard Biener <rguenther@suse.de>
1128
1129 PR c/100547
1130 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1131 Reword existing nunit diagnostic.
1132
a7ffc1ef
GA
11332021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1134
1135 * c-common.c (braced_list_to_string): Return CTOR unchanged
1136 if host and target character sizes don't match.
1137
87a7d10c
GA
11382021-05-14 Martin Liska <mliska@suse.cz>
1139
1140 * c.opt: Add Warning keyword for 2 options.
1141
f9af11c7
GA
11422021-05-13 Martin Liska <mliska@suse.cz>
1143
1144 PR middle-end/100504
1145 * c-attribs.c (handle_target_clones_attribute): Expect a string
1146 argument to target_clone argument.
1147
037e3661
GA
11482021-05-11 Joseph Myers <joseph@codesourcery.com>
1149
1150 * c-lex.c (interpret_float): Handle digit separators for C2X.
1151
aa891c56
GA
11522021-05-10 Martin Liska <mliska@suse.cz>
1153
1154 * c-ada-spec.c (print_destructor): Use startswith
1155 function instead of strncmp.
1156 (dump_ada_declaration): Likewise.
1157 * c-common.c (disable_builtin_function): Likewise.
1158 (def_builtin_1): Likewise.
1159 * c-format.c (check_tokens): Likewise.
1160 (check_plain): Likewise.
1161 (convert_format_name_to_system_name): Likewise.
1162
e4ff4ffb
GA
11632021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1164
1165 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1166 complex divide
1167
c0fa3f2f
GA
11682021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1169 Nathan Sidwell <nathan@codesourcery.com>
1170 Tom de Vries <vries@codesourcery.com>
1171 Julian Brown <julian@codesourcery.com>
1172 Kwok Cheung Yeung <kcy@codesourcery.com>
1173
1174 * c.opt (Wopenacc-parallelism): New.
1175
6e81e015
GA
11762021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1177
1178 * c.opt (fopenacc-kernels=): Remove.
1179
019a9220
GA
11802021-04-08 Jakub Jelinek <jakub@redhat.com>
1181
1182 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1183 occured -> occurred.
1184 (check_alignment_of_packed_member): Fix a comment typo,
1185 memeber -> member.
1186 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1187 and onless -> unless.
1188 (warn_parm_array_mismatch): Fix comment typos, declaratation
1189 -> declaration and woud -> would. Fix up comment indentation.
1190
11912021-04-08 Martin Sebor <msebor@redhat.com>
1192
1193 PR middle-end/99883
1194 * c.opt (Wmismatched-new-delete): Correct spelling.
1195
b1da9916
GA
11962021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1197
1198 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1199 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1200 enumeral types use again the type name for the enumeration constants.
1201 (dump_ada_node): Adjust call to dump_ada_enum_type.
1202 (dump_nested_type): Likewise.
1203
f1607029
GA
12042021-04-01 Jason Merrill <jason@redhat.com>
1205
1206 PR c++/98481
1207 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1208
4493b1c1
GA
12092021-03-25 Jakub Jelinek <jakub@redhat.com>
1210
1211 PR c++/99565
1212 * c-warn.c (do_warn_duplicated_branches): Pass also
1213 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1214
6af7b307
GA
12152021-03-20 Jakub Jelinek <jakub@redhat.com>
1216
1217 PR debug/99230
1218 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1219
ceae9533
GA
12202021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1221
1222 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1223 after entering the separate class package, if any.
1224
67f10d28
GA
12252021-03-04 Richard Biener <rguenther@suse.de>
1226
1227 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1228 Handle ERROR_MARK.
1229
12302021-03-04 Jakub Jelinek <jakub@redhat.com>
1231
1232 PR c/99325
1233 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1234 (token_streamer::stream) Likewise.
1235 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1236 UNKNOWN_LOCATION.
1237
f3641ac7
GA
12382021-03-03 Jakub Jelinek <jakub@redhat.com>
1239
1240 PR c/99324
1241 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1242 instead of mark_addressable. Fix a comment typo -
1243 neutrallly -> neutrally.
1244
2c83c3fb
GA
12452021-02-28 Jakub Jelinek <jakub@redhat.com>
1246
1247 PR c/99304
1248 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1249 message - refernced -> referenced. Remove superfluous space before
1250 closing paren of function calls.
1251
daa68844
GA
12522021-02-25 Nathan Sidwell <nathan@acm.org>
1253
1254 PR c++/99166
1255 * c.opt (-flang-info-module-cmi): Renamed option.
1256
50352c6c
GA
12572021-02-19 Nathan Sidwell <nathan@acm.org>
1258
1259 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1260
bf81237e
GA
12612021-02-18 H.J. Lu <hjl.tools@gmail.com>
1262
1263 PR target/99113
1264 * c-attribs.c (c_common_attribute_table): Add the "retain"
1265 attribute.
1266 (handle_retain_attribute): New function.
1267
0e804ce3
GA
12682021-02-16 Marek Polacek <polacek@redhat.com>
1269
1270 PR c++/99062
1271 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1272 alignment argument is non-negative. Tweak a warning message.
1273
fab095da
GA
12742021-02-12 Martin Sebor <msebor@redhat.com>
1275
1276 PR c/99055
1277 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1278 print_generic_expr_to_str.
1279
4b37c3ea
GA
12802021-02-10 Richard Biener <rguenther@suse.de>
1281
1282 * c-common.c (parse_optimize_options): Free decoded_options.
1283
a19dd5e6
GA
12842021-02-04 emsr <3dw4rd@verizon.net>
1285
1286 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1287
9faaa807
GA
12882021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1289
1290 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1291 * c-lex.c (interpret_integer): Set node type for size literal.
1292
85d04a2e
GA
12932021-01-28 Jakub Jelinek <jakub@redhat.com>
1294
1295 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1296 draft from description.
1297 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1298
e62bb7f0
GA
12992021-01-26 Paul Fee <paul.f.fee@gmail.com>
1300
1301 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1302 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1303 and -std=gnu++2b
1304 * c-opts.c (set_std_cxx23): New.
1305 (c_common_handle_option): Set options when -std=c++23 is enabled.
1306 (c_common_post_options): Adjust comments.
1307 (set_std_cxx20): Likewise.
1308
161e4c08
GA
13092021-01-25 Martin Sebor <msebor@redhat.com>
1310
1311 PR c++/98646
1312 * c-common.c (check_nonnull_arg): Adjust warning text.
1313
4c9bcd5c
GA
13142021-01-17 Martin Sebor <msebor@redhat.com>
1315
1316 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1317 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1318
59cf67d1
GA
13192021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1320
1321 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1322 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1323
2f7f0d32
GA
13242021-01-15 Jakub Jelinek <jakub@redhat.com>
1325
1326 PR tree-optimization/98597
1327 * c-pretty-print.c: Include options.h.
1328 (c_fold_indirect_ref_for_warn): New function.
1329 (print_mem_ref): Use it. If it returns something that has compatible
1330 type and is TBAA compatible with zero offset, print it and return,
1331 otherwise print it using offsetof syntax or array ref syntax. Fix up
1332 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1333 argument has pointer to array type. Print pointers using the standard
1334 formatting.
1335
6851dda2
GA
13362021-01-12 Martin Sebor <msebor@redhat.com>
1337
1338 PR c/98597
1339 PR c/98592
1340 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1341 has pointer type. Remove redundant code. Avoid calling
1342 gimple_canonical_types_compatible_p.
1343
7d187e4f
GA
13442021-01-07 Martin Sebor <msebor@redhat.com>
1345
1346 PR middle-end/98578
1347 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1348 Avoid assuming acces type's size is constant. Correct condition
1349 guarding the printing of a parenthesis.
1350
942ae5be
GA
13512021-01-06 Martin Sebor <msebor@redhat.com>
1352
1353 PR c++/95768
1354 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1355 SSA_NAMEs print VLA names and GIMPLE defining statements.
1356 (print_mem_ref): New function.
1357 (c_pretty_printer::unary_expression): Call it.
1358
13592021-01-06 Richard Biener <rguenther@suse.de>
1360
1361 PR tree-optimization/95582
1362 * c-attribs.c (c_common_attribute_table): Add entry for
1363 signed_bool_precision.
1364 (handle_signed_bool_precision_attribute): New.
1365
8daa719b
GA
13662020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1367
1368 * c.opt: Add -stdlib= option and enumerations for
1369 libstdc++ and libc++.
1370
eefe499f
GA
13712020-12-16 Martin Liska <mliska@suse.cz>
1372
1373 * c.opt: Remove usage of Report.
1374
d52945ce
GA
13752020-12-14 Martin Sebor <msebor@redhat.com>
1376
1377 PR middle-end/98166
1378 PR c++/57111
1379 PR middle-end/98160
1380 * c-attribs.c (maybe_add_noinline): New function.
1381 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1382 Implicitly add attribute noinline to functions not declared inline
1383 and warn on those.
1384
ca2bd949
GA
13852020-12-09 Tobias Burnus <tobias@codesourcery.com>
1386
1387 * c-pragma.c (omp_pragmas): Add 'allocate'.
1388 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1389
f6e8e279
GA
13902020-12-08 Jakub Jelinek <jakub@redhat.com>
1391
1392 PR c++/98187
1393 * c-pragma.c (omp_pragmas): Remove "master".
1394 (omp_pragmas_simd): Add "master".
1395
bc8a7013
GA
13962020-12-07 Marek Polacek <polacek@redhat.com>
1397
1398 PR c++/98126
1399 * c-common.c (verify_tree_lim_r): New function.
1400 (verify_sequence_points): Use it. Use nullptr instead of 0.
1401
b8dd0ef7
GA
14022020-12-03 Martin Sebor <msebor@redhat.com>
1403
1404 PR c++/90629
1405 PR middle-end/94527
1406 * c-attribs.c (handle_dealloc_attribute): New function.
1407 (handle_malloc_attribute): Handle argument forms of attribute.
1408 * c.opt (-Wmismatched-dealloc): New option.
1409 (-Wmismatched-new-delete): New option.
1410
14112020-12-03 Jakub Jelinek <jakub@redhat.com>
1412
1413 PR libstdc++/93121
1414 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1415 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1416
e0f5e792
GA
14172020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
1418
1419 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1420 {__GNUC_EXECUTION_CHARSET_NAME} and
1421 _WIDE_EXECUTION_CHARSET_NAME} macros.
1422
14232020-12-01 Nathan Sidwell <nathan@acm.org>
1424
1425 * c-common.c (module, import, export): New internal tokens (with
1426 trailing space).
1427 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1428 them.
1429 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1430 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1431
14322020-12-01 Nathan Sidwell <nathan@acm.org>
1433
1434 * c-opts.c (c_common_init_options): Ask for module dependencies.
1435 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1436 * c-pch.c (c_common_valid_pch): ... does not play with C++
1437 modules.
1438 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1439 options.
1440 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1441 (fmodule-only, fmodule-mapper, fmodule-lazy)
1442 (fmodule-version-ignore, Winvalid-imported-macros)
1443 (flang-info-include-translate, flang-info-include-translate-not):
1444 New options
1445
5fbf0ecb
GA
14462020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1447
1448 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1449 (dump_ada_structure): Also deal with convention, unchecked union and
1450 bit-field for nested types. In the latter case, print an Alignment
1451 aspect along with the Pack aspect.
1452
360258da
GA
14532020-11-25 Martin Sebor <msebor@redhat.com>
1454
1455 PR bootstrap/94982
1456 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1457 -Wformat-diag.
1458
1e2c9a27
GA
14592020-11-24 Martin Sebor <msebor@redhat.com>
1460
1461 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1462
8e6198d0
GA
14632020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1464
1465 * c-attribs.c (handle_special_var_sec_attribute): New.
1466 (handle_noinit_attribute): Remove.
1467 (attr_noinit_exclusions): Rename to...
1468 (attr_section_exclusions): ...this, and add "persistent" attribute
1469 exclusion.
1470 (c_common_attribute_table): Add "persistent" attribute.
1471
7a97e2fc
GA
14722020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1473
1474 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1475 Treat opaque types like other types.
1476 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1477 supported types.
1478
82e5048e
GA
14792020-11-20 Martin Sebor <msebor@redhat.com>
1480
1481 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1482 with fewer arguments.
1483
14842020-11-20 Martin Sebor <msebor@redhat.com>
1485
1486 PR middle-end/97879
1487 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1488 Error out on invalid modes.
1489
14902020-11-20 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR libstdc++/88101
1493 * c-common.c (check_builtin_function_arguments): Handle
1494 BUILT_IN_CLEAR_PADDING.
1495
25bb75f8
GA
14962020-11-18 Nathan Sidwell <nathan@acm.org>
1497
1498 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1499
4dabb037
GA
15002020-11-17 Nathan Sidwell <nathan@acm.org>
1501
1502 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1503 after newly-added CTI_MODULE_HWM.
1504
15052020-11-17 Joseph Myers <joseph@codesourcery.com>
1506
1507 * c-cppbuiltin.c (builtin_define_float_constants): Define
1508 "*_IS_IEC_60559__" macros.
1509
15102020-11-17 Nathan Sidwell <nathan@acm.org>
1511
1512 * c-lex.c: #include "langhooks.h".
1513 (cb_undef): Maybe call preprocess_undef lang hook.
1514 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1515 lang hook.
1516 (push_command_line_include): Maybe call preprocess_main_file lang
1517 hook.
1518 (cb_file_change): Likewise.
1519 * c-ppoutput.c: #include "langhooks.h.
1520 (scan_translation_unit): Maybe call preprocess_token lang hook.
1521 (class do_streamer): New, derive from token_streamer.
1522 (directives_only_cb): Data pointer is do_streamer, call
1523 preprocess_token lang hook.
1524 (scan_translation_unit_directives_only): Use do_streamer.
1525 (print_line_1): Move src_line recording to after string output.
1526 (cb_undef): Maybe call preprocess_undef lang hook.
1527
15282020-11-17 Nathan Sidwell <nathan@acm.org>
1529
1530 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1531 code duplicating that functionality.
1532
15332020-11-17 Jakub Jelinek <jakub@redhat.com>
1534
1535 PR c/90628
1536 * c-common.c (check_builtin_function_arguments)
1537 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1538 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1539 for more builtins and argument positions.
1540
29c5d9ce
GA
15412020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1542
1543 PR objc/97854
1544 * stub-objc.c: Include c-common.h to declare enum rid.
1545
77f67db2
GA
15462020-11-13 Jakub Jelinek <jakub@redhat.com>
1547
1548 PR c++/63287
1549 * c-cppbuiltin.c: Include configargs.h.
1550 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1551 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1552 "single".
1553
15542020-11-13 Gergö Barany <gergo@codesourcery.com>
1555 Thomas Schwinge <thomas@codesourcery.com>
1556
1557 * c.opt (fopenacc-kernels): Add.
1558
15592020-11-13 Jason Merrill <jason@redhat.com>
1560
1561 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1562
15632020-11-13 Piotr H. Dabrowski <phd@phd.re>
1564
1565 PR c++/91318
1566 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1567
15682020-11-13 Martin Liska <mliska@suse.cz>
1569
1570 * c-attribs.c (build_attr_access_from_parms): Format properly.
1571
15722020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1573
1574 PR objc/90707
1575 * c-common.c (c_common_reswords): null_unspecified, nullable,
1576 nonnull, null_resettable: New keywords.
1577 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1578 RID_NONNULL, RID_NULL_RESETTABLE: New.
1579 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1580 ranges accepted for property attributes.
1581 * c-attribs.c (handle_objc_nullability_attribute): New.
1582 * c-objc.h (enum objc_property_attribute_group): Add
1583 OBJC_PROPATTR_GROUP_NULLABLE.
1584 (enum objc_property_attribute_kind):Add
1585 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1586 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1587
15882020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1589
1590 PR objc/77404
1591 * c-attribs.c (handle_objc_root_class_attribute): New
1592 * c-objc.h (objc_start_class_interface): Add a location
1593 value for the position of the class name.
1594 * c.opt: Add Wobjc-root-class.
1595 * stub-objc.c (objc_start_class_interface): Add a location
1596 value for the position of the class name.
1597
a5a11525
GA
15982020-11-12 Joseph Myers <joseph@codesourcery.com>
1599
1600 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1601 Allow scope for C. Handle standard attributes for C. Do not
1602 accept unscoped attributes if std_syntax and not handled as
1603 standard attributes.
1604 * c-common.h (c_common_has_attribute): Update prototype.
1605
16062020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1607
1608 PR pch/86674
1609 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1610 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1611
0f5f9ed5
GA
16122020-11-11 Patrick Palka <ppalka@redhat.com>
1613
1614 PR c++/88115
1615 * c-opts.c (c_common_post_options): Update latest_abi_version.
1616
bb622641
GA
16172020-11-10 Jakub Jelinek <jakub@redhat.com>
1618
1619 PR c/97748
1620 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1621 to false.
1622 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1623 recursively and just return true instead of warning if it is true.
1624 Handle COMPLEX_EXPR.
1625
16262020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1627
1628 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1629 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1630 (c_omp_adjust_map_clauses): New function.
1631
2bee28dd
GA
16322020-11-09 Marek Polacek <polacek@redhat.com>
1633
1634 DR 1914
1635 * c-common.c (attribute_fallthrough_p): Tweak the warning
1636 message.
1637
16382020-11-09 Patrick Palka <ppalka@redhat.com>
1639
1640 * c-pragma.c (handle_pragma_diagnostic): Split the
1641 unknown-option -Wpragmas diagnostic into a warning and a
1642 subsequent note containing a spelling suggestion. Avoid
1643 computing the suggestion if -Wpragmas warnings are being
1644 suppressed.
1645
16462020-11-09 Patrick Palka <ppalka@redhat.com>
1647
1648 PR testsuite/97117
1649 * c-indentation.c (get_visual_column): Remove location_t
1650 parameter. Move the column-tracking diagnostic code from here
1651 to ...
1652 (should_warn_for_misleading_indentation): ... here, before the
1653 early exit for when the loci are not all distinct. Don't pass a
1654 location_t argument to get_visual_column.
1655 (assert_get_visual_column_succeeds): Don't pass a location_t
1656 argument to get_visual_column.
1657 (assert_get_visual_column_fails): Likewise.
1658
fb95de7a
GA
16592020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1660
1661 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1662 of keywords accepted in @property attribute contexts.
1663 * c-objc.h (enum objc_property_attribute_group): Add
1664 OBJC_PROPATTR_GROUP_CLASS.
1665 (enum objc_property_attribute_kind): Add
1666 OBJC_PROPERTY_ATTR_CLASS.
1667
2da7ee05
GA
16682020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1669
1670 * c-common.c (c_common_reswords): Add 'atomic' property
1671 attribute.
1672 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1673 property attributes.
1674
16752020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1676
1677 * c-attribs.c (handle_nsobject_attribute): New.
1678 * c.opt: Add WNSObject-attribute.
1679
44cab2d8
GA
16802020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1681
1682 * c-objc.h (enum objc_property_attribute_group): New
1683 (enum objc_property_attribute_kind): New.
1684 (OBJC_PROPATTR_GROUP_MASK): New.
1685 (struct property_attribute_info): Small class encapsulating
1686 parser output from property attributes.
1687 (objc_prop_attr_kind_for_rid): New
1688 (objc_add_property_declaration): Simplify interface.
1689 * stub-objc.c (enum rid): Dummy type.
1690 (objc_add_property_declaration): Simplify interface.
1691 (objc_prop_attr_kind_for_rid): New.
1692
16932020-11-06 Nathan Sidwell <nathan@acm.org>
1694
1695 * c-ada-spec.c (collect_ada_nodes): Rename
1696 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1697 (collect_ada_node): Likewise.
1698 (dump_forward_type): Likewise.
1699 * c-common.c (set_underlying_type): Rename
1700 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1701 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1702
17032020-11-06 Jakub Jelinek <jakub@redhat.com>
1704
1705 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1706
0cfd9109
GA
17072020-11-05 Marek Polacek <polacek@redhat.com>
1708
1709 PR c++/97675
1710 * c.opt (Wexceptions): New option.
1711
17122020-11-05 Marek Polacek <polacek@redhat.com>
1713
1714 PR c++/25814
1715 * c.opt (Wvexing-parse): New option.
1716
35c125cb
GA
17172020-11-04 Jakub Jelinek <jakub@redhat.com>
1718
1719 PR c++/97670
1720 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1721 underlying decl to clear in the allocate_head bitmap.
1722
17232020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1724
1725 * c-objc.h (objc_non_constant_expr_p): New.
1726 * stub-objc.c (objc_non_constant_expr_p): New.
1727
fd2325ea
GA
17282020-11-03 Nathan Sidwell <nathan@acm.org>
1729
1730 * c.opt (MQ,MT): Reword description to be make-agnostic.
1731
88ce3d5f
GA
17322020-11-02 Nathan Sidwell <nathan@acm.org>
1733
1734 * c-opts.c (c_common_post_options): Move var decl to its
1735 initialization point.
1736
17372020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1738
1739 * c-lex.c (c_lex_with_flags): When combining '@' with a
1740 keyword for Objective-C, combine the location ranges too.
1741
17422020-10-30 Qing Zhao <qing.zhao@oracle.com>
1743 H.J.Lu <hjl.tools@gmail.com>
1744
1745 * c-attribs.c (c_common_attribute_table): Add new attribute
1746 zero_call_used_regs.
1747 (handle_zero_call_used_regs_attribute): New function.
1748
e93aae4a
GA
17492020-10-28 Marek Polacek <polacek@redhat.com>
1750
1751 PR c++/97573
1752 * c-opts.c (c_common_post_options): In C++20, turn on
1753 -Wdeprecated-enum-enum-conversion and
1754 -Wdeprecated-enum-float-conversion.
1755 * c.opt (Wdeprecated-enum-enum-conversion,
1756 Wdeprecated-enum-float-conversion): New options.
1757 (Wenum-conversion): Allow for C++ too.
1758
17592020-10-28 Jakub Jelinek <jakub@redhat.com>
1760
1761 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1762 * c-omp.c: Include bitmap.h.
1763 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1764
f19e7c8d
GA
17652020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1766
1767 * c-common.c (__is_nothrow_assignable): New.
1768 (__is_nothrow_constructible): Likewise.
1769 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1770 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1771
efe71fcc
GA
17722020-10-23 Jan Hubicka <hubicka@ucw.cz>
1773
1774 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1775
17762020-10-23 Marek Polacek <polacek@redhat.com>
1777
1778 PR c++/91741
1779 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1780 (c_common_init_ts): Likewise.
1781 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1782 * c-common.h (maybe_warn_sizeof_array_div): Declare.
1783 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1784 (maybe_warn_sizeof_array_div): New function.
1785 * c.opt (Wsizeof-array-div): New option.
1786
17872020-10-23 Martin Sebor <msebor@redhat.com>
1788
1789 PR c/97463
1790 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1791
56ddd5e2
GA
17922020-10-22 Martin Liska <mliska@suse.cz>
1793
1794 PR c/94722
1795 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1796 (handle_stack_protect_attribute): Add error message for a
1797 no_stack_protector function.
1798
17992020-10-22 Martin Liska <mliska@suse.cz>
1800
1801 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1802
18032020-10-22 Jan Hubicka <hubicka@ucw.cz>
1804
1805 * c-gimplify.c: Include tree-nested.h
1806 (c_genericize): Update for new nested function info.
1807
b2698c21
GA
18082020-10-14 Martin Sebor <msebor@redhat.com>
1809
1810 PR c/97413
1811 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1812 bounds in an extra list.
1813
7e9282ae
GA
18142020-10-05 Richard Biener <rguenther@suse.de>
1815 Jakub Jelinek <jakub@redhat.com>
1816
1817 PR c++/97197
1818 * c-pretty-print.c: Include langhooks.h.
1819 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1820 expression.
1821 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1822 unary_expression.
1823 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1824
660bfe61
GA
18252020-09-30 Martin Sebor <msebor@redhat.com>
1826
1827 PR middle-end/97189
1828 * c-attribs.c (append_access_attr): Use the function declaration
1829 location for a warning about an attribute access argument.
1830
93bca37c
GA
18312020-09-29 Marek Polacek <polacek@redhat.com>
1832
1833 PR c++/94695
1834 * c.opt (Wrange-loop-construct): New option.
1835
82b77dee
GA
18362020-09-23 Martin Sebor <msebor@redhat.com>
1837
1838 PR c/97131
1839 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1840
18412020-09-23 Marek Polacek <polacek@redhat.com>
1842
1843 PR c/97125
1844 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1845 after loops and other structured control constructs have been lowered.
1846
521d2711
GA
18472020-09-22 Jakub Jelinek <jakub@redhat.com>
1848
1849 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1850 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1851
44135373
GA
18522020-09-21 Marek Polacek <polacek@redhat.com>
1853
1854 * c.opt (Wctad-maybe-unsupported): New option.
1855
2fe5b7d1
GA
18562020-09-19 Martin Sebor <msebor@redhat.com>
1857
1858 PR c/50584
1859 * c-common.h (warn_parm_array_mismatch): Declare new function.
1860 (has_attribute): Move declaration of an existing function.
1861 (build_attr_access_from_parms): Declare new function.
1862 * c-warn.c (parm_array_as_string): Define new function.
1863 (plus_one): Define new function.
1864 (warn_parm_ptrarray_mismatch): Define new function.
1865 (warn_parm_array_mismatch): Define new function.
1866 (vla_bound_parm_decl): New function.
1867 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1868 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1869 qualifiers here...
1870 (c_pretty_printer::direct_abstract_declarator): ...but instead print
1871 them in brackets here. Also print [static]. Strip extraneous
1872 expressions from VLA bounds.
1873
18742020-09-19 Martin Sebor <msebor@redhat.com>
1875
1876 PR c/50584
1877 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1878 (handle_argspec_attribute): New function.
1879 (get_argument, get_argument_type): New functions.
1880 (append_access_attrs): Add overload. Handle internal attribute
1881 representation in addition to external.
1882 (handle_access_attribute): Handle internal attribute representation
1883 in addition to external.
1884 (build_attr_access_from_parms): New function.
1885
18862020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1887
1888 * c-gimplify.c (genericize_c_loop): Rewrite to match
1889 c_finish_loop in c-typeck.c.
1890
18912020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1892
1893 * c-common.c (c_block_may_fallthrough): New, split from
1894 cxx_block_may_fallthrough in the cp front end.
1895 (c_common_init_ts): Move handling of loop and switch-related
1896 statements here from the cp front end.
1897 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1898 cp front end.
1899 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1900 * c-common.h (c_block_may_fallthru): Declare.
1901 (bc_state_t): Move here from cp front end.
1902 (save_bc_state, restore_bc_state): Declare.
1903 (c_genericize_control_stmt): Declare.
1904 (WHILE_COND, WHILE_BODY): Likewise.
1905 (DO_COND, DO_BODY): Likewise.
1906 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1907 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1908 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1909 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1910 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1911 * c-dump.c (dump_stmt): Copy from cp front end.
1912 (c_dump_tree): Move code to handle structured loop and switch
1913 tree nodes here from cp front end.
1914 * c-gimplify.c: Adjust includes.
1915 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1916 cp front end.
1917 (save_bc_state, restore_bc_state): New functions using old code
1918 from cp front end.
1919 (get_bc_label, expr_loc_or_loc): Move from cp front end.
1920 (genericize_c_loop): Move from cp front end.
1921 (genericize_for_stmt, genericize_while_stmt): Likewise.
1922 (genericize_do_stmt, genericize_switch_stmt): Likewise.
1923 (genericize_continue_stmt, genericize_break_stmt): Likewise.
1924 (genericize_omp_for_stmt): Likewise.
1925 (c_genericize_control_stmt): New function using code split from
1926 cp front end.
1927 (c_genericize_control_r): New.
1928 (c_genericize): Call walk_tree with c_genericize_control_r.
1929 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1930 structured loop and switch tree nodes here from cp front end.
1931
2aad20c0
GA
19322020-09-17 Patrick Palka <ppalka@redhat.com>
1933
1934 PR c/80076
1935 * c-indentation.c (should_warn_for_misleading_indentation): Move
1936 declarations of local variables closer to their first use.
1937 Handle virtual token locations by resolving them to their
1938 respective macro expansion points. If all three tokens are
1939 produced from the same macro expansion, then instead use their
1940 loci within the macro definition.
1941
ecde1b0a
GA
19422020-09-16 Martin Sebor <msebor@redhat.com>
1943
1944 PR c/78666
1945 PR c/96126
1946 * c-attribs.c (validate_attr_args): New function.
1947 (validate_attr_arg): Same.
1948 (handle_section_attribute): Call it. Introduce a local variable.
1949 (handle_alloc_size_attribute): Same.
1950 (handle_alloc_align_attribute): Same.
1951
50a71cd0
GA
19522020-09-14 Jakub Jelinek <jakub@redhat.com>
1953
1954 * c-attribs.c (handle_optimize_attribute): Adjust
1955 cl_optimization_save, cl_optimization_restore and
1956 build_optimization_node callers.
1957 * c-pragma.c (handle_pragma_optimize): Adjust
1958 build_optimization_node caller.
1959 (handle_pragma_push_options): Adjust
1960 build_optimization_node and build_target_option_node callers.
1961 (handle_pragma_pop_options, handle_pragma_reset_options):
1962 Adjust cl_optimization_restore callers.
1963
8f7ea26a
GA
19642020-08-28 Martin Sebor <msebor@redhat.com>
1965
1966 * c.opt (Wstringop-overread): New option.
1967
a6493809
GA
19682020-08-11 Jakub Jelinek <jakub@redhat.com>
1969
1970 PR c/96545
1971 * c-common.c (get_atomic_generic_size): Require that first argument's
1972 type points to a complete type and use tree_fits_uhwi_p instead of
1973 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1974
48cc2e46
GA
19752020-07-31 Martin Sebor <msebor@redhat.com>
1976
1977 PR c++/96003
1978 * c-common.c (check_function_arguments_recurse): Return early when
1979 no-warning bit is set.
1980
19812020-07-31 Richard Biener <rguenther@suse.de>
1982
1983 PR debug/96383
1984 * c-common.h (c_common_finalize_early_debug): Declare.
1985 * c-common.c: Include debug.h.
1986 (c_common_finalize_early_debug): finalize_early_debug langhook
1987 implementation generating debug for extern declarations.
1988
e71dab87
GA
19892020-07-27 Nathan Sidwell <nathan@acm.org>
1990
1991 * c-common.c (try_to_locate_new_include_insertion_point): Use
1992 strcmp, not pointer equality.
1993
ae2e0bc1
GA
19942020-07-25 Martin Sebor <msebor@redhat.com>
1995
1996 PR c++/96310
1997 * c-common.c (check_nonnull_arg): Print note only when warning was
1998 issued.
1999
3ea9abca
GA
20002020-07-22 Tobias Burnus <tobias@codesourcery.com>
2001
2002 * c-omp.c (c_finish_omp_critical): Check for no name but
2003 nonzero hint provided.
2004
0933f508
GA
20052020-07-20 Jason Merrill <jason@redhat.com>
2006
2007 * c-cppbuiltin.c (c_cpp_builtins): Update
2008 __cpp_nontype_template_args for C++20.
2009
20102020-07-20 Martin Sebor <msebor@redhat.com>
2011
2012 PR c/96249
2013 * c.opt: Remove stray text.
2014
8ca07a30
GA
20152020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2016
2017 PR other/86904
2018 * c-indentation.c (should_warn_for_misleading_indentation): Get
2019 global tabstop from the new source.
2020 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2021 is now a common option.
2022 * c.opt: Likewise.
2023
a82c4c4c 20242020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2025
2026 * c.opt (Wscalar-storage-order): Add explicit variable.
2027
f60ee68d
GA
20282020-07-07 Nathan Sidwell <nathan@acm.org>
2029
2030 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2031 cpp_read_main_file.
2032 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2033 maps. Force token position to line_table's highest line.
2034 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2035 (cb_define): Always increment source line.
2036
4077d74c
GA
20372020-07-06 Martin Sebor <msebor@redhat.com>
2038
2039 PR c++/95984
2040 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2041 to stub lambda objects with null this pointer.
2042 (check_nonnull_arg): Handle C++ nullptr.
2043
b5f24739
GA
20442020-07-02 Jason Merrill <jason@redhat.com>
2045 Jakub Jelinek <jakub@redhat.com>
2046
2047 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2048
46fbb6c6
GA
20492020-06-30 Jakub Jelinek <jakub@redhat.com>
2050
2051 PR c++/95963
2052 * c-common.c (check_function_arguments_recurse): Don't crash on
2053 calls to internal functions.
2054
69273534
GA
20552020-06-28 Martin Sebor <msebor@redhat.com>
2056
2057 PR c++/86568
2058 * c-common.c (struct nonnull_arg_ctx): Add members.
2059 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2060 C++ member functions specially. Consider the this pointer implicitly
2061 nonnull.
2062 (check_nonnull_arg): Use location of argument when available.
2063 (check_function_arguments): Use nonnull_arg_ctx as argument.
2064
9a33c41f
GA
20652020-06-27 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR middle-end/95903
2068 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2069 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2070 smaller precision intop operands separately.
2071
c9c05f73
GA
20722020-06-26 Marek Polacek <polacek@redhat.com>
2073
2074 * c-opts.c (c_common_init_options): Default to gnu++17.
2075
aff95ee7
GA
20762020-06-17 Jonathan Wakely <jwakely@redhat.com>
2077
bd0a89dc 2078 PR c/95378
aff95ee7
GA
2079 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2080 pointer arguments.
2081
56638b9b
GA
20822020-06-16 Jakub Jelinek <jakub@redhat.com>
2083
2084 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2085 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2086 idx members.
2087 (c_omp_is_loop_iterator): New function.
2088 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2089 if outer loop iterator is present. Perform duplicate checking through
2090 hash_set in the function rather than expecting caller to do that.
2091 Pass NULL instead of d->ppset to walk_tree_1.
2092 (c_omp_check_nonrect_loop_iv): New function.
2093 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2094 non-rectangular loop forms, diagnose multiple associated loops with
2095 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2096 (c_omp_check_loop_iv_exprs): Likewise.
2097
ec6ffbb9
GA
20982020-06-10 Martin Liska <mliska@suse.cz>
2099
2100 PR tree-optimization/92860
2101 * c-attribs.c (handle_optimize_attribute):
2102 Save global options and compare it after parsing of function
2103 attribute.
2104 * c-pragma.c (opt_stack::saved_global_options): New field.
2105 (handle_pragma_push_options): Save global_options.
2106 (handle_pragma_pop_options): Compare them after pop.
2107
b952c2cf
GA
21082020-06-09 Jakub Jelinek <jakub@redhat.com>
2109
2110 PR c/95580
2111 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2112 case when MEM_REF's first argument has type pointer to incomplete type.
2113
1a59f3db
GA
21142020-06-05 Jason Merrill <jason@redhat.com>
2115
2116 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2117 operand to POINTER_PLUS_EXPR.
2118
3add3425
GA
21192020-06-04 Martin Sebor <msebor@redhat.com>
2120
2121 PR middle-end/10138
2122 PR middle-end/95136
2123 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2124 (handle_access_attribute): Same.
2125
9a5b7438
GA
21262020-06-03 Mark Wielaard <mark@klomp.org>
2127
2128 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2129 New function.
2130 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2131 New function declaration.
2132
21332020-06-03 Mark Wielaard <mark@klomp.org>
2134
2135 * known-headers.cc (get_string_macro_hint): New function.
2136 (get_stdlib_header_for_name): Use get_string_macro_hint.
2137 (get_c_stdlib_header_for_string_macro_name): New function.
2138 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2139 New function declaration.
2140
21412020-06-03 Tobias Burnus <tobias@codesourcery.com>
2142
2143 * c-common.h (c_omp_predetermined_mapping): Declare.
2144 * c-omp.c (c_omp_predetermined_mapping): New.
2145
af114c38
MW
21462020-05-22 Mark Wielaard <mark@klomp.org>
2147
2148 * known-headers.cc (get_stdlib_header_for_name): Add a new
2149 stdlib_hint array for stdbool and stdint.
2150
45c50b6a
MW
21512020-05-22 Mark Wielaard <mark@klomp.org>
2152
2153 * known-headers.cc (get_stdlib_header_for_name): Return
2154 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2155 flag_isoc99.
2156
c22027a0
NS
21572020-05-20 Nathan Sidwell <nathan@acm.org>
2158
38a4db21
NS
2159 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2160
c22027a0
NS
2161 * c-common.c (try_to_locate_new_include_insertion_point): Use
2162 strcmp to compare filenames.
2163 * c-lex.c (init_c_lex): Move declaration to initialization.
2164 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2165 deferred count loop.
2166
29f0e90d
JM
21672020-05-15 Jason Merrill <jason@redhat.com>
2168
2169 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2170
b04445d4
JM
21712020-05-13 Jason Merrill <jason@redhat.com>
2172
2173 * c.opt (std=c++20): Make c++2a the alias.
2174 (std=gnu++20): Likewise.
2175 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2176 * c-opts.c: Adjust.
2177 * c-cppbuiltin.c: Adjust.
2178 * c-ubsan.c: Adjust.
2179 * c-warn.c: Adjust.
2180
11dd3be5
EB
21812020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2182
2183 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2184
b224c376
NS
21852020-05-08 Nathan Sidwell <nathan@acm.org>
2186
2187 Reimplement directives only processing.
2188 * c-ppoutput.c (token_streamer): Ne.
2189 (directives_only_cb): New. Swallow ...
2190 (print_lines_directives_only): ... this.
2191 (scan_translation_unit_directives_only): Reimplment using the
2192 published interface.
2193
f1d94677
MP
21942020-05-07 Marek Polacek <polacek@redhat.com>
2195
2196 * c-format.c (badwords): Add "nonstatic".
2197
9b95bb52
JJ
2198202-05-07 Jakub Jelinek <jakub@redhat.com>
2199
2200 PR c/94968
2201 * c-common.c (speculation_safe_value_resolve_params): Return false if
2202 error_operand_p (val2).
2203 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2204 Remove extraneous semicolon.
2205
530b4409 22062020-05-06 qing zhao <qing.zhao@oracle.com>
2207
2208 PR c/94230
2209 * c-indentation.c (get_visual_column): Add a hint to use the new
2210 -flarge-source-files option.
2211
b776bdca
SSF
22122020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2213
2214 * c-attribs.c (handle_vector_size_attribute): Add attribute
2215 nonnull for argument args in order to silence warning of
2216 uninitialized variable usage. Since this is local to the
2217 compilation unit and thus cannot be checked at call sides by the
2218 compiler, added an assert statement in order to verify this.
2219
6607bdd9
L
22202020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2221
2222 PR target/93492
2223 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2224 value to USHRT_MAX (65535).
2225
691eeb65
JJ
22262020-04-29 Jakub Jelinek <jakub@redhat.com>
2227
2228 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2229
26d76be7
JJ
22302020-04-27 Jakub Jelinek <jakub@redhat.com>
2231
2232 PR c/94755
2233 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2234 fncode == BUILT_IN_NONE before initialization of first_param.
2235
7291b2ed
MP
22362020-04-23 Marek Polacek <polacek@redhat.com>
2237
2238 PR c++/94733
2239 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2240 TREE_PURPOSE.
2241
58a29af8
PP
22422020-04-14 Patrick Palka <ppalka@redhat.com>
2243
2244 PR c++/85278
2245 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2246 ampersand if it's an rvalue reference type.
2247
09f04139
MS
22482020-04-13 Martin Sebor <msebor@redhat.com>
2249
2250 PR c/92326
2251 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2252 printing array bound for flexible array members.
2253
ee26baf4
IS
22542020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2255
2256 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2257 define, per n4861.
2258
75efe9cb
RB
22592020-04-02 Richard Biener <rguenther@suse.de>
2260
2261 PR c/94392
2262 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2263 for -O2 and C++11 or newer.
2264
75defde9
PP
22652020-03-28 Patrick Palka <ppalka@redhat.com>
2266
2267 * c.opt: Add -fconcepts-diagnostics-depth.
2268
52f24a9e
MS
22692020-03-27 Martin Sebor <msebor@redhat.com>
2270
2271 PR c++/94346
2272 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2273 to decl_attributes. Make handling of different kinds of entities
2274 more robust.
2275
ccacf77b
MS
22762020-03-27 Martin Sebor <msebor@redhat.com>
2277
2278 PR c++/94098
2279 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2280 here.
2281
ca6c7225
JJ
22822020-03-23 Jakub Jelinek <jakub@redhat.com>
2283
2284 PR c++/91993
2285 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2286 result being COMPOUND_EXPRs, skip to ultimate rhs.
2287
1aa22b19
RS
22882020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2289
2290 PR middle-end/94072
2291 * c-common.c (c_common_type_for_mode): Before using a registered
2292 built-in type, check that the vectorness of the type matches
2293 the vectorness of the mode.
2294
700d4cb0
JJ
22952020-03-17 Jakub Jelinek <jakub@redhat.com>
2296
2297 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2298 issue in a diagnostic message.
2299
b408e010
LH
23002020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2301
2302 * c.opt: Avoid redundancy in the help text.
2303
e78e50d5
MP
23042020-03-02 Marek Polacek <polacek@redhat.com>
2305
2306 PR c++/93958 - add missing -std=gnu++20.
2307 * c.opt: Add -std=gnu++20.
2308
649e1741
MS
23092020-03-01 Martin Sebor <msebor@redhat.com>
2310
2311 PR c++/92721
2312 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2313 (handle_access_attribute): Same.
2314
7b60f3ba
JJ
23152020-02-25 Jakub Jelinek <jakub@redhat.com>
2316
2317 PR c/93858
2318 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2319 "did you mean" hint in diagnostics.
2320
fb260504
JM
23212020-02-15 Jason Merrill <jason@redhat.com>
2322
2323 * c.opt: Add -std=c++20.
2324
1d757b09
EB
23252020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2326
2327 * c-ada-spec.c: Include bitmap.h.
2328 (dump_ada_double_name): Rename into...
2329 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2330 (dump_ada_array_type): Adjust to above renaming. Robustify.
2331 (dump_nested_types_1): New function copied from... Add dumped_types
2332 parameter and pass it down to dump_nested_type.
2333 (dump_nested_types): ...this. Remove parent parameter. Just call
2334 dump_nested_types_1 on an automatic bitmap.
2335 (dump_nested_type): Add dumped_types parameter.
2336 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2337 Adjust recursive calls and adjust to above renaming.
2338 (dump_ada_declaration): Adjust call to dump_nested_types.
2339 Tidy up and adjust to above renaming.
2340 (dump_ada_specs): Initialize and release bitmap obstack.
2341
0cc575e4
MS
23422020-02-10 Martin Sebor <msebor@redhat.com>
2343
2344 PR c/93640
2345 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2346
a59aa302
JJ
23472020-02-10 Jakub Jelinek <jakub@redhat.com>
2348
2349 PR other/93641
2350 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2351 Remove useless extra test.
2352
e464fc90
TB
23532020-02-03 Julian Brown <julian@codesourcery.com>
2354 Tobias Burnus <tobias@codesourcery.com>
2355
2356 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2357
e3b6c052
JM
23582020-01-29 Jason Merrill <jason@redhat.com>
2359
2360 PR c++/89357
2361 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2362
6d00f052
JM
23632020-01-23 Jason Merrill <jason@redhat.com>
2364
2365 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2366
8a990ffa
MS
23672020-01-23 Martin Sebor <msebor@redhat.com>
2368
2369 PR c/84919
2370 * c-common.c (check_function_arguments): Avoid overlap checking
2371 of sprintf functions.
2372
55b7df8b
JM
23732020-01-22 Jason Merrill <jason@redhat.com>
2374
2375 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2376 PR c++/40752
2377 * c-warn.c (conversion_warning): Check operands only after checking
2378 the whole expression. Don't check second operand of + for sign.
2379
c77074d0
JM
23802020-01-21 Jason Merrill <jason@redhat.com>
2381 Manuel López-Ibáñez <manu@gcc.gnu.org>
2382
2383 PR c++/40752 - useless -Wconversion with short +=.
2384 * c.opt (-Warith-conversion): New.
2385 * c-warn.c (conversion_warning): Recurse for operands of
2386 operators. Only warn about the whole expression with
2387 -Warith-conversion.
2388
731dbfc3
JM
23892020-01-21 Jason Merrill <jason@redhat.com>
2390
2391 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2392 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2393
ad1a3914
NS
23942020-01-20 Nathan Sidwell <nathan@acm.org>
2395
2396 PR preprocessor/80005
2397 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2398
49789fd0
IS
23992020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2400
2401 * c-common.c (co_await, co_yield, co_return): New.
2402 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2403 RID_CO_RETURN): New enumeration values.
2404 (D_CXX_COROUTINES): Bit to identify coroutines are active.
2405 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2406 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2407 * c.opt (fcoroutines): New command-line switch.
2408
4bc1899b
DM
24092020-01-10 David Malcolm <dmalcolm@redhat.com>
2410
2411 * c-format.c (local_event_ptr_node): New.
2412 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2413 (init_dynamic_diag_info): Initialize local_event_ptr_node.
2414 * c-format.h (T_EVENT_PTR): New define.
2415
f25e33fa
MS
24162020-01-10 Martin Sebor <msebor@redhat.com>
2417
2418 PR c/93132
2419 * c-attribs.c (append_access_attrs): Validate against the translated
2420 access string rather than the human-readable representation.
2421
8d9254fc
JJ
24222020-01-01 Jakub Jelinek <jakub@redhat.com>
2423
2424 Update copyright years.
2425
39292e25
EB
24262019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2427
2428 * c-ada-spec.h (decl_sloc): Delete.
2429 * c-ada-spec.c (decl_sloc): Make static.
2430
519d7496
JB
24312019-12-19 Julian Brown <julian@codesourcery.com>
2432
2433 * c-common.h (c_omp_map_clause_name): Add prototype.
2434 * c-omp.c (c_omp_map_clause_name): New function.
2435 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2436 PRAGMA_OACC_CLAUSE_DETACH.
2437
a6163563
JB
24382019-12-19 Julian Brown <julian@codesourcery.com>
2439 Maciej W. Rozycki <macro@codesourcery.com>
2440 Tobias Burnus <tobias@codesourcery.com>
2441 Thomas Schwinge <thomas@codesourcery.com>
2442
2443 * c-pragma.h (pragma_omp_clause): Add
2444 PRAGMA_OACC_CLAUSE_NO_CREATE.
2445
e8f1ade2
MS
24462019-12-17 Martin Sebor <msebor@redhat.com>
2447
2448 PR c++/61339
2449 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2450
368877a1
DM
24512019-12-11 David Malcolm <dmalcolm@redhat.com>
2452
2453 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2454 implementation.
2455 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2456
d68f5d45
DM
24572019-12-09 David Malcolm <dmalcolm@redhat.com>
2458
2459 * c-format.c (range_label_for_format_type_mismatch::get_text):
2460 Replace label_text ctor called with true with label_text::take.
2461
d3e28653
DM
24622019-12-09 David Malcolm <dmalcolm@redhat.com>
2463
2464 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2465 initial newline from expected outputs.
2466 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2467 call to diagnostic_show_locus.
2468
abd6d8cc
JJ
24692019-12-06 Jakub Jelinek <jakub@redhat.com>
2470
2471 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2472 now.
2473
7906797e
MP
24742019-12-05 Marek Polacek <polacek@redhat.com>
2475 Jakub Jelinek <jakub@redhat.com>
2476
2477 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2478 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2479
5c04da88
MP
24802019-12-05 Marek Polacek <polacek@redhat.com>
2481
2482 PR c++/92271 - make __is_same alias for __is_same_as.
2483 * c-common.c: Add __is_same, an alias for __is_same_as.
2484
43aae289
MP
24852019-12-03 Marek Polacek <polacek@redhat.com>
2486
2487 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2488 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2489 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2490
d7ddfbcb
JH
24912019-11-30 Jan Hubicka <hubicka@ucw.cz>
2492
2493 * c-attribs.c (handle_symver_attribute): New function
2494 (c_common_attributes): Add symver.
2495
65ef05d0
RS
24962019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2497
2498 * c-common.c (pointer_int_sum): Use verify_type_context to check
2499 whether the target allows pointer arithmetic for the types involved.
2500 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2501 to check whether the target allows sizeof and alignof operations
2502 for the types involved.
2503
1a291106
JM
25042019-11-27 Jason Merrill <jason@redhat.com>
2505
2506 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2507
05d6cb1a
JJ
25082019-11-26 Jakub Jelinek <jakub@redhat.com>
2509
2510 PR c++/61414
2511 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2512 ENUMERAL_TYPEs.
2513
5b8d9367
JM
25142019-11-25 Joseph Myers <joseph@codesourcery.com>
2515
2516 PR c/91985
2517 * c-common.c (c_common_type_for_mode): Handle decimal
2518 floating-point types being NULL_TREE.
2519 * c-format.c (get_format_for_type_1): Handle specified types being
2520 NULL_TREE.
2521 * c-lex.c (interpret_float): Give an error for decimal
2522 floating-point constants when decimal floating-point not
2523 supported.
2524
1fbf51cb
JJ
25252019-11-23 Jakub Jelinek <jakub@redhat.com>
2526
2527 PR middle-end/83859
2528 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2529 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2530 group warning with inform together.
2531 (handle_access_attribute): Formatting fix.
2532
761df906
JJ
25332019-11-22 Jakub Jelinek <jakub@redhat.com>
2534
bdaf8be1
JJ
2535 PR c/90677
2536 * c-common.h (identifier_global_tag): Declare.
2537 * c-format.c (get_pointer_to_named_type): Renamed to ...
2538 (get_named_type): ... this. Use identifier_global_tag instead of
2539 identifier_global_value, handle the return value being a TYPE_P.
2540 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2541 to call get_named_type instead. Formatting fixes.
2542
c2ecce6d 2543 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2544 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2545 and __cpp_generic_lambdas for -std=c++2a. Define
2546 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2547 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2548 __cpp_concepts for -std=c++2a.
2549
54aa6b58
MS
25502019-11-22 Martin Sebor <msebor@redhat.com>
2551
2552 PR middle-end/83859
2553 * c-attribs.c (handle_access_attribute): New function.
2554 (c_common_attribute_table): Add new attribute.
2555 (get_argument_type): New function.
2556 (append_access_attrs): New function.
2557 (get_nonnull_operand): Rename...
2558 (get_attribute_operand): ...to this.
2559 * c-common.c (get_nonnull_operand): Rename...
2560 (get_attribute_operand): ...to this.
2561
6c80b1b5
JM
25622019-11-21 Joseph Myers <joseph@codesourcery.com>
2563
2564 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2565 of warning.
2566
192961ff
JM
25672019-11-19 Joseph Myers <joseph@codesourcery.com>
2568
2569 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2570 warning for standard attributes mixed with fallthrough attributes.
2571
f8aea5e3
JM
25722019-11-15 Joseph Myers <joseph@codesourcery.com>
2573
2574 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2575 * c-common.h (handle_fallthrough_attribute): Declare.
2576
2cc94aa8
JM
25772019-11-15 Joseph Myers <joseph@codesourcery.com>
2578
2579 * c-attribs.c (handle_deprecated_attribute): Remove static.
2580 * c-common.h (handle_deprecated_attribute): Declare.
2581
7c5890cc
JM
25822019-11-14 Joseph Myers <joseph@codesourcery.com>
2583
2584 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2585 char for C.
2586
b2417b59
JJ
25872019-11-14 Jakub Jelinek <jakub@redhat.com>
2588
d0ec7c93
JJ
2589 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2590 valid vendors.
2591
b2417b59
JJ
2592 * c-omp.c (c_omp_check_context_selector): Handle name lists
2593 containing string literals. Don't diagnose atomic_default_mem_order
2594 with multiple props.
2595
00be2a5f
JM
25962019-11-13 Joseph Myers <joseph@codesourcery.com>
2597
2598 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2599 NORM_MAX constants. Update call to get_max_float.
2600 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2601 constants.
2602
2dbad62d
EB
26032019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2604
2605 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2606 (dump_forward_type): Do not generate a declaration for function types.
2607 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2608 of the component type if it is declared in another file.
2609
6ed76044
ML
26102019-11-12 Martin Liska <mliska@suse.cz>
2611
2612 * c-opts.c (c_common_post_options):
2613 Use SET_OPTION_IF_UNSET.
2614
62aee289
MR
26152019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2616 Frederik Harwath <frederik@codesourcery.com>
2617
2618 gcc/c-family/
2619 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2620 constant.
2621 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2622
f486280c
RS
26232019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2624
2625 * c-common.h (gnu_vector_type_p): New function.
2626 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2627 vectors to satisfy gnu_vector_type_p.
2628 (c_build_vec_convert): Likewise __builtin_convertvector.
2629 (convert_vector_to_array_for_subscript): Likewise when applying
2630 implicit vector to array conversion.
2631 (scalar_to_vector): Likewise when converting vector-scalar
2632 operations to vector-vector operations.
2633
017c6491
JM
26342019-11-08 Joseph Myers <joseph@codesourcery.com>
2635
2636 * c.opt (Wold-style-definition): Initialize to -1.
2637 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2638 to flag_isoc2x if not set explicitly.
2639
c01bd174
JM
26402019-11-07 Joseph Myers <joseph@codesourcery.com>
2641
2642 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2643
0df65305
JM
26442019-11-05 Jason Merrill <jason@redhat.com>
2645
2646 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2647 -fconcepts.
2648
e0c866dd
KK
26492019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2650
2651 * c-opts.c (c_common_post_options): Update
2652 latest_abi_version.
2653
f968ef9b
JJ
26542019-11-02 Jakub Jelinek <jakub@redhat.com>
2655
d0c464d2
JJ
2656 * c-common.h (c_omp_get_context_selector): Remove.
2657 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2658 and renamed to omp_get_context_selector.
2659
917dd789
JJ
2660 * c-omp.c (c_omp_mark_declare_variant): Use
2661 omp_context_selector_set_compare.
2662
f968ef9b
JJ
2663 PR c++/88335 - Implement P1073R3: Immediate functions
2664 * c-common.h (enum rid): Add RID_CONSTEVAL.
2665 * c-common.c (c_common_reswords): Add consteval.
2666
5f6705b7
JJ
26672019-11-01 Martin Sebor <msebor@redhat.com>
2668
2669 PR middle-end/91679
2670 PR middle-end/91647
2671 PR middle-end/91463
2672 PR middle-end/92312
2673 * c-pretty-print.c (direct_abstract_declarator): Print
2674 bound in zero-length arrays.
2675 * c.opt (-Wzero-length-bounds): New option.
2676
43f1814c
NS
26772019-10-30 Nathan Sidwell <nathan@acm.org>
2678
2679 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2680 macros.
2681
ad1539d5
MS
26822019-10-28 Martin Sebor <msebor@redhat.com>
2683
2684 PR c/66970
2685 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2686 even when only preprocessing.
2687 * c-common.h (names_builtin_p): Declare new function.
2688 * c-lex.c (init_c_lex): Set has_builtin.
2689 (c_common_has_builtin): Define a new function.
2690 * c-ppoutput.c (init_pp_output): Set has_builtin.
2691
135df52c
JJ
26922019-10-24 Jakub Jelinek <jakub@redhat.com>
2693
2694 * c-common.h (c_omp_context_selector_matches): Remove.
2695 * c-omp.c (c_omp_context_selector_matches): Remove.
2696 * c-attribs.c (c_common_attribute_table): Add
2697 "omp declare target {host,nohost,block}" attributes.
2698
8ad0c477
JM
26992019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2700
2701 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2702
56898e43
RS
27032019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2704
2705 * c-common.h (user_facing_original_type_p): Declare.
2706 * c-common.c: Include c-spellcheck.h.
2707 (user_facing_original_type_p): New function.
2708
20de9568
JJ
27092019-10-12 Jakub Jelinek <jakub@redhat.com>
2710
2711 * c-common.h (c_omp_mark_declare_variant,
2712 c_omp_context_selector_matches): Declare.
2713 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2714 and hsa-common.h.
2715 (c_omp_get_context_selector): Support second argument NULL.
2716 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2717 functions.
2718 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2719 attribute, add "omp declare variant base" and
2720 "omp declare variant variant" attributes.
2721
175a85b2
JM
27222019-10-11 Joseph Myers <joseph@codesourcery.com>
2723
2724 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2725 CppReason(CPP_W_C11_C2X_COMPAT).
2726
fe2bc27c
JM
27272019-10-11 Joseph Myers <joseph@codesourcery.com>
2728
2729 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2730 _Decimal64 and _Decimal128.
2731
27dfdc0f
JM
27322019-10-10 Joseph Myers <joseph@codesourcery.com>
2733
2734 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2735 types if DFP not supported.
2736
94e7f906
JJ
27372019-10-10 Jakub Jelinek <jakub@redhat.com>
2738
2739 * c-common.h (c_omp_check_context_selector,
2740 c_omp_get_context_selector): Declare.
2741 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2742 in diagnostic message.
2743 (c_omp_check_context_selector, c_omp_get_context_selector): New
2744 functions.
2745 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2746 attribute.
2747 (handle_omp_declare_variant_attribute): New function.
2748
a7160771
MS
27492019-10-09 Martin Sebor <msebor@redhat.com>
2750
2751 PR tree-optimization/90879
2752 * c.opt (-Wstring-compare): New option.
2753
cb57504a
JM
27542019-10-08 Andrew Sutton <asutton@lock3software.com>
2755 Jason Merrill <jason@redhat.com>
2756
2757 Update the concepts implementation to conform to the C++20
2758 specification, improve compile times, and generally clean up
2759 the implementation.
2760
2761 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2762 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2763 * c.opt: Add -Wconcepts-ts.
2764 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2765 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2766 (set_std_cxx2a): Enable concepts by default.
2767
fbb2a6dc
JM
27682019-10-08 Joseph Myers <joseph@codesourcery.com>
2769
2770 * c-opts.c (c_common_post_options): Set
2771 -fno-fp-int-builtin-inexact for C2X.
2772
8e007055
JJ
27732019-10-05 Jakub Jelinek <jakub@redhat.com>
2774
2775 PR c++/91369 - Implement P0784R7: constexpr new
2776 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2777 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2778
843f104d
JM
27792019-10-04 Joseph Myers <joseph@codesourcery.com>
2780
2781 PR c/82752
2782 * c-format.c (C_STD_VER): Handle C2x.
2783 (C_STD_NAME): Likewise.
2784 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2785 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2786 modifier allowed and 'p' flag.
2787 * c-format.h (enum format_std_version): Add STD_C2X.
2788 (struct format_char_info): Mention 'p' in comment on flags2.
2789
e9c9a142
DM
27902019-10-01 David Malcolm <dmalcolm@redhat.com>
2791
2792 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2793 calling diagnostic_show_locus, rather than destroying it afterwards.
2794
7552c36a
JJ
27952019-10-01 Jakub Jelinek <jakub@redhat.com>
2796
2797 PR c++/91925
2798 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2799 with NULL DECL_FIELD_OFFSET.
2800
8209db25
RS
28012019-10-01 Richard Sandiford <richard.sandiford@arm.com>
2802
2803 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2804 has a type name, use it in preference to the __vector syntax.
2805
9343bf99
RS
28062019-09-30 Richard Sandiford <richard.sandiford@arm.com>
2807
2808 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2809 two spaces between a comma and "...".
2810
59bc434a
JJ
28112019-09-27 Jakub Jelinek <jakub@redhat.com>
2812
2813 PR c++/88203
2814 * c-common.h (c_omp_predefined_variable): Declare.
2815 * c-omp.c (c_omp_predefined_variable): New function.
2816 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2817 for predefined variables.
2818
c6447c20
RS
28192019-09-27 Richard Sandiford <richard.sandiford@arm.com>
2820
2821 * c-common.h (build_function_call_vec): Take the original
2822 function decl as an optional final parameter.
2823 (check_builtin_function_arguments): Take the original function decl.
2824 * c-common.c (check_builtin_function_arguments): Likewise.
2825 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2826 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2827
c4438114
JM
28282019-09-15 Jason Merrill <jason@redhat.com>
2829
2830 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
2831 fold_for_warn in "|| mask" warning.
2832
68a57628
ML
28332019-09-10 Martin Liska <mliska@suse.cz>
2834
2835 * c.opt: Use newly added WarnRemoved.
2836
f48ef52e
ML
28372019-09-09 Martin Liska <mliska@suse.cz>
2838
2839 * c.opt: Update comment of removed
2840 options that are preserved only for backward
2841 compatibility.
2842
67f6e649
ML
28432019-09-06 Martin Liska <mliska@suse.cz>
2844
2845 PR c++/91125
2846 * c-common.c: Remove definition of flag_use_repository.
2847 * c-common.h: Likewise.
2848 * c-opts.c (c_common_handle_option):
2849 Do not handle OPT_frepo option.
2850 * c.opt: Mark the option with Deprecated.
2851
db9d2274
MP
28522019-09-04 Marek Polacek <polacek@redhat.com>
2853
2854 * c.opt (fdeduce-init-list): Ignored.
2855
68e2c199
PK
28562019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2857
2858 PR c/78736
2859 * c.opt (Wenum-conversion): New option.
2860
7a4418a5
JL
28612019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2862
2863 * c-attribs.c (handle_section_attribute): Call the
2864 handle_generic_attribute target hook after performing target
2865 independent processing.
2866 (handle_noinit_attribute): Likewise.
2867
5f76ab15
ILT
28682019-09-03 Ian Lance Taylor <iant@golang.org>
2869
2870 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2871 when using -fgo-dump-spec.
2872
ae0d3f6a
ML
28732019-09-02 Martin Liska <mliska@suse.cz>
2874
2875 PR c++/91155
2876 * c-common.c (fname_as_string): Use cxx_printable_name for
2877 __PRETTY_FUNCTION__ same as was used before r265711.
2878
8a902edb
MP
28792019-08-28 Marek Polacek <polacek@redhat.com>
2880
2881 Implement P1152R4: Deprecating some uses of volatile.
2882 PR c++/91361
2883 * c-opts.c (c_common_post_options): Enable -Wvolatile by
2884 default for C++2a, unless -Wno-deprecated.
2885 * c.opt (Wvolatile): New warning.
2886
4742dbe7
MP
28872019-08-28 Marek Polacek <polacek@redhat.com>
2888
2889 PR c++/91360 - Implement C++20 P1143R2: constinit.
2890 * c-common.c (c_common_reswords): Add constinit and __constinit.
2891 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2892 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2893 RID_LAST_CXX20.
2894 (D_CXX20): Define.
2895 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2896 * c-format.c (cxx_keywords): Add "constinit".
2897 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2898
6a074892
JJ
28992019-08-27 Jakub Jelinek <jakub@redhat.com>
2900
2901 PR c++/91415
2902 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2903 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2904 like COMPOUND_EXPR rather than normal expression.
2905
22f8849d
IS
29062019-08-23 Iain Sandoe <iain@sandoe.co.uk>
2907
2908 PR pch/61250
2909 * c-lex.c (c_lex_with_flags): Don't call
2910 c_common_no_more_pch () from here.
2911
df375b03
JJ
29122019-08-23 Jakub Jelinek <jakub@redhat.com>
2913
2914 PR middle-end/91283
2915 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2916 instead of flag_excess_precision_cmdline.
2917 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2918 * c-opts.c (c_common_post_options): Likewise.
2919
14b7950f
MS
29202019-08-22 Martin Sebor <msebor@redhat.com>
2921
2922 PR middle-end/91490
2923 * c-common.c (braced_list_to_string): Add argument and overload.
2924 Handle flexible length arrays and unions.
2925
8bb2ee59
EB
29262019-08-21 Eric Botcazou <ebotcazou@adacore.com>
2927
2928 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2929 function declarations where arguments are missing. Rename variables.
2930
21c1e205
RB
29312019-08-15 Richard Biener <rguenther@suse.de>
2932
2933 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2934 enabled, define __SIZETYPE__.
2935
f0033821
CL
29362019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
2937
2938 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2939 exclusion with "section" attribute.
2940 (attr_noinit_exclusions): New table.
2941 (handle_noinit_attribute): New function.
2942
4d732405
RS
29432019-08-13 Richard Sandiford <richard.sandiford@arm.com>
2944
2945 PR middle-end/91421
2946 * c-common.c (resolve_overloaded_builtin): Use
2947 copy_decl_built_in_function.
2948
51ad8481
MS
29492019-08-13 Martin Sebor <msebor@redhat.com>
2950
2951 PR c/80619
2952 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2953 (asm_fprintf_length_spec): Same.
2954 * c-format.h (format_lengths): Add FMT_LEN_w.
2955
77eb117f
JJ
29562019-08-10 Jakub Jelinek <jakub@redhat.com>
2957
2958 * c-pragma.h (enum pragma_omp_clause): Add
2959 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2960
398e3feb
JJ
29612019-08-07 Jakub Jelinek <jakub@redhat.com>
2962
2963 * c-pragma.h (enum pragma_omp_clause): Add
2964 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2965 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2966 enumeration value.
2967
ab574db6
MP
29682019-08-05 Marek Polacek <polacek@redhat.com>
2969
2970 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2971 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2972 default for C++2a, unless -Wno-deprecated.
2973 * c.opt (Wcomma-subscript): New warning.
2974
554a530f
JJ
29752019-07-20 Jakub Jelinek <jakub@redhat.com>
2976
2977 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2978 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2979 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2980 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2981 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2982 constructs with the loop construct.
2983
1a888209
JJ
29842019-07-13 Jakub Jelinek <jakub@redhat.com>
2985
2986 PR c/91149
2987 * c-omp.c (c_omp_split_clauses): Fix a pasto in
2988 OMP_CLAUSE_REDUCTION_TASK handling.
2989
1fdd6f04
JJ
29902019-07-12 Jakub Jelinek <jakub@redhat.com>
2991
2992 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2993 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2994
99b1c316
MS
29952019-07-09 Martin Sebor <msebor@redhat.com>
2996
2997 PR c++/61339
1fdd6f04 2998 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
2999 and others to class.
3000 * c-pretty-print.h: Same.
3001
6c1dae73
MS
30022019-07-09 Martin Sebor <msebor@redhat.com>
3003
3004 PR c++/61339
3005 * c-format.c (check_argument_type): Change class-key from class to
3006 struct and vice versa to match convention and avoid -Wclass-is-pod
3007 and -Wstruct-no-pod.
3008 * c-pretty-print.h: Same.
3009
8ba6ea87
ML
30102019-07-03 Martin Liska <mliska@suse.cz>
3011
3012 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3013 dead assignemts.
3014
83eb9522
JJ
30152019-07-03 Jakub Jelinek <jakub@redhat.com>
3016
3017 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3018 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3019 with OMP_PARALLEL.
3020
1c6ffbab
QZ
30212019-07-02 qing zhao <qing.zhao@oracle.com>
3022
3023 PR preprocessor/90581
3024 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3025 * c.opt: Add new option -fmax-include-depth.
3026
7ffc7de5
JM
30272019-06-26 Jason Merrill <jason@redhat.com>
3028
3029 PR c++/55442 - memory-hog with highly recursive constexpr.
3030 * c.opt (fconstexpr-loop-limit): New.
3031
361af3e4
JJ
30322019-06-25 Jakub Jelinek <jakub@redhat.com>
3033
3034 PR sanitizer/90954
3035 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3036 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3037
ab20d992
JJ
30382019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3039
3040 * c-common.c (c_common_nodes_and_builtins): Define
3041 alternate "__intN__" name for "__intN" types.
3042
f4af4019
JH
30432019-06-24 Jan Hubicka <jh@suse.cz>
3044
3045 * c-common.c (braced_lists_to_strings): Check that
3046 type is array or integer prior checking string flag.
3047
da9e9b57
MB
30482019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3049
3050 PR c++/90875 - added -Wswitch-outside-range option
3051 * c.opt (Wswitch-outside-range): Added new option.
3052 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3053
3f3d6a6f
MP
30542019-06-21 Marek Polacek <polacek@redhat.com>
3055
3056 PR c++/90953 - ICE with -Wmissing-format-attribute.
3057 * c-common.c (check_function_arguments_recurse): Use
3058 get_attribute_name.
3059 (check_missing_format_attribute): Likewise.
3060
1bf32c11
MP
30612019-06-19 Marek Polacek <polacek@redhat.com>
3062
3063 PR c++/60364 - noreturn after first decl not diagnosed.
3064 * c-attribs.c (handle_noreturn_attribute): No longer static.
3065 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3066 Declare.
3067 * c-format.c (check_function_format): Use get_attribute_name.
3068
a04c0734
MS
30692019-06-19 Martin Sebor <msebor@redhat.com>
3070
3071 PR translation/90156
3072 * c-format.c (function_format_info::format_type): Adjust type.
3073 (function_format_info::is_raw): New member.
3074 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3075 (decode_format_attr): Adjust call to decode_format_type.
3076 Avoid a redundant call to convert_format_name_to_system_name.
3077 Avoid abbreviating the word "arguments" in a diagnostic.
3078 (format_warning_substr): New function.
3079 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3080 (finish_dollar_format_checking): Same.
3081 (check_format_info): Same.
3082 (struct baltoks_t): New.
3083 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3084 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3085 functions.
3086 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3087 maybe_diag_unbalanced_tokens.
3088 (handle_format_attribute): Spell out the word "arguments" in
3089 a diagnostic.
3090
d3786ebb
MB
30912019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3092
3093 PR c++/90449 - add -Winaccessible-base option.
3094 * c.opt (Winaccessible-base): New option.
3095
bf38f7e9
JJ
30962019-06-10 Jakub Jelinek <jakub@redhat.com>
3097
3098 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3099 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3100 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3101 combined/composite constructs where it is not allowed. Copy over
3102 OMP_CLAUSE_REDUCTION_INSCAN.
3103
0ecf545c
MS
31042019-06-05 Martin Sebor <msebor@redhat.com>
3105
3106 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3107 (handle_alias_ifunc_attribute): Same.
3108 (handle_copy_attribute): Same.
3109 (handle_weakref_attribute): Same.
3110 (handle_nonnull_attribute): Same.
3111 * c-warn.c (warn_for_sign_compare): Same.
3112 (warn_for_restrict): Same.
3113 * c.opt: Same.
3114
36b34127
MS
31152019-06-05 Martin Sebor <msebor@redhat.com>
3116
3117 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3118 * c.opt (-Wformat-diag): Remove a spurious period.
3119
357a352f
JJ
31202019-05-29 Jakub Jelinek <jakub@redhat.com>
3121
3122 PR c/90628
3123 * c-common.c (check_builtin_function_arguments)
3124 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3125 as last argument.
3126
2b8235ea
EB
31272019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3128
3129 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3130
6d86ddc4
ML
31312019-05-22 Martin Liska <mliska@suse.cz>
3132
3133 PR lto/90500
3134 * c-attribs.c (handle_copy_attribute): Do not copy
3135 target_clones attribute.
3136
419ba5b9
EB
31372019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3138
3139 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3140 * c-ada-spec.c (print_assignment_operator): New function.
3141 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3142 assignment operators declared as methods and filter out the others.
3143
e03436e7
TS
31442019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3145
3146 PR c/89433
3147 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3148 "omp declare target".
3149
a9c697b8
MS
31502019-05-16 Martin Sebor <msebor@redhat.com>
3151
ab20d992
JJ
3152 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3153 keywords, operators, and types in diagnostics.
3154 (handle_scalar_storage_order_attribute): Same.
3155 (handle_mode_attribute): Same.
3156 (handle_visibility_attribute): Same.
3157 (handle_assume_aligned_attribute): Same.
3158 (handle_no_split_stack_attribute): Same.
3159 * c-common.c (shorten_compare): Same.
3160 (c_common_truthvalue_conversion): Same.
3161 (cb_get_source_date_epoch): Same.
3162 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3163 in diagnostics.
3164 (interpret_float): Same.
3165 * c-omp.c (c_finish_omp_for): Same.
3166 * c-opts.c (c_common_post_options): Same.
3167 * c-pch.c (c_common_pch_pragma): Same.
3168 * c-pragma.c (pop_alignment): Same.
3169 (handle_pragma_pack): Same.
3170 (apply_pragma_weak): Same.
3171 (handle_pragma_weak): Same.
3172 (handle_pragma_scalar_storage_order): Same.
3173 (handle_pragma_redefine_extname): Same.
3174 (add_to_renaming_pragma_list): Same.
3175 (maybe_apply_renaming_pragma): Same.
3176 (push_visibility): Same.
3177 (handle_pragma_visibility): Same.
3178 (handle_pragma_optimize): Same.
3179 (handle_pragma_message): Same.
3180 * c-warn.c (warn_for_omitted_condop): Same.
3181 (lvalue_error): Same.
a9c697b8 3182
6b943512
RB
31832019-05-15 Richard Biener <rguenther@suse.de>
3184
3185 PR c/90474
3186 * c-common.c (c_common_mark_addressable_vec): Also mark
3187 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3188 c_mark_addressable.
ab20d992 3189
b744fc85
NS
31902019-05-06 Nathan Sidwell <nathan@acm.org>
3191
3192 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3193
598f50d7
NS
31942019-04-30 Nathan Sidwell <nathan@acm.org>
3195
3196 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3197
5bcc5a3b
ML
31982019-04-30 Martin Liska <mliska@suse.cz>
3199
3200 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3201 for unknown options.
3202
e78a87f7
RS
32032019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3204
3205 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3206 the pointer target rather than the pointer itself.
3207
c280b7ee
JJ
32082019-04-19 Jakub Jelinek <jakub@redhat.com>
3209
3210 PR c/89888
3211 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3212 arguments.
3213 (c_do_switch_warnings): Remove outside_range_p argument.
3214 * c-common.c (check_case_bounds): Removed.
3215 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3216 Don't call check_case_bounds. Fold low_value as well as high_value.
3217 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3218 Check for case labels outside of range of original type here and
3219 adjust them.
3220
8e8225e6
JJ
32212019-04-12 Jakub Jelinek <jakub@redhat.com>
3222
63b8a166
JJ
3223 PR translation/90041
3224 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3225 in the Warn diagnostics.
3226
8e8225e6
JJ
3227 PR c/89946
3228 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3229 function comment. Warn if arguments of the attribute are not positive
3230 integer constants.
3231
53a3f614
EB
32322019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3233
3234 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3235 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3236
22be5873
EB
32372019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3238
3239 * c-ada-spec.c (is_float128): New predicate extracted from...
3240 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3241 <REAL_TYPE>: ...here. Call it.
3242
34facf20
DM
32432019-04-05 David Malcolm <dmalcolm@redhat.com>
3244
3245 PR c/89985
3246 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3247 auto_diagnostic_group. Guard inform calls by result of
3248 warning_at call.
3249
05564120
MP
32502019-04-05 Marek Polacek <polacek@redhat.com>
3251
ab20d992 3252 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3253 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3254 of RHS.
3255
7a506c3c
JM
32562019-04-03 Jason Merrill <jason@redhat.com>
3257
3258 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3259 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3260
ddeae8c8
MS
32612019-04-01 Martin Sebor <msebor@redhat.com>
3262
3263 PR c/89685
3264 * c-attribs.c (handle_copy_attribute): Handle references and
3265 non-constant expressions.
3266
a15ffa22
JJ
32672019-03-22 Jakub Jelinek <jakub@redhat.com>
3268
3269 PR c++/87481
3270 * c.opt (-fconstexpr-ops-limit=): New option.
3271
36a3a7a3
JJ
32722019-03-21 Jakub Jelinek <jakub@redhat.com>
3273
3274 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3275 template param.
3276
bec1da64
MS
32772019-03-19 Martin Sebor <msebor@redhat.com>
3278
3279 PR tree-optimization/89688
3280 * c-common.c (braced_list_to_string): Make static.
3281 (braced_lists_to_strings): Define new function.
3282 * c-common.h (braced_list_to_string): Remove.
3283 (braced_lists_to_strings): Declare.
3284
1fe61adf
ML
32852019-03-12 Martin Liska <mliska@suse.cz>
3286
3287 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3288
93964ebd
ML
32892019-03-11 Martin Liska <mliska@suse.cz>
3290
3291 * c-opts.c (c_common_post_options): Wrap apostrophes
3292 in gcc internal format with %'.
3293
a3f9f006
ML
32942019-03-11 Martin Liska <mliska@suse.cz>
3295
3296 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3297 in a string format message and fix GNU coding style.
3298 * c-common.c (vector_types_convertible_p): Likewise.
3299 (c_build_vec_perm_expr): Likewise.
3300 * c-indentation.c (get_visual_column): Likewise.
3301 * c-opts.c (c_common_handle_option): Likewise.
3302 (c_common_post_options): Likewise.
3303 (sanitize_cpp_opts): Likewise.
3304 * c-pch.c (c_common_pch_pragma): Likewise.
3305 * c-pragma.c (handle_pragma_pack): Likewise.
3306
1db01ff9
JJ
33072019-03-08 Jakub Jelinek <jakub@redhat.com>
3308
3309 PR tree-optimization/89550
3310 * c-common.c (c_common_truthvalue_conversion): Only set
3311 TREE_NO_WARNING if warning_at returned true.
3312 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3313
ba790e6f
JJ
33142019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3315 Martin Sebor <msebor@gmail.com>
3316
3317 * c.opt (Wmissing-attributes): Clean up doc string.
3318
7da73ba7
JJ
33192019-02-25 Jakub Jelinek <jakub@redhat.com>
3320
3321 PR c/89495
3322 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3323 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3324 checking.
3325
921bb9d1
RB
33262019-02-22 Richard Biener <rguenther@suse.de>
3327
3328 * c-pch.c (no_checksum): Remove.
3329 (pch_init): Remove assertion that executable_checksum is not
3330 all zero.
3331 (c_common_valid_pch): Likewise.
3332
e2ebb05c
MS
33332019-02-18 Martin Sebor <msebor@redhat.com>
3334
3335 PR middle-end/89294
3336 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3337
3fe53000
DM
33382019-02-16 David Malcolm <dmalcolm@redhat.com>
3339
3340 PR c++/88680
3341 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3342 implementing -Wtype-limits.
3343
28a8cef1
MS
33442019-02-11 Martin Sebor <msebor@redhat.com>
3345
3346 PR c++/87996
3347 * c-common.c (invalid_array_size_error): New function.
3348 (valid_array_size_p): Call it. Handle size as well as type.
3349 * c-common.h (valid_constant_size_p): New function.
3350 (enum cst_size_error): New type.
3351
ec2be203
DM
33522019-01-31 David Malcolm <dmalcolm@redhat.com>
3353
3354 PR c/89122
3355 * known-headers.cc (get_stdlib_header_for_name): Add
3356 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3357
8936f047
JJ
33582019-01-31 Jakub Jelinek <jakub@redhat.com>
3359
3360 PR libstdc++/88170
3361 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3362 a C cast in pp_c_flag_gnu_v3 mode.
3363
6a335b96
JJ
33642019-01-29 Jakub Jelinek <jakub@redhat.com>
3365
3366 PR c/86125
3367 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3368 builtin_structptr_types types even for C.
3369
2a06eba5
BE
33702019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3371
3372 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3373 when rhs is of array type correctly. Fix handling of nested structures.
3374 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3375 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3376 type casts within nested compound expressions.
3377
18a23298
JJ
33782019-01-22 Jakub Jelinek <jakub@redhat.com>
3379
3380 PR middle-end/88968
3381 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3382 variable after using BIT_FIELD_REF.
3383
420183d9
L
33842019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3385
3386 PR c/51628
3387 PR c/88664
3388 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3389 Remove the boolean argument.
3390 * c-warn.c (check_address_of_packed_member): Renamed to ...
3391 (check_address_or_pointer_of_packed_member): This. Also
3392 warn pointer conversion.
3393 (check_and_warn_address_of_packed_member): Renamed to ...
3394 (check_and_warn_address_or_pointer_of_packed_member): This.
3395 Also warn pointer conversion.
3396 (warn_for_address_or_pointer_of_packed_member): Remove the
3397 boolean argument. Don't check pointer conversion here.
3398
99063eee
RS
33992019-01-15 Richard Sandiford <richard.sandiford@arm.com>
3400
3401 PR inline-asm/52813
3402 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3403
a30d0196
JJ
34042019-01-14 Jakub Jelinek <jakub@redhat.com>
3405
3406 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3407 and __cpp_nontype_template_parameter_auto. Add a comment that
3408 __cpp_template_auto is deprecated.
3409
2d91f79d
TH
34102019-01-14 Tom Honermann <tom@honermann.net>
3411
3412 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3413 * c-common.c (c_common_reswords): Add char8_t.
3414 (fix_string_type): Use char8_t for the type of u8 string literals.
3415 (c_common_get_alias_set): char8_t doesn't alias.
3416 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3417 C++.
3418 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3419 (keyword_begins_type_specifier): Add RID_CHAR8.
3420 * c-common.h (rid): Add RID_CHAR8.
3421 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3422 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3423 Define char8_type_node and char8_array_type_node.
3424 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3425 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3426 (c_cpp_builtins): Predefine __cpp_char8_t.
3427 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3428 CPP_UTF8STRING.
3429 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3430 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3431 targeting C++2a.
3432 * c.opt: Add the -fchar8_t command line option.
3433
23db6ced
MS
34342019-01-14 Martin Sebor <msebor@redhat.com>
3435
3436 PR target/88638
3437 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3438 and issue errors if it fails.
3439 * c-common.h (valid_format_string_type_p): Declare.
3440 * c-format.c (valid_stringptr_type_p): Rename...
3441 (valid_format_string_type_p): ...to this and make extern.
3442 (handle_format_arg_attribute): Adjust to new name.
3443 (check_format_string): Same.
3444
234c3818
L
34452019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3446
3447 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3448 Replace "may may" with "may" in warning message.
3449
d8fcab68
JJ
34502019-01-07 Jakub Jelinek <jakub@redhat.com>
3451
3452 PR c++/85052
3453 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3454 (c_build_vec_convert): Declare.
3455 * c-common.c (c_build_vec_convert): New function.
3456
29d24852
MS
34572019-01-04 Martin Sebor <msebor@redhat.com>
3458
3459 PR c/88546
3460 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3461 Handle C++ empty throw specification and C11 _Noreturn.
3462 (has_attribute): Also handle C11 _Noreturn.
3463
9069a4c9
MS
34642019-01-04 Martin Sebor <msebor@redhat.com>
3465
3466 PR c/88363
3467 * c-attribs.c (positional_argument): Also accept enumerated types.
3468
a5544970
JJ
34692019-01-01 Jakub Jelinek <jakub@redhat.com>
3470
3471 Update copyright years.
3472
da77eace
L
34732018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3474
3475 PR c/51628
3476 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3477 * c-warn.c (check_alignment_of_packed_member): New function.
3478 (check_address_of_packed_member): Likewise.
3479 (check_and_warn_address_of_packed_member): Likewise.
3480 (warn_for_address_or_pointer_of_packed_member): Likewise.
3481 * c.opt: Add -Wno-address-of-packed-member.
3482
573767d4
DM
34832018-12-20 David Malcolm <dmalcolm@redhat.com>
3484
3485 PR c++/87504
3486 * c-warn.c (get_outermost_macro_expansion): New function.
3487 (spelled_the_same_p): Use it to unwind the macro expansions, and
3488 compare the outermost macro in each nested expansion, rather than
3489 the innermost.
3490
a14feb3c
DM
34912018-12-19 David Malcolm <dmalcolm@redhat.com>
3492
3493 PR c++/87504
3494 * c-common.h (warn_tautological_cmp): Convert 1st param from
3495 location_t to const op_location_t &.
3496 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3497 when testing for INTEGER_CST.
3498 (warn_tautological_bitwise_comparison): Convert 1st param from
3499 location_t to const op_location_t &; use it to build a
3500 binary_op_rich_location, and use this.
3501 (spelled_the_same_p): New function.
3502 (warn_tautological_cmp): Convert 1st param from location_t to
3503 const op_location_t &. Warn for macro expansions if
3504 spelled_the_same_p. Use binary_op_rich_location.
3505
dfd7fdca
DM
35062018-12-19 David Malcolm <dmalcolm@redhat.com>
3507
3508 PR c++/43064
3509 PR c++/43486
3510 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3511 (verify_tree): Handle location wrappers.
3512 (c_common_truthvalue_conversion): Strip any location wrapper.
3513 Handle CONST_DECL.
3514 (fold_offsetof): Strip any location wrapper.
3515 (complete_array_type): Likewise for initial_value.
3516 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3517 index before checking for INTEGER_CST.
3518 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3519 print parentheses around location wrappers.
3520 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3521 before checking for INTEGER_CST.
3522 (warn_tautological_bitwise_comparison): Call
3523 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3524 before checking for INTEGER_CST.
3525 (readonly_error): Strip any location wrapper.
3526 (warn_array_subscript_with_type_char): Strip location wrappers
3527 before checking for INTEGER_CST. Use the location of the index if
3528 available.
3529
5c8b3702
JM
35302018-12-06 Jason Merrill <jason@redhat.com>
3531
3532 PR c++/88136 - -Wdeprecated-copy false positives
3533 * c.opt (Wdeprecated-copy-dtor): New.
3534 (Wdeprecated-copy): Move to -Wextra.
3535
673670da
MS
35362018-11-29 Martin Sebor <msebor@redhat.com>
3537
3538 PR c/88172
3539 PR testsuite/88208
3540 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3541 alignments to values less than the target requires.
3542 (has_attribute): For attribute aligned consider both the attribute
3543 and the alignment bits.
3544 * c-common.c (c_init_attributes): Optionally issue a warning for
3545 zero alignment.
3546
04864ec8
MS
35472018-11-28 Martin Sebor <msebor@redhat.com>
3548
3549 PR c/88065
3550 PR c/87297
3551 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3552 or destination is an error.
3553
ace83db0
JJ
35542018-11-28 Jakub Jelinek <jakub@redhat.com>
3555
3556 PR c++/88215
3557 * c-ubsan.c: Include langhooks.h.
3558 (ubsan_instrument_division): Change gcc_assert that main variants
3559 of op0 and op1 types are equal to gcc_checking_assert that the
3560 main variants are compatible types.
3561
da193a27
EB
35622018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3563
3564 * c-ada-spec.c: Include stringpool.h.
3565 (has_static_fields): Return false for incomplete types.
3566 (is_tagged_type): Likewise.
3567 (has_nontrivial_methods): Likewise.
3568 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3569 (struct overloaded_name_hash): New structure.
3570 (struct overloaded_name_hasher): Likewise.
3571 (overloaded_names): New global variable.
3572 (init_overloaded_names): New static function.
3573 (overloaded_name_p): New predicate.
3574 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3575 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3576 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3577 Remove always-true condition and dump forward types.
3578 (dump_ada_specs): Delete overloaded_names.
3579
98f08eb8
MS
35802018-11-20 Martin Sebor <msebor@redhat.com>
3581
3582 * c-attribs.c (type_for_vector_size): New function.
3583 (type_valid_for_vector_size): Same.
3584 (handle_vector_size_attribute): Move code to the functions above
3585 and call them.
3586 (validate_attribute, has_attribute): New functions.
3587 * c-common.h (has_attribute): Declare.
3588 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3589 * c-common.c (c_common_resword): Same.
3590
2674fa47
JM
35912018-11-16 Jason Merrill <jason@redhat.com>
3592
3593 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3594 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3595
258b3854
JJ
35962018-11-16 Jakub Jelinek <jakub@redhat.com>
3597
3598 PR middle-end/87854
3599 * c-common.c (fix_string_type): Reject string literals larger than
3600 TYPE_MAX_VALUE (ssizetype) bytes.
3601
1d249509
MS
36022018-11-15 Martin Sebor <msebor@redhat.com>
3603
3604 PR c++/87541
3605 PR c++/87542
3606 * c-attribs.c (positional_argument): New function.
3607 (handle_alloc_size_attribute): Use it and simplify.
3608 (handle_alloc_align_attribute): Same.
3609 (handle_assume_aligned_attribute): Same.
3610 (handle_nonnull_attribute): Same.
3611 * c-common.c (check_function_arguments): Pass fntype to
3612 check_function_format.
3613 * c-common.h (check_function_format): Add an argument.
3614 (PosArgFlags, positional_argument): Declare new type and function.
3615 * c-format.c (decode_format_attr): Add arguments.
3616 (check_format_string, get_constant): Same.
3617 (convert_format_name_to_system_name): Adjust.
3618
478dd60d
DM
36192018-11-15 David Malcolm <dmalcolm@redhat.com>
3620
3621 PR other/19165
3622 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3623
8cca0163
JJ
36242018-11-14 Jakub Jelinek <jakub@redhat.com>
3625
8ee09943
JJ
3626 P1236R1 - Signed integers are two's complement
3627 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3628 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3629 with in-range second operand well defined for -std=c++2a.
3630
8cca0163
JJ
3631 PR other/88007
3632 * c-common.c (parse_optimize_options): Allocate option string from
3633 opts_obstack rather than as GC memory. Move the allocation after
3634 warning for invalid option.
3635
620e594b
DM
36362018-11-13 David Malcolm <dmalcolm@redhat.com>
3637
3638 * c-common.c (c_get_substring_location): Update for renaming of
3639 get_source_location_for_substring to get_location_within_string.
3640 * c-lex.c: Replace "source_location" with "location_t".
3641 * c-opts.c: Likewise.
3642 * c-ppoutput.c: Likewise.
3643
f9731de3
MS
36442018-11-13 Martin Sebor <msebor@redhat.com>
3645
3646 PR middle-end/81824
3647 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3648 (handle_tls_model_attribute): Improve diagnostics.
3649
e4bd6d5e
JM
36502018-11-12 Jason Merrill <jason@redhat.com>
3651
a6bb6b07
JM
3652 * c-cppbuiltin.c (c_cpp_builtins): Define
3653 __cpp_impl_destroying_delete.
3654
e4bd6d5e
JM
3655 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3656 __cpp_conditional_explicit.
3657
79a2c428
MS
36582018-11-09 Martin Sebor <msebor@redhat.com>
3659
3660 PR middle-end/81824
3661 * c-attribs.c (handle_copy_attribute): New function.
3662
4c7bd361
MS
36632018-11-09 Martin Sebor <msebor@redhat.com>
3664
3665 PR c/87795
3666 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3667
28567c40
JJ
36682018-11-08 Jakub Jelinek <jakub@redhat.com>
3669
3670 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3671 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3672 enum omp_memory_order MEMORY_ORDER.
3673 (c_finish_omp_flush): Add MO argument.
3674 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3675 (c_finish_omp_for): Add FINAL_P argument.
3676 * c-omp.c: Include memmodel.h.
3677 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3678 OMP_TASKGROUP_CLAUSES to it.
3679 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3680 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3681 instead of OMP_ATOMIC_SEQ_CST.
3682 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3683 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3684 __atomic_thread_fence call with the given value.
3685 (check_omp_for_incr_expr): Formatting fixes.
3686 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3687 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3688 is not constant expression 1 or -1. Transform NE_EXPR loops
3689 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3690 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3691 loops too.
3692 (c_omp_split_clauses): Add support for combined
3693 #pragma omp parallel master and
3694 #pragma omp {,parallel }master taskloop{, simd} constructs.
3695 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3696 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3697 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3698 (c_omp_predetermined_sharing): Don't return
3699 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3700 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3701 PRAGMA_OMP_REQUIRES.
3702 * c-pragma.h (enum pragma_kind): Likewise.
3703 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3704 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3705
204839e7
DM
37062018-11-08 David Malcolm <dmalcolm@redhat.com>
3707
3708 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3709
d8010ee4
DM
37102018-11-08 David Malcolm <dmalcolm@redhat.com>
3711
3712 * c-format.c (local_cgraph_node_ptr_node): New variable.
3713 (gcc_dump_printf_char_table): Add entry for %C.
3714 (get_pointer_to_named_type): New function, taken from the handling
3715 code for "gimple *" from...
3716 (init_dynamic_diag_info): ...here. Add handling for
3717 "cgraph_node *".
3718 * c-format.h (T_CGRAPH_NODE): New.
3719
4be5c72c
JM
37202018-10-19 Jason Merrill <jason@redhat.com>
3721
3722 * c-cppbuiltin.c (c_cpp_builtins): Add
3723 __cpp_nontype_template_parameter_class.
3724
f3f6029d
NS
37252018-10-31 Nathan Sidwell <nathan@acm.org>
3726
ab5324fb
NS
3727 * c-opts.c (c_finish_options): Force command line macro
3728 location. Refactor to avoid repeating main debug hook.
3729 (push_command_line_include): Clarify comment.
3730
f3f6029d
NS
3731 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3732
91e3ec29
MS
37332018-10-30 Martin Sebor <msebor@redhat.com>
3734
3735 PR middle-end/87041
3736 * c-format.c (check_format_types): Avoid diagnosing null pointer
3737 arguments to printf-family of functions.
3738
b5ff4f5c
MP
37392018-10-30 Marek Polacek <polacek@redhat.com>
3740
3741 Implement P0892R2, explicit(bool).
3742 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3743
7e2de6df
DM
37442018-10-29 David Malcolm <dmalcolm@redhat.com>
3745
3746 * name-hint.h (name_hint::take_deferred): New member function.
3747
b2bf438c
DM
37482018-10-29 David Malcolm <dmalcolm@redhat.com>
3749
3750 PR c++/56856
3751 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3752 argument.
3753 (check_function_restrict): Rename param "argarray" to
3754 "unfolded_argarray", and make a copy named "argarray", calling
3755 fold_for_warn on each argument.
3756 (check_function_arguments): Add note about responsibility for
3757 folding the arguments.
3758
9f936c86
JM
37592018-10-17 Joseph Myers <joseph@codesourcery.com>
3760
3761 * c-common.c (flag_isoc2x): New variable.
3762 * c-common.h (clk_c): Update comment to reference C2X.
3763 (flag_isoc99, flag_isoc11): Update comments to reference future
3764 standard versions in general.
3765 (flag_isoc2x): Declare.
3766 * c-opts.c (set_std_c2x): New function.
3767 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3768 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3769 flag_isoc2x to 0.
3770 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3771
7a8a92c4
JM
37722018-10-17 Joseph Myers <joseph@codesourcery.com>
3773
3774 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3775 (std=iso9899:2018): Document C17 as published in 2018.
3776
4dc003ff
CL
37772018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
3778
3779 PR c++/87364
3780 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3781
79371671
WW
37822018-10-11 Will Wray <wjwray@gmail.com>
3783
3784 PR c++/87364
3785 * c-pretty-print.h (pp_c_type_cast): Prototype.
3786 (pp_c_integer_constant): Likewise.
3787 * c-pretty-print.c (pp_c_type_cast): No longer static.
3788 (pp_c_integer_constant): Likewise.
3789 (pp_c_enumeration_constant): Fix loop termination when finding
3790 name of constant. No longer returns a value. Call
3791 pp_c_integer_constant.
3792 (c_pretty_printer::constant): Update for changes to
3793 pp_c_enumeration_constant.
3794
46c62690
JJ
37952018-10-11 Jakub Jelinek <jakub@redhat.com>
3796
3797 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3798 for no_unique_address.
3799
c24300ba
DM
38002018-10-09 David Malcolm <dmalcolm@redhat.com>
3801
3802 * c-common.c (c_option_controlling_cpp_error): Rename to...
3803 (c_option_controlling_cpp_diagnostic): ...this, and convert
3804 "reason" from int to enum.
3805 (c_cpp_error): Rename to...
3806 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3807 * c-common.h (c_cpp_error): Rename to...
3808 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3809 * c-opts.c (c_common_init_options): Update for renaming.
3810
8656dafa
RS
38112018-10-08 Richard Sandiford <richard.sandiford@arm.com>
3812
3813 PR c/87286
3814 * c-common.c (vector_types_compatible_elements_p): Use
3815 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3816
8cff0652
VK
38172018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
3818
3819 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3820 to generate constructor destructor priority warning.
3821 * c.opt (-Wprio-ctor-dtor): New option.
3822
bedf03a2
JM
38232018-10-01 Jason Merrill <jason@redhat.com>
3824
3825 * c-lex.c (c_common_has_attribute): Add no_unique_address.
3826
6cc430c1
EB
38272018-10-01 Eric Botcazou <ebotcazou@adacore.com>
3828
3829 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3830 (dump_ada_node): Add const keyword.
3831
87677ac7
ML
38322018-09-25 Martin Liska <mliska@suse.cz>
3833
3834 * c-common.c (c_common_truthvalue_conversion):
3835 Remove Pascal from documentation.
3836
518196cb
EB
38372018-09-21 Eric Botcazou <ebotcazou@adacore.com>
3838
3839 * c-ada-spec.c: Include diagnostic.h.
3840 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3841
a599af84
MP
38422018-09-19 Marek Polacek <polacek@redhat.com>
3843
3844 * c.opt (Wclass-conversion): New.
3845
9c4a4b3c
DM
38462018-09-17 David Malcolm <dmalcolm@redhat.com>
3847
3848 * c-format.c (range_label_for_format_type_mismatch::get_text):
3849 Update for new param.
3850
c896ecfe
DM
38512018-09-17 David Malcolm <dmalcolm@redhat.com>
3852
3853 * c-format.c (format_warning_at_char): Update for introduction of
3854 format_string_diagnostic_t.
3855 (format_type_warning): Likewise.
3856
80c6d1f4
MJ
38572018-09-17 Martin Jambor <mjambor@suse.cz>
3858
3859 PR c/63886
3860 * c.opt (Wabsolute-value): New.
3861
6d900107
BE
38622018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
3863
3864 * c-common.c (complete_flexible_array_elts): New helper function.
3865 * c-common.h (complete_flexible_array_elts): Declare.
3866
b5764229
BE
38672018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3868
3869 * c-common.c (braced_list_to_string): Remove eval parameter.
3870 Add some more checks. Always create zero-terminated STRING_CST.
3871 * c-common.h (braced_list_to_string): Adjust prototype.
3872
85204e23
DM
38732018-08-27 David Malcolm <dmalcolm@redhat.com>
3874
3875 PR 87091
3876 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3877 to a tri-state.
3878 (maybe_suggest_missing_token_insertion): Likewise.
3879 (maybe_add_include_fixit): Add param "override_location". If set,
3880 and source-printing is enabled, then override the rich_location's
3881 primary location with that of the insertion point for the fix-it
3882 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3883 * c-common.h (extern void maybe_add_include_fixit): Add bool
3884 param.
3885 * c-format.c (selftest::test_type_mismatch_range_labels): Update
3886 for conversion of show_caret_p to a tri-state.
3887 * c-warn.c (warn_for_restrict): Likewise.
3888 * known-headers.cc
3889 (suggest_missing_header::~suggest_missing_header): Update call to
3890 maybe_add_include_fixit to suggest overriding the location, as it
3891 is for a note.
3892
3d78e008
ML
38932018-08-27 Martin Liska <mliska@suse.cz>
3894
3895 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
3896 fndecl_built_in_p and remove check for FUNCTION_DECL if
3897 possible.
3d78e008
ML
3898 (check_builtin_function_arguments): Likewise.
3899 (reject_gcc_builtin): Likewise.
3900 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3901
b5be6d0c
MP
39022018-08-26 Marek Polacek <polacek@redhat.com>
3903
3904 PR c++/87029, Implement -Wredundant-move.
3905 * c.opt (Wredundant-move): New option.
3906
79ca9c35
MP
39072018-08-21 Marek Polacek <polacek@redhat.com>
3908
3909 PR c++/86981, Implement -Wpessimizing-move.
3910 * c.opt (Wpessimizing-move): New option.
3911
097f82ec
DM
39122018-08-20 David Malcolm <dmalcolm@redhat.com>
3913
3914 PR other/84889
3915 * c-attribs.c (common_handle_aligned_attribute): Add
3916 auto_diagnostic_group instance.
3917 * c-indentation.c (warn_for_misleading_indentation): Likewise.
3918 * c-opts.c (c_common_post_options): Likewise.
3919 * c-warn.c (warn_logical_not_parentheses): Likewise.
3920 (warn_duplicated_cond_add_or_warn): Likewise.
3921 (warn_for_multistatement_macros): Likewise.
3922
3fb558b1
NS
39232018-08-20 Nathan Sidwell <nathan@acm.org>
3924
3925 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3926 access.
3927
800c0e98
NS
39282018-08-17 Nathan Sidwell <nathan@acm.org>
3929
3930 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3931 field.
3932 (laxy_hex_fp_value_count): Make unsigned.
3933 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
3934 manipulate the macro.
3935 (builtin_defin_with_hex_fp_value): Adjust callback name, use
3936 cpp_define_lazily.
3937
6f795a92
DM
39382018-08-17 David Malcolm <dmalcolm@redhat.com>
3939
3940 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3941 (gcc_dump_printf_length_specs): New.
3942 (gcc_dump_printf_flag_pairs): New.
3943 (gcc_dump_printf_flag_specs): New.
3944 (gcc_dump_printf_char_table): New.
3945 (format_types_orig): Add entry for "gcc_dump_printf".
3946 (init_dynamic_diag_info): Set up length_char_specs and
3947 conversion_specs for gcc_dump_printf_format_type.
3948 (handle_format_attribute): Handle gcc_dump_printf_format_type.
3949
c5d725c0
NS
39502018-08-17 Nathan Sidwell <nathan@acm.org>
3951
10f04917
NS
3952 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3953
c5d725c0
NS
3954 * c-ada-spec.c: Don't #include "cpp-id-data.h"
3955 * c-cppbuiltin.c: Likewise.
3956
c0c12356
ML
39572018-08-17 Martin Liska <mliska@suse.cz>
3958
3959 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
3960 Ignore/Deprecated flag. Warning is done automatically for
3961 Deprecated flags.
c0c12356 3962
10fcc142
DM
39632018-08-16 David Malcolm <dmalcolm@redhat.com>
3964
3965 PR c++/70693
3966 * c-common.c (selftest::c_family_tests): Call
3967 selftest::c_indentation_c_tests.
3968 * c-common.h (selftest::c_indentation_c_tests): New decl.
3969 * c-indentation.c: Include "selftest.h".
3970 (next_tab_stop): Add "tab_width" param, rather than accessing
3971 cpp_opts.
3972 (get_visual_column): Likewise. Clarify comment. Bulletproof
3973 against reading past the end of the line.
3974 (get_first_nws_vis_column): Add "tab_width" param.
3975 (detect_intervening_unindent): Likewise.
3976 (should_warn_for_misleading_indentation): Read tab width from
3977 cpp_opts and pass around.
3978 (selftest::test_next_tab_stop): New test.
3979 (selftest::assert_get_visual_column_succeeds): New function.
3980 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3981 (selftest::assert_get_visual_column_fails): New function.
3982 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3983 (selftest::test_get_visual_column): New test.
3984 (selftest::c_indentation_c_tests): New function.
3985
3f6677f4
NS
39862018-08-16 Nathan Sidwell <nathan@acm.org>
3987
3988 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3989 (store_ada_macro): Likewise.
3990 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3991 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3992
96e6ae57
DM
39932018-08-15 David Malcolm <dmalcolm@redhat.com>
3994
3995 * c-format.c: Include "selftest-diagnostic.h" and
3996 "gcc-rich-location.h".
3997 (format_warning_at_char): Pass NULL for new label params of
3998 format_warning_va.
3999 (class indirection_suffix): New class.
4000 (class range_label_for_format_type_mismatch): New class.
4001 (format_type_warning): Move logic for generating "*" suffix to
4002 class indirection_suffix. Create "fmt_label" and "param_label"
4003 to show their types, and pass them to the
4004 format_warning_at_substring calls.
4005 (selftest::test_type_mismatch_range_labels): New test.
4006 (selftest::c_format_c_tests): Call it.
4007
23aa9f7c
MS
40082018-08-13 Martin Sebor <msebor@redhat.com>
4009
4010 PR tree-optimization/71625
4011 * c-common.c (braced_list_to_string): New function.
4012 * c-common.h (braced_list_to_string): Declare it.
4013
f10a9135
NS
40142018-08-08 Nathan Sidwell <nathan@acm.org>
4015
4016 * c-common.c (try_to_locate_new_include_inertion_point): Use
4017 linemap_included_from_linemap.
4018 * c-lex.c (fe_file_change): Use linemap_included_from.
4019 * c-ppoutput.c (pp_file_change): Likewise.
4020
8a45b051
MS
40212018-08-01 Martin Sebor <msebor@redhat.com>
4022
4023 PR tree-optimization/86650
ab20d992 4024 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4025 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4026 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4027 * c-format.h (T89_G): Update to be "gimple *" rather than
4028 "gcall *".
4029 (local_gcall_ptr_node): Rename...
4030 (local_gimple_ptr_node): ...to this.
4031
e540ccc0
DM
40322018-07-31 David Malcolm <dmalcolm@redhat.com>
4033
4034 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4035 table entries for gcc_diag_char_table, and the 'Z' entry from
4036 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4037 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4038 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4039 adding missing "Z" for this table. Remove erroneous "G" and "K"
4040 entries.
4041 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4042 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4043 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4044
425fc685
RE
40452018-07-31 Richard Earnshaw <rearnsha@arm.com>
4046
4047 * c-common.c (speculation_safe_resolve_call): New function.
4048 (speculation_safe_resolve_params): New function.
4049 (speculation_safe_resolve_return): New function.
4050 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4051 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4052 __HAVE_SPECULATION_SAFE_VALUE.
4053
181463c2
DM
40542018-07-20 David Malcolm <dmalcolm@redhat.com>
4055
4056 * c-common.c (c_cpp_error): Remove redundant "line_table"
4057 parameter from call to rich_location::set_range.
4058 (maybe_suggest_missing_token_insertion): Likewise.
4059
0d7f9065
MS
40602018-07-20 Martin Sebor <msebor@redhat.com>
4061
4062 PR middle-end/82063
ab20d992 4063 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4064
00abf86c
MS
40652018-07-20 Martin Sebor <msebor@redhat.com>
4066
4067 PR middle-end/82063
4068 * c-common.h (c_common_handle_option): Change function argument
4069 to HOST_WIDE_INT.
4070 * c-opts.c (c_common_init_options): Same.
4071 (c_common_handle_option): Same. Remove special handling of
4072 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4073 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4074 options to take a HOST_WIDE_INT argument and accept a byte-size
4075 suffix. Initialize.
4076 (-Wvla-larger-than): Same.
4077 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4078 (-Wno-vla-larger-than): Same.
4079
9b452033
JJ
40802018-07-12 Jakub Jelinek <jakub@redhat.com>
4081
4082 * c-attribs.c (c_common_attribute_table): Add
4083 "omp declare target implicit" attribute.
4084
cd0762f3
RB
40852018-07-12 Richard Biener <rguenther@suse.de>
4086
4087 PR c/86453
4088 * c-attribs.c (handle_packed_attribute): Do not build a variant
4089 type with TYPE_PACKED, instead ignore the attribute if we may
4090 not apply to the original type.
4091
0b27c3ed
JJ
40922018-07-10 Jakub Jelinek <jakub@redhat.com>
4093
4094 PR c++/86443
4095 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4096 to contain TREE_LIST for both the original class iterator and the
4097 "last" helper var.
4098
e730a0ef
EB
40992018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4100
4101 * c-ada-spec.c (to_ada_name): Remove index parameter.
4102 (pp_ada_tree_identifier): Likewise.
4103 (dump_ada_macros): Adjust call to to_ada_name.
4104 (struct overloaded_name_hash): Delete.
4105 (struct overloaded_name_hasher): Likewise.
4106 (overloaded_names): Likewise.
4107 (compute_overloading_index): Likewise.
4108 (dump_ada_decl_name): Do not call compute_overloading_index and
4109 adjust calls to pp_ada_tree_identifier.
4110 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4111 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4112 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4113 (dump_ada_enum_type): Remove type and display_convention parameters.
4114 Adjust calls to pp_ada_tree_identifier.
4115 (dump_ada_node): Likewise and for dump_ada_structure.
4116 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4117 and tidy up.
4118 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4119 syntax.
4120 (print_constructor): Adjust call to pp_ada_tree_identifier.
4121 (print_destructor): Likewise.
4122 (dump_ada_declaration): Switch to aspect syntax.
4123 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4124 parameter with nested parameter.
4125 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4126 (dump_ada_specs): Do not delete overloaded_names table.
4127
8de583fc
PB
41282018-07-06 Peter Bergner <bergner@linux.ibm.com>
4129
4130 PR target/86324
e730a0ef 4131 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4132 target hook.
4133
09cff37b
NS
41342018-07-05 Nathan Sidwell <nathan@acm.org>
4135
4136 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4137 NO_IMPLICIT_EXTERN_C.
4138
98086b2b
ML
41392018-06-28 Martin Liska <mliska@suse.cz>
4140
4141 * cppspec.c: Include opt-suggestions.h.
4142
ab20d992
JJ
41432018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4144 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4145 Cesar Philippidis <cesar@codesourcery.com>
4146
4147 * c-pragma.h (enum pragma_omp_clause): Add
4148 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4149 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4150
f41b7612
JJ
41512018-06-20 Jakub Jelinek <jakub@redhat.com>
4152
4153 PR c++/86210
4154 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4155 comment.
4156
4252ccd7
MS
41572018-06-18 Martin Sebor <msebor@redhat.com>
4158
4159 PR middle-end/85602
4160 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4161 nonstring.
4162
e197e64e
KV
41632018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4164
4165 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4166
34a7a230
JM
41672018-06-13 Jason Merrill <jason@redhat.com>
4168
5cef3733
JM
4169 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4170 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4171 handling.
4172
34a7a230
JM
4173 PR c++/86094 - wrong code with defaulted move ctor.
4174 * c-opts.c (c_common_post_options): Bump the current ABI version to
4175 13. Set warn_abi_version and flag_abi_compat_version to the current
4176 version rather than 0. Fix defaulting flag_abi_compat_version from
4177 warn_abi_version.
4178
bb0f14ae
MS
41792018-06-12 Martin Sebor <msebor@redhat.com>
4180
4181 PR c/85931
4182 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4183 sizeof source and destination yields the same value.
4184
3713f2e2
ML
41852018-06-12 Martin Liska <mliska@suse.cz>
4186
4187 * c.opt: Make MPX-related options as Deprecated.
4188
4af78ef8
DM
41892018-06-08 David Malcolm <dmalcolm@redhat.com>
4190
4191 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4192 rather than 0.
4193
31db0fe0
ML
41942018-06-08 Martin Liska <mliska@suse.cz>
4195
4196 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4197 for MPX (macros, related functions, fields in cgraph_node, ...).
4198 (handle_bnd_legacy): Likewise.
4199 (handle_bnd_instrument): Likewise.
4200 * c.opt: Likewise.
4201
fe16acf2
JJ
42022018-06-06 Jakub Jelinek <jakub@redhat.com>
4203
4204 PR c++/86068
4205 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4206 __cpp_transactional_memory to 201500 instead of 210500.
4207
4dbdb49b
JM
42082018-06-06 Jason Merrill <jason@redhat.com>
4209
4210 PR c++/85710 - ICE with -Wmemset-elt-size.
4211 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4212
f8ad043f
JM
42132018-06-01 Jason Merrill <jason@redhat.com>
4214
4215 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4216 201703.
4217
abc24d93
EB
42182018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4219
4220 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4221 declaration for a typedef independently of whether the declaration of
4222 the subtype is generated.
4223
d258f4aa
MS
42242018-05-31 Martin Sebor <msebor@redhat.com>
4225
4226 PR c/82063
4227 * c.opt (-Wno-alloc-size-larger-than): New option.
4228
b67b9225
DP
42292018-04-22 David Pagan <dave.pagan@oracle.com>
4230
4231 PR c/55976
4232 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4233 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4234 differentiate between default (no option), -Wreturn-type, and
4235 -Wno-return-type.
4236
04eb9c55
JM
42372018-05-29 Jason Merrill <jason@redhat.com>
4238
4239 * c.opt (Winit-list-lifetime): New flag.
4240
b0c31bc6
BE
42412018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4242
4243 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4244 splay_tree_delete_pointers.
4245
44284983
JJ
42462018-05-26 Jakub Jelinek <jakub@redhat.com>
4247
4248 PR bootstrap/85921
4249 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4250 noinline variable to workaround broken kernel headers.
4251
b46b715d
JM
42522018-05-18 Jason Merrill <jason@redhat.com>
4253
4254 * c.opt (Wdeprecated-copy): New flag.
4255
40659769
ML
42562018-05-17 Martin Liska <mliska@suse.cz>
4257
4258 * c-warn.c (overflow_warning): Do not use
4259 space in between 'G_' and '('.
4260
403962ea
JM
42612018-05-09 Jason Merrill <jason@redhat.com>
4262
4263 * c-common.c (valid_array_size_p): Add complain parameter.
4264 * c-common.h: ...which defaults to true.
4265
1c9ee609
JJ
42662018-05-11 Jakub Jelinek <jakub@redhat.com>
4267
4268 PR c/85696
4269 * c-omp.c (c_omp_predetermined_sharing): Return
4270 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4271
19916065
ML
42722018-05-11 Martin Liska <mliska@suse.cz>
4273
92a285c1 4274 PR sanitizer/85556
19916065
ML
4275 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4276 TREE_LIST values.
4277
79e7b1fe
JJ
42782018-05-10 Jakub Jelinek <jakub@redhat.com>
4279
4280 PR c++/85662
4281 * c-common.h (fold_offsetof_1): Removed.
4282 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4283 CTX argument defaulted to ERROR_MARK.
4284 * c-common.c (fold_offsetof_1): Renamed to ...
4285 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4286 argument, convert the pointer constant to TYPE and use size_binop
4287 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4288 a pointer type. Adjust recursive calls.
4289
86c12f76
EB
42902018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4291
4292 PR c++/85400
4293 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4294
ee336e84
NS
42952018-05-07 Nathan Sidwell <nathan@acm.org>
4296
4297 * c.opt (ffor-scope): Remove functionality, issue warning.
4298
6c072e21
NS
42992018-05-03 Nathan Sidwell <nathan@acm.org>
4300
4301 * c.opt (ffriend-injection): Remove functionality, issue warning.
4302
2cc7d3a7
DM
43032018-05-01 David Malcolm <dmalcolm@redhat.com>
4304
4305 PR c/84258
4306 * c-format.c (struct format_check_results): Add field
4307 "number_non_char".
4308 (check_format_info): Initialize it, and warn if encountered.
4309 (check_format_arg): Distinguish between wide char and
4310 everything else when detecting arrays of non-char.
4311
7761dfbe
DM
43122018-04-30 David Malcolm <dmalcolm@redhat.com>
4313
4314 * c-format.c (get_corrected_substring): Update for
4315 location_get_source_line returning a char_span. Use a char_span
4316 when handling the prefix of the correction.
4317 * c-indentation.c (get_visual_column): Update for
4318 location_get_source_line returning a char_span.
4319 (get_first_nws_vis_column): Likewise.
4320
62e98ef1
DM
43212018-03-29 David Malcolm <dmalcolm@redhat.com>
4322
4323 PR c++/84269
4324 * known-headers.cc (get_stdlib_header_for_name): Add various names
4325 from <assert.h>, <string.h>, and <memory.h>; add more names from
4326 <stdio.h>.
4327
a7dea617
JJ
43282018-03-27 Jakub Jelinek <jakub@redhat.com>
4329
4330 PR c++/85061
4331 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4332 get_base_address of the second operand is a VAR_P, rather than the
4333 operand itself, and use gcc_checking_assert instead of gcc_assert.
4334
889a3a30
MP
43352018-03-23 Marek Polacek <polacek@redhat.com>
4336
4337 PR c++/85045
4338 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4339 <case RDIV_EXPR>: Tweak condition.
4340
452154b9
EB
43412018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4342
4343 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4344
63ecb626
JJ
43452018-03-16 Jakub Jelinek <jakub@redhat.com>
4346
ce811fc4
JJ
4347 PR c/84909
4348 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4349 diagnostics.
4350
63ecb626
JJ
4351 PR c/84910
4352 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4353 diagnostics.
4354
a1295eec
RB
43552018-03-16 Richard Biener <rguenther@suse.de>
4356
4357 PR c/84873
4358 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4359 unshare the possibly folded expression.
4360
919674fb
RB
43612018-03-15 Richard Biener <rguenther@suse.de>
4362
4363 PR c/84873
4364 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4365
f99309b2
MS
43662018-03-13 Martin Sebor <msebor@redhat.com>
4367
4368 PR tree-optimization/84725
4369 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4370 with all three narrow character types, including their qualified forms.
4371
e9b9fa4c
MS
43722018-03-12 Martin Sebor <msebor@redhat.com>
4373
4374 PR tree-optimization/83456
ab20d992 4375 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4376 Restore checking of bounded built-in functions.
4377 (check_function_arguments): Also return the result
4378 of warn_for_restrict.
ab20d992
JJ
4379 * c-common.c (check_function_restrict): Return bool.
4380 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4381
0805d020
MP
43822018-03-02 Marek Polacek <polacek@redhat.com>
4383
4384 PR c++/84171
4385 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4386 is erroneous.
4387
ed2a2f08
TS
43882018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4389
4390 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4391 function".
4392
90abdde0
MP
43932018-03-01 Marek Polacek <polacek@redhat.com>
4394
4395 PR c++/84639
4396 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4397 alignment in computation.
4398
c6db43fa
EB
43992018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4400
4401 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4402 <REAL_TYPE>: Deal specifically with _Float128/__float128.
4403
9e25c7ed
EB
44042018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4405
4406 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4407 (is_char_array): Take a type instead of a declaration.
4408 (dump_ada_array_type): Likewise.
4409 (is_simple_enum): Minor tweak.
4410 (dump_ada_enum_type): New function extracted from...
4411 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
4412 <INTEGER_TYPE>: Remove unreachable code.
4413 <RECORD_TYPE>: Likewise. Minor tweaks.
4414 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4415 <ENUMERAL_TYPE>: New case.
4416 <RECORD_TYPE>: Factor out common code.
4417 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4418 Minor tweaks. Deal with enumeral types.
4419 (dump_ada_structure): Minor tweaks.
4420
09de3550
EB
44212018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4422
4423 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4424 address for incomplete structures.
4425 (dump_forward_type): Do not bail out for incomplete structures.
4426 (dump_ada_declaration): Do not special-case incomplete structures
4427 for subtypes. Dump them as null records for types.
4428
095d8d4b
EB
44292018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4430
4431 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4432 (is_char_array): Fix formatting.
4433 (dump_template_types): Likewise.
4434 (dump_generic_ada_node): Rename into...
4435 (dump_ada_node): ...this.
4436 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4437 incomplete structures and not for empty structures. Do not use it
4438 when forward declarations are needed.
4439 (dump_forward_type): New function.
4440 (dump_nested_types): Remove FORWARD parameter. Do not consider
4441 TREE_VISITED and do not generate a forward declaration. Only dump
4442 original nested types for nested declaration.
4443 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4444 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4445 <RECORD_TYPE>: Do not consider TREE_VISITED.
4446 (dump_ada_declaration): Use booleans and fix formatting throughout.
4447 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4448 Call dump_forward_type instead of dump_nested_types for a typedef.
4449 Remove superfluous check and adjust call to dump_nested_types.
4450 <POINTER_TYPE>: Call dump_forward_type and fall through.
4451 (dump_ada_struct_decl): Rename into...
4452 (dump_ada_structure): ...this. Do not special-case empty structures.
4453
d4cfd486
MS
44542018-02-27 Martin Sebor <msebor@redhat.com>
4455
4456 PR c++/83871
4457 * c.opt (-Wmissing-attributes): New option.
4458
b22dbd03
ML
44592018-02-21 Martin Liska <mliska@suse.cz>
4460
4461 * c.opt (Wcatch-value=): Add IntegerRange.
4462
883dfe2a
JM
44632018-02-15 Jason Merrill <jason@redhat.com>
4464
4465 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4466
0444aa9c
NS
44672018-02-09 Nathan Sidwell <nathan@acm.org>
4468
4469 PR c/84293
4470 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4471 arg.
4472 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4473 arg. Adjust.
4474
cea71f0a
MS
44752018-02-09 Martin Sebor <msebor@redhat.com>
4476
4477 PR lto/84212
4478 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4479 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4480 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4481 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4482 (-Wuninitialized): Same.
4483
8c8b7be5
EB
44842018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4485
4486 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4487 keyword for components.
4488
7c30b12a
PC
44892018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4490
4491 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4492
eece7fe5
JK
44932018-02-02 Julia Koval <julia.koval@intel.com>
4494
4495 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4496
7d07a93a
MP
44972018-01-29 Marek Polacek <polacek@redhat.com>
4498
4499 PR c/83966
4500 * c-format.c (check_function_format): Check current_function_decl.
4501
53723269
JJ
45022018-01-27 Jakub Jelinek <jakub@redhat.com>
4503
4504 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4505 argument.
4506 (LAZY_HEX_FP_VALUES_CNT): Define.
4507 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4508 values rather than just 12.
4509 (builtin_define_with_hex_fp_value): Likewise.
4510
7365279f
BK
45112018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4512
92a285c1
ML
4513 PR other/70268
4514 * c.opt (-fmacro-prefix-map): New option.
4515 * c-opts.c (c_common_handle_option): Handle it.
4516 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4517 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4518
bb9869d5
DM
45192018-01-17 David Malcolm <dmalcolm@redhat.com>
4520
4521 PR c++/83814
4522 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4523
68dc87c3
EB
45242018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4525
4526 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4527 Skip 'f' and 'F' characters if it is true.
4528 (store_ada_macro): Minor tweak.
4529 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4530 <CPP_WSTRING>: Likewise.
4531 <CPP_STRING>: Output '&' in the buffer if not the first string.
4532 <CPP_NUMBER>: Adjust calls to dump_number.
4533
9a004410
DM
45342018-01-10 David Malcolm <dmalcolm@redhat.com>
4535
4536 PR c++/43486
4537 * c-common.c: Include "selftest.h".
4538 (get_atomic_generic_size): Perform the test for integral type
4539 before the range test for any integer constant, fixing indentation
4540 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4541 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4542 (selftest::test_fold_for_warn): New function.
4543 (selftest::c_common_c_tests): New function.
4544 (selftest::c_family_tests): Call it, and
4545 selftest::c_pretty_print_c_tests.
4546 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4547 * c-format.c (check_format_arg): Convert VAR_P check to a
4548 fold_for_warn.
4549 * c-pretty-print.c: Include "selftest.h".
4550 (pp_c_cast_expression): Don't print casts for location wrappers.
4551 (selftest::assert_c_pretty_printer_output): New function.
4552 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4553 (selftest::test_location_wrappers): New function.
4554 (selftest::c_pretty_print_c_tests): New function.
4555 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4556
5c0caeb3
RS
45572018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4558 Alan Hayward <alan.hayward@arm.com>
4559 David Sherwood <david.sherwood@arm.com>
4560
4561 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4562
73a699ae
RS
45632018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4564 Alan Hayward <alan.hayward@arm.com>
4565 David Sherwood <david.sherwood@arm.com>
4566
4567 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4568 as polynomial.
4569
928686b1
RS
45702018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4571 Alan Hayward <alan.hayward@arm.com>
4572 David Sherwood <david.sherwood@arm.com>
4573
4574 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4575 (convert_vector_to_array_for_subscript): Handle polynomial
4576 TYPE_VECTOR_SUBPARTS.
4577 (c_common_type_for_mode): Check valid_vector_subparts_p.
4578 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4579 VECTOR_CST_NELTS.
4580
85ec4feb
JJ
45812018-01-03 Jakub Jelinek <jakub@redhat.com>
4582
4583 Update copyright years.
4584
170a8bd6 45852017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4586 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4587
4588 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4589 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4590
ab20d992 45912017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4592
4593 PR debug/83527
4594 PR debug/83419
4595 * c-semantics.c (only_debug_stmts_after_p): New.
4596 (pop_stmt_list): Clear side effects in debug-only stmt list.
4597 Check for single nondebug stmt followed by debug stmts only.
4598
c12d20d4
AO
45992017-12-21 Alexandre Oliva <aoliva@redhat.com>
4600
4601 PR debug/83419
4602 * c-semantics.c (pop_stmt_list): Propagate side effects from
4603 single nondebug stmt to container list.
4604
01512446
JJ
46052017-12-19 Jakub Jelinek <jakub@redhat.com>
4606
4607 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4608 conditions with typical order conditions.
4609
82cfbd01
MP
46102017-12-18 Marek Polacek <polacek@redhat.com>
4611
4612 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4613 not in effect.
4614
99da11ec
MS
46152017-12-17 Martin Sebor <msebor@redhat.com>
4616
4617 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4618 an error for attribute warn_if_not_aligned.
4619
cc8bea0a
MS
46202017-12-16 Martin Sebor <msebor@redhat.com>
4621
4622 PR tree-optimization/78918
4623 * c-common.c (check_function_restrict): Avoid checking built-ins.
4624 * c.opt (-Wrestrict): Include in -Wall.
4625
4849deb1
JJ
46262017-12-15 Jakub Jelinek <jakub@redhat.com>
4627
4628 * c-attribs.c (c_common_attribute_table,
4629 c_common_format_attribute_table): Swap affects_type_identity
4630 and handler fields, adjust comments.
4631
c65e18d3
BE
46322017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4633
4634 * c.opt (Wcast-function-type): New warning option.
4635 * c-lex.c (get_fileinfo): Avoid warning.
4636 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4637
2004617a
QZ
46382017-12-14 Qing Zhao <qing.zhao@oracle.com>
4639
7365279f 4640 PR middle_end/79538
2004617a
QZ
4641 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4642 Adjust the size of buf1 and buf2, add a new buf to avoid
4643 format-overflow warning.
4644
ab20d992 46452017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4646
4647 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4648 subsequent statement list.
4649
5d9ae53d
MS
46502017-12-07 Martin Sebor <msebor@redhat.com>
4651
4652 PR c/81544
4653 PR c/81566
4654 * c-attribs.c (attr_aligned_exclusions): New array.
4655 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4656 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4657 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4658 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4659 (attr_warn_unused_result_exclusions): Same.
4660 (handle_hot_attribute, handle_cold_attribute): Simplify.
4661 (handle_const_attribute): Warn on function returning void.
4662 (handle_pure_attribute): Same.
4663 (handle_aligned_attribute): Diagnose conflicting attribute
4664 specifications.
4665 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4666
c79144f8
DM
46672017-12-06 David Malcolm <dmalcolm@redhat.com>
4668
4669 PR c/83236
4670 * c-common.c (selftest::c_family_tests): Call
4671 selftest::c_spellcheck_cc_tests.
4672 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4673 * c-spellcheck.cc: Include "selftest.h".
4674 (name_reserved_for_implementation_p): New function.
4675 (should_suggest_as_macro_p): New function.
4676 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4677 should_suggest_as_macro_p and call it.
4678 (selftest::test_name_reserved_for_implementation_p): New function.
4679 (selftest::c_spellcheck_cc_tests): New function.
4680 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4681
613bc14f
DM
46822017-12-06 David Malcolm <dmalcolm@redhat.com>
4683
4684 * c-spellcheck.cc: New file, taken from macro-handling code in
4685 spellcheck-tree.c.
4686 * c-spellcheck.h: New file, taken from macro-handling code in
4687 spellcheck-tree.h.
4688
e76c7157
JJ
46892017-12-01 Jakub Jelinek <jakub@redhat.com>
4690
4691 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4692 attribute.
4693 (handle_simd_attribute): Don't check for "cilk simd function"
4694 attribute. Reindent, formatting changes.
4695
b0da4034
JK
46962017-11-30 Julia Koval <julia.koval@intel.com>
4697
4698 * c-common.h (inv_list): Remove.
4699
058f0b9e
JJ
47002017-11-28 Jakub Jelinek <jakub@redhat.com>
4701
4702 PR sanitizer/81275
4703 * c-common.c (c_switch_covers_all_cases_p_1,
4704 c_switch_covers_all_cases_p): New functions.
4705 * c-common.h (c_switch_covers_all_cases_p): Declare.
4706
5e9d6aa4 47072017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4708 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4709
4710 * array-notation-common.c: Delete.
4711 * c-cilkplus.c: Ditto.
4712 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4713 * c-common.def (ARRAY_NOTATION_REF): Remove.
4714 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4715 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4716 c_validate_cilk_plus_loop, cilkplus_an_parts,
4717 cilk_ignorable_spawn_rhs_op,
4718 cilk_recognize_spawn): Remove.
4719 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4720 * c-omp.c: Remove CILK_SIMD check.
4721 * c-pragma.c: Ditto.
4722 * c-pragma.h: Remove CILK related pragmas.
4723 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4724 ARRAY_NOTATION_REF condition.
4725 (c_pretty_printer::expression): Ditto.
4726 * c.opt (fcilkplus): Remove.
4727 * cilk.c: Delete.
4728
1af4ebf5
MG
47292017-11-21 Marc Glisse <marc.glisse@inria.fr>
4730
4731 * c-pretty-print.c (pp_c_additive_expression,
4732 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4733
d44ed508
JJ
47342017-11-21 Jakub Jelinek <jakub@redhat.com>
4735
7d2f0f9b
JJ
4736 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4737
d44ed508
JJ
4738 PR c++/83059
4739 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4740 instead of tree_to_uhwi, formatting fix.
4741
26edace6
DM
47422017-11-20 David Malcolm <dmalcolm@redhat.com>
4743
4744 PR c/81404
4745 * known-headers.cc: New file, based on material from c/c-decl.c.
4746 (suggest_missing_header): Copied as-is.
4747 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4748 heavily edited to add C++ support. Add some knowledge about
4749 <limits.h>, <stdint.h>, and <wchar.h>.
4750 * known-headers.h: Likewise.
4751
6c7a259b
DM
47522017-11-20 David Malcolm <dmalcolm@redhat.com>
4753
4754 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4755 (lookup_name_fuzzy): Likewise. Convert return type from
4756 const char * to name_hint. Add location_t param.
4757 * name-hint.h: New header.
4758
f9c59f7e
JJ
47592017-11-19 Jakub Jelinek <jakub@redhat.com>
4760
4761 PR c/66618
4762 PR c/69960
4763 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4764
1e39313a
JM
47652017-11-16 Joseph Myers <joseph@codesourcery.com>
4766
4767 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4768 expected publication date of C17.
4769 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4770
3ca0dc60
JM
47712017-11-15 Joseph Myers <joseph@codesourcery.com>
4772
4773 PR c/81156
4774 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4775 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4776
025d57f0
MS
47772017-11-10 Martin Sebor <msebor@redhat.com>
4778
4779 PR c/81117
4780 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4781 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4782 * c.opt (-Wstringop-truncation): New option.
4783
1b6fa695
ML
47842017-11-06 Martin Liska <mliska@suse.cz>
4785
4786 PR middle-end/82404
4787 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4788 FE.
4789 * c.opt: Set default value of warn_return_type.
4790
64a5912c
DM
47912017-10-31 David Malcolm <dmalcolm@redhat.com>
4792
4793 * c-common.c (binary_op_error): Update for renaming of
4794 error_at_rich_loc.
4795 (c_parse_error): Likewise.
4796 * c-warn.c (warn_logical_not_parentheses): Likewise for
4797 renaming of inform_at_rich_loc.
4798 (warn_for_restrict): Likewise for renaming of
4799 warning_at_rich_loc_n.
4800
c76dc9c3
JM
48012017-10-30 Joseph Myers <joseph@codesourcery.com>
4802
4803 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4804 * c-opts.c (set_std_c17): New function.
4805 (c_common_init_options): Use gnu17 as default C version.
4806 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4807
ee5fd23a
MM
48082017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
4809
4810 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4811 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4812 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4813 __FP_FAST_FMA<N>X.
4814
d1047465
MP
48152017-10-23 Marek Polacek <polacek@redhat.com>
4816
4817 PR c/82681
4818 * c-warn.c (warnings_for_convert_and_check): Fix typos.
4819
9e878cf1
EB
48202017-10-19 Eric Botcazou <ebotcazou@adacore.com>
4821
4822 * c-common.c (check_builtin_function_arguments): Also check arguments
4823 of __builtin_alloca_with_align_and_max.
4824
89b6abbb
DM
48252017-10-17 David Malcolm <dmalcolm@redhat.com>
4826
4827 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4828 rather than NULL to format_warning_va.
4829 (check_format_types): Likewise when calling format_type_warning.
4830 Remove code to extract source_ranges and source_range * in favor
4831 of just a location_t.
4832 (format_type_warning): Convert source_range * param to a
4833 location_t.
4834
39382c09
JJ
48352017-10-13 Jakub Jelinek <jakub@redhat.com>
4836
4837 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4838 [LR]SHIFT_EXPR.
4839
62e1c678
DM
48402017-10-12 David Malcolm <dmalcolm@redhat.com>
4841
4842 * c-common.c (enum missing_token_insertion_kind): New enum.
4843 (get_missing_token_insertion_kind): New function.
4844 (maybe_suggest_missing_token_insertion): New function.
4845 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4846
b90c9338
NS
48472017-10-11 Nathan Sidwell <nathan@acm.org>
4848
4849 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4850 (c_common_handle_option): Update incpath_kind names.
4851
3a266bcd
ML
48522017-10-11 Martin Liska <mliska@suse.cz>
4853
4854 PR sanitizer/82490
4855 * c-attribs.c (handle_no_sanitize_attribute): Report directly
4856 Wattributes warning.
4857
8e6cdc90
RS
48582017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
4859
4860 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4861 operating on trees as wide_ints.
4862 * c-common.c (pointer_int_sum): Likewise.
4863 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4864 * c-warn.c (match_case_to_enum_1): Likewise.
4865 (c_do_switch_warnings): Likewise.
4866 (maybe_warn_shift_overflow): Likewise.
4867
802b38c9
JJ
48682017-10-10 Jakub Jelinek <jakub@redhat.com>
4869
4870 PR c/82437
4871 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4872 instead of wide_int::from.
4873
4e34b338
JJ
48742017-10-06 Jakub Jelinek <jakub@redhat.com>
4875
4876 PR c/82437
4877 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4878 using to_widest use wide_int with the larger of the two precisions.
4879
4bc4b2b4
BE
48802017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4881
4882 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4883 functions.
4884
a1488398
RS
48852017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
4886
4887 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4888 when combining the original unconverted comparison operands.
4889
01c9fb68
JJ
48902017-09-29 Jakub Jelinek <jakub@redhat.com>
4891
4892 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4893 attribute.
4894
6e3e8419
EB
48952017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4896
4897 * c-ada-spec.c (to_ada_name): Add index parameter.
4898 (pp_ada_tree_identifier): Likewise.
4899 (dump_ada_macros): Adjust call to to_ada_name.
4900 (struct overloaded_name_hash): New type.
4901 (struct overloaded_name_hasher): Likewise.
4902 (overloaded_names): New hash table.
4903 (compute_overloading_index): New function.
4904 (dump_ada_decl_name): Call it and pass the result to
4905 pp_ada_tree_identifier.
4906 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4907 (dump_ada_function_declaration): Likewise.
4908 (dump_generic_ada_node): Likewise.
4909 (print_constructor): Likewise.
4910 (print_destructor): Likewise.
4911 (dump_ada_specs): Delete overloaded_names table.
4912
79310774
EB
49132017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4914
4915 * c-ada-spec.c (max_ada_macros): Move around.
4916 (store_ada_macro_index): Likewise.
4917 (source_file): Rename into...
4918 (macro_source_file): ...this.
4919 (count_ada_macro): Move around.
4920 (store_ada_macro): Likewise.
4921 (compare_macro): Likewise.
4922 (print_ada_macros): Merge in...
4923 (dump_ada_macros): ...this.
4924 (source_file_base): Rename into...
4925 (current_source_file): ...this.
4926 (print_comment): Move around.
4927 (dump_ada_nodes): Call dump_ada_declaration directly.
4928 (struct with): Change type of limited field to bool.
4929 (append_withs): Change type of limited_access parameter to bool.
4930 (pp_ada_tree_identifie): Likewise.
4931 (dump_ada_decl_nam): Likewise.
4932 (dump_generic_ada_node): Likewise. Do not print the return type.
4933 (to_ada_name): Change type of space_found parameter to bool.
4934 (dump_ada_function_declaration): Return void and change type of
4935 parameters to bool. Also print the return type for a function.
4936 (print_ada_methods): Rename into...
4937 (dump_ada_methods): ...this.
4938 (print_ada_declaration): Rename into ...
4939 (dump_ada_declaration): ...this. Do not print the return type.
4940 (print_ada_struct_decl): Rename into...
4941 (dump_ada_struct_decl): ...this.
4942
7d386d45
JJ
49432017-09-29 Jakub Jelinek <jakub@redhat.com>
4944
4945 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4946 rather than DECL_INITIAL.
4947 (common_handle_aligned_attribute): Likewise.
4948
ab20d992 49492017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
4950
4951 * c.opt (gen-decls): Add RejectNegative.
4952
026a79f7
AS
49532017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
4954 Jakub Jelinek <jakub@redhat.com>
4955
4956 Add support for -std=c++2a.
4957 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4958 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4959 * c-opts.c (set_std_cxx2a): New.
4960 (c_common_handle_option): Set options when -std=c++2a is enabled.
4961 (c_common_post_options): Adjust comments.
4962 (set_std_cxx14, set_std_cxx17): Likewise.
4963
4a8ca690
EB
49642017-09-15 Eric Botcazou <ebotcazou@adacore.com>
4965
4966 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4967 message for non-uniform endianness and issue a warning in C++.
4968
7b936140
JJ
49692017-09-15 Jakub Jelinek <jakub@redhat.com>
4970
4971 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4972 (Wc++17-compat): Change from undocumented alias to option.
4973 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4974 change C++1z to C++17 in description.
4975 (std=c++1z, std=gnu++1z): Change from option to undocumented
4976 deprecated alias.
4977 (std=c++17, std=gnu++17): Change from undocumented alias to option.
4978 Adjust description.
4979 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4980 * c-opts.c (set_std_cxx1z): Rename to ...
4981 (set_std_cxx17): ... this.
4982 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4983 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 4984 caller.
7b936140
JJ
4985 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
4986 comments.
4987
12263f13
L
49882017-09-12 H.J. Lu <hongjiu.lu@intel.com>
4989
4990 * c-attribs.c (common_handle_aligned_attribute): Don't warn
4991 function alignment if warn_if_not_aligned_p is true.
4992
6836632e
NS
49932017-09-12 Nathan Sidwell <nathan@acm.org>
4994
4995 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4996 resort_sorted_fields): Move to c/c-decl.c.
4997 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4998 (struct sorted_fields_type): Move to c/c-lang.h.
4999
019bf9ad
JW
50002017-09-09 Jonathan Wakely <jwakely@redhat.com>
5001
5002 PR c++/81852
5003 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5004
bc7fe952
MP
50052017-09-04 Marek Polacek <polacek@redhat.com>
5006
5007 PR c/81783
5008 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5009 (warn_tautological_cmp): Call it.
5010
ab20d992 50112017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5012
5013 * c-opts.c (c_common_finish): Write dependency information even if
5014 there are errors.
5015
d2e05fcb
JJ
50162017-09-01 Jakub Jelinek <jakub@redhat.com>
5017
5018 PR c/81887
5019 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5020 (omp_pragmas_simd): ... here.
5021 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5022 create new clauses list containing just simd clause.
5023
18e2a8b8
RS
50242017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5025 Alan Hayward <alan.hayward@arm.com>
5026 David Sherwood <david.sherwood@arm.com>
5027
5028 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5029 into scalar_mode_supported_p call.
5030 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5031
16d22000
RS
50322017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5033 Alan Hayward <alan.hayward@arm.com>
5034 David Sherwood <david.sherwood@arm.com>
5035
5036 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5037 for the mode iterator.
5038
b397965c
RS
50392017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5040 Alan Hayward <alan.hayward@arm.com>
5041 David Sherwood <david.sherwood@arm.com>
5042
5043 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5044 * c-common.c (c_build_vec_perm_expr): Likewise.
5045
357b7604
RS
50462017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5047 Alan Hayward <alan.hayward@arm.com>
5048 David Sherwood <david.sherwood@arm.com>
5049
5050 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5051
e05c94ba
RS
50522017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5053 Alan Hayward <alan.hayward@arm.com>
5054 David Sherwood <david.sherwood@arm.com>
5055
5056 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5057 before calling targetm.addr_space.valid_pointer_mode.
5058
5c20c4af
RS
50592017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5060 Alan Hayward <alan.hayward@arm.com>
5061 David Sherwood <david.sherwood@arm.com>
5062
5063 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5064
c94843d2 50652017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5066 Alan Hayward <alan.hayward@arm.com>
5067 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5068
5069 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5070 iterators.
5071 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5072
4e10a5a7
RS
50732017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5074 Alan Hayward <alan.hayward@arm.com>
5075 David Sherwood <david.sherwood@arm.com>
5076
5077 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5078 case statements.
5079
130fcab0
ML
50802017-08-29 Martin Liska <mliska@suse.cz>
5081
5082 PR other/39851
5083 * c-common.c (parse_optimize_options): Add argument to function
5084 call.
5085 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5086
14e18d71
DM
50872017-08-24 David Malcolm <dmalcolm@redhat.com>
5088
5089 * c-lex.c (interpret_float): Use token location
5090 when building an EXCESS_PRECISION_EXPR.
5091
2f687306
DM
50922017-08-21 David Malcolm <dmalcolm@redhat.com>
5093
5094 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5095 it to check_function_format.
5096 * c-common.h (check_function_arguments): Add vec<location_t> *
5097 param.
5098 (check_function_format): Likewise.
5099 * c-format.c (struct format_check_context): Add field "arglocs".
5100 (check_function_format): Add param "arglocs"; pass it to
5101 check_format_info.
ab20d992 5102 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5103 new field of format_ctx.
5104 (check_format_arg): Pass format_ctx->arglocs to new param of
5105 check_format_info_main.
5106 (class argument_parser): New field "arglocs".
5107 (argument_parser::argument_parser): Add "arglocs_" param and use
5108 it to initialize new field.
5109 (argument_parser::check_argument_type): Pass new arglocs field to
5110 check_format_types.
5111 (check_format_info_main): Add param "arglocs", and use it when
5112 constructing arg_parser.
5113 (check_format_types): Add param "arglocs"; use it if non-NULL when
5114 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5115
00aa1fa2
L
51162017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5117
5118 PR c/53037
5119 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5120 (c_common_attribute_table): Add warn_if_not_aligned.
5121 (handle_aligned_attribute): Renamed to ...
5122 (common_handle_aligned_attribute): Remove argument, name, and add
5123 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5124 (handle_aligned_attribute): New.
5125 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5126
27be025d
MS
51272017-08-14 Martin Sebor <msebor@redhat.com>
5128
5129 PR c/81117
5130 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5131 (handle_nonstring_attribute): New function.
5132
da67acb9
MS
51332017-08-14 Martin Sebor <msebor@redhat.com>
5134
5135 PR c/81117
5136 * c-format.h (T89_G): New macro.
5137 * c-format.c (local_gcall_ptr_node): New variable.
5138 (init_dynamic_diag_info): Initialize it.
5139
a8b522b4
ML
51402017-08-11 Martin Liska <mliska@suse.cz>
5141
5142 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5143 TARGET_SUPPORTS_ALIASES.
5144
32129a17
DM
51452017-08-10 David Malcolm <dmalcolm@redhat.com>
5146
5147 * c-common.c (c_parse_error): Add rich_location * param, using it
5148 rather implicitly using input_location.
5149 * c-common.h (c_parse_error): Add rich_location * param.
5150
30af3a2b
MP
51512017-08-09 Marek Polacek <polacek@redhat.com>
5152
5153 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5154 (c_common_truthvalue_conversion): Likewise.
5155 * c-omp.c (c_finish_omp_atomic): Likewise.
5156 * c-common.h (build_binary_op): Update declaration.
5157
314e6352
ML
51582017-08-08 Martin Liska <mliska@suse.cz>
5159
5160 * c-ada-spec.c: Include header files.
5161 * c-ubsan.c: Likewise.
5162 * c-warn.c: Likewise.
5163
56b5041c
JJ
51642017-08-07 Jakub Jelinek <jakub@redhat.com>
5165
5166 PR c/69389
5167 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5168
db440138
EB
51692017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5170
5171 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5172 (print_ada_methods): Likewise.
5173 (print_ada_declaration): Likewise.
5174
577eec56
ML
51752017-08-07 Martin Liska <mliska@suse.cz>
5176
5177 * array-notation-common.c: Add new includes.
5178 * c-format.c( handle_format_attribute): Canonicalize a format
5179 function name.
5180 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5181 attribute.
5182 * c-pretty-print.c: Add new include.
5183
b854df3c
EB
51842017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5185
5186 * c-ada-spec.c (has_static_fields): Look only into variables.
5187 (print_constructor): Add TYPE parameter and use it for the name.
5188 (print_destructor): Likewise.
5189 (print_ada_declaration): Adjust to new constructor/destructor names.
5190 Adjust calls to print_constructor and print_destructor.
5191 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5192 Look only into variables in the final loop.
5193
9f2cb25e
EB
51942017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5195
5196 * c-ada-spec.c (has_static_fields): Look only into fields.
5197 (dump_generic_ada_node): Small tweak.
5198 (dump_nested_types): Look only into fields.
5199 (print_ada_declaration): Look only into methods. Small tweak.
5200 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5201
f4bcd9eb
EB
52022017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5203
5204 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5205 (dump_ada_function_declaration): Likewise.
5206 (dump_generic_ada_node): Likewise.
5207 (print_ada_declaration): Add support for const-qualified variables.
5208
f34ebeb2
ML
52092017-07-31 Martin Liska <mliska@suse.cz>
5210
5211 PR sanitize/81530
5212 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5213 Guard condition with flag_sanitize_p also with current_function_decl
5214 non-null equality.
5215 (ubsan_maybe_instrument_reference_or_call): Likewise.
5216
218e5d04
UB
52172017-07-30 Uros Bizjak <ubizjak@gmail.com>
5218
5219 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5220
942047f2
EB
52212017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5222
5223 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5224 for enumeral types.
5225 (print_ada_declaration): Add missing guard for record types.
5226
a40ff0ae
JJ
52272017-07-27 Jakub Jelinek <jakub@redhat.com>
5228
5229 PR c/45784
5230 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5231 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5232 new COMPOUND_EXPRs around the rhs of the comparison.
5233
06bd22f6
MP
52342017-07-27 Marek Polacek <polacek@redhat.com>
5235
5236 PR c/81417
5237 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5238 the types.
5239
036ea399
JJ
52402017-07-27 Jakub Jelinek <jakub@redhat.com>
5241
5242 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5243 (handle_noipa_attribute): New function.
5244
417ca011
TD
52452017-07-07 Torsten Duwe <duwe@suse.de>
5246
5247 * c-attribs.c (c_common_attribute_table): Add entry for
5248 "patchable_function_entry".
5249
5aaa8fb4
NS
52502017-07-20 Nathan Sidwell <nathan@acm.org>
5251
5252 Remove TYPE_METHODS.
5253 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5254 dump_ada_template, print_ada_methods,
5255 print_ada_declaration): Member fns are on TYPE_FIELDS.
5256
ff22eb12
NS
52572017-07-18 Nathan Sidwell <nathan@acm.org>
5258
5259 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5260
eea77d1f
DM
52612017-07-14 David Malcolm <dmalcolm@redhat.com>
5262
5263 * c-common.c (try_to_locate_new_include_insertion_point): New
5264 function.
5265 (per_file_includes_t): New typedef.
5266 (added_includes_t): New typedef.
5267 (added_includes): New variable.
5268 (maybe_add_include_fixit): New function.
5269 * c-common.h (maybe_add_include_fixit): New decl.
5270
281ac396
MS
52712017-07-10 Martin Sebor <msebor@redhat.com>
5272
5273 PR other/81345
5274 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5275
b6f43128
DM
52762017-07-06 David Malcolm <dmalcolm@redhat.com>
5277
5278 * c-common.c (selftest::c_family_tests): New.
5279 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5280 (selftest::c_family_tests): New decl.
5281
efbf55b0
MP
52822017-07-04 Marek Polacek <polacek@redhat.com>
5283
5284 PR c/81231
5285 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5286 types.
5287
6c86bd88
MP
52882017-07-04 Marek Polacek <polacek@redhat.com>
5289
5290 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5291
17a7218b
ML
52922017-06-28 Martin Liska <mliska@suse.cz>
5293
5294 PR ipa/81128
5295 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5296 to a function declaration.
5297
63010089
ML
52982017-06-28 Martin Liska <mliska@suse.cz>
5299
5300 PR driver/79659
5301 * c.opt: Add IntegerRange to various options.
5302
3e2becc4
MP
53032017-06-26 Marek Polacek <polacek@redhat.com>
5304
5305 PR c/80116
5306 * c-common.h (warn_for_multistatement_macros): Declare.
5307 * c-warn.c: Include "c-family/c-indentation.h".
5308 (warn_for_multistatement_macros): New function.
5309 * c.opt (Wmultistatement-macros): New option.
5310 * c-indentation.c (guard_tinfo_to_string): No longer static.
5311 Change the parameter type to "enum rid". Handle RID_SWITCH.
5312 * c-indentation.h (guard_tinfo_to_string): Declare.
5313
2db9b7cd
MG
53142017-06-23 Marc Glisse <marc.glisse@inria.fr>
5315
5316 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5317
c3684b7b
MS
53182017-06-15 Martin Sebor <msebor@redhat.com>
5319
5320 PR c++/80560
5321 * c.opt (-Wclass-memaccess): New option.
5322
e72c4afd
BK
53232017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5324
5325 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5326
8a516588
MP
53272017-06-13 Marek Polacek <polacek@redhat.com>
5328
5329 PR objc/80949
5330 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5331 branches is null.
5332
45b2222a
ML
53332017-06-13 Martin Liska <mliska@suse.cz>
5334
5335 PR sanitize/78204
5336 * c-attribs.c (add_no_sanitize_value): New function.
5337 (handle_no_sanitize_attribute): Likewise.
5338 (handle_no_sanitize_address_attribute): Use the function.
5339 (handle_no_sanitize_thread_attribute): New function.
5340 (handle_no_address_safety_analysis_attribute): Use
5341 add_no_sanitize_value.
5342 (handle_no_sanitize_undefined_attribute): Likewise.
5343 * c-common.h: Declare new functions.
5344 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5345 (ubsan_instrument_shift): Likewise.
5346 (ubsan_instrument_bounds): Likewise.
5347 (ubsan_maybe_instrument_array_ref): Likewise.
5348 (ubsan_maybe_instrument_reference_or_call): Likewise.
5349
a01f151f
JM
53502017-06-11 Jason Merrill <jason@redhat.com>
5351
5352 * c-ada-spec.c, c-pragma.c: Use id_equal.
5353
3de4ac6d
MP
53542017-06-04 Marek Polacek <polacek@redhat.com>
5355
5356 PR c/80919
5357 * c-format.c (matching_type_p): Return false if any of the types
5358 requires structural equality.
5359
2474f48f
MS
53602017-06-02 Martin Sebor <msebor@redhat.com>
5361
5362 PR c/80892
5363 * c-warn.c (conversion_warning): Use -Wconversion for integer
5364 conversion and -Wfloat-conversion for floating one.
5365
40ffd95f
BE
53662017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5367
5368 * c.opt (Wsizeof-pointer-div): New warning option.
5369
3fa4634c
VR
53702017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5371
5372 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5373 (Wcatch-value=1): Enable by -Wall.
5374
f012c8ef
DM
53752017-05-30 David Malcolm <dmalcolm@redhat.com>
5376
5377 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5378 format_chars.
5379 * c.opt (fdiagnostics-show-template-tree): New option.
5380 (felide-type): New option.
5381
63dbcd13
VR
53822017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5383
5384 * c.opt (Wcatch-value=): New C++ warning flag.
5385
be136b5c
NS
53862017-05-24 Nathan Sidwell <nathan@acm.org>
5387
5388 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5389 const casts to avoid warning.
5390
3cd211af
MS
53912017-05-24 Martin Sebor <msebor@redhat.com>
5392
5393 PR c/80731
5394 * c-common.h (unsafe_conversion_p): Add a function argument.
5395 * c-common.c (unsafe_conversion_p): Same.
5396 Add type names and values to diagnostics.
5397 (scalar_to_vector): Adjust.
5398 * c-warn.c (constant_expression_error): Add a function argument.
5399 Add type names and values to diagnostics.
5400 (conversion_warning): Add a function argument.
5401 Add type names and values to diagnostics.
5402 (warnings_for_convert_and_check): Same.
5403
1ff7be5a
JM
54042017-05-19 Jason Merrill <jason@redhat.com>
5405
5406 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5407 enumerators.
5408
ff502317
BE
54092017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5410
5411 * c-format.c (locus): Move out of function scope,
5412 add GTY attribute.
5413
2a8a8d7b
NS
54142017-05-19 Nathan Sidwell <nathan@acm.org>
5415
5416 * c-opts.c (class_dump_file, class_dump_flags): Delete.
5417 (c_common_parse_file): Remove class dump handling.
5418 (get_dump_info): Likewise.
5419
39aac208
RB
54202017-05-19 Richard Biener <rguenther@suse.de>
5421
5422 PR c++/80593
5423 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5424 to alias-set zero memory.
5425
6ecd2339
BE
54262017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5427
5428 * c-format.c (local_tree_type_node): Add GTY attribute.
5429
6574d78e
MP
54302017-05-18 Marek Polacek <polacek@redhat.com>
5431
5432 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5433 (c_common_fixed_point_type_for_size): Likewise.
5434 (c_common_type_for_mode): Likewise.
5435 (shorten_compare): Likewise.
5436 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5437 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5438
e3455240
MP
54392017-05-18 Marek Polacek <polacek@redhat.com>
5440
5441 * c-common.c (self_promoting_args_p): Change the return type to bool.
5442 Use false/true instead of 0/1.
5443 * c-common.h (self_promoting_args_p): Update.
5444
3fa8871b
MP
54452017-05-17 Marek Polacek <polacek@redhat.com>
5446
5447 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5448 * c-warn.c: Likewise.
5449
b42cc3ca
VV
54502017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5451
5452 Implement new C++ intrinsics __is_assignable and __is_constructible.
5453 * c-common.c (__is_assignable, __is_constructible): New.
5454 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5455
1a817418
ML
54562017-05-17 Martin Liska <mliska@suse.cz>
5457
5458 * c-common.h: Introduce dump_flags_t type and
5459 use it instead of int type.
5460 * c-gimplify.c (c_genericize): Likewise.
5461 * c-opts.c: Likewise.
5462
b2fa0a8b
MP
54632017-05-17 Marek Polacek <polacek@redhat.com>
5464
5465 * c-common.c (c_save_expr): Remove.
5466 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5467 * c-common.h (c_save_expr): Remove declaration.
5468
31c2d57d
VR
54692017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5470
5471 PR c/35441
5472 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5473 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5474 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5475 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5476 RDIV_EXPR.
5477 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5478
684f84de
MP
54792017-05-09 Marek Polacek <polacek@redhat.com>
5480
5481 PR c/80525
5482 * c-warn.c (unwrap_c_maybe_const): New.
5483 (warn_logical_operator): Call it.
5484
641da50a
NS
54852017-05-09 Nathan Sidwell <nathan@acm.org>
5486
5487 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5488 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5489
631238ac
MS
54902017-05-08 Martin Sebor <msebor@redhat.com>
5491
5492 PR translation/80280
5493 * c-format.h (struct format_flag_spec): Add new member.
5494 (T89_T): New macro.
5495 * c-format.c (local_tree_type_node): New global.
5496 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5497 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5498 (strfmon_flag_specs): Likewise.
5499 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5500 with distinct quoting properties.
5501 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5502 (flag_chars_t::validate): Add argument and handle bad quoting.
5503 (check_format_info_main): Handle quoting problems.
5504 (init_dynamic_diag_info): Simplify.
5505
49f0c04c
JM
55062017-05-08 Jason Merrill <jason@redhat.com>
5507
5508 * c-opts.c (c_common_post_options): Update defaults for
5509 flag_abi_version and flag_abi_compat_version.
5510
56d35585
DM
55112017-05-05 David Malcolm <dmalcolm@redhat.com>
5512
5513 * c-common.c (c_cpp_error): Replace report_diagnostic
5514 with diagnostic_report_diagnostic.
5515
0f2c4a8f
MS
55162017-05-04 Martin Sebor <msebor@redhat.com>
5517
5518 PR translation/80280
5519 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5520 (handle_weakref_attribute): Same.
5521
6fe63fb4
NS
55222017-05-03 Nathan Sidwell <nathan@acm.org>
5523
5524 Canonicalize canonical type hashing
5525 * c-common.c (complete_array_type): Use type_hash_canon.
5526
815d9cc6
XR
55272017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5528
92a285c1 5529 PR c++/80038
815d9cc6
XR
5530 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5531 prototype.
5532 (cilk_install_body_pedigree_operations): Likewise.
5533 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5534 detatched.
5535 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5536 (cilk_install_body_pedigree_operations): Likewise.
5537 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5538 unwrapping.
5539
f8a36447
JJ
55402017-04-27 Jakub Jelinek <jakub@redhat.com>
5541
5542 PR c++/80534
5543 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5544 flag on non-aggregate element types.
5545
7c145456
BE
55462017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5547
5548 * c-common.c (c_type_hasher, type_hash_table): Remove.
5549 (c_common_get_alias_set): Remove unreachable code.
5550 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5551
c3cbcd45
VR
55522017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5553
5554 * c.opt (Wextra-semi): New C++ warning flag.
5555
8a59d466
JJ
55562017-04-20 Jakub Jelinek <jakub@redhat.com>
5557
5558 PR middle-end/80423
5559 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5560
8487c9a5
JJ
55612017-04-18 Jakub Jelinek <jakub@redhat.com>
5562
5563 PR middle-end/79788
5564 PR middle-end/80375
5565 * c-common.c (c_common_type_for_mode): Don't handle
5566 widest_*_literal_type_node here.
5567 c_common_signed_or_unsigned_type): Likewise.
5568 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5569 to *intTI_type_node or *intDI_type_node depending on whether
5570 TImode is supported by the target or not.
5571
3ee0fb02
ML
55722017-04-10 Martin Liska <mliska@suse.cz>
5573
5574 PR sanitizer/80350
5575 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5576 doing an UBSAN check.
5577
5764ee3c
JW
55782017-04-03 Jonathan Wakely <jwakely@redhat.com>
5579
5580 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5581
6f3af356
JJ
55822017-03-31 Jakub Jelinek <jakub@redhat.com>
5583
5584 PR c++/79572
5585 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5586 tree *.
5587 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5588 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5589 REFERENCE_TYPE.
5590
f6a7a9d5
DM
55912017-03-31 David Malcolm <dmalcolm@redhat.com>
5592
5593 PR documentation/78732
5594 * c.opt (Wendif-labels): Fix description to refer to
5595 #else rather than #elif.
5596
af88f557
JJ
55972017-03-31 Jakub Jelinek <jakub@redhat.com>
5598
5599 PR libstdc++/80251
5600 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5601 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5602
a9e4a1a5
JJ
56032017-03-27 Jakub Jelinek <jakub@redhat.com>
5604
5605 PR middle-end/80162
5606 * c-common.c (c_common_mark_addressable_vec): Don't set
5607 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5608
3f01b620
MS
56092017-03-21 Martin Sebor <msebor@redhat.com>
5610
5611 PR c++/79548
5612 * c-common.c (set_underlying_type): Mark type used only when
5613 original del is declared unused.
5614
2f6f187a
DM
56152017-03-10 David Malcolm <dmalcolm@redhat.com>
5616
5617 PR translation/79848
5618 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5619 "%qs".
5620
a02fa805
DM
56212017-03-10 David Malcolm <dmalcolm@redhat.com>
5622
5623 PR c/79921
5624 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5625 from inform's message, so that xgettext can locate it.
5626
822a132c
MP
56272017-03-09 Marek Polacek <polacek@redhat.com>
5628
5629 PR c++/79962
5630 PR c++/79984
5631 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5632 conversion to the attribute list.
5633
bba81f1c
ML
56342017-03-09 Martin Liska <mliska@suse.cz>
5635
5636 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5637
108154ff
JM
56382017-03-03 Jason Merrill <jason@redhat.com>
5639
5640 * c.opt (Wnoexcept-type): New.
5641
eb0e7c34
RB
56422017-03-02 Richard Biener <rguenther@suse.de>
5643
5644 PR c/79756
5645 * c-common.c (c_common_mark_addressable_vec): Look through
5646 C_MAYBE_CONST_EXPR.
5647
9453ba0a
ML
56482017-02-28 Martin Liska <mliska@suse.cz>
5649
5650 * c.opt: Replace space with tabular for options of <number>
5651 type.
5652
6a825afe
ML
56532017-02-28 Martin Liska <mliska@suse.cz>
5654
5655 * c.opt: Fix --help=option -Q for options which are of
5656 an enum type.
5657
4227c9ad
JJ
56582017-02-24 Jakub Jelinek <jakub@redhat.com>
5659
5660 PR c++/79588
5661 * c-common.c (check_function_restrict): New function.
5662 (check_function_arguments): Add FNDECL argument. Call
5663 check_function_restrict if -Wrestrict.
5664 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5665 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5666 * c-common.h (check_function_arguments): Add FNDECL argument.
5667 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5668
59909673
EB
56692017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5670
5671 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5672 treatment of parameters with pointer-to-tagged type and tidy up.
5673 (print_ada_methods): Remove the special treatment of C++ static member
5674 functions.
5675
54dcd526
ML
56762017-02-22 Martin Liska <mliska@suse.cz>
5677
5678 * c.opt: Replace inequality signs with square brackets
5679 for -Wnornalized.
5680
00bc9de3
JJ
56812017-02-21 Jakub Jelinek <jakub@redhat.com>
5682
5683 PR c++/79641
5684 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5685 preserve quals.
5686
97fcf744
JM
56872017-02-17 Joseph Myers <joseph@codesourcery.com>
5688
5689 * c-cppbuiltin.c (builtin_define_float_constants): Define
5690 __DECIMAL_DIG__ to the value for long double.
5691
c7545f1c
MP
56922017-02-15 Marek Polacek <polacek@redhat.com>
5693
5694 PR c/79515
5695 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5696 conversion has occured.
5697
c2e84327
DM
56982017-01-24 David Malcolm <dmalcolm@redhat.com>
5699
5700 * c-common.c (c_common_reswords): Add "__RTL".
5701 * c-common.h (enum rid): Add RID_RTL.
5702
2ebd93e1
MP
57032017-01-20 Marek Polacek <polacek@redhat.com>
5704
5705 PR c/64279
5706 * c-common.h (do_warn_duplicated_branches_r): Declare.
5707 * c-gimplify.c (c_genericize): Walk the function tree calling
5708 do_warn_duplicated_branches_r.
5709 * c-warn.c (expr_from_macro_expansion_r): New.
5710 (do_warn_duplicated_branches): New.
5711 (do_warn_duplicated_branches_r): New.
5712 * c.opt (Wduplicated-branches): New option.
5713
0d80ab91
DM
57142017-01-17 David Malcolm <dmalcolm@redhat.com>
5715
5716 PR c++/71497
5717 * c-indentation.c (warn_for_misleading_indentation): Use the past
5718 subjunctive in the note.
5719
7f991c36
AH
57202017-01-17 Aldy Hernandez <aldyh@redhat.com>
5721
5722 PR c/79116
5723 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5724 start type to integer_type.
5725
1c70261c
JJ
57262017-01-16 Jakub Jelinek <jakub@redhat.com>
5727
5728 PR driver/49726
5729 * c.opt (gen-decls): Add Driver flag.
5730
1ddca3f3
PC
57312017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5732
5733 Revert:
5734 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5735
5736 PR c++/71737
5737 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5738
7d2f3f1d
PC
57392017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5740
5741 PR c++/71737
5742 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5743
bce6f760
MS
57442017-01-12 Martin Sebor <msebor@redhat.com>
5745
5746 (-Wformat-overflow): ...to this.
5747
bf5fbf46
MS
57482017-01-11 Martin Sebor <msebor@redhat.com>
5749
5750 PR c/78768
5751 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5752 Also enable for LTO.
5753
e363df3f
JM
57542017-01-10 Jason Merrill <jason@redhat.com>
5755
5756 Implement P0195R2, C++17 variadic using.
5757 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5758
bd2c6270
JJ
57592017-01-09 Jakub Jelinek <jakub@redhat.com>
5760
5761 PR translation/79019
5762 PR translation/79020
5763 * c.opt (Wnormalized=): Fix typo in description.
5764
efcc8d38
MS
57652017-01-08 Martin Sebor <msebor@redhat.com>
5766
5767 PR middle-end/77708
5768 * c.opt (-Wformat-truncation): New option.
5769
ab20d992 57702017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5771
5772 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5773 value to unsigned short to fit in 4 hex digits without
5774 warnings.
5775
4e89adf9
EB
57762017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5777
5778 * c.opt (fsso-struct): Add 'native' value.
5779
cd445b54
ML
57802017-01-05 Martin Liska <mliska@suse.cz>
5781
5782 PR pch/78970
5783 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5784 header.
5785
a9342885
MP
57862017-01-04 Marek Polacek <polacek@redhat.com>
5787
5788 PR c++/64767
5789 * c.opt (Wpointer-compare): New option.
5790
fc73e60c
JJ
57912017-01-04 Jakub Jelinek <jakub@redhat.com>
5792
5793 PR driver/78957
5794 * c.opt (fsso-struct=): Add RejectNegative.
5795
cbe34bb5
JJ
57962017-01-01 Jakub Jelinek <jakub@redhat.com>
5797
5798 Update copyright years.
5799
d4a6c0ea
ML
58002016-12-29 Martin Liska <mliska@suse.cz>
5801
5802 PR c/78933
5803 * c.opt (strong-eval-order): Add RejectNegative keyword.
5804
67a5ad7c
JM
58052016-12-22 Jason Merrill <jason@redhat.com>
5806
5807 Implement P0522R0, matching of template template arguments.
5808 * c-cppbuiltin.c (c_cpp_builtins): Define
5809 __cpp_template_template_args.
5810
0dba7960
JJ
58112016-12-21 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR bootstrap/78817
5814 * c-common.c (struct nonnull_arg_ctx): New type.
5815 (check_function_nonnull): Return bool instead of void. Use
5816 nonnull_arg_ctx as context rather than just location_t.
5817 (check_nonnull_arg): Adjust for the new context type, set
5818 warned_p to true if a warning has been diagnosed.
5819 (check_function_arguments): Return bool instead of void.
5820 * c-common.h (check_function_arguments): Adjust prototype.
5821
31bfc9b9
JM
58222016-12-21 Jason Merrill <jason@redhat.com>
5823
5824 * c.opt (-fnew-ttp-matching): New flag.
5825 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5826
629b3d75
MJ
58272016-12-14 Martin Jambor <mjambor@suse.cz>
5828
5829 * c-omp.c: Include omp-general.h instead of omp-low.h.
5830 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5831 name.
5832
474da67e
MS
58332016-12-14 Martin Sebor <msebor@redhat.com>
5834
5835 PR c/17308
5836 * c-common.c (check_nonnull_arg): Disable when optimization
5837 is enabled.
5838
fe366b87
MP
58392016-12-12 Marek Polacek <polacek@redhat.com>
5840
5841 PR c++/78647
5842 * c-common.c (attribute_fallthrough_p): Return false for
5843 error_mark_node.
5844
8bd9f164
MS
58452016-12-08 Martin Sebor <msebor@redhat.com>
5846
5847 PR c/78284
5848 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5849
060162e0
MS
58502016-12-08 Martin Sebor <msebor@redhat.com>
5851
5852 PR c/78165
92a285c1
ML
5853 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5854 suffix.
060162e0 5855
ee92e7ba
MS
58562016-12-07 Martin Sebor <msebor@redhat.com>
5857
5858 PR c/53562
5859 PR middle-end/77784
5860 PR middle-end/78149
5861 PR middle-end/78138
5862 * c.opt (-Wstringop-overflow): New option.
5863
84b0769e
MO
58642016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
5865
5866 * c-attribs.c (asan odr indicator): New attribute.
5867 (handle_asan_odr_indicator_attribute): New function.
5868
7fa6a965
PK
58692016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5870
5871 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5872 ptrdiff_type_node;
5873
56d8ffc1
JG
58742016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5875
5876 * c-common.c (excess_precision_mode_join): New.
5877 (c_ts18661_flt_eval_method): New.
5878 (c_c11_flt_eval_method): Likewise.
5879 (c_flt_eval_method): Likewise.
5880 * c-common.h (excess_precision_mode_join): New.
5881 (c_flt_eval_method): Likewise.
5882 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5883 (cpp_iec_559_value): Call it.
5884 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5885 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5886 __FLT_EVAL_METHOD_TS_18661_3__.
5887
04f0fcf7
JG
58882016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5889
5890 * c-opts.c (c_common_post_options): Add logic to handle the default
5891 case for -fpermitted-flt-eval-methods.
5892
fb2675cb
PB
58932016-11-23 Paolo Bonzini <bonzini@gnu.org>
5894
5895 * c.opt (Wexpansion-to-defined): New.
5896
ec1c5694
JJ
58972016-11-23 Jakub Jelinek <jakub@redhat.com>
5898
5899 PR target/78451
5900 * c-pragma.c (handle_pragma_target): Don't replace
5901 current_target_pragma, but chainon the new args to the current one.
5902
730c9e75
NS
59032016-11-22 Nathan Sidwell <nathan@acm.org>
5904
5905 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 5906 indentation and formatting.
730c9e75 5907
89990732
MS
59082016-11-21 Martin Sebor <msebor@redhat.com>
5909
5910 * c.opt (-fprintf-return-value): Enable by default.
5911
48330c93
BE
59122016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5913
5914 PR c++/71973
5915 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5916 * c-common.c (c_common_nodes_and_builtins): Initialize
5917 const_tm_ptr_type_node.
5918
0d939c95
MP
59192016-11-16 Marek Polacek <polacek@redhat.com>
5920
5921 PR c/78285
5922 * c-common.c (c_add_case_label): Turn error_at calls into inform.
5923
8e745a17
JJ
59242016-11-14 Jakub Jelinek <jakub@redhat.com>
5925
5926 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5927
1ee62b92 59282016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
5929 Richard Biener <rguenther@suse.de>
5930
5931 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5932 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5933 * c.opt (fgimple): New option.
1ee62b92 5934
22b15758
UB
59352016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5936
5937 PR c/35503
5938 * c-common.h (warn_for_restrict): Declare.
5939 * c-warn.c: Include gcc-rich-location.h.
5940 (warn_for_restrict): New function.
5941 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5942 (gcc_cdiag_char_table): Likewise.
5943 (gcc_cxxdiag_char_table): Likewise.
5944 * c.opt (Wrestrict): New option.
5945
4be719cd
EB
59462016-11-13 Eric Botcazou <ebotcazou@adacore.com>
5947
5948 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5949 for nested types only if the type is a record or union and dump SLOC.
5950
4a826ca6
JM
59512016-11-09 Jason Merrill <jason@redhat.com>
5952
5953 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5954
2e955d50
JJ
59552016-11-09 Jakub Jelinek <jakub@redhat.com>
5956
5957 * c-ubsan.c (ubsan_instrument_shift): Handle split
5958 -fsanitize=shift-base and -fsanitize=shift-exponent.
5959
51dc6603
JM
59602016-11-07 Jason Merrill <jason@redhat.com>
5961
5962 * c.opt (Wc++1z-compat): New.
5963 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5964
6dc4a604
ML
59652016-11-07 Martin Liska <mliska@suse.cz>
5966
5967 * c-warn.c (warn_for_unused_label): Save all labels used
5968 in goto or in &label.
5969
b302001e
JM
59702016-11-03 Jason Merrill <jason@redhat.com>
5971
5972 * c-cppbuiltin.c (c_cpp_builtins): Correct
5973 __cpp_inheriting_constructors.
5974
31f7f784
JM
59752016-11-01 Jason Merrill <jason@redhat.com>
5976
2bc78e3c
JM
5977 * c-cppbuiltin.c (c_cpp_builtins): Update
5978 __cpp_inheriting_constructors.
5979
31f7f784
JM
5980 * c.opt (-fnew-inheriting-ctors): New.
5981 * c-opts.c: Default to on for ABI 11+.
5982
dcb466ec
JJ
59832016-10-31 Jakub Jelinek <jakub@redhat.com>
5984
5985 PR c++/77948
5986 * c.opt (fext-numeric-literals): Add Var and Init.
5987 * c-opts.c (c_common_handle_option): Don't clear
5988 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5989 (c_common_post_options): Clear it here if not set
5990 explicitly.
5991
52e1b91e
AH
59922016-10-28 Aldy Hernandez <aldyh@redhat.com>
5993
5994 PR debug/77773
5995 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5996 if NULL.
5997
e16f1cc7
JJ
59982016-10-25 Jakub Jelinek <jakub@redhat.com>
5999
6000 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6001 * c-common.c (c_common_reswords): Add __builtin_launder.
6002
f8348061
BE
60032016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6004
6005 * c-common.c (c_common_truthvalue_conversion): Warn for
6006 multiplications in boolean context. Fix the quoting of '<<' and '<'
6007 in the shift warning.
6008
eff89e01
BE
60092016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6010
6011 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6012
24bc7bf4
JM
60132016-10-20 Jason Merrill <jason@redhat.com>
6014
6015 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6016
4c712374
BE
60172016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6018
6019 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6020 integer shift ops in boolean context.
6021
60222016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6023
6024 * c.opt (Walloca): New.
6025 (Walloca-larger-than=): New.
6026 (Wvla-larger-than=): New.
6027
8fa18c06
MP
60282016-10-17 Marek Polacek <polacek@redhat.com>
6029
6030 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6031 Return immediately when finding a match.
6032 (warn_tautological_cmp): Remove a boolean variable that is no longer
6033 needed.
6034
b12b1915
MP
60352016-10-17 Marek Polacek <polacek@redhat.com>
6036
6037 * c-attribs.c: New file.
6038 * c-common.c: Move attributes handling to c-attribs.c.
6039 (get_nonnull_operand): No longer static.
6040 * c-common.h: Move the declarations from c-attribs.c to its own section.
6041
2045acd9
JM
60422016-10-14 Jason Merrill <jason@redhat.com>
6043
6044 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6045 and __cpp_deduction_guides.
6046
14a2c9aa
JM
60472016-10-13 Jason Merrill <jason@redhat.com>
6048
6049 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6050
4d0cdd0c
TP
60512016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6052
6053 * c-cppbuiltin.c: Include memmodel.h.
6054 * c-opts.c: Likewise.
6055 * c-pragma.c: Likewise.
6056 * c-warn.c: Likewise.
6057
70f6d5e1
JJ
60582016-10-12 Jakub Jelinek <jakub@redhat.com>
6059
6060 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6061 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6062 * c-opts.c (sanitize_cpp_opts): Initialize
6063 cpp_opts->cpp_warn_implicit_fallthrough.
6064
78f61294
MP
60652016-10-11 Marek Polacek <polacek@redhat.com>
6066
6067 * c-common.c (warning_candidate_p): Change the return type to bool
6068 and return true/false instead of 1/0.
6069 (vector_mode_valid_p): Likewise.
6070
038b5cc0
MP
60712016-10-11 Marek Polacek <polacek@redhat.com>
6072
6073 * c-common.c (fold_for_warn): No longer static.
6074 (bool_promoted_to_int_p): Likewise.
6075 (c_common_get_narrower): Likewise.
6076 (constant_expression_warning): Move to c-warn.c.
6077 (constant_expression_error): Likewise.
6078 (overflow_warning): Likewise.
6079 (warn_logical_operator): Likewise.
6080 (find_array_ref_with_const_idx_r): Likewise.
6081 (warn_tautological_cmp): Likewise.
6082 (expr_has_boolean_operands_p): Likewise.
6083 (warn_logical_not_parentheses): Likewise.
6084 (warn_if_unused_value): Likewise.
6085 (strict_aliasing_warning): Likewise.
6086 (sizeof_pointer_memaccess_warning): Likewise.
6087 (check_main_parameter_types): Likewise.
6088 (conversion_warning): Likewise.
6089 (warnings_for_convert_and_check): Likewise.
6090 (match_case_to_enum_1): Likewise.
6091 (match_case_to_enum): Likewise.
6092 (c_do_switch_warnings): Likewise.
6093 (warn_for_omitted_condop): Likewise.
6094 (readonly_error): Likewise.
6095 (lvalue_error): Likewise.
6096 (invalid_indirection_error): Likewise.
6097 (warn_array_subscript_with_type_char): Likewise.
6098 (warn_about_parentheses): Likewise.
6099 (warn_for_unused_label): Likewise.
6100 (warn_for_div_by_zero): Likewise.
6101 (warn_for_memset): Likewise.
6102 (warn_for_sign_compare): Likewise.
6103 (do_warn_double_promotion): Likewise.
6104 (do_warn_unused_parameter): Likewise.
6105 (record_locally_defined_typedef): Likewise.
6106 (maybe_record_typedef_use): Likewise.
6107 (maybe_warn_unused_local_typedefs): Likewise.
6108 (maybe_warn_bool_compare): Likewise.
6109 (maybe_warn_shift_overflow): Likewise.
6110 (warn_duplicated_cond_add_or_warn): Likewise.
6111 (diagnose_mismatched_attributes): Likewise.
6112 * c-common.h: Move the declarations from c-warn.c to its own section.
6113 * c-warn.c: New file.
6114
627be19f
JM
61152016-10-08 Jason Merrill <jason@redhat.com>
6116
6117 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6118 into COND_EXPR in C++.
6119
7bad794a
JJ
61202016-10-08 Jakub Jelinek <jakub@redhat.com>
6121
6122 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6123 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6124 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6125
be845b04
JJ
61262016-10-07 Jakub Jelinek <jakub@redhat.com>
6127
6128 Implement LWG2296 helper intrinsic
6129 * c-common.h (enum rid): Add RID_ADDRESSOF.
6130 * c-common.c (c_common_reswords): Add __builtin_addressof.
6131
c09c4992
BE
61322016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6133
6134 PR c++/77700
6135 * c-common.c (c_common_truthvalue_conversion): Warn also for
6136 suspicious enum values in boolean context.
6137
342cfb3e
JJ
61382016-10-06 Jakub Jelinek <jakub@redhat.com>
6139
6140 Implement P0258R2 - helper for C++17
6141 std::has_unique_object_representations trait
6142 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6143 * c-common.c (c_common_reswords): Add
6144 __has_unique_object_representations.
6145
2e69f143
JJ
61462016-10-05 Jakub Jelinek <jakub@redhat.com>
6147
6148 PR sanitizer/66343
6149 * c-ubsan.c (ubsan_instrument_return): Don't call
6150 initialize_sanitizer_builtins here.
6151
700fff34
BE
61522016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6153
6154 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6155 conditional expression in boolean context when only one arm is
6156 non-boolean.
6157
9563bfcd
JJ
61582016-10-05 Jakub Jelinek <jakub@redhat.com>
6159
04a32443
JJ
6160 PR sanitizer/77823
6161 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6162 is not integral.
6163
9563bfcd
JJ
6164 * c-common.c (c_common_reswords): Update comment for C++11.
6165
f1644724
JM
61662016-10-04 Jason Merrill <jason@redhat.com>
6167
6168 * c-common.c (make_tree_vector_from_ctor): New.
6169 * c-common.h: Declare it.
6170
5a79befb
JJ
61712016-10-04 Jakub Jelinek <jakub@redhat.com>
6172
6173 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6174 __LIBGCC_JCR_SECTION_NAME__.
6175
1633d3b9
BE
61762016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6177
6178 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6179 left shift in boolean context.
6180
a2c6e7f2
JJ
61812016-09-29 Jakub Jelinek <jakub@redhat.com>
6182
6183 Implement P0001R1 - C++17 removal of register storage class specifier
6184 * c.opt (Wregister): New warning.
6185 * c-opts.c (c_common_post_options): Enable -Wregister by
6186 default for C++17.
6187
75304c87
JG
61882016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6189
6190 * c-opts.c (c_common_post_options): Remove special case for
6191 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6192 in C++.
6193
bbfac6da
JJ
61942016-09-27 Jakub Jelinek <jakub@redhat.com>
6195
6e39060a
JJ
6196 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6197 -std=c++1z.
6198
bbfac6da
JJ
6199 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6200
e73cf9a2
TP
62012016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6202
6203 * c-common.c: Include memmodel.h.
6204
c6147dc4
MP
62052016-09-26 Marek Polacek <polacek@redhat.com>
6206
6207 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6208
81fea426
MP
62092016-09-26 Marek Polacek <polacek@redhat.com>
6210
6211 PR c/7652
6212 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6213 (handle_fallthrough_attribute): New function.
6214 (attribute_fallthrough_p): New function.
6215 * c-common.h (attribute_fallthrough_p): Declare.
6216
9a2300e9
MP
62172016-09-24 Marek Polacek <polacek@redhat.com>
6218
6219 PR c/77490
6220 * c.opt (Wbool-operation): New.
6221
a09e9e35
BE
62222016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6223
6224 * c-common.c (c_common_truthvalue_conversion): Inhibit
6225 Wint-in-bool-context warning with from_macro_definition_at.
6226 Mention the expression will always evaluate to true.
6227
d43b4ccc
MS
62282016-09-21 Martin Sebor <msebor@redhat.com>
6229
6230 PR bootstrap/77676
6231 * c.opt (fprintf-return-value): Temporarily initialize to zero
6232 to unblock bootstrap failures.
6233
2e1c20b1
JJ
62342016-09-21 Jakub Jelinek <jakub@redhat.com>
6235
6236 PR c++/77651
6237 * c.opt (Waligned-new=): Add RejectNegative.
6238 (faligned-new=): Likewise. Spelling fix - change
6239 aligned_new_threshhold to aligned_new_threshold.
6240 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6241 to aligned_new_threshold.
6242
88d0c3f0
MS
62432016-09-20 Martin Sebor <msebor@redhat.com>
6244
6245 PR middle-end/49905
6246 * c.opt: Add -Wformat-length and -fprintf-return-value.
6247
144a96e4
BE
62482016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6249
6250 PR c++/77434
6251 * c.opt (Wint-in-bool-context): New warning.
6252 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6253 constants in boolean context.
6254
63012d9a
JM
62552016-09-19 Joseph Myers <joseph@codesourcery.com>
6256
6257 * c-common.c (max_align_t_align): Also consider alignment of
6258 float128_type_node.
6259
931388ce
JM
62602016-09-15 Jason Merrill <jason@redhat.com>
6261
6262 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6263 DECL_EXTERNAL.
6264
38711381
JM
62652016-09-14 Jason Merrill <jason@redhat.com>
6266
6267 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6268 limit FIELD_DECL, either.
6269
e51fbec3
MP
62702016-09-14 Marek Polacek <polacek@redhat.com>
6271
6272 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6273 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6274 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6275
254830ba
DM
62762016-09-13 David Malcolm <dmalcolm@redhat.com>
6277
6278 * c-common.c (warn_logical_not_parentheses): Replace
6279 rich_location::add_fixit_insert calls with add_fixit_insert_before
6280 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6281
42763690
JM
62822016-09-13 Jason Merrill <jason@redhat.com>
6283 Tom de Vries <tom@codesourcery.com>
6284
6285 PR c++/77427
6286 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6287
9453eee9
JM
62882016-09-13 Jason Merrill <jason@redhat.com>
6289
6290 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6291 limit types at all.
6292
e96809e3
JM
62932016-09-12 Jason Merrill <jason@redhat.com>
6294
6295 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6296 bit/byte confusion, allow large alignment for types.
6297
54dcdb88
BE
62982016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6299
6300 PR c++/77496
6301 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6302
d1463eb9
DM
63032016-09-12 David Malcolm <dmalcolm@redhat.com>
6304
6305 PR c/72858
6306 * c-format.c (argument_parser::check_argument_type): Add params
6307 "type_start" and "conversion_char". Use the former to generate
6308 offset_to_type_start and pass it and conversion_char to
6309 check_format_types.
6310 (check_format_info_main): Capture the start of the type
6311 information as "type_start", and pass it an format_char
6312 to arg_parser.check_argument_type.
6313 (check_format_types): Provide an example in the leading comment.
6314 Add params "offset_to_type_start" and "conversion_char"; pass
6315 them to format_type_warning calls.
6316 (test_get_modifier_for_format_len): Likewise.
6317 (matching_type_p): New function.
6318 (get_format_for_type): Add param "conversion_char" and move
6319 implementation into...
6320 (get_format_for_type_1): ...new function, called twice.
6321 Use new function matching_type_p rather than checking for
6322 TYPE_CANONICAL equality.
6323 (get_corrected_substring): New function.
6324 (format_type_warning): Provide an example in the leading comment.
6325 Add params "offset_to_type_start" and "conversion_char". Replace
6326 call to get_format_for_type with call to get_corrected_substring
6327 and move rejection of hints for widths/precisions there.
6328 (assert_format_for_type_streq): Add param "conversion_char".
6329 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6330 (test_get_format_for_type_printf): Add conversion chars to the
6331 tests, adding coverage for various combinations of integer
6332 vs double conversions, and for preserving octal and hexadecimal
6333 conversions.
6334 (test_get_format_for_type_scanf): Add conversion chars to the
6335 tests.
6336
5b28efbb
TV
63372016-09-10 Tom de Vries <tom@codesourcery.com>
6338
6339 PR C/71602
6340 * c-common.c (build_va_arg): Handle more strict
6341 targetm.canonical_va_list_type. Replace first argument type error with
6342 assert.
6343
3f0177e7
MS
63442016-09-09 Martin Sebor <msebor@redhat.com>
6345
6346 PR c/77520
6347 PR c/77521
6348 * c-format.c (argument_parser::find_format_char_info): Use %qc
6349 format directive unconditionally.
6350
af63ba4b
JM
63512016-09-09 Jason Merrill <jason@redhat.com>
6352
6353 Implement C++17 new of over-aligned types.
6354 * c.opt: Add -faligned-new and -Waligned-new.
6355 * c-common.c (max_align_t_align): Split out from...
6356 (cxx_fundamental_alignment_p): ...here.
6357 * c-common.h: Declare it.
6358 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6359
c65248cb
JM
63602016-09-09 Joseph Myers <joseph@codesourcery.com>
6361
6362 * c-cppbuiltin.c (builtin_define_type_width): New function.
6363 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6364 macros.
6365
e5106e27
DM
63662016-09-07 David Malcolm <dmalcolm@redhat.com>
6367
6368 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6369 a POINTER_TYPE.
6370 (substring_loc::get_location): Move to substring-locations.c,
6371 keeping implementation as...
6372 (c_get_substring_location): New function, from the above, reworked
6373 to use accessors rather than member lookup.
6374 * c-common.h (class substring_loc): Move to substring-locations.h,
6375 replacing with a forward decl.
6376 (c_get_substring_location): New decl.
6377 * c-format.c: Include "substring-locations.h".
6378 (format_warning_va): Move to substring-locations.c.
6379 (format_warning_at_substring): Likewise.
6380
ab20d992 63812016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6382
6383 PR c/77336
6384 * c-format.c (check_function_format): Avoid issuing warnings for
6385 functions unless they call format functions with non-constant
6386 format strings.
6387
b772a565
RB
63882016-09-06 Richard Biener <rguenther@suse.de>
6389
6390 PR c/77450
6391 * c-common.c (c_common_mark_addressable_vec): Handle
6392 COMPOUND_LITERAL_EXPR.
6393
25ff5dd3
MP
63942016-09-05 Marek Polacek <polacek@redhat.com>
6395
6396 PR c/77423
6397 * c-common.c (bool_promoted_to_int_p): New function.
6398 (expr_has_boolean_operands_p): New function.
6399 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6400 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6401
21234eb5
TV
64022016-09-04 Tom de Vries <tom@codesourcery.com>
6403
6404 revert:
6405 2016-08-29 Tom de Vries <tom@codesourcery.com>
6406
6407 * c-common.c (build_va_arg): Replace first argument type error
6408 with assert.
6409
9dc5773f
JJ
64102016-09-02 Jakub Jelinek <jakub@redhat.com>
6411
6412 PR c/65467
6413 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6414 (c_finish_omp_for): Reject _Atomic qualified iterators.
6415
64162016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
6417
6418 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6419 size to guarantee it fits the output of the formatted function
6420 regardless of its arguments.
6421
295844f6
MP
64222016-09-01 Marek Polacek <polacek@redhat.com>
6423
6424 PR c/7652
6425 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6426 FALLTHRU comments.
6427
3d06b6f2
MP
64282016-08-29 Marek Polacek <polacek@redhat.com>
6429
6430 PR c/77292
6431 * c-common.c (warn_logical_not_parentheses): Don't warn for
6432 a comparison or a logical operator.
6433
34cedad5
TV
64342016-08-29 Tom de Vries <tom@codesourcery.com>
6435
6436 * c-common.c (build_va_arg): Fix type comparison assert.
6437
f162d717
TV
64382016-08-29 Tom de Vries <tom@codesourcery.com>
6439
6440 * c-common.c (build_va_arg): Replace first argument type error
6441 with assert.
6442
ba9bbd6f
TV
64432016-08-29 Tom de Vries <tom@codesourcery.com>
6444
6445 PR c/77398
6446 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6447 with error_mark_node as va_list instead of with illegal va_list.
6448
ebef225f
MP
64492016-08-25 Marek Polacek <polacek@redhat.com>
6450 David Malcolm <dmalcolm@redhat.com>
6451
6452 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6453 * c-common.h (warn_logical_not_parentheses): Update declaration.
6454
b00e6e75
MP
64552016-08-22 Marek Polacek <polacek@redhat.com>
6456
6457 PR c++/77321
6458 * c-common.c (warn_for_memset): Check type for null.
6459
6dc198e3
JM
64602016-08-22 Joseph Myers <joseph@codesourcery.com>
6461
14ec014e 6462 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6463 _FloatNx types for suffixes for built-in functions.
6464
c65699ef
JM
64652016-08-19 Joseph Myers <joseph@codesourcery.com>
6466
6467 PR c/32187
6468 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6469 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6470 (RID_FLOAT128X): New enum rid values.
6471 (CASE_RID_FLOATN_NX): New macro.
6472 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6473 keywords.
6474 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6475 corresponding complex types.
6476 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6477 _FloatNx and corresponding complex types.
6478 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6479 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6480 and _FloatNx types for the widest type for determining
6481 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6482 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6483 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6484 and _FloatNx types.
6485 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6486 constants.
6487 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6488 _FloatNx types.
6489
cc015f3a
DM
64902016-08-18 David Malcolm <dmalcolm@redhat.com>
6491
6492 * c-opts.c (c_diagnostic_finalizer): Update for change to
6493 diagnostic_show_locus.
6494
cb18fd07
DM
64952016-08-18 David Malcolm <dmalcolm@redhat.com>
6496
6497 * c-common.c: Include "spellcheck.h".
6498 (cb_get_suggestion): New function.
6499 * c-common.h (cb_get_suggestion): New decl.
6500 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6501 cb_get_suggestion.
6502
a76989dc
MP
65032016-08-18 Marek Polacek <polacek@redhat.com>
6504
6505 PR c/71514
6506 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6507 and pointer-to-VLA.
6508
65e736c0
DM
65092016-08-16 David Malcolm <dmalcolm@redhat.com>
6510
6511 PR c/72857
6512 * c-common.c (substring_loc::get_range): Rename to...
6513 (substring_loc::get_location): ...this, converting param from a
6514 source_range * to a location_t *. Call
6515 get_source_location_for_substring rather than
6516 get_source_range_for_substring, and pass in m_caret_idx.
6517 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6518 (substring_loc::get_range): Replace with...
6519 (substring_loc::get_location): ...this.
6520 (substring_loc::set_caret_index): New method.
6521 (substring_loc): Add field m_caret_idx.
6522 * c-format.c (format_warning_va): Update for above changes.
6523 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6524 clashing with type name.
6525 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6526 (check_argument_type): Likewise.
6527 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6528 Use a copy when emitting warnings, setting the caret index from TYPE.
6529
7e1dde14 65302016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6531 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6532
6533 * c-ada-spec.c (dump_number): New function.
6534 (handle_escape_character): Likewise.
6535 (print_ada_macros): Add handling of constant integers and strings.
6536
191816a3
MP
65372016-08-12 Marek Polacek <polacek@redhat.com>
6538
6539 PR c/7652
6540 * c-common.c (scalar_to_vector): Adjust fall through comment.
6541 * c-opts.c (c_common_handle_option): Likewise.
6542 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6543 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6544 fall through comment.
6545 * cilk.c (extract_free_variables): Add FALLTHRU.
6546
452df4a4
JM
65472016-08-10 Jason Merrill <jason@redhat.com>
6548
6549 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6550
f3365c12
JM
65512016-08-09 Jason Merrill <jason@redhat.com>
6552
6553 * c-common.c (c_common_attribute_table): vector_size affects type
6554 identity.
6555
f0bc3323
MP
65562016-08-09 Marek Polacek <polacek@redhat.com>
6557
6558 PR c/7652
6559 * c-ada-spec.c (dump_generic_ada_node): Add return.
6560
98e5a19a
JM
65612016-08-09 Jason Merrill <jason@redhat.com>
6562
6563 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6564 C++17 constexpr lambdas.
6565
895aa8e1
DM
65662016-08-08 David Malcolm <dmalcolm@redhat.com>
6567
6568 PR c/64955
6569 * c-common.h (selftest::c_format_c_tests): New declaration.
6570 (selftest::run_c_tests): New declaration.
6571 * c-format.c: Include "selftest.h.
6572 (format_warning_va): Add param "corrected_substring" and use
6573 it to add a replacement fix-it hint.
6574 (format_warning_at_substring): Likewise.
6575 (format_warning_at_char): Update for new param of
6576 format_warning_va.
6577 (argument_parser::check_argument_type): Pass "fki" to
6578 check_format_types.
6579 (check_format_types): Add param "fki" and pass it to
6580 format_type_warning.
6581 (deref_n_times): New function.
6582 (get_modifier_for_format_len): New function.
6583 (selftest::test_get_modifier_for_format_len): New function.
6584 (get_format_for_type): New function.
6585 (format_type_warning): Add param "fki" and use it to attempt
6586 to provide hints for argument types when calling
6587 format_warning_at_substring.
6588 (selftest::get_info): New function.
6589 (selftest::assert_format_for_type_streq): New function.
6590 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6591 (selftest::test_get_format_for_type_printf): New function.
6592 (selftest::test_get_format_for_type_scanf): New function.
6593 (selftest::c_format_c_tests): New function.
6594
e52ed3fe
DM
65952016-08-08 David Malcolm <dmalcolm@redhat.com>
6596
6597 PR c/52952
6598 * c-format.c: Include "diagnostic.h".
6599 (location_column_from_byte_offset): Delete.
6600 (location_from_offset): Delete.
6601 (format_warning_va): New function.
6602 (format_warning_at_substring): New function.
6603 (format_warning_at_char): New function.
6604 (check_format_arg): Capture location of format_tree and pass to
6605 check_format_info_main.
6606 (argument_parser): Add fields "start_of_this_format" and
6607 "format_string_cst".
6608 (flag_chars_t::validate): Add param "format_string_cst". Convert
6609 warning_at call using location_from_offset to call to
6610 format_warning_at_char.
6611 (argument_parser::argument_parser): Add param "format_string_cst_"
6612 and use use it to initialize field "format_string_cst".
6613 Initialize new field "start_of_this_format".
6614 (argument_parser::read_format_flags): Convert warning_at call
6615 using location_from_offset to a call to format_warning_at_char.
6616 (argument_parser::read_any_format_left_precision): Likewise.
6617 (argument_parser::read_any_format_precision): Likewise.
6618 (argument_parser::read_any_other_modifier): Likewise.
6619 (argument_parser::find_format_char_info): Likewise, in three places.
6620 (argument_parser::parse_any_scan_set): Likewise, in one place.
6621 (argument_parser::handle_conversions): Likewise, in two places.
6622 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6623 and use it to make a substring_loc. Pass the latter to
6624 check_format_types.
6625 (check_format_info_main): Add params "fmt_param_loc" and
6626 "format_string_cst". Convert warning_at calls using
6627 location_from_offset to calls to format_warning_at_char. Pass the
6628 new params to the arg_parser ctor. Pass "format_string_cst" to
6629 flag_chars.validate. Pass "fmt_param_loc" to
6630 arg_parser.check_argument_type.
6631 (check_format_types): Convert first param from a location_t
6632 to a const substring_loc & and rename to "fmt_loc". Attempt
6633 to extract the range of the relevant parameter and pass it
6634 to format_type_warning.
6635 (format_type_warning): Convert first param from a location_t
6636 to a const substring_loc & and rename to "fmt_loc". Add
6637 params "param_range" and "type". Replace calls to warning_at
6638 with calls to format_warning_at_substring.
6639
1c4d457e
DM
66402016-08-08 David Malcolm <dmalcolm@redhat.com>
6641
6642 * c-format.c (class flag_chars_t): New class.
6643 (struct length_modifier): New struct.
6644 (class argument_parser): New class.
6645 (flag_chars_t::flag_chars_t): New ctor.
6646 (flag_chars_t::has_char_p): New method.
6647 (flag_chars_t::add_char): New method.
6648 (flag_chars_t::validate): New method.
6649 (flag_chars_t::get_alloc_flag): New method.
6650 (flag_chars_t::assignment_suppression_p): New method.
6651 (argument_parser::argument_parser): New ctor.
6652 (argument_parser::read_any_dollar): New method.
6653 (argument_parser::read_format_flags): New method.
6654 (argument_parser::read_any_format_width): New method.
6655 (argument_parser::read_any_format_left_precision): New method.
6656 (argument_parser::read_any_format_precision): New method.
6657 (argument_parser::handle_alloc_chars): New method.
6658 (argument_parser::read_any_length_modifier): New method.
6659 (argument_parser::read_any_other_modifier): New method.
6660 (argument_parser::find_format_char_info): New method.
6661 (argument_parser::validate_flag_pairs): New method.
6662 (argument_parser::give_y2k_warnings): New method.
6663 (argument_parser::parse_any_scan_set): New method.
6664 (argument_parser::handle_conversions): New method.
6665 (argument_parser::check_argument_type): New method.
6666 (check_format_info_main): Introduce classes argument_parser
6667 and flag_chars_t, moving the code within the loop into methods
6668 of these classes. Make various locals "const".
6669
88fa5555
DM
66702016-08-05 David Malcolm <dmalcolm@redhat.com>
6671
6672 * c-common.c: Include "substring-locations.h".
6673 (get_cpp_ttype_from_string_type): New function.
6674 (g_string_concat_db): New global.
6675 (substring_loc::get_range): New method.
6676 * c-common.h (g_string_concat_db): New declaration.
6677 (class substring_loc): New class.
6678 * c-lex.c (lex_string): When concatenating strings, capture the
6679 locations of all tokens using a new obstack, and record the
6680 concatenation locations within g_string_concat_db.
6681 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6682 on the ggc-heap.
6683
78169471
MP
66842016-07-29 Marek Polacek <polacek@redhat.com>
6685
638fc14f
MP
6686 PR c/71926
6687 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6688 parentheses warning.
6689
78169471
MP
6690 PR c/71574
6691 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6692
1225d6b1
ML
66932016-07-28 Martin Liska <mliska@suse.cz>
6694
6695 PR gcov-profile/68025
6696 * c-common.c (handle_no_profile_instrument_function_attribute):
6697
ec1e2a40
BE
66982016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6699
6700 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6701 BITS_PER_UNIT_LOG.
6702
5ec2cd9f
JM
67032016-07-25 Jason Merrill <jason@redhat.com>
6704
6705 PR c++/65970
6706 * c.opt (fconstexpr-loop-limit): New.
6707
9dc5773f 67082016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6709
6710 PR c++/71675
6711 * c-common.c (resolve_overloaded_builtin): Avoid converting
6712 __atomic_compare_exchange_n return type to that of what its
6713 first argument points to.
6714
e3fe09c1
UB
67152016-07-22 Uros Bizjak <ubizjak@gmail.com>
6716
6717 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6718 ~(unsigned HOST_WIDE_INT) 0.
6719
bc91c436
ML
67202016-07-22 Martin Liska <mliska@suse.cz>
6721
6722 PR gcov-profile/69028
6723 PR gcov-profile/62047
6724 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6725 to the current_function_decl.
6726
451dcc66
JM
67272016-07-21 Jason Merrill <jason@redhat.com>
6728
6729 PR c++/65168
6730 * c-common.c (c_common_truthvalue_conversion): Check
6731 c_inhibit_evaluation_warnings for warning about address of
6732 reference.
6733
de6a69ee
DM
67342016-07-20 David Malcolm <dmalcolm@redhat.com>
6735
6736 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6737 const char *.
6738
d022c55a
JM
67392016-07-15 Jason Merrill <jason@redhat.com>
6740
6741 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6742
ddbbcb19
JJ
67432016-07-15 Jakub Jelinek <jakub@redhat.com>
6744
6745 PR c/71858
6746 * c-common.h (enum lookup_name_fuzzy_kind): Add
6747 FUZZY_LOOKUP_FUNCTION_NAME.
6748
d0cf395a
JM
67492016-07-08 Jason Merrill <jason@redhat.com>
6750
6751 P0145: Refining Expression Order for C++.
6752 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6753 * c-opts.c: Adjust.
6754
98d44e93
MT
67552016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6756
6757 PR c++/71214
6758 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6759
f9d8d994
TS
67602016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6761
6762 * c-pragma.h (enum pragma_kind): Rename
6763 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6764 users.
6765
4aa83879
RB
67662016-06-29 Richard Biener <rguenther@suse.de>
6767
6768 PR middle-end/71002
6769 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6770
a25bd9e6
JM
67712016-06-24 Jason Merrill <jason@redhat.com>
6772
6773 P0145R2: Refining Expression Order for C++.
6774 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6775 MODIFY_EXPR.
6776
a86451b9
JJ
67772016-06-24 Jakub Jelinek <jakub@redhat.com>
6778
6779 * c-common.c (check_builtin_function_arguments): Require last
6780 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6781 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6782 if the last argument is pointer to enumerated or boolean type.
6783
1a4f11c8
DM
67842016-06-22 David Malcolm <dmalcolm@redhat.com>
6785
6786 PR c/70339
6787 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6788 (lookup_name_fuzzy): New prototype.
6789
fe55692c
JDA
67902016-06-21 John David Anglin <danglin@gcc.gnu.org>
6791
6792 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6793
4eb24e01
JM
67942016-06-14 Jason Merrill <jason@redhat.com>
6795
6796 P0145R2: Refining Expression Order for C++.
6797 * c.opt (fargs-in-order): New.
6798 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6799
ef7cf206
JJ
68002016-06-13 Jakub Jelinek <jakub@redhat.com>
6801
0dda258b
JJ
6802 PR sanitizer/71498
6803 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6804 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6805
ef7cf206
JJ
6806 PR preprocessor/71183
6807 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6808 to cb_get_source_date_epoch.
6809
50b15873
JJ
68102016-06-10 Jakub Jelinek <jakub@redhat.com>
6811
6812 PR c/68657
6813 * c.opt (Wpsabi): Add Warning flag.
6814
4d926e34
MS
68152016-06-10 Martin Sebor <msebor@redhat.com>
6816
6817 PR c/71392
14ec014e 6818 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
6819 the nonnull attribute in type-generic builtins.
6820
e01b4e16
MS
68212016-06-09 Martin Sebor <msebor@redhat.com>
6822
6823 PR c/70883
6824 * c-common.c (builtin_function_validate_nargs): Make text of error
6825 message consistent with others like it.
6826
44a845ca
MS
68272016-06-08 Martin Sebor <msebor@redhat.com>
6828 Jakub Jelinek <jakub@redhat.com>
6829
6830 PR c++/70507
6831 PR c/68120
6832 * c-common.c (check_builtin_function_arguments): Handle
6833 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6834
a80a7051
RB
68352016-06-08 Richard Biener <rguenther@suse.de>
6836
6837 * c-common.c (parse_optimize_options): Improve diagnostic messages.
6838
bfd67b47
RB
68392016-06-07 Richard Biener <rguenther@suse.de>
6840
6841 PR c/61564
6842 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6843 options and warn about others.
6844
15c98b2e
ES
68452016-06-01 Eduard Sanou <dhole@openmailbox.org>
6846
6847 * c-common.c (get_source_date_epoch): Rename to
6848 cb_get_source_date_epoch.
6849 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6850 message when the parsing fails. Use error_at instead of fatal_error.
6851 * c-common.h (get_source_date_epoch): Rename to
6852 cb_get_source_date_epoch.
6853 * c-common.h (cb_get_source_date_epoch): Prototype.
6854 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6855 * c-common.h (c_omp_region_type): Remove trailing comma.
6856 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6857 * c-lex.c (c_lex_with_flags): Remove initialization of
6858 pfile->source_date_epoch.
6859
00631022
JJ
68602016-05-30 Jakub Jelinek <jakub@redhat.com>
6861
6862 PR c++/71349
6863 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6864 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
6865 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6866 instead of C_OMP_CLAUSE_SPLIT_FOR.
6867
f17a223d
RB
68682016-05-24 Richard Biener <rguenther@suse.de>
6869
6870 PR middle-end/70434
6871 PR c/69504
6872 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6873 (convert_vector_to_array_for_subscript): ... this.
6874 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6875 VIEW_CONVERT_EXPR to an array type. Rename to ...
6876 (convert_vector_to_array_for_subscript): ... this.
6877
4f2e1536
MP
68782016-05-12 Marek Polacek <polacek@redhat.com>
6879
6880 PR c/70756
6881 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6882 size_in_bytes and pass LOC to it.
6883
d6e83a8d
MM
68842016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
6885
6886 PR c/43651
6887 * c.opt (Wduplicate-decl-specifier): New option.
6888
5c3a10fb
MP
68892016-05-11 Marek Polacek <polacek@redhat.com>
6890
6891 PR c++/71024
6892 * c-common.c (diagnose_mismatched_attributes): New function.
6893 * c-common.h (diagnose_mismatched_attributes): Declare.
6894
deef7113
MP
68952016-05-04 Marek Polacek <polacek@redhat.com>
6896
6897 * c.opt (Wdangling-else): New option.
6898
79ce98bc
MP
68992016-05-03 Marek Polacek <polacek@redhat.com>
6900
6901 PR c/70859
6902 * c-common.c (builtin_function_validate_nargs): Add location
6903 parameter. Use it.
6904 (check_builtin_function_arguments): Add location and arguments
6905 parameters. Use them.
6906 * c-common.h (check_builtin_function_arguments): Update declaration.
6907
381cdae4
RB
69082016-05-03 Richard Biener <rguenther@suse.de>
6909
6910 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6911 allow call args to gimplify to SSA names.
6912
1d793c34
MP
69132016-05-03 Marek Polacek <polacek@redhat.com>
6914
6915 * c-common.h (enum c_omp_region_type): Remove stray comma.
6916
77886428
CP
69172016-05-02 Cesar Philippidis <cesar@codesourcery.com>
6918
6919 * c-common.h (enum c_omp_region_type): Define.
6920
697e0b28
RS
69212016-05-02 Richard Sandiford <richard.sandiford@arm.com>
6922
6923 * c-common.c (shorten_compare): Use wi::to_wide.
6924
e7ff0319
CP
69252016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6926
6927 PR middle-end/70626
6928 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6929 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6930 reduction clauses in acc parallel loops.
6931
2fff3db8
MP
69322016-04-29 Marek Polacek <polacek@redhat.com>
6933
6934 PR c/70852
6935 * c-common.c (warn_for_memset): Check domain before accessing it.
6936
509063eb
DV
69372016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
6938
6939 PR/69089
6940 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6941 "aligned" attribute.
6942
b632761d
JM
69432016-04-28 Jason Merrill <jason@redhat.com>
6944
6945 * c-lex.c (c_common_has_attribute): Handle nodiscard.
6946
174f6622
ES
69472016-04-28 Eduard Sanou <dhole@openmailbox.org>
6948 Matthias Klose <doko@debian.org>
6949
6950 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 6951 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
6952 handling.
6953 * c-common.h (get_source_date_epoch): Prototype.
6954 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6955
6bc2bb18
RB
69562015-04-27 Ryan Burn <contact@rnburn.com>
6957
6958 PR c++/69024
6959 PR c++/68997
6960 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6961 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6962 external linkage.
6963 (cilk_detect_and_unwrap): Corresponding changes.
6964 (extract_free_variables): Don't extract free variables from
6965 AGGR_INIT_EXPR slot.
6966 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6967 (cilk_recognize_spawn): Likewise.
6968
c1e1f433
BS
69692016-04-27 Bernd Schmidt <bschmidt@redhat.com>
6970
6971 * c.opt (Wmemset-elt-size): New option.
6972 * c-common.c (warn_for_memset): New function.
6973 * c-common.h (warn_for_memset): Declare.
6974
d067e05f
JM
69752016-04-25 Jason Merrill <jason@redhat.com>
6976
6977 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6978 No longer static.
6979 * c-common.h: Declare it.
6980 * c-lex.c (c_common_has_attribute): Add maybe_unused.
6981
9aa36ae5
JM
69822016-04-22 Jason Merrill <jason@redhat.com>
6983
6984 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6985
477d4906
IV
69862016-04-20 Ilya Verbin <ilya.verbin@intel.com>
6987
6988 PR c++/69363
6989 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6990 * c-common.h (c_finish_cilk_clauses): Remove declaration.
6991
fe37c7af
MM
69922016-04-18 Michael Matz <matz@suse.de>
6993
6994 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6995 and SET_DECL_ALIGN.
6996
23f2660f
EB
69972016-04-17 Eric Botcazou <ebotcazou@adacore.com>
6998
6999 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7000 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7001 to incomplete types.
7002 (dump_nested_type): Remove redundant tests and tidy up.
7003 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7004 a type which is the typedef of an original type.
7005
1e77281b
MP
70062016-04-15 Marek Polacek <polacek@redhat.com>
7007
7008 PR c/70651
7009 * c-common.c (build_va_arg): Change two asserts into errors and return
7010 error_mark_node.
7011
b3a77f21
MP
70122016-04-13 Marek Polacek <polacek@redhat.com>
7013
7014 PR c++/70639
7015 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7016 for switch statements, too.
7017
322b8466
JM
70182016-03-28 Jason Merrill <jason@redhat.com>
7019
7020 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7021
fbdb6baf
MP
70222016-03-23 Marek Polacek <polacek@redhat.com>
7023
7024 PR c++/69884
7025 * c.opt (Wignored-attributes): New option.
7026
5c240f4d
DM
70272016-03-22 David Malcolm <dmalcolm@redhat.com>
7028
7029 PR c/69993
7030 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7031 diagnostic text, reversing the order of the warning and note so
7032 that they appear in source order.
7033
14ba7b28
MP
70342016-03-17 Marek Polacek <polacek@redhat.com>
7035
7036 PR c/69407
7037 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7038 operations.
7039
08a1cadc
JM
70402016-03-14 Jason Merrill <jason@redhat.com>
7041
2aaeea19
JM
7042 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7043
08a1cadc
JM
7044 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7045
c06d25bb
RB
70462016-03-09 Richard Biener <rguenther@suse.de>
7047
7048 PR c/70143
7049 * c-common.c (strict_aliasing_warning): Add back
7050 alias_sets_conflict_p check.
7051
80aac5c8
JM
70522016-03-08 Jason Merrill <jason@redhat.com>
7053
7054 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7055
64b23c13
DM
70562016-03-04 David Malcolm <dmalcolm@redhat.com>
7057
7058 PR c/68187
7059 * c-indentation.c (get_visual_column): Move code to determine next
7060 tab stop to...
7061 (next_tab_stop): ...this new function.
7062 (line_contains_hash_if): Delete function.
7063 (detect_preprocessor_logic): Delete function.
7064 (get_first_nws_vis_column): New function.
7065 (detect_intervening_unindent): New function.
7066 (should_warn_for_misleading_indentation): Replace call to
7067 detect_preprocessor_logic with a call to
7068 detect_intervening_unindent.
7069
729526f5
DM
70702016-03-04 David Malcolm <dmalcolm@redhat.com>
7071
7072 PR c/68187
7073 * c-indentation.c (should_warn_for_misleading_indentation): When
7074 suppressing warnings about cases where the guard and body are on
7075 the same column, only use the first non-whitespace column in place
7076 of the guard token column when dealing with "else" clauses.
7077 When rejecting aligned BODY and NEXT, loosen the requirement
7078 from equality with the first non-whitespace of guard to simply
7079 that they not be indented relative to it.
7080
e9a35493
RB
70812016-03-04 Richard Biener <rguenther@suse.de>
7082
7083 PR c++/70054
7084 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7085 instead of alias_sets_conflict_p.
7086
1be56bc5
MP
70872016-03-01 Marek Polacek <polacek@redhat.com>
7088
7089 PR c++/69795
7090 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7091 any DECL.
7092
35886f0b
MS
70932016-02-22 Martin Sebor <msebor@redhat.com>
7094
7095 PR middle-end/69780
7096 * c-common.c (check_builtin_function_arguments): Validate and
7097 reject invalid arguments to __builtin_alloca_with_align.
7098
4246c8da
MW
70992016-02-20 Mark Wielaard <mjw@redhat.com>
7100
7101 PR c/28901
7102 * c.opt (Wunused-const-variable): Turn into Alias for...
7103 (Wunused-const-variable=): New option.
7104
268be88c
BE
71052016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7106
7107 PR c++/69865
7108 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7109 here...
7110 (c_common_init_options): ...to here.
7111 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7112
871b3f47
JJ
71132016-02-19 Jakub Jelinek <jakub@redhat.com>
7114
7115 PR c++/69826
7116 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7117 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7118 flag_preprocess_only.
7119
bf14eba2
JJ
71202016-02-16 Jakub Jelinek <jakub@redhat.com>
7121
7122 PR c/69835
7123 * c.opt (Wnonnull-compare): Enable for -Wall.
7124
ba6b3795
JJ
71252016-02-15 Jakub Jelinek <jakub@redhat.com>
7126
7127 PR c++/69797
7128 * c-common.c (sync_resolve_size): Diagnose too few arguments
7129 even when params is non-NULL empty vector.
7130
a011cd92
BS
71312016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7132
7133 PR target/60410
7134 * c.opt (fshort-double): Remove.
7135
46cb9332
MS
71362016-02-05 Martin Sebor <msebor@redhat.com>
7137
7138 PR c++/69662
7139 * c.opt (Warning options): Update -Wplacement-new to take
7140 an optional argument.
7141
e1b81f2b
JJ
71422016-02-01 Jakub Jelinek <jakub@redhat.com>
7143
7144 PR preprocessor/69543
7145 PR c/69558
7146 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7147 instead of loc to control_warning_option.
7148
b6adbb9f
NS
71492016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7150
7151 * c.opt (fopenacc-dim=): New option.
7152
5d70666e
RB
71532016-01-27 Ryan Burn <contact@rnburn.com>
7154
7155 PR cilkplus/69267
7156 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7157 gimplify_arg. Removed superfluous post_p argument.
7158 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7159 superfluous post_p argument.
7160 * c-gimplify.c (c_gimplify_expr): Likewise.
7161
01e1dea3
DM
71622016-01-26 David Malcolm <dmalcolm@redhat.com>
7163
7164 PR other/69006
7165 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7166 pp_newline_and_flush with pp_flush.
7167
9f04a53e
MS
71682016-01-20 Martin Sebor <msebor@redhat.com>
7169
7170 PR c/69405
7171 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7172 an incompatible argument when the argument isn't a valid tree node.
7173
7f26f7df
JM
71742016-01-18 Jason Merrill <jason@redhat.com>
7175
7176 PR c++/68767
7177 * c-common.c (check_function_arguments_recurse): Fold the whole
7178 COND_EXPR, not just the condition.
7179
f62bf092
TV
71802016-01-18 Tom de Vries <tom@codesourcery.com>
7181
7182 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7183 classify as loop clause.
7184
e0a575ff
JJ
71852016-01-15 Jakub Jelinek <jakub@redhat.com>
7186
7187 PR bootstrap/68271
7188 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7189 C++ FE no longer has limit on number of pragmas.
7190
71912015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7192
7193 PR c++/69048
7194 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7195 to add missing cleanup point.
b6e3db06 7196
c7df95d8
DM
71972016-01-14 David Malcolm <dmalcolm@redhat.com>
7198
7199 PR c++/68819
7200 * c-indentation.c (get_visual_column): Add location_t param.
7201 Handle the column number being zero by effectively disabling the
7202 warning, with an "inform".
7203 (should_warn_for_misleading_indentation): Add location_t argument
7204 for all uses of get_visual_column.
7205
21efdd80
PP
72062016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7207
7208 PR c++/69029
7209 * c-indentation.c (should_warn_for_misleading_indentation):
7210 Don't warn about do-while statements.
7211
7a127fa7
MS
72122016-01-07 Martin Sebor <msebor@redhat.com>
7213
7214 PR c/68966
7215 * c-common.c (sync_resolve_size): Reject first argument when it's
7216 a pointer to _Bool.
7217
c589e975
DM
72182016-01-05 David Malcolm <dmalcolm@redhat.com>
7219
7220 PR c/69122
7221 * c-indentation.c (get_visual_column): Remove default argument.
7222 (should_warn_for_misleading_indentation): For the multiline case,
7223 update call to get_visual_column for next_stmt_exploc so that it
7224 captures the location of the first non-whitespace character in the
7225 relevant line. Don't issue warnings if there is non-whitespace
7226 before the next statement.
7227
818ab71a
JJ
72282016-01-04 Jakub Jelinek <jakub@redhat.com>
7229
7230 Update copyright years.
7231
745e411d
DM
72322015-12-21 David Malcolm <dmalcolm@redhat.com>
7233
7234 * c-common.c (binary_op_error): Convert first param from
7235 location_t to rich_location * and use it when emitting an error.
7236 * c-common.h (binary_op_error): Convert first param from
7237 location_t to rich_location *.
7238
de67c4c3
DM
72392015-12-16 David Malcolm <dmalcolm@redhat.com>
7240
7241 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7242 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7243
4a38b02b
IV
72442015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7245
7246 * c-common.c (c_common_attribute_table): Handle "omp declare target
7247 link" attribute.
7248
54d62f51
JJ
72492015-12-14 Jakub Jelinek <jakub@redhat.com>
7250
7251 PR c/68833
7252 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7253
8d4227c8
TB
72542014-12-12 Tobias Burnus <burnus@net-b.de>
7255
7256 PR fortran/68815
7257 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7258 specifiers (%d, %i,%u and %c).
7259
f6069ccc
DM
72602015-12-10 David Malcolm <dmalcolm@redhat.com>
7261
7262 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7263
63bbf46d
JJ
72642015-12-08 Jakub Jelinek <jakub@redhat.com>
7265
7266 PR c/48088
7267 PR c/68657
7268 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7269 * c-pragma.c (handle_pragma_diagnostic): Adjust
7270 control_warning_option caller.
7271
f79520bb
DM
72722015-12-07 David Malcolm <dmalcolm@redhat.com>
7273
7274 * c-common.c (c_cpp_error): Update for change to
7275 rich_location::set_range.
7276
b3d5bc62
JJ
72772015-12-04 Paolo Bonzini <bonzini@gnu.org>
7278
7279 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7280 shifting 1 out of the sign bit.
7281
72822015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7283
7284 * c-common.c (c_common_attribute_table[]): Update max arguments
7285 count for "simd" attribute.
7286 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7287
6eb4a537
JJ
72882015-12-03 Jakub Jelinek <jakub@redhat.com>
7289
7290 PR preprocessor/57580
7291 * c-ppoutput.c (print): Change printed field to bool.
7292 Move src_file last for smaller padding.
7293 (init_pp_output): Set print.printed to false instead of 0.
7294 (scan_translation_unit): Fix up formatting. Set print.printed
7295 to true after printing something other than newline.
7296 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7297 (maybe_print_line_1): Set print.printed to false instead of 0.
7298 (print_line_1): Likewise.
7299 (do_line_change): Set print.printed to true instead of 1.
7300 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7301 dump_macro): Set print.printed to false after printing newline.
7302
4250754e
JM
73032015-12-02 Jason Merrill <jason@redhat.com>
7304
f479b43d
JM
7305 * c-common.c (fold_for_warn): New.
7306 (warn_logical_operator, warn_tautological_cmp)
7307 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7308
4250754e
JM
7309 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7310 (c_fully_fold_internal, decl_constant_value_for_optimization):
7311 Move to c/c-fold.c.
7312 * c-common.h: Don't declare decl_constant_value_for_optimization.
7313
e9e32ee6
JM
73142015-12-02 Joseph Myers <joseph@codesourcery.com>
7315
7316 PR c/68162
7317 * c-common.h (c_build_qualified_type): Add extra default
7318 arguments.
7319
37d5ad46
JB
73202015-12-01 Julian Brown <julian@codesourcery.com>
7321 Cesar Philippidis <cesar@codesourcery.com>
7322 James Norris <James_Norris@mentor.com>
7323
7324 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7325 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7326 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7327
f07862c7
EB
73282015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7329
7330 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7331 (decl_sloc_common): Delete and move bulk of processing to...
7332 (decl_sloc): ...here.
7333 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7334 (dump_ada_double_name): Remove S parameter and compute the suffix.
7335 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7336 element type and deal with an anonymous one.
7337 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7338 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7339 and remove reference to QUAL_UNION_TYPE.
7340 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7341 (dump_nested_type): ...here. New function extracted from above.
7342 Generate a full declaration for anonymous element type of arrays.
7343 (print_ada_declaration): Really skip anonymous declarations. Remove
7344 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7345 Clean up processing of declarations of array types and objects.
7346 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7347 Remove obsolete code and tidy up.
7348
75c8aac3
JH
73492015-11-29 Jan Hubicka <hubicka@ucw.cz>
7350
7351 PR c/67581
7352 * c-common.c (handle_transparent_union_attribute): Update
7353 also type variants.
7354
b58d3df2
ML
73552015-11-27 Martin Liska <mliska@suse.cz>
7356
7357 PR c++/68312
7358 * array-notation-common.c (cilkplus_extract_an_triplets):
7359 Release vector of vectors.
7360 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7361
89a01fcf
EB
73622015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7363
7364 PR c++/68527
7365 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7366 (print_ada_struct_decl): Likewise.
7367
cc5c5226
IZ
73682015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7369
7370 PR c++/68001
7371 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7372 * cilk.c (recognize_spawn): Determine location in a more precise
7373 way.
7374
269adb9d
JM
73752015-11-19 Jason Merrill <jason@redhat.com>
7376
7377 * c-common.c (shorten_compare): But look through macros from
7378 system headers.
7379
d0eccfcd
JM
73802015-11-18 Jason Merrill <jason@redhat.com>
7381
7382 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7383 non-constant operand comes from a macro.
7384
3e44547c
JM
73852015-11-17 Jason Merrill <jason@redhat.com>
7386
7387 PR bootstrap/68346
7388 * c-common.c (warn_tautological_cmp): Fold before checking for
7389 constants.
7390
0f62c7a0
MP
73912015-11-16 Marek Polacek <polacek@redhat.com>
7392
7393 PR c++/68362
7394 * c-common.c (check_case_bounds): Fold low and high cases.
7395
a868811e
MP
73962015-11-16 Marek Polacek <polacek@redhat.com>
7397
7398 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7399 * c-common.c (c_common_get_alias_set): Likewise.
7400 (handle_visibility_attribute): Likewise.
7401
fff77217
KY
74022015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
7403
7404 * c-common.c (handle_simd_attribute): New.
7405 (struct attribute_spec): Add entry for "simd".
7406 (handle_simd_attribute): New.
7407
269e63b7
KT
74082015-11-13 Kai Tietz <ktietz70@googlemail.com>
7409
7410 * c-lex.c (interpret_float): Use fold_convert.
7411
ebedc9a3
DM
74122015-11-13 David Malcolm <dmalcolm@redhat.com>
7413
7414 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7415 and store it on the result.
7416 * c-opts.c (c_common_init_options): Set
7417 global_dc->colorize_source_p.
7418
6e232ba4
JN
74192015-11-12 James Norris <jnorris@codesourcery.com>
7420 Joseph Myers <joseph@codesourcery.com>
7421
7365279f 7422 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7423 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7424 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7425 PRAGMA_OACC_CLAUSE_LINK.
7426
e78bede6
MP
74272015-11-11 Marek Polacek <polacek@redhat.com>
7428
7429 PR c/68107
7430 PR c++/68266
7431 * c-common.c (valid_array_size_p): New function.
7432 * c-common.h (valid_array_size_p): Declare.
7433
3f8257db 74342015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7435
7436 PR bootstrap/68271
7437 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7438
69f293c9
AM
74392015-11-11 Andrew MacLeod <amacleod@redhat.com>
7440
7441 * array-notation-common.c: Remove unused header files.
7442 * c-ada-spec.c: Likewise.
7443 * c-cilkplus.c: Likewise.
7444 * c-common.c: Likewise.
7445 * c-cppbuiltin.c: Likewise.
7446 * c-dump.c: Likewise.
7447 * c-format.c: Likewise.
7448 * c-gimplify.c: Likewise.
7449 * c-indentation.c: Likewise.
7450 * c-lex.c: Likewise.
7451 * c-omp.c: Likewise.
7452 * c-opts.c: Likewise.
7453 * c-pch.c: Likewise.
7454 * c-ppoutput.c: Likewise.
7455 * c-pragma.c: Likewise.
7456 * c-pretty-print.c: Likewise.
7457 * c-semantics.c: Likewise.
7458 * c-ubsan.c: Likewise.
7459 * cilk.c: Likewise.
7460 * stub-objc.c: Likewise.
7461
3a40d81d
NS
74622015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7463 Cesar Philippidis <cesar@codesourcery.com>
7464 James Norris <jnorris@codesourcery.com>
7465 Julian Brown <julian@codesourcery.com>
7466 Nathan Sidwell <nathan@codesourcery.com>
7467
7468 * c-pragma.c (oacc_pragmas): Add "routine".
7469 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7470
ee45a32d
EB
74712015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7472
7473 * c-common.c (c_common_attributes): Add scalar_storage_order.
7474 (handle_scalar_storage_order_attribute): New function.
7475 * c-pragma.c (global_sso): New variable.
7476 (maybe_apply_pragma_scalar_storage_order): New function.
7477 (handle_pragma_scalar_storage_order): Likewise.
7478 (init_pragma): Register scalar_storage_order.
7479 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7480 * c.opt (Wscalar-storage-order): New warning.
7481 (fsso-struct=): New option.
7482
eb11eb15
MS
74832015-11-08 Martin Sebor <msebor@redhat.com>
7484
7485 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7486
0aad0198
RS
74872015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7488
7489 * c-common.c: Don't undef DEF_BUILTIN.
7490
8a645150
DM
74912015-11-06 David Malcolm <dmalcolm@redhat.com>
7492
7493 * c-common.c (c_cpp_error): Convert parameter from location_t to
7494 rich_location *. Eliminate the "column_override" parameter and
7495 the call to diagnostic_override_column.
7496 Update the "done_lexing" clause to set range 0
7497 on the rich_location, rather than overwriting a location_t.
7498 * c-common.h (c_cpp_error): Convert parameter from location_t to
7499 rich_location *. Eliminate the "column_override" parameter.
7500
7a5e4956
CP
75012015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7502 Thomas Schwinge <thomas@codesourcery.com>
7503 James Norris <jnorris@codesourcery.com>
7504
7505 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7506 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7507 clauses with parallel and kernels and loops.
7508 * c-pragma.h (enum pragma_omp_clause): Add entries for
7509 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7510 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7511 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7512 INDEPENDENT,SEQ}.
7513 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7514
e2f5cc96
MS
75152015-11-05 Martin Sebor <msebor@redhat.com>
7516
7517 PR c++/67942
7518 * c.opt (-Wplacement-new): New option.
7519
e01d41e5
JJ
75202015-11-05 Jakub Jelinek <jakub@redhat.com>
7521
7522 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7523 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7524 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7525 save_expr or create_tmp_var* if TEST is true.
7526 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7527 Don't call add_stmt here.
7528 (struct c_omp_check_loop_iv_data): New type.
7529 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7530 c_omp_check_loop_iv_exprs): New functions.
7531 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7532 distribute.
7533 (c_omp_declare_simd_clauses_to_numbers): Change
7534 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7535 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7536 from numbers to PARM_DECLs.
7537
595278be
MM
75382015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7539
7540 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7541 flag_checking.
7542
3f8257db 75432015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7544
7545 PR c++-common/67882
b3d5bc62
JJ
7546 * c-common.h (fold_offsetof_1): Add argument.
7547 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7548 offsetof expressions that reference elements past the end of
7549 an array.
7550
4bf9e5a8
TS
75512015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7552 Chung-Lin Tang <cltang@codesourcery.com>
7553
7554 * c-pragma.c (oacc_pragmas): Add "atomic".
7555 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7556
3b1661a9
ES
75572015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7558
7559 * c-common.c (handle_target_clones_attribute): New.
7560 (c_common_attribute_table): Add handle_target_clones_attribute.
7561 (handle_always_inline_attribute): Add check on target_clones attribute.
7562 (handle_target_attribute): Ditto.
7563
2adfab87
AM
75642015-10-29 Andrew MacLeod <amacleod@redhat.com>
7565
7566 * array-notation-common.c: Reorder #include's and remove duplicates.
7567 * c-ada-spec.c: Likewise.
7568 * c-cilkplus.c: Likewise.
7569 * c-common.c: Likewise.
7570 * c-cppbuiltin.c: Likewise.
7571 * c-dump.c: Likewise.
7572 * c-format.c: Likewise.
7573 * c-gimplify.c: Likewise.
7574 * c-indentation.c: Likewise.
7575 * c-lex.c: Likewise.
7576 * c-omp.c: Likewise.
7577 * c-opts.c: Likewise.
7578 * c-pch.c: Likewise.
7579 * c-ppoutput.c: Likewise.
7580 * c-pragma.c: Likewise.
7581 * c-pretty-print.c: Likewise.
7582 * c-semantics.c: Likewise.
7583 * c-ubsan.c: Likewise.
7584 * cilk.c: Likewise.
7585 * stub-objc.c: Likewise.
7586
d90ec4f2
JM
75872015-10-28 Jason Merrill <jason@redhat.com>
7588
7589 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7590
88bae6f4
TS
75912015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7592 James Norris <jnorris@codesourcery.com>
7593 Cesar Philippidis <cesar@codesourcery.com>
7594
7595 PR c/64765
7596 PR c/64880
7597 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7598 * c-omp.c (c_oacc_split_loop_clauses): New function.
7599
b1726d6c
MS
76002015-10-21 Martin Sebor <msebor@redhat.com>
7601
7602 PR driver/68043
7603 * c.opt: End each sentence that describes an option with a period.
7604
fa60eeb9
MP
76052015-10-20 Marek Polacek <polacek@redhat.com>
7606
7607 * array-notation-common.c (is_cilkplus_vector_p): Define.
7608 * c-common.h (is_cilkplus_vector_p): Declare.
7609
95979049
MP
76102015-10-20 Marek Polacek <polacek@redhat.com>
7611
7612 * c.opt (std=gnu++11): Do not describe as experimental.
7613 (std=gnu++14): Likewise.
7614
2a9fb712
JM
76152015-10-19 Jason Merrill <jason@redhat.com>
7616
7617 * c-cppbuiltin.c (c_cpp_builtins): Define
7618 __cpp_nontype_template_args.
7619
13b380a3
JM
76202015-10-19 Jason Merrill <jason@redhat.com>
7621
7622 * c-cppbuiltin.c (c_cpp_builtins): Define
7623 __cpp_enumerator_attributes, __cpp_fold_expressions,
7624 __cpp_unicode_characters.
7625
d9a6bd32
JJ
76262015-10-13 Jakub Jelinek <jakub@redhat.com>
7627 Aldy Hernandez <aldyh@redhat.com>
7628
7629 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7630 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7631 (c_define_builtins): Likewise.
7632 * c-common.h (enum c_omp_clause_split): Add
7633 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7634 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7635 (c_finish_omp_for): Add ORIG_DECLV argument.
7636 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7637 201511 instead of 201307.
7638 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7639 OMP_CRITICAL_CLAUSES to it.
7640 (c_finish_omp_ordered): Add CLAUSES argument, set
7641 OMP_ORDERED_CLAUSES to it.
7642 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7643 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7644 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7645 constructs and new OpenMP 4.5 clauses. Clear
7646 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7647 verification code.
7648 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7649 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7650 (enum pragma_omp_clause): Add
7651 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7652 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7653
624d31fe
RS
76542015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7655
7656 * c-lex.c (interpret_float): Use real_equal instead of
7657 REAL_VALUES_EQUAL.
7658
b8fd7909
JM
76592015-10-04 Jason Merrill <jason@redhat.com>
7660
7661 Implement N4514, C++ Extensions for Transactional Memory.
7662 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7663 (c_common_attribute_table): Add transaction_safe_dynamic.
7664 transaction_safe now affects type identity.
7665 (handle_tm_attribute): Handle transaction_safe_dynamic.
7666 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7667 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7668 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7669 (D_TRANSMEM): New.
7670 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7671 * c-pretty-print.c (pp_c_attributes_display): Don't print
7672 transaction_safe in C++.
7673
12651878
MP
76742015-10-02 Marek Polacek <polacek@redhat.com>
7675
7676 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7677
3e3b8d63
MP
76782015-10-02 Marek Polacek <polacek@redhat.com>
7679
7680 PR c/64249
7681 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7682 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7683 * c.opt (Wduplicated-cond): New option.
7684
0d1a8f75
JM
76852015-10-01 Joseph Myers <joseph@codesourcery.com>
7686
7687 * c.opt (std=c11): Do not describe as experimental.
7688 (std=gnu11): Likewise.
7689 (std=iso9899:2011): Likewise.
7690
3e32ee19
NS
76912015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7692
7693 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7694 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7695
974348ee
MP
76962015-09-25 Marek Polacek <polacek@redhat.com>
7697
7698 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7699 (ubsan_instrument_shift): Likewise.
7700
15dbc1a6
MP
77012015-09-25 Marek Polacek <polacek@redhat.com>
7702
7703 PR sanitizer/64906
7704 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7705
6b95d7cc
PP
77062015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7707
7708 * c-indentation.c (should_warn_for_misleading_indentation):
7709 Compare next_stmt_vis_column with guard_line_first_nws instead
7710 of with guard_line_vis_column.
7711
c1822f9c
MLI
77122015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7713
7714 PR c/49654
7715 PR c/49655
7716 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7717 options and options not valid for the current language.
7718
d5398058
PP
77192015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7720
7721 * c-indentation.c (should_warn_for_misleading_indentation):
7722 Float out and consolidate the calls to get_visual_column that
7723 are passed guard_exploc as an argument. Compare
7724 next_stmt_vis_column with guard_line_first_nws instead of with
7725 body_line_first_nws.
7726
6b333269
NS
77272015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7728
7729 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7730 Wnamespaces): New C++ warnings.
7731
a75f1574
JM
77322015-09-22 Jason Merrill <jason@redhat.com>
7733
7734 * c-common.h (abi_compat_version_crosses): New.
7735 (warn_abi_version): Declare.
7736 * c-common.c: Define it.
7737 * c-opts.c (c_common_post_options): Handle it.
7738 flag_abi_compat_version defaults to 8.
7739
bdaaa8b7
VV
77402015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7741
7742 Complete the implementation of N4230, Nested namespace definition.
7743 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7744 __cpp_nested_namespace_definitions.
7745
eaa797e8
MLI
77462015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7747
7748 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7749
c4914de6
MLI
77502015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7751
7752 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7753 when warning.
7754 * c-pragma.h (pragma_lex): Add optional loc argument.
7755
fcb87c50
MM
77562015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7757
7758 * c-format.c (check_format_arg): Adjust to use common block size in all
7759 object pools.
7760
31bdd08a
DM
77612015-09-15 David Malcolm <dmalcolm@redhat.com>
7762
7763 * c-format.c (location_from_offset): Update for change in
7764 signature of location_get_source_line.
7765 * c-indentation.c (get_visual_column): Likewise.
7766 (line_contains_hash_if): Likewise.
7767
aa9f4b4c
MP
77682015-09-14 Marek Polacek <polacek@redhat.com>
7769
7770 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7771 setting various warnings.
7772
aa256c4a
MP
77732015-09-14 Marek Polacek <polacek@redhat.com>
7774
7775 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7776 a negative value.
7777
0f876f22
MW
77782015-09-11 Mark Wielaard <mjw@redhat.com>
7779
7780 PR c/28901
7781 * c.opt (Wunused-variable): Option from common.opt.
7782 (Wunused-const-variable): New option.
7783
273aa49e
PC
77842015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7785
7786 PR c++/53184
7787 * c.opt ([Wsubobject-linkage]): Add.
7788
1807ffc1
MS
77892015-09-03 Martin Sebor <msebor@redhat.com>
7790
7791 PR c/66516
7792 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7793 functions.
7794 * c-common.c (reject_gcc_builtin): Define.
7795
38942840
BI
77962015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
7797
7798 PR middle-end/60586
7799 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7800 prototype.
7801 * c-gimplify.c (c_gimplify_expr): Added a call to the function
7802 cilk_gimplify_call_params_in_spawned_fn.
7803 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7804 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7805 unwrapping.
7806
c316b5e4
MP
78072015-08-25 Marek Polacek <polacek@redhat.com>
7808
7809 PR middle-end/67330
7810 * c-common.c (handle_weak_attribute): Don't check whether the
7811 visibility can be changed here.
7812
584a7c46
MLI
78132015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7814
7815 * c-lex.c (c_lex_with_flags): Use explicit locations.
7816
a79683d5
TS
78172015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
7818
7819 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7820 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7821
61717a45
FXC
78222015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7823
7824 PR middle-end/36757
7825 * c-common.c (check_builtin_function_arguments): Add check
7826 for BUILT_IN_SIGNBIT argument.
7827
329524f5
PC
78282015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
7829
7830 PR c++/67160
7831 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7832 in c++1z mode.
7833
4ee55665
MP
78342015-08-17 Marek Polacek <polacek@redhat.com>
7835
7836 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7837 with whitespaces before qualifier names.
7838
b893e375
MP
78392015-08-12 Marek Polacek <polacek@redhat.com>
7840
7841 PR c++/55095
7842 * c-common.c (maybe_warn_shift_overflow): Properly handle
7843 left-shifting 1 into the sign bit.
7844
c2d89095
MLI
78452015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7846
7847 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7848
971e17ff
AS
78492015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
7850 Braden Obrzut <admin@maniacsvault.net>
7851 Jason Merrill <jason@redhat.com>
7852
7853 Add C++ Concepts TS support.
7854 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7855 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7856 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7857 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7858 * c-opts.c (set_std_cxx1z): Set flag_concepts.
7859 * c.opt (fconcepts): New.
7860
b3d5bc62
JJ
78612015-08-02 Martin Sebor <msebor@redhat.com>
7862
7863 * c.opt (-Wframe-address): New warning option.
7864
8ebca419
PP
78652015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7866
7867 * c-indentation.c (should_warn_for_misleading_indentation):
7868 Improve heuristics.
7869
1a1e101f
PP
78702015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7871
7872 * c-indentation.c (get_visual_column): Add parameter first_nws,
7873 use it. Update comment documenting the function.
7874 (is_first_nonwhitespace_on_line): Remove.
7875 (should_warn_for_misleading_indentation): Replace usage of
7876 of is_first_nonwhitespace_on_line with get_visual_column.
7877
992118a1
PP
78782015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7879
7880 * c-indentation.h (struct token_indent_info): Define.
7881 (get_token_indent_info): Define.
7882 (warn_for_misleading_information): Declare.
7883 * c-common.h (warn_for_misleading_information): Remove.
7884 * c-identation.c (warn_for_misleading_indentation):
7885 Change declaration to take three token_indent_infos. Adjust
7886 accordingly.
7887 * c-identation.c (should_warn_for_misleading_indentation):
7888 Likewise. Bail out early if the body is a compound statement.
7889 (guard_tinfo_to_string): Define.
7890
e8fa3817
JM
78912015-07-30 Jason Merrill <jason@redhat.com>
7892
7893 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7894 '*' for reference decay.
7895
173864e8
MP
78962015-07-30 Marek Polacek <polacek@redhat.com>
7897
7898 * c-common.c (warn_tautological_cmp): Bail for float types.
7899
f2afe6dd
MP
79002015-07-27 Marek Polacek <polacek@redhat.com>
7901
7902 PR bootstrap/67030
7903 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7904
05b28fd6
MP
79052015-07-27 Marek Polacek <polacek@redhat.com>
7906
7907 PR c++/66555
7908 PR c/54979
7909 * c-common.c (find_array_ref_with_const_idx_r): New function.
7910 (warn_tautological_cmp): New function.
7911 * c-common.h (warn_tautological_cmp): Declare.
7912 * c.opt (Wtautological-compare): New option.
7913
5a5062b8
MP
79142015-07-23 Marek Polacek <polacek@redhat.com>
7915
7916 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7917 (ubsan_instrument_shift): Likewise.
7918
dc891fe7
MP
79192015-07-23 Marek Polacek <polacek@redhat.com>
7920
7921 PR sanitizer/66908
7922 * c-ubsan.c: Include gimplify.h.
7923 (ubsan_instrument_division): Unshare OP0 and OP1.
7924 (ubsan_instrument_shift): Likewise.
7925
451b5e48
MP
79262015-07-20 Marek Polacek <polacek@redhat.com>
7927 Richard Sandiford <richard.sandiford@arm.com>
7928
7929 PR c++/55095
7930 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7931 Use EXPR_LOC_OR_LOC.
7932 (maybe_warn_shift_overflow): New function.
7933 * c-common.h (maybe_warn_shift_overflow): Declare.
7934 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7935 * c.opt (Wshift-overflow): New option.
7936
fb0b2914
ML
79372015-07-16 Martin Liska <mliska@suse.cz>
7938
7939 * c-format.c (static void check_format_info_main): Use
7940 object_allocator instead of pool_allocator.
7941 (check_format_arg): Likewise.
7942 (check_format_info_main): Likewise.
7943
903f5c23
AM
79442015-07-15 Andrew MacLeod <amacleod@redhat.com>
7945
7946 * c-opts.c: Remove multiline #include comment.
7947
026c3cfd
AH
79482015-07-12 Aldy Hernandez <aldyh@redhat.com>
7949
7950 * c-common.c: Fix double word typos.
7951
bb49ee66
EB
79522015-07-10 Eric Botcazou <ebotcazou@adacore.com>
7953
7954 * c-ada-spec.h (cpp_operation): Revert latest change.
7955 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
7956 constructors and destructors.
7957
1916bcb5
AM
79582015-07-09 Andrew MacLeod <amacleod@redhat.com>
7959
7960 * c-common.h: Adjust includes for flags.h changes.
7961 * stub-objc.c: Likewise.
026c3cfd 7962
a9dcd529
EB
79632015-07-08 Eric Botcazou <ebotcazou@adacore.com>
7964
7965 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7966 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7967
b03b462f
JJ
79682015-07-08 Jakub Jelinek <jakub@redhat.com>
7969
7970 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7971 are to be removed, return NULL rather than original clauses list.
7972
c7131fb2
AM
79732015-07-07 Andrew MacLeod <amacleod@redhat.com>
7974
7975 * array-notation-common.c: Adjust includes.
7976 * c-ada-spec.c: Likewise.
7977 * c-cilkplus.c: Likewise.
7978 * c-common.h: Likewise.
7979 * c-cppbuiltin.c: Likewise.
7980 * c-dump.c: Likewise.
7981 * c-format.c: Likewise.
7982 * c-gimplify.c: Likewise.
7983 * c-indentation.c: Likewise.
7984 * c-lex.c: Likewise.
7985 * c-omp.c: Likewise.
7986 * c-opts.c: Likewise.
7987 * c-pch.c: Likewise.
7988 * c-ppoutput.c: Likewise.
7989 * c-pragma.c: Likewise.
7990 * c-pretty-print.c: Likewise.
7991 * c-semantics.c: Likewise.
7992 * c-ubsan.c: Likewise.
7993 * cilk.c: Likewise.
7994 * stub-objc.c: Likewise.
7995
2a7fb83f
EB
79962015-07-07 Eric Botcazou <ebotcazou@adacore.com>
7997
7998 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7999 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8000
a03c9bf1
JM
80012015-07-01 Jason Merrill <jason@redhat.com>
8002
36a85135
JM
8003 * c-common.h (D_CXX11): Rename from D_CXX0X.
8004 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8005 * c-common.c: Adjust.
8006
e7fa68d5
JM
8007 * c-opts.c (c_common_post_options): Default to C++14.
8008
a03c9bf1
JM
8009 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8010
fe95b036
ESR
80112015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8012
8013 Implement N4197 - Adding u8 character literals
b3d5bc62 8014 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8015 CPP_CHAR.
b3d5bc62 8016 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8017 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8018 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8019 and CPP_UTF8CHAR tokens.
8020 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8021
da2e71c9
MLI
80222015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8023
8024 PR fortran/66605
8025 * c-common.c (do_warn_unused_parameter): Move here.
8026 * c-common.h (do_warn_unused_parameter): Declare.
8027
b155cfd9
MP
80282015-06-29 Marek Polacek <polacek@redhat.com>
8029
8030 PR c/66322
8031 * c-common.c (check_case_bounds): Add bool * parameter. Set
8032 OUTSIDE_RANGE_P.
8033 (c_add_case_label): Add bool * parameter. Pass it down to
8034 check_case_bounds.
8035 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8036 warning here.
8037 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8038 declarations.
8039
31521951
MP
80402015-06-27 Marek Polacek <polacek@redhat.com>
8041
8042 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8043 or VECTOR_INTEGER_TYPE_P throughout.
8044 * c-gimplify.c: Likewise.
8045
22d03525
MP
80462015-06-26 Marek Polacek <polacek@redhat.com>
8047
8048 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8049 * c-common.c (c_fully_fold_internal): Likewise.
8050 (c_alignof_expr): Likewise.
8051 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8052 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8053 * cilk.c (create_parm_list): Likewise.
22d03525 8054
af05e6e5
MP
80552015-06-26 Marek Polacek <polacek@redhat.com>
8056
8057 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8058
f0889939
AM
80592015-06-25 Andrew MacLeod <amacleod@redhat.com>
8060
8061 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8062 * c-gimplify.c: Likewise.
8063 * c-pragma.c: Likewise.
8064 * c-ubsan.c: Likewise.
8065 * cilk.c: Likewise.
8066
ca752f39
RS
80672015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8068
8069 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8070 ggc_hasher.
8071
16a16ec7
AM
80722015-06-25 Andrew MacLeod <amacleod@redhat.com>
8073
8074 * cilk.c: Move calls.h after tm.h in the include chain.
8075
0ae9bd27
MP
80762015-06-25 Marek Polacek <polacek@redhat.com>
8077
8078 * array-notation-common.c: Use VAR_P throughout.
8079 * c-ada-spec.c: Likewise.
8080 * c-common.c: Likewise.
8081 * c-format.c: Likewise.
8082 * c-gimplify.c: Likewise.
8083 * c-omp.c: Likewise.
8084 * c-pragma.c: Likewise.
8085 * c-pretty-print.c: Likewise.
8086 * cilk.c: Likewise.
8087
62f9079a
MP
80882015-06-25 Marek Polacek <polacek@redhat.com>
8089
8090 * cilk.c (extract_free_variables): Use is_global_var.
8091
0fa16060
RS
80922015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8093
8094 * c-common.c: Don't include target-def.h.
8095
a68ae2e1
MP
80962015-06-23 Marek Polacek <polacek@redhat.com>
8097
8098 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8099 when comparing INTEGER_CSTs.
8100
c6a2f2d9
PMR
81012015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8102
8103 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8104 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8105 (dump_ada_template): Skip partially specialized types.
8106
6b4db501
MM
81072015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8108
8109 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8110 swapping.
8111
abb226c9
AM
81122015-06-17 Andrew MacLeod <amacleod@redhat.com>
8113
8114 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8115 * c-ada-spec.c: Likewise.
8116 * c-cilkplus.c: Likewise.
8117 * c-common.c: Likewise.
8118 * c-common.h: Likewise.
8119 * c-cppbuiltin.c: Likewise.
8120 * c-dump.c: Likewise.
8121 * c-format.c: Likewise.
8122 * c-gimplify.c: Likewise.
8123 * c-indentation.c: Likewise.
8124 * c-lex.c: Likewise.
8125 * c-omp.c: Likewise.
8126 * c-opts.c: Likewise.
8127 * c-pch.c: Likewise.
8128 * c-ppoutput.c: Likewise.
8129 * c-pragma.c: Likewise.
8130 * c-pretty-print.c: Likewise.
8131 * c-semantics.c: Likewise.
8132 * c-ubsan.c: Likewise.
8133 * cilk.c: Likewise.
8134 * stub-objc.c: Likewise.
8135
076fecad
PP
81362015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8137
8138 PR c++/65168
8139 * c-common.c (c_common_truthvalue_conversion): Warn when
8140 converting an address of a reference to a truth value.
8141
13fdf2e2
AM
81422015-06-08 Andrew MacLeod <amacleod@redhat.com>
8143
8144 * array-notation-common.c : Adjust include files.
8145 * c-ada-spec.c : Likewise.
8146 * c-cilkplus.c : Likewise.
8147 * c-common.c : Likewise.
8148 * c-common.h : Likewise.
8149 * c-cppbuiltin.c : Likewise.
8150 * c-dump.c : Likewise.
8151 * c-format.c : Likewise.
8152 * c-gimplify.c : Likewise.
8153 * c-indentation.c : Likewise.
8154 * c-lex.c : Likewise.
8155 * c-omp.c : Likewise.
8156 * c-opts.c : Likewise.
8157 * c-pch.c : Likewise.
8158 * c-ppoutput.c : Likewise.
8159 * c-pragma.c : Likewise.
8160 * c-pretty-print.c : Likewise.
8161 * c-semantics.c : Likewise.
8162 * c-ubsan.c : Likewise.
8163 * cilk.c : Likewise.
8164 * stub-objc.c : Likewise.
8165
a1661b90
MP
81662015-06-08 Marek Polacek <polacek@redhat.com>
8167
8168 PR c/66415
8169 * c-format.c (location_from_offset): Return LOC if LINE is null.
8170
d7438551
AH
81712015-06-05 Aldy Hernandez <aldyh@redhat.com>
8172
8173 * c-common.h (c_parse_final_cleanups): New prototype.
8174 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8175
b3d5bc62
JJ
81762015-06-04 Sriraman Tallam <tmsriram@google.com>
8177
8178 * c-common.c (noplt): New attribute.
8179 (handle_noplt_attribute): New handler.
8180
ecb9f223
AM
81812015-06-04 Andrew MacLeod <amacleod@redhat.com>
8182
8183 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8184 * c-ada-spec.c: Likewise.
8185 * c-cilkplus.c: Likewise.
8186 * c-common.c: Likewise.
8187 * c-common.h: Likewise.
8188 * c-cppbuiltin.c: Likewise.
8189 * c-dump.c: Likewise.
8190 * c-format.c: Likewise.
8191 * c-gimplify.c: Likewise.
8192 * c-indentation.c: Likewise.
8193 * c-lex.c: Likewise.
8194 * c-omp.c: Likewise.
8195 * c-opts.c: Likewise.
8196 * c-pch.c: Likewise.
8197 * c-ppoutput.c: Likewise.
8198 * c-pragma.c: Likewise.
8199 * c-pretty-print.c: Likewise.
8200 * c-semantics.c: Likewise.
8201 * c-ubsan.c: Likewise.
8202 * cilk.c: Likewise.
8203 * stub-objc.c: Likewise.
8204
6ac48155
DM
82052015-06-02 David Malcolm <dmalcolm@redhat.com>
8206
8207 PR c/66220:
8208 * c-indentation.c (should_warn_for_misleading_indentation): Use
8209 expand_location rather than expand_location_to_spelling_point.
8210 Don't warn if the guarding statement is more indented than the
8211 next/body stmts.
8212
773ce42e
DM
82132015-06-02 David Malcolm <dmalcolm@redhat.com>
8214
8215 * c-indentation.c (warn_for_misleading_indentation): Bail out
8216 immediately if -Wmisleading-indentation isn't enabled.
8217
4fef8379
ML
82182015-06-01 Martin Liska <mliska@suse.cz>
8219
8220 * c-format.c (check_format_arg):Use new type-based pool allocator.
8221 (check_format_info_main) Likewise.
8222
1edfb384
EB
82232015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8224
8225 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8226 (has_nontrivial_methods): Likewise.
8227
9677ef52
MP
82282015-05-25 Marek Polacek <polacek@redhat.com>
8229
8230 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8231
fd5c817a
MP
82322015-05-22 Marek Polacek <polacek@redhat.com>
8233
8234 PR c/47043
8235 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8236
a2f45fe6 82372015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8238
8239 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8240 STACK_GROWS_DOWNWARD.
8241
a2f45fe6 82422015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8243
8244 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8245 STACK_GROWS_DOWNWARD rather than if it is defined.
8246
0fee2ac2 82472015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8248
0fee2ac2
MLI
8249 PR c/52952
8250 * c-format.c (location_column_from_byte_offset): New.
8251 (location_from_offset): New.
8252 (struct format_wanted_type): Add offset_loc field.
8253 (check_format_info): Move handling of location for extra arguments
8254 closer to the point of warning.
8255 (check_format_info_main): Pass the result of location_from_offset
8256 to warning_at.
8257 (format_type_warning): Pass the result of location_from_offset
8258 to warning_at.
8259
cf4ef6f7
MP
82602015-05-20 Marek Polacek <polacek@redhat.com>
8261
8262 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8263
3a65ee74
MP
82642015-05-20 Marek Polacek <polacek@redhat.com>
8265
8266 * c-ada-spec.c (dump_sloc): Use DECL_P.
8267
21b634ae
MP
82682015-05-20 Marek Polacek <polacek@redhat.com>
8269
8270 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8271 * c-common.c: Likewise.
8272
0e50b624
DM
82732015-05-19 David Malcolm <dmalcolm@redhat.com>
8274
8275 * c-common.h (fe_file_change): Strengthen param from
8276 const line_map * to const line_map_ordinary *.
8277 (pp_file_change): Likewise.
8278 * c-lex.c (fe_file_change): Likewise.
8279 (cb_define): Use linemap_check_ordinary when invoking
8280 SOURCE_LINE.
8281 (cb_undef): Likewise.
8282 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8283 invoking cb_file_change.
8284 (c_finish_options): Likewise.
8285 (push_command_line_include): Likewise.
8286 (cb_file_change): Strengthen param "new_map" from
8287 const line_map * to const line_map_ordinary *.
8288 * c-ppoutput.c (cb_define): Likewise for local "map".
8289 (pp_file_change): Likewise for param "map" and local "from".
8290
fab27f52
MM
82912015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8292
8293 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8294
2fe1d762
TV
82952015-05-18 Tom de Vries <tom@codesourcery.com>
8296
8297 * c-common.c (build_va_arg_1): New function.
8298 (build_va_arg): Add address operator to va_list operand if necessary.
8299
7a37fa90
MM
83002015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8301
8302 PR c/48956
8303 * c-common.c (int_safely_convertible_to_real_p): Define.
8304 (unsafe_conversion_p): Check conversions involving complex types.
8305 (conversion_warning): Add new warning message for conversions which
8306 discard imaginary component.
8307 * c-common.h: (enum conversion_safety): Add new enumerator for such
8308 conversions.
8309
3aa3c9fc
MP
83102015-05-14 Marek Polacek <polacek@redhat.com>
8311
8312 PR c/66066
8313 PR c/66127
8314 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8315 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8316 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8317 use it. If FOR_INT_CONST, require that all evaluated operands be
8318 INTEGER_CSTs.
8319
c3388e62
DM
83202015-05-12 David Malcolm <dmalcolm@redhat.com>
8321
8322 * c-common.h (warn_for_misleading_indentation): New prototype.
8323 * c-indentation.c: New file.
8324 * c.opt (Wmisleading-indentation): New option.
8325
c7b38fd5
TV
83262015-05-12 Tom de Vries <tom@codesourcery.com>
8327
8328 PR tree-optimization/66010
8329 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8330
381bf11e
JM
83312015-05-09 Jason Merrill <jason@redhat.com>
8332
edff0c06
JM
8333 * c-opts.c (c_common_post_options): Also clear
8334 cpp_opts->cpp_warn_cxx11_compat.
8335
129211bc
JM
8336 * c-common.h (enum cxx_dialect): Add cxx_unset.
8337 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8338 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8339
381bf11e
JM
8340 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8341 (std=gnu++0x): Mark as Undocumented.
8342 (std=gnu++1y): Add deprecated message.
8343
fe191308
JM
83442015-05-08 Jason Merrill <jason@redhat.com>
8345
765189ff
JM
8346 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8347 * c-opts.c: Adjust.
8348
fe191308
JM
8349 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8350
755e528f
MP
83512015-05-08 Marek Polacek <polacek@redhat.com>
8352
8353 PR c/64918
8354 * c.opt (Woverride-init-side-effects): New option.
8355
0173bd2a
MP
83562015-05-07 Marek Polacek <polacek@redhat.com>
8357
8358 PR c/65179
8359 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8360 negative value.
8361 * c.opt (Wshift-negative-value): New option.
8362 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8363 when -Wextra and C99/C++11 mode.
8364
e0f0d3b9
MP
83652015-05-07 Marek Polacek <polacek@redhat.com>
8366 Martin Uecker <uecker@eecs.berkeley.edu>
8367
8368 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8369 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8370
8243e2a9
JM
83712015-05-05 Jason Merrill <jason@redhat.com>
8372
8373 * c.opt (Wterminate): New.
8374
577cd070
MP
83752015-04-30 Marek Polacek <polacek@redhat.com>
8376
8377 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8378 require that the non-constant be of a boolean type.
8379
0373796b
JT
83802015-04-29 Josh Triplett <josh@joshtriplett.org>
8381
e0f0d3b9
MP
8382 * c-common.c (handle_section_attribute): Refactor to reduce
8383 nesting and distinguish between error cases.
0373796b 8384
716c0ba6
MP
83852015-04-29 Marek Polacek <polacek@redhat.com>
8386
8387 PR c/64610
8388 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8389 with 0/1.
8390
8848828b
JJ
83912015-04-29 Jakub Jelinek <jakub@redhat.com>
8392
8393 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8394 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8395 HOST_BITS_PER_WIDE_INT.
8396
ecd0e562
TV
83972015-04-28 Tom de Vries <tom@codesourcery.com>
8398
8399 PR tree-optimization/65887
8400 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8401
2a877204 84022015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 8403 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
8404
8405 * c-ada-spec.c (in_function): Delete.
8406 (dump_generic_ada_node): Do not change in_function and remove the
8407 redundant code dealing with it.
8408 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
8409 (print_ada_methods): Output the static member functions in a nested
8410 package after the regular methods as well as associated renamings.
8411
4853031e
MP
84122015-04-24 Marek Polacek <polacek@redhat.com>
8413
8414 PR c/65830
8415 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8416 and OPT_Wshift_count_overflow.
8417
8c2b7f79
MP
8418 PR c/63357
8419 * c-common.c (warn_logical_operator): Warn if the operands have the
8420 same expressions.
8421
b8787813
MP
84222015-04-24 Marek Polacek <polacek@redhat.com>
8423
8424 PR c/61534
8425 * c-common.c (warn_logical_operator): Bail if either operand comes
8426 from a macro expansion.
8427
8fba1830
BRF
84282015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8429
8430 PR target/55143
8431 * c-common.c (c_default_pointer_mode): Add definition.
8432 * c-common.h (c_default_pointer_mode): Add declaration.
8433
17958621
JJ
84342015-03-11 Jakub Jelinek <jakub@redhat.com>
8435
8436 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8437 on record_builtin_type argument.
8438
7ccb1a11
JJ
84392015-03-10 Jakub Jelinek <jakub@redhat.com>
8440
8441 PR c/65120
8442 * c-common.c (warn_logical_not_parentheses): Don't warn for
8443 !x == 0 or !x != 0.
8444
04fd785e
MP
84452015-03-07 Marek Polacek <polacek@redhat.com>
8446
8447 PR sanitizer/65280
8448 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8449 before trying to figure out whether we have a flexible array member.
8450
a4e26206 84512015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8452 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8453
8454 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8455
0d2489f4
EB
84562015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8457
8458 PR ada/65319
8459 * c-ada-spec.c (print_destructor): Remove obsolete code.
8460
83ed54d7
EB
84612015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8462
8463 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8464 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8465 DECL_TEMPLATE_RESULT emulations.
8466 (dump_ada_template)): Add guard for TYPE_METHODS.
8467
7631f0e2
MP
84682015-02-27 Marek Polacek <polacek@redhat.com>
8469
8470 PR c/65040
8471 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8472
d1783ae5
KT
84732015-02-27 Kai Tietz <ktietz@redhat.com>
8474
8475 PR c/35330
8476 * c-pragma.c (handle_pragma_weak): Do not try to create
8477 weak/alias of declarations not being function, or variable
8478 declarations.
8479
56a9f6bc
TS
84802015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8481
8482 PR libgomp/64625
8483 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8484 Remove macros.
8485 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8486
3d5cb23d
MP
84872015-02-16 Marek Polacek <polacek@redhat.com>
8488
8489 PR c/65066
8490 * c-format.c (check_format_types): Handle null param.
8491
fa008882
MP
84922015-02-13 Marek Polacek <polacek@redhat.com>
8493
8494 PR c/65040
8495 * c-format.c (check_format_types): Don't warn about different
8496 signedness if the original value is in the range of WANTED_TYPE.
8497
785f21af
JM
84982015-02-12 Jason Merrill <jason@redhat.com>
8499
8500 PR c++/64956
8501 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8502 to the current highest version.
8503 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8504
4886ec8e
JJ
85052015-02-04 Jakub Jelinek <jakub@redhat.com>
8506
8507 PR c/64824
8508 PR c/64868
8509 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8510 instead of RDIV_EXPR. Use build_binary_op instead of
8511 build2_loc.
8512
40fecdd6
JM
85132015-01-30 Joseph Myers <joseph@codesourcery.com>
8514
8515 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8516 to pass input_location as first argument.
8517
a0c88d06
TV
85182015-01-23 Tom de Vries <tom@codesourcery.com>
8519
8520 PR libgomp/64672
8521 * c.opt (fopenacc): Mark as LTO option.
8522
1506ae0e
TV
85232015-01-23 Tom de Vries <tom@codesourcery.com>
8524
8525 PR libgomp/64707
8526 * c.opt (fopenmp): Mark as LTO option.
8527
31be63ab
JJ
85282015-01-21 Jakub Jelinek <jakub@redhat.com>
8529
8530 PR c/63307
b1726d6c 8531 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8532 (compare_decls): Fix up formatting.
8533
85342015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8535
8536 PR c/63307
8537 * cilk.c: Include vec.h.
8538 (struct cilk_decls): New structure.
8539 (wrapper_parm_cb): Split this function to...
8540 (fill_decls_vec): ...this...
8541 (create_parm_list): ...and this.
8542 (compare_decls): New function.
8543 (for_local_cb): Remove.
8544 (wrapper_local_cb): Ditto.
8545 (build_wrapper_type): For now first traverse and fill vector of
8546 declarations then sort it and then deal with sorted vector.
8547 (cilk_outline): Ditto.
8548 (declare_one_free_variable): Ditto.
8549
6875457f
JM
85502015-01-21 Jason Merrill <jason@redhat.com>
8551
8552 PR c++/64629
8553 * c-format.c (check_format_arg): Call decl_constant_value.
8554
185c9e56
ML
85552015-01-19 Martin Liska <mliska@suse.cz>
8556
8557 * c-common.c (handle_noicf_attribute): New function.
8558
41dbbb37
TS
85592015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8560 Bernd Schmidt <bernds@codesourcery.com>
8561 James Norris <jnorris@codesourcery.com>
8562 Cesar Philippidis <cesar@codesourcery.com>
8563 Ilmir Usmanov <i.usmanov@samsung.com>
8564 Jakub Jelinek <jakub@redhat.com>
8565
8566 * c.opt (fopenacc): New option.
8567 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8568 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8569 New macros.
8570 * c-common.h (c_finish_oacc_wait): New prototype.
8571 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8572 (c_finish_oacc_wait): New function.
8573 * c-pragma.c (oacc_pragmas): New variable.
8574 (c_pp_lookup_pragma, init_pragma): Handle it.
8575 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8576 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8577 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8578 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8579 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8580 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8581 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8582 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8583 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8584 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8585 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8586 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8587 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8588 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8589 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8590 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8591 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8592 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8593 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8594 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8595 PRAGMA_OACC_CLAUSE_WORKER.
8596
3f8257db 85972015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8598
8599 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8600 for the new option fstack-protector_explicit.
8601 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8602 (handle_stack_protect_attribute): New function.
8603
3f8257db 86042015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8605
8606 * c.opt: New option -Warray-bounds=.
8607
adfac8df
JJ
86082015-01-09 Michael Collison <michael.collison@linaro.org>
8609
8610 * array-notation-common.c: Include hash-set.h, machmode.h,
8611 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8612 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8613 * c-ada-spec.c: Ditto.
8614 * c-cilkplus.c: Ditto.
8615 * c-common.c: Include input.h due to flattening of tree.h.
8616 Define macro GCC_C_COMMON_C.
8617 * c-common.h: Flatten tree.h header files into c-common.h.
8618 Remove include of tree-core.h.
8619 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8620 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8621 fold-const.h, wide-int.h, and inchash.h due to
8622 flattening of tree.h.
8623 * c-dump.c: Ditto.
8624 * c-format.c: Flatten tree.h header files into c-common.h.
8625 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8626 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8627 fold-const.h, wide-int.h, and inchash.h due to
8628 flattening of tree.h.
8629 * c-dump.c: Include hash-set.h, machmode.h,
8630 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8631 fold-const.h, wide-int.h, and inchash.h due to
8632 flattening of tree.h.
8633 * c-format.c: Include hash-set.h, machmode.h,
8634 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8635 fold-const.h, wide-int.h, inchash.h and real.h due to
8636 flattening of tree.h.
8637 * c-gimplify.c: Include hash-set.h, machmode.h,
8638 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8639 fold-const.h, wide-int.h, and inchash.h due to
8640 flattening of tree.h.
8641 * cilk.c: Ditto.
8642 * c-lex.c: Ditto.
8643 * c-omp.c: Ditto.
8644 * c-opts.c: Ditto.
8645 * c-pch.c: Ditto.
8646 * c-ppoutput.c: Ditto.
8647 * c-pragma.c: Ditto.
8648 * c-pretty-print.c: Ditto.
8649 * c-semantics.c: Ditto.
8650 * c-ubsan.c: Ditto.
8651 * stub-objc.c: Ditto.
8652
f5481fc4
JM
86532015-01-08 Jason Merrill <jason@redhat.com>
8654
8655 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8656 do_ubsan_in_current_function.
8657 (ubsan_maybe_instrument_reference_or_call): Likewise.
8658 * c-ubsan.h: Declare it.
8659
de35aa66
MS
86602015-01-08 Mike Stump <mikestump@comcast.net>
8661
8662 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8663
4a9a42ab
MP
86642015-01-07 Marek Polacek <polacek@redhat.com>
8665
8666 PR c/64440
8667 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8668 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8669
2f42e5de
TS
86702015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8671
8672 PR c++/31397
8673 * c.opt (Wsuggest-override): New option.
8674
5624e564
JJ
86752015-01-05 Jakub Jelinek <jakub@redhat.com>
8676
8677 Update copyright years.
8678
5bd012f8
MP
86792015-01-05 Marek Polacek <polacek@redhat.com>
8680
8681 PR c/64423
8682 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8683 parameter. Use it.
8684 * c-common.h (warn_array_subscript_with_type_char): Update
8685 declaration.
8686
a7fa8d18
ESR
86872014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8688
8689 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8690 Control macro with flag_sized_deallocation.
8691
3f8257db 86922014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8693
8694 * c.opt (Wdiscarded-array-qualifiers): New option.
8695
1f8d3e84
JJ
86962014-12-19 Jakub Jelinek <jakub@redhat.com>
8697
8698 PR preprocessor/63831
8699 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8700 and __has_cpp_attribute here.
8701 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8702 c_common_has_attribute.
8703 * c-common.h (c_common_has_attribute): New prototype.
8704 * c-lex.c (init_c_lex): Set cb->has_attribute to
8705 c_common_has_attribute instead of cb_has_attribute.
8706 (get_token_no_padding): New function.
8707 (cb_has_attribute): Renamed to ...
8708 (c_common_has_attribute): ... this. No longer static. Use
8709 get_token_no_padding, require ()s, don't build TREE_LIST
8710 unnecessarily, fix up formatting, adjust diagnostics, call
8711 init_attributes.
8712
20b06add
JM
87132014-12-15 Jason Merrill <jason@redhat.com>
8714
8715 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8716 (-Wsized-deallocation): New.
8717 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8718 to on in C++14 and up.
8719
94a073b2
JM
87202014-12-11 Jason Merrill <jason@redhat.com>
8721
acaa5911
JM
8722 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8723
94a073b2
JM
8724 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8725 we aren't complaining about VLAs.
8726
7fb66c15
MP
87272014-12-06 Marek Polacek <polacek@redhat.com>
8728
8729 PR tree-optimization/64183
8730 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8731 shift-expression if it is integer_type_node. Use types_compatible_p.
8732
b731b390
JJ
87332014-11-29 Jakub Jelinek <jakub@redhat.com>
8734
8735 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8736 last argument from create_tmp_var_raw and create_tmp_var calls.
8737 * cilk.c (gimplify_cilk_spawn): Likewise.
8738 * c-omp.c (c_finish_omp_atomic): Likewise.
8739
6a4da643
MP
87402014-11-28 Marek Polacek <polacek@redhat.com>
8741
8742 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8743 instead of unsigned_type_node.
8744
541e35a6
MP
87452014-11-28 Marek Polacek <polacek@redhat.com>
8746
8747 PR c/63862
8748 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8749 to op1_utype.
8750 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8751 expression to unsigned_type_node.
8752
dcc97066
MW
87532014-11-20 Mark Wielaard <mjw@redhat.com>
8754
8755 PR debug/38757
8756 * c-opts.c (set_std_c89): Set lang_hooks.name.
8757 (set_std_c99): Likewise.
8758 (set_std_c11): Likewise.
8759 (set_std_cxx98): Likewise.
8760 (set_std_cxx11): Likewise.
8761 (set_std_cxx14): Likewise.
8762 (set_std_cxx1z): Likewise.
8763
aa7da51a
JJ
87642014-11-21 Jakub Jelinek <jakub@redhat.com>
8765
8766 PR target/63764
8767 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8768 return type to bool.
009a3480 8769 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8770 (convert_vector_to_pointer_for_subscript): Change return type to
8771 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8772 and copy it into a TARGET_EXPR and use that instead of *vecp
8773 directly.
8774
538dd0b7
DM
87752014-11-19 David Malcolm <dmalcolm@redhat.com>
8776
8777 Merger of git branch "gimple-classes-v2-option-3".
8778 * ChangeLog.gimple-classes: New.
8779 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8780 from being just a vec<gimple> to a vec<gbind *>.
8781
c39a5e99
JJ
87822014-11-18 Jakub Jelinek <jakub@redhat.com>
8783
8784 PR sanitizer/63813
8785 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8786 argument to ptype, set type to TREE_TYPE (ptype). Don't call
8787 get_pointer_alignment for non-pointers. Use ptype, or if it is
8788 reference type, corresponding pointer type, as type of kind
8789 argument.
8790 (ubsan_maybe_instrument_reference,
8791 ubsan_maybe_instrument_member_call): Adjust callers.
8792
8537a4a9
MP
87932014-11-15 Marek Polacek <polacek@redhat.com>
8794
8795 PR middle-end/63884
8796 * array-notation-common.c (is_sec_implicit_index_fn): Return false
8797 for NULL fndecl.
8798 (extract_array_notation_exprs): Return for NULL node.
8799
2079956a
JM
88002014-11-12 Joseph Myers <joseph@codesourcery.com>
8801
8802 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8803 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8804
1304953e
JJ
88052014-11-12 Jakub Jelinek <jakub@redhat.com>
8806
8807 PR c/59708
8808 * c-common.c (check_builtin_function_arguments): Handle
8809 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8810
e5e44252
AK
88112014-11-10 Andi Kleen <ak@linux.intel.com>
8812
8813 PR c/60804
8814 * c-common.h (check_no_cilk): Declare.
8815 * cilk.c (get_error_location): New function.
8816 (check_no_cilk): Dito.
8817
e64b984d
AK
88182014-11-10 Andi Kleen <ak@linux.intel.com>
8819
8820 * cilk.c (recognize_spawn): Use expression location
8821 for error message.
8822
13c21655
PC
88232014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
8824
8825 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8826
42fd12b1
ESR
88272014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
8828
8829 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8830 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8831 (__cpp_range_based_for, __cpp_initializer_lists,
8832 __cpp_delegating_constructors, __cpp_nsdmi,
8833 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8834 for C++11; (__cpp_attribute_deprecated): Remove in favor of
8835 __has_cpp_attribute.
8836 * c-lex.c (cb_has_attribute): New callback CPP function;
8837 (init_c_lex): Set has_attribute callback.
8838
6f450181
RB
88392014-11-04 Richard Biener <rguenther@suse.de>
8840
8841 * c-common.c (shorten_compare): Do not shorten mixed
8842 DFP and non-DFP compares.
8843
26f0e1d6
ESR
88442014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8845
8846 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8847 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8848 Commentary and rearrangement of tests.
8849 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8850 Commentary and rearrangement of tests.
ab20d992 8851 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
8852 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8853
ef4bddc2
RS
88542014-10-29 Richard Sandiford <richard.sandiford@arm.com>
8855
8856 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8857 enum from machine_mode.
8858
c582198b
AM
88592014-10-28 Andrew MacLeod <amacleod@redhat.com>
8860
adfac8df
JJ
8861 * c-common.c: Adjust include files.
8862 * c-gimplify.c: Ditto.
8863 * cilk.c: Ditto.
8864 * c-pragma.c: Ditto.
8865 * c-ubsan.c: Ditto.
c582198b 8866
60393bbc
AM
88672014-10-27 Andrew MacLeod <amacleod@redhat.com>
8868
8869 * c-gimplify.c: Adjust include files.
8870
d723bb7c
MLI
88712014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8872
8873 PR c++/53061
8874 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8875 c_common_initialize_diagnostics.
8876 * c-common.h: Likewise.
8877
90f3520e
MP
88782014-10-24 Marek Polacek <polacek@redhat.com>
8879
8880 PR c/56980
8881 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8882 print "struct"/"union"/"enum" for typedefed names.
8883
59d7607a
MP
88842014-10-23 Marek Polacek <polacek@redhat.com>
8885
8886 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8887 in unsigned type.
8888
d95a2703
JJ
88892014-10-22 Jakub Jelinek <jakub@redhat.com>
8890 Yury Gribov <y.gribov@samsung.com>
8891
8892 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8893 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8894 instead of flag_sanitize_recover as bool flag.
8895
8e6ef852
KY
88962014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
8897
8898 * cilk.c: Revert previous change.
8899
948cf550
IZ
89002014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
8901
8902 PR c/63307
8903 * cilk.c: Include vec.h.
8904 (struct cilk_decls): New structure.
8905 (wrapper_parm_cb): Split this function to...
8906 (fill_decls_vec): ...this...
8907 (create_parm_list): ...and this.
8908 (compare_decls): New function.
8909 (for_local_cb): Remove.
8910 (wrapper_local_cb): Ditto.
8911 (build_wrapper_type): For now first traverse and fill vector of
8912 declarations then sort it and then deal with sorted vector.
8913 (cilk_outline): Ditto.
8914 (declare_one_free_variable): Ditto.
8915
92574c7c
MP
89162014-10-17 Marek Polacek <polacek@redhat.com>
8917
8918 * c-opts.c (c_common_post_options): Set warn_implicit_int.
8919 * c.opt (Wimplicit-int): Initialize to -1.
8920
83685514
AM
89212014-10-16 Andrew MacLeod <amacleod@redhat.com>
8922
8923 * c-pragma.c: Adjust include files.
8924 * c-semantics.c: Likewise.
8925
5b8300ea
DD
89262014-10-16 DJ Delorie <dj@redhat.com>
8927
8928 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8929 multiples of bytes.
8930
5f83e90b
JM
89312014-10-14 Jason Merrill <jason@redhat.com>
8932
8933 PR c++/63455
8934 * c-common.h (CPP_PREPARSED_EXPR): New.
8935 (N_CP_TTYPES): Adjust.
8936
d73326ca
MP
89372014-10-15 Marek Polacek <polacek@redhat.com>
8938
8939 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8940
78a7c317
DD
89412014-10-14 DJ Delorie <dj@redhat.com>
8942
8943 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8944 types, not just __int128.
8945 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8946 types, not just __int128.
8947 (cpp_atomic_builtins): Round pointer sizes up.
8948 (type_suffix): Use type precision, not specific types.
8949 * c-common.c (c_common_reswords): Remove __int128 special case.
8950 (c_common_type_for_size): Check for all __intN types, not just
8951 __int128.
8952 (c_common_type_for_mode): Likewise.
8953 (c_common_signed_or_unsigned_type): Likewise.
8954 (c_build_bitfield_integer_type): Likewise.
8955 (c_common_nodes_and_builtins): Likewise.
8956 (keyword_begins_type_specifier): Likewise.
8957 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8958 __intN variants.
8959
2a22f99c
TS
89602014-10-12 Trevor Saunders <tsaunders@mozilla.com>
8961
8962 * c-common.c: Use hash_table instead of hashtab.
8963
2a8ef767
ESR
89642014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
8965
adfac8df 8966 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
8967 C++11 section.
8968
3c9aabbd
MG
89692014-10-03 Marc Glisse <marc.glisse@inria.fr>
8970
8971 PR c++/54427
8972 PR c++/57198
8973 PR c++/58845
8974 * c-common.c (warn_logical_operator): Punt for vectors.
8975
a15f7cb8
ESR
89762014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8977
8978 Implement SD-6: SG10 Feature Test Recommendations
8979 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8980 macros and the __has_header macro.
8981
8d0cf15e
JM
89822014-09-30 Jason Merrill <jason@redhat.com>
8983
dd5d5481
JM
8984 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8985 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8986 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8987
b752325e
JM
8988 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8989 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8990
8d0cf15e
JM
8991 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8992 * c-common.c (c_common_reswords): Remove __is_convertible_to.
8993
083e891e
MP
89942014-09-24 Marek Polacek <polacek@redhat.com>
8995
8996 PR c/61405
8997 PR c/53874
8998 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8999
7861b648
AK
90002014-09-23 Andi Kleen <ak@linux.intel.com>
9001
9002 * c-common.c (handle_no_reorder_attribute): New function.
9003 (c_common_attribute_table): Add no_reorder attribute.
9004
9a79452d
JM
90052014-09-22 Joseph Myers <joseph@codesourcery.com>
9006
9007 * c-cppbuiltin.c (c_cpp_builtins): Define
9008 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9009 modes.
9010
dd69f047
JM
90112014-09-18 Joseph Myers <joseph@codesourcery.com>
9012
9013 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9014 for supported floating-point modes.
9015
737a4826
MLI
90162014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9017
9018 * c.opt (Wpsabi): Use LangEnabledBy.
9019 * c-opts.c (c_common_handle_option): Do not handle here.
9020
8cc4b7a2
JM
90212014-09-12 Joseph Myers <joseph@codesourcery.com>
9022
9023 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9024 macros for floating-point modes.
9025
179b5a55
MG
90262014-09-11 Marc Glisse <marc.glisse@inria.fr>
9027
9028 PR target/58757
9029 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9030 __*_DENORM_MIN__ without denormals.
9031
570a11fe
JJ
90322014-09-10 Jakub Jelinek <jakub@redhat.com>
9033
9034 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9035 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9036 ubsan_create_data callers.
9037 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9038 index is constant or BIT_AND_EXPR with constant mask and is
9039 small enough for the bound.
9040 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9041 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9042
b559c810
MLI
90432014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9044
9045 * c.opt: Add CppReason to various flags.
9046 (Wdate-time): Re-sort.
9047 * c-common.c: Include c-common.h earlier.
9048 (struct reason_option_codes_t): Delete.
9049 (c_option_controlling_cpp_error): Prefix global type and struct
9050 with cpp_.
9051
1ef33fd4
MLI
90522014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9053
9054 * c.opt (Wnormalized): New.
9055 (Wnormalized=): Use Enum and Reject Negative.
9056 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9057
66bb34c0
JM
90582014-09-08 Joseph Myers <joseph@codesourcery.com>
9059
9060 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9061 digits of floating-point modes if -fbuilding-libgcc.
9062
53d68b9f
JM
90632014-09-05 Joseph Myers <joseph@codesourcery.com>
9064
9065 * c-cppbuiltin.c (c_cpp_builtins): Also define
9066 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9067 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9068 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9069 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9070 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9071 __LIBGCC_STACK_GROWS_DOWNWARD__,
9072 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9073 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9074 __LIBGCC_DWARF_FRAME_REGISTERS__,
9075 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9076 __LIBGCC_STACK_POINTER_REGNUM__ and
9077 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9078 (builtin_define_with_value): Handle backslash-escaping in string
9079 macro values.
9080
f65586dc
RB
90812014-09-05 Richard Biener <rguenther@suse.de>
9082
9083 PR middle-end/63148
9084 * c-format.c (check_format_arg): Properly handle
9085 effectively signed POINTER_PLUS_EXPR offset.
9086
2b71f4a4
MLI
90872014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9088
9089 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9090 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9091 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9092 and Init.
9093 * c-opts.c (c_common_handle_option): Do not handle here.
9094 (sanitize_cpp_opts): Likewise.
9095 * c-common.c (struct reason_option_codes_t): Handle
9096 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9097
d2e4feca
MP
90982014-09-03 Marek Polacek <polacek@redhat.com>
9099
9100 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9101
9a771876
JJ
91022014-09-02 Jakub Jelinek <jakub@redhat.com>
9103 Balaji V. Iyer <balaji.v.iyer@intel.com>
9104 Igor Zamyatin <igor.zamyatin@intel.com>
9105
9106 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9107 * c-common.c (c_common_reswords): Added _Cilk_for.
9108 * c-common.h (enum rid): Added RID_CILK_FOR.
9109 (cilk_for_number_of_iterations): Add declaration.
9110 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9111 CILK_FOR.
9112 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9113 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9114
81b5d104
MLI
91152014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9116
9117 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9118 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9119 Wundef): Use CPP, Var and Init.
9120 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9121
b753b37b
MLI
91222014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9123
9124 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9125 * c-opts.c (c_common_handle_option): Do not handle here.
9126
028aee17
JM
91272014-08-25 Jason Merrill <jason@redhat.com>
9128
9129 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9130 -std=c++14 and -std=gnu++14, rather than the reverse.
9131 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9132 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9133 * c-common.h (cxx_dialect): Remove cxx1y.
9134
e4276ba5
ESR
91352014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9136
9137 * c-common.h (enum cxx_dialect): Add cxx14.
9138 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9139 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9140 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9141
a545cacd
JM
91422014-08-22 Jason Merrill <jason@redhat.com>
9143
9144 * c.opt (std=gnu++17): Fix alias.
9145
59ea0364
MP
91462014-08-22 Marek Polacek <polacek@redhat.com>
9147
9148 PR c++/62199
9149 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9150 check for vector types. Drop LHS argument.
9151 * c-common.h (warn_logical_not_parentheses): Adjust.
9152
596e808c
MLI
91532014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9154
9155 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9156 (Wmultichar): Likewise.
9157 (Wdate-time): Use C-family languages instead of Common. Use CPP
9158 and Var.
9159 * c-opts.c (c_common_handle_option): Do not handle the above
9160 options here.
9161 (sanitize_cpp_opts): Likewise.
9162
18767f65
MLI
91632014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9164
9165 PR fortran/44054
9166 * c-opts.c: Include tree-diagnostics.h.
9167 (c_diagnostic_finalizer): New.
9168 (c_common_initialize_diagnostics): Use it.
9169
b4413594
MLI
91702014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9171
9172 PR preprocessor/51303
9173 * c-common.c (struct reason_option_codes_t option_codes):
9174 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9175
43f9a13c
MLI
91762014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9177
9178 PR c/60975
9179 PR c/53063
9180 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9181 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9182 (c_common_post_options): Call init_global_opts_from_cpp.
9183 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9184
04159acf
MP
91852014-08-19 Marek Polacek <polacek@redhat.com>
9186
9187 PR c++/62153
9188 * c-common.c (maybe_warn_bool_compare): New function.
9189 * c-common.h (maybe_warn_bool_compare): Declare.
9190 * c.opt (Wbool-compare): New option.
9191
35aff4fb
MP
91922014-08-19 Marek Polacek <polacek@redhat.com>
9193
9194 * c.opt (Wc99-c11-compat): New option.
9195
177cce46
MP
91962014-08-19 Marek Polacek <polacek@redhat.com>
9197
9198 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9199 to warn_c90_c99_compat.
9200 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9201 to -1.
9202
6ae9194f
MLI
92032014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9204 Steven Bosscher <steven@gcc.gnu.org>
9205
9206 PR c/52952
9207 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9208 format_check_results.
9209 (check_function_format): Use true and add comment for boolean
9210 argument.
9211 (finish_dollar_format_checking): Use explicit location when warning.
9212 (check_format_info): Likewise.
9213 (check_format_arg): Set extra_arg_loc and format_string_loc.
9214 (check_format_info_main): Use explicit location when warning.
9215 (check_format_types): Pass explicit location.
9216 (format_type_warning): Likewise.
9217
8e54f6d3
MLI
92182014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9219
9220 PR fortran/44054
9221 * c-format.c: Handle Fortran flags.
9222
cd4e76fc
IZ
92232014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9224
9225 PR other/61962
9226 * array-notation-common.c (find_rank): Added handling for other
9227 types of references.
9228
f3bede71
MP
92292014-08-10 Marek Polacek <polacek@redhat.com>
9230
9231 PR c/51849
9232 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9233 * c.opt (Wc90-c99-compat): Add option.
9234
9f25a338
TS
92352014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9236
9237 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9238
62e4eb35
MP
92392014-08-03 Marek Polacek <polacek@redhat.com>
9240
ab20d992 9241 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9242 (c_add_case_label): Pass loc to check_case_value.
9243
b787e7a2
TS
92442014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9245
9246 * cilk.c: Use hash_map instead of pointer_map.
9247
6e2830c3
TS
92482014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9249
9250 * c-gimplify.c: Use hash_set instead of pointer_set.
9251
a7ee52fb
IZ
92522014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9253
9254 PR middle-end/61455
9255 * array-notation-common.c (extract_array_notation_exprs): Handling
9256 of DECL_EXPR added.
9257
944fa280
JJ
92582014-08-01 Jakub Jelinek <jakub@redhat.com>
9259
9260 * c-common.h (min_align_of_type): Removed prototype.
9261 * c-common.c (min_align_of_type): Removed.
9262 * c-ubsan.h (ubsan_maybe_instrument_reference,
9263 ubsan_maybe_instrument_member_call): New prototypes.
9264 * c-ubsan.c: Include stor-layout.h and builtins.h.
9265 (ubsan_maybe_instrument_reference_or_call,
9266 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9267 functions.
9268
b4dfdc11
MG
92692014-07-31 Marc Glisse <marc.glisse@inria.fr>
9270
9271 PR c++/60517
9272 * c.opt (-Wreturn-local-addr): Move to common.opt.
9273
a41844e5
JM
92742014-07-30 Jason Merrill <jason@redhat.com>
9275
9276 PR c++/61659
9277 PR c++/61687
9278 Revert:
9279 * c.opt (-fuse-all-virtuals): New.
9280
976d5a22
TT
92812014-07-30 Tom Tromey <tromey@redhat.com>
9282
9283 PR c/59855
9284 * c.opt (Wdesignated-init): New option.
9285 * c-common.c (c_common_attribute_table): Add "designated_init".
9286 (handle_designated_init): New function.
9287
cdc94aca
MP
92882014-07-24 Marek Polacek <polacek@redhat.com>
9289
9290 PR c/57653
9291 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9292
f41373b6
DS
92932014-07-16 Dodji Seketeli <dodji@redhat.com>
9294
9295 PR preprocessor/60723 - missing system-ness marks for macro tokens
9296 * c-ppoutput.c (struct print::prev_was_system_token): New data
9297 member.
9298 (init_pp_output): Initialize it.
9299 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9300 (do_line_change): Return a flag saying if a line marker was
9301 emitted or not.
9302 (scan_translation_unit): Detect if the system-ness of the token we
9303 are about to emit is different from the one of the previously
9304 emitted token. If so, emit a line marker. Avoid emitting useless
9305 adjacent line markers. Avoid emitting line markers for tokens
9306 originating from the expansion of built-in macros.
9307 (scan_translation_unit_directives_only): Adjust.
9308
4d661eaa
MP
93092014-07-15 Marek Polacek <polacek@redhat.com>
9310
9311 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9312 TYPE_MAX_VALUE is NULL.
9313
b108f48f
JJ
93142014-07-14 Jakub Jelinek <jakub@redhat.com>
9315
9316 PR middle-end/61294
9317 * c.opt (Wmemset-transposed-args): New warning.
9318
c0221884
JM
93192014-07-10 Jason Merrill <jason@redhat.com>
9320
9321 PR c++/61659
9322 PR c++/61687
9323 * c.opt (-fuse-all-virtuals): New.
9324
63dfbb95
RB
93252014-07-09 Richard Biener <rguenther@suse.de>
9326
9327 PR c-family/61741
9328 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9329 using unsigned arithmetic if overflow does not wrap instead of
9330 if overflow is undefined.
9331
773ec47f
MP
93322014-07-06 Marek Polacek <polacek@redhat.com>
9333
9334 PR c/6940
9335 * c.opt (Wsizeof-array-argument): New option.
9336
00a7ba58
JJ
93372014-07-03 Jakub Jelinek <jakub@redhat.com>
9338
b1726d6c 9339 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9340 comments->count <= 1, as comments->entries might be NULL.
9341
52ec0ea3
MP
93422014-07-01 Marek Polacek <polacek@redhat.com>
9343
9344 * c.opt (Wint-conversion): New option.
9345
d5c3d343
MP
93462014-07-01 Marek Polacek <polacek@redhat.com>
9347
9348 PR c/58286
9349 * c.opt (Wincompatible-pointer-types): New option.
9350
6e7ceb17
PC
93512014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9352
9353 PR c++/51400
9354 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9355 Do not discard TYPE_QUALS of type.
9356
da73100b
JM
93572014-06-26 Jason Merrill <jason@redhat.com>
9358
9359 * c-common.h (enum cxx_dialect): Add cxx1z.
9360 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9361 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9362
08eedf75
TJ
93632014-06-26 Teresa Johnson <tejohnson@google.com>
9364
9365 * c-common.h (get_dump_info): Declare.
9366 * c-gimplify.c (c_genericize): Use saved dump files.
9367 * c-opts.c (c_common_parse_file): Begin and end dumps
9368 once around parsing invocation.
9369 (get_dump_info): New function.
9370
7b56b2f8
MP
93712014-06-23 Marek Polacek <polacek@redhat.com>
9372 Andrew MacLeod <amacleod@redhat.com>
9373
9374 PR c/61553
9375 * c-common.c (get_atomic_generic_size): Don't segfault if the
9376 type doesn't have a size.
9377
0e37a2f3
MP
93782014-06-20 Marek Polacek <polacek@redhat.com>
9379
9380 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9381 (ubsan_walk_array_refs_r): New function.
9382 (c_genericize): Instrument array bounds.
9383 * c-ubsan.c: Include "internal-fn.h".
9384 (ubsan_instrument_division): Mark instrumented arrays as having
9385 side effects. Adjust ubsan_type_descriptor call.
9386 (ubsan_instrument_shift): Likewise.
9387 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9388 (ubsan_instrument_bounds): New function.
9389 (ubsan_array_ref_instrumented_p): New function.
9390 (ubsan_maybe_instrument_array_ref): New function.
9391 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9392 (ubsan_array_ref_instrumented_p): Declare.
9393 (ubsan_maybe_instrument_array_ref): Declare.
9394
93952014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9396
9397 PR lto/61123
9398 * c.opt (fshort-enums): Add to LTO.
9399 * c.opt (fshort-wchar): Likewise.
9400
5c3d09f7
MP
94012014-06-16 Marek Polacek <polacek@redhat.com>
9402
9403 PR c/60439
9404 * c.opt (Wswitch-bool): Add Var.
9405
9cf32741
JJ
94062014-06-12 Jakub Jelinek <jakub@redhat.com>
9407
9408 PR middle-end/61486
9409 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9410 #pragma omp target teams or
9411 #pragma omp {,target }teams distribute simd.
9412
62984918
JM
94132014-06-12 Jason Merrill <jason@redhat.com>
9414
9415 * c.opt (Wabi=, fabi-compat-version): New.
9416 * c-opts.c (c_common_handle_option): Handle -Wabi=.
9417 (c_common_post_options): Handle flag_abi_compat_version default.
9418 Disallow -fabi-compat-version=1.
9419 * c-common.h (abi_version_crosses): New.
9420
f961457f
JH
94212014-06-11 Jan Hubicka <hubicka@ucw.cz>
9422
adfac8df 9423 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9424 section names that are no longer trees.
9425
92d28cbb
JJ
94262014-06-10 Jakub Jelinek <jakub@redhat.com>
9427
9428 PR fortran/60928
9429 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9430 (omp_pragmas): ... back here.
9431
742938c9
MP
94322014-06-05 Marek Polacek <polacek@redhat.com>
9433
9434 PR c/49706
9435 * c-common.c (warn_logical_not_parentheses): New function.
9436 * c-common.h (warn_logical_not_parentheses): Declare.
9437 * c.opt (Wlogical-not-parentheses): New option.
9438
9d548dfb
MP
94392014-06-04 Marek Polacek <polacek@redhat.com>
9440
9441 PR c/30020
9442 * c-common.c (check_case_bounds): Add location parameter.
9443 Use it.
9444 (c_add_case_label): Pass loc to check_case_bounds.
9445
fedfecef
MP
94462014-06-03 Marek Polacek <polacek@redhat.com>
9447
9448 PR c/60439
9449 * c.opt (Wswitch-bool): New option.
9450
f6a7cffc
TS
94512014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9452
040d18b6
TS
9453 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9454 Remove prototypes.
9455 (record_types_used_by_current_var_decl): Move prototype to where
9456 it belongs.
9457
f6a7cffc
TS
9458 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9459 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9460 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9461
632f2871
RS
94622014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9463
9464 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9465 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9466 void_zero_node.
9467 * c-pretty-print.c (pp_c_void_constant): New function.
9468 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9469 (c_pretty_printer::expression): Handle VOID_CST.
9470 * cilk.c (extract_free_variables): Likewise.
9471 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9472 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9473
766090c2
TS
94742014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9475
9476 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9477 * c-pragma.c (push_alignment): Adjust.
9478 (handle_pragma_push_options): Likewise.
9479
661a0813
MP
94802014-05-09 Marek Polacek <polacek@redhat.com>
9481
9482 PR c/50459
9483 * c-common.c (check_user_alignment): Return -1 if alignment is error
9484 node.
9485 (handle_aligned_attribute): Don't call default_conversion on
9486 FUNCTION_DECLs.
9487 (handle_vector_size_attribute): Likewise.
9488 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9489 (handle_sentinel_attribute): Call default_conversion and allow even
9490 integral types as an argument.
9491
2793eeab
MP
94922014-05-08 Marek Polacek <polacek@redhat.com>
9493
9494 PR c/61053
9495 * c-common.c (min_align_of_type): New function factored out from...
9496 (c_sizeof_or_alignof_type): ...here.
9497 * c-common.h (min_align_of_type): Declare.
9498
f827930a
MP
94992014-05-08 Marek Polacek <polacek@redhat.com>
9500
9501 PR c/61077
9502 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9503 parameter type of main.
9504
ca49b74e
DD
95052014-05-07 DJ Delorie <dj@redhat.com>
9506
9507 * c-cppbuiltin.c (print_bits_of_hex): New.
9508 (builtin_define_type_minmax): Print values using hex so as not to
9509 require a pre-computed list of string values.
9510
1d60af08
KZ
95112014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9512 Mike Stump <mikestump@comcast.net>
9513 Richard Sandiford <rdsandiford@googlemail.com>
9514
9515 * c-ada-spec.c: Include wide-int.h.
9516 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9517 (dump_generic_ada_node): Use wide-int interfaces.
9518 * c-common.c: Include wide-int-print.h.
9519 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9520 (pointer_int_sum): Use wide-int interfaces.
9521 (c_common_nodes_and_builtins): Use make_int_cst.
9522 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9523 (handle_alloc_size_attribute): Use wide-int interfaces.
9524 (get_nonnull_operand): Likewise.
9525 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9526 * c-lex.c: Include wide-int.h.
9527 (narrowest_unsigned_type): Take a widest_int rather than two
9528 HOST_WIDE_INTs.
9529 (narrowest_signed_type): Likewise.
9530 (interpret_integer): Update accordingly. Use wide-int interfaces.
9531 (lex_charconst): Use wide-int interfaces.
9532 * c-pretty-print.c: Include wide-int.h.
9533 (pp_c_integer_constant): Use wide-int interfaces.
9534 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9535 INT_CST_LT_UNSIGNED.
9536
b15458be
RB
95372014-05-06 Richard Biener <rguenther@suse.de>
9538
9539 * c-opts.c (c_common_post_options): For -freestanding,
9540 -fno-hosted and -fno-builtin disable pattern recognition
9541 if not enabled explicitely.
9542
6577374e
MP
95432014-05-02 Marek Polacek <polacek@redhat.com>
9544
9545 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9546
d00887e8
MP
95472014-05-01 Marek Polacek <polacek@redhat.com>
9548
9549 PR c/43245
9550 * c.opt (Wdiscarded-qualifiers): Add.
9551
f8ed5150
MP
95522014-04-30 Marek Polacek <polacek@redhat.com>
9553
9554 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9555 INT_MIN / -1 sanitization only for integer types.
9556
45484dcf
MP
95572014-04-25 Marek Polacek <polacek@redhat.com>
9558
9559 PR c/18079
9560 * c-common.c (handle_noinline_attribute): Warn if the attribute
9561 conflicts with always_inline attribute.
9562 (handle_always_inline_attribute): Warn if the attribute conflicts
9563 with noinline attribute.
9564
38e514c0
MP
95652014-04-25 Marek Polacek <polacek@redhat.com>
9566
9567 PR c/60156
9568 * c-common.c (check_main_parameter_types): Warn about variadic main.
9569
44875f92
MS
95702014-04-24 Mike Stump <mikestump@comcast.net>
9571
9572 * c.opt (Wshadow-ivar): Default to on.
9573
dcaaa5a0
DP
95742014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9575
9576 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9577
c07d7c02
MP
95782014-04-23 Marek Polacek <polacek@redhat.com>
9579
9580 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9581
1c33c9b7
JJ
95822014-04-22 Jakub Jelinek <jakub@redhat.com>
9583
9584 PR sanitizer/60275
9585 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9586 if flag_sanitize_undefined_trap_on_error.
9587 (ubsan_instrument_division, ubsan_instrument_shift,
9588 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9589 if !flag_sanitize_recover.
9590
793c625f
MG
95912014-04-22 Marc Glisse <marc.glisse@inria.fr>
9592
9593 PR libstdc++/43622
9594 * c-common.c (registered_builtin_types): Make non-static.
9595 * c-common.h (registered_builtin_types): Declare.
9596
b0f1bf36 95972014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9598 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9599
9600 PR c/60819
9601 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9602 apply may-alias the scalar pointer type when applicable.
9603
3b07fa4a
IZ
96042014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9605
9606 PR middle-end/60467
9607 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9608 as possible argument for Cilk_spawn.
9609
cbbd2b1c
TB
96102014-04-11 Tobias Burnus <burnus@net-b.de>
9611
9612 PR c/60194
9613 * c.opt (Wformat-signedness): Add
9614 * c-format.c(check_format_types): Use it.
9615
6415bd5d
JM
96162014-04-11 Jason Merrill <jason@redhat.com>
9617
9618 PR c++/57926
9619 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9620 default_conversion for an array argument.
9621
6525783a
MP
96222014-04-08 Marek Polacek <polacek@redhat.com>
9623
9624 PR sanitizer/60745
9625 * c-ubsan.c: Include asan.h.
9626 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9627
880a467b
NS
96282014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9629
9630 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9631
7b59ff2d
MP
96322014-04-02 Marek Polacek <polacek@redhat.com>
9633
9634 * c-common.h (c_expand_expr): Remove declaration.
9635
8edbfaa6
JJ
96362014-03-28 Jakub Jelinek <jakub@redhat.com>
9637
9638 PR c++/60689
9639 * c-common.c (add_atomic_size_parameter): When creating new
9640 params vector, push the size argument first.
9641
07d72e1d
JJ
96422014-03-26 Jakub Jelinek <jakub@redhat.com>
9643
9644 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9645 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9646 ubsan_create_data callers.
9647
b35e0fa0
JJ
96482014-03-22 Jakub Jelinek <jakub@redhat.com>
9649
9650 PR debug/60603
9651 * c-opts.c (c_finish_options): Restore cb_file_change call to
9652 <built-in>.
9653
39a1ebb3
JJ
96542014-03-13 Jakub Jelinek <jakub@redhat.com>
9655
9656 PR middle-end/36282
9657 * c-pragma.c (apply_pragma_weak): Only look at
9658 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9659 DECL_ASSEMBLER_NAME_SET_P (decl).
9660 (maybe_apply_pending_pragma_weaks): Exit early if
9661 vec_safe_is_empty (pending_weaks) rather than only when
9662 !pending_weaks.
9663 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9664 set assembler name back to NULL afterwards.
9665
a07f6ed2
JM
96662014-03-11 Jason Merrill <jason@redhat.com>
9667
9668 * c.opt: Add -std=gnu++14.
9669
75b107f5
IB
96702014-03-11 Ian Bolton <ian.bolton@arm.com>
9671
9672 * c-opts.c (c_common_post_options): Don't override
9673 -ffp-contract=fast if unsafe-math-optimizations is on.
9674
f42c637e
PM
96752014-03-08 Paulo Matos <paulo@matos-sorge.com>
9676
22b15758 9677 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9678
70e24808
JM
96792014-03-07 Jason Merrill <jason@redhat.com>
9680
9681 * c.opt: Add -std=c++14.
9682
3af9c5e9
MP
96832014-03-06 Marek Polacek <polacek@redhat.com>
9684
9685 PR c/60197
9686 * cilk.c (contains_cilk_spawn_stmt): New function.
9687 (contains_cilk_spawn_stmt_walker): Likewise.
9688 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9689 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9690
b3bdf019
JJ
96912014-03-03 Jakub Jelinek <jakub@redhat.com>
9692
9693 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9694 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9695 even when flag_preprocess_only.
9696
ca7e759d
JM
96972014-02-26 Jason Merrill <jason@redhat.com>
9698
9699 PR c++/59231
9700 PR c++/11586
9701 * c-common.c (shorten_compare): Don't check
9702 c_inhibit_evaluation_warnings.
9703
28e41874
JJ
97042014-02-19 Jakub Jelinek <jakub@redhat.com>
9705
cca615af
JJ
9706 PR c/37743
9707 * c-common.c (c_common_nodes_and_builtins): When initializing
9708 c_uint{16,32,64}_type_node, also set corresponding
9709 uint{16,32,64}_type_node to the same value.
9710
28e41874
JJ
9711 PR c++/60267
9712 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9713 for PRAGMA_IVDEP if flag_preprocess_only.
9714
c2bf53a1
JJ
97152014-02-12 Jakub Jelinek <jakub@redhat.com>
9716
9717 PR c/60101
9718 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9719 if false, add ADD itself, rather than vice versa.
9720 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9721 copy. For SAVE_EXPR, only call merge_tlist once.
9722
8fcbce72
JJ
97232014-02-08 Jakub Jelinek <jakub@redhat.com>
9724
9725 PR middle-end/60092
9726 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9727 and tree_to_uhwi.
9728 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9729 functions.
9730 (c_common_attribute_table): Add alloc_align and assume_aligned
9731 attributes.
9732
0a756a3f
MP
97332014-02-06 Marek Polacek <polacek@redhat.com>
9734
9735 PR c/60087
9736 * c-common.c (warn_for_sign_compare): Call warning_at with location
9737 instead of warning.
9738
7ec4847a
MP
97392014-02-05 Marek Polacek <polacek@redhat.com>
9740
9741 PR c/53123
9742 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9743 statement.
9744
66f20604
MP
97452014-02-04 Marek Polacek <polacek@redhat.com>
9746
9747 PR c/60036
9748 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9749 SAVE_EXPR.
9750
5d77fb19
MG
97512014-02-03 Marc Glisse <marc.glisse@inria.fr>
9752
9753 PR c++/53017
9754 PR c++/59211
9755 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9756 handle_vector_size_attribute, handle_nonnull_attribute): Call
9757 default_conversion on the attribute argument.
9758 (handle_nonnull_attribute): Increment the argument number.
9759
81e5eca8
MP
97602014-01-31 Marek Polacek <polacek@redhat.com>
9761
9762 PR c/59963
9763 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9764 build_function_call_vec.
9765 (resolve_overloaded_builtin): Likewise.
9766 * c-common.h (build_function_call_vec): Adjust declaration.
9767
68fca595
MP
97682014-01-30 Marek Polacek <polacek@redhat.com>
9769
9770 PR c/59940
9771 * c-common.h (unsafe_conversion_p): Adjust declaration.
9772 (warnings_for_convert_and_check): Likewise.
9773 (convert_and_check): Likewise.
9774 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9775 expansion_point_location_if_in_system_header on it.
9776 (warnings_for_convert_and_check): Add location parameter. Call
9777 expansion_point_location_if_in_system_header on it. Use it.
9778 (convert_and_check): Add location parameter. Use it.
9779 (conversion_warning): Likewise.
9780 (c_add_case_label): Adjust convert_and_check calls.
9781 (scalar_to_vector): Adjust unsafe_conversion_p calls.
9782
b72271b9
BI
97832014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9784
9785 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9786 flag_cilkplus.
9787 * c-pragma.c (init_pragma): Likewise.
9788 * c.opt: Likewise.
9789
393e8e8b
MP
97902014-01-23 Marek Polacek <polacek@redhat.com>
9791
9792 PR c/59846
9793 * c-common.c (shorten_compare): Add location_t parameter.
9794 * c-common.h (shorten_binary_op): Adjust declaration.
9795
f04dda30
MP
97962014-01-23 Marek Polacek <polacek@redhat.com>
9797
9798 PR c/58346
9799 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9800 * c-common.h: Declare it.
9801
621955cb
EB
98022014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9803
9804 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9805 * c-ada-spec.c (dump_ads): Likewise.
9806 (cpp_check): Likewise.
9807 (dump_ada_specs): Likewise.
9808
98092014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
9810
9811 PR c++/49718
9812 * c-common.c (handle_no_instrument_function_attribute): Allow
9813 no_instrument_function attribute in class member
9814 definition/declaration.
9815
241f845a
JJ
98162014-01-15 Jakub Jelinek <jakub@redhat.com>
9817
9818 PR c/58943
9819 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9820 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
9821 being COMPOUND_EXPR.
9822 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9823 operand a SAVE_EXPR and second MODIFY_EXPR.
9824
e83b8e2e
JJ
98252014-01-09 Jakub Jelinek <jakub@redhat.com>
9826
9827 PR target/58115
9828 * c-pch.c (c_common_write_pch): Call
9829 prepare_target_option_nodes_for_pch.
9830
23a5b65a
RS
98312014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9832
9833 Update copyright years
9834
f9030485
RS
98352014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9836
9837 * array-notation-common.c, c-cilkplus.c: Use the standard form for
9838 the copyright notice.
9839
f2aa696b
EB
98402013-12-28 Eric Botcazou <ebotcazou@adacore.com>
9841
9842 * c-ada-spec.c (print_constructor): New function.
9843 (print_destructor): Retrieve the origin of the destructor.
9844 (print_ada_declaration): Revamp handling of constructors/destructors.
9845
3f8257db 98462013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
9847 Bill Maddox <maddox@google.com>
9848 Jason Merrill <jason@redhat.com>
9849
9850 * c.opt: Add -fdeclone-ctor-dtor.
9851 * c-opts.c (c_common_post_options): Default to on iff -Os.
9852
41958c28
BI
98532013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
9854
9855 * c-common.c (c_common_attribute_table): Added "cilk simd function"
9856 attribute.
9857 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 9858 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
9859 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9860 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9861 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9862 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9863 PRAGMA_CILK_CLAUSE_UNIFORM.
9864
b1726d6c 9865
12893402
BI
98662013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
9867
9868 * cilk.c (cilk_outline): Made this function non-static.
9869 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9870 (create_cilk_wrapper): Added a new parameter: a function pointer.
9871 (c_install_body_w_frame_cleanup): Remove
9872 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9873 * c-common.h (cilk_outline): New prototype.
9874 (gimplify_cilk_spawn): Removed two parameters.
9875 (cilk_install_body_with_frame_cleanup): New prototype.
9876 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9877 CILK_SPAWN_STMT case.
9878
085b42ed
BS
98792013-12-11 Bernd Schmidt <bernds@codesourcery.com>
9880
2ce064c3
BS
9881 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9882
085b42ed
BS
9883 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9884 (int_array_type_node): Remove.
9885 * c-common.c (c_common_nodes_and_builtins): Don't build it.
9886
9e36c9ed
MP
98872013-12-05 Marek Polacek <polacek@redhat.com>
9888
9889 PR c/52023
9890 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9891 [ADJUST_FIELD_ALIGN].
9892
296674db
JM
98932013-12-04 Joseph Myers <joseph@codesourcery.com>
9894
9895 PR c/52023
9896 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9897 and check field alignment if set.
9898 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9899 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9900
b1726d6c 99012013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
9902 Marek Polacek <polacek@redhat.com>
9903
9904 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9905 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9906
d7947e19
L
99072013-11-29 H.J. Lu <hongjiu.lu@intel.com>
9908
9909 PR c/59309
9910 * cilk.c (gimplify_cilk_spawn): Properly handle function without
9911 arguments.
9912
fad7652e
JJ
99132013-11-29 Jakub Jelinek <jakub@redhat.com>
9914
9915 PR c/59280
9916 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9917 goto invalid. If it is error_mark_node, don't issue further
9918 diagnostics.
9919
8b5e1202
SO
99202013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
9921
9922 * c.opt (Wopenmp-simd): New.
9923
0a508bb6
JJ
99242013-11-22 Jakub Jelinek <jakub@redhat.com>
9925
9926 * c-ubsan.h (ubsan_instrument_return): New prototype.
9927 * c-ubsan.c (ubsan_instrument_return): New function.
9928
2fb9a547
AM
99292013-11-22 Andrew MacLeod <amacleod@redhat.com>
9930
9931 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
9932 * c-gimplify.c: Likewise.
9933 * cilk.c: Likewise.
2fb9a547 9934
8400e75e
DM
99352013-11-22 David Malcolm <dmalcolm@redhat.com>
9936
9937 * c-common.c (unsafe_conversion_p): Remove use of
9938 EXPR_LOC_OR_HERE macro.
9939 (conversion_warning): Likewise.
9940 (warnings_for_convert_and_check): Likewise.
9941 (warn_for_collisions_1): Likewise.
9942 (shorten_compare): Likewise, and remove use of in_system_header
9943 macro, using the location from the former.
9944 * c-lex.c (dump_one_header): Remove use of input_filename macro.
9945 (cb_def_pragma): Remove use of in_system_header macro.
9946 (lex_string): Likewise.
9947 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9948
eb1ce453
KZ
99492013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9950 Mike Stump <mikestump@comcast.net>
9951 Richard Sandiford <rdsandiford@googlemail.com>
9952
9953 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9954 instead of TREE_INT_CST_LOW, in cases where there is a protecting
9955 tree_fits_shwi_p or tree_fits_uhwi_p.
9956 (dump_generic_ada_node): Likewise.
9957 * c-format.c (check_format_arg): Likewise.
9958 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9959
6b3b8c27
KZ
99602013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9961
9962 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9963
49b0aa18
JC
99642013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
9965
9966 PR c/53001
9967 * c-common.c (unsafe_conversion_p): Make this function
9968 return an enumeration with more detail.
9969 (conversion_warning): Use the new return type of
9970 unsafe_conversion_p to separately warn either about conversions
9971 that lower floating point number precision or about the other
9972 kinds of conversions.
9973 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
9974 (unsafe_conversion_p): switching return type to
9975 conversion_safety enumeration.
49b0aa18
JC
9976 * c.opt: Adding new warning -Wfloat-conversion and
9977 enabling it with -Wconversion.
9978
b826515a
BS
99792013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
9980
8e745a17
JJ
9981 * c-opts.c: Include plugin.h.
9982 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 9983
b9a55b13
MP
99842013-11-19 Marek Polacek <polacek@redhat.com>
9985
9986 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9987 call.
9988 (ubsan_instrument_shift): Likewise.
9989 (ubsan_instrument_vla): Likewise.
9990
7d362f6c
RS
99912013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9992
9993 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9994 cast to unsigned type.
9995
386b1f1f
RS
99962013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9997
9998 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9999 tree_low_cst.
10000 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10001 rather than tree_low_cst.
10002
ae7e9ddd
RS
100032013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10004
10005 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10006 tree_to_uhwi throughout.
10007
9439e9a1
RS
100082013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10009
10010 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10011 tree_low_cst (..., 0) with tree_to_shwi throughout.
10012
cc269bb6
RS
100132013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10014
10015 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10016 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10017
9541ffee
RS
100182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10019
10020 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10021 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10022
c02065fc
AH
100232013-11-15 Aldy Hernandez <aldyh@redhat.com>
10024
10025 * c-cilkplus.c: New file.
10026 * c-common.c (readonly_error): Add location argument.
10027 * c-common.h (readonly_error): Same.
10028 (c_finish_cilk_clauses): Protoize.
10029 (c_check_cilk_loop): Same.
10030 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10031 Do not fail on error_mark_node.
10032 Abstract increment canonicalization to here...
10033 (c_omp_for_incr_canonicalize_ptr): New.
10034 c-pragma.c (init_pragma): Register "simd" pragma.
10035 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10036 (enum pragma_cilk_clause): New.
10037
9cc65f15
RS
100382013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10039
10040 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10041 wchar_type and host_integerp checks.
10042
18f429e2
AM
100432013-11-14 Andrew MacLeod <amacleod@redhat.com>
10044
10045 * c-common.c: Likewise.
10046 * c-gimplify.c: Likewise.
10047 * cilk.c: Likewise.
10048
d8a2d370
DN
100492013-11-14 Diego Novillo <dnovillo@google.com>
10050
10051 * c-common.c: Include fold-const.h.
10052 Include stor-layout.h.
10053 Include calls.h.
10054 Include stringpool.h.
10055 Include attribs.h.
10056 Include varasm.h.
10057 Include trans-mem.h.
10058 * c-cppbuiltin.c: Include stor-layout.h.
10059 Include stringpool.h.
10060 * c-format.c: Include stringpool.h.
10061 * c-lex.c: Include stringpool.h.
10062 Include stor-layout.h.
10063 * c-pragma.c: Include stringpool.h.
10064 Include attribs.h.
10065 Include varasm.h.
10066 Include gcc-symtab.h.
10067 * c-pretty-print.c: Include stor-layout.h.
10068 Include attribs.h.
10069 * cilk.c: Include stringpool.h.
10070 Include calls.h.
10071
38b7bc7f
JM
100722013-11-13 Joseph Myers <joseph@codesourcery.com>
10073
10074 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10075 * c-common.c (c_common_reswords): Add __auto_type.
10076 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10077
45b0be94
AM
100782013-11-12 Andrew MacLeod <amacleod@redhat.com>
10079
18f429e2
AM
10080 * c-common.c: Include gimplify.h.
10081 * c-gimplify.c: Likewise.
10082 * cilk.c: Likewise.
10083 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10084 * c-ubsan.c: Don't include gimple.h.
45b0be94 10085
582d9b50
JM
100862013-11-12 Joseph Myers <joseph@codesourcery.com>
10087
10088 * c-common.c (c_common_reswords): Add _Thread_local.
10089
6b28e197
JM
100902013-11-09 Joseph Myers <joseph@codesourcery.com>
10091
10092 * c-common.c (atomic_size_supported_p): New function.
10093 (resolve_overloaded_atomic_exchange)
10094 (resolve_overloaded_atomic_compare_exchange)
10095 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10096 Use it instead of comparing size with a local list of sizes.
10097
267bac10
JM
100982013-11-07 Andrew MacLeod <amacleod@redhat.com>
10099 Joseph Myers <joseph@codesourcery.com>
10100
10101 * c-common.h (enum rid): Add RID_ATOMIC.
10102 * c-common.c (c_common_reswords): Add _Atomic.
10103 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10104 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10105 * c-format.c (check_format_types): Check for extra _Atomic
10106 qualifiers in format argument.
10107 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10108 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10109
5157b91e
TB
101102013-11-06 Tobias Burnus <burnus@net-b.de>
10111
10112 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10113
6dbe0958
JM
101142013-11-06 Joseph Myers <joseph@codesourcery.com>
10115
10116 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10117 standards modes.
10118 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10119 to mean lack of IEEE 754 support.
10120
e8ff5196
TB
101212013-11-05 Tobias Burnus <burnus@net-b.de>
10122
10123 * c.opt (-Wdate-time): New option
10124 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10125
254a0760
JM
101262013-11-05 Joseph Myers <joseph@codesourcery.com>
10127
10128 * c-cppbuiltin.c (cpp_iec_559_value): Test
10129 flag_excess_precision_cmdline not flag_excess_precision.
10130
6d7f7e0a
TB
101312013-11-05 Tobias Burnus <burnus@net-b.de>
10132
10133 * c.opt (fopenmp-simd): New option.
10134 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10135 (omp_pragmas): ... this new struct.
10136 (c_pp_lookup_pragma): Also walk omp_pragmas.
10137 (init_pragma): Init pragmas for -fopenmp-simd.
10138
55a7f02f
MP
101392013-11-04 Marek Polacek <polacek@redhat.com>
10140
10141 PR c++/58979
10142 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10143
9193fb05
JM
101442013-11-04 Joseph Myers <joseph@codesourcery.com>
10145
10146 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10147 New functions.
10148 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10149
94159ecf
EB
101502013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10151
10152 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10153 (dump_ada_specs): Adjust prototype of second callback.
10154 * c-ada-spec.c (cpp_check): New global variable.
10155 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10156 (print_generic_ada_decl): Likewise.
10157 (has_static_fields): Change return type to bool and add guard.
10158 (has_nontrivial_methods): New predicate.
10159 (is_tagged_type): Change return type to bool.
10160 (separate_class_package): Call has_nontrivial_methods.
10161 (pp_ada_tree_identifier): Minor tweaks.
10162 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10163 (dump_ada_array_domains): Likewise.
10164 (dump_ada_array_type): Likewise.
10165 (dump_template_types): Remove cpp_check parameter and do not pass it to
10166 dump_generic_ada_node.
10167 (dump_ada_template): Likewise.
10168 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10169 recursively.
10170 (print_ada_methods): Change return type to integer. Remove cpp_check
10171 parameter and do not pass it down.
10172 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10173 dump_generic_ada_node.
10174 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10175 accessing methods.
10176 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10177 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10178 value of print_ada_methods.
10179 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10180 Set cpp_check to it before invoking dump_ada_nodes.
10181 (dump_ada_specs): Likewise.
10182
b906f4ca
MP
101832013-11-03 Marek Polacek <polacek@redhat.com>
10184
10185 * c-ubsan.c: Don't include hash-table.h.
10186 (ubsan_instrument_vla): New function.
10187 * c-ubsan.h: Declare it.
10188
5e20cdc9
DM
101892013-10-31 David Malcolm <dmalcolm@redhat.com>
10190
10191 Automated part of renaming of symtab_node_base to symtab_node.
10192
10193 Patch autogenerated by rename_symtab.py from
10194 https://github.com/davidmalcolm/gcc-refactoring-scripts
10195 revision 58bb219cc090b2f4516a9297d868c245495ee622
10196
10197 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10198 symtab_node_base to symtab_node.
10199
7057e645
ESR
102002013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10201
8e745a17 10202 Implement C++14 digit separators.
7057e645
ESR
10203 * c-lex.c (interpret_float): Remove digit separators from scratch string
10204 before building real literal.
10205
193ea7bc
JJ
102062013-10-30 Jakub Jelinek <jakub@redhat.com>
10207
10208 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10209
939b37da
BI
102102013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10211
10212 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10213 fields.
10214 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10215 enabled.
10216 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10217 (insert_cilk_frame): New prototype.
10218 (cilk_init_builtins): Likewise.
10219 (gimplify_cilk_spawn): Likewise.
10220 (c_cilk_install_body_w_frame_cleanup): Likewise.
10221 (cilk_detect_spawn_and_unwrap): Likewise.
10222 (cilk_set_spawn_marker): Likewise.
10223 (build_cilk_sync): Likewise.
10224 (build_cilk_spawn): Likewise.
10225 * cilk.c: New file.
10226
67348ccc
DM
102272013-10-29 David Malcolm <dmalcolm@redhat.com>
10228
10229 Patch autogenerated by refactor_symtab.py from
10230 https://github.com/davidmalcolm/gcc-refactoring-scripts
10231 revision 58bb219cc090b2f4516a9297d868c245495ee622
10232
10233 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10234 to a true class hierarchy.
10235 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10236
d570872d
RS
102372013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10238
10239 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10240
98906124
JL
102412013-10-26 Jeff Law <law@redhat.com>
10242
adfac8df
JJ
10243 * c-common.c (c_define_builtins): Remove mudflap support.
10244 * c.opt: Ignore and warn for mudflap options.
98906124 10245
d73749df 102462013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10247
10248 PR other/33426
10249 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10250 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10251
3f04b1bb
JM
102522013-10-23 Jason Merrill <jason@redhat.com>
10253
10254 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10255
acf0174b
JJ
102562013-10-11 Jakub Jelinek <jakub@redhat.com>
10257
acd15a28
JJ
10258 * c-common.h (omp_clause_mask::operator !=): New method.
10259 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10260 instead of if (mask & something) tests everywhere.
10261
acf0174b
JJ
10262 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10263 201307 instead of 201107.
10264 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10265 (c_common_attribute_table): Add "omp declare target" and
10266 "omp declare simd" attributes.
10267 (handle_omp_declare_target_attribute,
10268 handle_omp_declare_simd_attribute): New functions.
10269 * c-omp.c: Include c-pragma.h.
10270 (c_finish_omp_taskgroup): New function.
10271 (c_finish_omp_atomic): Add swapped argument, if true,
10272 build the operation first with rhs, lhs arguments and use NOP_EXPR
10273 build_modify_expr.
10274 (c_finish_omp_for): Add code argument, pass it down to make_code.
10275 (c_omp_split_clauses): New function.
10276 (c_split_parallel_clauses): Removed.
10277 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10278 c_omp_declare_simd_clauses_to_decls): New functions.
10279 * c-common.h (omp_clause_mask): New type.
10280 (OMP_CLAUSE_MASK_1): Define.
10281 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10282 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10283 omp_clause_mask::operator |, omp_clause_mask::operator &,
10284 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10285 omp_clause_mask::operator ==): New methods.
10286 (enum c_omp_clause_split): New.
10287 (c_finish_omp_taskgroup): New prototype.
10288 (c_finish_omp_atomic): Add swapped argument.
10289 (c_finish_omp_for): Add code argument.
10290 (c_omp_split_clauses): New prototype.
10291 (c_split_parallel_clauses): Removed.
10292 (c_omp_declare_simd_clauses_to_numbers,
10293 c_omp_declare_simd_clauses_to_decls): New prototypes.
10294 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10295 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10296 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10297 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10298 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10299 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10300 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10301 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10302 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10303 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10304 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10305 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10306 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10307 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10308 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10309 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10310 PRAGMA_OMP_CLAUSE_UNIFORM.
10311
826cacfe
MG
103122013-10-09 Marc Glisse <marc.glisse@inria.fr>
10313
10314 PR tree-optimization/20318
10315 * c-common.c (handle_returns_nonnull_attribute): New function.
10316 (c_common_attribute_table): Add returns_nonnull.
10317
2284b034
MG
103182013-10-03 Marc Glisse <marc.glisse@inria.fr>
10319
10320 PR c++/19476
10321 * c.opt (fcheck-new): Move to common.opt.
10322
b56e9788
MP
103232013-09-25 Marek Polacek <polacek@redhat.com>
10324 Jakub Jelinek <jakub@redhat.com>
10325
10326 PR sanitizer/58413
10327 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10328 an expression if we can prove it is correct.
10329 (ubsan_instrument_division): Likewise. Remove unnecessary
10330 check.
10331
ce6923c5
MP
103322013-09-18 Marek Polacek <polacek@redhat.com>
10333
10334 PR sanitizer/58411
10335 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10336 Declare it.
10337 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10338
fb5610fb
IS
103392013-09-14 Iain Sandoe <iain@codesourcery.com>
10340
10341 PR target/48094
10342 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10343 fobjc-gc, freplace-objc-classes): Accept for LTO.
10344
88b0e79e
JC
103452013-09-13 Jacek Caban <jacek@codeweavers.com>
10346
10347 * c-target.def: New hook
10348
c9b0866a
PC
103492013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10350
10351 PR c++/43452
10352 * c.opt (Wdelete-incomplete): Add.
10353
0af94e6f
JR
103542013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10355
10356 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10357 (vector_types_compatible_elements_p): New function.
10358 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10359 declaration.
10360 (vector_types_compatible_elements_p): Declare.
10361
7c26172c
GDR
103622013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10363
10364 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10365 a virtual member function.
10366 (pp_simple_type_specifier): Remove.
10367 (pp_c_type_specifier): Likewise.
10368 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10369 Rename from pp_c_type_specifier. Adjust.
10370 (c_pretty_printer::c_pretty_printer): Do not assign to
10371 simple_type_specifier.
10372
20059c8b
GDR
103732013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10374
10375 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10376 member function.
10377 (c_pretty_printer::storage_class_specifier): Likewise.
10378 (c_pretty_printer::initializer): Likewise.
10379 (pp_declaration): Remove.
10380 (pp_declaration_specifiers): Likewise.
10381 (pp_abstract_declarator): Likewise.
10382 (pp_declarator): Likewise.
10383 (pp_type_id): Likewise.
10384 (pp_statement): Likewise.
10385 (pp_constant): Likewise.
10386 (pp_id_expression): Likewise.
10387 (pp_primary_expression): Likewise.
10388 (pp_unary_expression): Likewise.
10389 (pp_multiplicative_expression): Likewise.
10390 (pp_conditional_expression): Likewise.
10391 (pp_assignment_expression): Likewise.
10392 (pp_expression): Likewise.
10393 (pp_c_type_id): Likewise.
10394 (pp_c_storage_class_specifier): Likewise.
10395 * c-pretty-print.c (pp_c_type_cast): Tidy.
10396 (pp_c_pointer): Likewise.
10397 (pp_c_type_specifier): Likewise.
10398 (pp_c_parameter_type_list): Likewise.
10399 (pp_c_function_definition): Likewise.
10400 (pp_c_init_declarator): Likewise.
10401 (pp_c_initializer_list): Likewise.
10402 (pp_c_constructor_elts): Likewise.
10403 (c_pretty_printer::direct_abstract_declarator): Likewise.
10404 (c_pretty_printer::declaration_specifiers): Likewise.
10405 (c_pretty_printer::primary_expression): Likewise.
10406 (c_pretty_printer::postfix_expression): Likewise.
10407 (c_pretty_printer::type_id): Rename from pp_c_type_id.
10408 (c_pretty_printer::storage_class_specifier): Rename from
10409 pp_c_storage_class_specifier.
10410 (c_pretty_printer::initializer): Rename from pp_c_initializer.
10411 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10412 storage_class_specifier, initializer, offset_list, flags.
10413
de5a5fa1
MP
104142013-08-30 Marek Polacek <polacek@redhat.com>
10415
10416 * c-ubsan.c: New file.
10417 * c-ubsan.h: New file.
10418
8f0e4d72
GDR
104192013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10420
10421 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10422 member function.
10423 (c_pretty_printer::declaration_specifiers): Likewise.
10424 (c_pretty_printer::declarator): Likewise.
10425 (c_pretty_printer::abstract_declarator): Likewise.
10426 (c_pretty_printer::direct_abstract_declarator): Likewise.
10427 (c_pretty_printer::direct_declarator): Likewise.
10428 (c_pretty_printer::function_specifier): Likewise.
10429 (pp_declaration): Adjust.
10430 (pp_declaration_specifiers): Likewise.
10431 (pp_abstract_declarator): Likewise.
10432 (pp_direct_declarator): Likewise.
10433 (pp_function_specifier): Likewise.
10434 (pp_direct_abstract_declarator): Remove as unused.
10435 (pp_c_declaration): Remove.
10436 (pp_c_declaration_specifiers): Likewise.
10437 (pp_c_declarator): Likewise.
10438 (pp_c_direct_declarator): Likewise.
10439 (pp_c_function_specifier): Likewise.
10440 (pp_c_direct_abstract_declarator): Likewise.
10441 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10442 from pp_c_abstract_declarator. Adjust.
ab20d992 10443 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10444 pp_c_direct_abstract_declarator. Adjust.
10445 (c_pretty_printer::function_specifier): Rename from
10446 pp_c_function_specifier. Adjust.
10447 (c_pretty_printer::declaration_specifiers): Rename from
10448 pp_c_declaration_specifiers. Adjust.
10449 (c_pretty_printer::direct_declarator): Rename from
10450 pp_c_direct_declarator. Adjust.
10451 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10452 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10453 (c_pretty_printer::c_pretty_printer): Do not assign to
10454 declaration, declaration_specifiers, declarator,
10455 direct_declarator, direct_abstract_declarator, function_specifier.
10456
00d34d3a
GDR
104572013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10458
10459 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10460 virtual member function.
10461 (c_pretty_printer::multiplicative_expression): Likewise.
10462 (c_pretty_printer::conditional_expression): Likewise.
10463 (c_pretty_printer::assignment_expression): Likewise.
10464 (c_pretty_printer::expression): Likewise.
10465 (pp_unary_expression): Adjust.
10466 (pp_multiplicative_expression): Likewise.
10467 (pp_assignment_expression): Likewise.
10468 (pp_conditional_expression): Likewise.
10469 (pp_expression): Likewise.
10470 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10471 from pp_c_unary_expression. Adjust.
10472 (c_pretty_printer::multiplicative_expression): Rename from
10473 pp_c_multiplicative_expression. Adjust.
10474 (c_pretty_printer::conditional_expression): Rename from
10475 pp_c_conditional_expression. Adjust.
10476 (c_pretty_printer::assignment_expression): Rename from
10477 pp_c_assignment_expression. Adjust.
10478 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10479 (c_pretty_printer::c_pretty_printer): Do not assign to
10480 unary_expression, multiplicative_expression,
10481 conditional_expression, expression.
10482
fb22178f
GDR
104832013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10484
10485 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10486 virtual member function.
10487 (pp_postfix_expression): Adjust.
10488 (pp_c_postfix_expression): Remove.
10489 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10490 from pp_c_postfix_expression. Adjust.
10491 (c_pretty_printer::c_pretty_printer): Do not assign to
10492 postfix_expression.
10493
7ecc2600
GDR
104942013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10495
10496 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10497 virtua member function.
10498 (pp_primary_expression): Adjust.
10499 (pp_c_primary_expression): Remove.
10500 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10501 from pp_c_primary_expression. Adjust.
10502 (pp_c_initializer_list): Use pp_primary_expression.
10503 (c_pretty_printer::c_pretty_printer): Do not assign to
10504 primary_expression.
10505
0691175f
GDR
105062013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10507
10508 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10509 * c-pretty-print.c (M_): Remove.
10510 (c_pretty_printer::translate_string): Define.
10511 (pp_c_type_specifier): Use it.
10512 (pp_c_primary_expression): Likewise.
10513 (pp_c_expression): Likewise.
10514
66dfe4c4
GDR
105152013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10516
10517 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10518 virtual function.
10519 (pp_c_id_expression): Remove.
10520 (pp_id_expression): Adjust.
10521 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10522 pp_c_id_expression. Adjust.
10523 (pp_c_postfix_expression): Use pp_id_expression.
10524 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10525
ca43e9d5
GDR
105262013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10527
10528 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10529 member function.
10530 (pp_constant): Adjust.
10531 (pp_c_constant): Remove.
10532 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10533 pp_c_constant. Adjust.
10534 (pp_c_constant)
10535 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10536 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10537
da6ca2b5
GDR
105382013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10539
10540 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10541 (c_pretty_printer::c_pretty_printer): Declare.
10542 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10543 c_pretty_printer_init. Adjust.
10544 (print_c_tree): Do not call c_pretty_printer_init.
10545 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10546
65a372f4
AC
105472013-08-09 Arnaud Charlet <charlet@adacore.com>
10548
10549 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10550
fd9b0f32
PC
105512013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10552
10553 PR c++/58080
10554 * c-common.c (pointer_int_sum): Add bool parameter.
10555 * c-common.h (pointer_int_sum): Adjust declaration.
10556
e0aec1e9
GDR
105572013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10558
10559 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10560 c_pretty_printer variable.
10561
b066401f
GDR
105622013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10563
10564 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10565 (pp_base): Remove.
10566 (pp_c_base): Likewise. Adjust users.
10567 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10568 (pp_c_whitespace): Do not call pp_base.
10569 (pp_c_left_paren): Likewise.
10570 (pp_c_right_paren): Likewise.
10571 (pp_c_left_brace): Likewise.
10572 (pp_c_right_brace): Likewise.
10573 (pp_c_left_bracket): Likewise.
10574 (pp_c_right_bracket): Likewise.
10575 (pp_c_dot): Likewise.
10576 (pp_c_ampersand): Likewise.
10577 (pp_c_star): Likewise.
10578 (pp_c_arrow): Likewise.
10579 (pp_c_semicolon): Likewise.
10580 (pp_c_complement): Likewise.
10581 (pp_c_exclamation): Likewise.
10582 (pp_c_direct_declarator): Likewise.
10583 (pp_c_ws_string): Likewise.
10584 (pp_c_identifier): Likewise.
10585 (pp_c_statement): Likewise.
10586 (print_c_tree): Likewise.
10587
65e5a578
ESR
105882013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10589
10590 PR c++/58072
10591 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10592 provide useful error strings.
10593
137a1a27
GDR
105942013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10595
10596 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10597 printer functions instead of pp_string or operators and punctuators.
10598 (dump_generic_ada_node): Likewise.
10599 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10600 (pp_c_relational_expression): Likewise.
10601 (pp_c_logical_or_expression): Likewise.
10602
07838b13
GDR
106032013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10604
10605 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10606 functions instead of pp_character.
10607 (pp_ada_tree_identifier): Likewise.
10608 (dump_ada_double_name): Likewise.
10609 (dump_ada_function_declaration): Likewise.
10610 (dump_ada_array_domains): Likewise.
10611 (dump_template_types): Likewise.
10612 (dump_generic_ada_node): Likewise.
10613 (print_ada_declaration): Likewise.
10614 (print_ada_struct_decl): Likewise.
10615 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10616
433cc7b0
TT
106172013-07-23 Tom Tromey <tromey@redhat.com>
10618
10619 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10620 * c-common.c (c_common_reswords): Add _Generic.
10621
688010ba
OB
106222013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10623
10624 * c-common.c: Fix typos.
10625 * c-common.h: Likewise.
10626
2a99e5e6
LL
106272013-07-13 Lubos Lunak <l.lunak@suse.cz>
10628
10629 PR c++/55203
10630 * c-common.c (c_common_attribute_table): Add warn_unused.
10631 (handle_warn_unused_attribute): New.
10632
c26302d5
JJ
106332013-07-10 Jakub Jelinek <jakub@redhat.com>
10634
10635 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10636 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10637
dfeadaa0
PC
106382013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10639
10640 PR c++/57869
10641 * c.opt: Add Wconditionally-supported.
10642
6a2fa4b2
GS
106432013-07-08 Graham Stott <graham.stott@btinternet.com>
10644
adfac8df 10645 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10646 unused variables l_length and l_node.
10647
ecdbd01a 106482013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10649
10650 PR c/57821
10651 * c-common.c (complete_array_type): Delay folding first index
10652 like other indices. When folding, check for index overflow.
10653
bedc293e
MG
106542013-06-27 Marc Glisse <marc.glisse@inria.fr>
10655
10656 PR c++/57509
10657 * c-common.h (c_build_vec_perm_expr): New complain argument.
10658 * c-common.c (c_build_vec_perm_expr): Likewise.
10659 Use save_expr also in C++.
10660
604b2bfc
GDR
106612013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10662
10663 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10664 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10665 * c-opts.c (c_common_post_options): Likewise.
10666
dfeadaa0 106672013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10668
10669 * array-notation-common.c (length_mismatch_in_expr): Changed the
10670 parameter type's from a dynamic array to a vec_tree. Also removed
10671 the size parameters.
10672 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10673 the change above.
10674
2ce86d2e
BI
106752013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10676
10677 * c-common.h (struct cilkplus_an_parts): New structure.
10678 (struct cilkplus_an_loop_parts): Likewise.
10679 (cilkplus_extract_an_triplets): New prototype.
10680 (fix_sec_implicit_args): Likewise.
10681 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10682 (fix_sec_implicit_args): Likewise.
604b2bfc 10683
07a6825b
BI
106842013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10685
10686 * array-notation-common.c (find_inv_trees): Removed an unwanted
10687 typecasting.
10688 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10689 enum rid to enum tree_code.
10690
08346abd
JH
106912013-06-11 Jan Hubicka <jh@suse.cz>
10692
10693 * c-common.c (handle_alias_ifunc_attribute): Do not set
10694 DECL_EXTERNAL for weakref variables.
10695 * c-pragma.c (handle_pragma_weak): Make sure aliases
10696 are not declared as external.
10697
d60f1706
BI
106982013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10699
10700 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10701 function from c/c-array-notation.c.
10702 (is_cilkplus_reduce_builtin): Likewise.
10703 (find_rank): Likewise.
10704 (extract_array_notation_exprs): Likewise.
10705 (replace_array_notations): Likewise.
10706 (find_inv_trees): Likewise.
10707 (replace_inv_trees): Likewise.
10708 (contains_array_notation_expr): Likewise.
10709 (find_correct_array_notation_type): Likewise.
10710 * c-common.h (struct inv_list): Moved this struct from the file
10711 c/c-array-notation.c and added a new field called additional tcodes.
10712 (length_mismatch_in_expr_p): New prototype.
10713 (is_cilkplus_reduce_builtin): Likewise.
10714 (find_rank): Likewise.
10715 (extract_array_notation_exprs): Likewise.
10716 (replace_array_notation): Likewise.
10717 (find_inv_trees): Likewise.
10718 (replace_inv_trees): Likewise.
10719 (find_correct_array_notation_type): Likewise.
dfeadaa0 10720
36536d79
BI
107212013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10722
10723 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10724 function array_notation_init_builtins is called.
10725 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10726 * c-common.def (ARRAY_NOTATION_REF): New tree.
10727 * c-common.h (build_array_notation_expr): New function declaration.
10728 (build_array_notation_ref): Likewise.
10729 (extract_sec_implicit_index_arg): New extern declaration.
10730 (is_sec_implicit_index_fn): Likewise.
10731 (ARRAY_NOTATION_CHECK): New define.
10732 (ARRAY_NOTATION_ARRAY): Likewise.
10733 (ARRAY_NOTATION_START): Likewise.
10734 (ARRAY_NOTATION_LENGTH): Likewise.
10735 (ARRAY_NOTATION_STRIDE): Likewise.
10736 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10737 ARRAY_NOTATION_REF.
10738 (pp_c_expression): Likewise.
10739 * c.opt (flag_enable_cilkplus): New flag.
10740 * array-notation-common.c: New file.
10741
f7716d57
JJ
107422013-05-14 Jakub Jelinek <jakub@redhat.com>
10743
10744 PR c++/57274
10745 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10746
a5e0cd1d
MG
107472013-05-10 Marc Glisse <marc.glisse@inria.fr>
10748
10749 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10750 vectors.
10751
f6bc1c4a
HS
107522013-05-07 Han Shen <shenhan@google.com>
10753
10754 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10755
3f12f6e9
SKS
107562013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10757
10758 * c-common.c (check_user_alignment): Emit error for negative values.
10759
61949153
PC
107602013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10761
10762 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10763
e93e18e9
PC
107642013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10765
10766 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10767 __GXX_EXPERIMENTAL_CXX1Y__.
10768
44d90fe1 107692013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10770 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10771
10772 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10773 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10774 to simply use OPT_Wpointer_arith.
10775 (c_sizeof_or_alignof_type): Likewise.
10776
13f39b2e
PC
107772013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10778
10779 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10780
4b84d650
JJ
107812013-04-12 Jakub Jelinek <jakub@redhat.com>
10782
10783 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10784 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10785 specifiers.
10786
fb037b5d
SB
107872013-04-07 Steven Bosscher <steven@gcc.gnu.org>
10788
10789 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10790
4e856798
PC
107912013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
10792
10793 * c-common.c (pointer_int_sum): Remove dead code.
10794
4b1baac8
RS
107952013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
10796
10797 PR middle-end/56524
10798 * c-common.c (handle_optimize_attribute): Don't call
10799 save_optabs_if_changed.
10800
0b50e654
JJ
108012013-03-05 Jakub Jelinek <jakub@redhat.com>
10802
10803 PR middle-end/56461
10804 * c-pch.c (pch_init): Free target_validity at the end.
10805
48c41403
JJ
108062013-03-04 Jakub Jelinek <jakub@redhat.com>
10807
10808 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10809
e664c61c
KS
108102013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
10811 Jakub Jelinek <jakub@redhat.com>
10812
10813 PR sanitizer/56454
10814 * c-common.c (handle_no_sanitize_address_attribute): New function.
10815 (c_common_attribute_table): Add no_sanitize_address attribute.
10816 (handle_no_address_safety_analysis_attribute): Add
10817 no_sanitize_address attribute, not no_address_safety_analysis
10818 attribute.
10819
a475fd3d 108202013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
10821
10822 PR target/52555
10823 * c-common.c (handle_optimize_attribute): Call
10824 save_optabs_if_changed.
10825
f6007d99
JJ
108262013-02-18 Jakub Jelinek <jakub@redhat.com>
10827 Steven Bosscher <steven@gcc.gnu.org>
10828
10829 PR pch/54117
10830 * c-opts.c (c_common_post_options): If debug info is enabled
10831 and non-dwarf*, refuse to load PCH files and when writing PCH
10832 file warn.
10833
cf35e2b1
JJ
108342013-02-05 Jakub Jelinek <jakub@redhat.com>
10835
10836 PR middle-end/56167
10837 * c-common.c (handle_error_attribute): Fix condition.
10838
32887460
JJ
108392013-01-30 Jakub Jelinek <jakub@redhat.com>
10840
10841 PR c++/55742
10842 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10843
5af057d8
JM
108442013-01-18 Jason Merrill <jason@redhat.com>
10845
10846 PR target/54908
10847 * c.opt (-fextern-tls-init): New.
10848 * c-opts.c (c_common_post_options): Handle it.
10849
cc83c823
JJ
108502013-01-09 Jakub Jelinek <jakub@redhat.com>
10851
10852 PR c/48418
10853 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10854 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10855 and is either negative or bigger or equal to type precision
10856 of the first operand.
10857
a859517f
MP
108582012-12-03 Marek Polacek <polacek@redhat.com>
10859
10860 PR c/55570
10861 * c-common.c (check_user_alignment): Swap order of tests,
10862 check TREE_CODE first.
10863
2d7aa578
ESR
108642012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
10865
10866 PR c++/52654
10867 * c-common.h (overflow_type): New enum.
10868 (build_userdef_literal): Add overflow_type argument.
10869 (tree_userdef_literal): Add overflow_type.
10870 (USERDEF_LITERAL_OVERFLOW): New access macro.
10871 * c-common.c (build_userdef_literal): Add overflow_type
10872 argument.
10873 * c-lex.c (c_lex_with_flags): Add overflow_type to
10874 build_userdef_literal calls.
10875 (interpret_integer, interpret_float): Add overflow_type argument.
10876
cc3c4f62
RB
108772012-11-28 Richard Biener <rguenther@suse.de>
10878
10879 PR c/35634
10880 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10881 here and use a type with proper overflow behavior for types that would
10882 need to be promoted for the arithmetic.
10883
77bc5132
JJ
108842012-11-23 Jakub Jelinek <jakub@redhat.com>
10885
10886 PR sanitizer/55435
10887 * c-common.c (handle_no_address_safety_analysis_attribute): New
10888 function.
10889 (c_common_attribute_table): Add no_address_safety_analysis.
10890
5dc99c46
SB
108912012-11-16 Simon Baldwin <simonb@google.com>
10892
10893 * c.opt: Add f[no-]canonical-system-headers.
10894 * c-opts.c (c_common_handle_option): Handle
10895 OPT_fcanonical_system_headers.
10896
a4a0016d
ESR
108972012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
10898
10899 PR c++/54413
10900 * c-opts.c (c_common_handle_option): Set new flags.
10901 * c.opt: Describe new flags.
10902
7dbb85a7
JM
109032012-11-09 Jason Merrill <jason@redhat.com>
10904
10905 * c.opt (Wabi-tag): New.
10906
ad7bac31
AK
109072012-11-09 Andi Kleen <ak@linux.intel.com>
10908
10909 PR 55139
10910 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 10911 MEMMODEL_MASK
ad7bac31 10912
7332899a
MLI
109132012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10914
10915 PR c/53063
10916 * c.opt (Wformat): Make it Alias Wformat=1.
10917 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10918 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10919 LangEnabledBy.
10920 (Wformat=): RejectNegative. Use LangEnabledBy.
10921 (Wnonnull): Use LangEnabledBy.
10922 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10923 * c-format.c (set_Wformat): Delete.
10924 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
10925 (maybe_read_dollar_number): Likewise.
10926 (avoid_dollar_number): Likewise.
10927 (finish_dollar_format_checking): Likewise.
10928 (check_format_info): Likewise.
10929 (check_format_info_main): Likewise.
10930 (check_format_types): Likewise.
10931 (format_type_warning): Likewise.
10932 * c-common.c (int): Likewise.
10933 (check_function_sentinel): Likewise.
8e745a17 10934 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 10935
34a180a6
MLI
109362012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10937
10938 PR c/53063
10939 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10940 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10941 Use LangEnabledBy.
10942 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10943 common.opt.
10944 (Wvariadic-macros): Init(1).
10945 * c-opts.c (c_common_handle_option): Do not handle them
10946 explicitly.
10947 (c_common_post_options): Likewise.
10948 (sanitize_cpp_opts): warn_unused_macros is now
10949 cpp_warn_unused_macros.
10950 (push_command_line_include): Likewise.
10951 * c-common.c (warn_unknown_pragmas): Do not define.
10952 * c-common.h (warn_unknown_pragmas): Do not declare.
10953
3f46d6a5
MLI
109542012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10955
10956 PR c/51294
10957 * c-common.c (conversion_warning): Handle conditional expressions.
10958
880661a4
JW
109592012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
10960
10961 PR c++/54930
10962 * c.opt (Wreturn_local_addr): Define new option.
10963
4514a96b
JM
109642012-10-25 Jason Merrill <jason@redhat.com>
10965
f14edc1a
JM
10966 * c.opt (Wvirtual-move-assign): New.
10967
4514a96b
JM
10968 * c.opt (Winherited-variadic-ctor): New.
10969
93100c6b
MG
109702012-10-25 Marc Glisse <marc.glisse@inria.fr>
10971
10972 PR c++/54427
10973 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10974
1efcb8c6
JM
109752012-10-23 Joseph Myers <joseph@codesourcery.com>
10976
10977 * c-common.h (pch_cpp_save_state): Declare.
10978 * c-target.def (c_preinclude): New hook.
10979 * c-opts.c (done_preinclude): New.
10980 (push_command_line_include): Handle default preincluded header.
10981 (cb_file_change): Call pch_cpp_save_state when calling
10982 push_command_line_include.
10983 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10984 (pch_cpp_save_state): New.
10985 (pch_init): Call pch_cpp_save_state conditionally, instead of
10986 calling cpp_save_state.
10987
4a0ae68e
MLI
109882012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10989
10990 PR c/53063
10991 PR c/40989
10992 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10993 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10994 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10995 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10996 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10997 * c-opts.c (c_common_handle_option): Remove explicit handling from
10998 here.
10999 (c_common_post_options): Likewise.
11000
67e4210b
EB
110012012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11002
11003 * c-ada-spec.c (LOCATION_COL): Delete.
11004 (compare_location): New function.
11005 (compare_node): Use it.
11006 (compare_comment): Likewise.
11007
65d4f2cd
MLI
110082012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11009
11010 PR c/53063
11011 PR c/40989
11012 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11013 * c-opts.c (c_common_handle_option): Do not set them here. Add
11014 comment.
11015 (c_common_post_options): Likewise.
11016
909881cb
EB
110172012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11018
11019 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11020 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11021 Remove POINTER_TYPE handling, add large unsigned handling and use
11022 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11023
3a785c97
JJ
110242012-10-12 Jakub Jelinek <jakub@redhat.com>
11025
11026 PR c/54381
11027 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11028 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11029 locs and array of 3 trees instead of just single loc and single
11030 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11031 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11032 For *cmp* builtins that take two sources strings report warnings
11033 about first and second source, not about destination and source.
11034
5e54f81d
MG
110352012-10-12 Marc Glisse <marc.glisse@inria.fr>
11036
11037 PR c++/53055
11038 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11039
f5b02f1e
EB
110402012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11041
11042 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11043 declaring something coming from another file.
11044
b46dbc6c
AC
110452012-10-10 Arnaud Charlet <charlet@adacore.com>
11046
f5b02f1e 11047 PR ada/54845
b46dbc6c
AC
11048 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11049
5d9de0d0
PC
110502012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11051
11052 PR c++/54194
11053 * c-common.c (warn_about_parentheses): Add location_t parameter;
11054 use EXPR_LOC_OR_LOC.
11055 * c-common.h: Update declaration.
11056
a212e43f
MG
110572012-10-09 Marc Glisse <marc.glisse@inria.fr>
11058
11059 PR c++/54427
11060 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11061 more operations. Make error messages optional.
11062 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11063 (scalar_to_vector): Declare.
11064
b1db7f91
JM
110652012-10-08 Jason Merrill <jason@redhat.com>
11066
11067 * c-common.c (c_common_reswords): Add thread_local.
11068
e28d52cf
DS
110692012-10-08 Dodji Seketeli <dodji@redhat.com>
11070
11071 PR c++/53528 C++11 attribute support
11072 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11073 new functions.
11074 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11075 static function.
11076 (handle_aligned_attribute): In choose strictest alignment
11077 among many. Use new check_cxx_fundamental_alignment_constraints.
11078 (handle_transparent_union_attribute): In c++11 attribute syntax,
11079 don't look through typedefs.
11080
3b78de56
AC
110812012-10-04 Arnaud Charlet <charlet@adacore.com>
11082
11083 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11084 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11085 out of dumpfile.h.
11086
6040bb5f
DC
110872012-09-25 Dehao Chen <dehao@google.com>
11088
11089 PR middle-end/54645
3b78de56 11090 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11091 map when read in the pch.
11092
3f8257db 110932012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11094
11095 * c-ada-spec.c: Style fixes.
11096
3f8257db 110972012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11098
11099 * c.opt (-fada-spec-parent): Define new command line switch.
11100 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11101 is specified, generate binding spec as a child of the specified unit.
11102
0ccb505d
PC
111032012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11104 Manuel López-Ibáñez <manu@gcc.gnu.org>
11105
11106 PR c++/53210
11107 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11108
c583af79
AC
111092012-08-23 Arnaud Charlet <charlet@adacore.com>
11110
11111 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11112 for pointers, and add missing Convention C pragma.
11113 (print_ada_struct_decl): Add missing aliased keyword.
11114 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11115
1a4049e7
JJ
111162012-08-17 Jakub Jelinek <jakub@redhat.com>
11117
11118 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11119 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11120 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11121 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11122 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11123
70b5e7dc
RG
111242012-08-10 Richard Guenther <rguenther@suse.de>
11125
11126 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11127
f8923f7e
SB
111282012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11129
11130 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11131 instead of separate pp_newline and pp_flush.
11132 (print_c_tree): Likewise.
11133
e45abe1f
RH
111342012-07-26 Richard Henderson <rth@redhat.com>
11135
11136 * c-common.c (handle_hot_attribute): Allow labels.
11137 (handle_cold_attribute): Likewise.
11138
332f1d24
JJ
111392012-07-20 Jakub Jelinek <jakub@redhat.com>
11140
11141 PR c++/28656
11142 * c-common.c (check_function_nonnull): Handle multiple nonnull
11143 attributes properly.
11144
7ee2468b
SB
111452012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11146
11147 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11148 * c-ada-spec.c: Likewise.
11149 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11150
ee7b28eb
SB
111512012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11152
11153 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11154 Remove code conditional on it.
11155
6bdf3519
SB
111562012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11157
11158 * c-gimplify.c: Do not include basic-block.h.
11159 * c-common.c: Do not include linfuncs.h.
11160
532aafad
SB
111612012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11162
11163 * c-common.h: Include tree.h.
11164
8d0d1915
JM
111652012-07-02 Jason Merrill <jason@redhat.com>
11166
11167 PR c++/53524
11168 * c-common.c (get_priority): Call default_conversion.
11169
fbc873ad
UB
111702012-07-01 Uros Bizjak <ubizjak@gmail.com>
11171
11172 * c-pch.c (c_common_write_pch): Remove unused variables.
11173
d4a10d0a
SB
111742012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11175
11176 * cppspec.c: Moved from gcc/ to here.
11177
6f3a2e23
KT
111782012-06-27 Kai Tietz <ktietz@redhat.com>
11179
11180 PR preprocessor/37215
11181 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11182
8ca92d04
SB
111832012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11184
11185 * c-common.h (c_common_print_pch_checksum): Remove.
11186 * c-pch.c: Do not include output.h.
11187 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11188 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11189 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11190 (struct c_pch_header): Remove.
11191 (get_ident): Update gpch version.
11192 (pch_init): Do not print executable_checksum to asm_out_file.
11193 Do not fail if there is no asm_out_file to read back from. Set
11194 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11195 (c_common_write_pch): Verify that nothing was written to asm_out_file
11196 since pch_init was called. Do not write a c_pch_header, and do not
11197 copy from asm_out_file to the PCH.
11198 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11199 the content of asm_out_file from the PCH.
11200 (c_common_print_pch_checksum): Remove.
11201 * c-opts.c (c_common_init): Print out executable_checksum directly.
11202
70f42967
SB
112032012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11204
11205 * c-target.def (objc_declare_unresolved_class_reference,
11206 objc_declare_class_definition): Add new hooks.
11207
a8781821
SB
112082012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11209
11210 * c-lex.c: Do not include output.h.
11211 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11212 Remove uses of ASM_OUTPUT_IDENT.
11213
9e1a8dd1
RR
112142012-06-15 Marc Glisse <marc.glisse@inria.fr>
11215
11216 PR c++/51033
11217 * c-common.h (c_build_vec_perm_expr): Move decl here.
11218 * c-common.c (c_build_vec_perm_expr): Move definition
11219 here.
11220
6f07a821
SB
112212012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11222
11223 * c.opt (fconserve-space): Turn into a no-op.
11224
9faeb493 112252012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11226
11227 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11228 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11229 both the start and end of the function.
11230
a4b7d13c
SB
112312012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11232
11233 * c-common.c: Do not include output.h.
11234 * c-pragma.c: Likewise.
11235
c265f413
SA
112362012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11237
11238 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11239 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11240 (lang_decl_name): Handle namespace decls.
11241
be7a421e
SB
112422012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11243
11244 * c-ada-spec.c: Do not include output.h.
11245 * c-semantics.c: Likewise.
11246
65de6659
JM
112472012-05-29 Joseph Myers <joseph@codesourcery.com>
11248
11249 * c-common.c: Fix typo.
11250
ca5f4331
MM
112512012-05-29 Michael Matz <matz@suse.de>
11252
11253 * c-common.h (c_expand_decl): Remove prototype.
11254
4f7f7aca
MLI
112552012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11256
11257 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11258 * c-opts.c (c_common_handle_option): Remove code handling
11259 warn_missing_braces.
11260
4a792f9b
PC
112612012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11262
11263 PR c++/25137
11264 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11265 -Wmissing_braces.
11266
650dc14a
DS
112672012-05-22 Dodji Seketeli <dodji@redhat.com>
11268
11269 PR c++/53322
11270 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11271
9b095bf1
MLI
112722012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11273
11274 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11275 * c-opts.c (c_common_handle_option): Do not handle explicitly
11276 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11277
0b2c4be5
DS
112782012-05-16 Dodji Seketeli <dodji@redhat.com>
11279
11280 PR preprocessor/7263
ab20d992 11281 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11282 to cpp_classify_number. For diagnostics, use the precise location
11283 instead of the global input_location.
11284
a1bde5af
PC
112852012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11286
d02924ef 11287 PR c++/11856
a1bde5af
PC
11288 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11289
d1ede5f4
BS
112902012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11291
a1bde5af 11292 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11293
f2bc201f
MLI
112942012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11295
11296 PR 53063
11297 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11298 Wreorder): Use LangEnabledBy.
11299 * c-opts.c (c_common_handle_option): Do not enable them
11300 explicitly. Call lang-specific generated functions.
11301 (c_common_post_options): Do not set them here.
11302
95744782
MLI
113032012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11304
11305 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11306 Wmissing-field-initializers,Wmissing-parameter-type,
11307 Wold-style-declaration,Woverride-init): Use EnabledBy.
11308 * c-opts.c (c_common_post_options): Do not set here explicitly.
11309
7d5a5747
MLI
113102012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11311
11312 PR 53063
11313 * c-opts.c (c_common_handle_option): Use handle_generated_option
11314 to enable sub-options.
11315
5a3c9cf2
PC
113162012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11317
11318 PR c++/53158
11319 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11320
3ac8781c
RG
113212012-05-10 Richard Guenther <rguenther@suse.de>
11322
11323 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11324 adjust commentary about TYPE_IS_SIZETYPE types.
11325
1e537948
MLI
113262012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11327
11328 PR c++/53261
11329 * c-common.c (warn_logical_operator): Check that argument of
11330 integer_zerop is not NULL.
11331
f2c4a785
MLI
113322012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11333
11334 PR c/43772
11335 * c-common.c (warn_logical_operator): Do not warn if either side
11336 is already true or false.
11337
50f305ca
MLI
113382012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11339
11340 PR c/51712
11341 * c-common.c (expr_original_type): New.
11342 (shorten_compare): Do not warn for enumeration types.
11343
0c3641b0
MLI
113442012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11345
11346 * c.opt (fpermissive): Add Var(flag_permissive).
11347
7edaa4d2
MG
113482012-04-30 Marc Glisse <marc.glisse@inria.fr>
11349
11350 PR c++/51033
11351 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11352 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11353
b9c8da34
DS
113542012-04-30 Dodji Seketeli <dodji@redhat.com>
11355
11356 Add -Wvarargs option
ab20d992 11357 * c.opt (Wvarargs): Define new option.
b9c8da34 11358
e6c69da0
MLI
113592012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11360
11361 * c-common.c (check_function_arguments): Replace
11362 Wmissing-format-attribute with Wsuggest-attribute=format.
11363
90137d8f
MLI
113642012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11365
11366 * c.opt (Wsuggest-attribute=format): New. Alias of
11367 Wmissing-format-attribute.
11368 * c-format.c (decode_format_type): Replace
11369 Wmissing-format-attribute with Wsuggest-attribute=format.
11370 (check_function_format): Likewise.
11371
9faeb493 113722012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11373
11374 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11375 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11376 * c.opt: Add Wliteral-suffix.
11377
c1771a20
MLI
113782012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11379
11380 PR c/44774
11381 * c.opt (Wpedantic): New.
11382 (pedantic): Alias Wpedantic.
11383 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11384 (c_common_post_options): Likewise.
11385 (sanitize_cpp_opts): Likewise.
11386 * c-lex.c (interpret_float): Likewise.
11387 * c-format.c (check_format_types): Likewise.
11388 * c-common.c (pointer_int_sum): Likewise.
11389 (c_sizeof_or_alignof_type): Likewise.
11390 (c_add_case_label): Likewise.
11391 (c_do_switch_warnings): Likewise.
11392 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11393
04b391c1
JM
113942012-04-15 Jason Merrill <jason@redhat.com>
11395
11396 PR c++/52818
11397 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11398 (C_STD_NAME): Distinguish between C++98 and C++11.
11399
ac868f29
EB
114002012-04-11 Eric Botcazou <ebotcazou@adacore.com>
11401
11402 PR target/52624
11403 * c-common.h (uint16_type_node): Rename into...
11404 (c_uint16_type_node): ...this.
11405 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11406 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11407
fd4116f4
MLI
114082012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
11409
11410 * c-common.c (warn_if_unused_value): Move definition to here.
11411 * c-common.h (warn_if_unused_value): Move declaration to here.
11412
573ac65e
WB
114132012-03-23 William Bader <williambader@hotmail.com>
11414
11415 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11416
552b8185
JM
114172012-03-20 Jason Merrill <jason@redhat.com>
11418
11419 * c-common.h (enum cxx_dialect): Add cxx1y.
11420 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11421 test.
11422 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11423 * c-opts.c (c_common_post_options): Likewise.
11424 (set_std_cxx1y): New.
11425 (c_common_handle_option): Call it.
11426 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11427
04398fa8
PC
114282012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11429
11430 PR c++/14710
11431 * c.opt ([Wuseless-cast]): Add.
11432
d2a12ae7
RG
114332012-03-16 Richard Guenther <rguenther@suse.de>
11434
11435 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11436
a12bf402
MLI
114372012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11438
11439 PR c++/44783
11440 * c.opt (ftemplate-backtrace-limit) Add.
11441
5c30094f
RO
114422012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11443
11444 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11445 handling.
11446 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11447 (init_pragma): Don't register extern_prefix.
11448
21fa2faf
RG
114492012-03-12 Richard Guenther <rguenther@suse.de>
11450
11451 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11452 (builtin_type_for_size): Likewise.
11453
e3793c6f
JJ
114542012-02-13 Jakub Jelinek <jakub@redhat.com>
11455
11456 PR c++/52215
11457 * c-common.c (sync_resolve_params): Don't decide whether to convert
11458 or not based on TYPE_SIZE comparison, convert whenever arg_type
11459 is unsigned INTEGER_TYPE.
11460
93286335
PC
114612012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11462
11463 PR c/52118
11464 * c.opt ([Wunused-local-typedefs]): Fix description.
11465
7a421706
MS
114662012-01-24 Mike Stump <mikestump@comcast.net>
11467
11468 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11469 exactly.
11470
ba9b1f11
RG
114712012-01-18 Richard Guenther <rguenther@suse.de>
11472
11473 * c-opts.c (c_common_post_options): Reset LTO flags if
11474 we are about to generate a PCH.
11475
465406be
PC
114762012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11477
11478 PR c++/51777
11479 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11480 use pp_unsigned_wide_integer.
11481
aee15221
RG
114822012-01-10 Richard Guenther <rguenther@suse.de>
11483
11484 PR middle-end/51806
11485 * c-opts.c (c_common_handle_option): Move -Werror handling
11486 to language independent code.
11487
5720c0dc
RG
114882012-01-05 Richard Guenther <rguenther@suse.de>
11489
11490 PR middle-end/51764
11491 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11492 from common.opt.
11493
73ac190a
PC
114942011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11495
11496 PR c++/51316
11497 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11498 of array types with an unknown bound.
11499
48b0b196
JM
115002011-12-20 Joseph Myers <joseph@codesourcery.com>
11501
11502 * c-common.c (flag_isoc99): Update comment to refer to C11.
11503 (flag_isoc1x): Change to flag_isoc11.
11504 * c-common.h (flag_isoc99): Update comment to refer to C11.
11505 (flag_isoc1x): Change to flag_isoc11.
11506 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11507 C11.
11508 * c-opts.c (set_std_c1x): Change to set_std_c11.
11509 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11510 Call set_std_c11.
11511 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11512 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11513 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11514 standard.
11515 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11516 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11517 (std=gnu1x): Make alias of std=gnu11.
11518
d58d6eb5
JM
115192011-12-19 Jason Merrill <jason@redhat.com>
11520
11521 PR c++/51228
11522 * c-common.c (handle_transparent_union_attribute): Check the first
11523 field if the type is complete.
11524
b3908fcc
JW
115252011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11526
11527 PR libstdc++/51365
11528 * c-common.c (RID_IS_FINAL): Add.
11529 * c-common.h (RID_IS_FINAL): Add.
11530
fea3ca91
IS
115312011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11532
11533 * c.opt (fgnu-runtime): Provide full description.
11534 (fnext-runtime): Likewise.
11535 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11536
62bad7cd
AM
115372011-11-28 Andrew MacLeod <amacleod@redhat.com>
11538
11539 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11540 predefines in one place. Add LOCK_FREE predefines.
11541 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11542 new func.
11543
c466c4ff
AM
115442011-11-24 Andrew MacLeod <amacleod@redhat.com>
11545
11546 PR c/51256
9faeb493 11547 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11548 conditions
9faeb493
UB
11549 (resolve_overloaded_atomic_exchange,
11550 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11551 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11552 error_mark_node for error conditions.
9faeb493 11553
a5952633
RG
115542011-11-08 Richard Guenther <rguenther@suse.de>
11555
11556 PR middle-end/51010
ab20d992 11557 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11558
0a35513e
AH
115592011-11-07 Richard Henderson <rth@redhat.com>
11560 Aldy Hernandez <aldyh@redhat.com>
11561 Torvald Riegel <triegel@redhat.com>
11562
11563 Merged from transactional-memory.
11564
11565 * c-common.c (handle_tm_wrap_attribute,
11566 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11567 (struct c_common_reswords): Added __transaction* keywords.
11568 (struct c_common_attribute_table): Added transaction* and tm_regparm
11569 attributes.
11570 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11571 masks.
11572 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11573 find_tm_attribute): Declare.
11574
6d87092d
JM
115752011-11-07 Jason Merrill <jason@redhat.com>
11576
11577 PR c++/35688
11578 * c-common.c, c-common.h: Revert yesterday's changes.
11579
8e7860a1
JM
115802011-11-06 Jason Merrill <jason@redhat.com>
11581
11582 PR c++/35688
11583 * c-common.c (decl_has_visibility_attr): Split out from...
11584 (c_determine_visibility): ...here.
11585 * c-common.h: Declare it.
11586
d19fa6b5
JM
115872011-11-06 Joseph Myers <joseph@codesourcery.com>
11588
11589 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11590 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11591 type.
11592 (check_user_alignment): New. Split out of
11593 handle_aligned_attribute. Disallow integer constants with
11594 noninteger types. Conditionally allow zero.
11595 (handle_aligned_attribute): Use check_user_alignment.
11596 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11597
86951993
AM
115982011-11-06 Andrew MacLeod <amacleod@redhat.com>
11599 Richard Henderson <rth@redhat.com>
11600
11601 Merged from cxx-mem-model.
11602
11603 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11604 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11605 parameters that are the same type size.
11606 (get_atomic_generic_size): New. Find size of generic
11607 atomic function parameters and do typechecking.
11608 (add_atomic_size_parameter): New. Insert size into parameter list.
11609 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11610 either __atomic_exchange_n or external library call.
9faeb493 11611 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11612 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11613 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11614 __atomic_load_n or an external library call.
11615 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11616 __atomic_store_n or an external library call.
11617 (resolve_overloaded_builtin): Handle new __atomic builtins.
11618
cf9e9959
EB
116192011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11620
11621 PR c++/50608
11622 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11623 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11624 <INDIRECT_REF>: Return the argument.
11625 <ARRAY_REF>: Remove special code for negative offset.
11626 Call fold_build_pointer_plus instead of size_binop.
11627 (fold_offsetof): Remove STOP_REF argument and adjust.
11628 * c-common.h (fold_offsetof_1): Declare.
11629 (fold_offsetof): Remove STOP_REF argument.
11630
25339f10
JM
116312011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11632
11633 PR c++/50810
11634 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11635 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11636 Wnarrowing for C++0x and C++98.
11637 * c.opt ([Wnarrowing]): Update.
11638
89401152
PC
116392011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11640
11641 PR c++/44277
11642 * c.opt: Add Wzero-as-null-pointer-constant.
11643
97e3ad20
JM
116442011-10-31 Jason Merrill <jason@redhat.com>
11645
15694fdd
JM
11646 * c.opt (-fdeduce-init-list): Off by default.
11647
97e3ad20
JM
11648 PR c++/50920
11649 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11650 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11651 and -Wc++11-compat.
11652 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11653
fb9120e3
RAV
116542011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11655
11656 PR c++/30066
11657 * c.opt (fvisibility-inlines-hidden): Description change.
11658
3ce4f9e4
ESR
116592011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11660
11661 Implement C++11 user-defined literals.
11662 * c-common.c (build_userdef_literal): New.
11663 * c-common.def: New tree code.
11664 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11665 * c-lex.c (interpret_float): Add suffix parm.
11666 (c_lex_with_flags): Build literal tokens.
11667
5f53c243
PC
116682011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11669
11670 PR c++/50841
11671 Revert:
11672 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11673
11674 PR c++/50810
11675 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11676 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11677 Wnarrowing for C++0x and C++98.
11678 * c.opt ([Wnarrowing]): Update.
11679
263734e1
PC
116802011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11681
11682 PR c++/50810
11683 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11684 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11685 Wnarrowing for C++0x and C++98.
11686 * c.opt ([Wnarrowing]): Update.
11687
d2e312d7
PC
116882011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11689
11690 PR c++/45385
11691 * c-common.c (conversion_warning): Remove code looking for
11692 artificial operands.
11693
d17687f6
DS
116942011-10-18 Dodji Seketeli <dodji@redhat.com>
11695
11696 PR bootstrap/50760
11697 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11698 !NO_IMPLICIT_EXTERN_C.
d17687f6 11699
fc8396e9
PC
117002011-10-17 Michael Spertus <mike_spertus@symantec.com>
11701
11702 * c-common.c (c_common_reswords): Add __bases,
11703 __direct_bases.
11704 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11705
117062011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11707
11708 PR c++/50757
11709 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11710
847e697a
TT
117112011-10-15 Tom Tromey <tromey@redhat.com>
11712 Dodji Seketeli <dodji@redhat.com>
11713
11714 * c.opt (fdebug-cpp): New option.
11715 * c-opts.c (c_common_handle_option): Handle the option.
11716 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11717 output stream in parameter. Factorized from ...
11718 (maybe_print_line): ... this. Dump location debug information when
11719 -fdebug-cpp is in effect.
11720 (print_line_1): New static function. Takes an output stream in
11721 parameter. Factorized from ...
11722 (print_line): ... here. Dump location information when -fdebug-cpp
11723 is in effect.
11724 (scan_translation_unit): Dump location information when
11725 -fdebug-cpp is in effect.
11726
92582b75
TT
117272011-10-15 Tom Tromey <tromey@redhat.com>
11728 Dodji Seketeli <dodji@redhat.com>
11729
11730 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11731 without argument.
11732 * c-opts.c (c_common_handle_option)<case
11733 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11734 cases. Handle -ftrack-macro-expansion with and without argument.
11735
46427374
TT
117362011-10-15 Tom Tromey <tromey@redhat.com>
11737 Dodji Seketeli <dodji@redhat.com>
11738
11739 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11740 (print_line, cb_define, do_line_change): Adjust to avoid touching
11741 the internals of struct line_map. Use the public API instead.
11742 * c-pch.c (c_common_read_pch): Likewise.
11743 * c-lex.c (fe_file_change): Likewise.
11744
fc8396e9
PC
117452011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11746
11747 PR c++/17212
11748 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11749
117502011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11751
11752 PR c++/33067
11753 * c-pretty-print.c (pp_c_floating_constant): Output
11754 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11755
e79983f4
MM
117562011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11757
11758 * c-common.c (def_builtin_1): Delete old interface with two
11759 parallel arrays to hold standard builtin declarations, and replace
11760 it with a function based interface that can support creating
11761 builtins on the fly in the future. Change all uses, and poison
11762 the old names. Make sure 0 is not a legitimate builtin index.
11763 * c-omp.c (c_finish_omp_barrier): Ditto.
11764 (c_finish_omp_taskwait): Ditto.
11765 (c_finish_omp_flush): Ditto.
11766
6637388f
TG
117672011-10-11 Tristan Gingold <gingold@adacore.com>
11768
11769 * c.opt: (fallow-parameterless-variadic-functions): New.
11770
3797cb21
DS
117712011-09-08 Dodji Seketeli <dodji@redhat.com>
11772
11773 PR c++/33255 - Support -Wunused-local-typedefs warning
11774 * c-common.h (struct c_language_function::local_typedefs): New
11775 field.
9faeb493
UB
11776 (record_locally_defined_typedef, maybe_record_typedef_use)
11777 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 11778 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
11779 (maybe_record_typedef_use)
11780 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
11781 * c.opt: Declare new -Wunused-local-typedefs flag.
11782
693ddb1b
EB
117832011-09-06 Eric Botcazou <ebotcazou@adacore.com>
11784
11785 PR middle-end/50266
11786 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11787 computations.
11788
830c740f
RG
117892011-09-05 Richard Guenther <rguenther@suse.de>
11790
11791 * c-common.c (complete_array_type): Use ssize_int (-1) instead
11792 of integer_minus_one_node for empty array upper bounds.
11793
892a371f
DS
117942011-08-28 Dodji Seketeli <dodji@redhat.com>
11795
11796 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11797 it's the first time it's being called on this main TU.
11798
0e3fdb48
RB
117992011-08-24 Richard Guenther <rguenther@suse.de>
11800
11801 PR c/49396
11802 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11803
118042011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
11805
11806 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11807 defined in cpp_init_builtins and c_cpp_builtins.
11808
d4a83c10
JM
118092011-08-19 Joseph Myers <joseph@codesourcery.com>
11810
11811 * c-common.c (c_common_reswords): Add __builtin_complex.
11812 * c-common.h (RID_BUILTIN_COMPLEX): New.
11813
bbceee64
JM
118142011-08-18 Joseph Myers <joseph@codesourcery.com>
11815
11816 * c-common.c (c_common_reswords): Add _Noreturn.
11817 (keyword_is_function_specifier): Handle RID_NORETURN.
11818 * c-common.h (RID_NORETURN): New.
11819
3f8257db 118202011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
11821
11822 * c-common.c (unsafe_conversion_p): New function. Check if it is
11823 unsafe to convert an expression to the type.
11824 (conversion_warning): Adjust, use unsafe_conversion_p.
11825 * c-common.h (unsafe_conversion_p): New function declaration.
11826
20906c66
JJ
118272011-08-02 Jakub Jelinek <jakub@redhat.com>
11828
11829 * c-common.h (c_finish_omp_atomic): Adjust prototype.
11830 (c_finish_omp_taskyield): New prototype.
11831 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11832 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11833 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
11834 or RHS1 have side-effects, evaluate those too in the right spot,
11835 if it is a decl and LHS is also a decl, error out if they
11836 aren't the same.
11837 (c_finish_omp_taskyield): New function.
11838 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11839 * c-pragma.c (omp_pragmas): Add taskyield.
11840 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11841 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11842 PRAGMA_OMP_CLAUSE_MERGEABLE.
11843
770e5a2e
DS
118442011-07-25 Dodji Seketeli <dodji@redhat.com>
11845
11846 * c-common.h (set_underlying_type): Remove parm name from
11847 declaration.
11848
1baae426
RG
118492011-07-25 Romain Geissler <romain.geissler@gmail.com>
11850
11851 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 11852
fcb21722
JM
118532011-07-22 Jason Merrill <jason@redhat.com>
11854
76f86d00
JM
11855 PR c++/49793
11856 * c.opt (Wnarrowing): New.
11857
3a636414
JM
11858 PR c++/30112
11859 * c-common.h: Declare c_linkage_bindings.
11860 * c-pragma.c (handle_pragma_redefine_extname): Use it.
11861
fcb21722
JM
11862 PR c++/49813
11863 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11864 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11865 as flag_isoc99 for 'restrict'.
11866 (pp_c_specifier_qualifier_list): Likewise for _Complex.
11867
02614448
ILT
118682011-07-21 Ian Lance Taylor <iant@google.com>
11869
11870 PR middle-end/49705
11871 * c-common.c (c_disable_warnings): New static function.
11872 (c_enable_warnings): New static function.
11873 (c_fully_fold_internal): Change local unused_p to bool. Call
11874 c_disable_warnings and c_enable_warnings rather than change
11875 c_inhibit_evaluation_warnings.
11876
34429675
JM
118772011-07-20 Jason Merrill <jason@redhat.com>
11878
11879 PR c++/6709 (DR 743)
11880 PR c++/42603 (DR 950)
11881 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11882 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11883 (CPP_DECLTYPE): New.
11884 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11885
5d49b6a7
RG
118862011-07-19 Richard Guenther <rguenther@suse.de>
11887
11888 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11889 * c-omp.c (c_finish_omp_for): Likewise.
11890
e84a58ff
EB
118912011-07-12 Eric Botcazou <ebotcazou@adacore.com>
11892
11893 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11894 body on the next line.
11895
329af3c7
JM
118962011-07-08 Jason Merrill <jason@redhat.com>
11897
4063e61b
JM
11898 PR c++/45437
11899 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11900
329af3c7
JM
11901 PR c++/49673
11902 * c-common.c (c_apply_type_quals_to_decl): Don't check
11903 TYPE_NEEDS_CONSTRUCTING.
11904
1a072294
RG
119052011-07-06 Richard Guenther <rguenther@suse.de>
11906
11907 * c-common.c (c_common_nodes_and_builtins):
11908 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11909
fce5dddd
RG
119102011-07-05 Richard Guenther <rguenther@suse.de>
11911
11912 * c-common.c (c_common_nodes_and_builtins): Build all common
11913 tree nodes first.
11914
45d439ac
JJ
119152011-06-27 Jakub Jelinek <jakub@redhat.com>
11916
56300785
JJ
11917 * c-common.h (c_tree_chain_next): New static inline function.
11918
45d439ac
JJ
11919 * c-common.c (check_builtin_function_arguments): Handle
11920 BUILT_IN_ASSUME_ALIGNED.
11921
e0a8ecf2
AM
119222011-06-21 Andrew MacLeod <amacleod@redhat.com>
11923
11924 * c-common.c: Add sync_ or SYNC__ to builtin names.
11925 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
11926
119272011-06-20 Pierre Vittet <piervit@pvittet.com>
11928
11929 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11930 handler.
11931 (gen_pragma_handler): New union.
11932 (internal_pragma_handler): New type.
11933 (c_register_pragma_with_data)
11934 (c_register_pragma_with_expansion_and_data): New functions.
11935
11936 * c-pragma.c (registered_pragmas, c_register_pragma_1)
11937 (c_register_pragma, c_register_pragma_with_expansion)
11938 (c_invoke_pragma_handler): Changed to work with
11939 internal_pragma_handler.
11940 (c_register_pragma_with_data)
11941 (c_register_pragma_with_expansion_and_data): New functions.
11942
677f3fa8
JM
119432011-06-14 Joseph Myers <joseph@codesourcery.com>
11944
11945 * c-common.c: Include common/common-target.h.
11946 (handle_section_attribute): Use
11947 targetm_common.have_named_sections.
11948 * c-cppbuiltin.c: Include common/common-target.h.
11949 (c_cpp_builtins): Use targetm_common.except_unwind_info.
11950
d7fc8c14
RG
119512011-06-10 Richard Guenther <rguenther@suse.de>
11952
11953 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11954 to print a IDENTIFIER_NODE.
11955
10e48e39
RO
119562011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11957 Joseph Myers <joseph@codesourcery.com>
11958
11959 * c.opt (fbuilding-libgcc): New option.
11960 * c-cppbuiltin.c (c_cpp_builtins): Define
11961 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11962
6976ae51
JM
119632011-06-07 Jason Merrill <jason@redhat.com>
11964
3ff60975
JM
11965 * c-common.c (max_tinst_depth): Lower default to 900.
11966
6976ae51
JM
11967 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11968
009db074
RG
119692011-06-07 Richard Guenther <rguenther@suse.de>
11970
11971 * c-common.c (c_common_nodes_and_builtins): Do not set
11972 size_type_node or call set_sizetype.
11973
b4592b92
DS
119742011-06-07 Dodji Seketeli <dodji@redhat.com>
11975
11976 PR debug/49130
11977 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 11978 type when using pointer comparison to compare types.
b4592b92 11979
014ab419
JW
119802011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
11981
11982 * c.opt: Add -Wdelete-non-virtual-dtor.
11983 * c-opts.c (c_common_handle_option): Include it in -Wall.
11984
4f60111f
NF
119852011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
11986
11987 PR bootstrap/49190
11988
11989 Revert:
11990 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11991
11992 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11993 not tree_common.
11994
4cc4f2f4
JJ
119952011-05-27 Jakub Jelinek <jakub@redhat.com>
11996
11997 PR c++/49165
11998 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11999 C++ don't call c_common_truthvalue_conversion on void type arms.
12000
38e01f9e
NF
120012011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12002
12003 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12004 (stmt_list_stack): Define.
12005 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12006 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12007
92e948a8
NF
120082011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12009
12010 * c-common.c (warning_candidate_p): Check for BLOCKs.
12011
a2fc3e63
NF
120122011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12013
12014 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12015 not tree_common.
12016
0957c029
JJ
120172011-05-25 Jakub Jelinek <jakub@redhat.com>
12018
12019 * c-common.c (def_fn_type): Remove extra va_end.
12020
828fb3ba
JM
120212011-05-23 Jason Merrill <jason@redhat.com>
12022
12023 PR c++/48106
12024 * c-common.c (c_common_get_narrower): New.
12025 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12026
dde05067
NF
120272011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12028
12029 * c-common.h (check_function_arguments): Tweak prototype of
12030 check_function_arguments.
12031 * c-common.c (check_function_arguments): Likewise. Adjust
12032 calls to check_function_nonnull, check_function_format, and
12033 check_function_sentinel.
12034 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12035 separate attributes and typelist arguments. Use
12036 FOREACH_FUNCTION_ARGS to iterate over argument types.
12037
3c0d13bf
PC
120382011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12039
12040 * c-common.c (c_common_reswords): Reorder.
12041 * c-common.h (rid): Likewise.
12042
8242dd04
NF
120432011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12044
12045 * c-common.c (def_fn_type): Don't call build_function_type, call
12046 build_function_type_array or build_varargs_function_type_array
12047 instead.
12048 (c_common_nodes_and_builtins): Likewise.
12049
3d528853
NF
120502011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12051
12052 * c-common.c (c_add_case_label): Omit the loc argument to
12053 build_case_label.
12054 * c-common.h (build_case_label): Remove.
12055 * c-semantics.c (build_case_label): Remove.
12056
a04a722b
JM
120572011-05-05 Joseph Myers <joseph@codesourcery.com>
12058
12059 * c-objc.h (objc_start_method_definition): Update prototype.
12060 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12061
e19a18d4
NF
120622011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12063
12064 * c-common.c (check_main_parameter_types): Reindent. Don't use
12065 TYPE_ARG_TYPES directly.
12066 (handle_nonnull_attribute): Likewise.
12067 (sync_resolve_params): Likewise.
12068 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12069 to check_format_string.
12070 (handle_format_attribute): Likewise.
12071 (check_format_string): Take a function type to examine instead of
12072 a type list. Use a function_arg_iterator to step through argument
12073 types.
12074
c62c040f
RG
120752011-05-04 Richard Guenther <rguenther@suse.de>
12076
12077 * c-common.c (fix_string_type): Use size_int for index type bounds.
12078 (start_fname_decls): Do not pass NULL to build_int_cst.
12079 (c_init_attributes): Likewise.
12080 * c-lex.c (c_lex_with_flags): Likewise.
12081
c12ff9d8
JM
120822011-04-27 Jason Merrill <jason@redhat.com>
12083
12084 * c-common.c (make_tree_vector_from_list): New.
12085 * c-common.h: Declare it.
12086
304dfbe3
RG
120872011-04-26 Richard Guenther <rguenther@suse.de>
12088
12089 PR preprocessor/48248
12090 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12091 for output size with -P.
12092
3c0d13bf
PC
120932011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12094
12095 * c-common.c (struct c_common_resword): Add __underlying_type.
12096 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12097
04695783
JM
120982011-04-20 Jim Meyering <meyering@redhat.com>
12099
12100 * c-format.c (init_dollar_format_checking): Remove useless
12101 if-before-free.
12102
0dc33c3c
NP
121032011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12104
12105 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12106 (objc_detect_field_duplicates): New.
0dc33c3c 12107 * stub-objc.c: Likewise.
3c0d13bf 12108
c59633d9
NP
121092011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12110
12111 * stub-objc.c (objc_declare_protocols): Renamed to
12112 objc_declare_protocol.
12113 * c-objc.h: Likewise.
3c0d13bf 12114
32dabdaf
NP
121152011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12116
12117 * stub-objc.c (objc_declare_class): Updated argument name.
12118
81f653d6
NF
121192011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12120
12121 * c-common.h (c_common_init_ts): Declare.
12122 * c-common.c (c_common_init_ts): Define.
12123
eb345401
NP
121242011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12125
12126 * c-objc.h (objc_build_message_expr): Updated prototype.
12127 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12128
a358e188
MJ
121292011-04-12 Martin Jambor <mjambor@suse.cz>
12130
12131 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12132 of cgraph_node.
12133
e6313a78
RG
121342011-04-11 Richard Guenther <rguenther@suse.de>
12135
12136 * c-common.c (complete_array_type): Build a range type of
12137 proper type.
12138
dcf0c47e
NF
121392011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12140
12141 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12142 (handle_type_generic_attribute): Likewise.
12143
1ee44b26
JM
121442011-04-07 Jason Merrill <jason@redhat.com>
12145
12146 PR c++/48450
12147 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12148 conversion from C++0x scoped enum.
12149
acce4e77
JM
121502011-04-06 Joseph Myers <joseph@codesourcery.com>
12151
12152 * c-target-def.h: New file.
12153 * c-target.def: New file.
12154 * c-target.h: New file.
12155 * c-common.c (targetcm): Don't define here.
12156 * c-common.h (default_handle_c_option): Declare.
12157 * c-format.c: Include c-target.h instead of target.h.
12158 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12159 include tm.h.
12160 (default_handle_c_option): Move from targhooks.c.
12161
e2eefb55
JJ
121622011-03-29 Jakub Jelinek <jakub@redhat.com>
12163
12164 PR preprocessor/48248
12165 * c-ppoutput.c (print): Add src_file field.
12166 (init_pp_output): Initialize it.
12167 (maybe_print_line): Don't optimize by adding up to 8 newlines
12168 if map->to_file and print.src_file are different file.
12169 (print_line): Update print.src_file.
12170
ba78087b
KT
121712011-03-25 Kai Tietz <ktietz@redhat.com>
12172
12173 * c-ada-spec.c (compare_comment): Use filename_cmp
12174 instead of strcmp for filename.
12175
0edf1bb2
JL
121762011-03-25 Jeff Law <law@redhat.com>
12177
adfac8df 12178 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12179
c7dc8804
JM
121802011-03-25 Jason Merrill <jason@redhat.com>
12181
12182 * c.opt: Add -std=c++03.
12183
d1d879b1
EB
121842011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12185
12186 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12187
3f8257db 121882011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12189
12190 PR target/12171
5050afdf
KT
12191 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12192 Display allowed attributes for function pointer types.
12193 (pp_c_attributes_display): New function to display
12194 attributes having affects_type_identity flag set to true.
12195 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12196
62d784f7
KT
12197 * c-common.c (c_common_attribute_table):
12198 Add new element.
12199 (c_common_format_attribute_table): Likewise.
12200
82d37118
JM
122012011-03-18 Jason Merrill <jason@redhat.com>
12202
49a000c3
JM
12203 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12204 * c-common.h: Don't declare it here.
12205 * c-common.c: Or define it here.
12206 * c-opts.c (c_common_handle_option): Or set it here.
12207
82d37118
JM
12208 PR c++/35315
12209 * c-common.c (handle_transparent_union_attribute): Don't
12210 make a duplicate type in C++.
12211
17bc631c
JM
122122011-03-15 Jason Merrill <jason@redhat.com>
12213
12214 * c-common.c (max_constexpr_depth): New.
12215 * c-common.h: Declare it.
12216 * c-opts.c (c_common_handle_option): Set it.
12217 * c.opt (fconstexpr-depth): New option.
12218
1b9b91a6
JM
122192011-03-11 Jason Merrill <jason@redhat.com>
12220
f231b5ff
JM
12221 * c-common.c (attribute_takes_identifier_p): Add missing const.
12222
1b9b91a6
JM
12223 PR c++/46803
12224 * c-common.c (attribute_takes_identifier_p): Assume that an
12225 unknown attribute takes an identifier.
12226
a19e4d44
NF
122272011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12228
12229 PR c/47786
12230 * c-common.c (c_type_hash): Call list_length instead of iterating
12231 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12232
982d62f6
JJ
122332011-02-19 Jakub Jelinek <jakub@redhat.com>
12234
12235 PR c/47809
12236 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12237
0a256240
NP
122382011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12239
12240 * c.opt (fobjc-abi-version=) New.
12241 (fobjc-nilcheck): New.
12242
ba9e6dd5
NF
122432011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12244
12245 PR c++/46890
12246 * c-common.h (keyword_is_decl_specifier): Declare.
12247 * c-common.c (keyword_is_decl_specifier): Define.
12248 (keyword_is_function_specifier): New function.
12249
7273813a
JJ
122502011-01-26 Jakub Jelinek <jakub@redhat.com>
12251
12252 PR c/47473
12253 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12254 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12255 REAL_TYPE.
12256
908ef79b
AC
122572011-01-26 Arnaud Charlet <charlet@adacore.com>
12258
12259 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12260
237e9384
JJ
122612011-01-26 Jakub Jelinek <jakub@redhat.com>
12262
12263 PR pch/47430
12264 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12265 after init_c_lex if pch_file is set.
12266
47ea1edf
DK
122672011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12268
d4dba752 12269 PR c++/43601
47ea1edf
DK
12270 * c.opt (-fkeep-inline-dllexport): New switch.
12271
2aa9c6ae
RG
122722011-01-12 Richard Guenther <rguenther@suse.de>
12273
12274 PR middle-end/32511
12275 * c-common.c (handle_weak_attribute): Warn instead of error
12276 on declaring an inline function weak.
12277
7bd11157
TT
122782011-01-05 Tom Tromey <tromey@redhat.com>
12279
12280 * c-common.h (lvalue_error): Update.
12281 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12282 not error.
12283
0e66e494 122842010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12285
b4f588c4
NP
12286 PR objc/47075
12287 * c-objc.h (objc_finish_message_expr): Added argument to
12288 prototype.
12289
f4da8dce
NF
122902010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12291
12292 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12293 Use prototype_p.
12294
46270f14
NP
122952010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12296
12297 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12298 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12299
4816c593
NF
123002010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12301
12302 * c-common.h (readonly_error): Declare.
12303 * c-common.c (readonly_error): Define.
12304
7a6daeb0
NF
123052010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12306
12307 * c-common.h (invalid_indirection_error): Declare.
12308 * c-common.c (invalid_indirection_error): Define.
12309
892f6119
RG
123102010-12-03 Richard Guenther <rguenther@suse.de>
12311
12312 PR c/46745
12313 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12314 (pp_c_unary_expression): Likewise.
12315 (pp_c_expression): Likewise.
12316
6c39e757
NP
123172010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12318
12319 * c-common.h (objc_finish_function): New.
12320 (objc_non_volatilized_type): Removed.
12321 (objc_type_quals_match): Removed.
12322 * stub-objc.c (objc_finish_function): New.
12323 (objc_non_volatilized_type): Removed.
12324 (objc_type_quals_match): Removed.
9faeb493 12325
7c475d11
JM
123262010-11-30 Joseph Myers <joseph@codesourcery.com>
12327
12328 * c-common.h (parse_optimize_options): Declare.
12329 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12330 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12331
71f3e391
JM
123322010-11-29 Joseph Myers <joseph@codesourcery.com>
12333
12334 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12335 GET_ENVIRONMENT.
12336 * c-pch.c (O_BINARY): Don't define here.
12337 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12338
d5fabb58
JM
123392010-11-25 Joseph Myers <joseph@codesourcery.com>
12340
12341 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12342 targetm.except_unwind_info.
12343
299404a1
JM
123442010-11-23 Joseph Myers <joseph@codesourcery.com>
12345
12346 * c-opts.c (c_common_handle_option): Pass location to
12347 set_struct_debug_option.
12348
c98cd5bf
JM
123492010-11-23 Joseph Myers <joseph@codesourcery.com>
12350
12351 * c-common.c (visibility_options): Move from ../opts.c.
12352 * c-common.h (struct visibility_flags, visibility_options):
12353 Declare here.
12354 * c-opts.c (finish_options): Rename to c_finish_options.
12355 (c_common_init): Update call to finish_options.
12356
a9546771
NP
123572010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12358
12359 PR objc/34033
12360 * c-lex.c (lex_string): Check that each string in an Objective-C
12361 string concat sequence starts with either one or zero '@', and
12362 that there are no spurious '@' signs at the end.
12363
24a57808
JM
123642010-11-20 Joseph Myers <joseph@codesourcery.com>
12365
12366 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12367 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12368 HANDLE_PRAGMA_VISIBILITY.
12369 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12370 HANDLE_PRAGMA_VISIBILITY): Don't define.
12371 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12372
a9aa2c3a
NF
123732010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12374
12375 PR c++/16189
12376 PR c++/36888
12377 PR c++/45331
12378 * c-common.h (keyword_begins_type_specifier): Declare.
12379 (keyword_is_storage_class_specifier): Declare.
12380 (keyword_is_type_qualifier): Declare.
12381 * c-common.c (keyword_begins_type_specifier): New function.
12382 (keyword_is_storage_class_specifier): New function.
12383 (keyword_is_type_qualifier): Declare.
12384
5386338c
JM
123852010-11-19 Joseph Myers <joseph@codesourcery.com>
12386
12387 PR c/46547
12388 * c-common.c (in_late_binary_op): Define.
12389 (c_common_truthvalue_conversion): Check in_late_binary_op before
12390 calling c_save_expr.
12391 * c-common.h (in_late_binary_op): Declare.
12392
69ccdddb
JM
123932010-11-19 Joseph Myers <joseph@codesourcery.com>
12394
12395 * c-opts.c (c_common_handle_option): Update calls to
12396 set_struct_debug_option.
12397
6b192a09
NP
123982010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
12399
12400 * c-common.h (objc_declare_protocols): Added additional argument.
12401 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 12402
fb52b50a
NF
124032010-11-18 Nathan Froyd <froydnj@codesourcery.com>
12404
12405 PR c/33193
12406 * c-common.h (build_real_imag_expr): Declare.
12407 * c-semantics.c (build_real_imag_expr): Define.
12408
b37421c6
JM
124092010-11-17 Joseph Myers <joseph@codesourcery.com>
12410
12411 * c-opts.c (c_common_parse_file): Take no arguments.
12412 * c-common.h (c_common_parse_file): Update prototype.
12413
07078664
JJ
124142010-11-16 Jakub Jelinek <jakub@redhat.com>
12415
12416 PR c++/46401
12417 * c-common.c (warning_candidate_p): Don't track non-const calls
12418 or STRING_CSTs.
12419
c6a13190
ILT
124202010-11-15 Ian Lance Taylor <iant@google.com>
12421
12422 * c-lex.c (init_c_lex): Set macro debug callbacks if
12423 flag_dump_go_spec is set.
12424
925e8657
NP
124252010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12426
12427 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12428 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12429
bb0a9581
NF
124302010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12431
12432 PR preprocessor/45038
12433 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12434 dialects.
12435
c5fa0890
JM
124362010-11-12 Joseph Myers <joseph@codesourcery.com>
12437
12438 * c-common.h (c_family_lang_mask): Declare.
12439 * c-opts.c (c_family_lang_mask): Make extern.
12440 * c-pragma.c (handle_pragma_diagnostic): Use
12441 control_warning_option.
12442
a4d8c676
JM
124432010-11-12 Joseph Myers <joseph@codesourcery.com>
12444
12445 * c-common.c (parse_optimize_options): Update call to
12446 decode_options.
12447 * c-common.h (c_common_handle_option): Update prototype.
12448 * c-opts.c (c_common_handle_option): Take location_t parameter and
12449 pass it to other functions.
12450
f954bd2c
JM
124512010-11-11 Joseph Myers <joseph@codesourcery.com>
12452
12453 * c-opts.c (warning_as_error_callback): Remove.
12454 (c_common_initialize_diagnostics): Don't call
12455 register_warning_as_error_callback.
12456 (c_common_handle_option): Handle -Werror=normalized= here.
12457
d8a07487
JM
124582010-11-10 Joseph Myers <joseph@codesourcery.com>
12459
12460 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12461 in diagnostic.
12462 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12463 letter.
12464 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12465 Remove trailing '.' from diagnostics.
12466 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12467
d5478783
JM
124682010-11-10 Joseph Myers <joseph@codesourcery.com>
12469
12470 * c-common.c (parse_optimize_options): Pass global_dc to
12471 decode_options.
12472 * c-opts.c (c_common_handle_option): Pass &global_options to
12473 set_Wstrict_aliasing.
12474 * c.opt (v): Don't mark Common or document here.
12475
91ebb981
IS
124762010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12477
12478 PR target/44981
12479 * c-format.c (format_type): New type gcc_objc_string_format_type.
12480 (valid_stringptr_type_p): New.
12481 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12482 (check_format_string): Pass expected type, use
91ebb981
IS
12483 valid_stringptr_type_p (), check that the format string types are
12484 consistent with the format specification.
12485 (decode_format_attr): Warn if NSString is used outside objective-c.
12486 (format_types_orig): Add NSString.
12487 (format_name): New.
12488 (format_flags): New.
12489 (check_format_arg): Handle format strings requiring an external parser.
12490 first_target_format_type: New variable.
12491 (handle_format_attribute): Set up first_target_format_type, pass the
12492 expected format arg string type to check_format_string().
ab20d992 12493 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12494 * stub-objc.c (objc_string_ref_type_p): New.
12495 (objc_check_format_arg): New.
12496
bede2adc
NP
124972010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12498
9faeb493 12499 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12500 * c-common.h (objc_build_class_component_ref): New.
12501 * stub-objc.c (objc_build_class_component_ref): New.
12502
9a179d01
NP
125032010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12504
12505 * c.opt (Wproperty-assign-default): New option.
12506
22d8d616
NP
125072010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12508
12509 Implemented -fobjc-std=objc1 flag.
12510 * c.opt (fobjc-std=objc1): New option.
12511
2debdb4f
NP
125122010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12513
12514 Implemented format and noreturn attributes for Objective-C methods.
12515 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12516 attribute for Objective-C methods.
12517
ec52b111
JM
125182010-10-31 Jason Merrill <jason@redhat.com>
12519
12520 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12521 EXPR_LOC_OR_HERE.
12522
46a88c12
NP
125232010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12524
12525 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12526 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12527 (objc_add_property_declaration): Removed arguments for copies and
12528 ivar.
12529 (objc_build_getter_call): Renamed to
12530 objc_maybe_build_component_ref.
12531 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12532 (objc_is_property_ref): New.
12533 * c-common.c (c_common_reswords): Removed copies and ivar.
12534 * stub-objc.c (objc_add_property_declaration): Removed arguments
12535 for copies and ivar.
12536 (objc_build_getter_call): Renamed to
12537 objc_maybe_build_component_ref.
12538 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12539 (objc_is_property_ref): New.
9faeb493 12540
1e4bf85b
AC
125412010-10-29 Arnaud Charlet <charlet@adacore.com>
12542 Matthew Gingell <gingell@adacore.com>
12543
12544 * c-ada-spec.c (separate_class_package): New function.
12545 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12546 name of their enclosing package.
12547 (print_ada_declaration): Use separate_class_package.
12548
81f0bab2
JM
125492010-10-27 Jason Merrill <jason@redhat.com>
12550
2b08f2c5
JM
12551 * c-common.c (c_common_reswords): Add __is_literal_type.
12552 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12553
81f0bab2
JM
12554 * c-common.c (check_case_value): Remove special C++ code.
12555
200290f2
NP
125562010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12557
12558 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12559 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12560 and RID_LAST_PATTR.
12561 (objc_add_property_declaration): Added additional arguments.
12562 (objc_property_attribute_kind): Removed.
12563 (objc_set_property_attr): Removed.
12564 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12565 copy and nonatomic.
12566 * stub-objc.c (objc_add_property_declaration): Added additional
12567 arguments.
12568 (objc_set_property_attr): Removed.
9faeb493 12569
f614132b
NP
125702010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12571
12572 * c-common.h (objc_add_property_variable): Renamed to
12573 objc_add_property_declaration. Added location argument.
12574 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12575
b8a18805
NP
125762010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12577
12578 * c-common.h (objc_maybe_printable_name): New.
12579 * stub-objc.c (objc_maybe_printable_name): New.
12580
3f8257db
JJ
125812010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12582 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12583
12584 * c-common.h (c_common_mark_addressable_vec): Declare.
12585 * c-common.c (c_common_mark_addressable_vec): New function.
12586
249a82c4
NP
125872010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12588
12589 * c-common.h (objc_set_method_type): Removed.
12590 (objc_add_method_declaration): Added boolean argument.
12591 (objc_start_method_definition): Same change.
12592 (objc_build_method_signature): Same change.
12593 * stub-objc.c (objc_set_method_type): Removed.
12594 (objc_add_method_declaration): Added boolean argument.
12595 (objc_start_method_definition): Same change.
12596 (objc_build_method_signature): Same change.
12597
977e30bc
NP
125982010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12599
12600 * c-common.h (finish_file): Removed.
12601 (objc_write_global_declarations): New.
12602 * c-opts.c (c_common_parse_file): Do not call finish_file.
12603 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12604
da57d1b9
NP
126052010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12606
12607 Implemented parsing @synthesize and @dynamic for
12608 Objective-C/Objective-C++.
12609 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12610 (objc_add_synthesize_declaration): New.
12611 (objc_add_dynamic_declaration): New.
12612 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12613 * stub-objc.c (objc_add_synthesize_declaration): New.
12614 (objc_add_dynamic_declaration): New.
9faeb493 12615
0069111f
MM
126162010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12617
12618 PR target/46041
12619 * c-cppbuiltin.c (mode_has_fma): Move function here from
12620 builtins.c. Don't use the fma optab, instead just use the
12621 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12622 using -save-temps.
12623
e426b47b
NP
126242010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12625
12626 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12627
3f8257db 12628 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12629
9faeb493 12630 Radar 4330422
e426b47b
NP
12631 * c-common.h (objc_non_volatilized_type): New declaration
12632 * stub-objc.c (objc_non_volatilized_type): New stub.
12633
90fbfdc3
NP
126342010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12635
e426b47b 12636 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12637
ab20d992 12638 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12639
9faeb493 12640 Radar 4133425
90fbfdc3 12641 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12642 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12643
c37d8c30
IS
126442010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12645
12646 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12647 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12648 (objc_ivar_visibility_kind): New enum.
12649 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12650 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12651 visibility enum.
12652
1b1562a5
MM
126532010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12654
12655 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12656 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12657 has the appropriate fma builtins.
12658 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12659
668ea4b1
IS
126602010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12661
1b1562a5 12662 merge from FSF apple 'trunk' branch.
3f8257db 12663 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12664
668ea4b1
IS
12665 Radars 4436866, 4505126, 4506903, 4517826
12666 * c-common.c (c_common_resword): Define @property and its attributes.
12667 * c-common.h: Define property attribute enum entries.
12668 (OBJC_IS_PATTR_KEYWORD): New.
12669 (objc_property_attribute_kind): New enum.
12670 Declare objc_set_property_attr (), objc_add_property_variable (),
12671 objc_build_getter_call () and objc_build_setter_call ().
12672 * stub-objc.c (objc_set_property_attr): New stub.
12673 (objc_add_property_variable): Likewise.
12674 (objc_build_getter_call): Likewise.
12675 (objc_build_setter_call) Likewise.
1b1562a5 12676
a1178b30
IS
126772010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12678
1b1562a5 12679 merge from FSF apple 'trunk' branch.
ab20d992 12680 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12681
12682 Radar 3803157 (method attributes)
12683 * c-common.c (handle_deprecated_attribute): Recognize
12684 objc methods as valid declarations.
12685 * c-common.h: Declare objc_method_decl ().
1b1562a5 12686 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12687
a75bfaa6
JM
126882010-10-08 Joseph Myers <joseph@codesourcery.com>
12689
12690 * c-common.c (parse_optimize_options): Call
12691 decode_cmdline_options_to_array_default_mask before
12692 decode_options. Update arguments to decode_options.
12693 * c-common.h (c_common_init_options_struct): Declare.
12694 * c-opts.c (c_common_init_options_struct): New. Split out from
12695 c_common_init_options.
12696
f05b9d93
NP
126972010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12698
12699 Implemented fast enumeration for Objective-C.
12700 * c-common.h (objc_finish_foreach_loop): New.
12701 * stub-objc.c (objc_finish_foreach_loop): New.
12702
1ebe4b4f
JM
127032010-10-05 Joseph Myers <joseph@codesourcery.com>
12704
12705 * c-common.h (struct diagnostic_context): Don't declare here.
12706 (c_common_initialize_diagnostics): Declare using
12707 diagnostic_context typedef.
12708 * c-opts.c (c_common_handle_option): Pass global_dc to
12709 handle_generated_option.
12710
d4d24ba4
JM
127112010-10-04 Joseph Myers <joseph@codesourcery.com>
12712
12713 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12714 handle_generated_option.
12715
478a1c5b
ILT
127162010-10-03 Ian Lance Taylor <iant@google.com>
12717
12718 * c.opt (-fplan9-extensions): New option.
12719
82a1c2fe
FXC
127202010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12721
12722 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12723 Remove.
12724 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12725 of duplicating code.
12726
92902b1b
IS
127272010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12728
12729 * c-common.c: Add two new entries for @optional
12730 and @required keywords.
12731
12732 merge from FSF 'apple/trunk' branch.
3f8257db 12733 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12734
12735 Radar 4386773
12736 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12737 objective-c keywords.
12738 (objc_set_method_opt): New declaration.
12739 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12740
46625112
JM
127412010-09-30 Joseph Myers <joseph@codesourcery.com>
12742
12743 * c-common.c (handle_optimize_attribute): Pass &global_options to
12744 cl_optimization_save and cl_optimization_restore.
12745 * c-opts.c (c_common_handle_option): Pass &global_options to
12746 handle_generated_option.
12747 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12748 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12749 &global_options to cl_optimization_restore.
12750
49b91f05
NP
127512010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12752
12753 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12754 Objective-C/Objective-C++ keywords.
12755
13ed556f 127562010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12757
9faeb493
UB
12758 Merge from 'apple/trunk' branch on FSF servers.
12759
3f8257db 12760 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12761
12762 Radar 4281748
12763 * c-common.h (objc_check_global_decl): New declaration.
12764 * stub-objc.c (objc_check_global_decl): New stub.
12765
f0036cca
JM
127662010-09-29 Joseph Myers <joseph@codesourcery.com>
12767
12768 * c.opt: Don't use VarExists.
12769
e3339d0f
JM
127702010-09-29 Joseph Myers <joseph@codesourcery.com>
12771
12772 * c-common.c (c_cpp_error): Update names of diagnostic_context
12773 members.
12774 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12775 cl_optimization members.
12776 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12777 sanitize_cpp_opts, finish_options): Update names of cpp_options
12778 members.
12779
1973201f
NP
127802010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
12781
12782 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
12783 (objc_is_reserved_word): Removed.
12784 * c-common.c: Updated comments.
12785 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12786 objc_is_reserved_word.
12787 * stub-objc.c (objc_is_reserved_word): Removed.
12788
f7e71da5
IS
127892010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12790
9faeb493 12791 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
12792 include attributes.
12793 (objc_start_method_definition): Likewise.
12794 (objc_build_keyword_decl): Likewise.
12795 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12796 (objc_start_method_definition): Likewise.
12797 (objc_build_keyword_decl): Likewise.
12798
c165dca7
IS
127992010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12800
12801 * c-common.h (objc_start_class_interface): Adjust prototype.
12802 (objc_start_category_interface): Likewise.
12803 (objc_start_protocol): Likewise.
12804 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12805 (objc_start_class_interface): Likewise.
12806 (objc_start_category_interface): Likewise.
12807
7458026b
ILT
128082010-09-27 Ian Lance Taylor <iant@google.com>
12809
12810 * c-common.c (c_common_attribute_table): Add no_split_stack.
12811 (handle_no_split_stack_attribute): New static function.
12812
b581b85b
NP
128132010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
12814
9faeb493 12815 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 12816
3f8257db 12817 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 12818
9faeb493 12819 Radar 4229905
b581b85b
NP
12820 * c-common.h (objc_have_common_type): New declaration.
12821 * stub-objc.c (objc_have_common_type): New stub.
12822
12823 2005-06-22 Ziemowit Laski <zlaski@apple.com>
12824
12825 Radar 4154928
12826 * c-common.h (objc_common_type): New prototype.
9faeb493 12827 * stub-objc.c (objc_common_type): New stub.
b581b85b 12828
46a4da10
JH
128292010-09-24 Jan Hubicka <jh@suse.cz>
12830
12831 * c-common.c (handle_leaf_attribute): New function.
12832 (struct attribute_spec c_common_att): Add leaf.
12833
e200444e
JM
128342010-09-22 Joseph Myers <joseph@codesourcery.com>
12835
12836 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12837 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12838 -dump, -dump=, -imacros, -imacros=, -include, -include=,
12839 -include-barrier, -include-directory, -include-directory=,
12840 -include-directory-after, -include-directory-after=,
12841 -include-prefix, -include-prefix=, -include-with-prefix,
12842 -include-with-prefix=, -include-with-prefix-after,
12843 -include-with-prefix-after=, -include-with-prefix-before,
12844 -include-with-prefix-before=, -no-integrated-cpp,
12845 -no-line-commands, -no-standard-includes, -no-warnings, -output,
12846 -output=, -pedantic, -pedantic-errors, -preprocess,
12847 -print-missing-file-dependencies, -trace-includes, -traditional,
12848 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12849 -user-dependencies, -verbose, -write-dependencies,
12850 -write-user-dependencies, no-integrated-cpp, traditional): New.
12851
29a80ea6
NP
128522010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12853
12854 PR objc/23710
ac1fc2fc
NP
12855 * c-common.h (objc_start_method_definition): Return bool instead
12856 of void.
12857 * stub-objc.c (objc_start_method_definition): Return bool instead
12858 of void.
12859
128602010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12861
12862 PR objc/25965
12863 * c-common.h (objc_get_interface_ivars): New declaration.
12864 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 12865
de621752
ILT
128662010-09-15 Ian Lance Taylor <iant@google.com>
12867
12868 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 12869 messages. Remove period at end of warning message.
de621752 12870
ba885ec5
NS
128712010-09-09 Nathan Sidwell <nathan@codesourcery.com>
12872
12873 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12874 (handle_alias_attribute): ... here.
12875 (handle_ifunc_attribute): New.
12876
c5ee1358
MM
128772010-09-06 Mark Mitchell <mark@codesourcery.com>
12878
12879 * c-common.h (do_warn_double_promotion): Declare.
12880 * c-common.c (do_warn_double_promotion): Define.
12881
0a0b3574
MM
128822010-09-05 Mark Mitchell <mark@codesourcery.com>
12883
12884 * c.opt (Wdouble-promotion): New.
12885
d1779886
JM
128862010-09-02 Joseph Myers <joseph@codesourcery.com>
12887
12888 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12889 fvtable-thunks, fxref): Mark no longer supported in help text.
12890
2d2bd949
JM
128912010-09-02 Joseph Myers <joseph@codesourcery.com>
12892
12893 * c.opt (Wimport, fall-virtual, falt-external-templates,
12894 fdefault-inline, fenum-int-equiv, fexternal-templates,
12895 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12896 fname-mangling-version-, fnew-abi, fnonnull-objects,
12897 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12898 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12899 applicable.
12900 (fhandle-exceptions): Mark with Alias and Warn.
12901 * c-opts.c (c_common_handle_option): Don't handle options marked
12902 as ignored.
12903
5de8299c
JM
129042010-09-02 Joseph Myers <joseph@codesourcery.com>
12905
12906 * c.opt (Wcomments, Werror-implicit-function-declaration,
12907 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12908 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12909 aliases.
12910 * c-common.c (option_codes): Use OPT_Wcomment instead of
12911 OPT_Wcomments.
12912 * c-opts.c (warning_as_error_callback, c_common_handle_option):
12913 Don't handle options marked as aliases.
12914
0ceb0201
RG
129152010-08-25 Richard Guenther <rguenther@suse.de>
12916
12917 * c-common.c (c_common_get_alias_set): Remove special
12918 handling for pointers.
12919
ac47786e
NF
129202010-08-20 Nathan Froyd <froydnj@codesourcery.com>
12921
12922 * c-common.c: Use FOR_EACH_VEC_ELT.
12923 * c-gimplify.c: Likewise.
12924 * c-pragma.c: Likewise.
12925
c878765b
JM
129262010-08-16 Joseph Myers <joseph@codesourcery.com>
12927
12928 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
12929 RejectDriver.
12930 (MMDX): Change back to MMD. Mark NoDriverArg instead of
12931 RejectDriver.
12932 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12933 instead of OPT_MDX and OPT_MMDX.
12934
603349bf
JM
129352010-08-16 Joseph Myers <joseph@codesourcery.com>
12936
12937 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12938
644fa7ac
JM
129392010-08-12 Joseph Myers <joseph@codesourcery.com>
12940
12941 * c.opt (MD, MMD): Change to MDX and MMDX.
12942 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12943
481e1176
JM
129442010-08-11 Joseph Myers <joseph@codesourcery.com>
12945
12946 * c-opts.c (c_common_handle_option): Call handle_generated_option
12947 instead of handle_option.
12948
ac8dc9f7
NF
129492010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12950
12951 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12952 (maybe_apply_renaming_pragma): Delete unneeded declarations.
12953
4f8c876d
NF
129542010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12955
12956 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
12957 (pending_redefine_extname): Change type to a VEC.
12958 (add_to_renaming_pragma_list): Update for new type of
12959 pending_redefine_extname.
ac8dc9f7 12960 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 12961
3b0c690e
AC
129622010-08-04 Arnaud Charlet <charlet@adacore.com>
12963
12964 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12965 visited.
12966 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12967 decide whether a type has already been declared/seen.
12968 Do not go to the original type.
12969 (dump_nested_types): New parameter forward.
12970 Generate forward declaration if needed and mark type as visited.
12971 (print_ada_declaration): Call dump_nested_types if not already done.
12972 Mark types as visited.
12973
1890bccc
JM
129742010-08-03 Joseph Myers <joseph@codesourcery.com>
12975
12976 * c.opt (-print-pch-checksum): Remove option.
12977 * c-opts.c (c_common_handle_option): Don't handle
12978 OPT_print_pch_checksum.
12979
5f20c657
JM
129802010-07-27 Joseph Myers <joseph@codesourcery.com>
12981
12982 * c-common.h (c_common_handle_option): Update prototype and return
12983 value type.
12984 * c-opts.c (c_common_handle_option): Update prototype and return
12985 value type. Update calls to handle_option and
12986 enable_warning_as_error.
12987
f551f80c
JJ
129882010-07-27 Jakub Jelinek <jakub@redhat.com>
12989
12990 PR c/45079
12991 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12992
61ff2bdc
JM
129932010-07-27 Joseph Myers <joseph@codesourcery.com>
12994
12995 * c-common.h (c_common_missing_argument): Remove.
12996 * c-opts.c (c_common_missing_argument): Remove.
12997 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12998 idirafter, imacros, include, isysroot, isystem, iquote): Add
12999 MissingArgError.
13000 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13001
7a9bf9a4
JM
130022010-07-27 Joseph Myers <joseph@codesourcery.com>
13003
13004 * c-common.h (c_common_option_lang_mask,
13005 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13006 New.
13007 (c_common_init_options): Update prototype.
13008 * c-opts.c (c_common_option_lang_mask): New.
13009 (c_common_initialize_diagnostics): Split out of
13010 c_common_init_options.
13011 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13012 New.
13013 (c_common_init_options): Update prototype. Use decoded options in
13014 search for -lang-asm.
13015
910ad8de
NF
130162010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13017
13018 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13019 * c-format.c: Likewise.
13020
718f9c0f
MLI
130212010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13022
13023 * c-common.h: Include diagnostic-core.h. Error if already
13024 included.
13025 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13026
4d451982
MLI
130272010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13028
adfac8df 13029 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13030 Do not include expr.h
13031 (vector_mode_valid_p): Move here.
13032
119fe915
SB
130332010-06-21 DJ Delorie <dj@redhat.com>
13034
13035 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13036 allow these pragmas anywhere.
13037
130382010-06-14 Jakub Jelinek <jakub@redhat.com>
13039
13040 PR bootstrap/44509
13041 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13042 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13043 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13044 ggc_strdup instead of xstrdup.
13045
130462010-06-10 Jakub Jelinek <jakub@redhat.com>
13047
13048 * c-cppbuiltin.c: Include cpp-id-data.h.
13049 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13050 (lazy_hex_fp_value): New function.
13051 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13052
6662d794
MLI
130532010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13054
13055 * c-gimplify.c: Do not include tree-flow.h
13056
38f8b050
JR
130572010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13058
13059 PR other/44034
13060 * c-common.c: Rename targetm member:
13061 targetm.enum_va_list -> targetm.enum_va_list_p
13062
9589f23e
AS
130632010-06-28 Anatoly Sokolov <aesok@post.ru>
13064
13065 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13066
3b06d379
SB
130672010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13068
13069 * c-cppbuiltin.c: Do not include except.h.
13070
d166d4c3
AK
130712010-06-24 Andi Kleen <ak@linux.intel.com>
13072
9faeb493
UB
13073 * c-common.c (warn_for_omitted_condop): New.
13074 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13075
70cb8be6
JM
130762010-06-21 Joseph Myers <joseph@codesourcery.com>
13077
13078 * c.opt (lang-objc): Remove.
13079 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13080
a4c97feb
JR
130812010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13082
13083 * c-opts.c: Include "tm_p.h".
13084
6e2f1956
JM
130852010-06-20 Joseph Myers <joseph@codesourcery.com>
13086
13087 * c-common.c (parse_optimize_options): Update call to
13088 decode_options.
13089
bc87224e
NF
130902010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13091
13092 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13093 new type of types_used_by_cur_var_decl.
13094
b49cf425
JR
130952010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13096
13097 PR bootstrap/44512
13098 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13099 for C++ standard compliance.
13100
59f9c2ed
JM
131012010-06-16 Jason Merrill <jason@redhat.com>
13102
13103 * c.opt: Add -Wnoexcept.
13104
33766b66
RG
131052010-06-16 Richard Guenther <rguenther@suse.de>
13106
13107 PR c/44555
13108 * c-common.c (c_common_truthvalue_conversion): Remove
13109 premature and wrong optimization concering ADDR_EXPRs.
13110
eff7e30c
AC
131112010-06-15 Arnaud Charlet <charlet@adacore.com>
13112
13113 * c-ada-spec.c (dump_sloc): Remove column info.
13114 (is_simple_enum): New function.
13115 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13116 enum types when relevant.
13117
6312e84d
MLI
131182010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13119
9faeb493 13120 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13121 location.
13122
1cb42611
JM
131232010-06-10 Joseph Myers <joseph@codesourcery.com>
13124
13125 * c-opts.c (c_common_handle_option): Don't handle
13126 OPT_fshow_column.
13127
a9429e29
LB
131282010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13129
13130 * c-pragma.c (push_alignment): Use typed GC allocation.
13131 (handle_pragma_push_options): Likewise.
13132
13133 * c-common.c (parse_optimize_options): Likewise.
13134
13135 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13136 option.
13137
5498f011
JM
131382010-06-07 Joseph Myers <joseph@codesourcery.com>
13139
13140 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13141 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13142 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13143 flag_signed_bitfields, warn_strict_null_sentinel,
13144 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13145 flag_gen_declaration, flag_no_gnu_keywords,
13146 flag_implement_inlines, flag_implicit_templates,
13147 flag_implicit_inline_templates, flag_optional_diags,
13148 flag_elide_constructors, flag_default_inline, flag_rtti,
13149 flag_conserve_space, flag_access_control, flag_check_new,
13150 flag_new_for_scope, flag_weak, flag_working_directory,
13151 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13152 flag_enforce_eh_specs, flag_threadsafe_statics,
13153 flag_pretty_templates): Remove.
13154 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13155 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13156 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13157 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13158 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13159 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13160 flag_no_gnu_keywords, flag_implement_inlines,
13161 flag_implicit_templates, flag_implicit_inline_templates,
13162 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13163 flag_rtti, flag_conserve_space, flag_access_control,
13164 flag_check_new, flag_new_for_scope, flag_weak,
13165 flag_working_directory, flag_use_cxa_atexit,
13166 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13167 flag_threadsafe_statics, flag_pretty_templates,
13168 warn_strict_null_sentinel): Remove.
13169 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13170 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13171 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13172 fimplicit-inline-templates, fimplicit-templates,
13173 flax-vector-conversions, fms-extensions, fnil-receivers,
13174 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13175 frtti, fshort-double, fshort-enums, fshort-wchar,
13176 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13177 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13178 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13179 gen-decls, undef): Use Var.
13180 (fdefault-inline, foptional-diags): Document as doing nothing.
13181 * c-opts.c (c_common_handle_option): Remove cases for options now
13182 using Var. Mark ignored options as such.
13183
39dabefd
SB
131842010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13185
9faeb493 13186 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13187 * c-common.def: Likewise.
13188 * c-common.h: Likewise.
13189 * c-cppbuiltin.c: Likewise.
13190 * c-dump.c: Likewise.
13191 * c-format.c: Likewise.
13192 * c-format.h : Likewise.
13193 * c-gimplify.c: Likewise.
13194 * c-lex.c: Likewise.
13195 * c-omp.c: Likewise.
13196 * c.opt: Likewise.
13197 * c-opts.c: Likewise.
13198 * c-pch.c: Likewise.
13199 * c-ppoutput.c: Likewise.
13200 * c-pragma.c: Likewise.
13201 * c-pragma.h: Likewise.
13202 * c-pretty-print.c: Likewise.
13203 * c-pretty-print.h: Likewise.
13204 * c-semantics.c: Likewise.
13205 * stub-objc.c: Likewise.
13206
13207 * c-common.c: Include gt-c-family-c-common.h.
13208 * c-pragma.c: Include gt-c-family-c-pragma.h.
13209\f
877e3c2a 13210Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13211
13212Copying and distribution of this file, with or without modification,
13213are permitted in any medium without royalty provided the copyright
13214notice and this notice are preserved.
This page took 4.899782 seconds and 5 git commands to generate.