]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
5fb1e674
GA
12022-12-16 Qing Zhao <qing.zhao@oracle.com>
2
3 * c.opt (Wstrict-flex-arrays): New option.
4
596dbfff
GA
52022-12-02 Andrew MacLeod <amacleod@redhat.com>
6
7 * c-attribs.cc (handle_deprecated_attribute): Use type when
8 using TYPE_NAME.
9
b35680ec
GA
102022-12-02 Jakub Jelinek <jakub@redhat.com>
11
12 PR c++/84469
13 * c-omp.cc (c_omp_is_loop_iterator): For range for with structured
14 binding return TREE_VEC_LENGTH (d->declv) even if decl is equal
15 to any of the structured binding decls.
16
6eea85a9
GA
172022-11-30 Iskander Shakirzyanov <iskander@ispras.ru>
18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
19
20 PR driver/107787
21 * c-common.cc (fold_offsetof,
22 convert_vector_to_array_for_subscript): Use OPT_Warray_bounds_
23 instead of OPT_Warray_bounds.
24
9a1b4f1d
GA
252022-11-24 Jakub Jelinek <jakub@redhat.com>
26
27 * c.opt (fcontract-role=, fcontract-semantic=): Terminate descriptions
28 with a dot.
29
8761284f
GA
302022-11-23 Andrew Pinski <apinski@marvell.com>
31 Jakub Jelinek <jakub@redhat.com>
32
33 PR c/107127
34 * c-gimplify.cc (c_genericize): Use walk_tree_without_duplicates
35 instead of walk_tree for c_genericize_control_r.
36
372022-11-23 Jakub Jelinek <jakub@redhat.com>
38
39 * c.opt (fcontract-assumption-mode=, fcontract-continuation-mode=,
40 fcontract-role=, fcontract-semantic=): Add RejectNegative.
41 (fcontract-build-level=): Terminate description with dot.
42
fb98ede8
GA
432022-11-19 Jakub Jelinek <jakub@redhat.com>
44
45 * c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_constexpr
46 value from 202207L to 202211L.
47
482022-11-19 Jeff Chapman II <jchapman@lock3software.com>
49 Andrew Sutton <asutton@lock3software.com>
50 Andrew Marmaduke <amarmaduke@lock3software.com>
51 Michael Lopez <mlopez@lock3software.com>
52 Jason Merrill <jason@redhat.com>
53
54 * c.opt: Add contracts flags.
55 * c-cppbuiltin.cc (c_cpp_builtins): Add contracts feature-test
56 macros.
57
80909529
GA
582022-11-16 Marek Polacek <polacek@redhat.com>
59
60 PR c++/106649
61 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_constexpr for
62 C++23.
63 * c-opts.cc (c_common_post_options): Set warn_invalid_constexpr
64 depending on cxx_dialect.
65 * c.opt (Winvalid-constexpr): New option.
66
672022-11-16 Jakub Jelinek <jakub@redhat.com>
68
69 * c-common.def (CONCEPT_DECL): New tree, moved here from
70 cp-tree.def.
71 * c-common.cc (c_common_init_ts): Handle CONCEPT_DECL.
72 * c-attribs.cc (handle_deprecated_attribute): Allow deprecated
73 attribute on CONCEPT_DECL.
74
cdc34229
GA
752022-11-15 Lewis Hyatt <lhyatt@gmail.com>
76
77 * c-opts.cc (c_finish_options): Use special_fname_builtin () rather
78 than a hard-coded string.
79
83d400bd
GA
802022-11-15 Jakub Jelinek <jakub@redhat.com>
81
82 * c-cppbuiltin.cc (c_cpp_builtins): Bump C++23
83 __cpp_multidimensional_subscript macro value to 202211L.
84
852022-11-15 Patrick Palka <ppalka@redhat.com>
86
87 PR c++/107638
88 * c-lex.cc (c_common_has_attribute): Return 1 for init_priority
89 iff SUPPORTS_INIT_PRIORITY.
90
912022-11-14 Martin Liska <mliska@suse.cz>
92
93 Revert:
94 2022-11-09 Martin Liska <mliska@suse.cz>
95
96 * c-target.def: Port to RST.
97
30d77d49
GA
982022-11-12 Joseph Myers <joseph@codesourcery.com>
99
100 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY.
101
5b6ce16a
GA
1022022-11-11 Jonathan Wakely <jwakely@redhat.com>
103
104 PR c/85487
105 * c-pragma.cc (handle_pragma_ignore): New function.
106 (init_pragma): Register region and endregion pragmas.
107
1cdfd0e5
GA
1082022-11-09 Martin Liska <mliska@suse.cz>
109
110 * c-target.def: Port to RST.
111
05788e9b
GA
1122022-11-05 Lewis Hyatt <lhyatt@gmail.com>
113
114 PR preprocessor/55971
115 * c-ppoutput.cc (adjust_for_newlines): Update comment.
116
d29260ce
GA
1172022-11-03 Jason Merrill <jason@redhat.com>
118
119 * c-opts.cc (c_common_post_options): -fconcepts no longer implies
120 -fconcepts-ts before C++20.
121
3055829a
GA
1222022-10-28 Joseph Myers <joseph@codesourcery.com>
123
124 * c-common.cc (def_fn_type): Call build_function_type for
125 zero-argument variable-argument function.
126 (c_common_nodes_and_builtins): Build default_function_type with
127 build_function_type.
128 * c.opt (fallow-parameterless-variadic-functions): Mark as ignored
129 option.
130
1312022-10-28 Joseph Myers <joseph@codesourcery.com>
132
133 PR c/61469
134 * c-common.h (ENUM_UNDERLYING_TYPE, ENUM_FIXED_UNDERLYING_TYPE_P):
135 New. Moved from cp/cp-tree.h.
136 * c-warn.cc (warnings_for_convert_and_check): Do not consider
137 conversions to enum with underlying type bool to overflow.
138
486a5037
GA
1392022-10-26 Marek Polacek <polacek@redhat.com>
140
141 PR c++/106393
142 * c.opt (Wdangling-reference): New.
143
87f9c4a4
GA
1442022-10-19 Joseph Myers <joseph@codesourcery.com>
145
146 * c-format.h (enum format_lengths): Add FMT_LEN_w8, FMT_LEN_w16,
147 FMT_LEN_w32, FMT_LEN_w64, FMT_LEN_wf8, FMT_LEN_wf16, FMT_LEN_wf32
148 and FMT_LEN_wf64.
149 (NOARGUMENTS, NOLENGTHS): Update definitions.
150 (T_I8, T2X_I8, T_I16, T2X_I16, T_I32, T2X_I32, T_I64, T2X_I64)
151 (T_U8, T2X_U8, T_U16, T2X_U16, T_U32, T2X_U32, T_U64, T2X_U64)
152 (T_IF8, T2X_IF8, T_IF16, T2X_IF16, T_IF32, T2X_IF32, T_IF64)
153 (T2X_IF64, T_UF8, T2X_UF8, T_UF16, T2X_UF16, T_UF32, T2X_UF32)
154 (T_UF64, T2X_UF64): New macros.
155 * c-format.cc (printf_length_specs, scanf_length_specs): Add wN
156 and wfN length modifiers.
157 (print_char_table, scan_char_table): Add entries using wN and wfN
158 length modifiers.
159
21de009f
GA
1602022-10-18 Joseph Myers <joseph@codesourcery.com>
161
162 PR c/36113
163 * c-common.cc (c_common_type_for_size): Add fallback to
164 widest_unsigned_literal_type_node or
165 widest_integer_literal_type_node for precision that may not
166 exactly match the precision of those types.
167
baeec7cc
GA
1682022-10-14 Jakub Jelinek <jakub@redhat.com>
169
170 * c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node,
171 predefine __BFLT16_*__ macros and for C++23 also
172 __STDCPP_BFLOAT16_T__. Predefine bfloat16_type_node related
173 macros for -fbuilding-libgcc.
174 * c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16.
175
1762022-10-14 Jakub Jelinek <jakub@redhat.com>
177
178 PR middle-end/323
179 PR c++/107097
180 * c-common.def (EXCESS_PRECISION_EXPR): Remove comment part about
181 the tree being specific to C/ObjC.
182 * c-opts.cc (c_common_post_options): Handle flag_excess_precision
183 in C++ the same as in C.
184 * c-lex.cc (interpret_float): Set const_type to excess_precision ()
185 even for C++.
186
621a911d
GA
1872022-10-13 Joseph Myers <joseph@codesourcery.com>
188
189 * c-cppbuiltin.cc (builtin_define_float_constants): Do not use
190 value 2 for *_IS_IEC_60559.
191
781f477a
GA
1922022-10-12 Lewis Hyatt <lhyatt@gmail.com>
193
194 PR preprocessor/60014
195 PR preprocessor/60723
196 * c-ppoutput.cc (class token_streamer): Remove member
197 line_marker_emitted to...
198 (token_streamer::stream): ...a local variable here. Set
199 print.prev_was_system_token on all code paths.
200
27bfe54e
GA
2012022-10-10 Nathan Sidwell <nathan@acm.org>
202
203 * c-opts.cc (c_common_post_options): Bump abi to 18.
204
2052022-10-10 Marek Polacek <polacek@redhat.com>
206
207 PR c++/106937
208 * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU
209 attributes here.
210 (c_pretty_printer::direct_abstract_declarator): Print the standard [[]]
211 attributes here.
212 (pp_c_attributes): Remove.
213 (pp_c_attributes_display): Print the [[]] form if appropriate. Use
214 get_attribute_name. Don't print a trailing space when printing the
215 [[]] form.
216 * c-pretty-print.h (pp_c_attributes): Remove.
217
9ff6c33e
GA
2182022-10-07 Qing Zhao <qing.zhao@oracle.com>
219
220 * c-attribs.cc (handle_strict_flex_array_attribute): New function.
221 (c_common_attribute_table): New item for strict_flex_array.
222 * c.opt: (fstrict-flex-arrays): New option.
223 (fstrict-flex-arrays=): New option.
224
2252022-10-07 Martin Liska <mliska@suse.cz>
226
227 * name-hint.h: Use std::move.
228
2292022-10-07 Jakub Jelinek <jakub@redhat.com>
230
231 * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute
232 only in gnu namespace or as standard attribute, treat fallthrough
233 attributes in other namespaces like any other unknown attribute.
234
629d04d3
GA
2352022-10-06 Joseph Myers <joseph@codesourcery.com>
236
237 * c-common.cc (c_common_reswords): Mark typeof as D_EXT11. Add
238 typeof_unqual.
239 * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL.
240 (D_EXT11): New macro. Values of subsequent macros updated.
241
2422022-10-06 Jakub Jelinek <jakub@redhat.com>
243
244 PR c++/106654
245 * c-attribs.cc (handle_assume_attribute): New function.
246 (c_common_attribute_table): Add entry for assume attribute.
247 * c-lex.cc (c_common_has_attribute): Handle
248 __have_cpp_attribute (assume).
249
85872a69
GA
2502022-10-04 Jakub Jelinek <jakub@redhat.com>
251
252 * c-omp.cc (c_omp_directives): Uncomment begin declare target
253 entry.
254
69fd6dcc
GA
2552022-10-03 Patrick Palka <ppalka@redhat.com>
256
257 * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of
258 RID_IS_SAME_AS.
259
2602022-10-03 Joseph Myers <joseph@codesourcery.com>
261
262 * c-cppbuiltin.cc (builtin_define_float_constants): Do not
263 special-case __*_EPSILON__ setting for IBM long double for C2x.
264
3a221b73
GA
2652022-09-30 Patrick Palka <ppalka@redhat.com>
266
267 * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle
268 C++ traits.
269 * c-common.h (enum rid): Likewise.
270
bbdcdf5c
GA
2712022-09-29 Joseph Myers <joseph@codesourcery.com>
272
273 * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for
274 C.
275
2762022-09-29 Patrick Palka <ppalka@redhat.com>
277
278 * c-common.cc (c_common_reswords): Add __remove_cv,
279 __remove_reference and __remove_cvref.
280 * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
281 and RID_REMOVE_CVREF.
282
1f16a020
GA
2832022-09-27 Marek Polacek <polacek@redhat.com>
284
285 PR c++/101165
286 PR c++/106882
287 * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move.
288
2892022-09-27 Marek Polacek <polacek@redhat.com>
290
291 * c-format.cc (c_keywords): Drop nothrow.
292
2932022-09-27 Jakub Jelinek <jakub@redhat.com>
294
295 PR c++/106651
296 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
297 __cpp_static_call_operator=202207L for C++23.
298
2992022-09-27 Jakub Jelinek <jakub@redhat.com>
300
301 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME,
302 PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN. Rename
303 PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
304 * c-pragma.cc (omp_pragmas): Add assumes and begin.
305 For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
306 (omp_pragmas_simd): Add assume.
307 * c-common.h (c_omp_directives): Declare.
308 * c-omp.cc (omp_directives): Rename to ...
309 (c_omp_directives): ... this. No longer static. Uncomment
310 assume, assumes, begin assumes and end assumes entries.
311 In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET
312 to PRAGMA_OMP_END.
313 (c_omp_categorize_directive): Adjust for omp_directives to
314 c_omp_directives renaming.
315
3162022-09-27 Jakub Jelinek <jakub@redhat.com>
317
318 PR c++/106652
319 PR c++/85518
320 * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
321 _Float{32,64,128}x flags from D_CONLY to 0.
322 (shorten_binary_op): Punt if common_type returns error_mark_node.
323 (shorten_compare): Likewise.
324 (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
325 and _Float{32,64,128}x builtin types if available. For C++
326 clear float128t_type_node.
327 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
328 __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
329 * c-lex.cc (interpret_float): For q/Q suffixes prefer
330 float128t_type_node over float128_type_node. Allow
331 {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
332 for C++20 and older. Allow {f,F}{32,64,128}x suffixes for C++
333 with pedwarn. Don't call excess_precision_type for C++.
334
220c4d8e
GA
3352022-09-26 Marek Polacek <polacek@redhat.com>
336
337 PR c++/106656
338 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t
339 for C++20.
340
4afaeaab
GA
3412022-09-23 Marek Polacek <polacek@redhat.com>
342
343 PR c++/106784
344 * c-common.cc (c_common_reswords): Add __is_convertible and
345 __is_nothrow_convertible.
346 * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and
347 RID_IS_NOTHROW_CONVERTIBLE.
348
279c6715
GA
3492022-09-22 David Malcolm <dmalcolm@redhat.com>
350
351 PR c/106830
352 * c-warn.cc (check_for_xor_used_as_pow): Don't try checking
353 values that don't fit in uhwi.
354
d0fc05e8
GA
3552022-09-15 Richard Biener <rguenther@suse.de>
356
357 * c-common.h (build_void_list_node): Remove.
358 * c-common.cc (c_common_nodes_and_builtins): Do not initialize
359 void_list_node.
360
861d1a11
GA
3612022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
362
363 * c-format.cc (convert_format_name_to_system_name): Fix warning.
364
fe2a8ce9
GA
3652022-09-07 Joseph Myers <joseph@codesourcery.com>
366
367 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY
368 for alignas, alignof, bool, false, static_assert, thread_local and
369 true.
370
3712022-09-07 Jakub Jelinek <jakub@redhat.com>
372
373 * c.opt (Winvalid-utf8): Use ObjC instead of objC. Remove
374 " in comments" from description.
375 (Wunicode): New option.
376
25aeb922
GA
3772022-09-06 Jakub Jelinek <jakub@redhat.com>
378
379 PR c/106836
380 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
381
83f2f228
GA
3822022-09-03 Jakub Jelinek <jakub@redhat.com>
383
384 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
385 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
386 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
387 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
388
c64b0947
GA
3892022-09-02 David Malcolm <dmalcolm@redhat.com>
390
391 PR c/90885
392 * c-common.h (check_for_xor_used_as_pow): New decl.
393 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
394 * c-warn.cc (check_for_xor_used_as_pow): New.
395 * c.opt (Wxor-used-as-pow): New.
396
bb0a1556
GA
3972022-09-01 Jason Merrill <jason@redhat.com>
398
399 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
400 char8_t.
401 (braced_list_to_string): Check for char-sized elements.
402
4032022-09-01 Jakub Jelinek <jakub@redhat.com>
404
405 PR c++/106655
406 * c.opt (-Winvalid-utf8): New warning.
407 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
408 Set cpp_opts->cpp_input_charset_explicit.
409 (c_common_post_options): If -finput-charset=UTF-8 is explicit
410 in C++23, enable -Winvalid-utf8 by default and if -pedantic
411 or -pedantic-errors, make it a pedwarn.
412
542c60c4
GA
4132022-08-31 Joseph Myers <joseph@codesourcery.com>
414
415 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
416 for LABEL_DECL.
417 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
418 decl_attributes.
419 * c-common.h (do_case, c_add_case_label): Update declarations.
420 * c-lex.cc (c_common_has_attribute): For C, produce a result of
421 201910 for fallthrough and 202106 for maybe_unused.
422
16f542d6
GA
4232022-08-26 Marek Polacek <polacek@redhat.com>
424
425 PR c++/81159
426 * c.opt (Wself-move): New option.
427
4282022-08-26 Jakub Jelinek <jakub@redhat.com>
429
430 * c-common.cc (check_builtin_function_arguments): Handle
431 BUILT_IN_ISSIGNALING.
432
4332022-08-26 Jakub Jelinek <jakub@redhat.com>
434
435 PR c++/106648
436 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
437 __cpp_named_character_escapes to 202207L.
438
5d4389dc
GA
4392022-08-25 Marek Polacek <polacek@redhat.com>
440
441 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
442 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
443 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
444 (struct c_common_resword): Resize the disable member.
445 (D_C2X): Add.
446 (nullptr_node): Define.
447 (nullptr_type_node): Define.
448 (NULLPTR_TYPE_P): Define.
449 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
450 NULLPTR_TYPE.
451 (c_pretty_printer::direct_abstract_declarator): Likewise.
452 (c_pretty_printer::constant): Likewise.
453
47a61e65
GA
4542022-08-16 Tom Honermann <tom@honermann.net>
455
456 PR c++/106423
457 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
458 diagnostics in C++20 and later.
459 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
460
5cd525f0
GA
4612022-08-11 Marek Polacek <polacek@redhat.com>
462
463 PR middle-end/102633
464 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
465 suppress_warning here.
466
5f17badb
GA
4672022-08-08 Tom Honermann <tom@honermann.net>
468
469 PR preprocessor/106426
470 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
471 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
472
4732022-08-08 Tom Honermann <tom@honermann.net>
474
475 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
476 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
477 enabled.
478 * c-opts.cc (c_common_post_options): Set flag_char8_t if
479 targeting C2x.
480
4a7274dd
GA
4812022-07-31 Lewis Hyatt <lhyatt@gmail.com>
482
483 PR c++/66290
484 * c-common.h: Rename global done_lexing to
485 override_libcpp_locations.
486 * c-common.cc (c_cpp_diagnostic): Likewise.
487 * c-opts.cc (c_common_finish): Set override_libcpp_locations
488 (formerly done_lexing) immediately prior to calling cpp_finish ().
489
1e2c5f4c
GA
4902022-07-27 Lewis Hyatt <lhyatt@gmail.com>
491
492 * c-ppoutput.cc (token_streamer::stream): Update input_location
493 prior to streaming each token.
494
0e6fa997
GA
4952022-07-23 Immad Mir <mirimmad@outlook.com>
496
497 * c-attribs.cc: (c_common_attribute_table): add three new attributes
498 namely: fd_arg, fd_arg_read and fd_arg_write.
499 (handle_fd_arg_attribute): New.
500
bdc7b765
GA
5012022-07-15 Marek Polacek <polacek@redhat.com>
502
503 PR c++/104477
504 * c-common.cc (c_common_reswords): Add
505 __reference_constructs_from_temporary and
506 __reference_converts_from_temporary.
507 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
508 RID_REF_CONVERTS_FROM_TEMPORARY.
509
5102022-07-15 Jonathan Wakely <jwakely@redhat.com>
511
512 * c-format.cc (class range_label_for_format_type_mismatch):
513 Adjust to new label_text API.
514
c72d4714
GA
5152022-07-11 Lewis Hyatt <lhyatt@gmail.com>
516
517 PR preprocessor/106252
518 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
519 option argument prior to verifying the option was found.
520
6345c414
GA
5212022-07-07 David Malcolm <dmalcolm@redhat.com>
522
523 * c-format.cc (range_label_for_format_type_mismatch::get_text):
524 Update for removal of label_text::maybe_free in favor of automatic
525 memory management.
526
4bc92c3b
GA
5272022-07-06 Lewis Hyatt <lhyatt@gmail.com>
528
529 PR preprocessor/53920
530 PR c++/53431
531 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
532 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
533 (c_pp_stream_token): Declare.
534 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
535 pragmas to...
536 (should_output_pragmas): ...here. New function.
537 (token_streamer::stream): Support handling early pragmas.
538 (do_line_change): Likewise.
539 (c_pp_stream_token): New function.
540 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
541 (pragma_diagnostic_lex_normal): New function. Moved logic for
542 interpreting GCC diagnostic pragmas here.
543 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
544 directly from libcpp.
545 (handle_pragma_diagnostic): Refactor into helper function...
546 (handle_pragma_diagnostic_impl): ...here. New function.
547 (handle_pragma_diagnostic_early): New function.
548 (handle_pragma_diagnostic_early_pp): New function.
549 (struct pragma_ns_name): Renamed to...
550 (struct pragma_pp_data): ...this. Add new "early_handler" member.
551 (c_register_pragma_1): Support early pragmas in the preprocessor.
552 (c_register_pragma_with_early_handler): New function.
553 (c_register_pragma): Support the new early handlers in struct
554 internal_pragma_handler.
555 (c_register_pragma_with_data): Likewise.
556 (c_register_pragma_with_expansion): Likewise.
557 (c_register_pragma_with_expansion_and_data): Likewise.
558 (c_invoke_early_pragma_handler): New function.
559 (c_pp_invoke_early_pragma_handler): New function.
560 (init_pragma): Add early pragma support for diagnostic pragmas.
561 * c-pragma.h (struct internal_pragma_handler): Add new early handler
562 members.
563 (c_register_pragma_with_early_handler): Declare.
564 (c_invoke_early_pragma_handler): Declare.
565 (c_pp_invoke_early_pragma_handler): Declare.
566
d1f3a3ff
GA
5672022-07-05 Marek Polacek <polacek@redhat.com>
568
569 PR c++/105626
570 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
571 u8 strings.
572
ed974488
GA
5732022-07-01 Marek Polacek <polacek@redhat.com>
574
575 PR c++/106111
576 * c-common.h (enum rid): Update RID_LAST_CXX20.
577
976196b3
GA
5782022-06-30 Jonathan Wakely <jwakely@redhat.com>
579
580 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
581 names.
582
84c2131d
GA
5832022-06-24 Jason Merrill <jason@redhat.com>
584
585 PR c++/87729
586 PR c++/20423
587 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
588
4390e7bf
GA
5892022-06-18 Jakub Jelinek <jakub@redhat.com>
590
591 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
592 Use flag_sanitize_trap & SANITIZE_??? instead of
593 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
594 and flag_sanitize_trap differs for them, emit __builtin_trap only
595 for the comparison where trap is requested.
596 (ubsan_instrument_vla, ubsan_instrument_return): Use
597 lag_sanitize_trap & SANITIZE_??? instead of
598 flag_sanitize_undefined_trap_on_error.
599
c3642271
GA
6002022-06-13 Jason Merrill <jason@redhat.com>
601
602 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
603
d9176e64
GA
6042022-05-27 Marek Polacek <polacek@redhat.com>
605
606 PR c/90658
607 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
608
6092022-05-27 Jakub Jelinek <jakub@redhat.com>
610
611 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
612
57f2ce6a
GA
6132022-05-20 David Malcolm <dmalcolm@redhat.com>
614
615 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
616 and "override".
617 * c-pretty-print.h: Likewise.
618
1cda629f
GA
6192022-05-18 Marek Polacek <polacek@redhat.com>
620
621 PR c/105131
622 * c.opt (Wenum-int-mismatch): New.
623
6242022-05-18 Marek Polacek <polacek@redhat.com>
625
626 PR c++/105497
627 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
628 enumerator when it was marked with attribute unused.
629
6302022-05-18 Eric Botcazou <ebotcazou@adacore.com>
631
632 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
633 floating-point complex types.
634 <POINTER_TYPE>: Do not use limited_with clause if the designated
635 type is a scalar type.
636
3d9439b1
GA
6372022-05-17 Jakub Jelinek <jakub@redhat.com>
638
639 * c-omp.cc (c_finish_omp_depobj): Handle
640 OMP_CLAUSE_DEPEND_INOUTSET.
641
702bd11f
GA
6422022-05-16 Jason Merrill <jason@redhat.com>
643
644 PR c/105492
645 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
646 here.
647
6482022-05-16 Martin Liska <mliska@suse.cz>
649
650 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
651 (c_common_nodes_and_builtins): Likewise.
652 * c-format.cc (check_tokens): Likewise.
653 (check_plain): Likewise.
654 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
655 (init_pragma): Likewise.
656 * known-headers.cc (get_string_macro_hint): Likewise.
657 (get_stdlib_header_for_name): Likewise.
658 * c-attribs.cc: Likewise.
659
9df4ffe4
GA
6602022-05-13 Richard Biener <rguenther@suse.de>
661
662 * c-omp.cc: Remove gimple-fold.h include.
663
49ace834
GA
6642022-05-12 Jakub Jelinek <jakub@redhat.com>
665
666 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
667 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
668 if null_pointer_node.
669
d0d513b5
GA
6702022-05-11 Martin Liska <mliska@suse.cz>
671
672 PR target/105355
673 * c-opts.cc (c_common_handle_option): Change option name.
674 * c.opt: Remove Joined and use Separate option.
675
bd022ff9
GA
6762022-05-09 Alex Coplan <alex.coplan@arm.com>
677
678 * c-common.h (get_dump_info): Delete.
679 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
680 from the global dump_manager instead of the (now obsolete)
681 get_dump_info.
682 * c-opts.cc (original_dump_file): Delete.
683 (original_dump_flags): Delete.
684 (c_common_parse_file): Switch to using global dump_manager to
685 manage the original dump file; fix leak of dump file.
686 (get_dump_info): Delete.
687
a1947c92
GA
6882022-05-07 Marek Polacek <polacek@redhat.com>
689
690 PR c++/101833
691 PR c++/47634
692 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
693 with FN being either a function declaration or function type. Use
694 maybe_adjust_arg_pos_for_attribute.
695 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
696 check_function_format.
697 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
698 (positional_argument): Adjust.
699 * c-format.cc (get_constant): Rename to ...
700 (validate_constant): ... this. Take EXPR by reference. Return bool
701 instead of tree.
702 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
703 return value of validate_constant.
704 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
705 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
706 (check_function_format): Adjust a parameter name.
707 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
708
3e7db517
GA
7092022-05-04 Marek Polacek <polacek@redhat.com>
710
711 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
712 char to int.
713
95874f95
GA
7142022-04-30 Jason Merrill <jason@redhat.com>
715
716 PR c/100545
717 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
718 and typedef.
719 * c-common.cc (set_underlying_type): Add assert.
720
01ad093b
GA
7212022-04-26 Patrick Palka <ppalka@redhat.com>
722
723 PR c++/105304
724 * c-common.cc (verify_tree) [restart]: Move up to before the
725 NULL test.
726
da066c42
GA
7272022-04-11 Jakub Jelinek <jakub@redhat.com>
728
729 PR c++/105186
730 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
731 and __int%d__ builtin types, initialize corresponding ridpointers
732 entry.
733
150ab50f
GA
7342022-03-30 Marek Polacek <polacek@redhat.com>
735
736 PR c++/101030
737 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
738 conversion_warning when OP1 is null.
739
7402022-03-30 Thomas Schwinge <thomas@codesourcery.com>
741
742 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
743 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
744 option properties.
745
7462022-03-30 Thomas Schwinge <thomas@codesourcery.com>
747
748 * c.opt (Wuse-after-free): Remove.
749
7502022-03-30 Thomas Schwinge <thomas@codesourcery.com>
751
752 * c.opt (Warray-bounds): Remove.
753
d2906412
GA
7542022-03-26 Thomas Schwinge <thomas@codesourcery.com>
755
756 * c.opt: Properly quote comment.
757
31e989a2
GA
7582022-03-25 Eric Botcazou <ebotcazou@adacore.com>
759
760 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
761 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
762 the referenced type instead. Deal with the anonymous original type
763 of a typedef'ed type. In the actual access case, follow the chain
764 of external subtypes.
765 <TYPE_DECL>: Tidy up control flow.
766
d156bb87
GA
7672022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
768
769 * c-ada-spec.cc: Change array length
770
d7f00da1
GA
7712022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
772
773 * c-common.cc (c_family_tests): Call the new tests.
774 * c-common.h (c_diagnostic_tests): Declare.
775 (c_opt_problem_cc_tests): Likewise.
776
7772022-03-19 Jakub Jelinek <jakub@redhat.com>
778
779 PR c++/101515
780 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
781 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
782 be printed.
783
9fc8f278
GA
7842022-03-16 Christophe Lyon <christophe.lyon@arm.com>
785 Roger Sayle <roger@nextmovesoftware.com>
786
787 PR c/98198
788 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
789
7902022-03-16 Patrick Palka <ppalka@redhat.com>
791
792 PR c++/96780
793 * c.opt: Add -ffold-simple-inlines.
794
b9756c08
GA
7952022-03-13 Tobias Burnus <tobias@codesourcery.com>
796
797 * c-target.def (check_string_object_format_arg): Fix description typo.
798
57eeedda
GA
7992022-03-12 Thomas Schwinge <thomas@codesourcery.com>
800
801 PR other/65095
802 * c-common.h (c_omp_map_clause_name): Remove.
803 * c-omp.cc (c_omp_map_clause_name): Remove.
804
8cc4f9cd
GA
8052022-03-09 Jakub Jelinek <jakub@redhat.com>
806
807 PR c/104711
808 * c-opts.cc (c_common_post_options): Don't enable
809 -Wshift-negative-value from -Wextra for C++20 or later.
810 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
811 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
812 instead of TYPE_UNSIGNED.
813
e6533e2e
GA
8142022-03-07 Jakub Jelinek <jakub@redhat.com>
815
816 * c-attribs.cc: Fix up duplicated word issue in a comment.
817
12d4552e
GA
8182022-03-01 Martin Liska <mliska@suse.cz>
819
820 PR ipa/104533
821 * c-attribs.cc (handle_target_clones_attribute): Use
822 get_target_clone_attr_len and report warning soon.
823
0bdb0498
GA
8242022-02-17 Jonathan Wakely <jwakely@redhat.com>
825
826 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
827 (handle_pragma_weak): Likewise.
828 (handle_pragma_scalar_storage_order): Likewise.
829 (handle_pragma_redefine_extname): Likewise.
830 (handle_pragma_visibility): Likewise.
831 (handle_pragma_diagnostic): Likewise.
832 (handle_pragma_target): Likewise.
833 (handle_pragma_optimize): Likewise.
834 (handle_pragma_push_options): Likewise.
835 (handle_pragma_pop_options): Likewise.
836 (handle_pragma_reset_options): Likewise.
837 (handle_pragma_message): Likewise.
838 (handle_pragma_float_const_decimal64): Likewise.
839
cb3afcd2
GA
8402022-02-16 Jakub Jelinek <jakub@redhat.com>
841
842 PR c/104531
843 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
844 build_binary_op with LT_EXPR and only if that doesn't return
845 error_mark_node call build_modify_expr.
846
8472022-02-16 Jakub Jelinek <jakub@redhat.com>
848
849 PR c/104510
850 * c-common.cc (shorten_compare): Convert original arguments to
851 the original *restype_ptr when mixing binary and decimal float.
852
1f8a09d2
GA
8532022-02-14 Richard Biener <rguenther@suse.de>
854
855 PR c/104505
856 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
857 internal function calls.
858
e8d68f0a
GA
8592022-02-11 Richard Biener <rguenther@suse.de>
860
861 * c-attribs.cc (c_common_attribute_table): Add entry for
862 vector_mask.
863 (handle_vector_mask_attribute): New.
864
a645583d
GA
8652022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
866
867 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
868 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
869 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
870
3adf509f
GA
8712022-02-09 Jason Merrill <jason@redhat.com>
872
873 * c-cppbuiltin.cc (c_cpp_builtins): Update values
874 of __cpp_constexpr and __cpp_concepts for C++20.
875
bb99171b
GA
8762022-01-24 Marek Polacek <polacek@redhat.com>
877
878 PR preprocessor/104030
879 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
880
9dd44357
GA
8812022-01-21 Jakub Jelinek <jakub@redhat.com>
882
883 PR c++/104148
884 * c-common.h (check_function_arguments_recurse): Add for_format
885 arg.
886 * c-common.cc (check_function_nonnull): Pass false to
887 check_function_arguments_recurse's last argument.
888 (check_function_arguments_recurse): Add for_format argument,
889 if true, don't stop on warning_suppressed_p.
890 * c-format.cc (check_format_info): Pass true to
891 check_function_arguments_recurse's last argument.
892
fe1ad141
GA
8932022-01-19 David Malcolm <dmalcolm@redhat.com>
894
895 * c-common.cc (c_common_c_tests): Rename to...
896 (c_common_cc_tests): ...this.
897 (c_family_tests): Update calls for .c to .cc renaming.
898 * c-common.h (c_format_c_tests): Rename to...
899 (c_format_cc_tests): ...this.
900 (c_indentation_c_tests): Rename to...
901 (c_indentation_cc_tests): ...this.
902 (c_pretty_print_c_tests): Rename to...
903 (c_pretty_print_cc_tests): ...this.
904 * c-format.cc (c_format_c_tests): Rename to...
905 (c_format_cc_tests): ...this.
906 * c-indentation.cc (c_indentation_c_tests): Rename to...
907 (c_indentation_cc_tests): ...this.
908 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
909 (c_pretty_print_cc_tests): ...this.
910
fc829782
GA
9112022-01-17 Martin Liska <mliska@suse.cz>
912
913 * c-ada-spec.cc: Rename .c names to .cc.
914 * c-ada-spec.h: Likewise.
915 * c-common.cc (c_build_vec_convert): Likewise.
916 (warning_candidate_p): Likewise.
917 * c-common.h (enum rid): Likewise.
918 (build_real_imag_expr): Likewise.
919 (finish_label_address_expr): Likewise.
920 (c_get_substring_location): Likewise.
921 (c_build_bind_expr): Likewise.
922 (conflict_marker_get_final_tok_kind): Likewise.
923 (c_parse_error): Likewise.
924 (check_missing_format_attribute): Likewise.
925 (invalid_array_size_error): Likewise.
926 (warn_for_multistatement_macros): Likewise.
927 (build_attr_access_from_parms): Likewise.
928 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
929 * c-format.cc: Likewise.
930 * c-gimplify.cc (c_gimplify_expr): Likewise.
931 * c-indentation.h: Likewise.
932 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
933 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
934 * c-opts.cc (c_common_post_options): Likewise.
935 (set_std_cxx23): Likewise.
936 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
937 * c-pretty-print.h: Likewise.
938
9392022-01-17 Martin Liska <mliska@suse.cz>
940
941 * c-ada-spec.c: Moved to...
942 * c-ada-spec.cc: ...here.
943 * c-attribs.c: Moved to...
944 * c-attribs.cc: ...here.
945 * c-common.c: Moved to...
946 * c-common.cc: ...here.
947 * c-cppbuiltin.c: Moved to...
948 * c-cppbuiltin.cc: ...here.
949 * c-dump.c: Moved to...
950 * c-dump.cc: ...here.
951 * c-format.c: Moved to...
952 * c-format.cc: ...here.
953 * c-gimplify.c: Moved to...
954 * c-gimplify.cc: ...here.
955 * c-indentation.c: Moved to...
956 * c-indentation.cc: ...here.
957 * c-lex.c: Moved to...
958 * c-lex.cc: ...here.
959 * c-omp.c: Moved to...
960 * c-omp.cc: ...here.
961 * c-opts.c: Moved to...
962 * c-opts.cc: ...here.
963 * c-pch.c: Moved to...
964 * c-pch.cc: ...here.
965 * c-ppoutput.c: Moved to...
966 * c-ppoutput.cc: ...here.
967 * c-pragma.c: Moved to...
968 * c-pragma.cc: ...here.
969 * c-pretty-print.c: Moved to...
970 * c-pretty-print.cc: ...here.
971 * c-semantics.c: Moved to...
972 * c-semantics.cc: ...here.
973 * c-ubsan.c: Moved to...
974 * c-ubsan.cc: ...here.
975 * c-warn.c: Moved to...
976 * c-warn.cc: ...here.
977 * cppspec.c: Moved to...
978 * cppspec.cc: ...here.
979 * stub-objc.c: Moved to...
980 * stub-objc.cc: ...here.
981
9248ee41
GA
9822022-01-15 Martin Sebor <msebor@redhat.com>
983
984 PR c/63272
985 * c.opt (-Wdangling-pointer): New option.
986
9872022-01-15 Martin Sebor <msebor@redhat.com>
988
989 PR tree-optimization/80532
990 * c.opt (-Wuse-after-free): New options.
991
617db51d
GA
9922022-01-14 David Malcolm <dmalcolm@redhat.com>
993
994 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
995 (handle_tainted_args_attribute): New.
996
ad3f0d08
GA
9972022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
998 Jason Merrill <jason@redhat.com>
999
1000 PR c++/70417
1001 * c.opt: Added -Wmissing-template-keyword.
1002
10032022-01-13 Richard Biener <rguenther@suse.de>
1004
1005 PR c/104002
1006 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
1007
02a8a01b
GA
10082022-01-12 Martin Liska <mliska@suse.cz>
1009
1010 PR target/103804
1011 * c-attribs.c (handle_optimize_attribute): Do not call
1012 cl_optimization_compare if we seen an error.
1013
01a254e3
GA
10142022-01-11 Jakub Jelinek <jakub@redhat.com>
1015
1016 PR c/101537
1017 PR c/103881
1018 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
1019 and BIT_XOR_EXPR.
1020
d9450aa0
GA
10212022-01-10 Richard Biener <rguenther@suse.de>
1022
1023 PR middle-end/101530
1024 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
1025 in a TARGET_EXPR to force a temporary.
1026
11ce8d04
GA
10272022-01-06 Marek Polacek <polacek@redhat.com>
1028
1029 PR c++/103758
1030 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
1031 diagnostic messages.
1032 (handle_pragma_diagnostic): Likewise.
1033
a4ae8c37
GA
10342022-01-03 Marek Polacek <polacek@redhat.com>
1035
1036 PR c++/103758
1037 * c-format.c (check_tokens): Accept "decl-specifier*".
1038
10392022-01-03 Jakub Jelinek <jakub@redhat.com>
1040
1041 PR c++/103600
1042 * c-attribs.c (handle_non_overlapping_attribute): New function.
1043 (c_common_attribute_table): Add "non overlapping" attribute.
1044
84790a9d
GA
10452021-12-30 Jakub Jelinek <jakub@redhat.com>
1046
1047 PR c++/103012
1048 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
1049 cpp_define_unused/cpp_undef calls with forced token locations
1050 BUILTINS_LOCATION.
1051
d1e111da
GA
10522021-12-27 Patrick Palka <ppalka@redhat.com>
1053
1054 PR c++/103700
1055 * c-common.c (pointer_int_sum): When quiet, return
1056 error_mark_node for an incomplete pointed-to type and don't
1057 call size_in_bytes_loc.
1058
2554e2da
GA
10592021-12-17 Jason Merrill <jason@redhat.com>
1060
1061 PR c++/103681
1062 * c-opts.c (c_common_post_options): Update defaults.
1063
774269aa
GA
10642021-12-16 Martin Liska <mliska@suse.cz>
1065
1066 PR target/103709
1067 * c-pragma.c (handle_pragma_pop_options): Do not check
1068 global options modification when an error is seen in parsing
1069 of options (pragmas or attributes).
1070
c8dcf64b
GA
10712021-12-12 Jonathan Wakely <jwakely@redhat.com>
1072
1073 * known-headers.cc: Define INCLUDE_MEMORY instead of
1074 INCLUDE_UNIQUE_PTR.
1075 * name-hint.h: Likewise.
1076 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
1077
4b4839e3
GA
10782021-12-09 Jakub Jelinek <jakub@redhat.com>
1079
1080 PR pch/71934
1081 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
1082 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
1083
03a9bd05
GA
10842021-12-03 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR pch/71934
1087 * c-pch.c (struct c_pch_validity): Remove pch_init member.
1088 (pch_init): Don't initialize v.pch_init.
1089 (c_common_valid_pch): Don't warn and punt if .text addresses change.
1090
40fa651e
GA
10912021-12-01 Jason Merrill <jason@redhat.com>
1092
1093 PR c++/103310
1094 * c.opt: Add -fconstexpr-fp-except.
1095
87cd82c8
GA
10962021-11-29 Richard Biener <rguenther@suse.de>
1097
1098 * c-format.c (check_format_string): Remove spurious
1099 gcc_unreachable.
1100
11012021-11-29 Richard Biener <rguenther@suse.de>
1102
1103 * c-opts.c (c_common_post_options): Remove unreachable return.
1104 * c-pragma.c (handle_pragma_target): Likewise.
1105 (handle_pragma_optimize): Likewise.
1106
091ccc06
GA
11072021-11-25 Jakub Jelinek <jakub@redhat.com>
1108
1109 PR c++/102611
1110 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
1111 default for C++23 regardless of warn_deprecated.
1112 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1113 __cpp_multidimensional_subscript=202110L for C++23.
1114
e1d43592
GA
11152021-11-23 Martin Sebor <msebor@redhat.com>
1116
1117 PR middle-end/88232
1118 * c.opt: Add -Winfinite-recursion.
1119
9c077398
GA
11202021-11-19 Martin Sebor <msebor@redhat.com>
1121
1122 PR c++/33925
1123 PR c/102867
1124 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
1125 and improve handling tof defined symbols.
1126
11272021-11-19 Martin Liska <mliska@suse.cz>
1128
1129 Revert:
1130 2021-11-18 Martin Liska <mliska@suse.cz>
1131
1132 * c-gimplify.c (genericize_c_loop): Use option directly.
1133
483092d3
GA
11342021-11-18 Matthias Kretz <m.kretz@gsi.de>
1135
1136 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
1137 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
1138
11392021-11-18 Martin Liska <mliska@suse.cz>
1140
1141 * c-gimplify.c (genericize_c_loop): Use option directly.
1142
280d2838
GA
11432021-11-17 Martin Uecker <uecker@gcc.gnu.org>
1144
1145 PR c/91038
1146 PR c/29970
1147 * c-common.c (pointer_int_sum): Make sure pointer expressions
1148 are evaluated first when the size expression depends on for
1149 variably-modified types.
1150
11512021-11-17 Marek Polacek <polacek@redhat.com>
1152
1153 PR preprocessor/103026
1154 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
1155
6b1695f4
GA
11562021-11-16 Jason Merrill <jason@redhat.com>
1157
1158 * c-common.c (release_tree_vector): Only cache vecs smaller than
1159 16 elements.
1160
e2b57363
GA
11612021-11-15 Jason Merrill <jason@redhat.com>
1162
1163 * c.opt: Add -fimplicit-constexpr.
1164 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
1165 * c-opts.c (c_common_post_options): Disable below C++14.
1166
11672021-11-15 Jakub Jelinek <jakub@redhat.com>
1168
1169 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
1170 Duplicate to both OMP_TARGET and OMP_TEAMS.
1171
8d36a0d2
GA
11722021-11-10 Marek Polacek <polacek@redhat.com>
1173
1174 PR c++/101940
1175 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
1176 ignored_attributes.
1177
c9b1334e
GA
11782021-11-09 David Malcolm <dmalcolm@redhat.com>
1179
1180 * c-pragma.c (GCC_BAD_AT): New macro.
1181 (GCC_BAD2_AT): New macro.
1182 (handle_pragma_pack): Use the location of the pertinent token when
1183 issuing diagnostics about invalid constants/actions, and trailing
1184 junk.
1185 (handle_pragma_target): Likewise for non-string "GCC option".
1186 (handle_pragma_message): Likewise for trailing junk.
1187
18ae471f
GA
11882021-11-03 Joseph Myers <joseph@codesourcery.com>
1189
1190 PR c/103031
1191 * c-common.c (convert_and_check): Add argument init_const. Call
1192 convert_init if init_const.
1193 * c-common.h (convert_and_check): Update prototype.
1194 (convert_init): New prototype.
1195
cf82e8d9
GA
11962021-11-01 David Malcolm <dmalcolm@redhat.com>
1197
1198 * c-lex.c (c_lex_with_flags): When complaining about non-printable
1199 CPP_OTHER tokens, set the "escape on output" flag.
1200
04a2cf3f
GA
12012021-10-27 Jakub Jelinek <jakub@redhat.com>
1202
1203 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
1204 POINTER_PLUS_EXPR.
1205 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
1206 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
1207
12082021-10-27 Jakub Jelinek <jakub@redhat.com>
1209
1210 PR c++/102854
1211 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
1212 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
1213 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
1214 conversions temporarily clear the 3rd bit from d->kind while walking
1215 subtrees.
1216 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
1217 if possibly non-rectangular.
1218
ae5c5406
GA
12192021-10-21 Jakub Jelinek <jakub@redhat.com>
1220
1221 PR middle-end/64888
1222 * c-omp.c (c_omp_predefined_variable): Return true also for
1223 ubsan_create_data created artificial variables.
1224
5d5885c9
GA
12252021-10-14 Joseph Myers <joseph@codesourcery.com>
1226
1227 * c-format.c (printf_length_specs, scanf_length_specs)
1228 (print_char_table, scan_char_table): Support DFP formats for C2X.
1229 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
1230 (T2X_D32, T2X_D64, T2X_D128): New macros.
1231
12322021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1233
1234 * c-omp.c (c_omp_check_context_selector): Rename to
1235 omp_check_context_selector and move to omp-general.c.
1236 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
1237 move to omp-general.c.
1238
52055987
GA
12392021-10-12 Joseph Myers <joseph@codesourcery.com>
1240
1241 * c-format.c (print_char_table): Add %b and %B formats.
1242 (scan_char_table): Add %b format.
1243 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
1244 (T2X_UPD, T2X_UIM): New macros.
1245
12462021-10-12 Jakub Jelinek <jakub@redhat.com>
1247
1248 * c-omp.c (c_finish_omp_atomic): Use
1249 clear_padding_type_may_have_padding_p.
1250
ce6eec39
GA
12512021-10-08 Martin Liska <mliska@suse.cz>
1252
1253 * c-opts.c (c_common_post_options): Use new macro
1254 OPTION_SET_P.
1255
50e20ee6
GA
12562021-10-07 Martin Liska <mliska@suse.cz>
1257
1258 * c-common.c (parse_optimize_options): Make
1259 save_opt_decoded_options a pointer type.
1260
57c7ec62
GA
12612021-10-06 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR tree-optimization/102571
1264 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
1265 padding, but the non-padding bits are contiguous set of bytes
1266 by adjusting the memcmp call arguments instead of emitting
1267 __builtin_clear_padding and then comparing all the type's bytes.
1268
12692021-10-06 Jakub Jelinek <jakub@redhat.com>
1270
1271 PR c++/102612
1272 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
1273 __cpp_constexpr to 202110L rather than 201907L.
1274
da9c5f78
GA
12752021-10-04 Marek Polacek <polacek@redhat.com>
1276
1277 PR c++/97573
1278 * c-common.h (do_warn_array_compare): Declare.
1279 * c-warn.c (do_warn_array_compare): New.
1280 * c.opt (Warray-compare): New option.
1281
e3e07b89
GA
12822021-10-02 Iain Sandoe <iain@sandoe.co.uk>
1283
1284 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
1285 NULL, this is not needed.
1286
9d116bcc
GA
12872021-10-01 Martin Sebor <msebor@redhat.com>
1288
1289 PR c/102103
1290 * c-common.c (decl_with_nonnull_addr_p): Handle members.
1291 Check and perform warning suppression.
1292 (c_common_truthvalue_conversion): Enhance warning suppression.
1293
12942021-10-01 Martin Liska <mliska@suse.cz>
1295
1296 PR target/102552
1297 * c-common.c (parse_optimize_options): decoded_options[0] is
3d3b561f
ML
1298 used for program name, so merged_decoded_options should also
1299 respect that.
9d116bcc
GA
1300
13012021-10-01 Jakub Jelinek <jakub@redhat.com>
1302 Richard Biener <rguenther@suse.de>
1303
1304 PR sanitizer/102515
1305 * c-ubsan.c (ubsan_instrument_division): Check the right
1306 flag_sanitize_recover bit, depending on which sanitization
1307 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
1308 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
1309 and SANITIZE_DIVIDE is enabled, neither check is known
1310 to be false and flag_sanitize_recover bits for those two
1311 aren't the same, emit both __ubsan_handle_divrem_overflow
1312 and __ubsan_handle_divrem_overflow_abort calls.
1313
13142021-10-01 Martin Liska <mliska@suse.cz>
1315
1316 * c-common.c (parse_optimize_options): Combine optimize
1317 options with what was provided on the command line.
1318
13192021-10-01 Jakub Jelinek <jakub@redhat.com>
1320
1321 * c-omp.c (c_omp_split_clauses): Also copy
1322 OMP_CLAUSE_ORDER_REPRODUCIBLE.
1323
cf966403
GA
13242021-09-27 Martin Liska <mliska@suse.cz>
1325
1326 * c-opts.c (c_common_init_options_struct): Set also
3d3b561f 1327 x_flag_default_complex_method.
cf966403 1328
e4777439
GA
13292021-09-22 Jakub Jelinek <jakub@redhat.com>
1330
1331 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
1332
62498024
GA
13332021-09-20 Matthias Kretz <m.kretz@gsi.de>
1334
1335 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
1336 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
1337 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
1338 __ROUNDING_MATH__ according to the new optimization flags.
1339
cf74e7b5
GA
13402021-09-18 Jakub Jelinek <jakub@redhat.com>
1341
1342 * c-omp.c (c_omp_split_clauses): Split order clause also to
1343 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
1344
0a4cb439
GA
13452021-09-17 Jakub Jelinek <jakub@redhat.com>
1346
1347 * c-omp.c (c_finish_omp_atomic): Avoid creating
1348 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
1349 create_tmp_var and add a zero initializer to TARGET_EXPRs that
1350 had NULL initializer. When omitting operands after v = x,
1351 use type of v rather than type of x. Fix type of vtmp
1352 TARGET_EXPR.
1353
07985c47
GA
13542021-09-13 Jason Merrill <jason@redhat.com>
1355
1356 * c.opt: Add -Winterference-size.
1357 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
1358 and __GCC_CONSTRUCTIVE_SIZE.
1359
a26206ec
GA
13602021-09-10 Jakub Jelinek <jakub@redhat.com>
1361
1362 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
1363 * c-omp.c: Include gimple-fold.h.
1364 (c_finish_omp_atomic): Add r and weak arguments. Add support for
1365 OpenMP 5.1 atomics.
1366
f84e2f0b
GA
13672021-09-09 qing zhao <qing.zhao@oracle.com>
1368
1369 * c-attribs.c (handle_uninitialized_attribute): New function.
1370 (c_common_attribute_table): Add "uninitialized" attribute.
1371
b6db7cd4
GA
13722021-09-08 liuhongt <hongtao.liu@intel.com>
1373
1374 * c-common.c (excess_precision_mode_join): Update below comments.
1375 (c_ts18661_flt_eval_method): Set excess_precision_type to
1376 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1377 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
1378 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
1379 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1380
b2748138
GA
13812021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
1382
1383 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
1384
7b739540
GA
13852021-09-03 Eric Botcazou <ebotcazou@adacore.com>
1386
1387 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
1388 and -gnatwu warning for the package specification.
1389
e11c6046
GA
13902021-09-01 Iain Sandoe <iain@sandoe.co.uk>
1391
1392 * c-attribs.c (handle_unavailable_attribute): New.
1393
1e2f030b
GA
13942021-08-30 Jason Merrill <jason@redhat.com>
1395
1396 * c.opt: Add -Wmissing-requires.
1397
85d77ac4
GA
13982021-08-25 Lewis Hyatt <lhyatt@gmail.com>
1399
1400 PR other/93067
1401 * c-opts.c (c_common_input_charset_cb): New function.
1402 (c_common_post_options): Call new function
1403 diagnostic_initialize_input_context().
1404
7c9e1645
GA
14052021-08-20 Tobias Burnus <tobias@codesourcery.com>
1406
1407 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
1408 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
1409 "di" and "u", respecitively; fill with BADLEN to match
1410 size of 'types'.
1411 (get_init_dynamic_hwi): Split off from ...
1412 (init_dynamic_diag_info): ... here. Call it.
1413 (init_dynamic_gfc_info): Call it.
1414
14152021-08-20 Jakub Jelinek <jakub@redhat.com>
1416
1417 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
1418 * c-pragma.c (omp_pragmas): Add error directive.
1419 * c-omp.c (omp_directives): Uncomment error directive entry.
1420
6e529985
GA
14212021-08-18 Jakub Jelinek <jakub@redhat.com>
1422
1423 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
1424 * c-pragma.c (omp_pragmas): Add nothing directive.
1425 * c-omp.c (omp_directives): Uncomment nothing directive entry.
1426
2d14d64b
GA
14272021-08-17 Jakub Jelinek <jakub@redhat.com>
1428
1429 PR c++/101539
1430 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
1431 * c-common.c (c_common_reswords): Add __is_layout_compatible.
1432
14332021-08-17 Matt Jacobson <mhjacobson@me.com>
1434
1435 * c-opts.c (c_common_post_options): Default to
1436 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
1437
14382021-08-17 Jakub Jelinek <jakub@redhat.com>
1439
1440 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
1441 * c-pragma.c (omp_pragmas): Add scope construct.
1442 * c-omp.c (omp_directives): Uncomment scope directive entry.
1443
9d1d9fc8
GA
14442021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
1445
1446 * c-cppbuiltin.c (c_cpp_builtins): Define
1447 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
1448
72be20e2
GA
14492021-08-12 Jakub Jelinek <jakub@redhat.com>
1450
1451 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
1452 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
1453 * c-pragma.c (omp_pragmas_simd): Add masked construct.
1454 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
1455 enumerator.
1456 (c_finish_omp_masked): Declare.
1457 * c-omp.c (c_finish_omp_masked): New function.
1458 (c_omp_split_clauses): Handle combined masked constructs.
1459
4d17ca1b
GA
14602021-07-30 Jakub Jelinek <jakub@redhat.com>
1461
1462 PR c++/101539
1463 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
1464 * c-common.c (c_common_reswords): Add
1465 __is_pointer_interconvertible_base_of.
1466
14672021-07-29 Richard Biener <rguenther@suse.de>
1468
1469 PR c/101512
1470 * c-common.c (c_common_mark_addressable_vec): Look through
1471 C_MAYBE_CONST_EXPR even if not at the toplevel.
1472
af3f12e6
GA
14732021-07-27 Martin Sebor <msebor@redhat.com>
1474
1475 PR c/101585
1476 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
1477
ead235f6
GA
14782021-07-23 Jakub Jelinek <jakub@redhat.com>
1479
1480 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
1481 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
1482 and later.
1483
14842021-07-23 Jakub Jelinek <jakub@redhat.com>
1485
1486 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
1487 PRAGMA_OMP__LAST_ enumerators.
1488
419c6c68
GA
14892021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1490 Joseph Myers <joseph@codesourcery.com>
1491 Cesar Philippidis <cesar@codesourcery.com>
1492
1493 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
1494
92d45509
GA
14952021-07-20 Martin Sebor <msebor@redhat.com>
1496
1497 * c-common.c (c_build_shufflevector): Adjust by-value argument to
1498 by-const-reference.
1499 * c-common.h (c_build_shufflevector): Same.
1500
87277b6a
GA
15012021-07-16 Andrew Pinski <apinski@marvell.com>
1502
1503 PR c/101453
1504 * c-common.c (parse_optimize_options): Use the correct
1505 size for buffer.
1506
d97d71a1
GA
15072021-07-15 Martin Sebor <msebor@redhat.com>
1508
1509 PR c/101289
1510 PR c/97548
1511 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
1512
c4fee1c6
GA
15132021-07-14 Jason Merrill <jason@redhat.com>
1514
1515 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
1516
6fba0eea
GA
15172021-07-06 Martin Sebor <msebor@redhat.com>
1518
1519 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
3d3b561f
ML
1520 (gcc_cdiag_char_table): Same.
1521 (gcc_cxxdiag_char_table): Same.
6fba0eea 1522
7a60a6e8
GA
15232021-07-02 Jakub Jelinek <jakub@redhat.com>
1524
1525 * c-common.h (enum c_omp_directive_kind): New enum.
1526 (struct c_omp_directive): New type.
1527 (c_omp_categorize_directive): Declare.
1528 * c-omp.c (omp_directives): New variable.
1529 (c_omp_categorize_directive): New function.
1530
bea7c16a
GA
15312021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1532
1533 * c-ada-spec.c (packed_layout): New global variable.
1534 (dump_ada_declaration): Set it upon seeing a packed record type.
1535 Do not put the "aliased" keyword if it is set.
1536 (dump_ada_structure): Add Pack aspect if it is set and clear it.
1537
15382021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1539
1540 * c-ada-spec.c (check_name): Rename into...
1541 (check_type_name_conflict): ...this. Minor tweak.
1542 (dump_ada_function_declaration): Adjust to above renaming.
1543 (dump_ada_array_domains): Fix oversight.
1544 (dump_ada_declaration): Call check_type_name_conflict for variables.
1545
90708f87
GA
15462021-06-25 Martin Sebor <msebor@redhat.com>
1547
1548 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
1549 (c_common_truthvalue_conversion): Replace direct uses of
1550 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
1551 copy_no_warning.
1552 (check_function_arguments_recurse): Same.
1553 * c-gimplify.c (c_gimplify_expr): Same.
1554 * c-warn.c (overflow_warning): Same.
1555 (warn_logical_operator): Same.
1556 (warn_if_unused_value): Same.
1557 (do_warn_unused_parameter): Same.
1558
9aa8327e
GA
15592021-06-24 Jakub Jelinek <jakub@redhat.com>
1560
1561 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
1562 C_ORT_OMP_TARGET.
1563 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
1564 combined target constructs also add map (always, tofrom:) clause.
1565
ede6c356
GA
15662021-06-15 Robin Dapp <rdapp@linux.ibm.com>
1567
1568 * c-attribs.c (common_handle_aligned_attribute): Remove short
1569 circuit and dead code.
1570
8dc48181
GA
15712021-06-14 Jonathan Wakely <jwakely@redhat.com>
1572
1573 PR c++/101052
1574 * known-headers.cc (get_stdlib_header_for_name): Add known
1575 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
1576 exit, and getenv.
1577
8b8c3912
GA
15782021-06-12 Jason Merrill <jason@redhat.com>
1579
1580 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
1581
f16f65f8
GA
15822021-06-11 Jakub Jelinek <jakub@redhat.com>
1583
1584 PR c++/100974
1585 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
1586 -std=c++2b for P1938R3 consteval if support.
1587
4f625f47
GA
15882021-06-09 Jason Merrill <jason@redhat.com>
1589
1590 PR c++/100879
1591 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
1592 warning.
1593
438aac59
GA
15942021-06-07 Martin Liska <mliska@suse.cz>
1595
1596 * c-target.def: Split long lines and replace them
1597 with '\n\'.
1598
600f90cb
GA
15992021-06-04 Martin Sebor <msebor@redhat.com>
1600
1601 PR c/100783
1602 * c-attribs.c (positional_argument): Bail on erroneous types.
1603
16042021-06-04 Martin Sebor <msebor@redhat.com>
1605
1606 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1607 for element presence.
1608
440c8a0a
GA
16092021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1610
1611 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1612 (dump_ada_decl_name): Likewise.
1613 (dump_anonymous_type_name): Remove parent parameter and adjust.
1614 (dump_sloc): Minor tweak.
1615 (dump_ada_array_type): Remove type parameter and adjust.
1616 (dump_ada_enum_type): Remove parent parameter and adjust.
1617 (dump_ada_node): Adjust calls to above functions.
1618 (dumped_anonymous_types): New global variable.
1619 (dump_nested_types_1): Rename into...
1620 (dump_nested_types): ...this.
1621 (dump_nested_type): Remove parent and dumped_types parameters.
1622 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1623 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1624 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1625
16262021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1627
1628 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1629 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1630
16312021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1632
1633 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1634 (htable_t): New typedef.
1635 (overloaded_names): Use it.
1636 (add_name): New function.
1637 (init_overloaded_names): Use add_name to populate the table and add
1638 special cases for sigaction and stat.
1639 (overloaded_name_p): Rename into...
1640 (overloading_index): ...this. Do not initialize overloaded_names table
1641 here. Return the index or zero.
1642 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1643 but add an overloading suffix instead.
1644 (dump_ada_specs): Initialize overloaded_names tables here.
1645
b75978d1
GA
16462021-06-01 Martin Liska <mliska@suse.cz>
1647
1648 PR other/100759
1649 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1650 to a situation where we are not in processing of an optimize
1651 pragma.
1652 * c-pragma.c (handle_pragma_pop_options): Restore target
1653 options.
1654
ee682192
GA
16552021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1656
1657 PR testsuite/100749
1658 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1659
16602021-05-31 Richard Biener <rguenther@suse.de>
1661
1662 PR c++/88601
1663 * c-common.c: Include tree-vector-builder.h and
1664 vec-perm-indices.h.
1665 (c_common_reswords): Add __builtin_shufflevector.
1666 (c_build_shufflevector): New funtion.
1667 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1668 (c_build_shufflevector): Declare.
1669
48166757
GA
16702021-05-28 Jakub Jelinek <jakub@redhat.com>
1671
1672 PR middle-end/99928
1673 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1674 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1675
16762021-05-28 Tobias Burnus <tobias@codesourcery.com>
1677
1678 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1679
2bc6dace
GA
16802021-05-25 Martin Liska <mliska@suse.cz>
1681
1682 PR tree-optimization/92860
1683 PR target/99592
1684 * c-attribs.c (handle_optimize_attribute): Save target node
1685 before calling parse_optimize_options and save it in case
1686 it changes.
1687 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1688 (handle_pragma_pop_options): Likewise here.
1689
16902021-05-25 Martin Liska <mliska@suse.cz>
1691
1692 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1693
16942021-05-25 Jakub Jelinek <jakub@redhat.com>
1695
1696 PR middle-end/99928
1697 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1698 combined with simd and not with taskloop or for.
1699
2832d51b
GA
17002021-05-21 Jakub Jelinek <jakub@redhat.com>
1701
1702 PR middle-end/99928
1703 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1704 on firstprivate clause copy going to target construct, and for
1705 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1706
ea34e2ed
GA
17072021-05-20 Jonathan Wakely <jwakely@redhat.com>
1708
1709 * c.opt (Wc++11-extensions, Wc++14-extensions)
1710 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1711 options.
1712
17132021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1714
1715 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1716
17172021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1718
1719 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1720 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1721 (pch_init): Renamed member.
1722 (c_common_valid_pch): Adjust access to debug_type_names.
1723
65f32e5d
GA
17242021-05-19 Martin Sebor <msebor@redhat.com>
1725
1726 PR c/100619
1727 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1728 bounds.
1729
a8daf9a1
GA
17302021-05-18 Richard Biener <rguenther@suse.de>
1731
1732 PR c/100547
1733 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1734 Reword existing nunit diagnostic.
1735
a7ffc1ef
GA
17362021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1737
1738 * c-common.c (braced_list_to_string): Return CTOR unchanged
1739 if host and target character sizes don't match.
1740
87a7d10c
GA
17412021-05-14 Martin Liska <mliska@suse.cz>
1742
1743 * c.opt: Add Warning keyword for 2 options.
1744
f9af11c7
GA
17452021-05-13 Martin Liska <mliska@suse.cz>
1746
1747 PR middle-end/100504
1748 * c-attribs.c (handle_target_clones_attribute): Expect a string
1749 argument to target_clone argument.
1750
037e3661
GA
17512021-05-11 Joseph Myers <joseph@codesourcery.com>
1752
1753 * c-lex.c (interpret_float): Handle digit separators for C2X.
1754
aa891c56
GA
17552021-05-10 Martin Liska <mliska@suse.cz>
1756
1757 * c-ada-spec.c (print_destructor): Use startswith
1758 function instead of strncmp.
1759 (dump_ada_declaration): Likewise.
1760 * c-common.c (disable_builtin_function): Likewise.
1761 (def_builtin_1): Likewise.
1762 * c-format.c (check_tokens): Likewise.
1763 (check_plain): Likewise.
1764 (convert_format_name_to_system_name): Likewise.
1765
e4ff4ffb
GA
17662021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1767
1768 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1769 complex divide
1770
c0fa3f2f
GA
17712021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1772 Nathan Sidwell <nathan@codesourcery.com>
1773 Tom de Vries <vries@codesourcery.com>
1774 Julian Brown <julian@codesourcery.com>
1775 Kwok Cheung Yeung <kcy@codesourcery.com>
1776
1777 * c.opt (Wopenacc-parallelism): New.
1778
6e81e015
GA
17792021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1780
1781 * c.opt (fopenacc-kernels=): Remove.
1782
019a9220
GA
17832021-04-08 Jakub Jelinek <jakub@redhat.com>
1784
1785 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1786 occured -> occurred.
1787 (check_alignment_of_packed_member): Fix a comment typo,
1788 memeber -> member.
1789 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1790 and onless -> unless.
1791 (warn_parm_array_mismatch): Fix comment typos, declaratation
1792 -> declaration and woud -> would. Fix up comment indentation.
1793
17942021-04-08 Martin Sebor <msebor@redhat.com>
1795
1796 PR middle-end/99883
1797 * c.opt (Wmismatched-new-delete): Correct spelling.
1798
b1da9916
GA
17992021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1800
1801 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1802 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1803 enumeral types use again the type name for the enumeration constants.
1804 (dump_ada_node): Adjust call to dump_ada_enum_type.
1805 (dump_nested_type): Likewise.
1806
f1607029
GA
18072021-04-01 Jason Merrill <jason@redhat.com>
1808
1809 PR c++/98481
1810 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1811
4493b1c1
GA
18122021-03-25 Jakub Jelinek <jakub@redhat.com>
1813
1814 PR c++/99565
1815 * c-warn.c (do_warn_duplicated_branches): Pass also
1816 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1817
6af7b307
GA
18182021-03-20 Jakub Jelinek <jakub@redhat.com>
1819
1820 PR debug/99230
1821 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1822
ceae9533
GA
18232021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1824
1825 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1826 after entering the separate class package, if any.
1827
67f10d28
GA
18282021-03-04 Richard Biener <rguenther@suse.de>
1829
1830 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1831 Handle ERROR_MARK.
1832
18332021-03-04 Jakub Jelinek <jakub@redhat.com>
1834
1835 PR c/99325
1836 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1837 (token_streamer::stream) Likewise.
1838 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1839 UNKNOWN_LOCATION.
1840
f3641ac7
GA
18412021-03-03 Jakub Jelinek <jakub@redhat.com>
1842
1843 PR c/99324
1844 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1845 instead of mark_addressable. Fix a comment typo -
1846 neutrallly -> neutrally.
1847
2c83c3fb
GA
18482021-02-28 Jakub Jelinek <jakub@redhat.com>
1849
1850 PR c/99304
1851 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1852 message - refernced -> referenced. Remove superfluous space before
1853 closing paren of function calls.
1854
daa68844
GA
18552021-02-25 Nathan Sidwell <nathan@acm.org>
1856
1857 PR c++/99166
1858 * c.opt (-flang-info-module-cmi): Renamed option.
1859
50352c6c
GA
18602021-02-19 Nathan Sidwell <nathan@acm.org>
1861
1862 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1863
bf81237e
GA
18642021-02-18 H.J. Lu <hjl.tools@gmail.com>
1865
1866 PR target/99113
1867 * c-attribs.c (c_common_attribute_table): Add the "retain"
1868 attribute.
1869 (handle_retain_attribute): New function.
1870
0e804ce3
GA
18712021-02-16 Marek Polacek <polacek@redhat.com>
1872
1873 PR c++/99062
1874 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1875 alignment argument is non-negative. Tweak a warning message.
1876
fab095da
GA
18772021-02-12 Martin Sebor <msebor@redhat.com>
1878
1879 PR c/99055
1880 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1881 print_generic_expr_to_str.
1882
4b37c3ea
GA
18832021-02-10 Richard Biener <rguenther@suse.de>
1884
1885 * c-common.c (parse_optimize_options): Free decoded_options.
1886
a19dd5e6
GA
18872021-02-04 emsr <3dw4rd@verizon.net>
1888
1889 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1890
9faaa807
GA
18912021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1892
1893 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1894 * c-lex.c (interpret_integer): Set node type for size literal.
1895
85d04a2e
GA
18962021-01-28 Jakub Jelinek <jakub@redhat.com>
1897
1898 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1899 draft from description.
1900 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1901
e62bb7f0
GA
19022021-01-26 Paul Fee <paul.f.fee@gmail.com>
1903
1904 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1905 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1906 and -std=gnu++2b
1907 * c-opts.c (set_std_cxx23): New.
1908 (c_common_handle_option): Set options when -std=c++23 is enabled.
1909 (c_common_post_options): Adjust comments.
1910 (set_std_cxx20): Likewise.
1911
161e4c08
GA
19122021-01-25 Martin Sebor <msebor@redhat.com>
1913
1914 PR c++/98646
1915 * c-common.c (check_nonnull_arg): Adjust warning text.
1916
4c9bcd5c
GA
19172021-01-17 Martin Sebor <msebor@redhat.com>
1918
1919 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1920 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1921
59cf67d1
GA
19222021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1923
1924 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1925 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1926
2f7f0d32
GA
19272021-01-15 Jakub Jelinek <jakub@redhat.com>
1928
1929 PR tree-optimization/98597
1930 * c-pretty-print.c: Include options.h.
1931 (c_fold_indirect_ref_for_warn): New function.
1932 (print_mem_ref): Use it. If it returns something that has compatible
1933 type and is TBAA compatible with zero offset, print it and return,
1934 otherwise print it using offsetof syntax or array ref syntax. Fix up
1935 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1936 argument has pointer to array type. Print pointers using the standard
1937 formatting.
1938
6851dda2
GA
19392021-01-12 Martin Sebor <msebor@redhat.com>
1940
1941 PR c/98597
1942 PR c/98592
1943 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1944 has pointer type. Remove redundant code. Avoid calling
1945 gimple_canonical_types_compatible_p.
1946
7d187e4f
GA
19472021-01-07 Martin Sebor <msebor@redhat.com>
1948
1949 PR middle-end/98578
1950 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1951 Avoid assuming acces type's size is constant. Correct condition
1952 guarding the printing of a parenthesis.
1953
942ae5be
GA
19542021-01-06 Martin Sebor <msebor@redhat.com>
1955
1956 PR c++/95768
1957 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1958 SSA_NAMEs print VLA names and GIMPLE defining statements.
1959 (print_mem_ref): New function.
1960 (c_pretty_printer::unary_expression): Call it.
1961
19622021-01-06 Richard Biener <rguenther@suse.de>
1963
1964 PR tree-optimization/95582
1965 * c-attribs.c (c_common_attribute_table): Add entry for
1966 signed_bool_precision.
1967 (handle_signed_bool_precision_attribute): New.
1968
8daa719b
GA
19692020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1970
1971 * c.opt: Add -stdlib= option and enumerations for
1972 libstdc++ and libc++.
1973
eefe499f
GA
19742020-12-16 Martin Liska <mliska@suse.cz>
1975
1976 * c.opt: Remove usage of Report.
1977
d52945ce
GA
19782020-12-14 Martin Sebor <msebor@redhat.com>
1979
1980 PR middle-end/98166
1981 PR c++/57111
1982 PR middle-end/98160
1983 * c-attribs.c (maybe_add_noinline): New function.
1984 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1985 Implicitly add attribute noinline to functions not declared inline
1986 and warn on those.
1987
ca2bd949
GA
19882020-12-09 Tobias Burnus <tobias@codesourcery.com>
1989
1990 * c-pragma.c (omp_pragmas): Add 'allocate'.
1991 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1992
f6e8e279
GA
19932020-12-08 Jakub Jelinek <jakub@redhat.com>
1994
1995 PR c++/98187
1996 * c-pragma.c (omp_pragmas): Remove "master".
1997 (omp_pragmas_simd): Add "master".
1998
bc8a7013
GA
19992020-12-07 Marek Polacek <polacek@redhat.com>
2000
2001 PR c++/98126
2002 * c-common.c (verify_tree_lim_r): New function.
2003 (verify_sequence_points): Use it. Use nullptr instead of 0.
2004
b8dd0ef7
GA
20052020-12-03 Martin Sebor <msebor@redhat.com>
2006
2007 PR c++/90629
2008 PR middle-end/94527
2009 * c-attribs.c (handle_dealloc_attribute): New function.
2010 (handle_malloc_attribute): Handle argument forms of attribute.
2011 * c.opt (-Wmismatched-dealloc): New option.
2012 (-Wmismatched-new-delete): New option.
2013
20142020-12-03 Jakub Jelinek <jakub@redhat.com>
2015
2016 PR libstdc++/93121
2017 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
2018 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
2019
e0f5e792
GA
20202020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
2021
2022 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
2023 {__GNUC_EXECUTION_CHARSET_NAME} and
2024 _WIDE_EXECUTION_CHARSET_NAME} macros.
2025
20262020-12-01 Nathan Sidwell <nathan@acm.org>
2027
2028 * c-common.c (module, import, export): New internal tokens (with
2029 trailing space).
2030 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
2031 them.
2032 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
2033 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
2034
20352020-12-01 Nathan Sidwell <nathan@acm.org>
2036
2037 * c-opts.c (c_common_init_options): Ask for module dependencies.
2038 (c_common_handle_option): Handle -Mmodules -Mno-modules.
2039 * c-pch.c (c_common_valid_pch): ... does not play with C++
2040 modules.
2041 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
2042 options.
2043 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
2044 (fmodule-only, fmodule-mapper, fmodule-lazy)
2045 (fmodule-version-ignore, Winvalid-imported-macros)
2046 (flang-info-include-translate, flang-info-include-translate-not):
2047 New options
2048
5fbf0ecb
GA
20492020-11-28 Eric Botcazou <ebotcazou@adacore.com>
2050
2051 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
2052 (dump_ada_structure): Also deal with convention, unchecked union and
2053 bit-field for nested types. In the latter case, print an Alignment
2054 aspect along with the Pack aspect.
2055
360258da
GA
20562020-11-25 Martin Sebor <msebor@redhat.com>
2057
2058 PR bootstrap/94982
2059 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
2060 -Wformat-diag.
2061
1e2c9a27
GA
20622020-11-24 Martin Sebor <msebor@redhat.com>
2063
2064 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
2065
8e6198d0
GA
20662020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2067
2068 * c-attribs.c (handle_special_var_sec_attribute): New.
2069 (handle_noinit_attribute): Remove.
2070 (attr_noinit_exclusions): Rename to...
2071 (attr_section_exclusions): ...this, and add "persistent" attribute
2072 exclusion.
2073 (c_common_attribute_table): Add "persistent" attribute.
2074
7a97e2fc
GA
20752020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
2076
2077 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2078 Treat opaque types like other types.
2079 (c_pretty_printer::direct_abstract_declarator): Opaque types are
2080 supported types.
2081
82e5048e
GA
20822020-11-20 Martin Sebor <msebor@redhat.com>
2083
2084 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
2085 with fewer arguments.
2086
20872020-11-20 Martin Sebor <msebor@redhat.com>
2088
2089 PR middle-end/97879
2090 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
2091 Error out on invalid modes.
2092
20932020-11-20 Jakub Jelinek <jakub@redhat.com>
2094
2095 PR libstdc++/88101
2096 * c-common.c (check_builtin_function_arguments): Handle
2097 BUILT_IN_CLEAR_PADDING.
2098
25bb75f8
GA
20992020-11-18 Nathan Sidwell <nathan@acm.org>
2100
2101 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
2102
4dabb037
GA
21032020-11-17 Nathan Sidwell <nathan@acm.org>
2104
2105 * c-common.h (enum c_tree_index): Reorder to place lazy fields
2106 after newly-added CTI_MODULE_HWM.
2107
21082020-11-17 Joseph Myers <joseph@codesourcery.com>
2109
2110 * c-cppbuiltin.c (builtin_define_float_constants): Define
2111 "*_IS_IEC_60559__" macros.
2112
21132020-11-17 Nathan Sidwell <nathan@acm.org>
2114
2115 * c-lex.c: #include "langhooks.h".
2116 (cb_undef): Maybe call preprocess_undef lang hook.
2117 * c-opts.c (c_common_post_options): Maybe call preprocess_options
2118 lang hook.
2119 (push_command_line_include): Maybe call preprocess_main_file lang
2120 hook.
2121 (cb_file_change): Likewise.
2122 * c-ppoutput.c: #include "langhooks.h.
2123 (scan_translation_unit): Maybe call preprocess_token lang hook.
2124 (class do_streamer): New, derive from token_streamer.
2125 (directives_only_cb): Data pointer is do_streamer, call
2126 preprocess_token lang hook.
2127 (scan_translation_unit_directives_only): Use do_streamer.
2128 (print_line_1): Move src_line recording to after string output.
2129 (cb_undef): Maybe call preprocess_undef lang hook.
2130
21312020-11-17 Nathan Sidwell <nathan@acm.org>
2132
2133 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
2134 code duplicating that functionality.
2135
21362020-11-17 Jakub Jelinek <jakub@redhat.com>
2137
2138 PR c/90628
2139 * c-common.c (check_builtin_function_arguments)
2140 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
2141 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
2142 for more builtins and argument positions.
2143
29c5d9ce
GA
21442020-11-16 Iain Sandoe <iain@sandoe.co.uk>
2145
2146 PR objc/97854
2147 * stub-objc.c: Include c-common.h to declare enum rid.
2148
77f67db2
GA
21492020-11-13 Jakub Jelinek <jakub@redhat.com>
2150
2151 PR c++/63287
2152 * c-cppbuiltin.c: Include configargs.h.
2153 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
2154 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
2155 "single".
2156
21572020-11-13 Gergö Barany <gergo@codesourcery.com>
2158 Thomas Schwinge <thomas@codesourcery.com>
2159
2160 * c.opt (fopenacc-kernels): Add.
2161
21622020-11-13 Jason Merrill <jason@redhat.com>
2163
2164 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
2165
21662020-11-13 Piotr H. Dabrowski <phd@phd.re>
2167
2168 PR c++/91318
2169 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
2170
21712020-11-13 Martin Liska <mliska@suse.cz>
2172
2173 * c-attribs.c (build_attr_access_from_parms): Format properly.
2174
21752020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2176
2177 PR objc/90707
2178 * c-common.c (c_common_reswords): null_unspecified, nullable,
2179 nonnull, null_resettable: New keywords.
2180 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
2181 RID_NONNULL, RID_NULL_RESETTABLE: New.
2182 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
2183 ranges accepted for property attributes.
2184 * c-attribs.c (handle_objc_nullability_attribute): New.
2185 * c-objc.h (enum objc_property_attribute_group): Add
2186 OBJC_PROPATTR_GROUP_NULLABLE.
2187 (enum objc_property_attribute_kind):Add
2188 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
2189 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
2190
21912020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2192
2193 PR objc/77404
2194 * c-attribs.c (handle_objc_root_class_attribute): New
2195 * c-objc.h (objc_start_class_interface): Add a location
2196 value for the position of the class name.
2197 * c.opt: Add Wobjc-root-class.
2198 * stub-objc.c (objc_start_class_interface): Add a location
2199 value for the position of the class name.
2200
a5a11525
GA
22012020-11-12 Joseph Myers <joseph@codesourcery.com>
2202
2203 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
2204 Allow scope for C. Handle standard attributes for C. Do not
2205 accept unscoped attributes if std_syntax and not handled as
2206 standard attributes.
2207 * c-common.h (c_common_has_attribute): Update prototype.
2208
22092020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
2210
2211 PR pch/86674
2212 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
2213 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
2214
0f5f9ed5
GA
22152020-11-11 Patrick Palka <ppalka@redhat.com>
2216
2217 PR c++/88115
2218 * c-opts.c (c_common_post_options): Update latest_abi_version.
2219
bb622641
GA
22202020-11-10 Jakub Jelinek <jakub@redhat.com>
2221
2222 PR c/97748
2223 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
2224 to false.
2225 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
2226 recursively and just return true instead of warning if it is true.
2227 Handle COMPLEX_EXPR.
2228
22292020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2230
2231 * c-common.h (c_omp_adjust_map_clauses): New declaration.
2232 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
2233 (c_omp_adjust_map_clauses): New function.
2234
2bee28dd
GA
22352020-11-09 Marek Polacek <polacek@redhat.com>
2236
2237 DR 1914
2238 * c-common.c (attribute_fallthrough_p): Tweak the warning
2239 message.
2240
22412020-11-09 Patrick Palka <ppalka@redhat.com>
2242
2243 * c-pragma.c (handle_pragma_diagnostic): Split the
2244 unknown-option -Wpragmas diagnostic into a warning and a
2245 subsequent note containing a spelling suggestion. Avoid
2246 computing the suggestion if -Wpragmas warnings are being
2247 suppressed.
2248
22492020-11-09 Patrick Palka <ppalka@redhat.com>
2250
2251 PR testsuite/97117
2252 * c-indentation.c (get_visual_column): Remove location_t
2253 parameter. Move the column-tracking diagnostic code from here
2254 to ...
2255 (should_warn_for_misleading_indentation): ... here, before the
2256 early exit for when the loci are not all distinct. Don't pass a
2257 location_t argument to get_visual_column.
2258 (assert_get_visual_column_succeeds): Don't pass a location_t
2259 argument to get_visual_column.
2260 (assert_get_visual_column_fails): Likewise.
2261
fb95de7a
GA
22622020-11-08 Iain Sandoe <iain@sandoe.co.uk>
2263
2264 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
2265 of keywords accepted in @property attribute contexts.
2266 * c-objc.h (enum objc_property_attribute_group): Add
2267 OBJC_PROPATTR_GROUP_CLASS.
2268 (enum objc_property_attribute_kind): Add
2269 OBJC_PROPERTY_ATTR_CLASS.
2270
2da7ee05
GA
22712020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2272
2273 * c-common.c (c_common_reswords): Add 'atomic' property
2274 attribute.
2275 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
2276 property attributes.
2277
22782020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2279
2280 * c-attribs.c (handle_nsobject_attribute): New.
2281 * c.opt: Add WNSObject-attribute.
2282
44cab2d8
GA
22832020-11-06 Iain Sandoe <iain@sandoe.co.uk>
2284
2285 * c-objc.h (enum objc_property_attribute_group): New
2286 (enum objc_property_attribute_kind): New.
2287 (OBJC_PROPATTR_GROUP_MASK): New.
2288 (struct property_attribute_info): Small class encapsulating
2289 parser output from property attributes.
2290 (objc_prop_attr_kind_for_rid): New
2291 (objc_add_property_declaration): Simplify interface.
2292 * stub-objc.c (enum rid): Dummy type.
2293 (objc_add_property_declaration): Simplify interface.
2294 (objc_prop_attr_kind_for_rid): New.
2295
22962020-11-06 Nathan Sidwell <nathan@acm.org>
2297
2298 * c-ada-spec.c (collect_ada_nodes): Rename
2299 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2300 (collect_ada_node): Likewise.
2301 (dump_forward_type): Likewise.
2302 * c-common.c (set_underlying_type): Rename
2303 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2304 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
2305
23062020-11-06 Jakub Jelinek <jakub@redhat.com>
2307
2308 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
2309
0cfd9109
GA
23102020-11-05 Marek Polacek <polacek@redhat.com>
2311
2312 PR c++/97675
2313 * c.opt (Wexceptions): New option.
2314
23152020-11-05 Marek Polacek <polacek@redhat.com>
2316
2317 PR c++/25814
2318 * c.opt (Wvexing-parse): New option.
2319
35c125cb
GA
23202020-11-04 Jakub Jelinek <jakub@redhat.com>
2321
2322 PR c++/97670
2323 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
2324 underlying decl to clear in the allocate_head bitmap.
2325
23262020-11-04 Iain Sandoe <iain@sandoe.co.uk>
2327
2328 * c-objc.h (objc_non_constant_expr_p): New.
2329 * stub-objc.c (objc_non_constant_expr_p): New.
2330
fd2325ea
GA
23312020-11-03 Nathan Sidwell <nathan@acm.org>
2332
2333 * c.opt (MQ,MT): Reword description to be make-agnostic.
2334
88ce3d5f
GA
23352020-11-02 Nathan Sidwell <nathan@acm.org>
2336
2337 * c-opts.c (c_common_post_options): Move var decl to its
2338 initialization point.
2339
23402020-11-01 Iain Sandoe <iain@sandoe.co.uk>
2341
2342 * c-lex.c (c_lex_with_flags): When combining '@' with a
2343 keyword for Objective-C, combine the location ranges too.
2344
23452020-10-30 Qing Zhao <qing.zhao@oracle.com>
2346 H.J.Lu <hjl.tools@gmail.com>
2347
2348 * c-attribs.c (c_common_attribute_table): Add new attribute
2349 zero_call_used_regs.
2350 (handle_zero_call_used_regs_attribute): New function.
2351
e93aae4a
GA
23522020-10-28 Marek Polacek <polacek@redhat.com>
2353
2354 PR c++/97573
2355 * c-opts.c (c_common_post_options): In C++20, turn on
2356 -Wdeprecated-enum-enum-conversion and
2357 -Wdeprecated-enum-float-conversion.
2358 * c.opt (Wdeprecated-enum-enum-conversion,
2359 Wdeprecated-enum-float-conversion): New options.
2360 (Wenum-conversion): Allow for C++ too.
2361
23622020-10-28 Jakub Jelinek <jakub@redhat.com>
2363
2364 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
2365 * c-omp.c: Include bitmap.h.
2366 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
2367
f19e7c8d
GA
23682020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2369
2370 * c-common.c (__is_nothrow_assignable): New.
2371 (__is_nothrow_constructible): Likewise.
2372 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
2373 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
2374
efe71fcc
GA
23752020-10-23 Jan Hubicka <hubicka@ucw.cz>
2376
2377 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
2378
23792020-10-23 Marek Polacek <polacek@redhat.com>
2380
2381 PR c++/91741
2382 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
2383 (c_common_init_ts): Likewise.
2384 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
2385 * c-common.h (maybe_warn_sizeof_array_div): Declare.
2386 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
2387 (maybe_warn_sizeof_array_div): New function.
2388 * c.opt (Wsizeof-array-div): New option.
2389
23902020-10-23 Martin Sebor <msebor@redhat.com>
2391
2392 PR c/97463
2393 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
2394
56ddd5e2
GA
23952020-10-22 Martin Liska <mliska@suse.cz>
2396
2397 PR c/94722
2398 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
2399 (handle_stack_protect_attribute): Add error message for a
2400 no_stack_protector function.
2401
24022020-10-22 Martin Liska <mliska@suse.cz>
2403
2404 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
2405
24062020-10-22 Jan Hubicka <hubicka@ucw.cz>
2407
2408 * c-gimplify.c: Include tree-nested.h
2409 (c_genericize): Update for new nested function info.
2410
b2698c21
GA
24112020-10-14 Martin Sebor <msebor@redhat.com>
2412
2413 PR c/97413
2414 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
2415 bounds in an extra list.
2416
7e9282ae
GA
24172020-10-05 Richard Biener <rguenther@suse.de>
2418 Jakub Jelinek <jakub@redhat.com>
2419
2420 PR c++/97197
2421 * c-pretty-print.c: Include langhooks.h.
2422 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
2423 expression.
2424 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
2425 unary_expression.
2426 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
2427
660bfe61
GA
24282020-09-30 Martin Sebor <msebor@redhat.com>
2429
2430 PR middle-end/97189
2431 * c-attribs.c (append_access_attr): Use the function declaration
2432 location for a warning about an attribute access argument.
2433
93bca37c
GA
24342020-09-29 Marek Polacek <polacek@redhat.com>
2435
2436 PR c++/94695
2437 * c.opt (Wrange-loop-construct): New option.
2438
82b77dee
GA
24392020-09-23 Martin Sebor <msebor@redhat.com>
2440
2441 PR c/97131
2442 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
2443
24442020-09-23 Marek Polacek <polacek@redhat.com>
2445
2446 PR c/97125
2447 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
2448 after loops and other structured control constructs have been lowered.
2449
521d2711
GA
24502020-09-22 Jakub Jelinek <jakub@redhat.com>
2451
2452 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
2453 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
2454
44135373
GA
24552020-09-21 Marek Polacek <polacek@redhat.com>
2456
2457 * c.opt (Wctad-maybe-unsupported): New option.
2458
2fe5b7d1
GA
24592020-09-19 Martin Sebor <msebor@redhat.com>
2460
2461 PR c/50584
2462 * c-common.h (warn_parm_array_mismatch): Declare new function.
2463 (has_attribute): Move declaration of an existing function.
2464 (build_attr_access_from_parms): Declare new function.
2465 * c-warn.c (parm_array_as_string): Define new function.
2466 (plus_one): Define new function.
2467 (warn_parm_ptrarray_mismatch): Define new function.
2468 (warn_parm_array_mismatch): Define new function.
2469 (vla_bound_parm_decl): New function.
2470 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
2471 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
2472 qualifiers here...
2473 (c_pretty_printer::direct_abstract_declarator): ...but instead print
2474 them in brackets here. Also print [static]. Strip extraneous
2475 expressions from VLA bounds.
2476
24772020-09-19 Martin Sebor <msebor@redhat.com>
2478
2479 PR c/50584
2480 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
2481 (handle_argspec_attribute): New function.
2482 (get_argument, get_argument_type): New functions.
2483 (append_access_attrs): Add overload. Handle internal attribute
2484 representation in addition to external.
2485 (handle_access_attribute): Handle internal attribute representation
2486 in addition to external.
2487 (build_attr_access_from_parms): New function.
2488
24892020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2490
2491 * c-gimplify.c (genericize_c_loop): Rewrite to match
2492 c_finish_loop in c-typeck.c.
2493
24942020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2495
2496 * c-common.c (c_block_may_fallthrough): New, split from
2497 cxx_block_may_fallthrough in the cp front end.
2498 (c_common_init_ts): Move handling of loop and switch-related
2499 statements here from the cp front end.
2500 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
2501 cp front end.
2502 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
2503 * c-common.h (c_block_may_fallthru): Declare.
2504 (bc_state_t): Move here from cp front end.
2505 (save_bc_state, restore_bc_state): Declare.
2506 (c_genericize_control_stmt): Declare.
2507 (WHILE_COND, WHILE_BODY): Likewise.
2508 (DO_COND, DO_BODY): Likewise.
2509 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
2510 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
2511 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
2512 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
2513 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
2514 * c-dump.c (dump_stmt): Copy from cp front end.
2515 (c_dump_tree): Move code to handle structured loop and switch
2516 tree nodes here from cp front end.
2517 * c-gimplify.c: Adjust includes.
2518 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
2519 cp front end.
2520 (save_bc_state, restore_bc_state): New functions using old code
2521 from cp front end.
2522 (get_bc_label, expr_loc_or_loc): Move from cp front end.
2523 (genericize_c_loop): Move from cp front end.
2524 (genericize_for_stmt, genericize_while_stmt): Likewise.
2525 (genericize_do_stmt, genericize_switch_stmt): Likewise.
2526 (genericize_continue_stmt, genericize_break_stmt): Likewise.
2527 (genericize_omp_for_stmt): Likewise.
2528 (c_genericize_control_stmt): New function using code split from
2529 cp front end.
2530 (c_genericize_control_r): New.
2531 (c_genericize): Call walk_tree with c_genericize_control_r.
2532 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
2533 structured loop and switch tree nodes here from cp front end.
2534
2aad20c0
GA
25352020-09-17 Patrick Palka <ppalka@redhat.com>
2536
2537 PR c/80076
2538 * c-indentation.c (should_warn_for_misleading_indentation): Move
2539 declarations of local variables closer to their first use.
2540 Handle virtual token locations by resolving them to their
2541 respective macro expansion points. If all three tokens are
2542 produced from the same macro expansion, then instead use their
2543 loci within the macro definition.
2544
ecde1b0a
GA
25452020-09-16 Martin Sebor <msebor@redhat.com>
2546
2547 PR c/78666
2548 PR c/96126
2549 * c-attribs.c (validate_attr_args): New function.
2550 (validate_attr_arg): Same.
2551 (handle_section_attribute): Call it. Introduce a local variable.
2552 (handle_alloc_size_attribute): Same.
2553 (handle_alloc_align_attribute): Same.
2554
50a71cd0
GA
25552020-09-14 Jakub Jelinek <jakub@redhat.com>
2556
2557 * c-attribs.c (handle_optimize_attribute): Adjust
2558 cl_optimization_save, cl_optimization_restore and
2559 build_optimization_node callers.
2560 * c-pragma.c (handle_pragma_optimize): Adjust
2561 build_optimization_node caller.
2562 (handle_pragma_push_options): Adjust
2563 build_optimization_node and build_target_option_node callers.
2564 (handle_pragma_pop_options, handle_pragma_reset_options):
2565 Adjust cl_optimization_restore callers.
2566
8f7ea26a
GA
25672020-08-28 Martin Sebor <msebor@redhat.com>
2568
2569 * c.opt (Wstringop-overread): New option.
2570
a6493809
GA
25712020-08-11 Jakub Jelinek <jakub@redhat.com>
2572
2573 PR c/96545
2574 * c-common.c (get_atomic_generic_size): Require that first argument's
2575 type points to a complete type and use tree_fits_uhwi_p instead of
2576 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
2577
48cc2e46
GA
25782020-07-31 Martin Sebor <msebor@redhat.com>
2579
2580 PR c++/96003
2581 * c-common.c (check_function_arguments_recurse): Return early when
2582 no-warning bit is set.
2583
25842020-07-31 Richard Biener <rguenther@suse.de>
2585
2586 PR debug/96383
2587 * c-common.h (c_common_finalize_early_debug): Declare.
2588 * c-common.c: Include debug.h.
2589 (c_common_finalize_early_debug): finalize_early_debug langhook
2590 implementation generating debug for extern declarations.
2591
e71dab87
GA
25922020-07-27 Nathan Sidwell <nathan@acm.org>
2593
2594 * c-common.c (try_to_locate_new_include_insertion_point): Use
2595 strcmp, not pointer equality.
2596
ae2e0bc1
GA
25972020-07-25 Martin Sebor <msebor@redhat.com>
2598
2599 PR c++/96310
2600 * c-common.c (check_nonnull_arg): Print note only when warning was
2601 issued.
2602
3ea9abca
GA
26032020-07-22 Tobias Burnus <tobias@codesourcery.com>
2604
2605 * c-omp.c (c_finish_omp_critical): Check for no name but
2606 nonzero hint provided.
2607
0933f508
GA
26082020-07-20 Jason Merrill <jason@redhat.com>
2609
2610 * c-cppbuiltin.c (c_cpp_builtins): Update
2611 __cpp_nontype_template_args for C++20.
2612
26132020-07-20 Martin Sebor <msebor@redhat.com>
2614
2615 PR c/96249
2616 * c.opt: Remove stray text.
2617
8ca07a30
GA
26182020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2619
2620 PR other/86904
2621 * c-indentation.c (should_warn_for_misleading_indentation): Get
2622 global tabstop from the new source.
2623 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2624 is now a common option.
2625 * c.opt: Likewise.
2626
a82c4c4c 26272020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2628
2629 * c.opt (Wscalar-storage-order): Add explicit variable.
2630
f60ee68d
GA
26312020-07-07 Nathan Sidwell <nathan@acm.org>
2632
2633 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2634 cpp_read_main_file.
2635 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2636 maps. Force token position to line_table's highest line.
2637 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2638 (cb_define): Always increment source line.
2639
4077d74c
GA
26402020-07-06 Martin Sebor <msebor@redhat.com>
2641
2642 PR c++/95984
2643 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2644 to stub lambda objects with null this pointer.
2645 (check_nonnull_arg): Handle C++ nullptr.
2646
b5f24739
GA
26472020-07-02 Jason Merrill <jason@redhat.com>
2648 Jakub Jelinek <jakub@redhat.com>
2649
2650 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2651
46fbb6c6
GA
26522020-06-30 Jakub Jelinek <jakub@redhat.com>
2653
2654 PR c++/95963
2655 * c-common.c (check_function_arguments_recurse): Don't crash on
2656 calls to internal functions.
2657
69273534
GA
26582020-06-28 Martin Sebor <msebor@redhat.com>
2659
2660 PR c++/86568
2661 * c-common.c (struct nonnull_arg_ctx): Add members.
2662 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2663 C++ member functions specially. Consider the this pointer implicitly
2664 nonnull.
2665 (check_nonnull_arg): Use location of argument when available.
2666 (check_function_arguments): Use nonnull_arg_ctx as argument.
2667
9a33c41f
GA
26682020-06-27 Jakub Jelinek <jakub@redhat.com>
2669
2670 PR middle-end/95903
2671 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2672 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2673 smaller precision intop operands separately.
2674
c9c05f73
GA
26752020-06-26 Marek Polacek <polacek@redhat.com>
2676
2677 * c-opts.c (c_common_init_options): Default to gnu++17.
2678
aff95ee7
GA
26792020-06-17 Jonathan Wakely <jwakely@redhat.com>
2680
bd0a89dc 2681 PR c/95378
aff95ee7
GA
2682 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2683 pointer arguments.
2684
56638b9b
GA
26852020-06-16 Jakub Jelinek <jakub@redhat.com>
2686
2687 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2688 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2689 idx members.
2690 (c_omp_is_loop_iterator): New function.
2691 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2692 if outer loop iterator is present. Perform duplicate checking through
2693 hash_set in the function rather than expecting caller to do that.
2694 Pass NULL instead of d->ppset to walk_tree_1.
2695 (c_omp_check_nonrect_loop_iv): New function.
2696 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2697 non-rectangular loop forms, diagnose multiple associated loops with
2698 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2699 (c_omp_check_loop_iv_exprs): Likewise.
2700
ec6ffbb9
GA
27012020-06-10 Martin Liska <mliska@suse.cz>
2702
2703 PR tree-optimization/92860
2704 * c-attribs.c (handle_optimize_attribute):
2705 Save global options and compare it after parsing of function
2706 attribute.
2707 * c-pragma.c (opt_stack::saved_global_options): New field.
2708 (handle_pragma_push_options): Save global_options.
2709 (handle_pragma_pop_options): Compare them after pop.
2710
b952c2cf
GA
27112020-06-09 Jakub Jelinek <jakub@redhat.com>
2712
2713 PR c/95580
2714 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2715 case when MEM_REF's first argument has type pointer to incomplete type.
2716
1a59f3db
GA
27172020-06-05 Jason Merrill <jason@redhat.com>
2718
2719 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2720 operand to POINTER_PLUS_EXPR.
2721
3add3425
GA
27222020-06-04 Martin Sebor <msebor@redhat.com>
2723
2724 PR middle-end/10138
2725 PR middle-end/95136
2726 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2727 (handle_access_attribute): Same.
2728
9a5b7438
GA
27292020-06-03 Mark Wielaard <mark@klomp.org>
2730
2731 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2732 New function.
2733 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2734 New function declaration.
2735
27362020-06-03 Mark Wielaard <mark@klomp.org>
2737
2738 * known-headers.cc (get_string_macro_hint): New function.
2739 (get_stdlib_header_for_name): Use get_string_macro_hint.
2740 (get_c_stdlib_header_for_string_macro_name): New function.
2741 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2742 New function declaration.
2743
27442020-06-03 Tobias Burnus <tobias@codesourcery.com>
2745
2746 * c-common.h (c_omp_predetermined_mapping): Declare.
2747 * c-omp.c (c_omp_predetermined_mapping): New.
2748
af114c38
MW
27492020-05-22 Mark Wielaard <mark@klomp.org>
2750
2751 * known-headers.cc (get_stdlib_header_for_name): Add a new
2752 stdlib_hint array for stdbool and stdint.
2753
45c50b6a
MW
27542020-05-22 Mark Wielaard <mark@klomp.org>
2755
2756 * known-headers.cc (get_stdlib_header_for_name): Return
2757 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2758 flag_isoc99.
2759
c22027a0
NS
27602020-05-20 Nathan Sidwell <nathan@acm.org>
2761
38a4db21
NS
2762 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2763
c22027a0
NS
2764 * c-common.c (try_to_locate_new_include_insertion_point): Use
2765 strcmp to compare filenames.
2766 * c-lex.c (init_c_lex): Move declaration to initialization.
2767 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2768 deferred count loop.
2769
29f0e90d
JM
27702020-05-15 Jason Merrill <jason@redhat.com>
2771
2772 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2773
b04445d4
JM
27742020-05-13 Jason Merrill <jason@redhat.com>
2775
2776 * c.opt (std=c++20): Make c++2a the alias.
2777 (std=gnu++20): Likewise.
2778 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2779 * c-opts.c: Adjust.
2780 * c-cppbuiltin.c: Adjust.
2781 * c-ubsan.c: Adjust.
2782 * c-warn.c: Adjust.
2783
11dd3be5
EB
27842020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2785
2786 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2787
b224c376
NS
27882020-05-08 Nathan Sidwell <nathan@acm.org>
2789
2790 Reimplement directives only processing.
2791 * c-ppoutput.c (token_streamer): Ne.
2792 (directives_only_cb): New. Swallow ...
2793 (print_lines_directives_only): ... this.
2794 (scan_translation_unit_directives_only): Reimplment using the
2795 published interface.
2796
f1d94677
MP
27972020-05-07 Marek Polacek <polacek@redhat.com>
2798
2799 * c-format.c (badwords): Add "nonstatic".
2800
9b95bb52
JJ
2801202-05-07 Jakub Jelinek <jakub@redhat.com>
2802
2803 PR c/94968
2804 * c-common.c (speculation_safe_value_resolve_params): Return false if
2805 error_operand_p (val2).
2806 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2807 Remove extraneous semicolon.
2808
530b4409 28092020-05-06 qing zhao <qing.zhao@oracle.com>
2810
2811 PR c/94230
2812 * c-indentation.c (get_visual_column): Add a hint to use the new
2813 -flarge-source-files option.
2814
b776bdca
SSF
28152020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2816
2817 * c-attribs.c (handle_vector_size_attribute): Add attribute
2818 nonnull for argument args in order to silence warning of
2819 uninitialized variable usage. Since this is local to the
2820 compilation unit and thus cannot be checked at call sides by the
2821 compiler, added an assert statement in order to verify this.
2822
6607bdd9
L
28232020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2824
2825 PR target/93492
2826 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2827 value to USHRT_MAX (65535).
2828
691eeb65
JJ
28292020-04-29 Jakub Jelinek <jakub@redhat.com>
2830
2831 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2832
26d76be7
JJ
28332020-04-27 Jakub Jelinek <jakub@redhat.com>
2834
2835 PR c/94755
2836 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2837 fncode == BUILT_IN_NONE before initialization of first_param.
2838
7291b2ed
MP
28392020-04-23 Marek Polacek <polacek@redhat.com>
2840
2841 PR c++/94733
2842 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2843 TREE_PURPOSE.
2844
58a29af8
PP
28452020-04-14 Patrick Palka <ppalka@redhat.com>
2846
2847 PR c++/85278
2848 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2849 ampersand if it's an rvalue reference type.
2850
09f04139
MS
28512020-04-13 Martin Sebor <msebor@redhat.com>
2852
2853 PR c/92326
2854 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2855 printing array bound for flexible array members.
2856
ee26baf4
IS
28572020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2858
2859 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2860 define, per n4861.
2861
75efe9cb
RB
28622020-04-02 Richard Biener <rguenther@suse.de>
2863
2864 PR c/94392
2865 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2866 for -O2 and C++11 or newer.
2867
75defde9
PP
28682020-03-28 Patrick Palka <ppalka@redhat.com>
2869
2870 * c.opt: Add -fconcepts-diagnostics-depth.
2871
52f24a9e
MS
28722020-03-27 Martin Sebor <msebor@redhat.com>
2873
2874 PR c++/94346
2875 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2876 to decl_attributes. Make handling of different kinds of entities
2877 more robust.
2878
ccacf77b
MS
28792020-03-27 Martin Sebor <msebor@redhat.com>
2880
2881 PR c++/94098
2882 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2883 here.
2884
ca6c7225
JJ
28852020-03-23 Jakub Jelinek <jakub@redhat.com>
2886
2887 PR c++/91993
2888 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2889 result being COMPOUND_EXPRs, skip to ultimate rhs.
2890
1aa22b19
RS
28912020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2892
2893 PR middle-end/94072
2894 * c-common.c (c_common_type_for_mode): Before using a registered
2895 built-in type, check that the vectorness of the type matches
2896 the vectorness of the mode.
2897
700d4cb0
JJ
28982020-03-17 Jakub Jelinek <jakub@redhat.com>
2899
2900 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2901 issue in a diagnostic message.
2902
b408e010
LH
29032020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2904
2905 * c.opt: Avoid redundancy in the help text.
2906
e78e50d5
MP
29072020-03-02 Marek Polacek <polacek@redhat.com>
2908
2909 PR c++/93958 - add missing -std=gnu++20.
2910 * c.opt: Add -std=gnu++20.
2911
649e1741
MS
29122020-03-01 Martin Sebor <msebor@redhat.com>
2913
2914 PR c++/92721
2915 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2916 (handle_access_attribute): Same.
2917
7b60f3ba
JJ
29182020-02-25 Jakub Jelinek <jakub@redhat.com>
2919
2920 PR c/93858
2921 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2922 "did you mean" hint in diagnostics.
2923
fb260504
JM
29242020-02-15 Jason Merrill <jason@redhat.com>
2925
2926 * c.opt: Add -std=c++20.
2927
1d757b09
EB
29282020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2929
2930 * c-ada-spec.c: Include bitmap.h.
2931 (dump_ada_double_name): Rename into...
2932 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2933 (dump_ada_array_type): Adjust to above renaming. Robustify.
2934 (dump_nested_types_1): New function copied from... Add dumped_types
2935 parameter and pass it down to dump_nested_type.
2936 (dump_nested_types): ...this. Remove parent parameter. Just call
2937 dump_nested_types_1 on an automatic bitmap.
2938 (dump_nested_type): Add dumped_types parameter.
2939 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2940 Adjust recursive calls and adjust to above renaming.
2941 (dump_ada_declaration): Adjust call to dump_nested_types.
2942 Tidy up and adjust to above renaming.
2943 (dump_ada_specs): Initialize and release bitmap obstack.
2944
0cc575e4
MS
29452020-02-10 Martin Sebor <msebor@redhat.com>
2946
2947 PR c/93640
2948 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2949
a59aa302
JJ
29502020-02-10 Jakub Jelinek <jakub@redhat.com>
2951
2952 PR other/93641
2953 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2954 Remove useless extra test.
2955
e464fc90
TB
29562020-02-03 Julian Brown <julian@codesourcery.com>
2957 Tobias Burnus <tobias@codesourcery.com>
2958
2959 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2960
e3b6c052
JM
29612020-01-29 Jason Merrill <jason@redhat.com>
2962
2963 PR c++/89357
2964 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2965
6d00f052
JM
29662020-01-23 Jason Merrill <jason@redhat.com>
2967
2968 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2969
8a990ffa
MS
29702020-01-23 Martin Sebor <msebor@redhat.com>
2971
2972 PR c/84919
2973 * c-common.c (check_function_arguments): Avoid overlap checking
2974 of sprintf functions.
2975
55b7df8b
JM
29762020-01-22 Jason Merrill <jason@redhat.com>
2977
2978 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2979 PR c++/40752
2980 * c-warn.c (conversion_warning): Check operands only after checking
2981 the whole expression. Don't check second operand of + for sign.
2982
c77074d0
JM
29832020-01-21 Jason Merrill <jason@redhat.com>
2984 Manuel López-Ibáñez <manu@gcc.gnu.org>
2985
2986 PR c++/40752 - useless -Wconversion with short +=.
2987 * c.opt (-Warith-conversion): New.
2988 * c-warn.c (conversion_warning): Recurse for operands of
2989 operators. Only warn about the whole expression with
2990 -Warith-conversion.
2991
731dbfc3
JM
29922020-01-21 Jason Merrill <jason@redhat.com>
2993
2994 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2995 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2996
ad1a3914
NS
29972020-01-20 Nathan Sidwell <nathan@acm.org>
2998
2999 PR preprocessor/80005
3000 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
3001
49789fd0
IS
30022020-01-18 Iain Sandoe <iain@sandoe.co.uk>
3003
3004 * c-common.c (co_await, co_yield, co_return): New.
3005 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
3006 RID_CO_RETURN): New enumeration values.
3007 (D_CXX_COROUTINES): Bit to identify coroutines are active.
3008 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
3009 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
3010 * c.opt (fcoroutines): New command-line switch.
3011
4bc1899b
DM
30122020-01-10 David Malcolm <dmalcolm@redhat.com>
3013
3014 * c-format.c (local_event_ptr_node): New.
3015 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
3016 (init_dynamic_diag_info): Initialize local_event_ptr_node.
3017 * c-format.h (T_EVENT_PTR): New define.
3018
f25e33fa
MS
30192020-01-10 Martin Sebor <msebor@redhat.com>
3020
3021 PR c/93132
3022 * c-attribs.c (append_access_attrs): Validate against the translated
3023 access string rather than the human-readable representation.
3024
8d9254fc
JJ
30252020-01-01 Jakub Jelinek <jakub@redhat.com>
3026
3027 Update copyright years.
3028
39292e25
EB
30292019-12-20 Eric Botcazou <ebotcazou@adacore.com>
3030
3031 * c-ada-spec.h (decl_sloc): Delete.
3032 * c-ada-spec.c (decl_sloc): Make static.
3033
519d7496
JB
30342019-12-19 Julian Brown <julian@codesourcery.com>
3035
3036 * c-common.h (c_omp_map_clause_name): Add prototype.
3037 * c-omp.c (c_omp_map_clause_name): New function.
3038 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
3039 PRAGMA_OACC_CLAUSE_DETACH.
3040
a6163563
JB
30412019-12-19 Julian Brown <julian@codesourcery.com>
3042 Maciej W. Rozycki <macro@codesourcery.com>
3043 Tobias Burnus <tobias@codesourcery.com>
3044 Thomas Schwinge <thomas@codesourcery.com>
3045
3046 * c-pragma.h (pragma_omp_clause): Add
3047 PRAGMA_OACC_CLAUSE_NO_CREATE.
3048
e8f1ade2
MS
30492019-12-17 Martin Sebor <msebor@redhat.com>
3050
3051 PR c++/61339
3052 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
3053
368877a1
DM
30542019-12-11 David Malcolm <dmalcolm@redhat.com>
3055
3056 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
3057 implementation.
3058 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
3059
d68f5d45
DM
30602019-12-09 David Malcolm <dmalcolm@redhat.com>
3061
3062 * c-format.c (range_label_for_format_type_mismatch::get_text):
3063 Replace label_text ctor called with true with label_text::take.
3064
d3e28653
DM
30652019-12-09 David Malcolm <dmalcolm@redhat.com>
3066
3067 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
3068 initial newline from expected outputs.
3069 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
3070 call to diagnostic_show_locus.
3071
abd6d8cc
JJ
30722019-12-06 Jakub Jelinek <jakub@redhat.com>
3073
3074 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
3075 now.
3076
7906797e
MP
30772019-12-05 Marek Polacek <polacek@redhat.com>
3078 Jakub Jelinek <jakub@redhat.com>
3079
3080 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
3081 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
3082
5c04da88
MP
30832019-12-05 Marek Polacek <polacek@redhat.com>
3084
3085 PR c++/92271 - make __is_same alias for __is_same_as.
3086 * c-common.c: Add __is_same, an alias for __is_same_as.
3087
43aae289
MP
30882019-12-03 Marek Polacek <polacek@redhat.com>
3089
3090 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
3091 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3092 __cpp_aggregate_paren_init=201902 for -std=c++2a.
3093
d7ddfbcb
JH
30942019-11-30 Jan Hubicka <hubicka@ucw.cz>
3095
3096 * c-attribs.c (handle_symver_attribute): New function
3097 (c_common_attributes): Add symver.
3098
65ef05d0
RS
30992019-11-30 Richard Sandiford <richard.sandiford@arm.com>
3100
3101 * c-common.c (pointer_int_sum): Use verify_type_context to check
3102 whether the target allows pointer arithmetic for the types involved.
3103 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
3104 to check whether the target allows sizeof and alignof operations
3105 for the types involved.
3106
1a291106
JM
31072019-11-27 Jason Merrill <jason@redhat.com>
3108
3109 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
3110
05d6cb1a
JJ
31112019-11-26 Jakub Jelinek <jakub@redhat.com>
3112
3113 PR c++/61414
3114 * c-attribs.c (handle_mode_attribute): Add mode attribute to
3115 ENUMERAL_TYPEs.
3116
5b8d9367
JM
31172019-11-25 Joseph Myers <joseph@codesourcery.com>
3118
3119 PR c/91985
3120 * c-common.c (c_common_type_for_mode): Handle decimal
3121 floating-point types being NULL_TREE.
3122 * c-format.c (get_format_for_type_1): Handle specified types being
3123 NULL_TREE.
3124 * c-lex.c (interpret_float): Give an error for decimal
3125 floating-point constants when decimal floating-point not
3126 supported.
3127
1fbf51cb
JJ
31282019-11-23 Jakub Jelinek <jakub@redhat.com>
3129
3130 PR middle-end/83859
3131 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
3132 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
3133 group warning with inform together.
3134 (handle_access_attribute): Formatting fix.
3135
761df906
JJ
31362019-11-22 Jakub Jelinek <jakub@redhat.com>
3137
bdaf8be1
JJ
3138 PR c/90677
3139 * c-common.h (identifier_global_tag): Declare.
3140 * c-format.c (get_pointer_to_named_type): Renamed to ...
3141 (get_named_type): ... this. Use identifier_global_tag instead of
3142 identifier_global_value, handle the return value being a TYPE_P.
3143 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
3144 to call get_named_type instead. Formatting fixes.
3145
c2ecce6d 3146 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
3147 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
3148 and __cpp_generic_lambdas for -std=c++2a. Define
3149 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
3150 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
3151 __cpp_concepts for -std=c++2a.
3152
54aa6b58
MS
31532019-11-22 Martin Sebor <msebor@redhat.com>
3154
3155 PR middle-end/83859
3156 * c-attribs.c (handle_access_attribute): New function.
3157 (c_common_attribute_table): Add new attribute.
3158 (get_argument_type): New function.
3159 (append_access_attrs): New function.
3160 (get_nonnull_operand): Rename...
3161 (get_attribute_operand): ...to this.
3162 * c-common.c (get_nonnull_operand): Rename...
3163 (get_attribute_operand): ...to this.
3164
6c80b1b5
JM
31652019-11-21 Joseph Myers <joseph@codesourcery.com>
3166
3167 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
3168 of warning.
3169
192961ff
JM
31702019-11-19 Joseph Myers <joseph@codesourcery.com>
3171
3172 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
3173 warning for standard attributes mixed with fallthrough attributes.
3174
f8aea5e3
JM
31752019-11-15 Joseph Myers <joseph@codesourcery.com>
3176
3177 * c-attribs.c (handle_fallthrough_attribute): Remove static.
3178 * c-common.h (handle_fallthrough_attribute): Declare.
3179
2cc94aa8
JM
31802019-11-15 Joseph Myers <joseph@codesourcery.com>
3181
3182 * c-attribs.c (handle_deprecated_attribute): Remove static.
3183 * c-common.h (handle_deprecated_attribute): Declare.
3184
7c5890cc
JM
31852019-11-14 Joseph Myers <joseph@codesourcery.com>
3186
3187 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
3188 char for C.
3189
b2417b59
JJ
31902019-11-14 Jakub Jelinek <jakub@redhat.com>
3191
d0ec7c93
JJ
3192 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
3193 valid vendors.
3194
b2417b59
JJ
3195 * c-omp.c (c_omp_check_context_selector): Handle name lists
3196 containing string literals. Don't diagnose atomic_default_mem_order
3197 with multiple props.
3198
00be2a5f
JM
31992019-11-13 Joseph Myers <joseph@codesourcery.com>
3200
3201 * c-cppbuiltin.c (builtin_define_float_constants): Also define
3202 NORM_MAX constants. Update call to get_max_float.
3203 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
3204 constants.
3205
2dbad62d
EB
32062019-11-13 Eric Botcazou <ebotcazou@adacore.com>
3207
3208 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
3209 (dump_forward_type): Do not generate a declaration for function types.
3210 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
3211 of the component type if it is declared in another file.
3212
6ed76044
ML
32132019-11-12 Martin Liska <mliska@suse.cz>
3214
3215 * c-opts.c (c_common_post_options):
3216 Use SET_OPTION_IF_UNSET.
3217
62aee289
MR
32182019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
3219 Frederik Harwath <frederik@codesourcery.com>
3220
3221 gcc/c-family/
3222 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
3223 constant.
3224 * c-pragma.c (oacc_pragmas): Add "serial" entry.
3225
f486280c
RS
32262019-11-08 Richard Sandiford <richard.sandiford@arm.com>
3227
3228 * c-common.h (gnu_vector_type_p): New function.
3229 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
3230 vectors to satisfy gnu_vector_type_p.
3231 (c_build_vec_convert): Likewise __builtin_convertvector.
3232 (convert_vector_to_array_for_subscript): Likewise when applying
3233 implicit vector to array conversion.
3234 (scalar_to_vector): Likewise when converting vector-scalar
3235 operations to vector-vector operations.
3236
017c6491
JM
32372019-11-08 Joseph Myers <joseph@codesourcery.com>
3238
3239 * c.opt (Wold-style-definition): Initialize to -1.
3240 * c-opts.c (c_common_post_options): Set warn_old_style_definition
3241 to flag_isoc2x if not set explicitly.
3242
c01bd174
JM
32432019-11-07 Joseph Myers <joseph@codesourcery.com>
3244
3245 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
3246
0df65305
JM
32472019-11-05 Jason Merrill <jason@redhat.com>
3248
3249 * c-opts.c (c_common_post_options): -fconcepts-ts implies
3250 -fconcepts.
3251
e0c866dd
KK
32522019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
3253
3254 * c-opts.c (c_common_post_options): Update
3255 latest_abi_version.
3256
f968ef9b
JJ
32572019-11-02 Jakub Jelinek <jakub@redhat.com>
3258
d0c464d2
JJ
3259 * c-common.h (c_omp_get_context_selector): Remove.
3260 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
3261 and renamed to omp_get_context_selector.
3262
917dd789
JJ
3263 * c-omp.c (c_omp_mark_declare_variant): Use
3264 omp_context_selector_set_compare.
3265
f968ef9b
JJ
3266 PR c++/88335 - Implement P1073R3: Immediate functions
3267 * c-common.h (enum rid): Add RID_CONSTEVAL.
3268 * c-common.c (c_common_reswords): Add consteval.
3269
5f6705b7
JJ
32702019-11-01 Martin Sebor <msebor@redhat.com>
3271
3272 PR middle-end/91679
3273 PR middle-end/91647
3274 PR middle-end/91463
3275 PR middle-end/92312
3276 * c-pretty-print.c (direct_abstract_declarator): Print
3277 bound in zero-length arrays.
3278 * c.opt (-Wzero-length-bounds): New option.
3279
43f1814c
NS
32802019-10-30 Nathan Sidwell <nathan@acm.org>
3281
3282 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
3283 macros.
3284
ad1539d5
MS
32852019-10-28 Martin Sebor <msebor@redhat.com>
3286
3287 PR c/66970
3288 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
3289 even when only preprocessing.
3290 * c-common.h (names_builtin_p): Declare new function.
3291 * c-lex.c (init_c_lex): Set has_builtin.
3292 (c_common_has_builtin): Define a new function.
3293 * c-ppoutput.c (init_pp_output): Set has_builtin.
3294
135df52c
JJ
32952019-10-24 Jakub Jelinek <jakub@redhat.com>
3296
3297 * c-common.h (c_omp_context_selector_matches): Remove.
3298 * c-omp.c (c_omp_context_selector_matches): Remove.
3299 * c-attribs.c (c_common_attribute_table): Add
3300 "omp declare target {host,nohost,block}" attributes.
3301
8ad0c477
JM
33022019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
3303
3304 * c-lex.c (c_common_has_attribute): Update nodiscard value.
3305
56898e43
RS
33062019-10-14 Richard Sandiford <richard.sandiford@arm.com>
3307
3308 * c-common.h (user_facing_original_type_p): Declare.
3309 * c-common.c: Include c-spellcheck.h.
3310 (user_facing_original_type_p): New function.
3311
20de9568
JJ
33122019-10-12 Jakub Jelinek <jakub@redhat.com>
3313
3314 * c-common.h (c_omp_mark_declare_variant,
3315 c_omp_context_selector_matches): Declare.
3316 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
3317 and hsa-common.h.
3318 (c_omp_get_context_selector): Support second argument NULL.
3319 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
3320 functions.
3321 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
3322 attribute, add "omp declare variant base" and
3323 "omp declare variant variant" attributes.
3324
175a85b2
JM
33252019-10-11 Joseph Myers <joseph@codesourcery.com>
3326
3327 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
3328 CppReason(CPP_W_C11_C2X_COMPAT).
3329
fe2bc27c
JM
33302019-10-11 Joseph Myers <joseph@codesourcery.com>
3331
3332 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
3333 _Decimal64 and _Decimal128.
3334
27dfdc0f
JM
33352019-10-10 Joseph Myers <joseph@codesourcery.com>
3336
3337 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
3338 types if DFP not supported.
3339
94e7f906
JJ
33402019-10-10 Jakub Jelinek <jakub@redhat.com>
3341
3342 * c-common.h (c_omp_check_context_selector,
3343 c_omp_get_context_selector): Declare.
3344 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
3345 in diagnostic message.
3346 (c_omp_check_context_selector, c_omp_get_context_selector): New
3347 functions.
3348 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
3349 attribute.
3350 (handle_omp_declare_variant_attribute): New function.
3351
a7160771
MS
33522019-10-09 Martin Sebor <msebor@redhat.com>
3353
3354 PR tree-optimization/90879
3355 * c.opt (-Wstring-compare): New option.
3356
cb57504a
JM
33572019-10-08 Andrew Sutton <asutton@lock3software.com>
3358 Jason Merrill <jason@redhat.com>
3359
3360 Update the concepts implementation to conform to the C++20
3361 specification, improve compile times, and generally clean up
3362 the implementation.
3363
3364 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
3365 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
3366 * c.opt: Add -Wconcepts-ts.
3367 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
3368 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
3369 (set_std_cxx2a): Enable concepts by default.
3370
fbb2a6dc
JM
33712019-10-08 Joseph Myers <joseph@codesourcery.com>
3372
3373 * c-opts.c (c_common_post_options): Set
3374 -fno-fp-int-builtin-inexact for C2X.
3375
8e007055
JJ
33762019-10-05 Jakub Jelinek <jakub@redhat.com>
3377
3378 PR c++/91369 - Implement P0784R7: constexpr new
3379 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3380 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
3381
843f104d
JM
33822019-10-04 Joseph Myers <joseph@codesourcery.com>
3383
3384 PR c/82752
3385 * c-format.c (C_STD_VER): Handle C2x.
3386 (C_STD_NAME): Likewise.
3387 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
3388 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
3389 modifier allowed and 'p' flag.
3390 * c-format.h (enum format_std_version): Add STD_C2X.
3391 (struct format_char_info): Mention 'p' in comment on flags2.
3392
e9c9a142
DM
33932019-10-01 David Malcolm <dmalcolm@redhat.com>
3394
3395 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
3396 calling diagnostic_show_locus, rather than destroying it afterwards.
3397
7552c36a
JJ
33982019-10-01 Jakub Jelinek <jakub@redhat.com>
3399
3400 PR c++/91925
3401 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
3402 with NULL DECL_FIELD_OFFSET.
3403
8209db25
RS
34042019-10-01 Richard Sandiford <richard.sandiford@arm.com>
3405
3406 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
3407 has a type name, use it in preference to the __vector syntax.
3408
9343bf99
RS
34092019-09-30 Richard Sandiford <richard.sandiford@arm.com>
3410
3411 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
3412 two spaces between a comma and "...".
3413
59bc434a
JJ
34142019-09-27 Jakub Jelinek <jakub@redhat.com>
3415
3416 PR c++/88203
3417 * c-common.h (c_omp_predefined_variable): Declare.
3418 * c-omp.c (c_omp_predefined_variable): New function.
3419 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
3420 for predefined variables.
3421
c6447c20
RS
34222019-09-27 Richard Sandiford <richard.sandiford@arm.com>
3423
3424 * c-common.h (build_function_call_vec): Take the original
3425 function decl as an optional final parameter.
3426 (check_builtin_function_arguments): Take the original function decl.
3427 * c-common.c (check_builtin_function_arguments): Likewise.
3428 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
3429 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
3430
c4438114
JM
34312019-09-15 Jason Merrill <jason@redhat.com>
3432
3433 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
3434 fold_for_warn in "|| mask" warning.
3435
68a57628
ML
34362019-09-10 Martin Liska <mliska@suse.cz>
3437
3438 * c.opt: Use newly added WarnRemoved.
3439
f48ef52e
ML
34402019-09-09 Martin Liska <mliska@suse.cz>
3441
3442 * c.opt: Update comment of removed
3443 options that are preserved only for backward
3444 compatibility.
3445
67f6e649
ML
34462019-09-06 Martin Liska <mliska@suse.cz>
3447
3448 PR c++/91125
3449 * c-common.c: Remove definition of flag_use_repository.
3450 * c-common.h: Likewise.
3451 * c-opts.c (c_common_handle_option):
3452 Do not handle OPT_frepo option.
3453 * c.opt: Mark the option with Deprecated.
3454
db9d2274
MP
34552019-09-04 Marek Polacek <polacek@redhat.com>
3456
3457 * c.opt (fdeduce-init-list): Ignored.
3458
68e2c199
PK
34592019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3460
3461 PR c/78736
3462 * c.opt (Wenum-conversion): New option.
3463
7a4418a5
JL
34642019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3465
3466 * c-attribs.c (handle_section_attribute): Call the
3467 handle_generic_attribute target hook after performing target
3468 independent processing.
3469 (handle_noinit_attribute): Likewise.
3470
5f76ab15
ILT
34712019-09-03 Ian Lance Taylor <iant@golang.org>
3472
3473 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
3474 when using -fgo-dump-spec.
3475
ae0d3f6a
ML
34762019-09-02 Martin Liska <mliska@suse.cz>
3477
3478 PR c++/91155
3479 * c-common.c (fname_as_string): Use cxx_printable_name for
3480 __PRETTY_FUNCTION__ same as was used before r265711.
3481
8a902edb
MP
34822019-08-28 Marek Polacek <polacek@redhat.com>
3483
3484 Implement P1152R4: Deprecating some uses of volatile.
3485 PR c++/91361
3486 * c-opts.c (c_common_post_options): Enable -Wvolatile by
3487 default for C++2a, unless -Wno-deprecated.
3488 * c.opt (Wvolatile): New warning.
3489
4742dbe7
MP
34902019-08-28 Marek Polacek <polacek@redhat.com>
3491
3492 PR c++/91360 - Implement C++20 P1143R2: constinit.
3493 * c-common.c (c_common_reswords): Add constinit and __constinit.
3494 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
3495 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
3496 RID_LAST_CXX20.
3497 (D_CXX20): Define.
3498 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
3499 * c-format.c (cxx_keywords): Add "constinit".
3500 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
3501
6a074892
JJ
35022019-08-27 Jakub Jelinek <jakub@redhat.com>
3503
3504 PR c++/91415
3505 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
3506 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
3507 like COMPOUND_EXPR rather than normal expression.
3508
22f8849d
IS
35092019-08-23 Iain Sandoe <iain@sandoe.co.uk>
3510
3511 PR pch/61250
3512 * c-lex.c (c_lex_with_flags): Don't call
3513 c_common_no_more_pch () from here.
3514
df375b03
JJ
35152019-08-23 Jakub Jelinek <jakub@redhat.com>
3516
3517 PR middle-end/91283
3518 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
3519 instead of flag_excess_precision_cmdline.
3520 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
3521 * c-opts.c (c_common_post_options): Likewise.
3522
14b7950f
MS
35232019-08-22 Martin Sebor <msebor@redhat.com>
3524
3525 PR middle-end/91490
3526 * c-common.c (braced_list_to_string): Add argument and overload.
3527 Handle flexible length arrays and unions.
3528
8bb2ee59
EB
35292019-08-21 Eric Botcazou <ebotcazou@adacore.com>
3530
3531 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
3532 function declarations where arguments are missing. Rename variables.
3533
21c1e205
RB
35342019-08-15 Richard Biener <rguenther@suse.de>
3535
3536 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
3537 enabled, define __SIZETYPE__.
3538
f0033821
CL
35392019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
3540
3541 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
3542 exclusion with "section" attribute.
3543 (attr_noinit_exclusions): New table.
3544 (handle_noinit_attribute): New function.
3545
4d732405
RS
35462019-08-13 Richard Sandiford <richard.sandiford@arm.com>
3547
3548 PR middle-end/91421
3549 * c-common.c (resolve_overloaded_builtin): Use
3550 copy_decl_built_in_function.
3551
51ad8481
MS
35522019-08-13 Martin Sebor <msebor@redhat.com>
3553
3554 PR c/80619
3555 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
3556 (asm_fprintf_length_spec): Same.
3557 * c-format.h (format_lengths): Add FMT_LEN_w.
3558
77eb117f
JJ
35592019-08-10 Jakub Jelinek <jakub@redhat.com>
3560
3561 * c-pragma.h (enum pragma_omp_clause): Add
3562 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
3563
398e3feb
JJ
35642019-08-07 Jakub Jelinek <jakub@redhat.com>
3565
3566 * c-pragma.h (enum pragma_omp_clause): Add
3567 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
3568 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
3569 enumeration value.
3570
ab574db6
MP
35712019-08-05 Marek Polacek <polacek@redhat.com>
3572
3573 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
3574 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
3575 default for C++2a, unless -Wno-deprecated.
3576 * c.opt (Wcomma-subscript): New warning.
3577
554a530f
JJ
35782019-07-20 Jakub Jelinek <jakub@redhat.com>
3579
3580 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
3581 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
3582 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
3583 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
3584 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
3585 constructs with the loop construct.
3586
1a888209
JJ
35872019-07-13 Jakub Jelinek <jakub@redhat.com>
3588
3589 PR c/91149
3590 * c-omp.c (c_omp_split_clauses): Fix a pasto in
3591 OMP_CLAUSE_REDUCTION_TASK handling.
3592
1fdd6f04
JJ
35932019-07-12 Jakub Jelinek <jakub@redhat.com>
3594
3595 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
3596 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
3597
99b1c316
MS
35982019-07-09 Martin Sebor <msebor@redhat.com>
3599
3600 PR c++/61339
1fdd6f04 3601 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
3602 and others to class.
3603 * c-pretty-print.h: Same.
3604
6c1dae73
MS
36052019-07-09 Martin Sebor <msebor@redhat.com>
3606
3607 PR c++/61339
3608 * c-format.c (check_argument_type): Change class-key from class to
3609 struct and vice versa to match convention and avoid -Wclass-is-pod
3610 and -Wstruct-no-pod.
3611 * c-pretty-print.h: Same.
3612
8ba6ea87
ML
36132019-07-03 Martin Liska <mliska@suse.cz>
3614
3615 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3616 dead assignemts.
3617
83eb9522
JJ
36182019-07-03 Jakub Jelinek <jakub@redhat.com>
3619
3620 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3621 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3622 with OMP_PARALLEL.
3623
1c6ffbab
QZ
36242019-07-02 qing zhao <qing.zhao@oracle.com>
3625
3626 PR preprocessor/90581
3627 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3628 * c.opt: Add new option -fmax-include-depth.
3629
7ffc7de5
JM
36302019-06-26 Jason Merrill <jason@redhat.com>
3631
3632 PR c++/55442 - memory-hog with highly recursive constexpr.
3633 * c.opt (fconstexpr-loop-limit): New.
3634
361af3e4
JJ
36352019-06-25 Jakub Jelinek <jakub@redhat.com>
3636
3637 PR sanitizer/90954
3638 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3639 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3640
ab20d992
JJ
36412019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3642
3643 * c-common.c (c_common_nodes_and_builtins): Define
3644 alternate "__intN__" name for "__intN" types.
3645
f4af4019
JH
36462019-06-24 Jan Hubicka <jh@suse.cz>
3647
3648 * c-common.c (braced_lists_to_strings): Check that
3649 type is array or integer prior checking string flag.
3650
da9e9b57
MB
36512019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3652
3653 PR c++/90875 - added -Wswitch-outside-range option
3654 * c.opt (Wswitch-outside-range): Added new option.
3655 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3656
3f3d6a6f
MP
36572019-06-21 Marek Polacek <polacek@redhat.com>
3658
3659 PR c++/90953 - ICE with -Wmissing-format-attribute.
3660 * c-common.c (check_function_arguments_recurse): Use
3661 get_attribute_name.
3662 (check_missing_format_attribute): Likewise.
3663
1bf32c11
MP
36642019-06-19 Marek Polacek <polacek@redhat.com>
3665
3666 PR c++/60364 - noreturn after first decl not diagnosed.
3667 * c-attribs.c (handle_noreturn_attribute): No longer static.
3668 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3669 Declare.
3670 * c-format.c (check_function_format): Use get_attribute_name.
3671
a04c0734
MS
36722019-06-19 Martin Sebor <msebor@redhat.com>
3673
3674 PR translation/90156
3675 * c-format.c (function_format_info::format_type): Adjust type.
3676 (function_format_info::is_raw): New member.
3677 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3678 (decode_format_attr): Adjust call to decode_format_type.
3679 Avoid a redundant call to convert_format_name_to_system_name.
3680 Avoid abbreviating the word "arguments" in a diagnostic.
3681 (format_warning_substr): New function.
3682 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3683 (finish_dollar_format_checking): Same.
3684 (check_format_info): Same.
3685 (struct baltoks_t): New.
3686 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3687 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3688 functions.
3689 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3690 maybe_diag_unbalanced_tokens.
3691 (handle_format_attribute): Spell out the word "arguments" in
3692 a diagnostic.
3693
d3786ebb
MB
36942019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3695
3696 PR c++/90449 - add -Winaccessible-base option.
3697 * c.opt (Winaccessible-base): New option.
3698
bf38f7e9
JJ
36992019-06-10 Jakub Jelinek <jakub@redhat.com>
3700
3701 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3702 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3703 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3704 combined/composite constructs where it is not allowed. Copy over
3705 OMP_CLAUSE_REDUCTION_INSCAN.
3706
0ecf545c
MS
37072019-06-05 Martin Sebor <msebor@redhat.com>
3708
3709 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3710 (handle_alias_ifunc_attribute): Same.
3711 (handle_copy_attribute): Same.
3712 (handle_weakref_attribute): Same.
3713 (handle_nonnull_attribute): Same.
3714 * c-warn.c (warn_for_sign_compare): Same.
3715 (warn_for_restrict): Same.
3716 * c.opt: Same.
3717
36b34127
MS
37182019-06-05 Martin Sebor <msebor@redhat.com>
3719
3720 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3721 * c.opt (-Wformat-diag): Remove a spurious period.
3722
357a352f
JJ
37232019-05-29 Jakub Jelinek <jakub@redhat.com>
3724
3725 PR c/90628
3726 * c-common.c (check_builtin_function_arguments)
3727 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3728 as last argument.
3729
2b8235ea
EB
37302019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3731
3732 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3733
6d86ddc4
ML
37342019-05-22 Martin Liska <mliska@suse.cz>
3735
3736 PR lto/90500
3737 * c-attribs.c (handle_copy_attribute): Do not copy
3738 target_clones attribute.
3739
419ba5b9
EB
37402019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3741
3742 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3743 * c-ada-spec.c (print_assignment_operator): New function.
3744 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3745 assignment operators declared as methods and filter out the others.
3746
e03436e7
TS
37472019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3748
3749 PR c/89433
3750 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3751 "omp declare target".
3752
a9c697b8
MS
37532019-05-16 Martin Sebor <msebor@redhat.com>
3754
ab20d992
JJ
3755 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3756 keywords, operators, and types in diagnostics.
3757 (handle_scalar_storage_order_attribute): Same.
3758 (handle_mode_attribute): Same.
3759 (handle_visibility_attribute): Same.
3760 (handle_assume_aligned_attribute): Same.
3761 (handle_no_split_stack_attribute): Same.
3762 * c-common.c (shorten_compare): Same.
3763 (c_common_truthvalue_conversion): Same.
3764 (cb_get_source_date_epoch): Same.
3765 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3766 in diagnostics.
3767 (interpret_float): Same.
3768 * c-omp.c (c_finish_omp_for): Same.
3769 * c-opts.c (c_common_post_options): Same.
3770 * c-pch.c (c_common_pch_pragma): Same.
3771 * c-pragma.c (pop_alignment): Same.
3772 (handle_pragma_pack): Same.
3773 (apply_pragma_weak): Same.
3774 (handle_pragma_weak): Same.
3775 (handle_pragma_scalar_storage_order): Same.
3776 (handle_pragma_redefine_extname): Same.
3777 (add_to_renaming_pragma_list): Same.
3778 (maybe_apply_renaming_pragma): Same.
3779 (push_visibility): Same.
3780 (handle_pragma_visibility): Same.
3781 (handle_pragma_optimize): Same.
3782 (handle_pragma_message): Same.
3783 * c-warn.c (warn_for_omitted_condop): Same.
3784 (lvalue_error): Same.
a9c697b8 3785
6b943512
RB
37862019-05-15 Richard Biener <rguenther@suse.de>
3787
3788 PR c/90474
3789 * c-common.c (c_common_mark_addressable_vec): Also mark
3790 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3791 c_mark_addressable.
ab20d992 3792
b744fc85
NS
37932019-05-06 Nathan Sidwell <nathan@acm.org>
3794
3795 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3796
598f50d7
NS
37972019-04-30 Nathan Sidwell <nathan@acm.org>
3798
3799 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3800
5bcc5a3b
ML
38012019-04-30 Martin Liska <mliska@suse.cz>
3802
3803 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3804 for unknown options.
3805
e78a87f7
RS
38062019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3807
3808 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3809 the pointer target rather than the pointer itself.
3810
c280b7ee
JJ
38112019-04-19 Jakub Jelinek <jakub@redhat.com>
3812
3813 PR c/89888
3814 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3815 arguments.
3816 (c_do_switch_warnings): Remove outside_range_p argument.
3817 * c-common.c (check_case_bounds): Removed.
3818 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3819 Don't call check_case_bounds. Fold low_value as well as high_value.
3820 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3821 Check for case labels outside of range of original type here and
3822 adjust them.
3823
8e8225e6
JJ
38242019-04-12 Jakub Jelinek <jakub@redhat.com>
3825
63b8a166
JJ
3826 PR translation/90041
3827 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3828 in the Warn diagnostics.
3829
8e8225e6
JJ
3830 PR c/89946
3831 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3832 function comment. Warn if arguments of the attribute are not positive
3833 integer constants.
3834
53a3f614
EB
38352019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3836
3837 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3838 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3839
22be5873
EB
38402019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3841
3842 * c-ada-spec.c (is_float128): New predicate extracted from...
3843 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3844 <REAL_TYPE>: ...here. Call it.
3845
34facf20
DM
38462019-04-05 David Malcolm <dmalcolm@redhat.com>
3847
3848 PR c/89985
3849 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3850 auto_diagnostic_group. Guard inform calls by result of
3851 warning_at call.
3852
05564120
MP
38532019-04-05 Marek Polacek <polacek@redhat.com>
3854
ab20d992 3855 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3856 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3857 of RHS.
3858
7a506c3c
JM
38592019-04-03 Jason Merrill <jason@redhat.com>
3860
3861 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3862 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3863
ddeae8c8
MS
38642019-04-01 Martin Sebor <msebor@redhat.com>
3865
3866 PR c/89685
3867 * c-attribs.c (handle_copy_attribute): Handle references and
3868 non-constant expressions.
3869
a15ffa22
JJ
38702019-03-22 Jakub Jelinek <jakub@redhat.com>
3871
3872 PR c++/87481
3873 * c.opt (-fconstexpr-ops-limit=): New option.
3874
36a3a7a3
JJ
38752019-03-21 Jakub Jelinek <jakub@redhat.com>
3876
3877 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3878 template param.
3879
bec1da64
MS
38802019-03-19 Martin Sebor <msebor@redhat.com>
3881
3882 PR tree-optimization/89688
3883 * c-common.c (braced_list_to_string): Make static.
3884 (braced_lists_to_strings): Define new function.
3885 * c-common.h (braced_list_to_string): Remove.
3886 (braced_lists_to_strings): Declare.
3887
1fe61adf
ML
38882019-03-12 Martin Liska <mliska@suse.cz>
3889
3890 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3891
93964ebd
ML
38922019-03-11 Martin Liska <mliska@suse.cz>
3893
3894 * c-opts.c (c_common_post_options): Wrap apostrophes
3895 in gcc internal format with %'.
3896
a3f9f006
ML
38972019-03-11 Martin Liska <mliska@suse.cz>
3898
3899 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3900 in a string format message and fix GNU coding style.
3901 * c-common.c (vector_types_convertible_p): Likewise.
3902 (c_build_vec_perm_expr): Likewise.
3903 * c-indentation.c (get_visual_column): Likewise.
3904 * c-opts.c (c_common_handle_option): Likewise.
3905 (c_common_post_options): Likewise.
3906 (sanitize_cpp_opts): Likewise.
3907 * c-pch.c (c_common_pch_pragma): Likewise.
3908 * c-pragma.c (handle_pragma_pack): Likewise.
3909
1db01ff9
JJ
39102019-03-08 Jakub Jelinek <jakub@redhat.com>
3911
3912 PR tree-optimization/89550
3913 * c-common.c (c_common_truthvalue_conversion): Only set
3914 TREE_NO_WARNING if warning_at returned true.
3915 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3916
ba790e6f
JJ
39172019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3918 Martin Sebor <msebor@gmail.com>
3919
3920 * c.opt (Wmissing-attributes): Clean up doc string.
3921
7da73ba7
JJ
39222019-02-25 Jakub Jelinek <jakub@redhat.com>
3923
3924 PR c/89495
3925 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3926 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3927 checking.
3928
921bb9d1
RB
39292019-02-22 Richard Biener <rguenther@suse.de>
3930
3931 * c-pch.c (no_checksum): Remove.
3932 (pch_init): Remove assertion that executable_checksum is not
3933 all zero.
3934 (c_common_valid_pch): Likewise.
3935
e2ebb05c
MS
39362019-02-18 Martin Sebor <msebor@redhat.com>
3937
3938 PR middle-end/89294
3939 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3940
3fe53000
DM
39412019-02-16 David Malcolm <dmalcolm@redhat.com>
3942
3943 PR c++/88680
3944 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3945 implementing -Wtype-limits.
3946
28a8cef1
MS
39472019-02-11 Martin Sebor <msebor@redhat.com>
3948
3949 PR c++/87996
3950 * c-common.c (invalid_array_size_error): New function.
3951 (valid_array_size_p): Call it. Handle size as well as type.
3952 * c-common.h (valid_constant_size_p): New function.
3953 (enum cst_size_error): New type.
3954
ec2be203
DM
39552019-01-31 David Malcolm <dmalcolm@redhat.com>
3956
3957 PR c/89122
3958 * known-headers.cc (get_stdlib_header_for_name): Add
3959 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3960
8936f047
JJ
39612019-01-31 Jakub Jelinek <jakub@redhat.com>
3962
3963 PR libstdc++/88170
3964 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3965 a C cast in pp_c_flag_gnu_v3 mode.
3966
6a335b96
JJ
39672019-01-29 Jakub Jelinek <jakub@redhat.com>
3968
3969 PR c/86125
3970 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3971 builtin_structptr_types types even for C.
3972
2a06eba5
BE
39732019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3974
3975 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3976 when rhs is of array type correctly. Fix handling of nested structures.
3977 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3978 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3979 type casts within nested compound expressions.
3980
18a23298
JJ
39812019-01-22 Jakub Jelinek <jakub@redhat.com>
3982
3983 PR middle-end/88968
3984 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3985 variable after using BIT_FIELD_REF.
3986
420183d9
L
39872019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3988
3989 PR c/51628
3990 PR c/88664
3991 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3992 Remove the boolean argument.
3993 * c-warn.c (check_address_of_packed_member): Renamed to ...
3994 (check_address_or_pointer_of_packed_member): This. Also
3995 warn pointer conversion.
3996 (check_and_warn_address_of_packed_member): Renamed to ...
3997 (check_and_warn_address_or_pointer_of_packed_member): This.
3998 Also warn pointer conversion.
3999 (warn_for_address_or_pointer_of_packed_member): Remove the
4000 boolean argument. Don't check pointer conversion here.
4001
99063eee
RS
40022019-01-15 Richard Sandiford <richard.sandiford@arm.com>
4003
4004 PR inline-asm/52813
4005 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
4006
a30d0196
JJ
40072019-01-14 Jakub Jelinek <jakub@redhat.com>
4008
4009 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
4010 and __cpp_nontype_template_parameter_auto. Add a comment that
4011 __cpp_template_auto is deprecated.
4012
2d91f79d
TH
40132019-01-14 Tom Honermann <tom@honermann.net>
4014
4015 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
4016 * c-common.c (c_common_reswords): Add char8_t.
4017 (fix_string_type): Use char8_t for the type of u8 string literals.
4018 (c_common_get_alias_set): char8_t doesn't alias.
4019 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
4020 C++.
4021 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
4022 (keyword_begins_type_specifier): Add RID_CHAR8.
4023 * c-common.h (rid): Add RID_CHAR8.
4024 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
4025 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
4026 Define char8_type_node and char8_array_type_node.
4027 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
4028 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
4029 (c_cpp_builtins): Predefine __cpp_char8_t.
4030 * c-lex.c (lex_string): Use char8_array_type_node as the type of
4031 CPP_UTF8STRING.
4032 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
4033 * c-opts.c: If not otherwise specified, enable -fchar8_t when
4034 targeting C++2a.
4035 * c.opt: Add the -fchar8_t command line option.
4036
23db6ced
MS
40372019-01-14 Martin Sebor <msebor@redhat.com>
4038
4039 PR target/88638
4040 * c-attribs.c (positional_argument): Call valid_format_string_type_p
4041 and issue errors if it fails.
4042 * c-common.h (valid_format_string_type_p): Declare.
4043 * c-format.c (valid_stringptr_type_p): Rename...
4044 (valid_format_string_type_p): ...to this and make extern.
4045 (handle_format_arg_attribute): Adjust to new name.
4046 (check_format_string): Same.
4047
234c3818
L
40482019-01-13 H.J. Lu <hongjiu.lu@intel.com>
4049
4050 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
4051 Replace "may may" with "may" in warning message.
4052
d8fcab68
JJ
40532019-01-07 Jakub Jelinek <jakub@redhat.com>
4054
4055 PR c++/85052
4056 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
4057 (c_build_vec_convert): Declare.
4058 * c-common.c (c_build_vec_convert): New function.
4059
29d24852
MS
40602019-01-04 Martin Sebor <msebor@redhat.com>
4061
4062 PR c/88546
4063 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
4064 Handle C++ empty throw specification and C11 _Noreturn.
4065 (has_attribute): Also handle C11 _Noreturn.
4066
9069a4c9
MS
40672019-01-04 Martin Sebor <msebor@redhat.com>
4068
4069 PR c/88363
4070 * c-attribs.c (positional_argument): Also accept enumerated types.
4071
a5544970
JJ
40722019-01-01 Jakub Jelinek <jakub@redhat.com>
4073
4074 Update copyright years.
4075
da77eace
L
40762018-12-20 H.J. Lu <hongjiu.lu@intel.com>
4077
4078 PR c/51628
4079 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
4080 * c-warn.c (check_alignment_of_packed_member): New function.
4081 (check_address_of_packed_member): Likewise.
4082 (check_and_warn_address_of_packed_member): Likewise.
4083 (warn_for_address_or_pointer_of_packed_member): Likewise.
4084 * c.opt: Add -Wno-address-of-packed-member.
4085
573767d4
DM
40862018-12-20 David Malcolm <dmalcolm@redhat.com>
4087
4088 PR c++/87504
4089 * c-warn.c (get_outermost_macro_expansion): New function.
4090 (spelled_the_same_p): Use it to unwind the macro expansions, and
4091 compare the outermost macro in each nested expansion, rather than
4092 the innermost.
4093
a14feb3c
DM
40942018-12-19 David Malcolm <dmalcolm@redhat.com>
4095
4096 PR c++/87504
4097 * c-common.h (warn_tautological_cmp): Convert 1st param from
4098 location_t to const op_location_t &.
4099 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
4100 when testing for INTEGER_CST.
4101 (warn_tautological_bitwise_comparison): Convert 1st param from
4102 location_t to const op_location_t &; use it to build a
4103 binary_op_rich_location, and use this.
4104 (spelled_the_same_p): New function.
4105 (warn_tautological_cmp): Convert 1st param from location_t to
4106 const op_location_t &. Warn for macro expansions if
4107 spelled_the_same_p. Use binary_op_rich_location.
4108
dfd7fdca
DM
41092018-12-19 David Malcolm <dmalcolm@redhat.com>
4110
4111 PR c++/43064
4112 PR c++/43486
4113 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
4114 (verify_tree): Handle location wrappers.
4115 (c_common_truthvalue_conversion): Strip any location wrapper.
4116 Handle CONST_DECL.
4117 (fold_offsetof): Strip any location wrapper.
4118 (complete_array_type): Likewise for initial_value.
4119 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
4120 index before checking for INTEGER_CST.
4121 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
4122 print parentheses around location wrappers.
4123 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
4124 before checking for INTEGER_CST.
4125 (warn_tautological_bitwise_comparison): Call
4126 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
4127 before checking for INTEGER_CST.
4128 (readonly_error): Strip any location wrapper.
4129 (warn_array_subscript_with_type_char): Strip location wrappers
4130 before checking for INTEGER_CST. Use the location of the index if
4131 available.
4132
5c8b3702
JM
41332018-12-06 Jason Merrill <jason@redhat.com>
4134
4135 PR c++/88136 - -Wdeprecated-copy false positives
4136 * c.opt (Wdeprecated-copy-dtor): New.
4137 (Wdeprecated-copy): Move to -Wextra.
4138
673670da
MS
41392018-11-29 Martin Sebor <msebor@redhat.com>
4140
4141 PR c/88172
4142 PR testsuite/88208
4143 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
4144 alignments to values less than the target requires.
4145 (has_attribute): For attribute aligned consider both the attribute
4146 and the alignment bits.
4147 * c-common.c (c_init_attributes): Optionally issue a warning for
4148 zero alignment.
4149
04864ec8
MS
41502018-11-28 Martin Sebor <msebor@redhat.com>
4151
4152 PR c/88065
4153 PR c/87297
4154 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
4155 or destination is an error.
4156
ace83db0
JJ
41572018-11-28 Jakub Jelinek <jakub@redhat.com>
4158
4159 PR c++/88215
4160 * c-ubsan.c: Include langhooks.h.
4161 (ubsan_instrument_division): Change gcc_assert that main variants
4162 of op0 and op1 types are equal to gcc_checking_assert that the
4163 main variants are compatible types.
4164
da193a27
EB
41652018-11-27 Eric Botcazou <ebotcazou@adacore.com>
4166
4167 * c-ada-spec.c: Include stringpool.h.
4168 (has_static_fields): Return false for incomplete types.
4169 (is_tagged_type): Likewise.
4170 (has_nontrivial_methods): Likewise.
4171 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
4172 (struct overloaded_name_hash): New structure.
4173 (struct overloaded_name_hasher): Likewise.
4174 (overloaded_names): New global variable.
4175 (init_overloaded_names): New static function.
4176 (overloaded_name_p): New predicate.
4177 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
4178 on the TYPE_STUB_DECL of the original type of a typedef, if any.
4179 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
4180 Remove always-true condition and dump forward types.
4181 (dump_ada_specs): Delete overloaded_names.
4182
98f08eb8
MS
41832018-11-20 Martin Sebor <msebor@redhat.com>
4184
4185 * c-attribs.c (type_for_vector_size): New function.
4186 (type_valid_for_vector_size): Same.
4187 (handle_vector_size_attribute): Move code to the functions above
4188 and call them.
4189 (validate_attribute, has_attribute): New functions.
4190 * c-common.h (has_attribute): Declare.
4191 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
4192 * c-common.c (c_common_resword): Same.
4193
2674fa47
JM
41942018-11-16 Jason Merrill <jason@redhat.com>
4195
4196 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
4197 * c-attribs.c (attr_cold_hot_exclusions): Make public.
4198
258b3854
JJ
41992018-11-16 Jakub Jelinek <jakub@redhat.com>
4200
4201 PR middle-end/87854
4202 * c-common.c (fix_string_type): Reject string literals larger than
4203 TYPE_MAX_VALUE (ssizetype) bytes.
4204
1d249509
MS
42052018-11-15 Martin Sebor <msebor@redhat.com>
4206
4207 PR c++/87541
4208 PR c++/87542
4209 * c-attribs.c (positional_argument): New function.
4210 (handle_alloc_size_attribute): Use it and simplify.
4211 (handle_alloc_align_attribute): Same.
4212 (handle_assume_aligned_attribute): Same.
4213 (handle_nonnull_attribute): Same.
4214 * c-common.c (check_function_arguments): Pass fntype to
4215 check_function_format.
4216 * c-common.h (check_function_format): Add an argument.
4217 (PosArgFlags, positional_argument): Declare new type and function.
4218 * c-format.c (decode_format_attr): Add arguments.
4219 (check_format_string, get_constant): Same.
4220 (convert_format_name_to_system_name): Adjust.
4221
478dd60d
DM
42222018-11-15 David Malcolm <dmalcolm@redhat.com>
4223
4224 PR other/19165
4225 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
4226
8cca0163
JJ
42272018-11-14 Jakub Jelinek <jakub@redhat.com>
4228
8ee09943
JJ
4229 P1236R1 - Signed integers are two's complement
4230 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
4231 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
4232 with in-range second operand well defined for -std=c++2a.
4233
8cca0163
JJ
4234 PR other/88007
4235 * c-common.c (parse_optimize_options): Allocate option string from
4236 opts_obstack rather than as GC memory. Move the allocation after
4237 warning for invalid option.
4238
620e594b
DM
42392018-11-13 David Malcolm <dmalcolm@redhat.com>
4240
4241 * c-common.c (c_get_substring_location): Update for renaming of
4242 get_source_location_for_substring to get_location_within_string.
4243 * c-lex.c: Replace "source_location" with "location_t".
4244 * c-opts.c: Likewise.
4245 * c-ppoutput.c: Likewise.
4246
f9731de3
MS
42472018-11-13 Martin Sebor <msebor@redhat.com>
4248
4249 PR middle-end/81824
4250 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
4251 (handle_tls_model_attribute): Improve diagnostics.
4252
e4bd6d5e
JM
42532018-11-12 Jason Merrill <jason@redhat.com>
4254
a6bb6b07
JM
4255 * c-cppbuiltin.c (c_cpp_builtins): Define
4256 __cpp_impl_destroying_delete.
4257
e4bd6d5e
JM
4258 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
4259 __cpp_conditional_explicit.
4260
79a2c428
MS
42612018-11-09 Martin Sebor <msebor@redhat.com>
4262
4263 PR middle-end/81824
4264 * c-attribs.c (handle_copy_attribute): New function.
4265
4c7bd361
MS
42662018-11-09 Martin Sebor <msebor@redhat.com>
4267
4268 PR c/87795
4269 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
4270
28567c40
JJ
42712018-11-08 Jakub Jelinek <jakub@redhat.com>
4272
4273 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
4274 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4275 enum omp_memory_order MEMORY_ORDER.
4276 (c_finish_omp_flush): Add MO argument.
4277 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
4278 (c_finish_omp_for): Add FINAL_P argument.
4279 * c-omp.c: Include memmodel.h.
4280 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
4281 OMP_TASKGROUP_CLAUSES to it.
4282 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4283 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
4284 instead of OMP_ATOMIC_SEQ_CST.
4285 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
4286 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
4287 __atomic_thread_fence call with the given value.
4288 (check_omp_for_incr_expr): Formatting fixes.
4289 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
4290 even in OpenMP loops, diagnose if NE_EXPR and incr expression
4291 is not constant expression 1 or -1. Transform NE_EXPR loops
4292 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
4293 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
4294 loops too.
4295 (c_omp_split_clauses): Add support for combined
4296 #pragma omp parallel master and
4297 #pragma omp {,parallel }master taskloop{, simd} constructs.
4298 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
4299 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
4300 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
4301 (c_omp_predetermined_sharing): Don't return
4302 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
4303 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
4304 PRAGMA_OMP_REQUIRES.
4305 * c-pragma.h (enum pragma_kind): Likewise.
4306 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
4307 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
4308
204839e7
DM
43092018-11-08 David Malcolm <dmalcolm@redhat.com>
4310
4311 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
4312
d8010ee4
DM
43132018-11-08 David Malcolm <dmalcolm@redhat.com>
4314
4315 * c-format.c (local_cgraph_node_ptr_node): New variable.
4316 (gcc_dump_printf_char_table): Add entry for %C.
4317 (get_pointer_to_named_type): New function, taken from the handling
4318 code for "gimple *" from...
4319 (init_dynamic_diag_info): ...here. Add handling for
4320 "cgraph_node *".
4321 * c-format.h (T_CGRAPH_NODE): New.
4322
4be5c72c
JM
43232018-10-19 Jason Merrill <jason@redhat.com>
4324
4325 * c-cppbuiltin.c (c_cpp_builtins): Add
4326 __cpp_nontype_template_parameter_class.
4327
f3f6029d
NS
43282018-10-31 Nathan Sidwell <nathan@acm.org>
4329
ab5324fb
NS
4330 * c-opts.c (c_finish_options): Force command line macro
4331 location. Refactor to avoid repeating main debug hook.
4332 (push_command_line_include): Clarify comment.
4333
f3f6029d
NS
4334 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
4335
91e3ec29
MS
43362018-10-30 Martin Sebor <msebor@redhat.com>
4337
4338 PR middle-end/87041
4339 * c-format.c (check_format_types): Avoid diagnosing null pointer
4340 arguments to printf-family of functions.
4341
b5ff4f5c
MP
43422018-10-30 Marek Polacek <polacek@redhat.com>
4343
4344 Implement P0892R2, explicit(bool).
4345 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
4346
7e2de6df
DM
43472018-10-29 David Malcolm <dmalcolm@redhat.com>
4348
4349 * name-hint.h (name_hint::take_deferred): New member function.
4350
b2bf438c
DM
43512018-10-29 David Malcolm <dmalcolm@redhat.com>
4352
4353 PR c++/56856
4354 * c-common.c (check_function_sentinel): Call fold_for_warn on the
4355 argument.
4356 (check_function_restrict): Rename param "argarray" to
4357 "unfolded_argarray", and make a copy named "argarray", calling
4358 fold_for_warn on each argument.
4359 (check_function_arguments): Add note about responsibility for
4360 folding the arguments.
4361
9f936c86
JM
43622018-10-17 Joseph Myers <joseph@codesourcery.com>
4363
4364 * c-common.c (flag_isoc2x): New variable.
4365 * c-common.h (clk_c): Update comment to reference C2X.
4366 (flag_isoc99, flag_isoc11): Update comments to reference future
4367 standard versions in general.
4368 (flag_isoc2x): Declare.
4369 * c-opts.c (set_std_c2x): New function.
4370 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
4371 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
4372 flag_isoc2x to 0.
4373 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
4374
7a8a92c4
JM
43752018-10-17 Joseph Myers <joseph@codesourcery.com>
4376
4377 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
4378 (std=iso9899:2018): Document C17 as published in 2018.
4379
4dc003ff
CL
43802018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
4381
4382 PR c++/87364
4383 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
4384
79371671
WW
43852018-10-11 Will Wray <wjwray@gmail.com>
4386
4387 PR c++/87364
4388 * c-pretty-print.h (pp_c_type_cast): Prototype.
4389 (pp_c_integer_constant): Likewise.
4390 * c-pretty-print.c (pp_c_type_cast): No longer static.
4391 (pp_c_integer_constant): Likewise.
4392 (pp_c_enumeration_constant): Fix loop termination when finding
4393 name of constant. No longer returns a value. Call
4394 pp_c_integer_constant.
4395 (c_pretty_printer::constant): Update for changes to
4396 pp_c_enumeration_constant.
4397
46c62690
JJ
43982018-10-11 Jakub Jelinek <jakub@redhat.com>
4399
4400 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
4401 for no_unique_address.
4402
c24300ba
DM
44032018-10-09 David Malcolm <dmalcolm@redhat.com>
4404
4405 * c-common.c (c_option_controlling_cpp_error): Rename to...
4406 (c_option_controlling_cpp_diagnostic): ...this, and convert
4407 "reason" from int to enum.
4408 (c_cpp_error): Rename to...
4409 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4410 * c-common.h (c_cpp_error): Rename to...
4411 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4412 * c-opts.c (c_common_init_options): Update for renaming.
4413
8656dafa
RS
44142018-10-08 Richard Sandiford <richard.sandiford@arm.com>
4415
4416 PR c/87286
4417 * c-common.c (vector_types_compatible_elements_p): Use
4418 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
4419
8cff0652
VK
44202018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
4421
4422 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
4423 to generate constructor destructor priority warning.
4424 * c.opt (-Wprio-ctor-dtor): New option.
4425
bedf03a2
JM
44262018-10-01 Jason Merrill <jason@redhat.com>
4427
4428 * c-lex.c (c_common_has_attribute): Add no_unique_address.
4429
6cc430c1
EB
44302018-10-01 Eric Botcazou <ebotcazou@adacore.com>
4431
4432 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
4433 (dump_ada_node): Add const keyword.
4434
87677ac7
ML
44352018-09-25 Martin Liska <mliska@suse.cz>
4436
4437 * c-common.c (c_common_truthvalue_conversion):
4438 Remove Pascal from documentation.
4439
518196cb
EB
44402018-09-21 Eric Botcazou <ebotcazou@adacore.com>
4441
4442 * c-ada-spec.c: Include diagnostic.h.
4443 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
4444
a599af84
MP
44452018-09-19 Marek Polacek <polacek@redhat.com>
4446
4447 * c.opt (Wclass-conversion): New.
4448
9c4a4b3c
DM
44492018-09-17 David Malcolm <dmalcolm@redhat.com>
4450
4451 * c-format.c (range_label_for_format_type_mismatch::get_text):
4452 Update for new param.
4453
c896ecfe
DM
44542018-09-17 David Malcolm <dmalcolm@redhat.com>
4455
4456 * c-format.c (format_warning_at_char): Update for introduction of
4457 format_string_diagnostic_t.
4458 (format_type_warning): Likewise.
4459
80c6d1f4
MJ
44602018-09-17 Martin Jambor <mjambor@suse.cz>
4461
4462 PR c/63886
4463 * c.opt (Wabsolute-value): New.
4464
6d900107
BE
44652018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
4466
4467 * c-common.c (complete_flexible_array_elts): New helper function.
4468 * c-common.h (complete_flexible_array_elts): Declare.
4469
b5764229
BE
44702018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4471
4472 * c-common.c (braced_list_to_string): Remove eval parameter.
4473 Add some more checks. Always create zero-terminated STRING_CST.
4474 * c-common.h (braced_list_to_string): Adjust prototype.
4475
85204e23
DM
44762018-08-27 David Malcolm <dmalcolm@redhat.com>
4477
4478 PR 87091
4479 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
4480 to a tri-state.
4481 (maybe_suggest_missing_token_insertion): Likewise.
4482 (maybe_add_include_fixit): Add param "override_location". If set,
4483 and source-printing is enabled, then override the rich_location's
4484 primary location with that of the insertion point for the fix-it
4485 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
4486 * c-common.h (extern void maybe_add_include_fixit): Add bool
4487 param.
4488 * c-format.c (selftest::test_type_mismatch_range_labels): Update
4489 for conversion of show_caret_p to a tri-state.
4490 * c-warn.c (warn_for_restrict): Likewise.
4491 * known-headers.cc
4492 (suggest_missing_header::~suggest_missing_header): Update call to
4493 maybe_add_include_fixit to suggest overriding the location, as it
4494 is for a note.
4495
3d78e008
ML
44962018-08-27 Martin Liska <mliska@suse.cz>
4497
4498 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
4499 fndecl_built_in_p and remove check for FUNCTION_DECL if
4500 possible.
3d78e008
ML
4501 (check_builtin_function_arguments): Likewise.
4502 (reject_gcc_builtin): Likewise.
4503 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
4504
b5be6d0c
MP
45052018-08-26 Marek Polacek <polacek@redhat.com>
4506
4507 PR c++/87029, Implement -Wredundant-move.
4508 * c.opt (Wredundant-move): New option.
4509
79ca9c35
MP
45102018-08-21 Marek Polacek <polacek@redhat.com>
4511
4512 PR c++/86981, Implement -Wpessimizing-move.
4513 * c.opt (Wpessimizing-move): New option.
4514
097f82ec
DM
45152018-08-20 David Malcolm <dmalcolm@redhat.com>
4516
4517 PR other/84889
4518 * c-attribs.c (common_handle_aligned_attribute): Add
4519 auto_diagnostic_group instance.
4520 * c-indentation.c (warn_for_misleading_indentation): Likewise.
4521 * c-opts.c (c_common_post_options): Likewise.
4522 * c-warn.c (warn_logical_not_parentheses): Likewise.
4523 (warn_duplicated_cond_add_or_warn): Likewise.
4524 (warn_for_multistatement_macros): Likewise.
4525
3fb558b1
NS
45262018-08-20 Nathan Sidwell <nathan@acm.org>
4527
4528 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
4529 access.
4530
800c0e98
NS
45312018-08-17 Nathan Sidwell <nathan@acm.org>
4532
4533 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
4534 field.
4535 (laxy_hex_fp_value_count): Make unsigned.
4536 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
4537 manipulate the macro.
4538 (builtin_defin_with_hex_fp_value): Adjust callback name, use
4539 cpp_define_lazily.
4540
6f795a92
DM
45412018-08-17 David Malcolm <dmalcolm@redhat.com>
4542
4543 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
4544 (gcc_dump_printf_length_specs): New.
4545 (gcc_dump_printf_flag_pairs): New.
4546 (gcc_dump_printf_flag_specs): New.
4547 (gcc_dump_printf_char_table): New.
4548 (format_types_orig): Add entry for "gcc_dump_printf".
4549 (init_dynamic_diag_info): Set up length_char_specs and
4550 conversion_specs for gcc_dump_printf_format_type.
4551 (handle_format_attribute): Handle gcc_dump_printf_format_type.
4552
c5d725c0
NS
45532018-08-17 Nathan Sidwell <nathan@acm.org>
4554
10f04917
NS
4555 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
4556
c5d725c0
NS
4557 * c-ada-spec.c: Don't #include "cpp-id-data.h"
4558 * c-cppbuiltin.c: Likewise.
4559
c0c12356
ML
45602018-08-17 Martin Liska <mliska@suse.cz>
4561
4562 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
4563 Ignore/Deprecated flag. Warning is done automatically for
4564 Deprecated flags.
c0c12356 4565
10fcc142
DM
45662018-08-16 David Malcolm <dmalcolm@redhat.com>
4567
4568 PR c++/70693
4569 * c-common.c (selftest::c_family_tests): Call
4570 selftest::c_indentation_c_tests.
4571 * c-common.h (selftest::c_indentation_c_tests): New decl.
4572 * c-indentation.c: Include "selftest.h".
4573 (next_tab_stop): Add "tab_width" param, rather than accessing
4574 cpp_opts.
4575 (get_visual_column): Likewise. Clarify comment. Bulletproof
4576 against reading past the end of the line.
4577 (get_first_nws_vis_column): Add "tab_width" param.
4578 (detect_intervening_unindent): Likewise.
4579 (should_warn_for_misleading_indentation): Read tab width from
4580 cpp_opts and pass around.
4581 (selftest::test_next_tab_stop): New test.
4582 (selftest::assert_get_visual_column_succeeds): New function.
4583 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
4584 (selftest::assert_get_visual_column_fails): New function.
4585 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
4586 (selftest::test_get_visual_column): New test.
4587 (selftest::c_indentation_c_tests): New function.
4588
3f6677f4
NS
45892018-08-16 Nathan Sidwell <nathan@acm.org>
4590
4591 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
4592 (store_ada_macro): Likewise.
4593 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
4594 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
4595
96e6ae57
DM
45962018-08-15 David Malcolm <dmalcolm@redhat.com>
4597
4598 * c-format.c: Include "selftest-diagnostic.h" and
4599 "gcc-rich-location.h".
4600 (format_warning_at_char): Pass NULL for new label params of
4601 format_warning_va.
4602 (class indirection_suffix): New class.
4603 (class range_label_for_format_type_mismatch): New class.
4604 (format_type_warning): Move logic for generating "*" suffix to
4605 class indirection_suffix. Create "fmt_label" and "param_label"
4606 to show their types, and pass them to the
4607 format_warning_at_substring calls.
4608 (selftest::test_type_mismatch_range_labels): New test.
4609 (selftest::c_format_c_tests): Call it.
4610
23aa9f7c
MS
46112018-08-13 Martin Sebor <msebor@redhat.com>
4612
4613 PR tree-optimization/71625
4614 * c-common.c (braced_list_to_string): New function.
4615 * c-common.h (braced_list_to_string): Declare it.
4616
f10a9135
NS
46172018-08-08 Nathan Sidwell <nathan@acm.org>
4618
4619 * c-common.c (try_to_locate_new_include_inertion_point): Use
4620 linemap_included_from_linemap.
4621 * c-lex.c (fe_file_change): Use linemap_included_from.
4622 * c-ppoutput.c (pp_file_change): Likewise.
4623
8a45b051
MS
46242018-08-01 Martin Sebor <msebor@redhat.com>
4625
4626 PR tree-optimization/86650
ab20d992 4627 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4628 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4629 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4630 * c-format.h (T89_G): Update to be "gimple *" rather than
4631 "gcall *".
4632 (local_gcall_ptr_node): Rename...
4633 (local_gimple_ptr_node): ...to this.
4634
e540ccc0
DM
46352018-07-31 David Malcolm <dmalcolm@redhat.com>
4636
4637 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4638 table entries for gcc_diag_char_table, and the 'Z' entry from
4639 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4640 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4641 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4642 adding missing "Z" for this table. Remove erroneous "G" and "K"
4643 entries.
4644 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4645 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4646 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4647
425fc685
RE
46482018-07-31 Richard Earnshaw <rearnsha@arm.com>
4649
4650 * c-common.c (speculation_safe_resolve_call): New function.
4651 (speculation_safe_resolve_params): New function.
4652 (speculation_safe_resolve_return): New function.
4653 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4654 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4655 __HAVE_SPECULATION_SAFE_VALUE.
4656
181463c2
DM
46572018-07-20 David Malcolm <dmalcolm@redhat.com>
4658
4659 * c-common.c (c_cpp_error): Remove redundant "line_table"
4660 parameter from call to rich_location::set_range.
4661 (maybe_suggest_missing_token_insertion): Likewise.
4662
0d7f9065
MS
46632018-07-20 Martin Sebor <msebor@redhat.com>
4664
4665 PR middle-end/82063
ab20d992 4666 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4667
00abf86c
MS
46682018-07-20 Martin Sebor <msebor@redhat.com>
4669
4670 PR middle-end/82063
4671 * c-common.h (c_common_handle_option): Change function argument
4672 to HOST_WIDE_INT.
4673 * c-opts.c (c_common_init_options): Same.
4674 (c_common_handle_option): Same. Remove special handling of
4675 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4676 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4677 options to take a HOST_WIDE_INT argument and accept a byte-size
4678 suffix. Initialize.
4679 (-Wvla-larger-than): Same.
4680 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4681 (-Wno-vla-larger-than): Same.
4682
9b452033
JJ
46832018-07-12 Jakub Jelinek <jakub@redhat.com>
4684
4685 * c-attribs.c (c_common_attribute_table): Add
4686 "omp declare target implicit" attribute.
4687
cd0762f3
RB
46882018-07-12 Richard Biener <rguenther@suse.de>
4689
4690 PR c/86453
4691 * c-attribs.c (handle_packed_attribute): Do not build a variant
4692 type with TYPE_PACKED, instead ignore the attribute if we may
4693 not apply to the original type.
4694
0b27c3ed
JJ
46952018-07-10 Jakub Jelinek <jakub@redhat.com>
4696
4697 PR c++/86443
4698 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4699 to contain TREE_LIST for both the original class iterator and the
4700 "last" helper var.
4701
e730a0ef
EB
47022018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4703
4704 * c-ada-spec.c (to_ada_name): Remove index parameter.
4705 (pp_ada_tree_identifier): Likewise.
4706 (dump_ada_macros): Adjust call to to_ada_name.
4707 (struct overloaded_name_hash): Delete.
4708 (struct overloaded_name_hasher): Likewise.
4709 (overloaded_names): Likewise.
4710 (compute_overloading_index): Likewise.
4711 (dump_ada_decl_name): Do not call compute_overloading_index and
4712 adjust calls to pp_ada_tree_identifier.
4713 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4714 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4715 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4716 (dump_ada_enum_type): Remove type and display_convention parameters.
4717 Adjust calls to pp_ada_tree_identifier.
4718 (dump_ada_node): Likewise and for dump_ada_structure.
4719 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4720 and tidy up.
4721 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4722 syntax.
4723 (print_constructor): Adjust call to pp_ada_tree_identifier.
4724 (print_destructor): Likewise.
4725 (dump_ada_declaration): Switch to aspect syntax.
4726 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4727 parameter with nested parameter.
4728 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4729 (dump_ada_specs): Do not delete overloaded_names table.
4730
8de583fc
PB
47312018-07-06 Peter Bergner <bergner@linux.ibm.com>
4732
4733 PR target/86324
e730a0ef 4734 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4735 target hook.
4736
09cff37b
NS
47372018-07-05 Nathan Sidwell <nathan@acm.org>
4738
4739 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4740 NO_IMPLICIT_EXTERN_C.
4741
98086b2b
ML
47422018-06-28 Martin Liska <mliska@suse.cz>
4743
4744 * cppspec.c: Include opt-suggestions.h.
4745
ab20d992
JJ
47462018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4747 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4748 Cesar Philippidis <cesar@codesourcery.com>
4749
4750 * c-pragma.h (enum pragma_omp_clause): Add
4751 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4752 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4753
f41b7612
JJ
47542018-06-20 Jakub Jelinek <jakub@redhat.com>
4755
4756 PR c++/86210
4757 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4758 comment.
4759
4252ccd7
MS
47602018-06-18 Martin Sebor <msebor@redhat.com>
4761
4762 PR middle-end/85602
4763 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4764 nonstring.
4765
e197e64e
KV
47662018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4767
4768 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4769
34a7a230
JM
47702018-06-13 Jason Merrill <jason@redhat.com>
4771
5cef3733
JM
4772 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4773 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4774 handling.
4775
34a7a230
JM
4776 PR c++/86094 - wrong code with defaulted move ctor.
4777 * c-opts.c (c_common_post_options): Bump the current ABI version to
4778 13. Set warn_abi_version and flag_abi_compat_version to the current
4779 version rather than 0. Fix defaulting flag_abi_compat_version from
4780 warn_abi_version.
4781
bb0f14ae
MS
47822018-06-12 Martin Sebor <msebor@redhat.com>
4783
4784 PR c/85931
4785 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4786 sizeof source and destination yields the same value.
4787
3713f2e2
ML
47882018-06-12 Martin Liska <mliska@suse.cz>
4789
4790 * c.opt: Make MPX-related options as Deprecated.
4791
4af78ef8
DM
47922018-06-08 David Malcolm <dmalcolm@redhat.com>
4793
4794 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4795 rather than 0.
4796
31db0fe0
ML
47972018-06-08 Martin Liska <mliska@suse.cz>
4798
4799 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4800 for MPX (macros, related functions, fields in cgraph_node, ...).
4801 (handle_bnd_legacy): Likewise.
4802 (handle_bnd_instrument): Likewise.
4803 * c.opt: Likewise.
4804
fe16acf2
JJ
48052018-06-06 Jakub Jelinek <jakub@redhat.com>
4806
4807 PR c++/86068
4808 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4809 __cpp_transactional_memory to 201500 instead of 210500.
4810
4dbdb49b
JM
48112018-06-06 Jason Merrill <jason@redhat.com>
4812
4813 PR c++/85710 - ICE with -Wmemset-elt-size.
4814 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4815
f8ad043f
JM
48162018-06-01 Jason Merrill <jason@redhat.com>
4817
4818 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4819 201703.
4820
abc24d93
EB
48212018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4822
4823 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4824 declaration for a typedef independently of whether the declaration of
4825 the subtype is generated.
4826
d258f4aa
MS
48272018-05-31 Martin Sebor <msebor@redhat.com>
4828
4829 PR c/82063
4830 * c.opt (-Wno-alloc-size-larger-than): New option.
4831
b67b9225
DP
48322018-04-22 David Pagan <dave.pagan@oracle.com>
4833
4834 PR c/55976
4835 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4836 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4837 differentiate between default (no option), -Wreturn-type, and
4838 -Wno-return-type.
4839
04eb9c55
JM
48402018-05-29 Jason Merrill <jason@redhat.com>
4841
4842 * c.opt (Winit-list-lifetime): New flag.
4843
b0c31bc6
BE
48442018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4845
4846 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4847 splay_tree_delete_pointers.
4848
44284983
JJ
48492018-05-26 Jakub Jelinek <jakub@redhat.com>
4850
4851 PR bootstrap/85921
4852 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4853 noinline variable to workaround broken kernel headers.
4854
b46b715d
JM
48552018-05-18 Jason Merrill <jason@redhat.com>
4856
4857 * c.opt (Wdeprecated-copy): New flag.
4858
40659769
ML
48592018-05-17 Martin Liska <mliska@suse.cz>
4860
4861 * c-warn.c (overflow_warning): Do not use
4862 space in between 'G_' and '('.
4863
403962ea
JM
48642018-05-09 Jason Merrill <jason@redhat.com>
4865
4866 * c-common.c (valid_array_size_p): Add complain parameter.
4867 * c-common.h: ...which defaults to true.
4868
1c9ee609
JJ
48692018-05-11 Jakub Jelinek <jakub@redhat.com>
4870
4871 PR c/85696
4872 * c-omp.c (c_omp_predetermined_sharing): Return
4873 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4874
19916065
ML
48752018-05-11 Martin Liska <mliska@suse.cz>
4876
92a285c1 4877 PR sanitizer/85556
19916065
ML
4878 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4879 TREE_LIST values.
4880
79e7b1fe
JJ
48812018-05-10 Jakub Jelinek <jakub@redhat.com>
4882
4883 PR c++/85662
4884 * c-common.h (fold_offsetof_1): Removed.
4885 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4886 CTX argument defaulted to ERROR_MARK.
4887 * c-common.c (fold_offsetof_1): Renamed to ...
4888 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4889 argument, convert the pointer constant to TYPE and use size_binop
4890 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4891 a pointer type. Adjust recursive calls.
4892
86c12f76
EB
48932018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4894
4895 PR c++/85400
4896 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4897
ee336e84
NS
48982018-05-07 Nathan Sidwell <nathan@acm.org>
4899
4900 * c.opt (ffor-scope): Remove functionality, issue warning.
4901
6c072e21
NS
49022018-05-03 Nathan Sidwell <nathan@acm.org>
4903
4904 * c.opt (ffriend-injection): Remove functionality, issue warning.
4905
2cc7d3a7
DM
49062018-05-01 David Malcolm <dmalcolm@redhat.com>
4907
4908 PR c/84258
4909 * c-format.c (struct format_check_results): Add field
4910 "number_non_char".
4911 (check_format_info): Initialize it, and warn if encountered.
4912 (check_format_arg): Distinguish between wide char and
4913 everything else when detecting arrays of non-char.
4914
7761dfbe
DM
49152018-04-30 David Malcolm <dmalcolm@redhat.com>
4916
4917 * c-format.c (get_corrected_substring): Update for
4918 location_get_source_line returning a char_span. Use a char_span
4919 when handling the prefix of the correction.
4920 * c-indentation.c (get_visual_column): Update for
4921 location_get_source_line returning a char_span.
4922 (get_first_nws_vis_column): Likewise.
4923
62e98ef1
DM
49242018-03-29 David Malcolm <dmalcolm@redhat.com>
4925
4926 PR c++/84269
4927 * known-headers.cc (get_stdlib_header_for_name): Add various names
4928 from <assert.h>, <string.h>, and <memory.h>; add more names from
4929 <stdio.h>.
4930
a7dea617
JJ
49312018-03-27 Jakub Jelinek <jakub@redhat.com>
4932
4933 PR c++/85061
4934 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4935 get_base_address of the second operand is a VAR_P, rather than the
4936 operand itself, and use gcc_checking_assert instead of gcc_assert.
4937
889a3a30
MP
49382018-03-23 Marek Polacek <polacek@redhat.com>
4939
4940 PR c++/85045
4941 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4942 <case RDIV_EXPR>: Tweak condition.
4943
452154b9
EB
49442018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4945
4946 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4947
63ecb626
JJ
49482018-03-16 Jakub Jelinek <jakub@redhat.com>
4949
ce811fc4
JJ
4950 PR c/84909
4951 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4952 diagnostics.
4953
63ecb626
JJ
4954 PR c/84910
4955 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4956 diagnostics.
4957
a1295eec
RB
49582018-03-16 Richard Biener <rguenther@suse.de>
4959
4960 PR c/84873
4961 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4962 unshare the possibly folded expression.
4963
919674fb
RB
49642018-03-15 Richard Biener <rguenther@suse.de>
4965
4966 PR c/84873
4967 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4968
f99309b2
MS
49692018-03-13 Martin Sebor <msebor@redhat.com>
4970
4971 PR tree-optimization/84725
4972 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4973 with all three narrow character types, including their qualified forms.
4974
e9b9fa4c
MS
49752018-03-12 Martin Sebor <msebor@redhat.com>
4976
4977 PR tree-optimization/83456
ab20d992 4978 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4979 Restore checking of bounded built-in functions.
4980 (check_function_arguments): Also return the result
4981 of warn_for_restrict.
ab20d992
JJ
4982 * c-common.c (check_function_restrict): Return bool.
4983 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4984
0805d020
MP
49852018-03-02 Marek Polacek <polacek@redhat.com>
4986
4987 PR c++/84171
4988 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4989 is erroneous.
4990
ed2a2f08
TS
49912018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4992
4993 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4994 function".
4995
90abdde0
MP
49962018-03-01 Marek Polacek <polacek@redhat.com>
4997
4998 PR c++/84639
4999 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
5000 alignment in computation.
5001
c6db43fa
EB
50022018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5003
5004 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
5005 <REAL_TYPE>: Deal specifically with _Float128/__float128.
5006
9e25c7ed
EB
50072018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5008
5009 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
5010 (is_char_array): Take a type instead of a declaration.
5011 (dump_ada_array_type): Likewise.
5012 (is_simple_enum): Minor tweak.
5013 (dump_ada_enum_type): New function extracted from...
5014 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
5015 <INTEGER_TYPE>: Remove unreachable code.
5016 <RECORD_TYPE>: Likewise. Minor tweaks.
5017 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
5018 <ENUMERAL_TYPE>: New case.
5019 <RECORD_TYPE>: Factor out common code.
5020 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
5021 Minor tweaks. Deal with enumeral types.
5022 (dump_ada_structure): Minor tweaks.
5023
09de3550
EB
50242018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5025
5026 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
5027 address for incomplete structures.
5028 (dump_forward_type): Do not bail out for incomplete structures.
5029 (dump_ada_declaration): Do not special-case incomplete structures
5030 for subtypes. Dump them as null records for types.
5031
095d8d4b
EB
50322018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5033
5034 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
5035 (is_char_array): Fix formatting.
5036 (dump_template_types): Likewise.
5037 (dump_generic_ada_node): Rename into...
5038 (dump_ada_node): ...this.
5039 <POINTER_TYPE>: Remove superfluous space. Use generic address for
5040 incomplete structures and not for empty structures. Do not use it
5041 when forward declarations are needed.
5042 (dump_forward_type): New function.
5043 (dump_nested_types): Remove FORWARD parameter. Do not consider
5044 TREE_VISITED and do not generate a forward declaration. Only dump
5045 original nested types for nested declaration.
5046 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
5047 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
5048 <RECORD_TYPE>: Do not consider TREE_VISITED.
5049 (dump_ada_declaration): Use booleans and fix formatting throughout.
5050 <TYPE_DECL>: Skip incomplete structures and not empty structures.
5051 Call dump_forward_type instead of dump_nested_types for a typedef.
5052 Remove superfluous check and adjust call to dump_nested_types.
5053 <POINTER_TYPE>: Call dump_forward_type and fall through.
5054 (dump_ada_struct_decl): Rename into...
5055 (dump_ada_structure): ...this. Do not special-case empty structures.
5056
d4cfd486
MS
50572018-02-27 Martin Sebor <msebor@redhat.com>
5058
5059 PR c++/83871
5060 * c.opt (-Wmissing-attributes): New option.
5061
b22dbd03
ML
50622018-02-21 Martin Liska <mliska@suse.cz>
5063
5064 * c.opt (Wcatch-value=): Add IntegerRange.
5065
883dfe2a
JM
50662018-02-15 Jason Merrill <jason@redhat.com>
5067
5068 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
5069
0444aa9c
NS
50702018-02-09 Nathan Sidwell <nathan@acm.org>
5071
5072 PR c/84293
5073 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
5074 arg.
5075 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
5076 arg. Adjust.
5077
cea71f0a
MS
50782018-02-09 Martin Sebor <msebor@redhat.com>
5079
5080 PR lto/84212
5081 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
5082 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
5083 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
5084 (-Wstrict-overflow, -Wsuggest-attribute): Same.
5085 (-Wuninitialized): Same.
5086
8c8b7be5
EB
50872018-02-09 Eric Botcazou <ebotcazou@adacore.com>
5088
5089 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
5090 keyword for components.
5091
7c30b12a
PC
50922018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
5093
5094 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
5095
eece7fe5
JK
50962018-02-02 Julia Koval <julia.koval@intel.com>
5097
5098 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
5099
7d07a93a
MP
51002018-01-29 Marek Polacek <polacek@redhat.com>
5101
5102 PR c/83966
5103 * c-format.c (check_function_format): Check current_function_decl.
5104
53723269
JJ
51052018-01-27 Jakub Jelinek <jakub@redhat.com>
5106
5107 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
5108 argument.
5109 (LAZY_HEX_FP_VALUES_CNT): Define.
5110 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
5111 values rather than just 12.
5112 (builtin_define_with_hex_fp_value): Likewise.
5113
7365279f
BK
51142018-01-18 Boris Kolpackov <boris@codesynthesis.com>
5115
92a285c1
ML
5116 PR other/70268
5117 * c.opt (-fmacro-prefix-map): New option.
5118 * c-opts.c (c_common_handle_option): Handle it.
5119 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
5120 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 5121
bb9869d5
DM
51222018-01-17 David Malcolm <dmalcolm@redhat.com>
5123
5124 PR c++/83814
5125 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
5126
68dc87c3
EB
51272018-01-10 Eric Botcazou <ebotcazou@adacore.com>
5128
5129 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
5130 Skip 'f' and 'F' characters if it is true.
5131 (store_ada_macro): Minor tweak.
5132 (dump_ada_macros) <CPP_COMMENT>: Likewise.
5133 <CPP_WSTRING>: Likewise.
5134 <CPP_STRING>: Output '&' in the buffer if not the first string.
5135 <CPP_NUMBER>: Adjust calls to dump_number.
5136
9a004410
DM
51372018-01-10 David Malcolm <dmalcolm@redhat.com>
5138
5139 PR c++/43486
5140 * c-common.c: Include "selftest.h".
5141 (get_atomic_generic_size): Perform the test for integral type
5142 before the range test for any integer constant, fixing indentation
5143 of braces. Call fold_for_warn before testing for an INTEGER_CST.
5144 (reject_gcc_builtin): Strip any location wrapper from EXPR.
5145 (selftest::test_fold_for_warn): New function.
5146 (selftest::c_common_c_tests): New function.
5147 (selftest::c_family_tests): Call it, and
5148 selftest::c_pretty_print_c_tests.
5149 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
5150 * c-format.c (check_format_arg): Convert VAR_P check to a
5151 fold_for_warn.
5152 * c-pretty-print.c: Include "selftest.h".
5153 (pp_c_cast_expression): Don't print casts for location wrappers.
5154 (selftest::assert_c_pretty_printer_output): New function.
5155 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
5156 (selftest::test_location_wrappers): New function.
5157 (selftest::c_pretty_print_c_tests): New function.
5158 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
5159
5c0caeb3
RS
51602018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5161 Alan Hayward <alan.hayward@arm.com>
5162 David Sherwood <david.sherwood@arm.com>
5163
5164 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
5165
73a699ae
RS
51662018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5167 Alan Hayward <alan.hayward@arm.com>
5168 David Sherwood <david.sherwood@arm.com>
5169
5170 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
5171 as polynomial.
5172
928686b1
RS
51732018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5174 Alan Hayward <alan.hayward@arm.com>
5175 David Sherwood <david.sherwood@arm.com>
5176
5177 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
5178 (convert_vector_to_array_for_subscript): Handle polynomial
5179 TYPE_VECTOR_SUBPARTS.
5180 (c_common_type_for_mode): Check valid_vector_subparts_p.
5181 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
5182 VECTOR_CST_NELTS.
5183
85ec4feb
JJ
51842018-01-03 Jakub Jelinek <jakub@redhat.com>
5185
5186 Update copyright years.
5187
170a8bd6 51882017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 5189 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
5190
5191 * c-pragma.c (init_pragma): Register pragma GCC unroll.
5192 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
5193
ab20d992 51942017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
5195
5196 PR debug/83527
5197 PR debug/83419
5198 * c-semantics.c (only_debug_stmts_after_p): New.
5199 (pop_stmt_list): Clear side effects in debug-only stmt list.
5200 Check for single nondebug stmt followed by debug stmts only.
5201
c12d20d4
AO
52022017-12-21 Alexandre Oliva <aoliva@redhat.com>
5203
5204 PR debug/83419
5205 * c-semantics.c (pop_stmt_list): Propagate side effects from
5206 single nondebug stmt to container list.
5207
01512446
JJ
52082017-12-19 Jakub Jelinek <jakub@redhat.com>
5209
5210 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
5211 conditions with typical order conditions.
5212
82cfbd01
MP
52132017-12-18 Marek Polacek <polacek@redhat.com>
5214
5215 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
5216 not in effect.
5217
99da11ec
MS
52182017-12-17 Martin Sebor <msebor@redhat.com>
5219
5220 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
5221 an error for attribute warn_if_not_aligned.
5222
cc8bea0a
MS
52232017-12-16 Martin Sebor <msebor@redhat.com>
5224
5225 PR tree-optimization/78918
5226 * c-common.c (check_function_restrict): Avoid checking built-ins.
5227 * c.opt (-Wrestrict): Include in -Wall.
5228
4849deb1
JJ
52292017-12-15 Jakub Jelinek <jakub@redhat.com>
5230
5231 * c-attribs.c (c_common_attribute_table,
5232 c_common_format_attribute_table): Swap affects_type_identity
5233 and handler fields, adjust comments.
5234
c65e18d3
BE
52352017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
5236
5237 * c.opt (Wcast-function-type): New warning option.
5238 * c-lex.c (get_fileinfo): Avoid warning.
5239 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
5240
2004617a
QZ
52412017-12-14 Qing Zhao <qing.zhao@oracle.com>
5242
7365279f 5243 PR middle_end/79538
2004617a
QZ
5244 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
5245 Adjust the size of buf1 and buf2, add a new buf to avoid
5246 format-overflow warning.
5247
ab20d992 52482017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
5249
5250 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
5251 subsequent statement list.
5252
5d9ae53d
MS
52532017-12-07 Martin Sebor <msebor@redhat.com>
5254
5255 PR c/81544
5256 PR c/81566
5257 * c-attribs.c (attr_aligned_exclusions): New array.
5258 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
5259 (attr_common_exclusions, attr_const_pure_exclusions): Same.
5260 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
5261 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
5262 (attr_warn_unused_result_exclusions): Same.
5263 (handle_hot_attribute, handle_cold_attribute): Simplify.
5264 (handle_const_attribute): Warn on function returning void.
5265 (handle_pure_attribute): Same.
5266 (handle_aligned_attribute): Diagnose conflicting attribute
5267 specifications.
5268 * c-warn.c (diagnose_mismatched_attributes): Simplify.
5269
c79144f8
DM
52702017-12-06 David Malcolm <dmalcolm@redhat.com>
5271
5272 PR c/83236
5273 * c-common.c (selftest::c_family_tests): Call
5274 selftest::c_spellcheck_cc_tests.
5275 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
5276 * c-spellcheck.cc: Include "selftest.h".
5277 (name_reserved_for_implementation_p): New function.
5278 (should_suggest_as_macro_p): New function.
5279 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
5280 should_suggest_as_macro_p and call it.
5281 (selftest::test_name_reserved_for_implementation_p): New function.
5282 (selftest::c_spellcheck_cc_tests): New function.
5283 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
5284
613bc14f
DM
52852017-12-06 David Malcolm <dmalcolm@redhat.com>
5286
5287 * c-spellcheck.cc: New file, taken from macro-handling code in
5288 spellcheck-tree.c.
5289 * c-spellcheck.h: New file, taken from macro-handling code in
5290 spellcheck-tree.h.
5291
e76c7157
JJ
52922017-12-01 Jakub Jelinek <jakub@redhat.com>
5293
5294 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
5295 attribute.
5296 (handle_simd_attribute): Don't check for "cilk simd function"
5297 attribute. Reindent, formatting changes.
5298
b0da4034
JK
52992017-11-30 Julia Koval <julia.koval@intel.com>
5300
5301 * c-common.h (inv_list): Remove.
5302
058f0b9e
JJ
53032017-11-28 Jakub Jelinek <jakub@redhat.com>
5304
5305 PR sanitizer/81275
5306 * c-common.c (c_switch_covers_all_cases_p_1,
5307 c_switch_covers_all_cases_p): New functions.
5308 * c-common.h (c_switch_covers_all_cases_p): Declare.
5309
5e9d6aa4 53102017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 5311 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
5312
5313 * array-notation-common.c: Delete.
5314 * c-cilkplus.c: Ditto.
5315 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
5316 * c-common.def (ARRAY_NOTATION_REF): Remove.
5317 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
5318 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
5319 c_validate_cilk_plus_loop, cilkplus_an_parts,
5320 cilk_ignorable_spawn_rhs_op,
5321 cilk_recognize_spawn): Remove.
5322 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
5323 * c-omp.c: Remove CILK_SIMD check.
5324 * c-pragma.c: Ditto.
5325 * c-pragma.h: Remove CILK related pragmas.
5326 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
5327 ARRAY_NOTATION_REF condition.
5328 (c_pretty_printer::expression): Ditto.
5329 * c.opt (fcilkplus): Remove.
5330 * cilk.c: Delete.
5331
1af4ebf5
MG
53322017-11-21 Marc Glisse <marc.glisse@inria.fr>
5333
5334 * c-pretty-print.c (pp_c_additive_expression,
5335 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
5336
d44ed508
JJ
53372017-11-21 Jakub Jelinek <jakub@redhat.com>
5338
7d2f0f9b
JJ
5339 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
5340
d44ed508
JJ
5341 PR c++/83059
5342 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
5343 instead of tree_to_uhwi, formatting fix.
5344
26edace6
DM
53452017-11-20 David Malcolm <dmalcolm@redhat.com>
5346
5347 PR c/81404
5348 * known-headers.cc: New file, based on material from c/c-decl.c.
5349 (suggest_missing_header): Copied as-is.
5350 (get_stdlib_header_for_name): New, based on get_c_name_hint but
5351 heavily edited to add C++ support. Add some knowledge about
5352 <limits.h>, <stdint.h>, and <wchar.h>.
5353 * known-headers.h: Likewise.
5354
6c7a259b
DM
53552017-11-20 David Malcolm <dmalcolm@redhat.com>
5356
5357 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
5358 (lookup_name_fuzzy): Likewise. Convert return type from
5359 const char * to name_hint. Add location_t param.
5360 * name-hint.h: New header.
5361
f9c59f7e
JJ
53622017-11-19 Jakub Jelinek <jakub@redhat.com>
5363
5364 PR c/66618
5365 PR c/69960
5366 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
5367
1e39313a
JM
53682017-11-16 Joseph Myers <joseph@codesourcery.com>
5369
5370 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
5371 expected publication date of C17.
5372 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
5373
3ca0dc60
JM
53742017-11-15 Joseph Myers <joseph@codesourcery.com>
5375
5376 PR c/81156
5377 * c-common.c (c_common_reswords): Add __builtin_tgmath.
5378 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
5379
025d57f0
MS
53802017-11-10 Martin Sebor <msebor@redhat.com>
5381
5382 PR c/81117
5383 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
5384 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
5385 * c.opt (-Wstringop-truncation): New option.
5386
1b6fa695
ML
53872017-11-06 Martin Liska <mliska@suse.cz>
5388
5389 PR middle-end/82404
5390 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
5391 FE.
5392 * c.opt: Set default value of warn_return_type.
5393
64a5912c
DM
53942017-10-31 David Malcolm <dmalcolm@redhat.com>
5395
5396 * c-common.c (binary_op_error): Update for renaming of
5397 error_at_rich_loc.
5398 (c_parse_error): Likewise.
5399 * c-warn.c (warn_logical_not_parentheses): Likewise for
5400 renaming of inform_at_rich_loc.
5401 (warn_for_restrict): Likewise for renaming of
5402 warning_at_rich_loc_n.
5403
c76dc9c3
JM
54042017-10-30 Joseph Myers <joseph@codesourcery.com>
5405
5406 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
5407 * c-opts.c (set_std_c17): New function.
5408 (c_common_init_options): Use gnu17 as default C version.
5409 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
5410
ee5fd23a
MM
54112017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5412
5413 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
5414 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5415 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
5416 __FP_FAST_FMA<N>X.
5417
d1047465
MP
54182017-10-23 Marek Polacek <polacek@redhat.com>
5419
5420 PR c/82681
5421 * c-warn.c (warnings_for_convert_and_check): Fix typos.
5422
9e878cf1
EB
54232017-10-19 Eric Botcazou <ebotcazou@adacore.com>
5424
5425 * c-common.c (check_builtin_function_arguments): Also check arguments
5426 of __builtin_alloca_with_align_and_max.
5427
89b6abbb
DM
54282017-10-17 David Malcolm <dmalcolm@redhat.com>
5429
5430 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
5431 rather than NULL to format_warning_va.
5432 (check_format_types): Likewise when calling format_type_warning.
5433 Remove code to extract source_ranges and source_range * in favor
5434 of just a location_t.
5435 (format_type_warning): Convert source_range * param to a
5436 location_t.
5437
39382c09
JJ
54382017-10-13 Jakub Jelinek <jakub@redhat.com>
5439
5440 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
5441 [LR]SHIFT_EXPR.
5442
62e1c678
DM
54432017-10-12 David Malcolm <dmalcolm@redhat.com>
5444
5445 * c-common.c (enum missing_token_insertion_kind): New enum.
5446 (get_missing_token_insertion_kind): New function.
5447 (maybe_suggest_missing_token_insertion): New function.
5448 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
5449
b90c9338
NS
54502017-10-11 Nathan Sidwell <nathan@acm.org>
5451
5452 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
5453 (c_common_handle_option): Update incpath_kind names.
5454
3a266bcd
ML
54552017-10-11 Martin Liska <mliska@suse.cz>
5456
5457 PR sanitizer/82490
5458 * c-attribs.c (handle_no_sanitize_attribute): Report directly
5459 Wattributes warning.
5460
8e6cdc90
RS
54612017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
5462
5463 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
5464 operating on trees as wide_ints.
5465 * c-common.c (pointer_int_sum): Likewise.
5466 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5467 * c-warn.c (match_case_to_enum_1): Likewise.
5468 (c_do_switch_warnings): Likewise.
5469 (maybe_warn_shift_overflow): Likewise.
5470
802b38c9
JJ
54712017-10-10 Jakub Jelinek <jakub@redhat.com>
5472
5473 PR c/82437
5474 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
5475 instead of wide_int::from.
5476
4e34b338
JJ
54772017-10-06 Jakub Jelinek <jakub@redhat.com>
5478
5479 PR c/82437
5480 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5481 using to_widest use wide_int with the larger of the two precisions.
5482
4bc4b2b4
BE
54832017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5484
5485 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
5486 functions.
5487
a1488398
RS
54882017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
5489
5490 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
5491 when combining the original unconverted comparison operands.
5492
01c9fb68
JJ
54932017-09-29 Jakub Jelinek <jakub@redhat.com>
5494
5495 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
5496 attribute.
5497
6e3e8419
EB
54982017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5499
5500 * c-ada-spec.c (to_ada_name): Add index parameter.
5501 (pp_ada_tree_identifier): Likewise.
5502 (dump_ada_macros): Adjust call to to_ada_name.
5503 (struct overloaded_name_hash): New type.
5504 (struct overloaded_name_hasher): Likewise.
5505 (overloaded_names): New hash table.
5506 (compute_overloading_index): New function.
5507 (dump_ada_decl_name): Call it and pass the result to
5508 pp_ada_tree_identifier.
5509 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5510 (dump_ada_function_declaration): Likewise.
5511 (dump_generic_ada_node): Likewise.
5512 (print_constructor): Likewise.
5513 (print_destructor): Likewise.
5514 (dump_ada_specs): Delete overloaded_names table.
5515
79310774
EB
55162017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5517
5518 * c-ada-spec.c (max_ada_macros): Move around.
5519 (store_ada_macro_index): Likewise.
5520 (source_file): Rename into...
5521 (macro_source_file): ...this.
5522 (count_ada_macro): Move around.
5523 (store_ada_macro): Likewise.
5524 (compare_macro): Likewise.
5525 (print_ada_macros): Merge in...
5526 (dump_ada_macros): ...this.
5527 (source_file_base): Rename into...
5528 (current_source_file): ...this.
5529 (print_comment): Move around.
5530 (dump_ada_nodes): Call dump_ada_declaration directly.
5531 (struct with): Change type of limited field to bool.
5532 (append_withs): Change type of limited_access parameter to bool.
5533 (pp_ada_tree_identifie): Likewise.
5534 (dump_ada_decl_nam): Likewise.
5535 (dump_generic_ada_node): Likewise. Do not print the return type.
5536 (to_ada_name): Change type of space_found parameter to bool.
5537 (dump_ada_function_declaration): Return void and change type of
5538 parameters to bool. Also print the return type for a function.
5539 (print_ada_methods): Rename into...
5540 (dump_ada_methods): ...this.
5541 (print_ada_declaration): Rename into ...
5542 (dump_ada_declaration): ...this. Do not print the return type.
5543 (print_ada_struct_decl): Rename into...
5544 (dump_ada_struct_decl): ...this.
5545
7d386d45
JJ
55462017-09-29 Jakub Jelinek <jakub@redhat.com>
5547
5548 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
5549 rather than DECL_INITIAL.
5550 (common_handle_aligned_attribute): Likewise.
5551
ab20d992 55522017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
5553
5554 * c.opt (gen-decls): Add RejectNegative.
5555
026a79f7
AS
55562017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
5557 Jakub Jelinek <jakub@redhat.com>
5558
5559 Add support for -std=c++2a.
5560 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
5561 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
5562 * c-opts.c (set_std_cxx2a): New.
5563 (c_common_handle_option): Set options when -std=c++2a is enabled.
5564 (c_common_post_options): Adjust comments.
5565 (set_std_cxx14, set_std_cxx17): Likewise.
5566
4a8ca690
EB
55672017-09-15 Eric Botcazou <ebotcazou@adacore.com>
5568
5569 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
5570 message for non-uniform endianness and issue a warning in C++.
5571
7b936140
JJ
55722017-09-15 Jakub Jelinek <jakub@redhat.com>
5573
5574 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
5575 (Wc++17-compat): Change from undocumented alias to option.
5576 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
5577 change C++1z to C++17 in description.
5578 (std=c++1z, std=gnu++1z): Change from option to undocumented
5579 deprecated alias.
5580 (std=c++17, std=gnu++17): Change from undocumented alias to option.
5581 Adjust description.
5582 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
5583 * c-opts.c (set_std_cxx1z): Rename to ...
5584 (set_std_cxx17): ... this.
5585 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
5586 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 5587 caller.
7b936140
JJ
5588 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
5589 comments.
5590
12263f13
L
55912017-09-12 H.J. Lu <hongjiu.lu@intel.com>
5592
5593 * c-attribs.c (common_handle_aligned_attribute): Don't warn
5594 function alignment if warn_if_not_aligned_p is true.
5595
6836632e
NS
55962017-09-12 Nathan Sidwell <nathan@acm.org>
5597
5598 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
5599 resort_sorted_fields): Move to c/c-decl.c.
5600 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
5601 (struct sorted_fields_type): Move to c/c-lang.h.
5602
019bf9ad
JW
56032017-09-09 Jonathan Wakely <jwakely@redhat.com>
5604
5605 PR c++/81852
5606 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5607
bc7fe952
MP
56082017-09-04 Marek Polacek <polacek@redhat.com>
5609
5610 PR c/81783
5611 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5612 (warn_tautological_cmp): Call it.
5613
ab20d992 56142017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5615
5616 * c-opts.c (c_common_finish): Write dependency information even if
5617 there are errors.
5618
d2e05fcb
JJ
56192017-09-01 Jakub Jelinek <jakub@redhat.com>
5620
5621 PR c/81887
5622 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5623 (omp_pragmas_simd): ... here.
5624 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5625 create new clauses list containing just simd clause.
5626
18e2a8b8
RS
56272017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5628 Alan Hayward <alan.hayward@arm.com>
5629 David Sherwood <david.sherwood@arm.com>
5630
5631 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5632 into scalar_mode_supported_p call.
5633 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5634
16d22000
RS
56352017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5636 Alan Hayward <alan.hayward@arm.com>
5637 David Sherwood <david.sherwood@arm.com>
5638
5639 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5640 for the mode iterator.
5641
b397965c
RS
56422017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5643 Alan Hayward <alan.hayward@arm.com>
5644 David Sherwood <david.sherwood@arm.com>
5645
5646 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5647 * c-common.c (c_build_vec_perm_expr): Likewise.
5648
357b7604
RS
56492017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5650 Alan Hayward <alan.hayward@arm.com>
5651 David Sherwood <david.sherwood@arm.com>
5652
5653 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5654
e05c94ba
RS
56552017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5656 Alan Hayward <alan.hayward@arm.com>
5657 David Sherwood <david.sherwood@arm.com>
5658
5659 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5660 before calling targetm.addr_space.valid_pointer_mode.
5661
5c20c4af
RS
56622017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5663 Alan Hayward <alan.hayward@arm.com>
5664 David Sherwood <david.sherwood@arm.com>
5665
5666 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5667
c94843d2 56682017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5669 Alan Hayward <alan.hayward@arm.com>
5670 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5671
5672 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5673 iterators.
5674 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5675
4e10a5a7
RS
56762017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5677 Alan Hayward <alan.hayward@arm.com>
5678 David Sherwood <david.sherwood@arm.com>
5679
5680 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5681 case statements.
5682
130fcab0
ML
56832017-08-29 Martin Liska <mliska@suse.cz>
5684
5685 PR other/39851
5686 * c-common.c (parse_optimize_options): Add argument to function
5687 call.
5688 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5689
14e18d71
DM
56902017-08-24 David Malcolm <dmalcolm@redhat.com>
5691
5692 * c-lex.c (interpret_float): Use token location
5693 when building an EXCESS_PRECISION_EXPR.
5694
2f687306
DM
56952017-08-21 David Malcolm <dmalcolm@redhat.com>
5696
5697 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5698 it to check_function_format.
5699 * c-common.h (check_function_arguments): Add vec<location_t> *
5700 param.
5701 (check_function_format): Likewise.
5702 * c-format.c (struct format_check_context): Add field "arglocs".
5703 (check_function_format): Add param "arglocs"; pass it to
5704 check_format_info.
ab20d992 5705 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5706 new field of format_ctx.
5707 (check_format_arg): Pass format_ctx->arglocs to new param of
5708 check_format_info_main.
5709 (class argument_parser): New field "arglocs".
5710 (argument_parser::argument_parser): Add "arglocs_" param and use
5711 it to initialize new field.
5712 (argument_parser::check_argument_type): Pass new arglocs field to
5713 check_format_types.
5714 (check_format_info_main): Add param "arglocs", and use it when
5715 constructing arg_parser.
5716 (check_format_types): Add param "arglocs"; use it if non-NULL when
5717 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5718
00aa1fa2
L
57192017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5720
5721 PR c/53037
5722 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5723 (c_common_attribute_table): Add warn_if_not_aligned.
5724 (handle_aligned_attribute): Renamed to ...
5725 (common_handle_aligned_attribute): Remove argument, name, and add
5726 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5727 (handle_aligned_attribute): New.
5728 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5729
27be025d
MS
57302017-08-14 Martin Sebor <msebor@redhat.com>
5731
5732 PR c/81117
5733 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5734 (handle_nonstring_attribute): New function.
5735
da67acb9
MS
57362017-08-14 Martin Sebor <msebor@redhat.com>
5737
5738 PR c/81117
5739 * c-format.h (T89_G): New macro.
5740 * c-format.c (local_gcall_ptr_node): New variable.
5741 (init_dynamic_diag_info): Initialize it.
5742
a8b522b4
ML
57432017-08-11 Martin Liska <mliska@suse.cz>
5744
5745 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5746 TARGET_SUPPORTS_ALIASES.
5747
32129a17
DM
57482017-08-10 David Malcolm <dmalcolm@redhat.com>
5749
5750 * c-common.c (c_parse_error): Add rich_location * param, using it
5751 rather implicitly using input_location.
5752 * c-common.h (c_parse_error): Add rich_location * param.
5753
30af3a2b
MP
57542017-08-09 Marek Polacek <polacek@redhat.com>
5755
5756 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5757 (c_common_truthvalue_conversion): Likewise.
5758 * c-omp.c (c_finish_omp_atomic): Likewise.
5759 * c-common.h (build_binary_op): Update declaration.
5760
314e6352
ML
57612017-08-08 Martin Liska <mliska@suse.cz>
5762
5763 * c-ada-spec.c: Include header files.
5764 * c-ubsan.c: Likewise.
5765 * c-warn.c: Likewise.
5766
56b5041c
JJ
57672017-08-07 Jakub Jelinek <jakub@redhat.com>
5768
5769 PR c/69389
5770 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5771
db440138
EB
57722017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5773
5774 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5775 (print_ada_methods): Likewise.
5776 (print_ada_declaration): Likewise.
5777
577eec56
ML
57782017-08-07 Martin Liska <mliska@suse.cz>
5779
5780 * array-notation-common.c: Add new includes.
5781 * c-format.c( handle_format_attribute): Canonicalize a format
5782 function name.
5783 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5784 attribute.
5785 * c-pretty-print.c: Add new include.
5786
b854df3c
EB
57872017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5788
5789 * c-ada-spec.c (has_static_fields): Look only into variables.
5790 (print_constructor): Add TYPE parameter and use it for the name.
5791 (print_destructor): Likewise.
5792 (print_ada_declaration): Adjust to new constructor/destructor names.
5793 Adjust calls to print_constructor and print_destructor.
5794 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5795 Look only into variables in the final loop.
5796
9f2cb25e
EB
57972017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5798
5799 * c-ada-spec.c (has_static_fields): Look only into fields.
5800 (dump_generic_ada_node): Small tweak.
5801 (dump_nested_types): Look only into fields.
5802 (print_ada_declaration): Look only into methods. Small tweak.
5803 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5804
f4bcd9eb
EB
58052017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5806
5807 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5808 (dump_ada_function_declaration): Likewise.
5809 (dump_generic_ada_node): Likewise.
5810 (print_ada_declaration): Add support for const-qualified variables.
5811
f34ebeb2
ML
58122017-07-31 Martin Liska <mliska@suse.cz>
5813
5814 PR sanitize/81530
5815 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5816 Guard condition with flag_sanitize_p also with current_function_decl
5817 non-null equality.
5818 (ubsan_maybe_instrument_reference_or_call): Likewise.
5819
218e5d04
UB
58202017-07-30 Uros Bizjak <ubizjak@gmail.com>
5821
5822 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5823
942047f2
EB
58242017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5825
5826 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5827 for enumeral types.
5828 (print_ada_declaration): Add missing guard for record types.
5829
a40ff0ae
JJ
58302017-07-27 Jakub Jelinek <jakub@redhat.com>
5831
5832 PR c/45784
5833 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5834 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5835 new COMPOUND_EXPRs around the rhs of the comparison.
5836
06bd22f6
MP
58372017-07-27 Marek Polacek <polacek@redhat.com>
5838
5839 PR c/81417
5840 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5841 the types.
5842
036ea399
JJ
58432017-07-27 Jakub Jelinek <jakub@redhat.com>
5844
5845 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5846 (handle_noipa_attribute): New function.
5847
417ca011
TD
58482017-07-07 Torsten Duwe <duwe@suse.de>
5849
5850 * c-attribs.c (c_common_attribute_table): Add entry for
5851 "patchable_function_entry".
5852
5aaa8fb4
NS
58532017-07-20 Nathan Sidwell <nathan@acm.org>
5854
5855 Remove TYPE_METHODS.
5856 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5857 dump_ada_template, print_ada_methods,
5858 print_ada_declaration): Member fns are on TYPE_FIELDS.
5859
ff22eb12
NS
58602017-07-18 Nathan Sidwell <nathan@acm.org>
5861
5862 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5863
eea77d1f
DM
58642017-07-14 David Malcolm <dmalcolm@redhat.com>
5865
5866 * c-common.c (try_to_locate_new_include_insertion_point): New
5867 function.
5868 (per_file_includes_t): New typedef.
5869 (added_includes_t): New typedef.
5870 (added_includes): New variable.
5871 (maybe_add_include_fixit): New function.
5872 * c-common.h (maybe_add_include_fixit): New decl.
5873
281ac396
MS
58742017-07-10 Martin Sebor <msebor@redhat.com>
5875
5876 PR other/81345
5877 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5878
b6f43128
DM
58792017-07-06 David Malcolm <dmalcolm@redhat.com>
5880
5881 * c-common.c (selftest::c_family_tests): New.
5882 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5883 (selftest::c_family_tests): New decl.
5884
efbf55b0
MP
58852017-07-04 Marek Polacek <polacek@redhat.com>
5886
5887 PR c/81231
5888 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5889 types.
5890
6c86bd88
MP
58912017-07-04 Marek Polacek <polacek@redhat.com>
5892
5893 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5894
17a7218b
ML
58952017-06-28 Martin Liska <mliska@suse.cz>
5896
5897 PR ipa/81128
5898 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5899 to a function declaration.
5900
63010089
ML
59012017-06-28 Martin Liska <mliska@suse.cz>
5902
5903 PR driver/79659
5904 * c.opt: Add IntegerRange to various options.
5905
3e2becc4
MP
59062017-06-26 Marek Polacek <polacek@redhat.com>
5907
5908 PR c/80116
5909 * c-common.h (warn_for_multistatement_macros): Declare.
5910 * c-warn.c: Include "c-family/c-indentation.h".
5911 (warn_for_multistatement_macros): New function.
5912 * c.opt (Wmultistatement-macros): New option.
5913 * c-indentation.c (guard_tinfo_to_string): No longer static.
5914 Change the parameter type to "enum rid". Handle RID_SWITCH.
5915 * c-indentation.h (guard_tinfo_to_string): Declare.
5916
2db9b7cd
MG
59172017-06-23 Marc Glisse <marc.glisse@inria.fr>
5918
5919 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5920
c3684b7b
MS
59212017-06-15 Martin Sebor <msebor@redhat.com>
5922
5923 PR c++/80560
5924 * c.opt (-Wclass-memaccess): New option.
5925
e72c4afd
BK
59262017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5927
5928 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5929
8a516588
MP
59302017-06-13 Marek Polacek <polacek@redhat.com>
5931
5932 PR objc/80949
5933 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5934 branches is null.
5935
45b2222a
ML
59362017-06-13 Martin Liska <mliska@suse.cz>
5937
5938 PR sanitize/78204
5939 * c-attribs.c (add_no_sanitize_value): New function.
5940 (handle_no_sanitize_attribute): Likewise.
5941 (handle_no_sanitize_address_attribute): Use the function.
5942 (handle_no_sanitize_thread_attribute): New function.
5943 (handle_no_address_safety_analysis_attribute): Use
5944 add_no_sanitize_value.
5945 (handle_no_sanitize_undefined_attribute): Likewise.
5946 * c-common.h: Declare new functions.
5947 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5948 (ubsan_instrument_shift): Likewise.
5949 (ubsan_instrument_bounds): Likewise.
5950 (ubsan_maybe_instrument_array_ref): Likewise.
5951 (ubsan_maybe_instrument_reference_or_call): Likewise.
5952
a01f151f
JM
59532017-06-11 Jason Merrill <jason@redhat.com>
5954
5955 * c-ada-spec.c, c-pragma.c: Use id_equal.
5956
3de4ac6d
MP
59572017-06-04 Marek Polacek <polacek@redhat.com>
5958
5959 PR c/80919
5960 * c-format.c (matching_type_p): Return false if any of the types
5961 requires structural equality.
5962
2474f48f
MS
59632017-06-02 Martin Sebor <msebor@redhat.com>
5964
5965 PR c/80892
5966 * c-warn.c (conversion_warning): Use -Wconversion for integer
5967 conversion and -Wfloat-conversion for floating one.
5968
40ffd95f
BE
59692017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5970
5971 * c.opt (Wsizeof-pointer-div): New warning option.
5972
3fa4634c
VR
59732017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5974
5975 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5976 (Wcatch-value=1): Enable by -Wall.
5977
f012c8ef
DM
59782017-05-30 David Malcolm <dmalcolm@redhat.com>
5979
5980 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5981 format_chars.
5982 * c.opt (fdiagnostics-show-template-tree): New option.
5983 (felide-type): New option.
5984
63dbcd13
VR
59852017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5986
5987 * c.opt (Wcatch-value=): New C++ warning flag.
5988
be136b5c
NS
59892017-05-24 Nathan Sidwell <nathan@acm.org>
5990
5991 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5992 const casts to avoid warning.
5993
3cd211af
MS
59942017-05-24 Martin Sebor <msebor@redhat.com>
5995
5996 PR c/80731
5997 * c-common.h (unsafe_conversion_p): Add a function argument.
5998 * c-common.c (unsafe_conversion_p): Same.
5999 Add type names and values to diagnostics.
6000 (scalar_to_vector): Adjust.
6001 * c-warn.c (constant_expression_error): Add a function argument.
6002 Add type names and values to diagnostics.
6003 (conversion_warning): Add a function argument.
6004 Add type names and values to diagnostics.
6005 (warnings_for_convert_and_check): Same.
6006
1ff7be5a
JM
60072017-05-19 Jason Merrill <jason@redhat.com>
6008
6009 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
6010 enumerators.
6011
ff502317
BE
60122017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6013
6014 * c-format.c (locus): Move out of function scope,
6015 add GTY attribute.
6016
2a8a8d7b
NS
60172017-05-19 Nathan Sidwell <nathan@acm.org>
6018
6019 * c-opts.c (class_dump_file, class_dump_flags): Delete.
6020 (c_common_parse_file): Remove class dump handling.
6021 (get_dump_info): Likewise.
6022
39aac208
RB
60232017-05-19 Richard Biener <rguenther@suse.de>
6024
6025 PR c++/80593
6026 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
6027 to alias-set zero memory.
6028
6ecd2339
BE
60292017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
6030
6031 * c-format.c (local_tree_type_node): Add GTY attribute.
6032
6574d78e
MP
60332017-05-18 Marek Polacek <polacek@redhat.com>
6034
6035 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
6036 (c_common_fixed_point_type_for_size): Likewise.
6037 (c_common_type_for_mode): Likewise.
6038 (shorten_compare): Likewise.
6039 (c_promoting_integer_type_p): Use false/true instead of 0/1.
6040 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
6041
e3455240
MP
60422017-05-18 Marek Polacek <polacek@redhat.com>
6043
6044 * c-common.c (self_promoting_args_p): Change the return type to bool.
6045 Use false/true instead of 0/1.
6046 * c-common.h (self_promoting_args_p): Update.
6047
3fa8871b
MP
60482017-05-17 Marek Polacek <polacek@redhat.com>
6049
6050 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
6051 * c-warn.c: Likewise.
6052
b42cc3ca
VV
60532017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
6054
6055 Implement new C++ intrinsics __is_assignable and __is_constructible.
6056 * c-common.c (__is_assignable, __is_constructible): New.
6057 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
6058
1a817418
ML
60592017-05-17 Martin Liska <mliska@suse.cz>
6060
6061 * c-common.h: Introduce dump_flags_t type and
6062 use it instead of int type.
6063 * c-gimplify.c (c_genericize): Likewise.
6064 * c-opts.c: Likewise.
6065
b2fa0a8b
MP
60662017-05-17 Marek Polacek <polacek@redhat.com>
6067
6068 * c-common.c (c_save_expr): Remove.
6069 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
6070 * c-common.h (c_save_expr): Remove declaration.
6071
31c2d57d
VR
60722017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
6073
6074 PR c/35441
6075 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
6076 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
6077 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
6078 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
6079 RDIV_EXPR.
6080 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
6081
684f84de
MP
60822017-05-09 Marek Polacek <polacek@redhat.com>
6083
6084 PR c/80525
6085 * c-warn.c (unwrap_c_maybe_const): New.
6086 (warn_logical_operator): Call it.
6087
641da50a
NS
60882017-05-09 Nathan Sidwell <nathan@acm.org>
6089
6090 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
6091 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
6092
631238ac
MS
60932017-05-08 Martin Sebor <msebor@redhat.com>
6094
6095 PR translation/80280
6096 * c-format.h (struct format_flag_spec): Add new member.
6097 (T89_T): New macro.
6098 * c-format.c (local_tree_type_node): New global.
6099 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
6100 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
6101 (strfmon_flag_specs): Likewise.
6102 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
6103 with distinct quoting properties.
6104 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
6105 (flag_chars_t::validate): Add argument and handle bad quoting.
6106 (check_format_info_main): Handle quoting problems.
6107 (init_dynamic_diag_info): Simplify.
6108
49f0c04c
JM
61092017-05-08 Jason Merrill <jason@redhat.com>
6110
6111 * c-opts.c (c_common_post_options): Update defaults for
6112 flag_abi_version and flag_abi_compat_version.
6113
56d35585
DM
61142017-05-05 David Malcolm <dmalcolm@redhat.com>
6115
6116 * c-common.c (c_cpp_error): Replace report_diagnostic
6117 with diagnostic_report_diagnostic.
6118
0f2c4a8f
MS
61192017-05-04 Martin Sebor <msebor@redhat.com>
6120
6121 PR translation/80280
6122 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
6123 (handle_weakref_attribute): Same.
6124
6fe63fb4
NS
61252017-05-03 Nathan Sidwell <nathan@acm.org>
6126
6127 Canonicalize canonical type hashing
6128 * c-common.c (complete_array_type): Use type_hash_canon.
6129
815d9cc6
XR
61302017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
6131
92a285c1 6132 PR c++/80038
815d9cc6
XR
6133 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
6134 prototype.
6135 (cilk_install_body_pedigree_operations): Likewise.
6136 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
6137 detatched.
6138 (cilk_gimplify_call_params_in_spawned_fn): Remove.
6139 (cilk_install_body_pedigree_operations): Likewise.
6140 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
6141 unwrapping.
6142
f8a36447
JJ
61432017-04-27 Jakub Jelinek <jakub@redhat.com>
6144
6145 PR c++/80534
6146 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
6147 flag on non-aggregate element types.
6148
7c145456
BE
61492017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
6150
6151 * c-common.c (c_type_hasher, type_hash_table): Remove.
6152 (c_common_get_alias_set): Remove unreachable code.
6153 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
6154
c3cbcd45
VR
61552017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
6156
6157 * c.opt (Wextra-semi): New C++ warning flag.
6158
8a59d466
JJ
61592017-04-20 Jakub Jelinek <jakub@redhat.com>
6160
6161 PR middle-end/80423
6162 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
6163
8487c9a5
JJ
61642017-04-18 Jakub Jelinek <jakub@redhat.com>
6165
6166 PR middle-end/79788
6167 PR middle-end/80375
6168 * c-common.c (c_common_type_for_mode): Don't handle
6169 widest_*_literal_type_node here.
6170 c_common_signed_or_unsigned_type): Likewise.
6171 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
6172 to *intTI_type_node or *intDI_type_node depending on whether
6173 TImode is supported by the target or not.
6174
3ee0fb02
ML
61752017-04-10 Martin Liska <mliska@suse.cz>
6176
6177 PR sanitizer/80350
6178 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
6179 doing an UBSAN check.
6180
5764ee3c
JW
61812017-04-03 Jonathan Wakely <jwakely@redhat.com>
6182
6183 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
6184
6f3af356
JJ
61852017-03-31 Jakub Jelinek <jakub@redhat.com>
6186
6187 PR c++/79572
6188 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
6189 tree *.
6190 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
6191 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
6192 REFERENCE_TYPE.
6193
f6a7a9d5
DM
61942017-03-31 David Malcolm <dmalcolm@redhat.com>
6195
6196 PR documentation/78732
6197 * c.opt (Wendif-labels): Fix description to refer to
6198 #else rather than #elif.
6199
af88f557
JJ
62002017-03-31 Jakub Jelinek <jakub@redhat.com>
6201
6202 PR libstdc++/80251
6203 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
6204 * c-common.c (c_common_reswords): Add __is_aggregate trait.
6205
a9e4a1a5
JJ
62062017-03-27 Jakub Jelinek <jakub@redhat.com>
6207
6208 PR middle-end/80162
6209 * c-common.c (c_common_mark_addressable_vec): Don't set
6210 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
6211
3f01b620
MS
62122017-03-21 Martin Sebor <msebor@redhat.com>
6213
6214 PR c++/79548
6215 * c-common.c (set_underlying_type): Mark type used only when
6216 original del is declared unused.
6217
2f6f187a
DM
62182017-03-10 David Malcolm <dmalcolm@redhat.com>
6219
6220 PR translation/79848
6221 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
6222 "%qs".
6223
a02fa805
DM
62242017-03-10 David Malcolm <dmalcolm@redhat.com>
6225
6226 PR c/79921
6227 * c-indentation.c (warn_for_misleading_indentation): Remove parens
6228 from inform's message, so that xgettext can locate it.
6229
822a132c
MP
62302017-03-09 Marek Polacek <polacek@redhat.com>
6231
6232 PR c++/79962
6233 PR c++/79984
6234 * c-attribs.c (handle_nonnull_attribute): Save the result of default
6235 conversion to the attribute list.
6236
bba81f1c
ML
62372017-03-09 Martin Liska <mliska@suse.cz>
6238
6239 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
6240
108154ff
JM
62412017-03-03 Jason Merrill <jason@redhat.com>
6242
6243 * c.opt (Wnoexcept-type): New.
6244
eb0e7c34
RB
62452017-03-02 Richard Biener <rguenther@suse.de>
6246
6247 PR c/79756
6248 * c-common.c (c_common_mark_addressable_vec): Look through
6249 C_MAYBE_CONST_EXPR.
6250
9453ba0a
ML
62512017-02-28 Martin Liska <mliska@suse.cz>
6252
6253 * c.opt: Replace space with tabular for options of <number>
6254 type.
6255
6a825afe
ML
62562017-02-28 Martin Liska <mliska@suse.cz>
6257
6258 * c.opt: Fix --help=option -Q for options which are of
6259 an enum type.
6260
4227c9ad
JJ
62612017-02-24 Jakub Jelinek <jakub@redhat.com>
6262
6263 PR c++/79588
6264 * c-common.c (check_function_restrict): New function.
6265 (check_function_arguments): Add FNDECL argument. Call
6266 check_function_restrict if -Wrestrict.
6267 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
6268 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
6269 * c-common.h (check_function_arguments): Add FNDECL argument.
6270 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
6271
59909673
EB
62722017-02-24 Eric Botcazou <ebotcazou@adacore.com>
6273
6274 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
6275 treatment of parameters with pointer-to-tagged type and tidy up.
6276 (print_ada_methods): Remove the special treatment of C++ static member
6277 functions.
6278
54dcd526
ML
62792017-02-22 Martin Liska <mliska@suse.cz>
6280
6281 * c.opt: Replace inequality signs with square brackets
6282 for -Wnornalized.
6283
00bc9de3
JJ
62842017-02-21 Jakub Jelinek <jakub@redhat.com>
6285
6286 PR c++/79641
6287 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
6288 preserve quals.
6289
97fcf744
JM
62902017-02-17 Joseph Myers <joseph@codesourcery.com>
6291
6292 * c-cppbuiltin.c (builtin_define_float_constants): Define
6293 __DECIMAL_DIG__ to the value for long double.
6294
c7545f1c
MP
62952017-02-15 Marek Polacek <polacek@redhat.com>
6296
6297 PR c/79515
6298 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
6299 conversion has occured.
6300
c2e84327
DM
63012017-01-24 David Malcolm <dmalcolm@redhat.com>
6302
6303 * c-common.c (c_common_reswords): Add "__RTL".
6304 * c-common.h (enum rid): Add RID_RTL.
6305
2ebd93e1
MP
63062017-01-20 Marek Polacek <polacek@redhat.com>
6307
6308 PR c/64279
6309 * c-common.h (do_warn_duplicated_branches_r): Declare.
6310 * c-gimplify.c (c_genericize): Walk the function tree calling
6311 do_warn_duplicated_branches_r.
6312 * c-warn.c (expr_from_macro_expansion_r): New.
6313 (do_warn_duplicated_branches): New.
6314 (do_warn_duplicated_branches_r): New.
6315 * c.opt (Wduplicated-branches): New option.
6316
0d80ab91
DM
63172017-01-17 David Malcolm <dmalcolm@redhat.com>
6318
6319 PR c++/71497
6320 * c-indentation.c (warn_for_misleading_indentation): Use the past
6321 subjunctive in the note.
6322
7f991c36
AH
63232017-01-17 Aldy Hernandez <aldyh@redhat.com>
6324
6325 PR c/79116
6326 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
6327 start type to integer_type.
6328
1c70261c
JJ
63292017-01-16 Jakub Jelinek <jakub@redhat.com>
6330
6331 PR driver/49726
6332 * c.opt (gen-decls): Add Driver flag.
6333
1ddca3f3
PC
63342017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6335
6336 Revert:
6337 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6338
6339 PR c++/71737
6340 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6341
7d2f3f1d
PC
63422017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6343
6344 PR c++/71737
6345 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6346
bce6f760
MS
63472017-01-12 Martin Sebor <msebor@redhat.com>
6348
6349 (-Wformat-overflow): ...to this.
6350
bf5fbf46
MS
63512017-01-11 Martin Sebor <msebor@redhat.com>
6352
6353 PR c/78768
6354 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
6355 Also enable for LTO.
6356
e363df3f
JM
63572017-01-10 Jason Merrill <jason@redhat.com>
6358
6359 Implement P0195R2, C++17 variadic using.
6360 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
6361
bd2c6270
JJ
63622017-01-09 Jakub Jelinek <jakub@redhat.com>
6363
6364 PR translation/79019
6365 PR translation/79020
6366 * c.opt (Wnormalized=): Fix typo in description.
6367
efcc8d38
MS
63682017-01-08 Martin Sebor <msebor@redhat.com>
6369
6370 PR middle-end/77708
6371 * c.opt (-Wformat-truncation): New option.
6372
ab20d992 63732017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
6374
6375 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
6376 value to unsigned short to fit in 4 hex digits without
6377 warnings.
6378
4e89adf9
EB
63792017-01-05 Eric Botcazou <ebotcazou@adacore.com>
6380
6381 * c.opt (fsso-struct): Add 'native' value.
6382
cd445b54
ML
63832017-01-05 Martin Liska <mliska@suse.cz>
6384
6385 PR pch/78970
6386 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
6387 header.
6388
a9342885
MP
63892017-01-04 Marek Polacek <polacek@redhat.com>
6390
6391 PR c++/64767
6392 * c.opt (Wpointer-compare): New option.
6393
fc73e60c
JJ
63942017-01-04 Jakub Jelinek <jakub@redhat.com>
6395
6396 PR driver/78957
6397 * c.opt (fsso-struct=): Add RejectNegative.
6398
cbe34bb5
JJ
63992017-01-01 Jakub Jelinek <jakub@redhat.com>
6400
6401 Update copyright years.
6402
d4a6c0ea
ML
64032016-12-29 Martin Liska <mliska@suse.cz>
6404
6405 PR c/78933
6406 * c.opt (strong-eval-order): Add RejectNegative keyword.
6407
67a5ad7c
JM
64082016-12-22 Jason Merrill <jason@redhat.com>
6409
6410 Implement P0522R0, matching of template template arguments.
6411 * c-cppbuiltin.c (c_cpp_builtins): Define
6412 __cpp_template_template_args.
6413
0dba7960
JJ
64142016-12-21 Jakub Jelinek <jakub@redhat.com>
6415
6416 PR bootstrap/78817
6417 * c-common.c (struct nonnull_arg_ctx): New type.
6418 (check_function_nonnull): Return bool instead of void. Use
6419 nonnull_arg_ctx as context rather than just location_t.
6420 (check_nonnull_arg): Adjust for the new context type, set
6421 warned_p to true if a warning has been diagnosed.
6422 (check_function_arguments): Return bool instead of void.
6423 * c-common.h (check_function_arguments): Adjust prototype.
6424
31bfc9b9
JM
64252016-12-21 Jason Merrill <jason@redhat.com>
6426
6427 * c.opt (-fnew-ttp-matching): New flag.
6428 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
6429
629b3d75
MJ
64302016-12-14 Martin Jambor <mjambor@suse.cz>
6431
6432 * c-omp.c: Include omp-general.h instead of omp-low.h.
6433 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
6434 name.
6435
474da67e
MS
64362016-12-14 Martin Sebor <msebor@redhat.com>
6437
6438 PR c/17308
6439 * c-common.c (check_nonnull_arg): Disable when optimization
6440 is enabled.
6441
fe366b87
MP
64422016-12-12 Marek Polacek <polacek@redhat.com>
6443
6444 PR c++/78647
6445 * c-common.c (attribute_fallthrough_p): Return false for
6446 error_mark_node.
6447
8bd9f164
MS
64482016-12-08 Martin Sebor <msebor@redhat.com>
6449
6450 PR c/78284
6451 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
6452
060162e0
MS
64532016-12-08 Martin Sebor <msebor@redhat.com>
6454
6455 PR c/78165
92a285c1
ML
6456 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
6457 suffix.
060162e0 6458
ee92e7ba
MS
64592016-12-07 Martin Sebor <msebor@redhat.com>
6460
6461 PR c/53562
6462 PR middle-end/77784
6463 PR middle-end/78149
6464 PR middle-end/78138
6465 * c.opt (-Wstringop-overflow): New option.
6466
84b0769e
MO
64672016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
6468
6469 * c-attribs.c (asan odr indicator): New attribute.
6470 (handle_asan_odr_indicator_attribute): New function.
6471
7fa6a965
PK
64722016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6473
6474 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
6475 ptrdiff_type_node;
6476
56d8ffc1
JG
64772016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6478
6479 * c-common.c (excess_precision_mode_join): New.
6480 (c_ts18661_flt_eval_method): New.
6481 (c_c11_flt_eval_method): Likewise.
6482 (c_flt_eval_method): Likewise.
6483 * c-common.h (excess_precision_mode_join): New.
6484 (c_flt_eval_method): Likewise.
6485 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
6486 (cpp_iec_559_value): Call it.
6487 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
6488 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
6489 __FLT_EVAL_METHOD_TS_18661_3__.
6490
04f0fcf7
JG
64912016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6492
6493 * c-opts.c (c_common_post_options): Add logic to handle the default
6494 case for -fpermitted-flt-eval-methods.
6495
fb2675cb
PB
64962016-11-23 Paolo Bonzini <bonzini@gnu.org>
6497
6498 * c.opt (Wexpansion-to-defined): New.
6499
ec1c5694
JJ
65002016-11-23 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR target/78451
6503 * c-pragma.c (handle_pragma_target): Don't replace
6504 current_target_pragma, but chainon the new args to the current one.
6505
730c9e75
NS
65062016-11-22 Nathan Sidwell <nathan@acm.org>
6507
6508 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 6509 indentation and formatting.
730c9e75 6510
89990732
MS
65112016-11-21 Martin Sebor <msebor@redhat.com>
6512
6513 * c.opt (-fprintf-return-value): Enable by default.
6514
48330c93
BE
65152016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6516
6517 PR c++/71973
6518 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
6519 * c-common.c (c_common_nodes_and_builtins): Initialize
6520 const_tm_ptr_type_node.
6521
0d939c95
MP
65222016-11-16 Marek Polacek <polacek@redhat.com>
6523
6524 PR c/78285
6525 * c-common.c (c_add_case_label): Turn error_at calls into inform.
6526
8e745a17
JJ
65272016-11-14 Jakub Jelinek <jakub@redhat.com>
6528
6529 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
6530
1ee62b92 65312016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
6532 Richard Biener <rguenther@suse.de>
6533
6534 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
6535 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
6536 * c.opt (fgimple): New option.
1ee62b92 6537
22b15758
UB
65382016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6539
6540 PR c/35503
6541 * c-common.h (warn_for_restrict): Declare.
6542 * c-warn.c: Include gcc-rich-location.h.
6543 (warn_for_restrict): New function.
6544 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
6545 (gcc_cdiag_char_table): Likewise.
6546 (gcc_cxxdiag_char_table): Likewise.
6547 * c.opt (Wrestrict): New option.
6548
4be719cd
EB
65492016-11-13 Eric Botcazou <ebotcazou@adacore.com>
6550
6551 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
6552 for nested types only if the type is a record or union and dump SLOC.
6553
4a826ca6
JM
65542016-11-09 Jason Merrill <jason@redhat.com>
6555
6556 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
6557
2e955d50
JJ
65582016-11-09 Jakub Jelinek <jakub@redhat.com>
6559
6560 * c-ubsan.c (ubsan_instrument_shift): Handle split
6561 -fsanitize=shift-base and -fsanitize=shift-exponent.
6562
51dc6603
JM
65632016-11-07 Jason Merrill <jason@redhat.com>
6564
6565 * c.opt (Wc++1z-compat): New.
6566 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
6567
6dc4a604
ML
65682016-11-07 Martin Liska <mliska@suse.cz>
6569
6570 * c-warn.c (warn_for_unused_label): Save all labels used
6571 in goto or in &label.
6572
b302001e
JM
65732016-11-03 Jason Merrill <jason@redhat.com>
6574
6575 * c-cppbuiltin.c (c_cpp_builtins): Correct
6576 __cpp_inheriting_constructors.
6577
31f7f784
JM
65782016-11-01 Jason Merrill <jason@redhat.com>
6579
2bc78e3c
JM
6580 * c-cppbuiltin.c (c_cpp_builtins): Update
6581 __cpp_inheriting_constructors.
6582
31f7f784
JM
6583 * c.opt (-fnew-inheriting-ctors): New.
6584 * c-opts.c: Default to on for ABI 11+.
6585
dcb466ec
JJ
65862016-10-31 Jakub Jelinek <jakub@redhat.com>
6587
6588 PR c++/77948
6589 * c.opt (fext-numeric-literals): Add Var and Init.
6590 * c-opts.c (c_common_handle_option): Don't clear
6591 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
6592 (c_common_post_options): Clear it here if not set
6593 explicitly.
6594
52e1b91e
AH
65952016-10-28 Aldy Hernandez <aldyh@redhat.com>
6596
6597 PR debug/77773
6598 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
6599 if NULL.
6600
e16f1cc7
JJ
66012016-10-25 Jakub Jelinek <jakub@redhat.com>
6602
6603 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6604 * c-common.c (c_common_reswords): Add __builtin_launder.
6605
f8348061
BE
66062016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6607
6608 * c-common.c (c_common_truthvalue_conversion): Warn for
6609 multiplications in boolean context. Fix the quoting of '<<' and '<'
6610 in the shift warning.
6611
eff89e01
BE
66122016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6613
6614 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6615
24bc7bf4
JM
66162016-10-20 Jason Merrill <jason@redhat.com>
6617
6618 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6619
4c712374
BE
66202016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6621
6622 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6623 integer shift ops in boolean context.
6624
66252016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6626
6627 * c.opt (Walloca): New.
6628 (Walloca-larger-than=): New.
6629 (Wvla-larger-than=): New.
6630
8fa18c06
MP
66312016-10-17 Marek Polacek <polacek@redhat.com>
6632
6633 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6634 Return immediately when finding a match.
6635 (warn_tautological_cmp): Remove a boolean variable that is no longer
6636 needed.
6637
b12b1915
MP
66382016-10-17 Marek Polacek <polacek@redhat.com>
6639
6640 * c-attribs.c: New file.
6641 * c-common.c: Move attributes handling to c-attribs.c.
6642 (get_nonnull_operand): No longer static.
6643 * c-common.h: Move the declarations from c-attribs.c to its own section.
6644
2045acd9
JM
66452016-10-14 Jason Merrill <jason@redhat.com>
6646
6647 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6648 and __cpp_deduction_guides.
6649
14a2c9aa
JM
66502016-10-13 Jason Merrill <jason@redhat.com>
6651
6652 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6653
4d0cdd0c
TP
66542016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6655
6656 * c-cppbuiltin.c: Include memmodel.h.
6657 * c-opts.c: Likewise.
6658 * c-pragma.c: Likewise.
6659 * c-warn.c: Likewise.
6660
70f6d5e1
JJ
66612016-10-12 Jakub Jelinek <jakub@redhat.com>
6662
6663 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6664 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6665 * c-opts.c (sanitize_cpp_opts): Initialize
6666 cpp_opts->cpp_warn_implicit_fallthrough.
6667
78f61294
MP
66682016-10-11 Marek Polacek <polacek@redhat.com>
6669
6670 * c-common.c (warning_candidate_p): Change the return type to bool
6671 and return true/false instead of 1/0.
6672 (vector_mode_valid_p): Likewise.
6673
038b5cc0
MP
66742016-10-11 Marek Polacek <polacek@redhat.com>
6675
6676 * c-common.c (fold_for_warn): No longer static.
6677 (bool_promoted_to_int_p): Likewise.
6678 (c_common_get_narrower): Likewise.
6679 (constant_expression_warning): Move to c-warn.c.
6680 (constant_expression_error): Likewise.
6681 (overflow_warning): Likewise.
6682 (warn_logical_operator): Likewise.
6683 (find_array_ref_with_const_idx_r): Likewise.
6684 (warn_tautological_cmp): Likewise.
6685 (expr_has_boolean_operands_p): Likewise.
6686 (warn_logical_not_parentheses): Likewise.
6687 (warn_if_unused_value): Likewise.
6688 (strict_aliasing_warning): Likewise.
6689 (sizeof_pointer_memaccess_warning): Likewise.
6690 (check_main_parameter_types): Likewise.
6691 (conversion_warning): Likewise.
6692 (warnings_for_convert_and_check): Likewise.
6693 (match_case_to_enum_1): Likewise.
6694 (match_case_to_enum): Likewise.
6695 (c_do_switch_warnings): Likewise.
6696 (warn_for_omitted_condop): Likewise.
6697 (readonly_error): Likewise.
6698 (lvalue_error): Likewise.
6699 (invalid_indirection_error): Likewise.
6700 (warn_array_subscript_with_type_char): Likewise.
6701 (warn_about_parentheses): Likewise.
6702 (warn_for_unused_label): Likewise.
6703 (warn_for_div_by_zero): Likewise.
6704 (warn_for_memset): Likewise.
6705 (warn_for_sign_compare): Likewise.
6706 (do_warn_double_promotion): Likewise.
6707 (do_warn_unused_parameter): Likewise.
6708 (record_locally_defined_typedef): Likewise.
6709 (maybe_record_typedef_use): Likewise.
6710 (maybe_warn_unused_local_typedefs): Likewise.
6711 (maybe_warn_bool_compare): Likewise.
6712 (maybe_warn_shift_overflow): Likewise.
6713 (warn_duplicated_cond_add_or_warn): Likewise.
6714 (diagnose_mismatched_attributes): Likewise.
6715 * c-common.h: Move the declarations from c-warn.c to its own section.
6716 * c-warn.c: New file.
6717
627be19f
JM
67182016-10-08 Jason Merrill <jason@redhat.com>
6719
6720 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6721 into COND_EXPR in C++.
6722
7bad794a
JJ
67232016-10-08 Jakub Jelinek <jakub@redhat.com>
6724
6725 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6726 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6727 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6728
be845b04
JJ
67292016-10-07 Jakub Jelinek <jakub@redhat.com>
6730
6731 Implement LWG2296 helper intrinsic
6732 * c-common.h (enum rid): Add RID_ADDRESSOF.
6733 * c-common.c (c_common_reswords): Add __builtin_addressof.
6734
c09c4992
BE
67352016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6736
6737 PR c++/77700
6738 * c-common.c (c_common_truthvalue_conversion): Warn also for
6739 suspicious enum values in boolean context.
6740
342cfb3e
JJ
67412016-10-06 Jakub Jelinek <jakub@redhat.com>
6742
6743 Implement P0258R2 - helper for C++17
6744 std::has_unique_object_representations trait
6745 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6746 * c-common.c (c_common_reswords): Add
6747 __has_unique_object_representations.
6748
2e69f143
JJ
67492016-10-05 Jakub Jelinek <jakub@redhat.com>
6750
6751 PR sanitizer/66343
6752 * c-ubsan.c (ubsan_instrument_return): Don't call
6753 initialize_sanitizer_builtins here.
6754
700fff34
BE
67552016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6756
6757 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6758 conditional expression in boolean context when only one arm is
6759 non-boolean.
6760
9563bfcd
JJ
67612016-10-05 Jakub Jelinek <jakub@redhat.com>
6762
04a32443
JJ
6763 PR sanitizer/77823
6764 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6765 is not integral.
6766
9563bfcd
JJ
6767 * c-common.c (c_common_reswords): Update comment for C++11.
6768
f1644724
JM
67692016-10-04 Jason Merrill <jason@redhat.com>
6770
6771 * c-common.c (make_tree_vector_from_ctor): New.
6772 * c-common.h: Declare it.
6773
5a79befb
JJ
67742016-10-04 Jakub Jelinek <jakub@redhat.com>
6775
6776 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6777 __LIBGCC_JCR_SECTION_NAME__.
6778
1633d3b9
BE
67792016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6780
6781 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6782 left shift in boolean context.
6783
a2c6e7f2
JJ
67842016-09-29 Jakub Jelinek <jakub@redhat.com>
6785
6786 Implement P0001R1 - C++17 removal of register storage class specifier
6787 * c.opt (Wregister): New warning.
6788 * c-opts.c (c_common_post_options): Enable -Wregister by
6789 default for C++17.
6790
75304c87
JG
67912016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6792
6793 * c-opts.c (c_common_post_options): Remove special case for
6794 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6795 in C++.
6796
bbfac6da
JJ
67972016-09-27 Jakub Jelinek <jakub@redhat.com>
6798
6e39060a
JJ
6799 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6800 -std=c++1z.
6801
bbfac6da
JJ
6802 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6803
e73cf9a2
TP
68042016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6805
6806 * c-common.c: Include memmodel.h.
6807
c6147dc4
MP
68082016-09-26 Marek Polacek <polacek@redhat.com>
6809
6810 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6811
81fea426
MP
68122016-09-26 Marek Polacek <polacek@redhat.com>
6813
6814 PR c/7652
6815 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6816 (handle_fallthrough_attribute): New function.
6817 (attribute_fallthrough_p): New function.
6818 * c-common.h (attribute_fallthrough_p): Declare.
6819
9a2300e9
MP
68202016-09-24 Marek Polacek <polacek@redhat.com>
6821
6822 PR c/77490
6823 * c.opt (Wbool-operation): New.
6824
a09e9e35
BE
68252016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6826
6827 * c-common.c (c_common_truthvalue_conversion): Inhibit
6828 Wint-in-bool-context warning with from_macro_definition_at.
6829 Mention the expression will always evaluate to true.
6830
d43b4ccc
MS
68312016-09-21 Martin Sebor <msebor@redhat.com>
6832
6833 PR bootstrap/77676
6834 * c.opt (fprintf-return-value): Temporarily initialize to zero
6835 to unblock bootstrap failures.
6836
2e1c20b1
JJ
68372016-09-21 Jakub Jelinek <jakub@redhat.com>
6838
6839 PR c++/77651
6840 * c.opt (Waligned-new=): Add RejectNegative.
6841 (faligned-new=): Likewise. Spelling fix - change
6842 aligned_new_threshhold to aligned_new_threshold.
6843 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6844 to aligned_new_threshold.
6845
88d0c3f0
MS
68462016-09-20 Martin Sebor <msebor@redhat.com>
6847
6848 PR middle-end/49905
6849 * c.opt: Add -Wformat-length and -fprintf-return-value.
6850
144a96e4
BE
68512016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6852
6853 PR c++/77434
6854 * c.opt (Wint-in-bool-context): New warning.
6855 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6856 constants in boolean context.
6857
63012d9a
JM
68582016-09-19 Joseph Myers <joseph@codesourcery.com>
6859
6860 * c-common.c (max_align_t_align): Also consider alignment of
6861 float128_type_node.
6862
931388ce
JM
68632016-09-15 Jason Merrill <jason@redhat.com>
6864
6865 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6866 DECL_EXTERNAL.
6867
38711381
JM
68682016-09-14 Jason Merrill <jason@redhat.com>
6869
6870 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6871 limit FIELD_DECL, either.
6872
e51fbec3
MP
68732016-09-14 Marek Polacek <polacek@redhat.com>
6874
6875 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6876 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6877 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6878
254830ba
DM
68792016-09-13 David Malcolm <dmalcolm@redhat.com>
6880
6881 * c-common.c (warn_logical_not_parentheses): Replace
6882 rich_location::add_fixit_insert calls with add_fixit_insert_before
6883 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6884
42763690
JM
68852016-09-13 Jason Merrill <jason@redhat.com>
6886 Tom de Vries <tom@codesourcery.com>
6887
6888 PR c++/77427
6889 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6890
9453eee9
JM
68912016-09-13 Jason Merrill <jason@redhat.com>
6892
6893 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6894 limit types at all.
6895
e96809e3
JM
68962016-09-12 Jason Merrill <jason@redhat.com>
6897
6898 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6899 bit/byte confusion, allow large alignment for types.
6900
54dcdb88
BE
69012016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6902
6903 PR c++/77496
6904 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6905
d1463eb9
DM
69062016-09-12 David Malcolm <dmalcolm@redhat.com>
6907
6908 PR c/72858
6909 * c-format.c (argument_parser::check_argument_type): Add params
6910 "type_start" and "conversion_char". Use the former to generate
6911 offset_to_type_start and pass it and conversion_char to
6912 check_format_types.
6913 (check_format_info_main): Capture the start of the type
6914 information as "type_start", and pass it an format_char
6915 to arg_parser.check_argument_type.
6916 (check_format_types): Provide an example in the leading comment.
6917 Add params "offset_to_type_start" and "conversion_char"; pass
6918 them to format_type_warning calls.
6919 (test_get_modifier_for_format_len): Likewise.
6920 (matching_type_p): New function.
6921 (get_format_for_type): Add param "conversion_char" and move
6922 implementation into...
6923 (get_format_for_type_1): ...new function, called twice.
6924 Use new function matching_type_p rather than checking for
6925 TYPE_CANONICAL equality.
6926 (get_corrected_substring): New function.
6927 (format_type_warning): Provide an example in the leading comment.
6928 Add params "offset_to_type_start" and "conversion_char". Replace
6929 call to get_format_for_type with call to get_corrected_substring
6930 and move rejection of hints for widths/precisions there.
6931 (assert_format_for_type_streq): Add param "conversion_char".
6932 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6933 (test_get_format_for_type_printf): Add conversion chars to the
6934 tests, adding coverage for various combinations of integer
6935 vs double conversions, and for preserving octal and hexadecimal
6936 conversions.
6937 (test_get_format_for_type_scanf): Add conversion chars to the
6938 tests.
6939
5b28efbb
TV
69402016-09-10 Tom de Vries <tom@codesourcery.com>
6941
6942 PR C/71602
6943 * c-common.c (build_va_arg): Handle more strict
6944 targetm.canonical_va_list_type. Replace first argument type error with
6945 assert.
6946
3f0177e7
MS
69472016-09-09 Martin Sebor <msebor@redhat.com>
6948
6949 PR c/77520
6950 PR c/77521
6951 * c-format.c (argument_parser::find_format_char_info): Use %qc
6952 format directive unconditionally.
6953
af63ba4b
JM
69542016-09-09 Jason Merrill <jason@redhat.com>
6955
6956 Implement C++17 new of over-aligned types.
6957 * c.opt: Add -faligned-new and -Waligned-new.
6958 * c-common.c (max_align_t_align): Split out from...
6959 (cxx_fundamental_alignment_p): ...here.
6960 * c-common.h: Declare it.
6961 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6962
c65248cb
JM
69632016-09-09 Joseph Myers <joseph@codesourcery.com>
6964
6965 * c-cppbuiltin.c (builtin_define_type_width): New function.
6966 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6967 macros.
6968
e5106e27
DM
69692016-09-07 David Malcolm <dmalcolm@redhat.com>
6970
6971 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6972 a POINTER_TYPE.
6973 (substring_loc::get_location): Move to substring-locations.c,
6974 keeping implementation as...
6975 (c_get_substring_location): New function, from the above, reworked
6976 to use accessors rather than member lookup.
6977 * c-common.h (class substring_loc): Move to substring-locations.h,
6978 replacing with a forward decl.
6979 (c_get_substring_location): New decl.
6980 * c-format.c: Include "substring-locations.h".
6981 (format_warning_va): Move to substring-locations.c.
6982 (format_warning_at_substring): Likewise.
6983
ab20d992 69842016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6985
6986 PR c/77336
6987 * c-format.c (check_function_format): Avoid issuing warnings for
6988 functions unless they call format functions with non-constant
6989 format strings.
6990
b772a565
RB
69912016-09-06 Richard Biener <rguenther@suse.de>
6992
6993 PR c/77450
6994 * c-common.c (c_common_mark_addressable_vec): Handle
6995 COMPOUND_LITERAL_EXPR.
6996
25ff5dd3
MP
69972016-09-05 Marek Polacek <polacek@redhat.com>
6998
6999 PR c/77423
7000 * c-common.c (bool_promoted_to_int_p): New function.
7001 (expr_has_boolean_operands_p): New function.
7002 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
7003 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
7004
21234eb5
TV
70052016-09-04 Tom de Vries <tom@codesourcery.com>
7006
7007 revert:
7008 2016-08-29 Tom de Vries <tom@codesourcery.com>
7009
7010 * c-common.c (build_va_arg): Replace first argument type error
7011 with assert.
7012
9dc5773f
JJ
70132016-09-02 Jakub Jelinek <jakub@redhat.com>
7014
7015 PR c/65467
7016 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
7017 (c_finish_omp_for): Reject _Atomic qualified iterators.
7018
70192016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
7020
7021 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
7022 size to guarantee it fits the output of the formatted function
7023 regardless of its arguments.
7024
295844f6
MP
70252016-09-01 Marek Polacek <polacek@redhat.com>
7026
7027 PR c/7652
7028 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
7029 FALLTHRU comments.
7030
3d06b6f2
MP
70312016-08-29 Marek Polacek <polacek@redhat.com>
7032
7033 PR c/77292
7034 * c-common.c (warn_logical_not_parentheses): Don't warn for
7035 a comparison or a logical operator.
7036
34cedad5
TV
70372016-08-29 Tom de Vries <tom@codesourcery.com>
7038
7039 * c-common.c (build_va_arg): Fix type comparison assert.
7040
f162d717
TV
70412016-08-29 Tom de Vries <tom@codesourcery.com>
7042
7043 * c-common.c (build_va_arg): Replace first argument type error
7044 with assert.
7045
ba9bbd6f
TV
70462016-08-29 Tom de Vries <tom@codesourcery.com>
7047
7048 PR c/77398
7049 * c-common.c (build_va_arg): Add first argument error. Build va_arg
7050 with error_mark_node as va_list instead of with illegal va_list.
7051
ebef225f
MP
70522016-08-25 Marek Polacek <polacek@redhat.com>
7053 David Malcolm <dmalcolm@redhat.com>
7054
7055 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
7056 * c-common.h (warn_logical_not_parentheses): Update declaration.
7057
b00e6e75
MP
70582016-08-22 Marek Polacek <polacek@redhat.com>
7059
7060 PR c++/77321
7061 * c-common.c (warn_for_memset): Check type for null.
7062
6dc198e3
JM
70632016-08-22 Joseph Myers <joseph@codesourcery.com>
7064
14ec014e 7065 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
7066 _FloatNx types for suffixes for built-in functions.
7067
c65699ef
JM
70682016-08-19 Joseph Myers <joseph@codesourcery.com>
7069
7070 PR c/32187
7071 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
7072 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
7073 (RID_FLOAT128X): New enum rid values.
7074 (CASE_RID_FLOATN_NX): New macro.
7075 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
7076 keywords.
7077 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
7078 corresponding complex types.
7079 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
7080 _FloatNx and corresponding complex types.
7081 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
7082 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
7083 and _FloatNx types for the widest type for determining
7084 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
7085 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
7086 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
7087 and _FloatNx types.
7088 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
7089 constants.
7090 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
7091 _FloatNx types.
7092
cc015f3a
DM
70932016-08-18 David Malcolm <dmalcolm@redhat.com>
7094
7095 * c-opts.c (c_diagnostic_finalizer): Update for change to
7096 diagnostic_show_locus.
7097
cb18fd07
DM
70982016-08-18 David Malcolm <dmalcolm@redhat.com>
7099
7100 * c-common.c: Include "spellcheck.h".
7101 (cb_get_suggestion): New function.
7102 * c-common.h (cb_get_suggestion): New decl.
7103 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
7104 cb_get_suggestion.
7105
a76989dc
MP
71062016-08-18 Marek Polacek <polacek@redhat.com>
7107
7108 PR c/71514
7109 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
7110 and pointer-to-VLA.
7111
65e736c0
DM
71122016-08-16 David Malcolm <dmalcolm@redhat.com>
7113
7114 PR c/72857
7115 * c-common.c (substring_loc::get_range): Rename to...
7116 (substring_loc::get_location): ...this, converting param from a
7117 source_range * to a location_t *. Call
7118 get_source_location_for_substring rather than
7119 get_source_range_for_substring, and pass in m_caret_idx.
7120 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
7121 (substring_loc::get_range): Replace with...
7122 (substring_loc::get_location): ...this.
7123 (substring_loc::set_caret_index): New method.
7124 (substring_loc): Add field m_caret_idx.
7125 * c-format.c (format_warning_va): Update for above changes.
7126 Rename local "substring_loc" to "fmt_substring_loc" to avoid
7127 clashing with type name.
7128 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
7129 (check_argument_type): Likewise.
7130 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
7131 Use a copy when emitting warnings, setting the caret index from TYPE.
7132
7e1dde14 71332016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 7134 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
7135
7136 * c-ada-spec.c (dump_number): New function.
7137 (handle_escape_character): Likewise.
7138 (print_ada_macros): Add handling of constant integers and strings.
7139
191816a3
MP
71402016-08-12 Marek Polacek <polacek@redhat.com>
7141
7142 PR c/7652
7143 * c-common.c (scalar_to_vector): Adjust fall through comment.
7144 * c-opts.c (c_common_handle_option): Likewise.
7145 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
7146 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
7147 fall through comment.
7148 * cilk.c (extract_free_variables): Add FALLTHRU.
7149
452df4a4
JM
71502016-08-10 Jason Merrill <jason@redhat.com>
7151
7152 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
7153
f3365c12
JM
71542016-08-09 Jason Merrill <jason@redhat.com>
7155
7156 * c-common.c (c_common_attribute_table): vector_size affects type
7157 identity.
7158
f0bc3323
MP
71592016-08-09 Marek Polacek <polacek@redhat.com>
7160
7161 PR c/7652
7162 * c-ada-spec.c (dump_generic_ada_node): Add return.
7163
98e5a19a
JM
71642016-08-09 Jason Merrill <jason@redhat.com>
7165
7166 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
7167 C++17 constexpr lambdas.
7168
895aa8e1
DM
71692016-08-08 David Malcolm <dmalcolm@redhat.com>
7170
7171 PR c/64955
7172 * c-common.h (selftest::c_format_c_tests): New declaration.
7173 (selftest::run_c_tests): New declaration.
7174 * c-format.c: Include "selftest.h.
7175 (format_warning_va): Add param "corrected_substring" and use
7176 it to add a replacement fix-it hint.
7177 (format_warning_at_substring): Likewise.
7178 (format_warning_at_char): Update for new param of
7179 format_warning_va.
7180 (argument_parser::check_argument_type): Pass "fki" to
7181 check_format_types.
7182 (check_format_types): Add param "fki" and pass it to
7183 format_type_warning.
7184 (deref_n_times): New function.
7185 (get_modifier_for_format_len): New function.
7186 (selftest::test_get_modifier_for_format_len): New function.
7187 (get_format_for_type): New function.
7188 (format_type_warning): Add param "fki" and use it to attempt
7189 to provide hints for argument types when calling
7190 format_warning_at_substring.
7191 (selftest::get_info): New function.
7192 (selftest::assert_format_for_type_streq): New function.
7193 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
7194 (selftest::test_get_format_for_type_printf): New function.
7195 (selftest::test_get_format_for_type_scanf): New function.
7196 (selftest::c_format_c_tests): New function.
7197
e52ed3fe
DM
71982016-08-08 David Malcolm <dmalcolm@redhat.com>
7199
7200 PR c/52952
7201 * c-format.c: Include "diagnostic.h".
7202 (location_column_from_byte_offset): Delete.
7203 (location_from_offset): Delete.
7204 (format_warning_va): New function.
7205 (format_warning_at_substring): New function.
7206 (format_warning_at_char): New function.
7207 (check_format_arg): Capture location of format_tree and pass to
7208 check_format_info_main.
7209 (argument_parser): Add fields "start_of_this_format" and
7210 "format_string_cst".
7211 (flag_chars_t::validate): Add param "format_string_cst". Convert
7212 warning_at call using location_from_offset to call to
7213 format_warning_at_char.
7214 (argument_parser::argument_parser): Add param "format_string_cst_"
7215 and use use it to initialize field "format_string_cst".
7216 Initialize new field "start_of_this_format".
7217 (argument_parser::read_format_flags): Convert warning_at call
7218 using location_from_offset to a call to format_warning_at_char.
7219 (argument_parser::read_any_format_left_precision): Likewise.
7220 (argument_parser::read_any_format_precision): Likewise.
7221 (argument_parser::read_any_other_modifier): Likewise.
7222 (argument_parser::find_format_char_info): Likewise, in three places.
7223 (argument_parser::parse_any_scan_set): Likewise, in one place.
7224 (argument_parser::handle_conversions): Likewise, in two places.
7225 (argument_parser::check_argument_type): Add param "fmt_param_loc"
7226 and use it to make a substring_loc. Pass the latter to
7227 check_format_types.
7228 (check_format_info_main): Add params "fmt_param_loc" and
7229 "format_string_cst". Convert warning_at calls using
7230 location_from_offset to calls to format_warning_at_char. Pass the
7231 new params to the arg_parser ctor. Pass "format_string_cst" to
7232 flag_chars.validate. Pass "fmt_param_loc" to
7233 arg_parser.check_argument_type.
7234 (check_format_types): Convert first param from a location_t
7235 to a const substring_loc & and rename to "fmt_loc". Attempt
7236 to extract the range of the relevant parameter and pass it
7237 to format_type_warning.
7238 (format_type_warning): Convert first param from a location_t
7239 to a const substring_loc & and rename to "fmt_loc". Add
7240 params "param_range" and "type". Replace calls to warning_at
7241 with calls to format_warning_at_substring.
7242
1c4d457e
DM
72432016-08-08 David Malcolm <dmalcolm@redhat.com>
7244
7245 * c-format.c (class flag_chars_t): New class.
7246 (struct length_modifier): New struct.
7247 (class argument_parser): New class.
7248 (flag_chars_t::flag_chars_t): New ctor.
7249 (flag_chars_t::has_char_p): New method.
7250 (flag_chars_t::add_char): New method.
7251 (flag_chars_t::validate): New method.
7252 (flag_chars_t::get_alloc_flag): New method.
7253 (flag_chars_t::assignment_suppression_p): New method.
7254 (argument_parser::argument_parser): New ctor.
7255 (argument_parser::read_any_dollar): New method.
7256 (argument_parser::read_format_flags): New method.
7257 (argument_parser::read_any_format_width): New method.
7258 (argument_parser::read_any_format_left_precision): New method.
7259 (argument_parser::read_any_format_precision): New method.
7260 (argument_parser::handle_alloc_chars): New method.
7261 (argument_parser::read_any_length_modifier): New method.
7262 (argument_parser::read_any_other_modifier): New method.
7263 (argument_parser::find_format_char_info): New method.
7264 (argument_parser::validate_flag_pairs): New method.
7265 (argument_parser::give_y2k_warnings): New method.
7266 (argument_parser::parse_any_scan_set): New method.
7267 (argument_parser::handle_conversions): New method.
7268 (argument_parser::check_argument_type): New method.
7269 (check_format_info_main): Introduce classes argument_parser
7270 and flag_chars_t, moving the code within the loop into methods
7271 of these classes. Make various locals "const".
7272
88fa5555
DM
72732016-08-05 David Malcolm <dmalcolm@redhat.com>
7274
7275 * c-common.c: Include "substring-locations.h".
7276 (get_cpp_ttype_from_string_type): New function.
7277 (g_string_concat_db): New global.
7278 (substring_loc::get_range): New method.
7279 * c-common.h (g_string_concat_db): New declaration.
7280 (class substring_loc): New class.
7281 * c-lex.c (lex_string): When concatenating strings, capture the
7282 locations of all tokens using a new obstack, and record the
7283 concatenation locations within g_string_concat_db.
7284 * c-opts.c (c_common_init_options): Construct g_string_concat_db
7285 on the ggc-heap.
7286
78169471
MP
72872016-07-29 Marek Polacek <polacek@redhat.com>
7288
638fc14f
MP
7289 PR c/71926
7290 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
7291 parentheses warning.
7292
78169471
MP
7293 PR c/71574
7294 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
7295
1225d6b1
ML
72962016-07-28 Martin Liska <mliska@suse.cz>
7297
7298 PR gcov-profile/68025
7299 * c-common.c (handle_no_profile_instrument_function_attribute):
7300
ec1e2a40
BE
73012016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
7302
7303 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
7304 BITS_PER_UNIT_LOG.
7305
5ec2cd9f
JM
73062016-07-25 Jason Merrill <jason@redhat.com>
7307
7308 PR c++/65970
7309 * c.opt (fconstexpr-loop-limit): New.
7310
9dc5773f 73112016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
7312
7313 PR c++/71675
7314 * c-common.c (resolve_overloaded_builtin): Avoid converting
7315 __atomic_compare_exchange_n return type to that of what its
7316 first argument points to.
7317
e3fe09c1
UB
73182016-07-22 Uros Bizjak <ubizjak@gmail.com>
7319
7320 * c-common.c: Use HOST_WIDE_INT_M1U instead of
7321 ~(unsigned HOST_WIDE_INT) 0.
7322
bc91c436
ML
73232016-07-22 Martin Liska <mliska@suse.cz>
7324
7325 PR gcov-profile/69028
7326 PR gcov-profile/62047
7327 * cilk.c (create_cilk_helper_decl): Set location of a new decl
7328 to the current_function_decl.
7329
451dcc66
JM
73302016-07-21 Jason Merrill <jason@redhat.com>
7331
7332 PR c++/65168
7333 * c-common.c (c_common_truthvalue_conversion): Check
7334 c_inhibit_evaluation_warnings for warning about address of
7335 reference.
7336
de6a69ee
DM
73372016-07-20 David Malcolm <dmalcolm@redhat.com>
7338
7339 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
7340 const char *.
7341
d022c55a
JM
73422016-07-15 Jason Merrill <jason@redhat.com>
7343
7344 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
7345
ddbbcb19
JJ
73462016-07-15 Jakub Jelinek <jakub@redhat.com>
7347
7348 PR c/71858
7349 * c-common.h (enum lookup_name_fuzzy_kind): Add
7350 FUZZY_LOOKUP_FUNCTION_NAME.
7351
d0cf395a
JM
73522016-07-08 Jason Merrill <jason@redhat.com>
7353
7354 P0145: Refining Expression Order for C++.
7355 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
7356 * c-opts.c: Adjust.
7357
98d44e93
MT
73582016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
7359
7360 PR c++/71214
7361 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
7362
f9d8d994
TS
73632016-06-29 Thomas Schwinge <thomas@codesourcery.com>
7364
7365 * c-pragma.h (enum pragma_kind): Rename
7366 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
7367 users.
7368
4aa83879
RB
73692016-06-29 Richard Biener <rguenther@suse.de>
7370
7371 PR middle-end/71002
7372 * c-common.c (c_common_get_alias_set): Remove union type punning case.
7373
a25bd9e6
JM
73742016-06-24 Jason Merrill <jason@redhat.com>
7375
7376 P0145R2: Refining Expression Order for C++.
7377 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
7378 MODIFY_EXPR.
7379
a86451b9
JJ
73802016-06-24 Jakub Jelinek <jakub@redhat.com>
7381
7382 * c-common.c (check_builtin_function_arguments): Require last
7383 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
7384 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
7385 if the last argument is pointer to enumerated or boolean type.
7386
1a4f11c8
DM
73872016-06-22 David Malcolm <dmalcolm@redhat.com>
7388
7389 PR c/70339
7390 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
7391 (lookup_name_fuzzy): New prototype.
7392
fe55692c
JDA
73932016-06-21 John David Anglin <danglin@gcc.gnu.org>
7394
7395 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
7396
4eb24e01
JM
73972016-06-14 Jason Merrill <jason@redhat.com>
7398
7399 P0145R2: Refining Expression Order for C++.
7400 * c.opt (fargs-in-order): New.
7401 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
7402
ef7cf206
JJ
74032016-06-13 Jakub Jelinek <jakub@redhat.com>
7404
0dda258b
JJ
7405 PR sanitizer/71498
7406 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
7407 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
7408
ef7cf206
JJ
7409 PR preprocessor/71183
7410 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
7411 to cb_get_source_date_epoch.
7412
50b15873
JJ
74132016-06-10 Jakub Jelinek <jakub@redhat.com>
7414
7415 PR c/68657
7416 * c.opt (Wpsabi): Add Warning flag.
7417
4d926e34
MS
74182016-06-10 Martin Sebor <msebor@redhat.com>
7419
7420 PR c/71392
14ec014e 7421 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
7422 the nonnull attribute in type-generic builtins.
7423
e01b4e16
MS
74242016-06-09 Martin Sebor <msebor@redhat.com>
7425
7426 PR c/70883
7427 * c-common.c (builtin_function_validate_nargs): Make text of error
7428 message consistent with others like it.
7429
44a845ca
MS
74302016-06-08 Martin Sebor <msebor@redhat.com>
7431 Jakub Jelinek <jakub@redhat.com>
7432
7433 PR c++/70507
7434 PR c/68120
7435 * c-common.c (check_builtin_function_arguments): Handle
7436 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
7437
a80a7051
RB
74382016-06-08 Richard Biener <rguenther@suse.de>
7439
7440 * c-common.c (parse_optimize_options): Improve diagnostic messages.
7441
bfd67b47
RB
74422016-06-07 Richard Biener <rguenther@suse.de>
7443
7444 PR c/61564
7445 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
7446 options and warn about others.
7447
15c98b2e
ES
74482016-06-01 Eduard Sanou <dhole@openmailbox.org>
7449
7450 * c-common.c (get_source_date_epoch): Rename to
7451 cb_get_source_date_epoch.
7452 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
7453 message when the parsing fails. Use error_at instead of fatal_error.
7454 * c-common.h (get_source_date_epoch): Rename to
7455 cb_get_source_date_epoch.
7456 * c-common.h (cb_get_source_date_epoch): Prototype.
7457 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
7458 * c-common.h (c_omp_region_type): Remove trailing comma.
7459 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
7460 * c-lex.c (c_lex_with_flags): Remove initialization of
7461 pfile->source_date_epoch.
7462
00631022
JJ
74632016-05-30 Jakub Jelinek <jakub@redhat.com>
7464
7465 PR c++/71349
7466 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
7467 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
7468 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
7469 instead of C_OMP_CLAUSE_SPLIT_FOR.
7470
f17a223d
RB
74712016-05-24 Richard Biener <rguenther@suse.de>
7472
7473 PR middle-end/70434
7474 PR c/69504
7475 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
7476 (convert_vector_to_array_for_subscript): ... this.
7477 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
7478 VIEW_CONVERT_EXPR to an array type. Rename to ...
7479 (convert_vector_to_array_for_subscript): ... this.
7480
4f2e1536
MP
74812016-05-12 Marek Polacek <polacek@redhat.com>
7482
7483 PR c/70756
7484 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
7485 size_in_bytes and pass LOC to it.
7486
d6e83a8d
MM
74872016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
7488
7489 PR c/43651
7490 * c.opt (Wduplicate-decl-specifier): New option.
7491
5c3a10fb
MP
74922016-05-11 Marek Polacek <polacek@redhat.com>
7493
7494 PR c++/71024
7495 * c-common.c (diagnose_mismatched_attributes): New function.
7496 * c-common.h (diagnose_mismatched_attributes): Declare.
7497
deef7113
MP
74982016-05-04 Marek Polacek <polacek@redhat.com>
7499
7500 * c.opt (Wdangling-else): New option.
7501
79ce98bc
MP
75022016-05-03 Marek Polacek <polacek@redhat.com>
7503
7504 PR c/70859
7505 * c-common.c (builtin_function_validate_nargs): Add location
7506 parameter. Use it.
7507 (check_builtin_function_arguments): Add location and arguments
7508 parameters. Use them.
7509 * c-common.h (check_builtin_function_arguments): Update declaration.
7510
381cdae4
RB
75112016-05-03 Richard Biener <rguenther@suse.de>
7512
7513 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
7514 allow call args to gimplify to SSA names.
7515
1d793c34
MP
75162016-05-03 Marek Polacek <polacek@redhat.com>
7517
7518 * c-common.h (enum c_omp_region_type): Remove stray comma.
7519
77886428
CP
75202016-05-02 Cesar Philippidis <cesar@codesourcery.com>
7521
7522 * c-common.h (enum c_omp_region_type): Define.
7523
697e0b28
RS
75242016-05-02 Richard Sandiford <richard.sandiford@arm.com>
7525
7526 * c-common.c (shorten_compare): Use wi::to_wide.
7527
e7ff0319
CP
75282016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7529
7530 PR middle-end/70626
7531 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
7532 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
7533 reduction clauses in acc parallel loops.
7534
2fff3db8
MP
75352016-04-29 Marek Polacek <polacek@redhat.com>
7536
7537 PR c/70852
7538 * c-common.c (warn_for_memset): Check domain before accessing it.
7539
509063eb
DV
75402016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7541
7542 PR/69089
7543 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
7544 "aligned" attribute.
7545
b632761d
JM
75462016-04-28 Jason Merrill <jason@redhat.com>
7547
7548 * c-lex.c (c_common_has_attribute): Handle nodiscard.
7549
174f6622
ES
75502016-04-28 Eduard Sanou <dhole@openmailbox.org>
7551 Matthias Klose <doko@debian.org>
7552
7553 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 7554 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
7555 handling.
7556 * c-common.h (get_source_date_epoch): Prototype.
7557 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
7558
6bc2bb18
RB
75592015-04-27 Ryan Burn <contact@rnburn.com>
7560
7561 PR c++/69024
7562 PR c++/68997
7563 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
7564 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
7565 external linkage.
7566 (cilk_detect_and_unwrap): Corresponding changes.
7567 (extract_free_variables): Don't extract free variables from
7568 AGGR_INIT_EXPR slot.
7569 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
7570 (cilk_recognize_spawn): Likewise.
7571
c1e1f433
BS
75722016-04-27 Bernd Schmidt <bschmidt@redhat.com>
7573
7574 * c.opt (Wmemset-elt-size): New option.
7575 * c-common.c (warn_for_memset): New function.
7576 * c-common.h (warn_for_memset): Declare.
7577
d067e05f
JM
75782016-04-25 Jason Merrill <jason@redhat.com>
7579
7580 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
7581 No longer static.
7582 * c-common.h: Declare it.
7583 * c-lex.c (c_common_has_attribute): Add maybe_unused.
7584
9aa36ae5
JM
75852016-04-22 Jason Merrill <jason@redhat.com>
7586
7587 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
7588
477d4906
IV
75892016-04-20 Ilya Verbin <ilya.verbin@intel.com>
7590
7591 PR c++/69363
7592 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
7593 * c-common.h (c_finish_cilk_clauses): Remove declaration.
7594
fe37c7af
MM
75952016-04-18 Michael Matz <matz@suse.de>
7596
7597 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
7598 and SET_DECL_ALIGN.
7599
23f2660f
EB
76002016-04-17 Eric Botcazou <ebotcazou@adacore.com>
7601
7602 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7603 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7604 to incomplete types.
7605 (dump_nested_type): Remove redundant tests and tidy up.
7606 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7607 a type which is the typedef of an original type.
7608
1e77281b
MP
76092016-04-15 Marek Polacek <polacek@redhat.com>
7610
7611 PR c/70651
7612 * c-common.c (build_va_arg): Change two asserts into errors and return
7613 error_mark_node.
7614
b3a77f21
MP
76152016-04-13 Marek Polacek <polacek@redhat.com>
7616
7617 PR c++/70639
7618 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7619 for switch statements, too.
7620
322b8466
JM
76212016-03-28 Jason Merrill <jason@redhat.com>
7622
7623 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7624
fbdb6baf
MP
76252016-03-23 Marek Polacek <polacek@redhat.com>
7626
7627 PR c++/69884
7628 * c.opt (Wignored-attributes): New option.
7629
5c240f4d
DM
76302016-03-22 David Malcolm <dmalcolm@redhat.com>
7631
7632 PR c/69993
7633 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7634 diagnostic text, reversing the order of the warning and note so
7635 that they appear in source order.
7636
14ba7b28
MP
76372016-03-17 Marek Polacek <polacek@redhat.com>
7638
7639 PR c/69407
7640 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7641 operations.
7642
08a1cadc
JM
76432016-03-14 Jason Merrill <jason@redhat.com>
7644
2aaeea19
JM
7645 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7646
08a1cadc
JM
7647 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7648
c06d25bb
RB
76492016-03-09 Richard Biener <rguenther@suse.de>
7650
7651 PR c/70143
7652 * c-common.c (strict_aliasing_warning): Add back
7653 alias_sets_conflict_p check.
7654
80aac5c8
JM
76552016-03-08 Jason Merrill <jason@redhat.com>
7656
7657 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7658
64b23c13
DM
76592016-03-04 David Malcolm <dmalcolm@redhat.com>
7660
7661 PR c/68187
7662 * c-indentation.c (get_visual_column): Move code to determine next
7663 tab stop to...
7664 (next_tab_stop): ...this new function.
7665 (line_contains_hash_if): Delete function.
7666 (detect_preprocessor_logic): Delete function.
7667 (get_first_nws_vis_column): New function.
7668 (detect_intervening_unindent): New function.
7669 (should_warn_for_misleading_indentation): Replace call to
7670 detect_preprocessor_logic with a call to
7671 detect_intervening_unindent.
7672
729526f5
DM
76732016-03-04 David Malcolm <dmalcolm@redhat.com>
7674
7675 PR c/68187
7676 * c-indentation.c (should_warn_for_misleading_indentation): When
7677 suppressing warnings about cases where the guard and body are on
7678 the same column, only use the first non-whitespace column in place
7679 of the guard token column when dealing with "else" clauses.
7680 When rejecting aligned BODY and NEXT, loosen the requirement
7681 from equality with the first non-whitespace of guard to simply
7682 that they not be indented relative to it.
7683
e9a35493
RB
76842016-03-04 Richard Biener <rguenther@suse.de>
7685
7686 PR c++/70054
7687 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7688 instead of alias_sets_conflict_p.
7689
1be56bc5
MP
76902016-03-01 Marek Polacek <polacek@redhat.com>
7691
7692 PR c++/69795
7693 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7694 any DECL.
7695
35886f0b
MS
76962016-02-22 Martin Sebor <msebor@redhat.com>
7697
7698 PR middle-end/69780
7699 * c-common.c (check_builtin_function_arguments): Validate and
7700 reject invalid arguments to __builtin_alloca_with_align.
7701
4246c8da
MW
77022016-02-20 Mark Wielaard <mjw@redhat.com>
7703
7704 PR c/28901
7705 * c.opt (Wunused-const-variable): Turn into Alias for...
7706 (Wunused-const-variable=): New option.
7707
268be88c
BE
77082016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7709
7710 PR c++/69865
7711 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7712 here...
7713 (c_common_init_options): ...to here.
7714 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7715
871b3f47
JJ
77162016-02-19 Jakub Jelinek <jakub@redhat.com>
7717
7718 PR c++/69826
7719 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7720 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7721 flag_preprocess_only.
7722
bf14eba2
JJ
77232016-02-16 Jakub Jelinek <jakub@redhat.com>
7724
7725 PR c/69835
7726 * c.opt (Wnonnull-compare): Enable for -Wall.
7727
ba6b3795
JJ
77282016-02-15 Jakub Jelinek <jakub@redhat.com>
7729
7730 PR c++/69797
7731 * c-common.c (sync_resolve_size): Diagnose too few arguments
7732 even when params is non-NULL empty vector.
7733
a011cd92
BS
77342016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7735
7736 PR target/60410
7737 * c.opt (fshort-double): Remove.
7738
46cb9332
MS
77392016-02-05 Martin Sebor <msebor@redhat.com>
7740
7741 PR c++/69662
7742 * c.opt (Warning options): Update -Wplacement-new to take
7743 an optional argument.
7744
e1b81f2b
JJ
77452016-02-01 Jakub Jelinek <jakub@redhat.com>
7746
7747 PR preprocessor/69543
7748 PR c/69558
7749 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7750 instead of loc to control_warning_option.
7751
b6adbb9f
NS
77522016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7753
7754 * c.opt (fopenacc-dim=): New option.
7755
5d70666e
RB
77562016-01-27 Ryan Burn <contact@rnburn.com>
7757
7758 PR cilkplus/69267
7759 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7760 gimplify_arg. Removed superfluous post_p argument.
7761 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7762 superfluous post_p argument.
7763 * c-gimplify.c (c_gimplify_expr): Likewise.
7764
01e1dea3
DM
77652016-01-26 David Malcolm <dmalcolm@redhat.com>
7766
7767 PR other/69006
7768 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7769 pp_newline_and_flush with pp_flush.
7770
9f04a53e
MS
77712016-01-20 Martin Sebor <msebor@redhat.com>
7772
7773 PR c/69405
7774 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7775 an incompatible argument when the argument isn't a valid tree node.
7776
7f26f7df
JM
77772016-01-18 Jason Merrill <jason@redhat.com>
7778
7779 PR c++/68767
7780 * c-common.c (check_function_arguments_recurse): Fold the whole
7781 COND_EXPR, not just the condition.
7782
f62bf092
TV
77832016-01-18 Tom de Vries <tom@codesourcery.com>
7784
7785 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7786 classify as loop clause.
7787
e0a575ff
JJ
77882016-01-15 Jakub Jelinek <jakub@redhat.com>
7789
7790 PR bootstrap/68271
7791 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7792 C++ FE no longer has limit on number of pragmas.
7793
77942015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7795
7796 PR c++/69048
7797 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7798 to add missing cleanup point.
b6e3db06 7799
c7df95d8
DM
78002016-01-14 David Malcolm <dmalcolm@redhat.com>
7801
7802 PR c++/68819
7803 * c-indentation.c (get_visual_column): Add location_t param.
7804 Handle the column number being zero by effectively disabling the
7805 warning, with an "inform".
7806 (should_warn_for_misleading_indentation): Add location_t argument
7807 for all uses of get_visual_column.
7808
21efdd80
PP
78092016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7810
7811 PR c++/69029
7812 * c-indentation.c (should_warn_for_misleading_indentation):
7813 Don't warn about do-while statements.
7814
7a127fa7
MS
78152016-01-07 Martin Sebor <msebor@redhat.com>
7816
7817 PR c/68966
7818 * c-common.c (sync_resolve_size): Reject first argument when it's
7819 a pointer to _Bool.
7820
c589e975
DM
78212016-01-05 David Malcolm <dmalcolm@redhat.com>
7822
7823 PR c/69122
7824 * c-indentation.c (get_visual_column): Remove default argument.
7825 (should_warn_for_misleading_indentation): For the multiline case,
7826 update call to get_visual_column for next_stmt_exploc so that it
7827 captures the location of the first non-whitespace character in the
7828 relevant line. Don't issue warnings if there is non-whitespace
7829 before the next statement.
7830
818ab71a
JJ
78312016-01-04 Jakub Jelinek <jakub@redhat.com>
7832
7833 Update copyright years.
7834
745e411d
DM
78352015-12-21 David Malcolm <dmalcolm@redhat.com>
7836
7837 * c-common.c (binary_op_error): Convert first param from
7838 location_t to rich_location * and use it when emitting an error.
7839 * c-common.h (binary_op_error): Convert first param from
7840 location_t to rich_location *.
7841
de67c4c3
DM
78422015-12-16 David Malcolm <dmalcolm@redhat.com>
7843
7844 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7845 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7846
4a38b02b
IV
78472015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7848
7849 * c-common.c (c_common_attribute_table): Handle "omp declare target
7850 link" attribute.
7851
54d62f51
JJ
78522015-12-14 Jakub Jelinek <jakub@redhat.com>
7853
7854 PR c/68833
7855 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7856
8d4227c8
TB
78572014-12-12 Tobias Burnus <burnus@net-b.de>
7858
7859 PR fortran/68815
7860 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7861 specifiers (%d, %i,%u and %c).
7862
f6069ccc
DM
78632015-12-10 David Malcolm <dmalcolm@redhat.com>
7864
7865 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7866
63bbf46d
JJ
78672015-12-08 Jakub Jelinek <jakub@redhat.com>
7868
7869 PR c/48088
7870 PR c/68657
7871 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7872 * c-pragma.c (handle_pragma_diagnostic): Adjust
7873 control_warning_option caller.
7874
f79520bb
DM
78752015-12-07 David Malcolm <dmalcolm@redhat.com>
7876
7877 * c-common.c (c_cpp_error): Update for change to
7878 rich_location::set_range.
7879
b3d5bc62
JJ
78802015-12-04 Paolo Bonzini <bonzini@gnu.org>
7881
7882 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7883 shifting 1 out of the sign bit.
7884
78852015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7886
7887 * c-common.c (c_common_attribute_table[]): Update max arguments
7888 count for "simd" attribute.
7889 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7890
6eb4a537
JJ
78912015-12-03 Jakub Jelinek <jakub@redhat.com>
7892
7893 PR preprocessor/57580
7894 * c-ppoutput.c (print): Change printed field to bool.
7895 Move src_file last for smaller padding.
7896 (init_pp_output): Set print.printed to false instead of 0.
7897 (scan_translation_unit): Fix up formatting. Set print.printed
7898 to true after printing something other than newline.
7899 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7900 (maybe_print_line_1): Set print.printed to false instead of 0.
7901 (print_line_1): Likewise.
7902 (do_line_change): Set print.printed to true instead of 1.
7903 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7904 dump_macro): Set print.printed to false after printing newline.
7905
4250754e
JM
79062015-12-02 Jason Merrill <jason@redhat.com>
7907
f479b43d
JM
7908 * c-common.c (fold_for_warn): New.
7909 (warn_logical_operator, warn_tautological_cmp)
7910 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7911
4250754e
JM
7912 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7913 (c_fully_fold_internal, decl_constant_value_for_optimization):
7914 Move to c/c-fold.c.
7915 * c-common.h: Don't declare decl_constant_value_for_optimization.
7916
e9e32ee6
JM
79172015-12-02 Joseph Myers <joseph@codesourcery.com>
7918
7919 PR c/68162
7920 * c-common.h (c_build_qualified_type): Add extra default
7921 arguments.
7922
37d5ad46
JB
79232015-12-01 Julian Brown <julian@codesourcery.com>
7924 Cesar Philippidis <cesar@codesourcery.com>
7925 James Norris <James_Norris@mentor.com>
7926
7927 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7928 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7929 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7930
f07862c7
EB
79312015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7932
7933 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7934 (decl_sloc_common): Delete and move bulk of processing to...
7935 (decl_sloc): ...here.
7936 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7937 (dump_ada_double_name): Remove S parameter and compute the suffix.
7938 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7939 element type and deal with an anonymous one.
7940 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7941 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7942 and remove reference to QUAL_UNION_TYPE.
7943 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7944 (dump_nested_type): ...here. New function extracted from above.
7945 Generate a full declaration for anonymous element type of arrays.
7946 (print_ada_declaration): Really skip anonymous declarations. Remove
7947 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7948 Clean up processing of declarations of array types and objects.
7949 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7950 Remove obsolete code and tidy up.
7951
75c8aac3
JH
79522015-11-29 Jan Hubicka <hubicka@ucw.cz>
7953
7954 PR c/67581
7955 * c-common.c (handle_transparent_union_attribute): Update
7956 also type variants.
7957
b58d3df2
ML
79582015-11-27 Martin Liska <mliska@suse.cz>
7959
7960 PR c++/68312
7961 * array-notation-common.c (cilkplus_extract_an_triplets):
7962 Release vector of vectors.
7963 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7964
89a01fcf
EB
79652015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7966
7967 PR c++/68527
7968 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7969 (print_ada_struct_decl): Likewise.
7970
cc5c5226
IZ
79712015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7972
7973 PR c++/68001
7974 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7975 * cilk.c (recognize_spawn): Determine location in a more precise
7976 way.
7977
269adb9d
JM
79782015-11-19 Jason Merrill <jason@redhat.com>
7979
7980 * c-common.c (shorten_compare): But look through macros from
7981 system headers.
7982
d0eccfcd
JM
79832015-11-18 Jason Merrill <jason@redhat.com>
7984
7985 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7986 non-constant operand comes from a macro.
7987
3e44547c
JM
79882015-11-17 Jason Merrill <jason@redhat.com>
7989
7990 PR bootstrap/68346
7991 * c-common.c (warn_tautological_cmp): Fold before checking for
7992 constants.
7993
0f62c7a0
MP
79942015-11-16 Marek Polacek <polacek@redhat.com>
7995
7996 PR c++/68362
7997 * c-common.c (check_case_bounds): Fold low and high cases.
7998
a868811e
MP
79992015-11-16 Marek Polacek <polacek@redhat.com>
8000
8001 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
8002 * c-common.c (c_common_get_alias_set): Likewise.
8003 (handle_visibility_attribute): Likewise.
8004
fff77217
KY
80052015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
8006
8007 * c-common.c (handle_simd_attribute): New.
8008 (struct attribute_spec): Add entry for "simd".
8009 (handle_simd_attribute): New.
8010
269e63b7
KT
80112015-11-13 Kai Tietz <ktietz70@googlemail.com>
8012
8013 * c-lex.c (interpret_float): Use fold_convert.
8014
ebedc9a3
DM
80152015-11-13 David Malcolm <dmalcolm@redhat.com>
8016
8017 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
8018 and store it on the result.
8019 * c-opts.c (c_common_init_options): Set
8020 global_dc->colorize_source_p.
8021
6e232ba4
JN
80222015-11-12 James Norris <jnorris@codesourcery.com>
8023 Joseph Myers <joseph@codesourcery.com>
8024
7365279f 8025 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
8026 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
8027 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
8028 PRAGMA_OACC_CLAUSE_LINK.
8029
e78bede6
MP
80302015-11-11 Marek Polacek <polacek@redhat.com>
8031
8032 PR c/68107
8033 PR c++/68266
8034 * c-common.c (valid_array_size_p): New function.
8035 * c-common.h (valid_array_size_p): Declare.
8036
3f8257db 80372015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
8038
8039 PR bootstrap/68271
8040 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
8041
69f293c9
AM
80422015-11-11 Andrew MacLeod <amacleod@redhat.com>
8043
8044 * array-notation-common.c: Remove unused header files.
8045 * c-ada-spec.c: Likewise.
8046 * c-cilkplus.c: Likewise.
8047 * c-common.c: Likewise.
8048 * c-cppbuiltin.c: Likewise.
8049 * c-dump.c: Likewise.
8050 * c-format.c: Likewise.
8051 * c-gimplify.c: Likewise.
8052 * c-indentation.c: Likewise.
8053 * c-lex.c: Likewise.
8054 * c-omp.c: Likewise.
8055 * c-opts.c: Likewise.
8056 * c-pch.c: Likewise.
8057 * c-ppoutput.c: Likewise.
8058 * c-pragma.c: Likewise.
8059 * c-pretty-print.c: Likewise.
8060 * c-semantics.c: Likewise.
8061 * c-ubsan.c: Likewise.
8062 * cilk.c: Likewise.
8063 * stub-objc.c: Likewise.
8064
3a40d81d
NS
80652015-11-09 Thomas Schwinge <thomas@codesourcery.com>
8066 Cesar Philippidis <cesar@codesourcery.com>
8067 James Norris <jnorris@codesourcery.com>
8068 Julian Brown <julian@codesourcery.com>
8069 Nathan Sidwell <nathan@codesourcery.com>
8070
8071 * c-pragma.c (oacc_pragmas): Add "routine".
8072 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
8073
ee45a32d
EB
80742015-11-08 Eric Botcazou <ebotcazou@adacore.com>
8075
8076 * c-common.c (c_common_attributes): Add scalar_storage_order.
8077 (handle_scalar_storage_order_attribute): New function.
8078 * c-pragma.c (global_sso): New variable.
8079 (maybe_apply_pragma_scalar_storage_order): New function.
8080 (handle_pragma_scalar_storage_order): Likewise.
8081 (init_pragma): Register scalar_storage_order.
8082 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
8083 * c.opt (Wscalar-storage-order): New warning.
8084 (fsso-struct=): New option.
8085
eb11eb15
MS
80862015-11-08 Martin Sebor <msebor@redhat.com>
8087
8088 * c.opt (Wplacement-new): Add a period to the end of a sentence.
8089
0aad0198
RS
80902015-11-07 Richard Sandiford <richard.sandiford@arm.com>
8091
8092 * c-common.c: Don't undef DEF_BUILTIN.
8093
8a645150
DM
80942015-11-06 David Malcolm <dmalcolm@redhat.com>
8095
8096 * c-common.c (c_cpp_error): Convert parameter from location_t to
8097 rich_location *. Eliminate the "column_override" parameter and
8098 the call to diagnostic_override_column.
8099 Update the "done_lexing" clause to set range 0
8100 on the rich_location, rather than overwriting a location_t.
8101 * c-common.h (c_cpp_error): Convert parameter from location_t to
8102 rich_location *. Eliminate the "column_override" parameter.
8103
7a5e4956
CP
81042015-11-05 Cesar Philippidis <cesar@codesourcery.com>
8105 Thomas Schwinge <thomas@codesourcery.com>
8106 James Norris <jnorris@codesourcery.com>
8107
8108 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
8109 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
8110 clauses with parallel and kernels and loops.
8111 * c-pragma.h (enum pragma_omp_clause): Add entries for
8112 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
8113 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
8114 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
8115 INDEPENDENT,SEQ}.
8116 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
8117
e2f5cc96
MS
81182015-11-05 Martin Sebor <msebor@redhat.com>
8119
8120 PR c++/67942
8121 * c.opt (-Wplacement-new): New option.
8122
e01d41e5
JJ
81232015-11-05 Jakub Jelinek <jakub@redhat.com>
8124
8125 * c-common.h (c_finish_omp_atomic): Add TEST argument.
8126 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
8127 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
8128 save_expr or create_tmp_var* if TEST is true.
8129 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
8130 Don't call add_stmt here.
8131 (struct c_omp_check_loop_iv_data): New type.
8132 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
8133 c_omp_check_loop_iv_exprs): New functions.
8134 (c_omp_split_clauses): Adjust for lastprivate being allowed on
8135 distribute.
8136 (c_omp_declare_simd_clauses_to_numbers): Change
8137 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
8138 (c_omp_declare_simd_clauses_to_decls): Similarly change those
8139 from numbers to PARM_DECLs.
8140
595278be
MM
81412015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
8142
8143 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
8144 flag_checking.
8145
3f8257db 81462015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
8147
8148 PR c++-common/67882
b3d5bc62
JJ
8149 * c-common.h (fold_offsetof_1): Add argument.
8150 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
8151 offsetof expressions that reference elements past the end of
8152 an array.
8153
4bf9e5a8
TS
81542015-11-03 Thomas Schwinge <thomas@codesourcery.com>
8155 Chung-Lin Tang <cltang@codesourcery.com>
8156
8157 * c-pragma.c (oacc_pragmas): Add "atomic".
8158 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
8159
3b1661a9
ES
81602015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
8161
8162 * c-common.c (handle_target_clones_attribute): New.
8163 (c_common_attribute_table): Add handle_target_clones_attribute.
8164 (handle_always_inline_attribute): Add check on target_clones attribute.
8165 (handle_target_attribute): Ditto.
8166
2adfab87
AM
81672015-10-29 Andrew MacLeod <amacleod@redhat.com>
8168
8169 * array-notation-common.c: Reorder #include's and remove duplicates.
8170 * c-ada-spec.c: Likewise.
8171 * c-cilkplus.c: Likewise.
8172 * c-common.c: Likewise.
8173 * c-cppbuiltin.c: Likewise.
8174 * c-dump.c: Likewise.
8175 * c-format.c: Likewise.
8176 * c-gimplify.c: Likewise.
8177 * c-indentation.c: Likewise.
8178 * c-lex.c: Likewise.
8179 * c-omp.c: Likewise.
8180 * c-opts.c: Likewise.
8181 * c-pch.c: Likewise.
8182 * c-ppoutput.c: Likewise.
8183 * c-pragma.c: Likewise.
8184 * c-pretty-print.c: Likewise.
8185 * c-semantics.c: Likewise.
8186 * c-ubsan.c: Likewise.
8187 * cilk.c: Likewise.
8188 * stub-objc.c: Likewise.
8189
d90ec4f2
JM
81902015-10-28 Jason Merrill <jason@redhat.com>
8191
8192 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
8193
88bae6f4
TS
81942015-10-27 Thomas Schwinge <thomas@codesourcery.com>
8195 James Norris <jnorris@codesourcery.com>
8196 Cesar Philippidis <cesar@codesourcery.com>
8197
8198 PR c/64765
8199 PR c/64880
8200 * c-common.h (c_oacc_split_loop_clauses): Declare function.
8201 * c-omp.c (c_oacc_split_loop_clauses): New function.
8202
b1726d6c
MS
82032015-10-21 Martin Sebor <msebor@redhat.com>
8204
8205 PR driver/68043
8206 * c.opt: End each sentence that describes an option with a period.
8207
fa60eeb9
MP
82082015-10-20 Marek Polacek <polacek@redhat.com>
8209
8210 * array-notation-common.c (is_cilkplus_vector_p): Define.
8211 * c-common.h (is_cilkplus_vector_p): Declare.
8212
95979049
MP
82132015-10-20 Marek Polacek <polacek@redhat.com>
8214
8215 * c.opt (std=gnu++11): Do not describe as experimental.
8216 (std=gnu++14): Likewise.
8217
2a9fb712
JM
82182015-10-19 Jason Merrill <jason@redhat.com>
8219
8220 * c-cppbuiltin.c (c_cpp_builtins): Define
8221 __cpp_nontype_template_args.
8222
13b380a3
JM
82232015-10-19 Jason Merrill <jason@redhat.com>
8224
8225 * c-cppbuiltin.c (c_cpp_builtins): Define
8226 __cpp_enumerator_attributes, __cpp_fold_expressions,
8227 __cpp_unicode_characters.
8228
d9a6bd32
JJ
82292015-10-13 Jakub Jelinek <jakub@redhat.com>
8230 Aldy Hernandez <aldyh@redhat.com>
8231
8232 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
8233 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
8234 (c_define_builtins): Likewise.
8235 * c-common.h (enum c_omp_clause_split): Add
8236 C_OMP_CLAUSE_SPLIT_TASKLOOP.
8237 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
8238 (c_finish_omp_for): Add ORIG_DECLV argument.
8239 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
8240 201511 instead of 201307.
8241 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
8242 OMP_CRITICAL_CLAUSES to it.
8243 (c_finish_omp_ordered): Add CLAUSES argument, set
8244 OMP_ORDERED_CLAUSES to it.
8245 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
8246 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
8247 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
8248 constructs and new OpenMP 4.5 clauses. Clear
8249 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
8250 verification code.
8251 * c-pragma.c (omp_pragmas_simd): Add taskloop.
8252 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
8253 (enum pragma_omp_clause): Add
8254 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
8255 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
8256
624d31fe
RS
82572015-10-05 Richard Sandiford <richard.sandiford@arm.com>
8258
8259 * c-lex.c (interpret_float): Use real_equal instead of
8260 REAL_VALUES_EQUAL.
8261
b8fd7909
JM
82622015-10-04 Jason Merrill <jason@redhat.com>
8263
8264 Implement N4514, C++ Extensions for Transactional Memory.
8265 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
8266 (c_common_attribute_table): Add transaction_safe_dynamic.
8267 transaction_safe now affects type identity.
8268 (handle_tm_attribute): Handle transaction_safe_dynamic.
8269 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
8270 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
8271 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
8272 (D_TRANSMEM): New.
8273 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
8274 * c-pretty-print.c (pp_c_attributes_display): Don't print
8275 transaction_safe in C++.
8276
12651878
MP
82772015-10-02 Marek Polacek <polacek@redhat.com>
8278
8279 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
8280
3e3b8d63
MP
82812015-10-02 Marek Polacek <polacek@redhat.com>
8282
8283 PR c/64249
8284 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
8285 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
8286 * c.opt (Wduplicated-cond): New option.
8287
0d1a8f75
JM
82882015-10-01 Joseph Myers <joseph@codesourcery.com>
8289
8290 * c.opt (std=c11): Do not describe as experimental.
8291 (std=gnu11): Likewise.
8292 (std=iso9899:2011): Likewise.
8293
3e32ee19
NS
82942015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8295
8296 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
8297 (DEF_FUNCTION_TYPE_VAR_11): Delete.
8298
974348ee
MP
82992015-09-25 Marek Polacek <polacek@redhat.com>
8300
8301 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
8302 (ubsan_instrument_shift): Likewise.
8303
15dbc1a6
MP
83042015-09-25 Marek Polacek <polacek@redhat.com>
8305
8306 PR sanitizer/64906
8307 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
8308
6b95d7cc
PP
83092015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
8310
8311 * c-indentation.c (should_warn_for_misleading_indentation):
8312 Compare next_stmt_vis_column with guard_line_first_nws instead
8313 of with guard_line_vis_column.
8314
c1822f9c
MLI
83152015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8316
8317 PR c/49654
8318 PR c/49655
8319 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
8320 options and options not valid for the current language.
8321
d5398058
PP
83222015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
8323
8324 * c-indentation.c (should_warn_for_misleading_indentation):
8325 Float out and consolidate the calls to get_visual_column that
8326 are passed guard_exploc as an argument. Compare
8327 next_stmt_vis_column with guard_line_first_nws instead of with
8328 body_line_first_nws.
8329
6b333269
NS
83302015-09-22 Nathan Sidwell <nathan@codesourcery.com>
8331
8332 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
8333 Wnamespaces): New C++ warnings.
8334
a75f1574
JM
83352015-09-22 Jason Merrill <jason@redhat.com>
8336
8337 * c-common.h (abi_compat_version_crosses): New.
8338 (warn_abi_version): Declare.
8339 * c-common.c: Define it.
8340 * c-opts.c (c_common_post_options): Handle it.
8341 flag_abi_compat_version defaults to 8.
8342
bdaaa8b7
VV
83432015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
8344
8345 Complete the implementation of N4230, Nested namespace definition.
8346 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
8347 __cpp_nested_namespace_definitions.
8348
eaa797e8
MLI
83492015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8350
8351 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
8352
c4914de6
MLI
83532015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8354
8355 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
8356 when warning.
8357 * c-pragma.h (pragma_lex): Add optional loc argument.
8358
fcb87c50
MM
83592015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
8360
8361 * c-format.c (check_format_arg): Adjust to use common block size in all
8362 object pools.
8363
31bdd08a
DM
83642015-09-15 David Malcolm <dmalcolm@redhat.com>
8365
8366 * c-format.c (location_from_offset): Update for change in
8367 signature of location_get_source_line.
8368 * c-indentation.c (get_visual_column): Likewise.
8369 (line_contains_hash_if): Likewise.
8370
aa9f4b4c
MP
83712015-09-14 Marek Polacek <polacek@redhat.com>
8372
8373 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
8374 setting various warnings.
8375
aa256c4a
MP
83762015-09-14 Marek Polacek <polacek@redhat.com>
8377
8378 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
8379 a negative value.
8380
0f876f22
MW
83812015-09-11 Mark Wielaard <mjw@redhat.com>
8382
8383 PR c/28901
8384 * c.opt (Wunused-variable): Option from common.opt.
8385 (Wunused-const-variable): New option.
8386
273aa49e
PC
83872015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8388
8389 PR c++/53184
8390 * c.opt ([Wsubobject-linkage]): Add.
8391
1807ffc1
MS
83922015-09-03 Martin Sebor <msebor@redhat.com>
8393
8394 PR c/66516
8395 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
8396 functions.
8397 * c-common.c (reject_gcc_builtin): Define.
8398
38942840
BI
83992015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
8400
8401 PR middle-end/60586
8402 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
8403 prototype.
8404 * c-gimplify.c (c_gimplify_expr): Added a call to the function
8405 cilk_gimplify_call_params_in_spawned_fn.
8406 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
8407 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
8408 unwrapping.
8409
c316b5e4
MP
84102015-08-25 Marek Polacek <polacek@redhat.com>
8411
8412 PR middle-end/67330
8413 * c-common.c (handle_weak_attribute): Don't check whether the
8414 visibility can be changed here.
8415
584a7c46
MLI
84162015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8417
8418 * c-lex.c (c_lex_with_flags): Use explicit locations.
8419
a79683d5
TS
84202015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8421
8422 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
8423 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
8424
61717a45
FXC
84252015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8426
8427 PR middle-end/36757
8428 * c-common.c (check_builtin_function_arguments): Add check
8429 for BUILT_IN_SIGNBIT argument.
8430
329524f5
PC
84312015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
8432
8433 PR c++/67160
8434 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
8435 in c++1z mode.
8436
4ee55665
MP
84372015-08-17 Marek Polacek <polacek@redhat.com>
8438
8439 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
8440 with whitespaces before qualifier names.
8441
b893e375
MP
84422015-08-12 Marek Polacek <polacek@redhat.com>
8443
8444 PR c++/55095
8445 * c-common.c (maybe_warn_shift_overflow): Properly handle
8446 left-shifting 1 into the sign bit.
8447
c2d89095
MLI
84482015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8449
8450 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
8451
971e17ff
AS
84522015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
8453 Braden Obrzut <admin@maniacsvault.net>
8454 Jason Merrill <jason@redhat.com>
8455
8456 Add C++ Concepts TS support.
8457 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
8458 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
8459 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
8460 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
8461 * c-opts.c (set_std_cxx1z): Set flag_concepts.
8462 * c.opt (fconcepts): New.
8463
b3d5bc62
JJ
84642015-08-02 Martin Sebor <msebor@redhat.com>
8465
8466 * c.opt (-Wframe-address): New warning option.
8467
8ebca419
PP
84682015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8469
8470 * c-indentation.c (should_warn_for_misleading_indentation):
8471 Improve heuristics.
8472
1a1e101f
PP
84732015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8474
8475 * c-indentation.c (get_visual_column): Add parameter first_nws,
8476 use it. Update comment documenting the function.
8477 (is_first_nonwhitespace_on_line): Remove.
8478 (should_warn_for_misleading_indentation): Replace usage of
8479 of is_first_nonwhitespace_on_line with get_visual_column.
8480
992118a1
PP
84812015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8482
8483 * c-indentation.h (struct token_indent_info): Define.
8484 (get_token_indent_info): Define.
8485 (warn_for_misleading_information): Declare.
8486 * c-common.h (warn_for_misleading_information): Remove.
8487 * c-identation.c (warn_for_misleading_indentation):
8488 Change declaration to take three token_indent_infos. Adjust
8489 accordingly.
8490 * c-identation.c (should_warn_for_misleading_indentation):
8491 Likewise. Bail out early if the body is a compound statement.
8492 (guard_tinfo_to_string): Define.
8493
e8fa3817
JM
84942015-07-30 Jason Merrill <jason@redhat.com>
8495
8496 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
8497 '*' for reference decay.
8498
173864e8
MP
84992015-07-30 Marek Polacek <polacek@redhat.com>
8500
8501 * c-common.c (warn_tautological_cmp): Bail for float types.
8502
f2afe6dd
MP
85032015-07-27 Marek Polacek <polacek@redhat.com>
8504
8505 PR bootstrap/67030
8506 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
8507
05b28fd6
MP
85082015-07-27 Marek Polacek <polacek@redhat.com>
8509
8510 PR c++/66555
8511 PR c/54979
8512 * c-common.c (find_array_ref_with_const_idx_r): New function.
8513 (warn_tautological_cmp): New function.
8514 * c-common.h (warn_tautological_cmp): Declare.
8515 * c.opt (Wtautological-compare): New option.
8516
5a5062b8
MP
85172015-07-23 Marek Polacek <polacek@redhat.com>
8518
8519 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
8520 (ubsan_instrument_shift): Likewise.
8521
dc891fe7
MP
85222015-07-23 Marek Polacek <polacek@redhat.com>
8523
8524 PR sanitizer/66908
8525 * c-ubsan.c: Include gimplify.h.
8526 (ubsan_instrument_division): Unshare OP0 and OP1.
8527 (ubsan_instrument_shift): Likewise.
8528
451b5e48
MP
85292015-07-20 Marek Polacek <polacek@redhat.com>
8530 Richard Sandiford <richard.sandiford@arm.com>
8531
8532 PR c++/55095
8533 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
8534 Use EXPR_LOC_OR_LOC.
8535 (maybe_warn_shift_overflow): New function.
8536 * c-common.h (maybe_warn_shift_overflow): Declare.
8537 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
8538 * c.opt (Wshift-overflow): New option.
8539
fb0b2914
ML
85402015-07-16 Martin Liska <mliska@suse.cz>
8541
8542 * c-format.c (static void check_format_info_main): Use
8543 object_allocator instead of pool_allocator.
8544 (check_format_arg): Likewise.
8545 (check_format_info_main): Likewise.
8546
903f5c23
AM
85472015-07-15 Andrew MacLeod <amacleod@redhat.com>
8548
8549 * c-opts.c: Remove multiline #include comment.
8550
026c3cfd
AH
85512015-07-12 Aldy Hernandez <aldyh@redhat.com>
8552
8553 * c-common.c: Fix double word typos.
8554
bb49ee66
EB
85552015-07-10 Eric Botcazou <ebotcazou@adacore.com>
8556
8557 * c-ada-spec.h (cpp_operation): Revert latest change.
8558 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
8559 constructors and destructors.
8560
1916bcb5
AM
85612015-07-09 Andrew MacLeod <amacleod@redhat.com>
8562
8563 * c-common.h: Adjust includes for flags.h changes.
8564 * stub-objc.c: Likewise.
026c3cfd 8565
a9dcd529
EB
85662015-07-08 Eric Botcazou <ebotcazou@adacore.com>
8567
8568 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
8569 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
8570
b03b462f
JJ
85712015-07-08 Jakub Jelinek <jakub@redhat.com>
8572
8573 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
8574 are to be removed, return NULL rather than original clauses list.
8575
c7131fb2
AM
85762015-07-07 Andrew MacLeod <amacleod@redhat.com>
8577
8578 * array-notation-common.c: Adjust includes.
8579 * c-ada-spec.c: Likewise.
8580 * c-cilkplus.c: Likewise.
8581 * c-common.h: Likewise.
8582 * c-cppbuiltin.c: Likewise.
8583 * c-dump.c: Likewise.
8584 * c-format.c: Likewise.
8585 * c-gimplify.c: Likewise.
8586 * c-indentation.c: Likewise.
8587 * c-lex.c: Likewise.
8588 * c-omp.c: Likewise.
8589 * c-opts.c: Likewise.
8590 * c-pch.c: Likewise.
8591 * c-ppoutput.c: Likewise.
8592 * c-pragma.c: Likewise.
8593 * c-pretty-print.c: Likewise.
8594 * c-semantics.c: Likewise.
8595 * c-ubsan.c: Likewise.
8596 * cilk.c: Likewise.
8597 * stub-objc.c: Likewise.
8598
2a7fb83f
EB
85992015-07-07 Eric Botcazou <ebotcazou@adacore.com>
8600
8601 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
8602 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8603
a03c9bf1
JM
86042015-07-01 Jason Merrill <jason@redhat.com>
8605
36a85135
JM
8606 * c-common.h (D_CXX11): Rename from D_CXX0X.
8607 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8608 * c-common.c: Adjust.
8609
e7fa68d5
JM
8610 * c-opts.c (c_common_post_options): Default to C++14.
8611
a03c9bf1
JM
8612 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8613
fe95b036
ESR
86142015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8615
8616 Implement N4197 - Adding u8 character literals
b3d5bc62 8617 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8618 CPP_CHAR.
b3d5bc62 8619 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8620 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8621 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8622 and CPP_UTF8CHAR tokens.
8623 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8624
da2e71c9
MLI
86252015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8626
8627 PR fortran/66605
8628 * c-common.c (do_warn_unused_parameter): Move here.
8629 * c-common.h (do_warn_unused_parameter): Declare.
8630
b155cfd9
MP
86312015-06-29 Marek Polacek <polacek@redhat.com>
8632
8633 PR c/66322
8634 * c-common.c (check_case_bounds): Add bool * parameter. Set
8635 OUTSIDE_RANGE_P.
8636 (c_add_case_label): Add bool * parameter. Pass it down to
8637 check_case_bounds.
8638 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8639 warning here.
8640 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8641 declarations.
8642
31521951
MP
86432015-06-27 Marek Polacek <polacek@redhat.com>
8644
8645 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8646 or VECTOR_INTEGER_TYPE_P throughout.
8647 * c-gimplify.c: Likewise.
8648
22d03525
MP
86492015-06-26 Marek Polacek <polacek@redhat.com>
8650
8651 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8652 * c-common.c (c_fully_fold_internal): Likewise.
8653 (c_alignof_expr): Likewise.
8654 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8655 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8656 * cilk.c (create_parm_list): Likewise.
22d03525 8657
af05e6e5
MP
86582015-06-26 Marek Polacek <polacek@redhat.com>
8659
8660 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8661
f0889939
AM
86622015-06-25 Andrew MacLeod <amacleod@redhat.com>
8663
8664 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8665 * c-gimplify.c: Likewise.
8666 * c-pragma.c: Likewise.
8667 * c-ubsan.c: Likewise.
8668 * cilk.c: Likewise.
8669
ca752f39
RS
86702015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8671
8672 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8673 ggc_hasher.
8674
16a16ec7
AM
86752015-06-25 Andrew MacLeod <amacleod@redhat.com>
8676
8677 * cilk.c: Move calls.h after tm.h in the include chain.
8678
0ae9bd27
MP
86792015-06-25 Marek Polacek <polacek@redhat.com>
8680
8681 * array-notation-common.c: Use VAR_P throughout.
8682 * c-ada-spec.c: Likewise.
8683 * c-common.c: Likewise.
8684 * c-format.c: Likewise.
8685 * c-gimplify.c: Likewise.
8686 * c-omp.c: Likewise.
8687 * c-pragma.c: Likewise.
8688 * c-pretty-print.c: Likewise.
8689 * cilk.c: Likewise.
8690
62f9079a
MP
86912015-06-25 Marek Polacek <polacek@redhat.com>
8692
8693 * cilk.c (extract_free_variables): Use is_global_var.
8694
0fa16060
RS
86952015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8696
8697 * c-common.c: Don't include target-def.h.
8698
a68ae2e1
MP
86992015-06-23 Marek Polacek <polacek@redhat.com>
8700
8701 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8702 when comparing INTEGER_CSTs.
8703
c6a2f2d9
PMR
87042015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8705
8706 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8707 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8708 (dump_ada_template): Skip partially specialized types.
8709
6b4db501
MM
87102015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8711
8712 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8713 swapping.
8714
abb226c9
AM
87152015-06-17 Andrew MacLeod <amacleod@redhat.com>
8716
8717 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8718 * c-ada-spec.c: Likewise.
8719 * c-cilkplus.c: Likewise.
8720 * c-common.c: Likewise.
8721 * c-common.h: Likewise.
8722 * c-cppbuiltin.c: Likewise.
8723 * c-dump.c: Likewise.
8724 * c-format.c: Likewise.
8725 * c-gimplify.c: Likewise.
8726 * c-indentation.c: Likewise.
8727 * c-lex.c: Likewise.
8728 * c-omp.c: Likewise.
8729 * c-opts.c: Likewise.
8730 * c-pch.c: Likewise.
8731 * c-ppoutput.c: Likewise.
8732 * c-pragma.c: Likewise.
8733 * c-pretty-print.c: Likewise.
8734 * c-semantics.c: Likewise.
8735 * c-ubsan.c: Likewise.
8736 * cilk.c: Likewise.
8737 * stub-objc.c: Likewise.
8738
076fecad
PP
87392015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8740
8741 PR c++/65168
8742 * c-common.c (c_common_truthvalue_conversion): Warn when
8743 converting an address of a reference to a truth value.
8744
13fdf2e2
AM
87452015-06-08 Andrew MacLeod <amacleod@redhat.com>
8746
8747 * array-notation-common.c : Adjust include files.
8748 * c-ada-spec.c : Likewise.
8749 * c-cilkplus.c : Likewise.
8750 * c-common.c : Likewise.
8751 * c-common.h : Likewise.
8752 * c-cppbuiltin.c : Likewise.
8753 * c-dump.c : Likewise.
8754 * c-format.c : Likewise.
8755 * c-gimplify.c : Likewise.
8756 * c-indentation.c : Likewise.
8757 * c-lex.c : Likewise.
8758 * c-omp.c : Likewise.
8759 * c-opts.c : Likewise.
8760 * c-pch.c : Likewise.
8761 * c-ppoutput.c : Likewise.
8762 * c-pragma.c : Likewise.
8763 * c-pretty-print.c : Likewise.
8764 * c-semantics.c : Likewise.
8765 * c-ubsan.c : Likewise.
8766 * cilk.c : Likewise.
8767 * stub-objc.c : Likewise.
8768
a1661b90
MP
87692015-06-08 Marek Polacek <polacek@redhat.com>
8770
8771 PR c/66415
8772 * c-format.c (location_from_offset): Return LOC if LINE is null.
8773
d7438551
AH
87742015-06-05 Aldy Hernandez <aldyh@redhat.com>
8775
8776 * c-common.h (c_parse_final_cleanups): New prototype.
8777 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8778
b3d5bc62
JJ
87792015-06-04 Sriraman Tallam <tmsriram@google.com>
8780
8781 * c-common.c (noplt): New attribute.
8782 (handle_noplt_attribute): New handler.
8783
ecb9f223
AM
87842015-06-04 Andrew MacLeod <amacleod@redhat.com>
8785
8786 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8787 * c-ada-spec.c: Likewise.
8788 * c-cilkplus.c: Likewise.
8789 * c-common.c: Likewise.
8790 * c-common.h: Likewise.
8791 * c-cppbuiltin.c: Likewise.
8792 * c-dump.c: Likewise.
8793 * c-format.c: Likewise.
8794 * c-gimplify.c: Likewise.
8795 * c-indentation.c: Likewise.
8796 * c-lex.c: Likewise.
8797 * c-omp.c: Likewise.
8798 * c-opts.c: Likewise.
8799 * c-pch.c: Likewise.
8800 * c-ppoutput.c: Likewise.
8801 * c-pragma.c: Likewise.
8802 * c-pretty-print.c: Likewise.
8803 * c-semantics.c: Likewise.
8804 * c-ubsan.c: Likewise.
8805 * cilk.c: Likewise.
8806 * stub-objc.c: Likewise.
8807
6ac48155
DM
88082015-06-02 David Malcolm <dmalcolm@redhat.com>
8809
8810 PR c/66220:
8811 * c-indentation.c (should_warn_for_misleading_indentation): Use
8812 expand_location rather than expand_location_to_spelling_point.
8813 Don't warn if the guarding statement is more indented than the
8814 next/body stmts.
8815
773ce42e
DM
88162015-06-02 David Malcolm <dmalcolm@redhat.com>
8817
8818 * c-indentation.c (warn_for_misleading_indentation): Bail out
8819 immediately if -Wmisleading-indentation isn't enabled.
8820
4fef8379
ML
88212015-06-01 Martin Liska <mliska@suse.cz>
8822
8823 * c-format.c (check_format_arg):Use new type-based pool allocator.
8824 (check_format_info_main) Likewise.
8825
1edfb384
EB
88262015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8827
8828 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8829 (has_nontrivial_methods): Likewise.
8830
9677ef52
MP
88312015-05-25 Marek Polacek <polacek@redhat.com>
8832
8833 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8834
fd5c817a
MP
88352015-05-22 Marek Polacek <polacek@redhat.com>
8836
8837 PR c/47043
8838 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8839
a2f45fe6 88402015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8841
8842 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8843 STACK_GROWS_DOWNWARD.
8844
a2f45fe6 88452015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8846
8847 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8848 STACK_GROWS_DOWNWARD rather than if it is defined.
8849
0fee2ac2 88502015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8851
0fee2ac2
MLI
8852 PR c/52952
8853 * c-format.c (location_column_from_byte_offset): New.
8854 (location_from_offset): New.
8855 (struct format_wanted_type): Add offset_loc field.
8856 (check_format_info): Move handling of location for extra arguments
8857 closer to the point of warning.
8858 (check_format_info_main): Pass the result of location_from_offset
8859 to warning_at.
8860 (format_type_warning): Pass the result of location_from_offset
8861 to warning_at.
8862
cf4ef6f7
MP
88632015-05-20 Marek Polacek <polacek@redhat.com>
8864
8865 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8866
3a65ee74
MP
88672015-05-20 Marek Polacek <polacek@redhat.com>
8868
8869 * c-ada-spec.c (dump_sloc): Use DECL_P.
8870
21b634ae
MP
88712015-05-20 Marek Polacek <polacek@redhat.com>
8872
8873 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8874 * c-common.c: Likewise.
8875
0e50b624
DM
88762015-05-19 David Malcolm <dmalcolm@redhat.com>
8877
8878 * c-common.h (fe_file_change): Strengthen param from
8879 const line_map * to const line_map_ordinary *.
8880 (pp_file_change): Likewise.
8881 * c-lex.c (fe_file_change): Likewise.
8882 (cb_define): Use linemap_check_ordinary when invoking
8883 SOURCE_LINE.
8884 (cb_undef): Likewise.
8885 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8886 invoking cb_file_change.
8887 (c_finish_options): Likewise.
8888 (push_command_line_include): Likewise.
8889 (cb_file_change): Strengthen param "new_map" from
8890 const line_map * to const line_map_ordinary *.
8891 * c-ppoutput.c (cb_define): Likewise for local "map".
8892 (pp_file_change): Likewise for param "map" and local "from".
8893
fab27f52
MM
88942015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8895
8896 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8897
2fe1d762
TV
88982015-05-18 Tom de Vries <tom@codesourcery.com>
8899
8900 * c-common.c (build_va_arg_1): New function.
8901 (build_va_arg): Add address operator to va_list operand if necessary.
8902
7a37fa90
MM
89032015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8904
8905 PR c/48956
8906 * c-common.c (int_safely_convertible_to_real_p): Define.
8907 (unsafe_conversion_p): Check conversions involving complex types.
8908 (conversion_warning): Add new warning message for conversions which
8909 discard imaginary component.
8910 * c-common.h: (enum conversion_safety): Add new enumerator for such
8911 conversions.
8912
3aa3c9fc
MP
89132015-05-14 Marek Polacek <polacek@redhat.com>
8914
8915 PR c/66066
8916 PR c/66127
8917 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8918 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8919 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8920 use it. If FOR_INT_CONST, require that all evaluated operands be
8921 INTEGER_CSTs.
8922
c3388e62
DM
89232015-05-12 David Malcolm <dmalcolm@redhat.com>
8924
8925 * c-common.h (warn_for_misleading_indentation): New prototype.
8926 * c-indentation.c: New file.
8927 * c.opt (Wmisleading-indentation): New option.
8928
c7b38fd5
TV
89292015-05-12 Tom de Vries <tom@codesourcery.com>
8930
8931 PR tree-optimization/66010
8932 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8933
381bf11e
JM
89342015-05-09 Jason Merrill <jason@redhat.com>
8935
edff0c06
JM
8936 * c-opts.c (c_common_post_options): Also clear
8937 cpp_opts->cpp_warn_cxx11_compat.
8938
129211bc
JM
8939 * c-common.h (enum cxx_dialect): Add cxx_unset.
8940 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8941 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8942
381bf11e
JM
8943 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8944 (std=gnu++0x): Mark as Undocumented.
8945 (std=gnu++1y): Add deprecated message.
8946
fe191308
JM
89472015-05-08 Jason Merrill <jason@redhat.com>
8948
765189ff
JM
8949 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8950 * c-opts.c: Adjust.
8951
fe191308
JM
8952 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8953
755e528f
MP
89542015-05-08 Marek Polacek <polacek@redhat.com>
8955
8956 PR c/64918
8957 * c.opt (Woverride-init-side-effects): New option.
8958
0173bd2a
MP
89592015-05-07 Marek Polacek <polacek@redhat.com>
8960
8961 PR c/65179
8962 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8963 negative value.
8964 * c.opt (Wshift-negative-value): New option.
8965 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8966 when -Wextra and C99/C++11 mode.
8967
e0f0d3b9
MP
89682015-05-07 Marek Polacek <polacek@redhat.com>
8969 Martin Uecker <uecker@eecs.berkeley.edu>
8970
8971 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8972 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8973
8243e2a9
JM
89742015-05-05 Jason Merrill <jason@redhat.com>
8975
8976 * c.opt (Wterminate): New.
8977
577cd070
MP
89782015-04-30 Marek Polacek <polacek@redhat.com>
8979
8980 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8981 require that the non-constant be of a boolean type.
8982
0373796b
JT
89832015-04-29 Josh Triplett <josh@joshtriplett.org>
8984
e0f0d3b9
MP
8985 * c-common.c (handle_section_attribute): Refactor to reduce
8986 nesting and distinguish between error cases.
0373796b 8987
716c0ba6
MP
89882015-04-29 Marek Polacek <polacek@redhat.com>
8989
8990 PR c/64610
8991 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8992 with 0/1.
8993
8848828b
JJ
89942015-04-29 Jakub Jelinek <jakub@redhat.com>
8995
8996 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8997 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8998 HOST_BITS_PER_WIDE_INT.
8999
ecd0e562
TV
90002015-04-28 Tom de Vries <tom@codesourcery.com>
9001
9002 PR tree-optimization/65887
9003 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
9004
2a877204 90052015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 9006 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
9007
9008 * c-ada-spec.c (in_function): Delete.
9009 (dump_generic_ada_node): Do not change in_function and remove the
9010 redundant code dealing with it.
9011 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
9012 (print_ada_methods): Output the static member functions in a nested
9013 package after the regular methods as well as associated renamings.
9014
4853031e
MP
90152015-04-24 Marek Polacek <polacek@redhat.com>
9016
9017 PR c/65830
9018 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
9019 and OPT_Wshift_count_overflow.
9020
8c2b7f79
MP
9021 PR c/63357
9022 * c-common.c (warn_logical_operator): Warn if the operands have the
9023 same expressions.
9024
b8787813
MP
90252015-04-24 Marek Polacek <polacek@redhat.com>
9026
9027 PR c/61534
9028 * c-common.c (warn_logical_operator): Bail if either operand comes
9029 from a macro expansion.
9030
8fba1830
BRF
90312015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9032
9033 PR target/55143
9034 * c-common.c (c_default_pointer_mode): Add definition.
9035 * c-common.h (c_default_pointer_mode): Add declaration.
9036
17958621
JJ
90372015-03-11 Jakub Jelinek <jakub@redhat.com>
9038
9039 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
9040 on record_builtin_type argument.
9041
7ccb1a11
JJ
90422015-03-10 Jakub Jelinek <jakub@redhat.com>
9043
9044 PR c/65120
9045 * c-common.c (warn_logical_not_parentheses): Don't warn for
9046 !x == 0 or !x != 0.
9047
04fd785e
MP
90482015-03-07 Marek Polacek <polacek@redhat.com>
9049
9050 PR sanitizer/65280
9051 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
9052 before trying to figure out whether we have a flexible array member.
9053
a4e26206 90542015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 9055 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
9056
9057 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
9058
0d2489f4
EB
90592015-03-05 Eric Botcazou <ebotcazou@adacore.com>
9060
9061 PR ada/65319
9062 * c-ada-spec.c (print_destructor): Remove obsolete code.
9063
83ed54d7
EB
90642015-03-01 Eric Botcazou <ebotcazou@adacore.com>
9065
9066 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
9067 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
9068 DECL_TEMPLATE_RESULT emulations.
9069 (dump_ada_template)): Add guard for TYPE_METHODS.
9070
7631f0e2
MP
90712015-02-27 Marek Polacek <polacek@redhat.com>
9072
9073 PR c/65040
9074 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
9075
d1783ae5
KT
90762015-02-27 Kai Tietz <ktietz@redhat.com>
9077
9078 PR c/35330
9079 * c-pragma.c (handle_pragma_weak): Do not try to create
9080 weak/alias of declarations not being function, or variable
9081 declarations.
9082
56a9f6bc
TS
90832015-02-24 Thomas Schwinge <thomas@codesourcery.com>
9084
9085 PR libgomp/64625
9086 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
9087 Remove macros.
9088 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
9089
3d5cb23d
MP
90902015-02-16 Marek Polacek <polacek@redhat.com>
9091
9092 PR c/65066
9093 * c-format.c (check_format_types): Handle null param.
9094
fa008882
MP
90952015-02-13 Marek Polacek <polacek@redhat.com>
9096
9097 PR c/65040
9098 * c-format.c (check_format_types): Don't warn about different
9099 signedness if the original value is in the range of WANTED_TYPE.
9100
785f21af
JM
91012015-02-12 Jason Merrill <jason@redhat.com>
9102
9103 PR c++/64956
9104 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
9105 to the current highest version.
9106 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
9107
4886ec8e
JJ
91082015-02-04 Jakub Jelinek <jakub@redhat.com>
9109
9110 PR c/64824
9111 PR c/64868
9112 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
9113 instead of RDIV_EXPR. Use build_binary_op instead of
9114 build2_loc.
9115
40fecdd6
JM
91162015-01-30 Joseph Myers <joseph@codesourcery.com>
9117
9118 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
9119 to pass input_location as first argument.
9120
a0c88d06
TV
91212015-01-23 Tom de Vries <tom@codesourcery.com>
9122
9123 PR libgomp/64672
9124 * c.opt (fopenacc): Mark as LTO option.
9125
1506ae0e
TV
91262015-01-23 Tom de Vries <tom@codesourcery.com>
9127
9128 PR libgomp/64707
9129 * c.opt (fopenmp): Mark as LTO option.
9130
31be63ab
JJ
91312015-01-21 Jakub Jelinek <jakub@redhat.com>
9132
9133 PR c/63307
b1726d6c 9134 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
9135 (compare_decls): Fix up formatting.
9136
91372015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
9138
9139 PR c/63307
9140 * cilk.c: Include vec.h.
9141 (struct cilk_decls): New structure.
9142 (wrapper_parm_cb): Split this function to...
9143 (fill_decls_vec): ...this...
9144 (create_parm_list): ...and this.
9145 (compare_decls): New function.
9146 (for_local_cb): Remove.
9147 (wrapper_local_cb): Ditto.
9148 (build_wrapper_type): For now first traverse and fill vector of
9149 declarations then sort it and then deal with sorted vector.
9150 (cilk_outline): Ditto.
9151 (declare_one_free_variable): Ditto.
9152
6875457f
JM
91532015-01-21 Jason Merrill <jason@redhat.com>
9154
9155 PR c++/64629
9156 * c-format.c (check_format_arg): Call decl_constant_value.
9157
185c9e56
ML
91582015-01-19 Martin Liska <mliska@suse.cz>
9159
9160 * c-common.c (handle_noicf_attribute): New function.
9161
41dbbb37
TS
91622015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9163 Bernd Schmidt <bernds@codesourcery.com>
9164 James Norris <jnorris@codesourcery.com>
9165 Cesar Philippidis <cesar@codesourcery.com>
9166 Ilmir Usmanov <i.usmanov@samsung.com>
9167 Jakub Jelinek <jakub@redhat.com>
9168
9169 * c.opt (fopenacc): New option.
9170 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
9171 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
9172 New macros.
9173 * c-common.h (c_finish_oacc_wait): New prototype.
9174 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
9175 (c_finish_oacc_wait): New function.
9176 * c-pragma.c (oacc_pragmas): New variable.
9177 (c_pp_lookup_pragma, init_pragma): Handle it.
9178 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
9179 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
9180 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
9181 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
9182 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
9183 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
9184 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
9185 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
9186 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
9187 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
9188 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
9189 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
9190 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
9191 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
9192 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
9193 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
9194 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
9195 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
9196 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
9197 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
9198 PRAGMA_OACC_CLAUSE_WORKER.
9199
3f8257db 92002015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
9201
9202 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
9203 for the new option fstack-protector_explicit.
9204 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
9205 (handle_stack_protect_attribute): New function.
9206
3f8257db 92072015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
9208
9209 * c.opt: New option -Warray-bounds=.
9210
adfac8df
JJ
92112015-01-09 Michael Collison <michael.collison@linaro.org>
9212
9213 * array-notation-common.c: Include hash-set.h, machmode.h,
9214 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9215 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
9216 * c-ada-spec.c: Ditto.
9217 * c-cilkplus.c: Ditto.
9218 * c-common.c: Include input.h due to flattening of tree.h.
9219 Define macro GCC_C_COMMON_C.
9220 * c-common.h: Flatten tree.h header files into c-common.h.
9221 Remove include of tree-core.h.
9222 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9223 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9224 fold-const.h, wide-int.h, and inchash.h due to
9225 flattening of tree.h.
9226 * c-dump.c: Ditto.
9227 * c-format.c: Flatten tree.h header files into c-common.h.
9228 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9229 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9230 fold-const.h, wide-int.h, and inchash.h due to
9231 flattening of tree.h.
9232 * c-dump.c: Include hash-set.h, machmode.h,
9233 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9234 fold-const.h, wide-int.h, and inchash.h due to
9235 flattening of tree.h.
9236 * c-format.c: Include hash-set.h, machmode.h,
9237 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9238 fold-const.h, wide-int.h, inchash.h and real.h due to
9239 flattening of tree.h.
9240 * c-gimplify.c: Include hash-set.h, machmode.h,
9241 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9242 fold-const.h, wide-int.h, and inchash.h due to
9243 flattening of tree.h.
9244 * cilk.c: Ditto.
9245 * c-lex.c: Ditto.
9246 * c-omp.c: Ditto.
9247 * c-opts.c: Ditto.
9248 * c-pch.c: Ditto.
9249 * c-ppoutput.c: Ditto.
9250 * c-pragma.c: Ditto.
9251 * c-pretty-print.c: Ditto.
9252 * c-semantics.c: Ditto.
9253 * c-ubsan.c: Ditto.
9254 * stub-objc.c: Ditto.
9255
f5481fc4
JM
92562015-01-08 Jason Merrill <jason@redhat.com>
9257
9258 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
9259 do_ubsan_in_current_function.
9260 (ubsan_maybe_instrument_reference_or_call): Likewise.
9261 * c-ubsan.h: Declare it.
9262
de35aa66
MS
92632015-01-08 Mike Stump <mikestump@comcast.net>
9264
9265 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
9266
4a9a42ab
MP
92672015-01-07 Marek Polacek <polacek@redhat.com>
9268
9269 PR c/64440
9270 * c-common.c (c_fully_fold_internal): Warn for division and modulo
9271 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
9272
2f42e5de
TS
92732015-01-05 Trevor Saunders <tsaunders@mozilla.com>
9274
9275 PR c++/31397
9276 * c.opt (Wsuggest-override): New option.
9277
5624e564
JJ
92782015-01-05 Jakub Jelinek <jakub@redhat.com>
9279
9280 Update copyright years.
9281
5bd012f8
MP
92822015-01-05 Marek Polacek <polacek@redhat.com>
9283
9284 PR c/64423
9285 * c-common.c (warn_array_subscript_with_type_char): Add location_t
9286 parameter. Use it.
9287 * c-common.h (warn_array_subscript_with_type_char): Update
9288 declaration.
9289
a7fa8d18
ESR
92902014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
9291
9292 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
9293 Control macro with flag_sized_deallocation.
9294
3f8257db 92952014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
9296
9297 * c.opt (Wdiscarded-array-qualifiers): New option.
9298
1f8d3e84
JJ
92992014-12-19 Jakub Jelinek <jakub@redhat.com>
9300
9301 PR preprocessor/63831
9302 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
9303 and __has_cpp_attribute here.
9304 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
9305 c_common_has_attribute.
9306 * c-common.h (c_common_has_attribute): New prototype.
9307 * c-lex.c (init_c_lex): Set cb->has_attribute to
9308 c_common_has_attribute instead of cb_has_attribute.
9309 (get_token_no_padding): New function.
9310 (cb_has_attribute): Renamed to ...
9311 (c_common_has_attribute): ... this. No longer static. Use
9312 get_token_no_padding, require ()s, don't build TREE_LIST
9313 unnecessarily, fix up formatting, adjust diagnostics, call
9314 init_attributes.
9315
20b06add
JM
93162014-12-15 Jason Merrill <jason@redhat.com>
9317
9318 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
9319 (-Wsized-deallocation): New.
9320 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
9321 to on in C++14 and up.
9322
94a073b2
JM
93232014-12-11 Jason Merrill <jason@redhat.com>
9324
acaa5911
JM
9325 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
9326
94a073b2
JM
9327 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
9328 we aren't complaining about VLAs.
9329
7fb66c15
MP
93302014-12-06 Marek Polacek <polacek@redhat.com>
9331
9332 PR tree-optimization/64183
9333 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
9334 shift-expression if it is integer_type_node. Use types_compatible_p.
9335
b731b390
JJ
93362014-11-29 Jakub Jelinek <jakub@redhat.com>
9337
9338 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
9339 last argument from create_tmp_var_raw and create_tmp_var calls.
9340 * cilk.c (gimplify_cilk_spawn): Likewise.
9341 * c-omp.c (c_finish_omp_atomic): Likewise.
9342
6a4da643
MP
93432014-11-28 Marek Polacek <polacek@redhat.com>
9344
9345 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
9346 instead of unsigned_type_node.
9347
541e35a6
MP
93482014-11-28 Marek Polacek <polacek@redhat.com>
9349
9350 PR c/63862
9351 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
9352 to op1_utype.
9353 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
9354 expression to unsigned_type_node.
9355
dcc97066
MW
93562014-11-20 Mark Wielaard <mjw@redhat.com>
9357
9358 PR debug/38757
9359 * c-opts.c (set_std_c89): Set lang_hooks.name.
9360 (set_std_c99): Likewise.
9361 (set_std_c11): Likewise.
9362 (set_std_cxx98): Likewise.
9363 (set_std_cxx11): Likewise.
9364 (set_std_cxx14): Likewise.
9365 (set_std_cxx1z): Likewise.
9366
aa7da51a
JJ
93672014-11-21 Jakub Jelinek <jakub@redhat.com>
9368
9369 PR target/63764
9370 * c-common.h (convert_vector_to_pointer_for_subscript): Change
9371 return type to bool.
009a3480 9372 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
9373 (convert_vector_to_pointer_for_subscript): Change return type to
9374 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
9375 and copy it into a TARGET_EXPR and use that instead of *vecp
9376 directly.
9377
538dd0b7
DM
93782014-11-19 David Malcolm <dmalcolm@redhat.com>
9379
9380 Merger of git branch "gimple-classes-v2-option-3".
9381 * ChangeLog.gimple-classes: New.
9382 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
9383 from being just a vec<gimple> to a vec<gbind *>.
9384
c39a5e99
JJ
93852014-11-18 Jakub Jelinek <jakub@redhat.com>
9386
9387 PR sanitizer/63813
9388 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
9389 argument to ptype, set type to TREE_TYPE (ptype). Don't call
9390 get_pointer_alignment for non-pointers. Use ptype, or if it is
9391 reference type, corresponding pointer type, as type of kind
9392 argument.
9393 (ubsan_maybe_instrument_reference,
9394 ubsan_maybe_instrument_member_call): Adjust callers.
9395
8537a4a9
MP
93962014-11-15 Marek Polacek <polacek@redhat.com>
9397
9398 PR middle-end/63884
9399 * array-notation-common.c (is_sec_implicit_index_fn): Return false
9400 for NULL fndecl.
9401 (extract_array_notation_exprs): Return for NULL node.
9402
2079956a
JM
94032014-11-12 Joseph Myers <joseph@codesourcery.com>
9404
9405 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
9406 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
9407
1304953e
JJ
94082014-11-12 Jakub Jelinek <jakub@redhat.com>
9409
9410 PR c/59708
9411 * c-common.c (check_builtin_function_arguments): Handle
9412 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
9413
e5e44252
AK
94142014-11-10 Andi Kleen <ak@linux.intel.com>
9415
9416 PR c/60804
9417 * c-common.h (check_no_cilk): Declare.
9418 * cilk.c (get_error_location): New function.
9419 (check_no_cilk): Dito.
9420
e64b984d
AK
94212014-11-10 Andi Kleen <ak@linux.intel.com>
9422
9423 * cilk.c (recognize_spawn): Use expression location
9424 for error message.
9425
13c21655
PC
94262014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
9427
9428 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
9429
42fd12b1
ESR
94302014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
9431
9432 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
9433 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9434 (__cpp_range_based_for, __cpp_initializer_lists,
9435 __cpp_delegating_constructors, __cpp_nsdmi,
9436 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
9437 for C++11; (__cpp_attribute_deprecated): Remove in favor of
9438 __has_cpp_attribute.
9439 * c-lex.c (cb_has_attribute): New callback CPP function;
9440 (init_c_lex): Set has_attribute callback.
9441
6f450181
RB
94422014-11-04 Richard Biener <rguenther@suse.de>
9443
9444 * c-common.c (shorten_compare): Do not shorten mixed
9445 DFP and non-DFP compares.
9446
26f0e1d6
ESR
94472014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9448
9449 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
9450 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
9451 Commentary and rearrangement of tests.
9452 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
9453 Commentary and rearrangement of tests.
ab20d992 9454 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
9455 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
9456
ef4bddc2
RS
94572014-10-29 Richard Sandiford <richard.sandiford@arm.com>
9458
9459 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
9460 enum from machine_mode.
9461
c582198b
AM
94622014-10-28 Andrew MacLeod <amacleod@redhat.com>
9463
adfac8df
JJ
9464 * c-common.c: Adjust include files.
9465 * c-gimplify.c: Ditto.
9466 * cilk.c: Ditto.
9467 * c-pragma.c: Ditto.
9468 * c-ubsan.c: Ditto.
c582198b 9469
60393bbc
AM
94702014-10-27 Andrew MacLeod <amacleod@redhat.com>
9471
9472 * c-gimplify.c: Adjust include files.
9473
d723bb7c
MLI
94742014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
9475
9476 PR c++/53061
9477 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
9478 c_common_initialize_diagnostics.
9479 * c-common.h: Likewise.
9480
90f3520e
MP
94812014-10-24 Marek Polacek <polacek@redhat.com>
9482
9483 PR c/56980
9484 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
9485 print "struct"/"union"/"enum" for typedefed names.
9486
59d7607a
MP
94872014-10-23 Marek Polacek <polacek@redhat.com>
9488
9489 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
9490 in unsigned type.
9491
d95a2703
JJ
94922014-10-22 Jakub Jelinek <jakub@redhat.com>
9493 Yury Gribov <y.gribov@samsung.com>
9494
9495 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9496 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
9497 instead of flag_sanitize_recover as bool flag.
9498
8e6ef852
KY
94992014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
9500
9501 * cilk.c: Revert previous change.
9502
948cf550
IZ
95032014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
9504
9505 PR c/63307
9506 * cilk.c: Include vec.h.
9507 (struct cilk_decls): New structure.
9508 (wrapper_parm_cb): Split this function to...
9509 (fill_decls_vec): ...this...
9510 (create_parm_list): ...and this.
9511 (compare_decls): New function.
9512 (for_local_cb): Remove.
9513 (wrapper_local_cb): Ditto.
9514 (build_wrapper_type): For now first traverse and fill vector of
9515 declarations then sort it and then deal with sorted vector.
9516 (cilk_outline): Ditto.
9517 (declare_one_free_variable): Ditto.
9518
92574c7c
MP
95192014-10-17 Marek Polacek <polacek@redhat.com>
9520
9521 * c-opts.c (c_common_post_options): Set warn_implicit_int.
9522 * c.opt (Wimplicit-int): Initialize to -1.
9523
83685514
AM
95242014-10-16 Andrew MacLeod <amacleod@redhat.com>
9525
9526 * c-pragma.c: Adjust include files.
9527 * c-semantics.c: Likewise.
9528
5b8300ea
DD
95292014-10-16 DJ Delorie <dj@redhat.com>
9530
9531 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
9532 multiples of bytes.
9533
5f83e90b
JM
95342014-10-14 Jason Merrill <jason@redhat.com>
9535
9536 PR c++/63455
9537 * c-common.h (CPP_PREPARSED_EXPR): New.
9538 (N_CP_TTYPES): Adjust.
9539
d73326ca
MP
95402014-10-15 Marek Polacek <polacek@redhat.com>
9541
9542 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
9543
78a7c317
DD
95442014-10-14 DJ Delorie <dj@redhat.com>
9545
9546 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
9547 types, not just __int128.
9548 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
9549 types, not just __int128.
9550 (cpp_atomic_builtins): Round pointer sizes up.
9551 (type_suffix): Use type precision, not specific types.
9552 * c-common.c (c_common_reswords): Remove __int128 special case.
9553 (c_common_type_for_size): Check for all __intN types, not just
9554 __int128.
9555 (c_common_type_for_mode): Likewise.
9556 (c_common_signed_or_unsigned_type): Likewise.
9557 (c_build_bitfield_integer_type): Likewise.
9558 (c_common_nodes_and_builtins): Likewise.
9559 (keyword_begins_type_specifier): Likewise.
9560 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
9561 __intN variants.
9562
2a22f99c
TS
95632014-10-12 Trevor Saunders <tsaunders@mozilla.com>
9564
9565 * c-common.c: Use hash_table instead of hashtab.
9566
2a8ef767
ESR
95672014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
9568
adfac8df 9569 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
9570 C++11 section.
9571
3c9aabbd
MG
95722014-10-03 Marc Glisse <marc.glisse@inria.fr>
9573
9574 PR c++/54427
9575 PR c++/57198
9576 PR c++/58845
9577 * c-common.c (warn_logical_operator): Punt for vectors.
9578
a15f7cb8
ESR
95792014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9580
9581 Implement SD-6: SG10 Feature Test Recommendations
9582 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
9583 macros and the __has_header macro.
9584
8d0cf15e
JM
95852014-09-30 Jason Merrill <jason@redhat.com>
9586
dd5d5481
JM
9587 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
9588 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
9589 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9590
b752325e
JM
9591 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
9592 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9593
8d0cf15e
JM
9594 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
9595 * c-common.c (c_common_reswords): Remove __is_convertible_to.
9596
083e891e
MP
95972014-09-24 Marek Polacek <polacek@redhat.com>
9598
9599 PR c/61405
9600 PR c/53874
9601 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
9602
7861b648
AK
96032014-09-23 Andi Kleen <ak@linux.intel.com>
9604
9605 * c-common.c (handle_no_reorder_attribute): New function.
9606 (c_common_attribute_table): Add no_reorder attribute.
9607
9a79452d
JM
96082014-09-22 Joseph Myers <joseph@codesourcery.com>
9609
9610 * c-cppbuiltin.c (c_cpp_builtins): Define
9611 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9612 modes.
9613
dd69f047
JM
96142014-09-18 Joseph Myers <joseph@codesourcery.com>
9615
9616 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9617 for supported floating-point modes.
9618
737a4826
MLI
96192014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9620
9621 * c.opt (Wpsabi): Use LangEnabledBy.
9622 * c-opts.c (c_common_handle_option): Do not handle here.
9623
8cc4b7a2
JM
96242014-09-12 Joseph Myers <joseph@codesourcery.com>
9625
9626 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9627 macros for floating-point modes.
9628
179b5a55
MG
96292014-09-11 Marc Glisse <marc.glisse@inria.fr>
9630
9631 PR target/58757
9632 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9633 __*_DENORM_MIN__ without denormals.
9634
570a11fe
JJ
96352014-09-10 Jakub Jelinek <jakub@redhat.com>
9636
9637 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9638 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9639 ubsan_create_data callers.
9640 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9641 index is constant or BIT_AND_EXPR with constant mask and is
9642 small enough for the bound.
9643 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9644 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9645
b559c810
MLI
96462014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9647
9648 * c.opt: Add CppReason to various flags.
9649 (Wdate-time): Re-sort.
9650 * c-common.c: Include c-common.h earlier.
9651 (struct reason_option_codes_t): Delete.
9652 (c_option_controlling_cpp_error): Prefix global type and struct
9653 with cpp_.
9654
1ef33fd4
MLI
96552014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9656
9657 * c.opt (Wnormalized): New.
9658 (Wnormalized=): Use Enum and Reject Negative.
9659 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9660
66bb34c0
JM
96612014-09-08 Joseph Myers <joseph@codesourcery.com>
9662
9663 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9664 digits of floating-point modes if -fbuilding-libgcc.
9665
53d68b9f
JM
96662014-09-05 Joseph Myers <joseph@codesourcery.com>
9667
9668 * c-cppbuiltin.c (c_cpp_builtins): Also define
9669 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9670 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9671 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9672 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9673 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9674 __LIBGCC_STACK_GROWS_DOWNWARD__,
9675 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9676 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9677 __LIBGCC_DWARF_FRAME_REGISTERS__,
9678 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9679 __LIBGCC_STACK_POINTER_REGNUM__ and
9680 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9681 (builtin_define_with_value): Handle backslash-escaping in string
9682 macro values.
9683
f65586dc
RB
96842014-09-05 Richard Biener <rguenther@suse.de>
9685
9686 PR middle-end/63148
9687 * c-format.c (check_format_arg): Properly handle
9688 effectively signed POINTER_PLUS_EXPR offset.
9689
2b71f4a4
MLI
96902014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9691
9692 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9693 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9694 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9695 and Init.
9696 * c-opts.c (c_common_handle_option): Do not handle here.
9697 (sanitize_cpp_opts): Likewise.
9698 * c-common.c (struct reason_option_codes_t): Handle
9699 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9700
d2e4feca
MP
97012014-09-03 Marek Polacek <polacek@redhat.com>
9702
9703 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9704
9a771876
JJ
97052014-09-02 Jakub Jelinek <jakub@redhat.com>
9706 Balaji V. Iyer <balaji.v.iyer@intel.com>
9707 Igor Zamyatin <igor.zamyatin@intel.com>
9708
9709 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9710 * c-common.c (c_common_reswords): Added _Cilk_for.
9711 * c-common.h (enum rid): Added RID_CILK_FOR.
9712 (cilk_for_number_of_iterations): Add declaration.
9713 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9714 CILK_FOR.
9715 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9716 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9717
81b5d104
MLI
97182014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9719
9720 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9721 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9722 Wundef): Use CPP, Var and Init.
9723 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9724
b753b37b
MLI
97252014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9726
9727 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9728 * c-opts.c (c_common_handle_option): Do not handle here.
9729
028aee17
JM
97302014-08-25 Jason Merrill <jason@redhat.com>
9731
9732 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9733 -std=c++14 and -std=gnu++14, rather than the reverse.
9734 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9735 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9736 * c-common.h (cxx_dialect): Remove cxx1y.
9737
e4276ba5
ESR
97382014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9739
9740 * c-common.h (enum cxx_dialect): Add cxx14.
9741 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9742 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9743 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9744
a545cacd
JM
97452014-08-22 Jason Merrill <jason@redhat.com>
9746
9747 * c.opt (std=gnu++17): Fix alias.
9748
59ea0364
MP
97492014-08-22 Marek Polacek <polacek@redhat.com>
9750
9751 PR c++/62199
9752 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9753 check for vector types. Drop LHS argument.
9754 * c-common.h (warn_logical_not_parentheses): Adjust.
9755
596e808c
MLI
97562014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9757
9758 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9759 (Wmultichar): Likewise.
9760 (Wdate-time): Use C-family languages instead of Common. Use CPP
9761 and Var.
9762 * c-opts.c (c_common_handle_option): Do not handle the above
9763 options here.
9764 (sanitize_cpp_opts): Likewise.
9765
18767f65
MLI
97662014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9767
9768 PR fortran/44054
9769 * c-opts.c: Include tree-diagnostics.h.
9770 (c_diagnostic_finalizer): New.
9771 (c_common_initialize_diagnostics): Use it.
9772
b4413594
MLI
97732014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9774
9775 PR preprocessor/51303
9776 * c-common.c (struct reason_option_codes_t option_codes):
9777 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9778
43f9a13c
MLI
97792014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9780
9781 PR c/60975
9782 PR c/53063
9783 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9784 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9785 (c_common_post_options): Call init_global_opts_from_cpp.
9786 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9787
04159acf
MP
97882014-08-19 Marek Polacek <polacek@redhat.com>
9789
9790 PR c++/62153
9791 * c-common.c (maybe_warn_bool_compare): New function.
9792 * c-common.h (maybe_warn_bool_compare): Declare.
9793 * c.opt (Wbool-compare): New option.
9794
35aff4fb
MP
97952014-08-19 Marek Polacek <polacek@redhat.com>
9796
9797 * c.opt (Wc99-c11-compat): New option.
9798
177cce46
MP
97992014-08-19 Marek Polacek <polacek@redhat.com>
9800
9801 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9802 to warn_c90_c99_compat.
9803 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9804 to -1.
9805
6ae9194f
MLI
98062014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9807 Steven Bosscher <steven@gcc.gnu.org>
9808
9809 PR c/52952
9810 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9811 format_check_results.
9812 (check_function_format): Use true and add comment for boolean
9813 argument.
9814 (finish_dollar_format_checking): Use explicit location when warning.
9815 (check_format_info): Likewise.
9816 (check_format_arg): Set extra_arg_loc and format_string_loc.
9817 (check_format_info_main): Use explicit location when warning.
9818 (check_format_types): Pass explicit location.
9819 (format_type_warning): Likewise.
9820
8e54f6d3
MLI
98212014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9822
9823 PR fortran/44054
9824 * c-format.c: Handle Fortran flags.
9825
cd4e76fc
IZ
98262014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9827
9828 PR other/61962
9829 * array-notation-common.c (find_rank): Added handling for other
9830 types of references.
9831
f3bede71
MP
98322014-08-10 Marek Polacek <polacek@redhat.com>
9833
9834 PR c/51849
9835 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9836 * c.opt (Wc90-c99-compat): Add option.
9837
9f25a338
TS
98382014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9839
9840 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9841
62e4eb35
MP
98422014-08-03 Marek Polacek <polacek@redhat.com>
9843
ab20d992 9844 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9845 (c_add_case_label): Pass loc to check_case_value.
9846
b787e7a2
TS
98472014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9848
9849 * cilk.c: Use hash_map instead of pointer_map.
9850
6e2830c3
TS
98512014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9852
9853 * c-gimplify.c: Use hash_set instead of pointer_set.
9854
a7ee52fb
IZ
98552014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9856
9857 PR middle-end/61455
9858 * array-notation-common.c (extract_array_notation_exprs): Handling
9859 of DECL_EXPR added.
9860
944fa280
JJ
98612014-08-01 Jakub Jelinek <jakub@redhat.com>
9862
9863 * c-common.h (min_align_of_type): Removed prototype.
9864 * c-common.c (min_align_of_type): Removed.
9865 * c-ubsan.h (ubsan_maybe_instrument_reference,
9866 ubsan_maybe_instrument_member_call): New prototypes.
9867 * c-ubsan.c: Include stor-layout.h and builtins.h.
9868 (ubsan_maybe_instrument_reference_or_call,
9869 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9870 functions.
9871
b4dfdc11
MG
98722014-07-31 Marc Glisse <marc.glisse@inria.fr>
9873
9874 PR c++/60517
9875 * c.opt (-Wreturn-local-addr): Move to common.opt.
9876
a41844e5
JM
98772014-07-30 Jason Merrill <jason@redhat.com>
9878
9879 PR c++/61659
9880 PR c++/61687
9881 Revert:
9882 * c.opt (-fuse-all-virtuals): New.
9883
976d5a22
TT
98842014-07-30 Tom Tromey <tromey@redhat.com>
9885
9886 PR c/59855
9887 * c.opt (Wdesignated-init): New option.
9888 * c-common.c (c_common_attribute_table): Add "designated_init".
9889 (handle_designated_init): New function.
9890
cdc94aca
MP
98912014-07-24 Marek Polacek <polacek@redhat.com>
9892
9893 PR c/57653
9894 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9895
f41373b6
DS
98962014-07-16 Dodji Seketeli <dodji@redhat.com>
9897
9898 PR preprocessor/60723 - missing system-ness marks for macro tokens
9899 * c-ppoutput.c (struct print::prev_was_system_token): New data
9900 member.
9901 (init_pp_output): Initialize it.
9902 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9903 (do_line_change): Return a flag saying if a line marker was
9904 emitted or not.
9905 (scan_translation_unit): Detect if the system-ness of the token we
9906 are about to emit is different from the one of the previously
9907 emitted token. If so, emit a line marker. Avoid emitting useless
9908 adjacent line markers. Avoid emitting line markers for tokens
9909 originating from the expansion of built-in macros.
9910 (scan_translation_unit_directives_only): Adjust.
9911
4d661eaa
MP
99122014-07-15 Marek Polacek <polacek@redhat.com>
9913
9914 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9915 TYPE_MAX_VALUE is NULL.
9916
b108f48f
JJ
99172014-07-14 Jakub Jelinek <jakub@redhat.com>
9918
9919 PR middle-end/61294
9920 * c.opt (Wmemset-transposed-args): New warning.
9921
c0221884
JM
99222014-07-10 Jason Merrill <jason@redhat.com>
9923
9924 PR c++/61659
9925 PR c++/61687
9926 * c.opt (-fuse-all-virtuals): New.
9927
63dfbb95
RB
99282014-07-09 Richard Biener <rguenther@suse.de>
9929
9930 PR c-family/61741
9931 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9932 using unsigned arithmetic if overflow does not wrap instead of
9933 if overflow is undefined.
9934
773ec47f
MP
99352014-07-06 Marek Polacek <polacek@redhat.com>
9936
9937 PR c/6940
9938 * c.opt (Wsizeof-array-argument): New option.
9939
00a7ba58
JJ
99402014-07-03 Jakub Jelinek <jakub@redhat.com>
9941
b1726d6c 9942 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9943 comments->count <= 1, as comments->entries might be NULL.
9944
52ec0ea3
MP
99452014-07-01 Marek Polacek <polacek@redhat.com>
9946
9947 * c.opt (Wint-conversion): New option.
9948
d5c3d343
MP
99492014-07-01 Marek Polacek <polacek@redhat.com>
9950
9951 PR c/58286
9952 * c.opt (Wincompatible-pointer-types): New option.
9953
6e7ceb17
PC
99542014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9955
9956 PR c++/51400
9957 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9958 Do not discard TYPE_QUALS of type.
9959
da73100b
JM
99602014-06-26 Jason Merrill <jason@redhat.com>
9961
9962 * c-common.h (enum cxx_dialect): Add cxx1z.
9963 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9964 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9965
08eedf75
TJ
99662014-06-26 Teresa Johnson <tejohnson@google.com>
9967
9968 * c-common.h (get_dump_info): Declare.
9969 * c-gimplify.c (c_genericize): Use saved dump files.
9970 * c-opts.c (c_common_parse_file): Begin and end dumps
9971 once around parsing invocation.
9972 (get_dump_info): New function.
9973
7b56b2f8
MP
99742014-06-23 Marek Polacek <polacek@redhat.com>
9975 Andrew MacLeod <amacleod@redhat.com>
9976
9977 PR c/61553
9978 * c-common.c (get_atomic_generic_size): Don't segfault if the
9979 type doesn't have a size.
9980
0e37a2f3
MP
99812014-06-20 Marek Polacek <polacek@redhat.com>
9982
9983 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9984 (ubsan_walk_array_refs_r): New function.
9985 (c_genericize): Instrument array bounds.
9986 * c-ubsan.c: Include "internal-fn.h".
9987 (ubsan_instrument_division): Mark instrumented arrays as having
9988 side effects. Adjust ubsan_type_descriptor call.
9989 (ubsan_instrument_shift): Likewise.
9990 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9991 (ubsan_instrument_bounds): New function.
9992 (ubsan_array_ref_instrumented_p): New function.
9993 (ubsan_maybe_instrument_array_ref): New function.
9994 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9995 (ubsan_array_ref_instrumented_p): Declare.
9996 (ubsan_maybe_instrument_array_ref): Declare.
9997
99982014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9999
10000 PR lto/61123
10001 * c.opt (fshort-enums): Add to LTO.
10002 * c.opt (fshort-wchar): Likewise.
10003
5c3d09f7
MP
100042014-06-16 Marek Polacek <polacek@redhat.com>
10005
10006 PR c/60439
10007 * c.opt (Wswitch-bool): Add Var.
10008
9cf32741
JJ
100092014-06-12 Jakub Jelinek <jakub@redhat.com>
10010
10011 PR middle-end/61486
10012 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
10013 #pragma omp target teams or
10014 #pragma omp {,target }teams distribute simd.
10015
62984918
JM
100162014-06-12 Jason Merrill <jason@redhat.com>
10017
10018 * c.opt (Wabi=, fabi-compat-version): New.
10019 * c-opts.c (c_common_handle_option): Handle -Wabi=.
10020 (c_common_post_options): Handle flag_abi_compat_version default.
10021 Disallow -fabi-compat-version=1.
10022 * c-common.h (abi_version_crosses): New.
10023
f961457f
JH
100242014-06-11 Jan Hubicka <hubicka@ucw.cz>
10025
adfac8df 10026 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
10027 section names that are no longer trees.
10028
92d28cbb
JJ
100292014-06-10 Jakub Jelinek <jakub@redhat.com>
10030
10031 PR fortran/60928
10032 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
10033 (omp_pragmas): ... back here.
10034
742938c9
MP
100352014-06-05 Marek Polacek <polacek@redhat.com>
10036
10037 PR c/49706
10038 * c-common.c (warn_logical_not_parentheses): New function.
10039 * c-common.h (warn_logical_not_parentheses): Declare.
10040 * c.opt (Wlogical-not-parentheses): New option.
10041
9d548dfb
MP
100422014-06-04 Marek Polacek <polacek@redhat.com>
10043
10044 PR c/30020
10045 * c-common.c (check_case_bounds): Add location parameter.
10046 Use it.
10047 (c_add_case_label): Pass loc to check_case_bounds.
10048
fedfecef
MP
100492014-06-03 Marek Polacek <polacek@redhat.com>
10050
10051 PR c/60439
10052 * c.opt (Wswitch-bool): New option.
10053
f6a7cffc
TS
100542014-05-22 Thomas Schwinge <thomas@codesourcery.com>
10055
040d18b6
TS
10056 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
10057 Remove prototypes.
10058 (record_types_used_by_current_var_decl): Move prototype to where
10059 it belongs.
10060
f6a7cffc
TS
10061 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
10062 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
10063 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
10064
632f2871
RS
100652014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10066
10067 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
10068 * c-common.c (c_common_nodes_and_builtins): Don't initialize
10069 void_zero_node.
10070 * c-pretty-print.c (pp_c_void_constant): New function.
10071 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
10072 (c_pretty_printer::expression): Handle VOID_CST.
10073 * cilk.c (extract_free_variables): Likewise.
10074 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
10075 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
10076
766090c2
TS
100772014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10078
10079 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
10080 * c-pragma.c (push_alignment): Adjust.
10081 (handle_pragma_push_options): Likewise.
10082
661a0813
MP
100832014-05-09 Marek Polacek <polacek@redhat.com>
10084
10085 PR c/50459
10086 * c-common.c (check_user_alignment): Return -1 if alignment is error
10087 node.
10088 (handle_aligned_attribute): Don't call default_conversion on
10089 FUNCTION_DECLs.
10090 (handle_vector_size_attribute): Likewise.
10091 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
10092 (handle_sentinel_attribute): Call default_conversion and allow even
10093 integral types as an argument.
10094
2793eeab
MP
100952014-05-08 Marek Polacek <polacek@redhat.com>
10096
10097 PR c/61053
10098 * c-common.c (min_align_of_type): New function factored out from...
10099 (c_sizeof_or_alignof_type): ...here.
10100 * c-common.h (min_align_of_type): Declare.
10101
f827930a
MP
101022014-05-08 Marek Polacek <polacek@redhat.com>
10103
10104 PR c/61077
10105 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
10106 parameter type of main.
10107
ca49b74e
DD
101082014-05-07 DJ Delorie <dj@redhat.com>
10109
10110 * c-cppbuiltin.c (print_bits_of_hex): New.
10111 (builtin_define_type_minmax): Print values using hex so as not to
10112 require a pre-computed list of string values.
10113
1d60af08
KZ
101142014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
10115 Mike Stump <mikestump@comcast.net>
10116 Richard Sandiford <rdsandiford@googlemail.com>
10117
10118 * c-ada-spec.c: Include wide-int.h.
10119 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
10120 (dump_generic_ada_node): Use wide-int interfaces.
10121 * c-common.c: Include wide-int-print.h.
10122 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
10123 (pointer_int_sum): Use wide-int interfaces.
10124 (c_common_nodes_and_builtins): Use make_int_cst.
10125 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
10126 (handle_alloc_size_attribute): Use wide-int interfaces.
10127 (get_nonnull_operand): Likewise.
10128 * c-format.c (get_constant): Use tree_fits_uhwi_p.
10129 * c-lex.c: Include wide-int.h.
10130 (narrowest_unsigned_type): Take a widest_int rather than two
10131 HOST_WIDE_INTs.
10132 (narrowest_signed_type): Likewise.
10133 (interpret_integer): Update accordingly. Use wide-int interfaces.
10134 (lex_charconst): Use wide-int interfaces.
10135 * c-pretty-print.c: Include wide-int.h.
10136 (pp_c_integer_constant): Use wide-int interfaces.
10137 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
10138 INT_CST_LT_UNSIGNED.
10139
b15458be
RB
101402014-05-06 Richard Biener <rguenther@suse.de>
10141
10142 * c-opts.c (c_common_post_options): For -freestanding,
10143 -fno-hosted and -fno-builtin disable pattern recognition
10144 if not enabled explicitely.
10145
6577374e
MP
101462014-05-02 Marek Polacek <polacek@redhat.com>
10147
10148 * c.opt (Wsizeof-pointer-memaccess): Describe option.
10149
d00887e8
MP
101502014-05-01 Marek Polacek <polacek@redhat.com>
10151
10152 PR c/43245
10153 * c.opt (Wdiscarded-qualifiers): Add.
10154
f8ed5150
MP
101552014-04-30 Marek Polacek <polacek@redhat.com>
10156
10157 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
10158 INT_MIN / -1 sanitization only for integer types.
10159
45484dcf
MP
101602014-04-25 Marek Polacek <polacek@redhat.com>
10161
10162 PR c/18079
10163 * c-common.c (handle_noinline_attribute): Warn if the attribute
10164 conflicts with always_inline attribute.
10165 (handle_always_inline_attribute): Warn if the attribute conflicts
10166 with noinline attribute.
10167
38e514c0
MP
101682014-04-25 Marek Polacek <polacek@redhat.com>
10169
10170 PR c/60156
10171 * c-common.c (check_main_parameter_types): Warn about variadic main.
10172
44875f92
MS
101732014-04-24 Mike Stump <mikestump@comcast.net>
10174
10175 * c.opt (Wshadow-ivar): Default to on.
10176
dcaaa5a0
DP
101772014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
10178
10179 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
10180
c07d7c02
MP
101812014-04-23 Marek Polacek <polacek@redhat.com>
10182
10183 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
10184
1c33c9b7
JJ
101852014-04-22 Jakub Jelinek <jakub@redhat.com>
10186
10187 PR sanitizer/60275
10188 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
10189 if flag_sanitize_undefined_trap_on_error.
10190 (ubsan_instrument_division, ubsan_instrument_shift,
10191 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
10192 if !flag_sanitize_recover.
10193
793c625f
MG
101942014-04-22 Marc Glisse <marc.glisse@inria.fr>
10195
10196 PR libstdc++/43622
10197 * c-common.c (registered_builtin_types): Make non-static.
10198 * c-common.h (registered_builtin_types): Declare.
10199
b0f1bf36 102002014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 10201 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
10202
10203 PR c/60819
10204 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
10205 apply may-alias the scalar pointer type when applicable.
10206
3b07fa4a
IZ
102072014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
10208
10209 PR middle-end/60467
10210 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
10211 as possible argument for Cilk_spawn.
10212
cbbd2b1c
TB
102132014-04-11 Tobias Burnus <burnus@net-b.de>
10214
10215 PR c/60194
10216 * c.opt (Wformat-signedness): Add
10217 * c-format.c(check_format_types): Use it.
10218
6415bd5d
JM
102192014-04-11 Jason Merrill <jason@redhat.com>
10220
10221 PR c++/57926
10222 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
10223 default_conversion for an array argument.
10224
6525783a
MP
102252014-04-08 Marek Polacek <polacek@redhat.com>
10226
10227 PR sanitizer/60745
10228 * c-ubsan.c: Include asan.h.
10229 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
10230
880a467b
NS
102312014-04-03 Nathan Sidwell <nathan@codesourcery.com>
10232
10233 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
10234
7b59ff2d
MP
102352014-04-02 Marek Polacek <polacek@redhat.com>
10236
10237 * c-common.h (c_expand_expr): Remove declaration.
10238
8edbfaa6
JJ
102392014-03-28 Jakub Jelinek <jakub@redhat.com>
10240
10241 PR c++/60689
10242 * c-common.c (add_atomic_size_parameter): When creating new
10243 params vector, push the size argument first.
10244
07d72e1d
JJ
102452014-03-26 Jakub Jelinek <jakub@redhat.com>
10246
10247 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
10248 ubsan_instrument_vla, ubsan_instrument_return): Adjust
10249 ubsan_create_data callers.
10250
b35e0fa0
JJ
102512014-03-22 Jakub Jelinek <jakub@redhat.com>
10252
10253 PR debug/60603
10254 * c-opts.c (c_finish_options): Restore cb_file_change call to
10255 <built-in>.
10256
39a1ebb3
JJ
102572014-03-13 Jakub Jelinek <jakub@redhat.com>
10258
10259 PR middle-end/36282
10260 * c-pragma.c (apply_pragma_weak): Only look at
10261 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
10262 DECL_ASSEMBLER_NAME_SET_P (decl).
10263 (maybe_apply_pending_pragma_weaks): Exit early if
10264 vec_safe_is_empty (pending_weaks) rather than only when
10265 !pending_weaks.
10266 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
10267 set assembler name back to NULL afterwards.
10268
a07f6ed2
JM
102692014-03-11 Jason Merrill <jason@redhat.com>
10270
10271 * c.opt: Add -std=gnu++14.
10272
75b107f5
IB
102732014-03-11 Ian Bolton <ian.bolton@arm.com>
10274
10275 * c-opts.c (c_common_post_options): Don't override
10276 -ffp-contract=fast if unsafe-math-optimizations is on.
10277
f42c637e
PM
102782014-03-08 Paulo Matos <paulo@matos-sorge.com>
10279
22b15758 10280 * c.opt: Enable LTO FE for fshort-double.
f42c637e 10281
70e24808
JM
102822014-03-07 Jason Merrill <jason@redhat.com>
10283
10284 * c.opt: Add -std=c++14.
10285
3af9c5e9
MP
102862014-03-06 Marek Polacek <polacek@redhat.com>
10287
10288 PR c/60197
10289 * cilk.c (contains_cilk_spawn_stmt): New function.
10290 (contains_cilk_spawn_stmt_walker): Likewise.
10291 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
10292 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
10293
b3bdf019
JJ
102942014-03-03 Jakub Jelinek <jakub@redhat.com>
10295
10296 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
10297 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
10298 even when flag_preprocess_only.
10299
ca7e759d
JM
103002014-02-26 Jason Merrill <jason@redhat.com>
10301
10302 PR c++/59231
10303 PR c++/11586
10304 * c-common.c (shorten_compare): Don't check
10305 c_inhibit_evaluation_warnings.
10306
28e41874
JJ
103072014-02-19 Jakub Jelinek <jakub@redhat.com>
10308
cca615af
JJ
10309 PR c/37743
10310 * c-common.c (c_common_nodes_and_builtins): When initializing
10311 c_uint{16,32,64}_type_node, also set corresponding
10312 uint{16,32,64}_type_node to the same value.
10313
28e41874
JJ
10314 PR c++/60267
10315 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
10316 for PRAGMA_IVDEP if flag_preprocess_only.
10317
c2bf53a1
JJ
103182014-02-12 Jakub Jelinek <jakub@redhat.com>
10319
10320 PR c/60101
10321 * c-common.c (merge_tlist): If copy is true, call new_tlist,
10322 if false, add ADD itself, rather than vice versa.
10323 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
10324 copy. For SAVE_EXPR, only call merge_tlist once.
10325
8fcbce72
JJ
103262014-02-08 Jakub Jelinek <jakub@redhat.com>
10327
10328 PR middle-end/60092
10329 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
10330 and tree_to_uhwi.
10331 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
10332 functions.
10333 (c_common_attribute_table): Add alloc_align and assume_aligned
10334 attributes.
10335
0a756a3f
MP
103362014-02-06 Marek Polacek <polacek@redhat.com>
10337
10338 PR c/60087
10339 * c-common.c (warn_for_sign_compare): Call warning_at with location
10340 instead of warning.
10341
7ec4847a
MP
103422014-02-05 Marek Polacek <polacek@redhat.com>
10343
10344 PR c/53123
10345 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
10346 statement.
10347
66f20604
MP
103482014-02-04 Marek Polacek <polacek@redhat.com>
10349
10350 PR c/60036
10351 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
10352 SAVE_EXPR.
10353
5d77fb19
MG
103542014-02-03 Marc Glisse <marc.glisse@inria.fr>
10355
10356 PR c++/53017
10357 PR c++/59211
10358 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
10359 handle_vector_size_attribute, handle_nonnull_attribute): Call
10360 default_conversion on the attribute argument.
10361 (handle_nonnull_attribute): Increment the argument number.
10362
81e5eca8
MP
103632014-01-31 Marek Polacek <polacek@redhat.com>
10364
10365 PR c/59963
10366 * c-common.c (add_atomic_size_parameter): Pass vNULL to
10367 build_function_call_vec.
10368 (resolve_overloaded_builtin): Likewise.
10369 * c-common.h (build_function_call_vec): Adjust declaration.
10370
68fca595
MP
103712014-01-30 Marek Polacek <polacek@redhat.com>
10372
10373 PR c/59940
10374 * c-common.h (unsafe_conversion_p): Adjust declaration.
10375 (warnings_for_convert_and_check): Likewise.
10376 (convert_and_check): Likewise.
10377 * c-common.c (unsafe_conversion_p): Add location parameter. Call
10378 expansion_point_location_if_in_system_header on it.
10379 (warnings_for_convert_and_check): Add location parameter. Call
10380 expansion_point_location_if_in_system_header on it. Use it.
10381 (convert_and_check): Add location parameter. Use it.
10382 (conversion_warning): Likewise.
10383 (c_add_case_label): Adjust convert_and_check calls.
10384 (scalar_to_vector): Adjust unsafe_conversion_p calls.
10385
b72271b9
BI
103862014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
10387
10388 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
10389 flag_cilkplus.
10390 * c-pragma.c (init_pragma): Likewise.
10391 * c.opt: Likewise.
10392
393e8e8b
MP
103932014-01-23 Marek Polacek <polacek@redhat.com>
10394
10395 PR c/59846
10396 * c-common.c (shorten_compare): Add location_t parameter.
10397 * c-common.h (shorten_binary_op): Adjust declaration.
10398
f04dda30
MP
103992014-01-23 Marek Polacek <polacek@redhat.com>
10400
10401 PR c/58346
10402 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
10403 * c-common.h: Declare it.
10404
621955cb
EB
104052014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10406
10407 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
10408 * c-ada-spec.c (dump_ads): Likewise.
10409 (cpp_check): Likewise.
10410 (dump_ada_specs): Likewise.
10411
104122014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
10413
10414 PR c++/49718
10415 * c-common.c (handle_no_instrument_function_attribute): Allow
10416 no_instrument_function attribute in class member
10417 definition/declaration.
10418
241f845a
JJ
104192014-01-15 Jakub Jelinek <jakub@redhat.com>
10420
10421 PR c/58943
10422 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
10423 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
10424 being COMPOUND_EXPR.
10425 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
10426 operand a SAVE_EXPR and second MODIFY_EXPR.
10427
e83b8e2e
JJ
104282014-01-09 Jakub Jelinek <jakub@redhat.com>
10429
10430 PR target/58115
10431 * c-pch.c (c_common_write_pch): Call
10432 prepare_target_option_nodes_for_pch.
10433
23a5b65a
RS
104342014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10435
10436 Update copyright years
10437
f9030485
RS
104382014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10439
10440 * array-notation-common.c, c-cilkplus.c: Use the standard form for
10441 the copyright notice.
10442
f2aa696b
EB
104432013-12-28 Eric Botcazou <ebotcazou@adacore.com>
10444
10445 * c-ada-spec.c (print_constructor): New function.
10446 (print_destructor): Retrieve the origin of the destructor.
10447 (print_ada_declaration): Revamp handling of constructors/destructors.
10448
3f8257db 104492013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
10450 Bill Maddox <maddox@google.com>
10451 Jason Merrill <jason@redhat.com>
10452
10453 * c.opt: Add -fdeclone-ctor-dtor.
10454 * c-opts.c (c_common_post_options): Default to on iff -Os.
10455
41958c28
BI
104562013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
10457
10458 * c-common.c (c_common_attribute_table): Added "cilk simd function"
10459 attribute.
10460 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 10461 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
10462 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
10463 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
10464 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
10465 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
10466 PRAGMA_CILK_CLAUSE_UNIFORM.
10467
b1726d6c 10468
12893402
BI
104692013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
10470
10471 * cilk.c (cilk_outline): Made this function non-static.
10472 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
10473 (create_cilk_wrapper): Added a new parameter: a function pointer.
10474 (c_install_body_w_frame_cleanup): Remove
10475 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
10476 * c-common.h (cilk_outline): New prototype.
10477 (gimplify_cilk_spawn): Removed two parameters.
10478 (cilk_install_body_with_frame_cleanup): New prototype.
10479 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
10480 CILK_SPAWN_STMT case.
10481
085b42ed
BS
104822013-12-11 Bernd Schmidt <bernds@codesourcery.com>
10483
2ce064c3
BS
10484 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
10485
085b42ed
BS
10486 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
10487 (int_array_type_node): Remove.
10488 * c-common.c (c_common_nodes_and_builtins): Don't build it.
10489
9e36c9ed
MP
104902013-12-05 Marek Polacek <polacek@redhat.com>
10491
10492 PR c/52023
10493 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
10494 [ADJUST_FIELD_ALIGN].
10495
296674db
JM
104962013-12-04 Joseph Myers <joseph@codesourcery.com>
10497
10498 PR c/52023
10499 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
10500 and check field alignment if set.
10501 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
10502 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
10503
b1726d6c 105042013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
10505 Marek Polacek <polacek@redhat.com>
10506
10507 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
10508 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
10509
d7947e19
L
105102013-11-29 H.J. Lu <hongjiu.lu@intel.com>
10511
10512 PR c/59309
10513 * cilk.c (gimplify_cilk_spawn): Properly handle function without
10514 arguments.
10515
fad7652e
JJ
105162013-11-29 Jakub Jelinek <jakub@redhat.com>
10517
10518 PR c/59280
10519 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
10520 goto invalid. If it is error_mark_node, don't issue further
10521 diagnostics.
10522
8b5e1202
SO
105232013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
10524
10525 * c.opt (Wopenmp-simd): New.
10526
0a508bb6
JJ
105272013-11-22 Jakub Jelinek <jakub@redhat.com>
10528
10529 * c-ubsan.h (ubsan_instrument_return): New prototype.
10530 * c-ubsan.c (ubsan_instrument_return): New function.
10531
2fb9a547
AM
105322013-11-22 Andrew MacLeod <amacleod@redhat.com>
10533
10534 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
10535 * c-gimplify.c: Likewise.
10536 * cilk.c: Likewise.
2fb9a547 10537
8400e75e
DM
105382013-11-22 David Malcolm <dmalcolm@redhat.com>
10539
10540 * c-common.c (unsafe_conversion_p): Remove use of
10541 EXPR_LOC_OR_HERE macro.
10542 (conversion_warning): Likewise.
10543 (warnings_for_convert_and_check): Likewise.
10544 (warn_for_collisions_1): Likewise.
10545 (shorten_compare): Likewise, and remove use of in_system_header
10546 macro, using the location from the former.
10547 * c-lex.c (dump_one_header): Remove use of input_filename macro.
10548 (cb_def_pragma): Remove use of in_system_header macro.
10549 (lex_string): Likewise.
10550 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10551
eb1ce453
KZ
105522013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10553 Mike Stump <mikestump@comcast.net>
10554 Richard Sandiford <rdsandiford@googlemail.com>
10555
10556 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
10557 instead of TREE_INT_CST_LOW, in cases where there is a protecting
10558 tree_fits_shwi_p or tree_fits_uhwi_p.
10559 (dump_generic_ada_node): Likewise.
10560 * c-format.c (check_format_arg): Likewise.
10561 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10562
6b3b8c27
KZ
105632013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10564
10565 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
10566
49b0aa18
JC
105672013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
10568
10569 PR c/53001
10570 * c-common.c (unsafe_conversion_p): Make this function
10571 return an enumeration with more detail.
10572 (conversion_warning): Use the new return type of
10573 unsafe_conversion_p to separately warn either about conversions
10574 that lower floating point number precision or about the other
10575 kinds of conversions.
10576 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
10577 (unsafe_conversion_p): switching return type to
10578 conversion_safety enumeration.
49b0aa18
JC
10579 * c.opt: Adding new warning -Wfloat-conversion and
10580 enabling it with -Wconversion.
10581
b826515a
BS
105822013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
10583
8e745a17
JJ
10584 * c-opts.c: Include plugin.h.
10585 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 10586
b9a55b13
MP
105872013-11-19 Marek Polacek <polacek@redhat.com>
10588
10589 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
10590 call.
10591 (ubsan_instrument_shift): Likewise.
10592 (ubsan_instrument_vla): Likewise.
10593
7d362f6c
RS
105942013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10595
10596 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
10597 cast to unsigned type.
10598
386b1f1f
RS
105992013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10600
10601 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
10602 tree_low_cst.
10603 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10604 rather than tree_low_cst.
10605
ae7e9ddd
RS
106062013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10607
10608 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10609 tree_to_uhwi throughout.
10610
9439e9a1
RS
106112013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10612
10613 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10614 tree_low_cst (..., 0) with tree_to_shwi throughout.
10615
cc269bb6
RS
106162013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10617
10618 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10619 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10620
9541ffee
RS
106212013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10622
10623 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10624 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10625
c02065fc
AH
106262013-11-15 Aldy Hernandez <aldyh@redhat.com>
10627
10628 * c-cilkplus.c: New file.
10629 * c-common.c (readonly_error): Add location argument.
10630 * c-common.h (readonly_error): Same.
10631 (c_finish_cilk_clauses): Protoize.
10632 (c_check_cilk_loop): Same.
10633 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10634 Do not fail on error_mark_node.
10635 Abstract increment canonicalization to here...
10636 (c_omp_for_incr_canonicalize_ptr): New.
10637 c-pragma.c (init_pragma): Register "simd" pragma.
10638 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10639 (enum pragma_cilk_clause): New.
10640
9cc65f15
RS
106412013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10642
10643 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10644 wchar_type and host_integerp checks.
10645
18f429e2
AM
106462013-11-14 Andrew MacLeod <amacleod@redhat.com>
10647
10648 * c-common.c: Likewise.
10649 * c-gimplify.c: Likewise.
10650 * cilk.c: Likewise.
10651
d8a2d370
DN
106522013-11-14 Diego Novillo <dnovillo@google.com>
10653
10654 * c-common.c: Include fold-const.h.
10655 Include stor-layout.h.
10656 Include calls.h.
10657 Include stringpool.h.
10658 Include attribs.h.
10659 Include varasm.h.
10660 Include trans-mem.h.
10661 * c-cppbuiltin.c: Include stor-layout.h.
10662 Include stringpool.h.
10663 * c-format.c: Include stringpool.h.
10664 * c-lex.c: Include stringpool.h.
10665 Include stor-layout.h.
10666 * c-pragma.c: Include stringpool.h.
10667 Include attribs.h.
10668 Include varasm.h.
10669 Include gcc-symtab.h.
10670 * c-pretty-print.c: Include stor-layout.h.
10671 Include attribs.h.
10672 * cilk.c: Include stringpool.h.
10673 Include calls.h.
10674
38b7bc7f
JM
106752013-11-13 Joseph Myers <joseph@codesourcery.com>
10676
10677 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10678 * c-common.c (c_common_reswords): Add __auto_type.
10679 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10680
45b0be94
AM
106812013-11-12 Andrew MacLeod <amacleod@redhat.com>
10682
18f429e2
AM
10683 * c-common.c: Include gimplify.h.
10684 * c-gimplify.c: Likewise.
10685 * cilk.c: Likewise.
10686 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10687 * c-ubsan.c: Don't include gimple.h.
45b0be94 10688
582d9b50
JM
106892013-11-12 Joseph Myers <joseph@codesourcery.com>
10690
10691 * c-common.c (c_common_reswords): Add _Thread_local.
10692
6b28e197
JM
106932013-11-09 Joseph Myers <joseph@codesourcery.com>
10694
10695 * c-common.c (atomic_size_supported_p): New function.
10696 (resolve_overloaded_atomic_exchange)
10697 (resolve_overloaded_atomic_compare_exchange)
10698 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10699 Use it instead of comparing size with a local list of sizes.
10700
267bac10
JM
107012013-11-07 Andrew MacLeod <amacleod@redhat.com>
10702 Joseph Myers <joseph@codesourcery.com>
10703
10704 * c-common.h (enum rid): Add RID_ATOMIC.
10705 * c-common.c (c_common_reswords): Add _Atomic.
10706 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10707 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10708 * c-format.c (check_format_types): Check for extra _Atomic
10709 qualifiers in format argument.
10710 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10711 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10712
5157b91e
TB
107132013-11-06 Tobias Burnus <burnus@net-b.de>
10714
10715 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10716
6dbe0958
JM
107172013-11-06 Joseph Myers <joseph@codesourcery.com>
10718
10719 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10720 standards modes.
10721 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10722 to mean lack of IEEE 754 support.
10723
e8ff5196
TB
107242013-11-05 Tobias Burnus <burnus@net-b.de>
10725
10726 * c.opt (-Wdate-time): New option
10727 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10728
254a0760
JM
107292013-11-05 Joseph Myers <joseph@codesourcery.com>
10730
10731 * c-cppbuiltin.c (cpp_iec_559_value): Test
10732 flag_excess_precision_cmdline not flag_excess_precision.
10733
6d7f7e0a
TB
107342013-11-05 Tobias Burnus <burnus@net-b.de>
10735
10736 * c.opt (fopenmp-simd): New option.
10737 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10738 (omp_pragmas): ... this new struct.
10739 (c_pp_lookup_pragma): Also walk omp_pragmas.
10740 (init_pragma): Init pragmas for -fopenmp-simd.
10741
55a7f02f
MP
107422013-11-04 Marek Polacek <polacek@redhat.com>
10743
10744 PR c++/58979
10745 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10746
9193fb05
JM
107472013-11-04 Joseph Myers <joseph@codesourcery.com>
10748
10749 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10750 New functions.
10751 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10752
94159ecf
EB
107532013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10754
10755 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10756 (dump_ada_specs): Adjust prototype of second callback.
10757 * c-ada-spec.c (cpp_check): New global variable.
10758 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10759 (print_generic_ada_decl): Likewise.
10760 (has_static_fields): Change return type to bool and add guard.
10761 (has_nontrivial_methods): New predicate.
10762 (is_tagged_type): Change return type to bool.
10763 (separate_class_package): Call has_nontrivial_methods.
10764 (pp_ada_tree_identifier): Minor tweaks.
10765 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10766 (dump_ada_array_domains): Likewise.
10767 (dump_ada_array_type): Likewise.
10768 (dump_template_types): Remove cpp_check parameter and do not pass it to
10769 dump_generic_ada_node.
10770 (dump_ada_template): Likewise.
10771 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10772 recursively.
10773 (print_ada_methods): Change return type to integer. Remove cpp_check
10774 parameter and do not pass it down.
10775 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10776 dump_generic_ada_node.
10777 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10778 accessing methods.
10779 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10780 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10781 value of print_ada_methods.
10782 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10783 Set cpp_check to it before invoking dump_ada_nodes.
10784 (dump_ada_specs): Likewise.
10785
b906f4ca
MP
107862013-11-03 Marek Polacek <polacek@redhat.com>
10787
10788 * c-ubsan.c: Don't include hash-table.h.
10789 (ubsan_instrument_vla): New function.
10790 * c-ubsan.h: Declare it.
10791
5e20cdc9
DM
107922013-10-31 David Malcolm <dmalcolm@redhat.com>
10793
10794 Automated part of renaming of symtab_node_base to symtab_node.
10795
10796 Patch autogenerated by rename_symtab.py from
10797 https://github.com/davidmalcolm/gcc-refactoring-scripts
10798 revision 58bb219cc090b2f4516a9297d868c245495ee622
10799
10800 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10801 symtab_node_base to symtab_node.
10802
7057e645
ESR
108032013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10804
8e745a17 10805 Implement C++14 digit separators.
7057e645
ESR
10806 * c-lex.c (interpret_float): Remove digit separators from scratch string
10807 before building real literal.
10808
193ea7bc
JJ
108092013-10-30 Jakub Jelinek <jakub@redhat.com>
10810
10811 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10812
939b37da
BI
108132013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10814
10815 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10816 fields.
10817 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10818 enabled.
10819 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10820 (insert_cilk_frame): New prototype.
10821 (cilk_init_builtins): Likewise.
10822 (gimplify_cilk_spawn): Likewise.
10823 (c_cilk_install_body_w_frame_cleanup): Likewise.
10824 (cilk_detect_spawn_and_unwrap): Likewise.
10825 (cilk_set_spawn_marker): Likewise.
10826 (build_cilk_sync): Likewise.
10827 (build_cilk_spawn): Likewise.
10828 * cilk.c: New file.
10829
67348ccc
DM
108302013-10-29 David Malcolm <dmalcolm@redhat.com>
10831
10832 Patch autogenerated by refactor_symtab.py from
10833 https://github.com/davidmalcolm/gcc-refactoring-scripts
10834 revision 58bb219cc090b2f4516a9297d868c245495ee622
10835
10836 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10837 to a true class hierarchy.
10838 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10839
d570872d
RS
108402013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10841
10842 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10843
98906124
JL
108442013-10-26 Jeff Law <law@redhat.com>
10845
adfac8df
JJ
10846 * c-common.c (c_define_builtins): Remove mudflap support.
10847 * c.opt: Ignore and warn for mudflap options.
98906124 10848
d73749df 108492013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10850
10851 PR other/33426
10852 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10853 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10854
3f04b1bb
JM
108552013-10-23 Jason Merrill <jason@redhat.com>
10856
10857 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10858
acf0174b
JJ
108592013-10-11 Jakub Jelinek <jakub@redhat.com>
10860
acd15a28
JJ
10861 * c-common.h (omp_clause_mask::operator !=): New method.
10862 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10863 instead of if (mask & something) tests everywhere.
10864
acf0174b
JJ
10865 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10866 201307 instead of 201107.
10867 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10868 (c_common_attribute_table): Add "omp declare target" and
10869 "omp declare simd" attributes.
10870 (handle_omp_declare_target_attribute,
10871 handle_omp_declare_simd_attribute): New functions.
10872 * c-omp.c: Include c-pragma.h.
10873 (c_finish_omp_taskgroup): New function.
10874 (c_finish_omp_atomic): Add swapped argument, if true,
10875 build the operation first with rhs, lhs arguments and use NOP_EXPR
10876 build_modify_expr.
10877 (c_finish_omp_for): Add code argument, pass it down to make_code.
10878 (c_omp_split_clauses): New function.
10879 (c_split_parallel_clauses): Removed.
10880 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10881 c_omp_declare_simd_clauses_to_decls): New functions.
10882 * c-common.h (omp_clause_mask): New type.
10883 (OMP_CLAUSE_MASK_1): Define.
10884 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10885 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10886 omp_clause_mask::operator |, omp_clause_mask::operator &,
10887 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10888 omp_clause_mask::operator ==): New methods.
10889 (enum c_omp_clause_split): New.
10890 (c_finish_omp_taskgroup): New prototype.
10891 (c_finish_omp_atomic): Add swapped argument.
10892 (c_finish_omp_for): Add code argument.
10893 (c_omp_split_clauses): New prototype.
10894 (c_split_parallel_clauses): Removed.
10895 (c_omp_declare_simd_clauses_to_numbers,
10896 c_omp_declare_simd_clauses_to_decls): New prototypes.
10897 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10898 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10899 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10900 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10901 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10902 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10903 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10904 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10905 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10906 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10907 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10908 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10909 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10910 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10911 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10912 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10913 PRAGMA_OMP_CLAUSE_UNIFORM.
10914
826cacfe
MG
109152013-10-09 Marc Glisse <marc.glisse@inria.fr>
10916
10917 PR tree-optimization/20318
10918 * c-common.c (handle_returns_nonnull_attribute): New function.
10919 (c_common_attribute_table): Add returns_nonnull.
10920
2284b034
MG
109212013-10-03 Marc Glisse <marc.glisse@inria.fr>
10922
10923 PR c++/19476
10924 * c.opt (fcheck-new): Move to common.opt.
10925
b56e9788
MP
109262013-09-25 Marek Polacek <polacek@redhat.com>
10927 Jakub Jelinek <jakub@redhat.com>
10928
10929 PR sanitizer/58413
10930 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10931 an expression if we can prove it is correct.
10932 (ubsan_instrument_division): Likewise. Remove unnecessary
10933 check.
10934
ce6923c5
MP
109352013-09-18 Marek Polacek <polacek@redhat.com>
10936
10937 PR sanitizer/58411
10938 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10939 Declare it.
10940 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10941
fb5610fb
IS
109422013-09-14 Iain Sandoe <iain@codesourcery.com>
10943
10944 PR target/48094
10945 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10946 fobjc-gc, freplace-objc-classes): Accept for LTO.
10947
88b0e79e
JC
109482013-09-13 Jacek Caban <jacek@codeweavers.com>
10949
10950 * c-target.def: New hook
10951
c9b0866a
PC
109522013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10953
10954 PR c++/43452
10955 * c.opt (Wdelete-incomplete): Add.
10956
0af94e6f
JR
109572013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10958
10959 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10960 (vector_types_compatible_elements_p): New function.
10961 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10962 declaration.
10963 (vector_types_compatible_elements_p): Declare.
10964
7c26172c
GDR
109652013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10966
10967 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10968 a virtual member function.
10969 (pp_simple_type_specifier): Remove.
10970 (pp_c_type_specifier): Likewise.
10971 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10972 Rename from pp_c_type_specifier. Adjust.
10973 (c_pretty_printer::c_pretty_printer): Do not assign to
10974 simple_type_specifier.
10975
20059c8b
GDR
109762013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10977
10978 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10979 member function.
10980 (c_pretty_printer::storage_class_specifier): Likewise.
10981 (c_pretty_printer::initializer): Likewise.
10982 (pp_declaration): Remove.
10983 (pp_declaration_specifiers): Likewise.
10984 (pp_abstract_declarator): Likewise.
10985 (pp_declarator): Likewise.
10986 (pp_type_id): Likewise.
10987 (pp_statement): Likewise.
10988 (pp_constant): Likewise.
10989 (pp_id_expression): Likewise.
10990 (pp_primary_expression): Likewise.
10991 (pp_unary_expression): Likewise.
10992 (pp_multiplicative_expression): Likewise.
10993 (pp_conditional_expression): Likewise.
10994 (pp_assignment_expression): Likewise.
10995 (pp_expression): Likewise.
10996 (pp_c_type_id): Likewise.
10997 (pp_c_storage_class_specifier): Likewise.
10998 * c-pretty-print.c (pp_c_type_cast): Tidy.
10999 (pp_c_pointer): Likewise.
11000 (pp_c_type_specifier): Likewise.
11001 (pp_c_parameter_type_list): Likewise.
11002 (pp_c_function_definition): Likewise.
11003 (pp_c_init_declarator): Likewise.
11004 (pp_c_initializer_list): Likewise.
11005 (pp_c_constructor_elts): Likewise.
11006 (c_pretty_printer::direct_abstract_declarator): Likewise.
11007 (c_pretty_printer::declaration_specifiers): Likewise.
11008 (c_pretty_printer::primary_expression): Likewise.
11009 (c_pretty_printer::postfix_expression): Likewise.
11010 (c_pretty_printer::type_id): Rename from pp_c_type_id.
11011 (c_pretty_printer::storage_class_specifier): Rename from
11012 pp_c_storage_class_specifier.
11013 (c_pretty_printer::initializer): Rename from pp_c_initializer.
11014 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
11015 storage_class_specifier, initializer, offset_list, flags.
11016
de5a5fa1
MP
110172013-08-30 Marek Polacek <polacek@redhat.com>
11018
11019 * c-ubsan.c: New file.
11020 * c-ubsan.h: New file.
11021
8f0e4d72
GDR
110222013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
11023
11024 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
11025 member function.
11026 (c_pretty_printer::declaration_specifiers): Likewise.
11027 (c_pretty_printer::declarator): Likewise.
11028 (c_pretty_printer::abstract_declarator): Likewise.
11029 (c_pretty_printer::direct_abstract_declarator): Likewise.
11030 (c_pretty_printer::direct_declarator): Likewise.
11031 (c_pretty_printer::function_specifier): Likewise.
11032 (pp_declaration): Adjust.
11033 (pp_declaration_specifiers): Likewise.
11034 (pp_abstract_declarator): Likewise.
11035 (pp_direct_declarator): Likewise.
11036 (pp_function_specifier): Likewise.
11037 (pp_direct_abstract_declarator): Remove as unused.
11038 (pp_c_declaration): Remove.
11039 (pp_c_declaration_specifiers): Likewise.
11040 (pp_c_declarator): Likewise.
11041 (pp_c_direct_declarator): Likewise.
11042 (pp_c_function_specifier): Likewise.
11043 (pp_c_direct_abstract_declarator): Likewise.
11044 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
11045 from pp_c_abstract_declarator. Adjust.
ab20d992 11046 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
11047 pp_c_direct_abstract_declarator. Adjust.
11048 (c_pretty_printer::function_specifier): Rename from
11049 pp_c_function_specifier. Adjust.
11050 (c_pretty_printer::declaration_specifiers): Rename from
11051 pp_c_declaration_specifiers. Adjust.
11052 (c_pretty_printer::direct_declarator): Rename from
11053 pp_c_direct_declarator. Adjust.
11054 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
11055 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
11056 (c_pretty_printer::c_pretty_printer): Do not assign to
11057 declaration, declaration_specifiers, declarator,
11058 direct_declarator, direct_abstract_declarator, function_specifier.
11059
00d34d3a
GDR
110602013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
11061
11062 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
11063 virtual member function.
11064 (c_pretty_printer::multiplicative_expression): Likewise.
11065 (c_pretty_printer::conditional_expression): Likewise.
11066 (c_pretty_printer::assignment_expression): Likewise.
11067 (c_pretty_printer::expression): Likewise.
11068 (pp_unary_expression): Adjust.
11069 (pp_multiplicative_expression): Likewise.
11070 (pp_assignment_expression): Likewise.
11071 (pp_conditional_expression): Likewise.
11072 (pp_expression): Likewise.
11073 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
11074 from pp_c_unary_expression. Adjust.
11075 (c_pretty_printer::multiplicative_expression): Rename from
11076 pp_c_multiplicative_expression. Adjust.
11077 (c_pretty_printer::conditional_expression): Rename from
11078 pp_c_conditional_expression. Adjust.
11079 (c_pretty_printer::assignment_expression): Rename from
11080 pp_c_assignment_expression. Adjust.
11081 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
11082 (c_pretty_printer::c_pretty_printer): Do not assign to
11083 unary_expression, multiplicative_expression,
11084 conditional_expression, expression.
11085
fb22178f
GDR
110862013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11087
11088 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
11089 virtual member function.
11090 (pp_postfix_expression): Adjust.
11091 (pp_c_postfix_expression): Remove.
11092 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
11093 from pp_c_postfix_expression. Adjust.
11094 (c_pretty_printer::c_pretty_printer): Do not assign to
11095 postfix_expression.
11096
7ecc2600
GDR
110972013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11098
11099 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
11100 virtua member function.
11101 (pp_primary_expression): Adjust.
11102 (pp_c_primary_expression): Remove.
11103 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
11104 from pp_c_primary_expression. Adjust.
11105 (pp_c_initializer_list): Use pp_primary_expression.
11106 (c_pretty_printer::c_pretty_printer): Do not assign to
11107 primary_expression.
11108
0691175f
GDR
111092013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11110
11111 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
11112 * c-pretty-print.c (M_): Remove.
11113 (c_pretty_printer::translate_string): Define.
11114 (pp_c_type_specifier): Use it.
11115 (pp_c_primary_expression): Likewise.
11116 (pp_c_expression): Likewise.
11117
66dfe4c4
GDR
111182013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
11119
11120 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
11121 virtual function.
11122 (pp_c_id_expression): Remove.
11123 (pp_id_expression): Adjust.
11124 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
11125 pp_c_id_expression. Adjust.
11126 (pp_c_postfix_expression): Use pp_id_expression.
11127 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
11128
ca43e9d5
GDR
111292013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
11130
11131 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
11132 member function.
11133 (pp_constant): Adjust.
11134 (pp_c_constant): Remove.
11135 * c-pretty-print.c (c_pretty_printer::constant): Rename from
11136 pp_c_constant. Adjust.
11137 (pp_c_constant)
11138 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
11139 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
11140
da6ca2b5
GDR
111412013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11142
11143 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
11144 (c_pretty_printer::c_pretty_printer): Declare.
11145 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
11146 c_pretty_printer_init. Adjust.
11147 (print_c_tree): Do not call c_pretty_printer_init.
11148 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
11149
65a372f4
AC
111502013-08-09 Arnaud Charlet <charlet@adacore.com>
11151
11152 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
11153
fd9b0f32
PC
111542013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
11155
11156 PR c++/58080
11157 * c-common.c (pointer_int_sum): Add bool parameter.
11158 * c-common.h (pointer_int_sum): Adjust declaration.
11159
e0aec1e9
GDR
111602013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
11161
11162 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
11163 c_pretty_printer variable.
11164
b066401f
GDR
111652013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
11166
11167 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
11168 (pp_base): Remove.
11169 (pp_c_base): Likewise. Adjust users.
11170 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
11171 (pp_c_whitespace): Do not call pp_base.
11172 (pp_c_left_paren): Likewise.
11173 (pp_c_right_paren): Likewise.
11174 (pp_c_left_brace): Likewise.
11175 (pp_c_right_brace): Likewise.
11176 (pp_c_left_bracket): Likewise.
11177 (pp_c_right_bracket): Likewise.
11178 (pp_c_dot): Likewise.
11179 (pp_c_ampersand): Likewise.
11180 (pp_c_star): Likewise.
11181 (pp_c_arrow): Likewise.
11182 (pp_c_semicolon): Likewise.
11183 (pp_c_complement): Likewise.
11184 (pp_c_exclamation): Likewise.
11185 (pp_c_direct_declarator): Likewise.
11186 (pp_c_ws_string): Likewise.
11187 (pp_c_identifier): Likewise.
11188 (pp_c_statement): Likewise.
11189 (print_c_tree): Likewise.
11190
65e5a578
ESR
111912013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
11192
11193 PR c++/58072
11194 * c-common.c (c_parse_error): Catch user-defined literal tokens and
11195 provide useful error strings.
11196
137a1a27
GDR
111972013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11198
11199 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
11200 printer functions instead of pp_string or operators and punctuators.
11201 (dump_generic_ada_node): Likewise.
11202 * c-pretty-print.c (pp_c_type_specifier): Likewise.
11203 (pp_c_relational_expression): Likewise.
11204 (pp_c_logical_or_expression): Likewise.
11205
07838b13
GDR
112062013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11207
11208 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
11209 functions instead of pp_character.
11210 (pp_ada_tree_identifier): Likewise.
11211 (dump_ada_double_name): Likewise.
11212 (dump_ada_function_declaration): Likewise.
11213 (dump_ada_array_domains): Likewise.
11214 (dump_template_types): Likewise.
11215 (dump_generic_ada_node): Likewise.
11216 (print_ada_declaration): Likewise.
11217 (print_ada_struct_decl): Likewise.
11218 * c-pretty-print.c (pp_c_integer_constant): Likewise.
11219
433cc7b0
TT
112202013-07-23 Tom Tromey <tromey@redhat.com>
11221
11222 * c-common.h (enum rid) <RID_GENERIC>: New constant.
11223 * c-common.c (c_common_reswords): Add _Generic.
11224
688010ba
OB
112252013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
11226
11227 * c-common.c: Fix typos.
11228 * c-common.h: Likewise.
11229
2a99e5e6
LL
112302013-07-13 Lubos Lunak <l.lunak@suse.cz>
11231
11232 PR c++/55203
11233 * c-common.c (c_common_attribute_table): Add warn_unused.
11234 (handle_warn_unused_attribute): New.
11235
c26302d5
JJ
112362013-07-10 Jakub Jelinek <jakub@redhat.com>
11237
11238 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
11239 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
11240
dfeadaa0
PC
112412013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
11242
11243 PR c++/57869
11244 * c.opt: Add Wconditionally-supported.
11245
6a2fa4b2
GS
112462013-07-08 Graham Stott <graham.stott@btinternet.com>
11247
adfac8df 11248 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
11249 unused variables l_length and l_node.
11250
ecdbd01a 112512013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
11252
11253 PR c/57821
11254 * c-common.c (complete_array_type): Delay folding first index
11255 like other indices. When folding, check for index overflow.
11256
bedc293e
MG
112572013-06-27 Marc Glisse <marc.glisse@inria.fr>
11258
11259 PR c++/57509
11260 * c-common.h (c_build_vec_perm_expr): New complain argument.
11261 * c-common.c (c_build_vec_perm_expr): Likewise.
11262 Use save_expr also in C++.
11263
604b2bfc
GDR
112642013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11265
11266 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
11267 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11268 * c-opts.c (c_common_post_options): Likewise.
11269
dfeadaa0 112702013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
11271
11272 * array-notation-common.c (length_mismatch_in_expr): Changed the
11273 parameter type's from a dynamic array to a vec_tree. Also removed
11274 the size parameters.
11275 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
11276 the change above.
11277
2ce86d2e
BI
112782013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
11279
11280 * c-common.h (struct cilkplus_an_parts): New structure.
11281 (struct cilkplus_an_loop_parts): Likewise.
11282 (cilkplus_extract_an_triplets): New prototype.
11283 (fix_sec_implicit_args): Likewise.
11284 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
11285 (fix_sec_implicit_args): Likewise.
604b2bfc 11286
07a6825b
BI
112872013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
11288
11289 * array-notation-common.c (find_inv_trees): Removed an unwanted
11290 typecasting.
11291 * c-common.h (struct inv_list::additional_tcodes): Changed type from
11292 enum rid to enum tree_code.
11293
08346abd
JH
112942013-06-11 Jan Hubicka <jh@suse.cz>
11295
11296 * c-common.c (handle_alias_ifunc_attribute): Do not set
11297 DECL_EXTERNAL for weakref variables.
11298 * c-pragma.c (handle_pragma_weak): Make sure aliases
11299 are not declared as external.
11300
d60f1706
BI
113012013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
11302
11303 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
11304 function from c/c-array-notation.c.
11305 (is_cilkplus_reduce_builtin): Likewise.
11306 (find_rank): Likewise.
11307 (extract_array_notation_exprs): Likewise.
11308 (replace_array_notations): Likewise.
11309 (find_inv_trees): Likewise.
11310 (replace_inv_trees): Likewise.
11311 (contains_array_notation_expr): Likewise.
11312 (find_correct_array_notation_type): Likewise.
11313 * c-common.h (struct inv_list): Moved this struct from the file
11314 c/c-array-notation.c and added a new field called additional tcodes.
11315 (length_mismatch_in_expr_p): New prototype.
11316 (is_cilkplus_reduce_builtin): Likewise.
11317 (find_rank): Likewise.
11318 (extract_array_notation_exprs): Likewise.
11319 (replace_array_notation): Likewise.
11320 (find_inv_trees): Likewise.
11321 (replace_inv_trees): Likewise.
11322 (find_correct_array_notation_type): Likewise.
dfeadaa0 11323
36536d79
BI
113242013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
11325
11326 * c-common.c (c_define_builtins): When cilkplus is enabled, the
11327 function array_notation_init_builtins is called.
11328 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
11329 * c-common.def (ARRAY_NOTATION_REF): New tree.
11330 * c-common.h (build_array_notation_expr): New function declaration.
11331 (build_array_notation_ref): Likewise.
11332 (extract_sec_implicit_index_arg): New extern declaration.
11333 (is_sec_implicit_index_fn): Likewise.
11334 (ARRAY_NOTATION_CHECK): New define.
11335 (ARRAY_NOTATION_ARRAY): Likewise.
11336 (ARRAY_NOTATION_START): Likewise.
11337 (ARRAY_NOTATION_LENGTH): Likewise.
11338 (ARRAY_NOTATION_STRIDE): Likewise.
11339 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
11340 ARRAY_NOTATION_REF.
11341 (pp_c_expression): Likewise.
11342 * c.opt (flag_enable_cilkplus): New flag.
11343 * array-notation-common.c: New file.
11344
f7716d57
JJ
113452013-05-14 Jakub Jelinek <jakub@redhat.com>
11346
11347 PR c++/57274
11348 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
11349
a5e0cd1d
MG
113502013-05-10 Marc Glisse <marc.glisse@inria.fr>
11351
11352 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
11353 vectors.
11354
f6bc1c4a
HS
113552013-05-07 Han Shen <shenhan@google.com>
11356
11357 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
11358
3f12f6e9
SKS
113592013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11360
11361 * c-common.c (check_user_alignment): Emit error for negative values.
11362
61949153
PC
113632013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11364
11365 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
11366
e93e18e9
PC
113672013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11368
11369 * c-cppbuiltin.c (c_cpp_builtins): Do not define
11370 __GXX_EXPERIMENTAL_CXX1Y__.
11371
44d90fe1 113722013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 11373 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
11374
11375 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
11376 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
11377 to simply use OPT_Wpointer_arith.
11378 (c_sizeof_or_alignof_type): Likewise.
11379
13f39b2e
PC
113802013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11381
11382 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
11383
4b84d650
JJ
113842013-04-12 Jakub Jelinek <jakub@redhat.com>
11385
11386 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
11387 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
11388 specifiers.
11389
fb037b5d
SB
113902013-04-07 Steven Bosscher <steven@gcc.gnu.org>
11391
11392 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
11393
4e856798
PC
113942013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
11395
11396 * c-common.c (pointer_int_sum): Remove dead code.
11397
4b1baac8
RS
113982013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
11399
11400 PR middle-end/56524
11401 * c-common.c (handle_optimize_attribute): Don't call
11402 save_optabs_if_changed.
11403
0b50e654
JJ
114042013-03-05 Jakub Jelinek <jakub@redhat.com>
11405
11406 PR middle-end/56461
11407 * c-pch.c (pch_init): Free target_validity at the end.
11408
48c41403
JJ
114092013-03-04 Jakub Jelinek <jakub@redhat.com>
11410
11411 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
11412
e664c61c
KS
114132013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
11414 Jakub Jelinek <jakub@redhat.com>
11415
11416 PR sanitizer/56454
11417 * c-common.c (handle_no_sanitize_address_attribute): New function.
11418 (c_common_attribute_table): Add no_sanitize_address attribute.
11419 (handle_no_address_safety_analysis_attribute): Add
11420 no_sanitize_address attribute, not no_address_safety_analysis
11421 attribute.
11422
a475fd3d 114232013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
11424
11425 PR target/52555
11426 * c-common.c (handle_optimize_attribute): Call
11427 save_optabs_if_changed.
11428
f6007d99
JJ
114292013-02-18 Jakub Jelinek <jakub@redhat.com>
11430 Steven Bosscher <steven@gcc.gnu.org>
11431
11432 PR pch/54117
11433 * c-opts.c (c_common_post_options): If debug info is enabled
11434 and non-dwarf*, refuse to load PCH files and when writing PCH
11435 file warn.
11436
cf35e2b1
JJ
114372013-02-05 Jakub Jelinek <jakub@redhat.com>
11438
11439 PR middle-end/56167
11440 * c-common.c (handle_error_attribute): Fix condition.
11441
32887460
JJ
114422013-01-30 Jakub Jelinek <jakub@redhat.com>
11443
11444 PR c++/55742
11445 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
11446
5af057d8
JM
114472013-01-18 Jason Merrill <jason@redhat.com>
11448
11449 PR target/54908
11450 * c.opt (-fextern-tls-init): New.
11451 * c-opts.c (c_common_post_options): Handle it.
11452
cc83c823
JJ
114532013-01-09 Jakub Jelinek <jakub@redhat.com>
11454
11455 PR c/48418
11456 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
11457 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
11458 and is either negative or bigger or equal to type precision
11459 of the first operand.
11460
a859517f
MP
114612012-12-03 Marek Polacek <polacek@redhat.com>
11462
11463 PR c/55570
11464 * c-common.c (check_user_alignment): Swap order of tests,
11465 check TREE_CODE first.
11466
2d7aa578
ESR
114672012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
11468
11469 PR c++/52654
11470 * c-common.h (overflow_type): New enum.
11471 (build_userdef_literal): Add overflow_type argument.
11472 (tree_userdef_literal): Add overflow_type.
11473 (USERDEF_LITERAL_OVERFLOW): New access macro.
11474 * c-common.c (build_userdef_literal): Add overflow_type
11475 argument.
11476 * c-lex.c (c_lex_with_flags): Add overflow_type to
11477 build_userdef_literal calls.
11478 (interpret_integer, interpret_float): Add overflow_type argument.
11479
cc3c4f62
RB
114802012-11-28 Richard Biener <rguenther@suse.de>
11481
11482 PR c/35634
11483 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11484 here and use a type with proper overflow behavior for types that would
11485 need to be promoted for the arithmetic.
11486
77bc5132
JJ
114872012-11-23 Jakub Jelinek <jakub@redhat.com>
11488
11489 PR sanitizer/55435
11490 * c-common.c (handle_no_address_safety_analysis_attribute): New
11491 function.
11492 (c_common_attribute_table): Add no_address_safety_analysis.
11493
5dc99c46
SB
114942012-11-16 Simon Baldwin <simonb@google.com>
11495
11496 * c.opt: Add f[no-]canonical-system-headers.
11497 * c-opts.c (c_common_handle_option): Handle
11498 OPT_fcanonical_system_headers.
11499
a4a0016d
ESR
115002012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
11501
11502 PR c++/54413
11503 * c-opts.c (c_common_handle_option): Set new flags.
11504 * c.opt: Describe new flags.
11505
7dbb85a7
JM
115062012-11-09 Jason Merrill <jason@redhat.com>
11507
11508 * c.opt (Wabi-tag): New.
11509
ad7bac31
AK
115102012-11-09 Andi Kleen <ak@linux.intel.com>
11511
11512 PR 55139
11513 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 11514 MEMMODEL_MASK
ad7bac31 11515
7332899a
MLI
115162012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11517
11518 PR c/53063
11519 * c.opt (Wformat): Make it Alias Wformat=1.
11520 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
11521 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
11522 LangEnabledBy.
11523 (Wformat=): RejectNegative. Use LangEnabledBy.
11524 (Wnonnull): Use LangEnabledBy.
11525 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
11526 * c-format.c (set_Wformat): Delete.
11527 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
11528 (maybe_read_dollar_number): Likewise.
11529 (avoid_dollar_number): Likewise.
11530 (finish_dollar_format_checking): Likewise.
11531 (check_format_info): Likewise.
11532 (check_format_info_main): Likewise.
11533 (check_format_types): Likewise.
11534 (format_type_warning): Likewise.
11535 * c-common.c (int): Likewise.
11536 (check_function_sentinel): Likewise.
8e745a17 11537 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 11538
34a180a6
MLI
115392012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11540
11541 PR c/53063
11542 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
11543 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
11544 Use LangEnabledBy.
11545 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
11546 common.opt.
11547 (Wvariadic-macros): Init(1).
11548 * c-opts.c (c_common_handle_option): Do not handle them
11549 explicitly.
11550 (c_common_post_options): Likewise.
11551 (sanitize_cpp_opts): warn_unused_macros is now
11552 cpp_warn_unused_macros.
11553 (push_command_line_include): Likewise.
11554 * c-common.c (warn_unknown_pragmas): Do not define.
11555 * c-common.h (warn_unknown_pragmas): Do not declare.
11556
3f46d6a5
MLI
115572012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11558
11559 PR c/51294
11560 * c-common.c (conversion_warning): Handle conditional expressions.
11561
880661a4
JW
115622012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
11563
11564 PR c++/54930
11565 * c.opt (Wreturn_local_addr): Define new option.
11566
4514a96b
JM
115672012-10-25 Jason Merrill <jason@redhat.com>
11568
f14edc1a
JM
11569 * c.opt (Wvirtual-move-assign): New.
11570
4514a96b
JM
11571 * c.opt (Winherited-variadic-ctor): New.
11572
93100c6b
MG
115732012-10-25 Marc Glisse <marc.glisse@inria.fr>
11574
11575 PR c++/54427
11576 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
11577
1efcb8c6
JM
115782012-10-23 Joseph Myers <joseph@codesourcery.com>
11579
11580 * c-common.h (pch_cpp_save_state): Declare.
11581 * c-target.def (c_preinclude): New hook.
11582 * c-opts.c (done_preinclude): New.
11583 (push_command_line_include): Handle default preincluded header.
11584 (cb_file_change): Call pch_cpp_save_state when calling
11585 push_command_line_include.
11586 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
11587 (pch_cpp_save_state): New.
11588 (pch_init): Call pch_cpp_save_state conditionally, instead of
11589 calling cpp_save_state.
11590
4a0ae68e
MLI
115912012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
11592
11593 PR c/53063
11594 PR c/40989
11595 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
11596 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
11597 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
11598 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
11599 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
11600 * c-opts.c (c_common_handle_option): Remove explicit handling from
11601 here.
11602 (c_common_post_options): Likewise.
11603
67e4210b
EB
116042012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11605
11606 * c-ada-spec.c (LOCATION_COL): Delete.
11607 (compare_location): New function.
11608 (compare_node): Use it.
11609 (compare_comment): Likewise.
11610
65d4f2cd
MLI
116112012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11612
11613 PR c/53063
11614 PR c/40989
11615 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11616 * c-opts.c (c_common_handle_option): Do not set them here. Add
11617 comment.
11618 (c_common_post_options): Likewise.
11619
909881cb
EB
116202012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11621
11622 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11623 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11624 Remove POINTER_TYPE handling, add large unsigned handling and use
11625 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11626
3a785c97
JJ
116272012-10-12 Jakub Jelinek <jakub@redhat.com>
11628
11629 PR c/54381
11630 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11631 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11632 locs and array of 3 trees instead of just single loc and single
11633 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11634 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11635 For *cmp* builtins that take two sources strings report warnings
11636 about first and second source, not about destination and source.
11637
5e54f81d
MG
116382012-10-12 Marc Glisse <marc.glisse@inria.fr>
11639
11640 PR c++/53055
11641 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11642
f5b02f1e
EB
116432012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11644
11645 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11646 declaring something coming from another file.
11647
b46dbc6c
AC
116482012-10-10 Arnaud Charlet <charlet@adacore.com>
11649
f5b02f1e 11650 PR ada/54845
b46dbc6c
AC
11651 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11652
5d9de0d0
PC
116532012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11654
11655 PR c++/54194
11656 * c-common.c (warn_about_parentheses): Add location_t parameter;
11657 use EXPR_LOC_OR_LOC.
11658 * c-common.h: Update declaration.
11659
a212e43f
MG
116602012-10-09 Marc Glisse <marc.glisse@inria.fr>
11661
11662 PR c++/54427
11663 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11664 more operations. Make error messages optional.
11665 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11666 (scalar_to_vector): Declare.
11667
b1db7f91
JM
116682012-10-08 Jason Merrill <jason@redhat.com>
11669
11670 * c-common.c (c_common_reswords): Add thread_local.
11671
e28d52cf
DS
116722012-10-08 Dodji Seketeli <dodji@redhat.com>
11673
11674 PR c++/53528 C++11 attribute support
11675 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11676 new functions.
11677 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11678 static function.
11679 (handle_aligned_attribute): In choose strictest alignment
11680 among many. Use new check_cxx_fundamental_alignment_constraints.
11681 (handle_transparent_union_attribute): In c++11 attribute syntax,
11682 don't look through typedefs.
11683
3b78de56
AC
116842012-10-04 Arnaud Charlet <charlet@adacore.com>
11685
11686 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11687 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11688 out of dumpfile.h.
11689
6040bb5f
DC
116902012-09-25 Dehao Chen <dehao@google.com>
11691
11692 PR middle-end/54645
3b78de56 11693 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11694 map when read in the pch.
11695
3f8257db 116962012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11697
11698 * c-ada-spec.c: Style fixes.
11699
3f8257db 117002012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11701
11702 * c.opt (-fada-spec-parent): Define new command line switch.
11703 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11704 is specified, generate binding spec as a child of the specified unit.
11705
0ccb505d
PC
117062012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11707 Manuel López-Ibáñez <manu@gcc.gnu.org>
11708
11709 PR c++/53210
11710 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11711
c583af79
AC
117122012-08-23 Arnaud Charlet <charlet@adacore.com>
11713
11714 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11715 for pointers, and add missing Convention C pragma.
11716 (print_ada_struct_decl): Add missing aliased keyword.
11717 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11718
1a4049e7
JJ
117192012-08-17 Jakub Jelinek <jakub@redhat.com>
11720
11721 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11722 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11723 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11724 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11725 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11726
70b5e7dc
RG
117272012-08-10 Richard Guenther <rguenther@suse.de>
11728
11729 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11730
f8923f7e
SB
117312012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11732
11733 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11734 instead of separate pp_newline and pp_flush.
11735 (print_c_tree): Likewise.
11736
e45abe1f
RH
117372012-07-26 Richard Henderson <rth@redhat.com>
11738
11739 * c-common.c (handle_hot_attribute): Allow labels.
11740 (handle_cold_attribute): Likewise.
11741
332f1d24
JJ
117422012-07-20 Jakub Jelinek <jakub@redhat.com>
11743
11744 PR c++/28656
11745 * c-common.c (check_function_nonnull): Handle multiple nonnull
11746 attributes properly.
11747
7ee2468b
SB
117482012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11749
11750 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11751 * c-ada-spec.c: Likewise.
11752 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11753
ee7b28eb
SB
117542012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11755
11756 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11757 Remove code conditional on it.
11758
6bdf3519
SB
117592012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11760
11761 * c-gimplify.c: Do not include basic-block.h.
11762 * c-common.c: Do not include linfuncs.h.
11763
532aafad
SB
117642012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11765
11766 * c-common.h: Include tree.h.
11767
8d0d1915
JM
117682012-07-02 Jason Merrill <jason@redhat.com>
11769
11770 PR c++/53524
11771 * c-common.c (get_priority): Call default_conversion.
11772
fbc873ad
UB
117732012-07-01 Uros Bizjak <ubizjak@gmail.com>
11774
11775 * c-pch.c (c_common_write_pch): Remove unused variables.
11776
d4a10d0a
SB
117772012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11778
11779 * cppspec.c: Moved from gcc/ to here.
11780
6f3a2e23
KT
117812012-06-27 Kai Tietz <ktietz@redhat.com>
11782
11783 PR preprocessor/37215
11784 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11785
8ca92d04
SB
117862012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11787
11788 * c-common.h (c_common_print_pch_checksum): Remove.
11789 * c-pch.c: Do not include output.h.
11790 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11791 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11792 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11793 (struct c_pch_header): Remove.
11794 (get_ident): Update gpch version.
11795 (pch_init): Do not print executable_checksum to asm_out_file.
11796 Do not fail if there is no asm_out_file to read back from. Set
11797 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11798 (c_common_write_pch): Verify that nothing was written to asm_out_file
11799 since pch_init was called. Do not write a c_pch_header, and do not
11800 copy from asm_out_file to the PCH.
11801 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11802 the content of asm_out_file from the PCH.
11803 (c_common_print_pch_checksum): Remove.
11804 * c-opts.c (c_common_init): Print out executable_checksum directly.
11805
70f42967
SB
118062012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11807
11808 * c-target.def (objc_declare_unresolved_class_reference,
11809 objc_declare_class_definition): Add new hooks.
11810
a8781821
SB
118112012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11812
11813 * c-lex.c: Do not include output.h.
11814 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11815 Remove uses of ASM_OUTPUT_IDENT.
11816
9e1a8dd1
RR
118172012-06-15 Marc Glisse <marc.glisse@inria.fr>
11818
11819 PR c++/51033
11820 * c-common.h (c_build_vec_perm_expr): Move decl here.
11821 * c-common.c (c_build_vec_perm_expr): Move definition
11822 here.
11823
6f07a821
SB
118242012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11825
11826 * c.opt (fconserve-space): Turn into a no-op.
11827
9faeb493 118282012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11829
11830 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11831 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11832 both the start and end of the function.
11833
a4b7d13c
SB
118342012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11835
11836 * c-common.c: Do not include output.h.
11837 * c-pragma.c: Likewise.
11838
c265f413
SA
118392012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11840
11841 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11842 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11843 (lang_decl_name): Handle namespace decls.
11844
be7a421e
SB
118452012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11846
11847 * c-ada-spec.c: Do not include output.h.
11848 * c-semantics.c: Likewise.
11849
65de6659
JM
118502012-05-29 Joseph Myers <joseph@codesourcery.com>
11851
11852 * c-common.c: Fix typo.
11853
ca5f4331
MM
118542012-05-29 Michael Matz <matz@suse.de>
11855
11856 * c-common.h (c_expand_decl): Remove prototype.
11857
4f7f7aca
MLI
118582012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11859
11860 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11861 * c-opts.c (c_common_handle_option): Remove code handling
11862 warn_missing_braces.
11863
4a792f9b
PC
118642012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11865
11866 PR c++/25137
11867 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11868 -Wmissing_braces.
11869
650dc14a
DS
118702012-05-22 Dodji Seketeli <dodji@redhat.com>
11871
11872 PR c++/53322
11873 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11874
9b095bf1
MLI
118752012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11876
11877 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11878 * c-opts.c (c_common_handle_option): Do not handle explicitly
11879 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11880
0b2c4be5
DS
118812012-05-16 Dodji Seketeli <dodji@redhat.com>
11882
11883 PR preprocessor/7263
ab20d992 11884 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11885 to cpp_classify_number. For diagnostics, use the precise location
11886 instead of the global input_location.
11887
a1bde5af
PC
118882012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11889
d02924ef 11890 PR c++/11856
a1bde5af
PC
11891 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11892
d1ede5f4
BS
118932012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11894
a1bde5af 11895 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11896
f2bc201f
MLI
118972012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11898
11899 PR 53063
11900 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11901 Wreorder): Use LangEnabledBy.
11902 * c-opts.c (c_common_handle_option): Do not enable them
11903 explicitly. Call lang-specific generated functions.
11904 (c_common_post_options): Do not set them here.
11905
95744782
MLI
119062012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11907
11908 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11909 Wmissing-field-initializers,Wmissing-parameter-type,
11910 Wold-style-declaration,Woverride-init): Use EnabledBy.
11911 * c-opts.c (c_common_post_options): Do not set here explicitly.
11912
7d5a5747
MLI
119132012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11914
11915 PR 53063
11916 * c-opts.c (c_common_handle_option): Use handle_generated_option
11917 to enable sub-options.
11918
5a3c9cf2
PC
119192012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11920
11921 PR c++/53158
11922 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11923
3ac8781c
RG
119242012-05-10 Richard Guenther <rguenther@suse.de>
11925
11926 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11927 adjust commentary about TYPE_IS_SIZETYPE types.
11928
1e537948
MLI
119292012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11930
11931 PR c++/53261
11932 * c-common.c (warn_logical_operator): Check that argument of
11933 integer_zerop is not NULL.
11934
f2c4a785
MLI
119352012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11936
11937 PR c/43772
11938 * c-common.c (warn_logical_operator): Do not warn if either side
11939 is already true or false.
11940
50f305ca
MLI
119412012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11942
11943 PR c/51712
11944 * c-common.c (expr_original_type): New.
11945 (shorten_compare): Do not warn for enumeration types.
11946
0c3641b0
MLI
119472012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11948
11949 * c.opt (fpermissive): Add Var(flag_permissive).
11950
7edaa4d2
MG
119512012-04-30 Marc Glisse <marc.glisse@inria.fr>
11952
11953 PR c++/51033
11954 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11955 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11956
b9c8da34
DS
119572012-04-30 Dodji Seketeli <dodji@redhat.com>
11958
11959 Add -Wvarargs option
ab20d992 11960 * c.opt (Wvarargs): Define new option.
b9c8da34 11961
e6c69da0
MLI
119622012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11963
11964 * c-common.c (check_function_arguments): Replace
11965 Wmissing-format-attribute with Wsuggest-attribute=format.
11966
90137d8f
MLI
119672012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11968
11969 * c.opt (Wsuggest-attribute=format): New. Alias of
11970 Wmissing-format-attribute.
11971 * c-format.c (decode_format_type): Replace
11972 Wmissing-format-attribute with Wsuggest-attribute=format.
11973 (check_function_format): Likewise.
11974
9faeb493 119752012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11976
11977 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11978 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11979 * c.opt: Add Wliteral-suffix.
11980
c1771a20
MLI
119812012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11982
11983 PR c/44774
11984 * c.opt (Wpedantic): New.
11985 (pedantic): Alias Wpedantic.
11986 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11987 (c_common_post_options): Likewise.
11988 (sanitize_cpp_opts): Likewise.
11989 * c-lex.c (interpret_float): Likewise.
11990 * c-format.c (check_format_types): Likewise.
11991 * c-common.c (pointer_int_sum): Likewise.
11992 (c_sizeof_or_alignof_type): Likewise.
11993 (c_add_case_label): Likewise.
11994 (c_do_switch_warnings): Likewise.
11995 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11996
04b391c1
JM
119972012-04-15 Jason Merrill <jason@redhat.com>
11998
11999 PR c++/52818
12000 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
12001 (C_STD_NAME): Distinguish between C++98 and C++11.
12002
ac868f29
EB
120032012-04-11 Eric Botcazou <ebotcazou@adacore.com>
12004
12005 PR target/52624
12006 * c-common.h (uint16_type_node): Rename into...
12007 (c_uint16_type_node): ...this.
12008 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
12009 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
12010
fd4116f4
MLI
120112012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
12012
12013 * c-common.c (warn_if_unused_value): Move definition to here.
12014 * c-common.h (warn_if_unused_value): Move declaration to here.
12015
573ac65e
WB
120162012-03-23 William Bader <williambader@hotmail.com>
12017
12018 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
12019
552b8185
JM
120202012-03-20 Jason Merrill <jason@redhat.com>
12021
12022 * c-common.h (enum cxx_dialect): Add cxx1y.
12023 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
12024 test.
12025 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
12026 * c-opts.c (c_common_post_options): Likewise.
12027 (set_std_cxx1y): New.
12028 (c_common_handle_option): Call it.
12029 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
12030
04398fa8
PC
120312012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
12032
12033 PR c++/14710
12034 * c.opt ([Wuseless-cast]): Add.
12035
d2a12ae7
RG
120362012-03-16 Richard Guenther <rguenther@suse.de>
12037
12038 * c-pretty-print.c (pp_c_initializer_list): Adjust.
12039
a12bf402
MLI
120402012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
12041
12042 PR c++/44783
12043 * c.opt (ftemplate-backtrace-limit) Add.
12044
5c30094f
RO
120452012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12046
12047 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
12048 handling.
12049 * c-pragma.c (handle_pragma_extern_prefix): Remove.
12050 (init_pragma): Don't register extern_prefix.
12051
21fa2faf
RG
120522012-03-12 Richard Guenther <rguenther@suse.de>
12053
12054 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
12055 (builtin_type_for_size): Likewise.
12056
e3793c6f
JJ
120572012-02-13 Jakub Jelinek <jakub@redhat.com>
12058
12059 PR c++/52215
12060 * c-common.c (sync_resolve_params): Don't decide whether to convert
12061 or not based on TYPE_SIZE comparison, convert whenever arg_type
12062 is unsigned INTEGER_TYPE.
12063
93286335
PC
120642012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
12065
12066 PR c/52118
12067 * c.opt ([Wunused-local-typedefs]): Fix description.
12068
7a421706
MS
120692012-01-24 Mike Stump <mikestump@comcast.net>
12070
12071 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
12072 exactly.
12073
ba9b1f11
RG
120742012-01-18 Richard Guenther <rguenther@suse.de>
12075
12076 * c-opts.c (c_common_post_options): Reset LTO flags if
12077 we are about to generate a PCH.
12078
465406be
PC
120792012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
12080
12081 PR c++/51777
12082 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
12083 use pp_unsigned_wide_integer.
12084
aee15221
RG
120852012-01-10 Richard Guenther <rguenther@suse.de>
12086
12087 PR middle-end/51806
12088 * c-opts.c (c_common_handle_option): Move -Werror handling
12089 to language independent code.
12090
5720c0dc
RG
120912012-01-05 Richard Guenther <rguenther@suse.de>
12092
12093 PR middle-end/51764
12094 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
12095 from common.opt.
12096
73ac190a
PC
120972011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
12098
12099 PR c++/51316
12100 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
12101 of array types with an unknown bound.
12102
48b0b196
JM
121032011-12-20 Joseph Myers <joseph@codesourcery.com>
12104
12105 * c-common.c (flag_isoc99): Update comment to refer to C11.
12106 (flag_isoc1x): Change to flag_isoc11.
12107 * c-common.h (flag_isoc99): Update comment to refer to C11.
12108 (flag_isoc1x): Change to flag_isoc11.
12109 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
12110 C11.
12111 * c-opts.c (set_std_c1x): Change to set_std_c11.
12112 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
12113 Call set_std_c11.
12114 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
12115 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
12116 * c.opt (std=c1x): Change to std=c11. Document as non-draft
12117 standard.
12118 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
12119 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
12120 (std=gnu1x): Make alias of std=gnu11.
12121
d58d6eb5
JM
121222011-12-19 Jason Merrill <jason@redhat.com>
12123
12124 PR c++/51228
12125 * c-common.c (handle_transparent_union_attribute): Check the first
12126 field if the type is complete.
12127
b3908fcc
JW
121282011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
12129
12130 PR libstdc++/51365
12131 * c-common.c (RID_IS_FINAL): Add.
12132 * c-common.h (RID_IS_FINAL): Add.
12133
fea3ca91
IS
121342011-11-30 Iain Sandoe <iains@gcc.gnu.org>
12135
12136 * c.opt (fgnu-runtime): Provide full description.
12137 (fnext-runtime): Likewise.
12138 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
12139
62bad7cd
AM
121402011-11-28 Andrew MacLeod <amacleod@redhat.com>
12141
12142 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
12143 predefines in one place. Add LOCK_FREE predefines.
12144 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
12145 new func.
12146
c466c4ff
AM
121472011-11-24 Andrew MacLeod <amacleod@redhat.com>
12148
12149 PR c/51256
9faeb493 12150 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 12151 conditions
9faeb493
UB
12152 (resolve_overloaded_atomic_exchange,
12153 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
12154 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
12155 error_mark_node for error conditions.
9faeb493 12156
a5952633
RG
121572011-11-08 Richard Guenther <rguenther@suse.de>
12158
12159 PR middle-end/51010
ab20d992 12160 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 12161
0a35513e
AH
121622011-11-07 Richard Henderson <rth@redhat.com>
12163 Aldy Hernandez <aldyh@redhat.com>
12164 Torvald Riegel <triegel@redhat.com>
12165
12166 Merged from transactional-memory.
12167
12168 * c-common.c (handle_tm_wrap_attribute,
12169 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
12170 (struct c_common_reswords): Added __transaction* keywords.
12171 (struct c_common_attribute_table): Added transaction* and tm_regparm
12172 attributes.
12173 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
12174 masks.
12175 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
12176 find_tm_attribute): Declare.
12177
6d87092d
JM
121782011-11-07 Jason Merrill <jason@redhat.com>
12179
12180 PR c++/35688
12181 * c-common.c, c-common.h: Revert yesterday's changes.
12182
8e7860a1
JM
121832011-11-06 Jason Merrill <jason@redhat.com>
12184
12185 PR c++/35688
12186 * c-common.c (decl_has_visibility_attr): Split out from...
12187 (c_determine_visibility): ...here.
12188 * c-common.h: Declare it.
12189
d19fa6b5
JM
121902011-11-06 Joseph Myers <joseph@codesourcery.com>
12191
12192 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
12193 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
12194 type.
12195 (check_user_alignment): New. Split out of
12196 handle_aligned_attribute. Disallow integer constants with
12197 noninteger types. Conditionally allow zero.
12198 (handle_aligned_attribute): Use check_user_alignment.
12199 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
12200
86951993
AM
122012011-11-06 Andrew MacLeod <amacleod@redhat.com>
12202 Richard Henderson <rth@redhat.com>
12203
12204 Merged from cxx-mem-model.
12205
12206 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 12207 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
12208 parameters that are the same type size.
12209 (get_atomic_generic_size): New. Find size of generic
12210 atomic function parameters and do typechecking.
12211 (add_atomic_size_parameter): New. Insert size into parameter list.
12212 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
12213 either __atomic_exchange_n or external library call.
9faeb493 12214 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 12215 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 12216 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
12217 __atomic_load_n or an external library call.
12218 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
12219 __atomic_store_n or an external library call.
12220 (resolve_overloaded_builtin): Handle new __atomic builtins.
12221
cf9e9959
EB
122222011-11-04 Eric Botcazou <ebotcazou@adacore.com>
12223
12224 PR c++/50608
12225 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
12226 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
12227 <INDIRECT_REF>: Return the argument.
12228 <ARRAY_REF>: Remove special code for negative offset.
12229 Call fold_build_pointer_plus instead of size_binop.
12230 (fold_offsetof): Remove STOP_REF argument and adjust.
12231 * c-common.h (fold_offsetof_1): Declare.
12232 (fold_offsetof): Remove STOP_REF argument.
12233
25339f10
JM
122342011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
12235
12236 PR c++/50810
12237 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12238 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12239 Wnarrowing for C++0x and C++98.
12240 * c.opt ([Wnarrowing]): Update.
12241
89401152
PC
122422011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
12243
12244 PR c++/44277
12245 * c.opt: Add Wzero-as-null-pointer-constant.
12246
97e3ad20
JM
122472011-10-31 Jason Merrill <jason@redhat.com>
12248
15694fdd
JM
12249 * c.opt (-fdeduce-init-list): Off by default.
12250
97e3ad20
JM
12251 PR c++/50920
12252 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
12253 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
12254 and -Wc++11-compat.
12255 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
12256
fb9120e3
RAV
122572011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
12258
12259 PR c++/30066
12260 * c.opt (fvisibility-inlines-hidden): Description change.
12261
3ce4f9e4
ESR
122622011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
12263
12264 Implement C++11 user-defined literals.
12265 * c-common.c (build_userdef_literal): New.
12266 * c-common.def: New tree code.
12267 * c-common.h (tree_userdef_literal): New tree struct and accessors.
12268 * c-lex.c (interpret_float): Add suffix parm.
12269 (c_lex_with_flags): Build literal tokens.
12270
5f53c243
PC
122712011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12272
12273 PR c++/50841
12274 Revert:
12275 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12276
12277 PR c++/50810
12278 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12279 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12280 Wnarrowing for C++0x and C++98.
12281 * c.opt ([Wnarrowing]): Update.
12282
263734e1
PC
122832011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12284
12285 PR c++/50810
12286 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12287 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12288 Wnarrowing for C++0x and C++98.
12289 * c.opt ([Wnarrowing]): Update.
12290
d2e312d7
PC
122912011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
12292
12293 PR c++/45385
12294 * c-common.c (conversion_warning): Remove code looking for
12295 artificial operands.
12296
d17687f6
DS
122972011-10-18 Dodji Seketeli <dodji@redhat.com>
12298
12299 PR bootstrap/50760
12300 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 12301 !NO_IMPLICIT_EXTERN_C.
d17687f6 12302
fc8396e9
PC
123032011-10-17 Michael Spertus <mike_spertus@symantec.com>
12304
12305 * c-common.c (c_common_reswords): Add __bases,
12306 __direct_bases.
12307 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
12308
123092011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
12310
12311 PR c++/50757
12312 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
12313
847e697a
TT
123142011-10-15 Tom Tromey <tromey@redhat.com>
12315 Dodji Seketeli <dodji@redhat.com>
12316
12317 * c.opt (fdebug-cpp): New option.
12318 * c-opts.c (c_common_handle_option): Handle the option.
12319 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
12320 output stream in parameter. Factorized from ...
12321 (maybe_print_line): ... this. Dump location debug information when
12322 -fdebug-cpp is in effect.
12323 (print_line_1): New static function. Takes an output stream in
12324 parameter. Factorized from ...
12325 (print_line): ... here. Dump location information when -fdebug-cpp
12326 is in effect.
12327 (scan_translation_unit): Dump location information when
12328 -fdebug-cpp is in effect.
12329
92582b75
TT
123302011-10-15 Tom Tromey <tromey@redhat.com>
12331 Dodji Seketeli <dodji@redhat.com>
12332
12333 * c.opt (ftrack-macro-expansion): New option. Handle it with and
12334 without argument.
12335 * c-opts.c (c_common_handle_option)<case
12336 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
12337 cases. Handle -ftrack-macro-expansion with and without argument.
12338
46427374
TT
123392011-10-15 Tom Tromey <tromey@redhat.com>
12340 Dodji Seketeli <dodji@redhat.com>
12341
12342 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
12343 (print_line, cb_define, do_line_change): Adjust to avoid touching
12344 the internals of struct line_map. Use the public API instead.
12345 * c-pch.c (c_common_read_pch): Likewise.
12346 * c-lex.c (fe_file_change): Likewise.
12347
fc8396e9
PC
123482011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
12349
12350 PR c++/17212
12351 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
12352
123532011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
12354
12355 PR c++/33067
12356 * c-pretty-print.c (pp_c_floating_constant): Output
12357 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
12358
e79983f4
MM
123592011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
12360
12361 * c-common.c (def_builtin_1): Delete old interface with two
12362 parallel arrays to hold standard builtin declarations, and replace
12363 it with a function based interface that can support creating
12364 builtins on the fly in the future. Change all uses, and poison
12365 the old names. Make sure 0 is not a legitimate builtin index.
12366 * c-omp.c (c_finish_omp_barrier): Ditto.
12367 (c_finish_omp_taskwait): Ditto.
12368 (c_finish_omp_flush): Ditto.
12369
6637388f
TG
123702011-10-11 Tristan Gingold <gingold@adacore.com>
12371
12372 * c.opt: (fallow-parameterless-variadic-functions): New.
12373
3797cb21
DS
123742011-09-08 Dodji Seketeli <dodji@redhat.com>
12375
12376 PR c++/33255 - Support -Wunused-local-typedefs warning
12377 * c-common.h (struct c_language_function::local_typedefs): New
12378 field.
9faeb493
UB
12379 (record_locally_defined_typedef, maybe_record_typedef_use)
12380 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 12381 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
12382 (maybe_record_typedef_use)
12383 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
12384 * c.opt: Declare new -Wunused-local-typedefs flag.
12385
693ddb1b
EB
123862011-09-06 Eric Botcazou <ebotcazou@adacore.com>
12387
12388 PR middle-end/50266
12389 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
12390 computations.
12391
830c740f
RG
123922011-09-05 Richard Guenther <rguenther@suse.de>
12393
12394 * c-common.c (complete_array_type): Use ssize_int (-1) instead
12395 of integer_minus_one_node for empty array upper bounds.
12396
892a371f
DS
123972011-08-28 Dodji Seketeli <dodji@redhat.com>
12398
12399 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
12400 it's the first time it's being called on this main TU.
12401
0e3fdb48
RB
124022011-08-24 Richard Guenther <rguenther@suse.de>
12403
12404 PR c/49396
12405 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
12406
124072011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
12408
12409 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
12410 defined in cpp_init_builtins and c_cpp_builtins.
12411
d4a83c10
JM
124122011-08-19 Joseph Myers <joseph@codesourcery.com>
12413
12414 * c-common.c (c_common_reswords): Add __builtin_complex.
12415 * c-common.h (RID_BUILTIN_COMPLEX): New.
12416
bbceee64
JM
124172011-08-18 Joseph Myers <joseph@codesourcery.com>
12418
12419 * c-common.c (c_common_reswords): Add _Noreturn.
12420 (keyword_is_function_specifier): Handle RID_NORETURN.
12421 * c-common.h (RID_NORETURN): New.
12422
3f8257db 124232011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
12424
12425 * c-common.c (unsafe_conversion_p): New function. Check if it is
12426 unsafe to convert an expression to the type.
12427 (conversion_warning): Adjust, use unsafe_conversion_p.
12428 * c-common.h (unsafe_conversion_p): New function declaration.
12429
20906c66
JJ
124302011-08-02 Jakub Jelinek <jakub@redhat.com>
12431
12432 * c-common.h (c_finish_omp_atomic): Adjust prototype.
12433 (c_finish_omp_taskyield): New prototype.
12434 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
12435 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
12436 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
12437 or RHS1 have side-effects, evaluate those too in the right spot,
12438 if it is a decl and LHS is also a decl, error out if they
12439 aren't the same.
12440 (c_finish_omp_taskyield): New function.
12441 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
12442 * c-pragma.c (omp_pragmas): Add taskyield.
12443 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
12444 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
12445 PRAGMA_OMP_CLAUSE_MERGEABLE.
12446
770e5a2e
DS
124472011-07-25 Dodji Seketeli <dodji@redhat.com>
12448
12449 * c-common.h (set_underlying_type): Remove parm name from
12450 declaration.
12451
1baae426
RG
124522011-07-25 Romain Geissler <romain.geissler@gmail.com>
12453
12454 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 12455
fcb21722
JM
124562011-07-22 Jason Merrill <jason@redhat.com>
12457
76f86d00
JM
12458 PR c++/49793
12459 * c.opt (Wnarrowing): New.
12460
3a636414
JM
12461 PR c++/30112
12462 * c-common.h: Declare c_linkage_bindings.
12463 * c-pragma.c (handle_pragma_redefine_extname): Use it.
12464
fcb21722
JM
12465 PR c++/49813
12466 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
12467 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
12468 as flag_isoc99 for 'restrict'.
12469 (pp_c_specifier_qualifier_list): Likewise for _Complex.
12470
02614448
ILT
124712011-07-21 Ian Lance Taylor <iant@google.com>
12472
12473 PR middle-end/49705
12474 * c-common.c (c_disable_warnings): New static function.
12475 (c_enable_warnings): New static function.
12476 (c_fully_fold_internal): Change local unused_p to bool. Call
12477 c_disable_warnings and c_enable_warnings rather than change
12478 c_inhibit_evaluation_warnings.
12479
34429675
JM
124802011-07-20 Jason Merrill <jason@redhat.com>
12481
12482 PR c++/6709 (DR 743)
12483 PR c++/42603 (DR 950)
12484 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
12485 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
12486 (CPP_DECLTYPE): New.
12487 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
12488
5d49b6a7
RG
124892011-07-19 Richard Guenther <rguenther@suse.de>
12490
12491 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
12492 * c-omp.c (c_finish_omp_for): Likewise.
12493
e84a58ff
EB
124942011-07-12 Eric Botcazou <ebotcazou@adacore.com>
12495
12496 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
12497 body on the next line.
12498
329af3c7
JM
124992011-07-08 Jason Merrill <jason@redhat.com>
12500
4063e61b
JM
12501 PR c++/45437
12502 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
12503
329af3c7
JM
12504 PR c++/49673
12505 * c-common.c (c_apply_type_quals_to_decl): Don't check
12506 TYPE_NEEDS_CONSTRUCTING.
12507
1a072294
RG
125082011-07-06 Richard Guenther <rguenther@suse.de>
12509
12510 * c-common.c (c_common_nodes_and_builtins):
12511 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
12512
fce5dddd
RG
125132011-07-05 Richard Guenther <rguenther@suse.de>
12514
12515 * c-common.c (c_common_nodes_and_builtins): Build all common
12516 tree nodes first.
12517
45d439ac
JJ
125182011-06-27 Jakub Jelinek <jakub@redhat.com>
12519
56300785
JJ
12520 * c-common.h (c_tree_chain_next): New static inline function.
12521
45d439ac
JJ
12522 * c-common.c (check_builtin_function_arguments): Handle
12523 BUILT_IN_ASSUME_ALIGNED.
12524
e0a8ecf2
AM
125252011-06-21 Andrew MacLeod <amacleod@redhat.com>
12526
12527 * c-common.c: Add sync_ or SYNC__ to builtin names.
12528 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
12529
125302011-06-20 Pierre Vittet <piervit@pvittet.com>
12531
12532 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
12533 handler.
12534 (gen_pragma_handler): New union.
12535 (internal_pragma_handler): New type.
12536 (c_register_pragma_with_data)
12537 (c_register_pragma_with_expansion_and_data): New functions.
12538
12539 * c-pragma.c (registered_pragmas, c_register_pragma_1)
12540 (c_register_pragma, c_register_pragma_with_expansion)
12541 (c_invoke_pragma_handler): Changed to work with
12542 internal_pragma_handler.
12543 (c_register_pragma_with_data)
12544 (c_register_pragma_with_expansion_and_data): New functions.
12545
677f3fa8
JM
125462011-06-14 Joseph Myers <joseph@codesourcery.com>
12547
12548 * c-common.c: Include common/common-target.h.
12549 (handle_section_attribute): Use
12550 targetm_common.have_named_sections.
12551 * c-cppbuiltin.c: Include common/common-target.h.
12552 (c_cpp_builtins): Use targetm_common.except_unwind_info.
12553
d7fc8c14
RG
125542011-06-10 Richard Guenther <rguenther@suse.de>
12555
12556 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
12557 to print a IDENTIFIER_NODE.
12558
10e48e39
RO
125592011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12560 Joseph Myers <joseph@codesourcery.com>
12561
12562 * c.opt (fbuilding-libgcc): New option.
12563 * c-cppbuiltin.c (c_cpp_builtins): Define
12564 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
12565
6976ae51
JM
125662011-06-07 Jason Merrill <jason@redhat.com>
12567
3ff60975
JM
12568 * c-common.c (max_tinst_depth): Lower default to 900.
12569
6976ae51
JM
12570 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
12571
009db074
RG
125722011-06-07 Richard Guenther <rguenther@suse.de>
12573
12574 * c-common.c (c_common_nodes_and_builtins): Do not set
12575 size_type_node or call set_sizetype.
12576
b4592b92
DS
125772011-06-07 Dodji Seketeli <dodji@redhat.com>
12578
12579 PR debug/49130
12580 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 12581 type when using pointer comparison to compare types.
b4592b92 12582
014ab419
JW
125832011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
12584
12585 * c.opt: Add -Wdelete-non-virtual-dtor.
12586 * c-opts.c (c_common_handle_option): Include it in -Wall.
12587
4f60111f
NF
125882011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
12589
12590 PR bootstrap/49190
12591
12592 Revert:
12593 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12594
12595 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12596 not tree_common.
12597
4cc4f2f4
JJ
125982011-05-27 Jakub Jelinek <jakub@redhat.com>
12599
12600 PR c++/49165
12601 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
12602 C++ don't call c_common_truthvalue_conversion on void type arms.
12603
38e01f9e
NF
126042011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12605
12606 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12607 (stmt_list_stack): Define.
12608 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12609 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12610
92e948a8
NF
126112011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12612
12613 * c-common.c (warning_candidate_p): Check for BLOCKs.
12614
a2fc3e63
NF
126152011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12616
12617 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12618 not tree_common.
12619
0957c029
JJ
126202011-05-25 Jakub Jelinek <jakub@redhat.com>
12621
12622 * c-common.c (def_fn_type): Remove extra va_end.
12623
828fb3ba
JM
126242011-05-23 Jason Merrill <jason@redhat.com>
12625
12626 PR c++/48106
12627 * c-common.c (c_common_get_narrower): New.
12628 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12629
dde05067
NF
126302011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12631
12632 * c-common.h (check_function_arguments): Tweak prototype of
12633 check_function_arguments.
12634 * c-common.c (check_function_arguments): Likewise. Adjust
12635 calls to check_function_nonnull, check_function_format, and
12636 check_function_sentinel.
12637 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12638 separate attributes and typelist arguments. Use
12639 FOREACH_FUNCTION_ARGS to iterate over argument types.
12640
3c0d13bf
PC
126412011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12642
12643 * c-common.c (c_common_reswords): Reorder.
12644 * c-common.h (rid): Likewise.
12645
8242dd04
NF
126462011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12647
12648 * c-common.c (def_fn_type): Don't call build_function_type, call
12649 build_function_type_array or build_varargs_function_type_array
12650 instead.
12651 (c_common_nodes_and_builtins): Likewise.
12652
3d528853
NF
126532011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12654
12655 * c-common.c (c_add_case_label): Omit the loc argument to
12656 build_case_label.
12657 * c-common.h (build_case_label): Remove.
12658 * c-semantics.c (build_case_label): Remove.
12659
a04a722b
JM
126602011-05-05 Joseph Myers <joseph@codesourcery.com>
12661
12662 * c-objc.h (objc_start_method_definition): Update prototype.
12663 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12664
e19a18d4
NF
126652011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12666
12667 * c-common.c (check_main_parameter_types): Reindent. Don't use
12668 TYPE_ARG_TYPES directly.
12669 (handle_nonnull_attribute): Likewise.
12670 (sync_resolve_params): Likewise.
12671 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12672 to check_format_string.
12673 (handle_format_attribute): Likewise.
12674 (check_format_string): Take a function type to examine instead of
12675 a type list. Use a function_arg_iterator to step through argument
12676 types.
12677
c62c040f
RG
126782011-05-04 Richard Guenther <rguenther@suse.de>
12679
12680 * c-common.c (fix_string_type): Use size_int for index type bounds.
12681 (start_fname_decls): Do not pass NULL to build_int_cst.
12682 (c_init_attributes): Likewise.
12683 * c-lex.c (c_lex_with_flags): Likewise.
12684
c12ff9d8
JM
126852011-04-27 Jason Merrill <jason@redhat.com>
12686
12687 * c-common.c (make_tree_vector_from_list): New.
12688 * c-common.h: Declare it.
12689
304dfbe3
RG
126902011-04-26 Richard Guenther <rguenther@suse.de>
12691
12692 PR preprocessor/48248
12693 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12694 for output size with -P.
12695
3c0d13bf
PC
126962011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12697
12698 * c-common.c (struct c_common_resword): Add __underlying_type.
12699 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12700
04695783
JM
127012011-04-20 Jim Meyering <meyering@redhat.com>
12702
12703 * c-format.c (init_dollar_format_checking): Remove useless
12704 if-before-free.
12705
0dc33c3c
NP
127062011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12707
12708 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12709 (objc_detect_field_duplicates): New.
0dc33c3c 12710 * stub-objc.c: Likewise.
3c0d13bf 12711
c59633d9
NP
127122011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12713
12714 * stub-objc.c (objc_declare_protocols): Renamed to
12715 objc_declare_protocol.
12716 * c-objc.h: Likewise.
3c0d13bf 12717
32dabdaf
NP
127182011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12719
12720 * stub-objc.c (objc_declare_class): Updated argument name.
12721
81f653d6
NF
127222011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12723
12724 * c-common.h (c_common_init_ts): Declare.
12725 * c-common.c (c_common_init_ts): Define.
12726
eb345401
NP
127272011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12728
12729 * c-objc.h (objc_build_message_expr): Updated prototype.
12730 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12731
a358e188
MJ
127322011-04-12 Martin Jambor <mjambor@suse.cz>
12733
12734 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12735 of cgraph_node.
12736
e6313a78
RG
127372011-04-11 Richard Guenther <rguenther@suse.de>
12738
12739 * c-common.c (complete_array_type): Build a range type of
12740 proper type.
12741
dcf0c47e
NF
127422011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12743
12744 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12745 (handle_type_generic_attribute): Likewise.
12746
1ee44b26
JM
127472011-04-07 Jason Merrill <jason@redhat.com>
12748
12749 PR c++/48450
12750 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12751 conversion from C++0x scoped enum.
12752
acce4e77
JM
127532011-04-06 Joseph Myers <joseph@codesourcery.com>
12754
12755 * c-target-def.h: New file.
12756 * c-target.def: New file.
12757 * c-target.h: New file.
12758 * c-common.c (targetcm): Don't define here.
12759 * c-common.h (default_handle_c_option): Declare.
12760 * c-format.c: Include c-target.h instead of target.h.
12761 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12762 include tm.h.
12763 (default_handle_c_option): Move from targhooks.c.
12764
e2eefb55
JJ
127652011-03-29 Jakub Jelinek <jakub@redhat.com>
12766
12767 PR preprocessor/48248
12768 * c-ppoutput.c (print): Add src_file field.
12769 (init_pp_output): Initialize it.
12770 (maybe_print_line): Don't optimize by adding up to 8 newlines
12771 if map->to_file and print.src_file are different file.
12772 (print_line): Update print.src_file.
12773
ba78087b
KT
127742011-03-25 Kai Tietz <ktietz@redhat.com>
12775
12776 * c-ada-spec.c (compare_comment): Use filename_cmp
12777 instead of strcmp for filename.
12778
0edf1bb2
JL
127792011-03-25 Jeff Law <law@redhat.com>
12780
adfac8df 12781 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12782
c7dc8804
JM
127832011-03-25 Jason Merrill <jason@redhat.com>
12784
12785 * c.opt: Add -std=c++03.
12786
d1d879b1
EB
127872011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12788
12789 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12790
3f8257db 127912011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12792
12793 PR target/12171
5050afdf
KT
12794 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12795 Display allowed attributes for function pointer types.
12796 (pp_c_attributes_display): New function to display
12797 attributes having affects_type_identity flag set to true.
12798 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12799
62d784f7
KT
12800 * c-common.c (c_common_attribute_table):
12801 Add new element.
12802 (c_common_format_attribute_table): Likewise.
12803
82d37118
JM
128042011-03-18 Jason Merrill <jason@redhat.com>
12805
49a000c3
JM
12806 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12807 * c-common.h: Don't declare it here.
12808 * c-common.c: Or define it here.
12809 * c-opts.c (c_common_handle_option): Or set it here.
12810
82d37118
JM
12811 PR c++/35315
12812 * c-common.c (handle_transparent_union_attribute): Don't
12813 make a duplicate type in C++.
12814
17bc631c
JM
128152011-03-15 Jason Merrill <jason@redhat.com>
12816
12817 * c-common.c (max_constexpr_depth): New.
12818 * c-common.h: Declare it.
12819 * c-opts.c (c_common_handle_option): Set it.
12820 * c.opt (fconstexpr-depth): New option.
12821
1b9b91a6
JM
128222011-03-11 Jason Merrill <jason@redhat.com>
12823
f231b5ff
JM
12824 * c-common.c (attribute_takes_identifier_p): Add missing const.
12825
1b9b91a6
JM
12826 PR c++/46803
12827 * c-common.c (attribute_takes_identifier_p): Assume that an
12828 unknown attribute takes an identifier.
12829
a19e4d44
NF
128302011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12831
12832 PR c/47786
12833 * c-common.c (c_type_hash): Call list_length instead of iterating
12834 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12835
982d62f6
JJ
128362011-02-19 Jakub Jelinek <jakub@redhat.com>
12837
12838 PR c/47809
12839 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12840
0a256240
NP
128412011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12842
12843 * c.opt (fobjc-abi-version=) New.
12844 (fobjc-nilcheck): New.
12845
ba9e6dd5
NF
128462011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12847
12848 PR c++/46890
12849 * c-common.h (keyword_is_decl_specifier): Declare.
12850 * c-common.c (keyword_is_decl_specifier): Define.
12851 (keyword_is_function_specifier): New function.
12852
7273813a
JJ
128532011-01-26 Jakub Jelinek <jakub@redhat.com>
12854
12855 PR c/47473
12856 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12857 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12858 REAL_TYPE.
12859
908ef79b
AC
128602011-01-26 Arnaud Charlet <charlet@adacore.com>
12861
12862 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12863
237e9384
JJ
128642011-01-26 Jakub Jelinek <jakub@redhat.com>
12865
12866 PR pch/47430
12867 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12868 after init_c_lex if pch_file is set.
12869
47ea1edf
DK
128702011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12871
d4dba752 12872 PR c++/43601
47ea1edf
DK
12873 * c.opt (-fkeep-inline-dllexport): New switch.
12874
2aa9c6ae
RG
128752011-01-12 Richard Guenther <rguenther@suse.de>
12876
12877 PR middle-end/32511
12878 * c-common.c (handle_weak_attribute): Warn instead of error
12879 on declaring an inline function weak.
12880
7bd11157
TT
128812011-01-05 Tom Tromey <tromey@redhat.com>
12882
12883 * c-common.h (lvalue_error): Update.
12884 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12885 not error.
12886
0e66e494 128872010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12888
b4f588c4
NP
12889 PR objc/47075
12890 * c-objc.h (objc_finish_message_expr): Added argument to
12891 prototype.
12892
f4da8dce
NF
128932010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12894
12895 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12896 Use prototype_p.
12897
46270f14
NP
128982010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12899
12900 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12901 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12902
4816c593
NF
129032010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12904
12905 * c-common.h (readonly_error): Declare.
12906 * c-common.c (readonly_error): Define.
12907
7a6daeb0
NF
129082010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12909
12910 * c-common.h (invalid_indirection_error): Declare.
12911 * c-common.c (invalid_indirection_error): Define.
12912
892f6119
RG
129132010-12-03 Richard Guenther <rguenther@suse.de>
12914
12915 PR c/46745
12916 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12917 (pp_c_unary_expression): Likewise.
12918 (pp_c_expression): Likewise.
12919
6c39e757
NP
129202010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12921
12922 * c-common.h (objc_finish_function): New.
12923 (objc_non_volatilized_type): Removed.
12924 (objc_type_quals_match): Removed.
12925 * stub-objc.c (objc_finish_function): New.
12926 (objc_non_volatilized_type): Removed.
12927 (objc_type_quals_match): Removed.
9faeb493 12928
7c475d11
JM
129292010-11-30 Joseph Myers <joseph@codesourcery.com>
12930
12931 * c-common.h (parse_optimize_options): Declare.
12932 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12933 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12934
71f3e391
JM
129352010-11-29 Joseph Myers <joseph@codesourcery.com>
12936
12937 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12938 GET_ENVIRONMENT.
12939 * c-pch.c (O_BINARY): Don't define here.
12940 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12941
d5fabb58
JM
129422010-11-25 Joseph Myers <joseph@codesourcery.com>
12943
12944 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12945 targetm.except_unwind_info.
12946
299404a1
JM
129472010-11-23 Joseph Myers <joseph@codesourcery.com>
12948
12949 * c-opts.c (c_common_handle_option): Pass location to
12950 set_struct_debug_option.
12951
c98cd5bf
JM
129522010-11-23 Joseph Myers <joseph@codesourcery.com>
12953
12954 * c-common.c (visibility_options): Move from ../opts.c.
12955 * c-common.h (struct visibility_flags, visibility_options):
12956 Declare here.
12957 * c-opts.c (finish_options): Rename to c_finish_options.
12958 (c_common_init): Update call to finish_options.
12959
a9546771
NP
129602010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12961
12962 PR objc/34033
12963 * c-lex.c (lex_string): Check that each string in an Objective-C
12964 string concat sequence starts with either one or zero '@', and
12965 that there are no spurious '@' signs at the end.
12966
24a57808
JM
129672010-11-20 Joseph Myers <joseph@codesourcery.com>
12968
12969 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12970 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12971 HANDLE_PRAGMA_VISIBILITY.
12972 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12973 HANDLE_PRAGMA_VISIBILITY): Don't define.
12974 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12975
a9aa2c3a
NF
129762010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12977
12978 PR c++/16189
12979 PR c++/36888
12980 PR c++/45331
12981 * c-common.h (keyword_begins_type_specifier): Declare.
12982 (keyword_is_storage_class_specifier): Declare.
12983 (keyword_is_type_qualifier): Declare.
12984 * c-common.c (keyword_begins_type_specifier): New function.
12985 (keyword_is_storage_class_specifier): New function.
12986 (keyword_is_type_qualifier): Declare.
12987
5386338c
JM
129882010-11-19 Joseph Myers <joseph@codesourcery.com>
12989
12990 PR c/46547
12991 * c-common.c (in_late_binary_op): Define.
12992 (c_common_truthvalue_conversion): Check in_late_binary_op before
12993 calling c_save_expr.
12994 * c-common.h (in_late_binary_op): Declare.
12995
69ccdddb
JM
129962010-11-19 Joseph Myers <joseph@codesourcery.com>
12997
12998 * c-opts.c (c_common_handle_option): Update calls to
12999 set_struct_debug_option.
13000
6b192a09
NP
130012010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
13002
13003 * c-common.h (objc_declare_protocols): Added additional argument.
13004 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 13005
fb52b50a
NF
130062010-11-18 Nathan Froyd <froydnj@codesourcery.com>
13007
13008 PR c/33193
13009 * c-common.h (build_real_imag_expr): Declare.
13010 * c-semantics.c (build_real_imag_expr): Define.
13011
b37421c6
JM
130122010-11-17 Joseph Myers <joseph@codesourcery.com>
13013
13014 * c-opts.c (c_common_parse_file): Take no arguments.
13015 * c-common.h (c_common_parse_file): Update prototype.
13016
07078664
JJ
130172010-11-16 Jakub Jelinek <jakub@redhat.com>
13018
13019 PR c++/46401
13020 * c-common.c (warning_candidate_p): Don't track non-const calls
13021 or STRING_CSTs.
13022
c6a13190
ILT
130232010-11-15 Ian Lance Taylor <iant@google.com>
13024
13025 * c-lex.c (init_c_lex): Set macro debug callbacks if
13026 flag_dump_go_spec is set.
13027
925e8657
NP
130282010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
13029
13030 * c-common.h (objc_build_incr_expr_for_property_ref): New.
13031 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
13032
bb0a9581
NF
130332010-11-15 Nathan Froyd <froydnj@codesourcery.com>
13034
13035 PR preprocessor/45038
13036 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
13037 dialects.
13038
c5fa0890
JM
130392010-11-12 Joseph Myers <joseph@codesourcery.com>
13040
13041 * c-common.h (c_family_lang_mask): Declare.
13042 * c-opts.c (c_family_lang_mask): Make extern.
13043 * c-pragma.c (handle_pragma_diagnostic): Use
13044 control_warning_option.
13045
a4d8c676
JM
130462010-11-12 Joseph Myers <joseph@codesourcery.com>
13047
13048 * c-common.c (parse_optimize_options): Update call to
13049 decode_options.
13050 * c-common.h (c_common_handle_option): Update prototype.
13051 * c-opts.c (c_common_handle_option): Take location_t parameter and
13052 pass it to other functions.
13053
f954bd2c
JM
130542010-11-11 Joseph Myers <joseph@codesourcery.com>
13055
13056 * c-opts.c (warning_as_error_callback): Remove.
13057 (c_common_initialize_diagnostics): Don't call
13058 register_warning_as_error_callback.
13059 (c_common_handle_option): Handle -Werror=normalized= here.
13060
d8a07487
JM
130612010-11-10 Joseph Myers <joseph@codesourcery.com>
13062
13063 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
13064 in diagnostic.
13065 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
13066 letter.
13067 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
13068 Remove trailing '.' from diagnostics.
13069 * c.opt (Wwrite-strings_: Avoid '`' in help text.
13070
d5478783
JM
130712010-11-10 Joseph Myers <joseph@codesourcery.com>
13072
13073 * c-common.c (parse_optimize_options): Pass global_dc to
13074 decode_options.
13075 * c-opts.c (c_common_handle_option): Pass &global_options to
13076 set_Wstrict_aliasing.
13077 * c.opt (v): Don't mark Common or document here.
13078
91ebb981
IS
130792010-11-06 Iain Sandoe <iains@gcc.gnu.org>
13080
13081 PR target/44981
13082 * c-format.c (format_type): New type gcc_objc_string_format_type.
13083 (valid_stringptr_type_p): New.
13084 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 13085 (check_format_string): Pass expected type, use
91ebb981
IS
13086 valid_stringptr_type_p (), check that the format string types are
13087 consistent with the format specification.
13088 (decode_format_attr): Warn if NSString is used outside objective-c.
13089 (format_types_orig): Add NSString.
13090 (format_name): New.
13091 (format_flags): New.
13092 (check_format_arg): Handle format strings requiring an external parser.
13093 first_target_format_type: New variable.
13094 (handle_format_attribute): Set up first_target_format_type, pass the
13095 expected format arg string type to check_format_string().
ab20d992 13096 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
13097 * stub-objc.c (objc_string_ref_type_p): New.
13098 (objc_check_format_arg): New.
13099
bede2adc
NP
131002010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
13101
9faeb493 13102 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
13103 * c-common.h (objc_build_class_component_ref): New.
13104 * stub-objc.c (objc_build_class_component_ref): New.
13105
9a179d01
NP
131062010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
13107
13108 * c.opt (Wproperty-assign-default): New option.
13109
22d8d616
NP
131102010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
13111
13112 Implemented -fobjc-std=objc1 flag.
13113 * c.opt (fobjc-std=objc1): New option.
13114
2debdb4f
NP
131152010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
13116
13117 Implemented format and noreturn attributes for Objective-C methods.
13118 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
13119 attribute for Objective-C methods.
13120
ec52b111
JM
131212010-10-31 Jason Merrill <jason@redhat.com>
13122
13123 * c-common.c (conversion_warning, warn_for_collisions_1): Use
13124 EXPR_LOC_OR_HERE.
13125
46a88c12
NP
131262010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
13127
13128 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
13129 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
13130 (objc_add_property_declaration): Removed arguments for copies and
13131 ivar.
13132 (objc_build_getter_call): Renamed to
13133 objc_maybe_build_component_ref.
13134 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
13135 (objc_is_property_ref): New.
13136 * c-common.c (c_common_reswords): Removed copies and ivar.
13137 * stub-objc.c (objc_add_property_declaration): Removed arguments
13138 for copies and ivar.
13139 (objc_build_getter_call): Renamed to
13140 objc_maybe_build_component_ref.
13141 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
13142 (objc_is_property_ref): New.
9faeb493 13143
1e4bf85b
AC
131442010-10-29 Arnaud Charlet <charlet@adacore.com>
13145 Matthew Gingell <gingell@adacore.com>
13146
13147 * c-ada-spec.c (separate_class_package): New function.
13148 (pp_ada_tree_identifier): Prefix references to C++ classes with the
13149 name of their enclosing package.
13150 (print_ada_declaration): Use separate_class_package.
13151
81f0bab2
JM
131522010-10-27 Jason Merrill <jason@redhat.com>
13153
2b08f2c5
JM
13154 * c-common.c (c_common_reswords): Add __is_literal_type.
13155 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
13156
81f0bab2
JM
13157 * c-common.c (check_case_value): Remove special C++ code.
13158
200290f2
NP
131592010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13160
13161 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
13162 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
13163 and RID_LAST_PATTR.
13164 (objc_add_property_declaration): Added additional arguments.
13165 (objc_property_attribute_kind): Removed.
13166 (objc_set_property_attr): Removed.
13167 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
13168 copy and nonatomic.
13169 * stub-objc.c (objc_add_property_declaration): Added additional
13170 arguments.
13171 (objc_set_property_attr): Removed.
9faeb493 13172
f614132b
NP
131732010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13174
13175 * c-common.h (objc_add_property_variable): Renamed to
13176 objc_add_property_declaration. Added location argument.
13177 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 13178
b8a18805
NP
131792010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
13180
13181 * c-common.h (objc_maybe_printable_name): New.
13182 * stub-objc.c (objc_maybe_printable_name): New.
13183
3f8257db
JJ
131842010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
13185 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
13186
13187 * c-common.h (c_common_mark_addressable_vec): Declare.
13188 * c-common.c (c_common_mark_addressable_vec): New function.
13189
249a82c4
NP
131902010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13191
13192 * c-common.h (objc_set_method_type): Removed.
13193 (objc_add_method_declaration): Added boolean argument.
13194 (objc_start_method_definition): Same change.
13195 (objc_build_method_signature): Same change.
13196 * stub-objc.c (objc_set_method_type): Removed.
13197 (objc_add_method_declaration): Added boolean argument.
13198 (objc_start_method_definition): Same change.
13199 (objc_build_method_signature): Same change.
13200
977e30bc
NP
132012010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13202
13203 * c-common.h (finish_file): Removed.
13204 (objc_write_global_declarations): New.
13205 * c-opts.c (c_common_parse_file): Do not call finish_file.
13206 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 13207
da57d1b9
NP
132082010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13209
13210 Implemented parsing @synthesize and @dynamic for
13211 Objective-C/Objective-C++.
13212 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
13213 (objc_add_synthesize_declaration): New.
13214 (objc_add_dynamic_declaration): New.
13215 * c-common.c (c_common_reswords): Add synthesize and dynamic.
13216 * stub-objc.c (objc_add_synthesize_declaration): New.
13217 (objc_add_dynamic_declaration): New.
9faeb493 13218
0069111f
MM
132192010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
13220
13221 PR target/46041
13222 * c-cppbuiltin.c (mode_has_fma): Move function here from
13223 builtins.c. Don't use the fma optab, instead just use the
13224 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
13225 using -save-temps.
13226
e426b47b
NP
132272010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13228
13229 Merge from 'apple/trunk' branch on FSF servers.
0069111f 13230
3f8257db 13231 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 13232
9faeb493 13233 Radar 4330422
e426b47b
NP
13234 * c-common.h (objc_non_volatilized_type): New declaration
13235 * stub-objc.c (objc_non_volatilized_type): New stub.
13236
90fbfdc3
NP
132372010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
13238
e426b47b 13239 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 13240
ab20d992 13241 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 13242
9faeb493 13243 Radar 4133425
90fbfdc3 13244 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 13245 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 13246
c37d8c30
IS
132472010-10-17 Iain Sandoe <iains@gcc.gnu.org>
13248
13249 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
13250 * c-common.h (enum rid): Add RID_AT_PACKAGE.
13251 (objc_ivar_visibility_kind): New enum.
13252 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 13253 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
13254 visibility enum.
13255
1b1562a5
MM
132562010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
13257
13258 * c-cppbuiltin.c (builtin_define_float_constants): Emit
13259 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
13260 has the appropriate fma builtins.
13261 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
13262
668ea4b1
IS
132632010-10-14 Iain Sandoe <iains@gcc.gnu.org>
13264
1b1562a5 13265 merge from FSF apple 'trunk' branch.
3f8257db 13266 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 13267
668ea4b1
IS
13268 Radars 4436866, 4505126, 4506903, 4517826
13269 * c-common.c (c_common_resword): Define @property and its attributes.
13270 * c-common.h: Define property attribute enum entries.
13271 (OBJC_IS_PATTR_KEYWORD): New.
13272 (objc_property_attribute_kind): New enum.
13273 Declare objc_set_property_attr (), objc_add_property_variable (),
13274 objc_build_getter_call () and objc_build_setter_call ().
13275 * stub-objc.c (objc_set_property_attr): New stub.
13276 (objc_add_property_variable): Likewise.
13277 (objc_build_getter_call): Likewise.
13278 (objc_build_setter_call) Likewise.
1b1562a5 13279
a1178b30
IS
132802010-10-13 Iain Sandoe <iains@gcc.gnu.org>
13281
1b1562a5 13282 merge from FSF apple 'trunk' branch.
ab20d992 13283 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
13284
13285 Radar 3803157 (method attributes)
13286 * c-common.c (handle_deprecated_attribute): Recognize
13287 objc methods as valid declarations.
13288 * c-common.h: Declare objc_method_decl ().
1b1562a5 13289 * stub-objc.c (objc_method_decl): New stub.
a1178b30 13290
a75bfaa6
JM
132912010-10-08 Joseph Myers <joseph@codesourcery.com>
13292
13293 * c-common.c (parse_optimize_options): Call
13294 decode_cmdline_options_to_array_default_mask before
13295 decode_options. Update arguments to decode_options.
13296 * c-common.h (c_common_init_options_struct): Declare.
13297 * c-opts.c (c_common_init_options_struct): New. Split out from
13298 c_common_init_options.
13299
f05b9d93
NP
133002010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
13301
13302 Implemented fast enumeration for Objective-C.
13303 * c-common.h (objc_finish_foreach_loop): New.
13304 * stub-objc.c (objc_finish_foreach_loop): New.
13305
1ebe4b4f
JM
133062010-10-05 Joseph Myers <joseph@codesourcery.com>
13307
13308 * c-common.h (struct diagnostic_context): Don't declare here.
13309 (c_common_initialize_diagnostics): Declare using
13310 diagnostic_context typedef.
13311 * c-opts.c (c_common_handle_option): Pass global_dc to
13312 handle_generated_option.
13313
d4d24ba4
JM
133142010-10-04 Joseph Myers <joseph@codesourcery.com>
13315
13316 * c-opts.c (c_common_handle_option): Pass &global_options_set to
13317 handle_generated_option.
13318
478a1c5b
ILT
133192010-10-03 Ian Lance Taylor <iant@google.com>
13320
13321 * c.opt (-fplan9-extensions): New option.
13322
82a1c2fe
FXC
133232010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13324
13325 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
13326 Remove.
13327 (c_cpp_builtins): Call functions from cppbuiltin.c instead
13328 of duplicating code.
13329
92902b1b
IS
133302010-09-30 Iain Sandoe <iains@gcc.gnu.org>
13331
13332 * c-common.c: Add two new entries for @optional
13333 and @required keywords.
13334
13335 merge from FSF 'apple/trunk' branch.
3f8257db 13336 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
13337
13338 Radar 4386773
13339 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
13340 objective-c keywords.
13341 (objc_set_method_opt): New declaration.
13342 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 13343
46625112
JM
133442010-09-30 Joseph Myers <joseph@codesourcery.com>
13345
13346 * c-common.c (handle_optimize_attribute): Pass &global_options to
13347 cl_optimization_save and cl_optimization_restore.
13348 * c-opts.c (c_common_handle_option): Pass &global_options to
13349 handle_generated_option.
13350 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
13351 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
13352 &global_options to cl_optimization_restore.
13353
49b91f05
NP
133542010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
13355
13356 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
13357 Objective-C/Objective-C++ keywords.
13358
13ed556f 133592010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 13360
9faeb493
UB
13361 Merge from 'apple/trunk' branch on FSF servers.
13362
3f8257db 13363 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
13364
13365 Radar 4281748
13366 * c-common.h (objc_check_global_decl): New declaration.
13367 * stub-objc.c (objc_check_global_decl): New stub.
13368
f0036cca
JM
133692010-09-29 Joseph Myers <joseph@codesourcery.com>
13370
13371 * c.opt: Don't use VarExists.
13372
e3339d0f
JM
133732010-09-29 Joseph Myers <joseph@codesourcery.com>
13374
13375 * c-common.c (c_cpp_error): Update names of diagnostic_context
13376 members.
13377 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
13378 cl_optimization members.
13379 * c-opts.c (warning_as_error_callback, c_common_handle_option,
13380 sanitize_cpp_opts, finish_options): Update names of cpp_options
13381 members.
13382
1973201f
NP
133832010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
13384
13385 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
13386 (objc_is_reserved_word): Removed.
13387 * c-common.c: Updated comments.
13388 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
13389 objc_is_reserved_word.
13390 * stub-objc.c (objc_is_reserved_word): Removed.
13391
f7e71da5
IS
133922010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13393
9faeb493 13394 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
13395 include attributes.
13396 (objc_start_method_definition): Likewise.
13397 (objc_build_keyword_decl): Likewise.
13398 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
13399 (objc_start_method_definition): Likewise.
13400 (objc_build_keyword_decl): Likewise.
13401
c165dca7
IS
134022010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13403
13404 * c-common.h (objc_start_class_interface): Adjust prototype.
13405 (objc_start_category_interface): Likewise.
13406 (objc_start_protocol): Likewise.
13407 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
13408 (objc_start_class_interface): Likewise.
13409 (objc_start_category_interface): Likewise.
13410
7458026b
ILT
134112010-09-27 Ian Lance Taylor <iant@google.com>
13412
13413 * c-common.c (c_common_attribute_table): Add no_split_stack.
13414 (handle_no_split_stack_attribute): New static function.
13415
b581b85b
NP
134162010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
13417
9faeb493 13418 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 13419
3f8257db 13420 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 13421
9faeb493 13422 Radar 4229905
b581b85b
NP
13423 * c-common.h (objc_have_common_type): New declaration.
13424 * stub-objc.c (objc_have_common_type): New stub.
13425
13426 2005-06-22 Ziemowit Laski <zlaski@apple.com>
13427
13428 Radar 4154928
13429 * c-common.h (objc_common_type): New prototype.
9faeb493 13430 * stub-objc.c (objc_common_type): New stub.
b581b85b 13431
46a4da10
JH
134322010-09-24 Jan Hubicka <jh@suse.cz>
13433
13434 * c-common.c (handle_leaf_attribute): New function.
13435 (struct attribute_spec c_common_att): Add leaf.
13436
e200444e
JM
134372010-09-22 Joseph Myers <joseph@codesourcery.com>
13438
13439 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
13440 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
13441 -dump, -dump=, -imacros, -imacros=, -include, -include=,
13442 -include-barrier, -include-directory, -include-directory=,
13443 -include-directory-after, -include-directory-after=,
13444 -include-prefix, -include-prefix=, -include-with-prefix,
13445 -include-with-prefix=, -include-with-prefix-after,
13446 -include-with-prefix-after=, -include-with-prefix-before,
13447 -include-with-prefix-before=, -no-integrated-cpp,
13448 -no-line-commands, -no-standard-includes, -no-warnings, -output,
13449 -output=, -pedantic, -pedantic-errors, -preprocess,
13450 -print-missing-file-dependencies, -trace-includes, -traditional,
13451 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
13452 -user-dependencies, -verbose, -write-dependencies,
13453 -write-user-dependencies, no-integrated-cpp, traditional): New.
13454
29a80ea6
NP
134552010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13456
13457 PR objc/23710
ac1fc2fc
NP
13458 * c-common.h (objc_start_method_definition): Return bool instead
13459 of void.
13460 * stub-objc.c (objc_start_method_definition): Return bool instead
13461 of void.
13462
134632010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13464
13465 PR objc/25965
13466 * c-common.h (objc_get_interface_ivars): New declaration.
13467 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 13468
de621752
ILT
134692010-09-15 Ian Lance Taylor <iant@google.com>
13470
13471 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 13472 messages. Remove period at end of warning message.
de621752 13473
ba885ec5
NS
134742010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13475
13476 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
13477 (handle_alias_attribute): ... here.
13478 (handle_ifunc_attribute): New.
13479
c5ee1358
MM
134802010-09-06 Mark Mitchell <mark@codesourcery.com>
13481
13482 * c-common.h (do_warn_double_promotion): Declare.
13483 * c-common.c (do_warn_double_promotion): Define.
13484
0a0b3574
MM
134852010-09-05 Mark Mitchell <mark@codesourcery.com>
13486
13487 * c.opt (Wdouble-promotion): New.
13488
d1779886
JM
134892010-09-02 Joseph Myers <joseph@codesourcery.com>
13490
13491 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
13492 fvtable-thunks, fxref): Mark no longer supported in help text.
13493
2d2bd949
JM
134942010-09-02 Joseph Myers <joseph@codesourcery.com>
13495
13496 * c.opt (Wimport, fall-virtual, falt-external-templates,
13497 fdefault-inline, fenum-int-equiv, fexternal-templates,
13498 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
13499 fname-mangling-version-, fnew-abi, fnonnull-objects,
13500 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
13501 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
13502 applicable.
13503 (fhandle-exceptions): Mark with Alias and Warn.
13504 * c-opts.c (c_common_handle_option): Don't handle options marked
13505 as ignored.
13506
5de8299c
JM
135072010-09-02 Joseph Myers <joseph@codesourcery.com>
13508
13509 * c.opt (Wcomments, Werror-implicit-function-declaration,
13510 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
13511 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
13512 aliases.
13513 * c-common.c (option_codes): Use OPT_Wcomment instead of
13514 OPT_Wcomments.
13515 * c-opts.c (warning_as_error_callback, c_common_handle_option):
13516 Don't handle options marked as aliases.
13517
0ceb0201
RG
135182010-08-25 Richard Guenther <rguenther@suse.de>
13519
13520 * c-common.c (c_common_get_alias_set): Remove special
13521 handling for pointers.
13522
ac47786e
NF
135232010-08-20 Nathan Froyd <froydnj@codesourcery.com>
13524
13525 * c-common.c: Use FOR_EACH_VEC_ELT.
13526 * c-gimplify.c: Likewise.
13527 * c-pragma.c: Likewise.
13528
c878765b
JM
135292010-08-16 Joseph Myers <joseph@codesourcery.com>
13530
13531 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
13532 RejectDriver.
13533 (MMDX): Change back to MMD. Mark NoDriverArg instead of
13534 RejectDriver.
13535 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
13536 instead of OPT_MDX and OPT_MMDX.
13537
603349bf
JM
135382010-08-16 Joseph Myers <joseph@codesourcery.com>
13539
13540 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
13541
644fa7ac
JM
135422010-08-12 Joseph Myers <joseph@codesourcery.com>
13543
13544 * c.opt (MD, MMD): Change to MDX and MMDX.
13545 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
13546
481e1176
JM
135472010-08-11 Joseph Myers <joseph@codesourcery.com>
13548
13549 * c-opts.c (c_common_handle_option): Call handle_generated_option
13550 instead of handle_option.
13551
ac8dc9f7
NF
135522010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13553
13554 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
13555 (maybe_apply_renaming_pragma): Delete unneeded declarations.
13556
4f8c876d
NF
135572010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13558
13559 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
13560 (pending_redefine_extname): Change type to a VEC.
13561 (add_to_renaming_pragma_list): Update for new type of
13562 pending_redefine_extname.
ac8dc9f7 13563 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 13564
3b0c690e
AC
135652010-08-04 Arnaud Charlet <charlet@adacore.com>
13566
13567 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
13568 visited.
13569 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
13570 decide whether a type has already been declared/seen.
13571 Do not go to the original type.
13572 (dump_nested_types): New parameter forward.
13573 Generate forward declaration if needed and mark type as visited.
13574 (print_ada_declaration): Call dump_nested_types if not already done.
13575 Mark types as visited.
13576
1890bccc
JM
135772010-08-03 Joseph Myers <joseph@codesourcery.com>
13578
13579 * c.opt (-print-pch-checksum): Remove option.
13580 * c-opts.c (c_common_handle_option): Don't handle
13581 OPT_print_pch_checksum.
13582
5f20c657
JM
135832010-07-27 Joseph Myers <joseph@codesourcery.com>
13584
13585 * c-common.h (c_common_handle_option): Update prototype and return
13586 value type.
13587 * c-opts.c (c_common_handle_option): Update prototype and return
13588 value type. Update calls to handle_option and
13589 enable_warning_as_error.
13590
f551f80c
JJ
135912010-07-27 Jakub Jelinek <jakub@redhat.com>
13592
13593 PR c/45079
13594 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
13595
61ff2bdc
JM
135962010-07-27 Joseph Myers <joseph@codesourcery.com>
13597
13598 * c-common.h (c_common_missing_argument): Remove.
13599 * c-opts.c (c_common_missing_argument): Remove.
13600 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
13601 idirafter, imacros, include, isysroot, isystem, iquote): Add
13602 MissingArgError.
13603 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13604
7a9bf9a4
JM
136052010-07-27 Joseph Myers <joseph@codesourcery.com>
13606
13607 * c-common.h (c_common_option_lang_mask,
13608 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13609 New.
13610 (c_common_init_options): Update prototype.
13611 * c-opts.c (c_common_option_lang_mask): New.
13612 (c_common_initialize_diagnostics): Split out of
13613 c_common_init_options.
13614 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13615 New.
13616 (c_common_init_options): Update prototype. Use decoded options in
13617 search for -lang-asm.
13618
910ad8de
NF
136192010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13620
13621 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13622 * c-format.c: Likewise.
13623
718f9c0f
MLI
136242010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13625
13626 * c-common.h: Include diagnostic-core.h. Error if already
13627 included.
13628 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13629
4d451982
MLI
136302010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13631
adfac8df 13632 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13633 Do not include expr.h
13634 (vector_mode_valid_p): Move here.
13635
119fe915
SB
136362010-06-21 DJ Delorie <dj@redhat.com>
13637
13638 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13639 allow these pragmas anywhere.
13640
136412010-06-14 Jakub Jelinek <jakub@redhat.com>
13642
13643 PR bootstrap/44509
13644 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13645 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13646 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13647 ggc_strdup instead of xstrdup.
13648
136492010-06-10 Jakub Jelinek <jakub@redhat.com>
13650
13651 * c-cppbuiltin.c: Include cpp-id-data.h.
13652 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13653 (lazy_hex_fp_value): New function.
13654 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13655
6662d794
MLI
136562010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13657
13658 * c-gimplify.c: Do not include tree-flow.h
13659
38f8b050
JR
136602010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13661
13662 PR other/44034
13663 * c-common.c: Rename targetm member:
13664 targetm.enum_va_list -> targetm.enum_va_list_p
13665
9589f23e
AS
136662010-06-28 Anatoly Sokolov <aesok@post.ru>
13667
13668 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13669
3b06d379
SB
136702010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13671
13672 * c-cppbuiltin.c: Do not include except.h.
13673
d166d4c3
AK
136742010-06-24 Andi Kleen <ak@linux.intel.com>
13675
9faeb493
UB
13676 * c-common.c (warn_for_omitted_condop): New.
13677 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13678
70cb8be6
JM
136792010-06-21 Joseph Myers <joseph@codesourcery.com>
13680
13681 * c.opt (lang-objc): Remove.
13682 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13683
a4c97feb
JR
136842010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13685
13686 * c-opts.c: Include "tm_p.h".
13687
6e2f1956
JM
136882010-06-20 Joseph Myers <joseph@codesourcery.com>
13689
13690 * c-common.c (parse_optimize_options): Update call to
13691 decode_options.
13692
bc87224e
NF
136932010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13694
13695 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13696 new type of types_used_by_cur_var_decl.
13697
b49cf425
JR
136982010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13699
13700 PR bootstrap/44512
13701 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13702 for C++ standard compliance.
13703
59f9c2ed
JM
137042010-06-16 Jason Merrill <jason@redhat.com>
13705
13706 * c.opt: Add -Wnoexcept.
13707
33766b66
RG
137082010-06-16 Richard Guenther <rguenther@suse.de>
13709
13710 PR c/44555
13711 * c-common.c (c_common_truthvalue_conversion): Remove
13712 premature and wrong optimization concering ADDR_EXPRs.
13713
eff7e30c
AC
137142010-06-15 Arnaud Charlet <charlet@adacore.com>
13715
13716 * c-ada-spec.c (dump_sloc): Remove column info.
13717 (is_simple_enum): New function.
13718 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13719 enum types when relevant.
13720
6312e84d
MLI
137212010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13722
9faeb493 13723 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13724 location.
13725
1cb42611
JM
137262010-06-10 Joseph Myers <joseph@codesourcery.com>
13727
13728 * c-opts.c (c_common_handle_option): Don't handle
13729 OPT_fshow_column.
13730
a9429e29
LB
137312010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13732
13733 * c-pragma.c (push_alignment): Use typed GC allocation.
13734 (handle_pragma_push_options): Likewise.
13735
13736 * c-common.c (parse_optimize_options): Likewise.
13737
13738 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13739 option.
13740
5498f011
JM
137412010-06-07 Joseph Myers <joseph@codesourcery.com>
13742
13743 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13744 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13745 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13746 flag_signed_bitfields, warn_strict_null_sentinel,
13747 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13748 flag_gen_declaration, flag_no_gnu_keywords,
13749 flag_implement_inlines, flag_implicit_templates,
13750 flag_implicit_inline_templates, flag_optional_diags,
13751 flag_elide_constructors, flag_default_inline, flag_rtti,
13752 flag_conserve_space, flag_access_control, flag_check_new,
13753 flag_new_for_scope, flag_weak, flag_working_directory,
13754 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13755 flag_enforce_eh_specs, flag_threadsafe_statics,
13756 flag_pretty_templates): Remove.
13757 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13758 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13759 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13760 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13761 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13762 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13763 flag_no_gnu_keywords, flag_implement_inlines,
13764 flag_implicit_templates, flag_implicit_inline_templates,
13765 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13766 flag_rtti, flag_conserve_space, flag_access_control,
13767 flag_check_new, flag_new_for_scope, flag_weak,
13768 flag_working_directory, flag_use_cxa_atexit,
13769 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13770 flag_threadsafe_statics, flag_pretty_templates,
13771 warn_strict_null_sentinel): Remove.
13772 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13773 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13774 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13775 fimplicit-inline-templates, fimplicit-templates,
13776 flax-vector-conversions, fms-extensions, fnil-receivers,
13777 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13778 frtti, fshort-double, fshort-enums, fshort-wchar,
13779 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13780 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13781 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13782 gen-decls, undef): Use Var.
13783 (fdefault-inline, foptional-diags): Document as doing nothing.
13784 * c-opts.c (c_common_handle_option): Remove cases for options now
13785 using Var. Mark ignored options as such.
13786
39dabefd
SB
137872010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13788
9faeb493 13789 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13790 * c-common.def: Likewise.
13791 * c-common.h: Likewise.
13792 * c-cppbuiltin.c: Likewise.
13793 * c-dump.c: Likewise.
13794 * c-format.c: Likewise.
13795 * c-format.h : Likewise.
13796 * c-gimplify.c: Likewise.
13797 * c-lex.c: Likewise.
13798 * c-omp.c: Likewise.
13799 * c.opt: Likewise.
13800 * c-opts.c: Likewise.
13801 * c-pch.c: Likewise.
13802 * c-ppoutput.c: Likewise.
13803 * c-pragma.c: Likewise.
13804 * c-pragma.h: Likewise.
13805 * c-pretty-print.c: Likewise.
13806 * c-pretty-print.h: Likewise.
13807 * c-semantics.c: Likewise.
13808 * stub-objc.c: Likewise.
13809
13810 * c-common.c: Include gt-c-family-c-common.h.
13811 * c-pragma.c: Include gt-c-family-c-pragma.h.
13812\f
877e3c2a 13813Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13814
13815Copying and distribution of this file, with or without modification,
13816are permitted in any medium without royalty provided the copyright
13817notice and this notice are preserved.