]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
6f9e2f14
GA
12023-02-28 Marek Polacek <polacek@redhat.com>
2
3 PR c++/107938
4 * c-warn.cc (check_address_or_pointer_of_packed_member): Check
5 POINTER_TYPE_P.
6
72023-02-28 Jakub Jelinek <jakub@redhat.com>
8
9 PR sanitizer/108894
10 * c-common.h (c_strict_flex_array_level_of): Declare.
11 * c-common.cc (c_strict_flex_array_level_of): New function,
12 moved and renamed from c-decl.cc's strict_flex_array_level_of.
13 * c-ubsan.cc (ubsan_instrument_bounds): Fix comment typo. For
14 C check c_strict_flex_array_level_of whether a trailing array
15 should be treated as flexible member like. Handle C [0] arrays.
16 Add 1 + index_off_by_one rather than index_off_by_one to bounds
17 and use tree_int_cst_lt rather than tree_int_cst_le for idx vs.
18 bounds comparison.
19
e2b20ed3
GA
202023-02-23 Jakub Jelinek <jakub@redhat.com>
21
22 PR translation/108890
23 * c.opt (fcontracts): Fix description.
24
b6f98991
GA
252023-02-22 Marek Polacek <polacek@redhat.com>
26
27 PR c/108880
28 * c-gimplify.cc (c_genericize_control_stmt) <case STATEMENT_LIST>: Pass
29 pset to walk_tree_1.
30 (c_genericize): Call walk_tree with an explicit pset.
31
0263e9d5
GA
322023-02-18 Martin Uecker <uecker@tugraz.at>
33
34 PR c/105660
35 * c-attribs.cc (append_access_attr): Use order of arguments when
36 construction string.
37 (append_access_attr_idxs): Rename and make static.
38 * c-warn.cc (warn_parm_array_mismatch): Add assertion.
39
88cc4495
GA
402023-02-16 Patrick Palka <ppalka@redhat.com>
41
42 * c-common.h: Mechanically drop static from static inline
43 functions via s/^static inline/inline/g.
44
0a251e74
GA
452023-02-01 Jason Merrill <jason@redhat.com>
46
47 * c.opt: Add -Wno-changes-meaning.
48
317525b0
GA
492023-01-31 Marek Polacek <polacek@redhat.com>
50
51 PR c++/107593
52 PR c++/108597
53 * c-common.h (instantiation_dependent_expression_p): Declare.
54 * c-warn.cc (warn_duplicated_cond_add_or_warn): If the condition
55 is dependent, invalidate the chain.
56
2371d100
GA
572023-01-26 Marek Polacek <polacek@redhat.com>
58
59 PR c++/105300
60 * c-pragma.cc (handle_pragma_message): Warn for CPP_STRING_USERDEF.
61
9f98cfa5
GA
622023-01-18 Marek Polacek <polacek@redhat.com>
63
64 PR c/108424
65 * c-common.cc (check_case_value): Check INTEGRAL_TYPE_P.
66
5013c3bb
GA
672023-01-14 Jakub Jelinek <jakub@redhat.com>
68
69 PR c++/108365
70 * c-common.h (may_shorten_divmod): New static inline function.
71
722023-01-13 Eric Botcazou <ebotcazou@adacore.com>
73
74 * c-ada-spec.cc (is_float32): New function.
75 (is_float64): Likewise.
76 (is_float128): Tweak.
77 (dump_ada_node) <REAL_TYPE>: Call them to recognize more types.
78
81ed98bc
GA
792023-01-12 Lewis Hyatt <lhyatt@gmail.com>
80
81 PR preprocessor/108244
82 * c-pragma.cc (c_register_pragma_1): Don't attempt to register any
83 deferred pragmas if -fdirectives-only.
84 (init_pragma): Likewise.
85
84723aca
GA
862023-01-09 Martin Liska <mliska@suse.cz>
87
88 PR c/107993
89 * c-attribs.cc (handle_target_clones_attribute): Check for
90 string constant for all target_clone attribute values.
91
0f8fbb57
GA
922023-01-03 Florian Weimer <fweimer@redhat.com>
93
94 * c-cppbuiltin.cc (c_cpp_builtins): Define
95 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
96
972023-01-03 Florian Weimer <fweimer@redhat.com>
98
99 Revert:
100 2023-01-03 Florian Weimer <fweimer@redhat.com>
101
102 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__):
103 Define if constant is known.
104
1052023-01-03 Florian Weimer <fweimer@redhat.com>
106
107 Revert:
108 2023-01-02 Florian Weimer <fweimer@redhat.com>
109
110 * c-cppbuiltin.cc (c_cpp_builtins): Define
111 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
112
fee53a31
GA
1132023-01-02 Florian Weimer <fweimer@redhat.com>
114
115 * c-cppbuiltin.cc (c_cpp_builtins): Define
116 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
117
1182023-01-02 Florian Weimer <fweimer@redhat.com>
119
120 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__):
121 Define if constant is known.
122
d2ef2327
GA
1232022-12-19 Marek Polacek <polacek@redhat.com>
124
125 PR c/98487
126 * c-format.cc (check_function_format): Use get_attribute_name.
127
5fb1e674
GA
1282022-12-16 Qing Zhao <qing.zhao@oracle.com>
129
130 * c.opt (Wstrict-flex-arrays): New option.
131
596dbfff
GA
1322022-12-02 Andrew MacLeod <amacleod@redhat.com>
133
134 * c-attribs.cc (handle_deprecated_attribute): Use type when
135 using TYPE_NAME.
136
b35680ec
GA
1372022-12-02 Jakub Jelinek <jakub@redhat.com>
138
139 PR c++/84469
140 * c-omp.cc (c_omp_is_loop_iterator): For range for with structured
141 binding return TREE_VEC_LENGTH (d->declv) even if decl is equal
142 to any of the structured binding decls.
143
6eea85a9
GA
1442022-11-30 Iskander Shakirzyanov <iskander@ispras.ru>
145 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
146
147 PR driver/107787
148 * c-common.cc (fold_offsetof,
149 convert_vector_to_array_for_subscript): Use OPT_Warray_bounds_
150 instead of OPT_Warray_bounds.
151
9a1b4f1d
GA
1522022-11-24 Jakub Jelinek <jakub@redhat.com>
153
154 * c.opt (fcontract-role=, fcontract-semantic=): Terminate descriptions
155 with a dot.
156
8761284f
GA
1572022-11-23 Andrew Pinski <apinski@marvell.com>
158 Jakub Jelinek <jakub@redhat.com>
159
160 PR c/107127
161 * c-gimplify.cc (c_genericize): Use walk_tree_without_duplicates
162 instead of walk_tree for c_genericize_control_r.
163
1642022-11-23 Jakub Jelinek <jakub@redhat.com>
165
166 * c.opt (fcontract-assumption-mode=, fcontract-continuation-mode=,
167 fcontract-role=, fcontract-semantic=): Add RejectNegative.
168 (fcontract-build-level=): Terminate description with dot.
169
fb98ede8
GA
1702022-11-19 Jakub Jelinek <jakub@redhat.com>
171
172 * c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_constexpr
173 value from 202207L to 202211L.
174
1752022-11-19 Jeff Chapman II <jchapman@lock3software.com>
176 Andrew Sutton <asutton@lock3software.com>
177 Andrew Marmaduke <amarmaduke@lock3software.com>
178 Michael Lopez <mlopez@lock3software.com>
179 Jason Merrill <jason@redhat.com>
180
181 * c.opt: Add contracts flags.
182 * c-cppbuiltin.cc (c_cpp_builtins): Add contracts feature-test
183 macros.
184
80909529
GA
1852022-11-16 Marek Polacek <polacek@redhat.com>
186
187 PR c++/106649
188 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_constexpr for
189 C++23.
190 * c-opts.cc (c_common_post_options): Set warn_invalid_constexpr
191 depending on cxx_dialect.
192 * c.opt (Winvalid-constexpr): New option.
193
1942022-11-16 Jakub Jelinek <jakub@redhat.com>
195
196 * c-common.def (CONCEPT_DECL): New tree, moved here from
197 cp-tree.def.
198 * c-common.cc (c_common_init_ts): Handle CONCEPT_DECL.
199 * c-attribs.cc (handle_deprecated_attribute): Allow deprecated
200 attribute on CONCEPT_DECL.
201
cdc34229
GA
2022022-11-15 Lewis Hyatt <lhyatt@gmail.com>
203
204 * c-opts.cc (c_finish_options): Use special_fname_builtin () rather
205 than a hard-coded string.
206
83d400bd
GA
2072022-11-15 Jakub Jelinek <jakub@redhat.com>
208
209 * c-cppbuiltin.cc (c_cpp_builtins): Bump C++23
210 __cpp_multidimensional_subscript macro value to 202211L.
211
2122022-11-15 Patrick Palka <ppalka@redhat.com>
213
214 PR c++/107638
215 * c-lex.cc (c_common_has_attribute): Return 1 for init_priority
216 iff SUPPORTS_INIT_PRIORITY.
217
2182022-11-14 Martin Liska <mliska@suse.cz>
219
220 Revert:
221 2022-11-09 Martin Liska <mliska@suse.cz>
222
223 * c-target.def: Port to RST.
224
30d77d49
GA
2252022-11-12 Joseph Myers <joseph@codesourcery.com>
226
227 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY.
228
5b6ce16a
GA
2292022-11-11 Jonathan Wakely <jwakely@redhat.com>
230
231 PR c/85487
232 * c-pragma.cc (handle_pragma_ignore): New function.
233 (init_pragma): Register region and endregion pragmas.
234
1cdfd0e5
GA
2352022-11-09 Martin Liska <mliska@suse.cz>
236
237 * c-target.def: Port to RST.
238
05788e9b
GA
2392022-11-05 Lewis Hyatt <lhyatt@gmail.com>
240
241 PR preprocessor/55971
242 * c-ppoutput.cc (adjust_for_newlines): Update comment.
243
d29260ce
GA
2442022-11-03 Jason Merrill <jason@redhat.com>
245
246 * c-opts.cc (c_common_post_options): -fconcepts no longer implies
247 -fconcepts-ts before C++20.
248
3055829a
GA
2492022-10-28 Joseph Myers <joseph@codesourcery.com>
250
251 * c-common.cc (def_fn_type): Call build_function_type for
252 zero-argument variable-argument function.
253 (c_common_nodes_and_builtins): Build default_function_type with
254 build_function_type.
255 * c.opt (fallow-parameterless-variadic-functions): Mark as ignored
256 option.
257
2582022-10-28 Joseph Myers <joseph@codesourcery.com>
259
260 PR c/61469
261 * c-common.h (ENUM_UNDERLYING_TYPE, ENUM_FIXED_UNDERLYING_TYPE_P):
262 New. Moved from cp/cp-tree.h.
263 * c-warn.cc (warnings_for_convert_and_check): Do not consider
264 conversions to enum with underlying type bool to overflow.
265
486a5037
GA
2662022-10-26 Marek Polacek <polacek@redhat.com>
267
268 PR c++/106393
269 * c.opt (Wdangling-reference): New.
270
87f9c4a4
GA
2712022-10-19 Joseph Myers <joseph@codesourcery.com>
272
273 * c-format.h (enum format_lengths): Add FMT_LEN_w8, FMT_LEN_w16,
274 FMT_LEN_w32, FMT_LEN_w64, FMT_LEN_wf8, FMT_LEN_wf16, FMT_LEN_wf32
275 and FMT_LEN_wf64.
276 (NOARGUMENTS, NOLENGTHS): Update definitions.
277 (T_I8, T2X_I8, T_I16, T2X_I16, T_I32, T2X_I32, T_I64, T2X_I64)
278 (T_U8, T2X_U8, T_U16, T2X_U16, T_U32, T2X_U32, T_U64, T2X_U64)
279 (T_IF8, T2X_IF8, T_IF16, T2X_IF16, T_IF32, T2X_IF32, T_IF64)
280 (T2X_IF64, T_UF8, T2X_UF8, T_UF16, T2X_UF16, T_UF32, T2X_UF32)
281 (T_UF64, T2X_UF64): New macros.
282 * c-format.cc (printf_length_specs, scanf_length_specs): Add wN
283 and wfN length modifiers.
284 (print_char_table, scan_char_table): Add entries using wN and wfN
285 length modifiers.
286
21de009f
GA
2872022-10-18 Joseph Myers <joseph@codesourcery.com>
288
289 PR c/36113
290 * c-common.cc (c_common_type_for_size): Add fallback to
291 widest_unsigned_literal_type_node or
292 widest_integer_literal_type_node for precision that may not
293 exactly match the precision of those types.
294
baeec7cc
GA
2952022-10-14 Jakub Jelinek <jakub@redhat.com>
296
297 * c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node,
298 predefine __BFLT16_*__ macros and for C++23 also
299 __STDCPP_BFLOAT16_T__. Predefine bfloat16_type_node related
300 macros for -fbuilding-libgcc.
301 * c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16.
302
3032022-10-14 Jakub Jelinek <jakub@redhat.com>
304
305 PR middle-end/323
306 PR c++/107097
307 * c-common.def (EXCESS_PRECISION_EXPR): Remove comment part about
308 the tree being specific to C/ObjC.
309 * c-opts.cc (c_common_post_options): Handle flag_excess_precision
310 in C++ the same as in C.
311 * c-lex.cc (interpret_float): Set const_type to excess_precision ()
312 even for C++.
313
621a911d
GA
3142022-10-13 Joseph Myers <joseph@codesourcery.com>
315
316 * c-cppbuiltin.cc (builtin_define_float_constants): Do not use
317 value 2 for *_IS_IEC_60559.
318
781f477a
GA
3192022-10-12 Lewis Hyatt <lhyatt@gmail.com>
320
321 PR preprocessor/60014
322 PR preprocessor/60723
323 * c-ppoutput.cc (class token_streamer): Remove member
324 line_marker_emitted to...
325 (token_streamer::stream): ...a local variable here. Set
326 print.prev_was_system_token on all code paths.
327
27bfe54e
GA
3282022-10-10 Nathan Sidwell <nathan@acm.org>
329
330 * c-opts.cc (c_common_post_options): Bump abi to 18.
331
3322022-10-10 Marek Polacek <polacek@redhat.com>
333
334 PR c++/106937
335 * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU
336 attributes here.
337 (c_pretty_printer::direct_abstract_declarator): Print the standard [[]]
338 attributes here.
339 (pp_c_attributes): Remove.
340 (pp_c_attributes_display): Print the [[]] form if appropriate. Use
341 get_attribute_name. Don't print a trailing space when printing the
342 [[]] form.
343 * c-pretty-print.h (pp_c_attributes): Remove.
344
9ff6c33e
GA
3452022-10-07 Qing Zhao <qing.zhao@oracle.com>
346
347 * c-attribs.cc (handle_strict_flex_array_attribute): New function.
348 (c_common_attribute_table): New item for strict_flex_array.
349 * c.opt: (fstrict-flex-arrays): New option.
350 (fstrict-flex-arrays=): New option.
351
3522022-10-07 Martin Liska <mliska@suse.cz>
353
354 * name-hint.h: Use std::move.
355
3562022-10-07 Jakub Jelinek <jakub@redhat.com>
357
358 * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute
359 only in gnu namespace or as standard attribute, treat fallthrough
360 attributes in other namespaces like any other unknown attribute.
361
629d04d3
GA
3622022-10-06 Joseph Myers <joseph@codesourcery.com>
363
364 * c-common.cc (c_common_reswords): Mark typeof as D_EXT11. Add
365 typeof_unqual.
366 * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL.
367 (D_EXT11): New macro. Values of subsequent macros updated.
368
3692022-10-06 Jakub Jelinek <jakub@redhat.com>
370
371 PR c++/106654
372 * c-attribs.cc (handle_assume_attribute): New function.
373 (c_common_attribute_table): Add entry for assume attribute.
374 * c-lex.cc (c_common_has_attribute): Handle
375 __have_cpp_attribute (assume).
376
85872a69
GA
3772022-10-04 Jakub Jelinek <jakub@redhat.com>
378
379 * c-omp.cc (c_omp_directives): Uncomment begin declare target
380 entry.
381
69fd6dcc
GA
3822022-10-03 Patrick Palka <ppalka@redhat.com>
383
384 * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of
385 RID_IS_SAME_AS.
386
3872022-10-03 Joseph Myers <joseph@codesourcery.com>
388
389 * c-cppbuiltin.cc (builtin_define_float_constants): Do not
390 special-case __*_EPSILON__ setting for IBM long double for C2x.
391
3a221b73
GA
3922022-09-30 Patrick Palka <ppalka@redhat.com>
393
394 * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle
395 C++ traits.
396 * c-common.h (enum rid): Likewise.
397
bbdcdf5c
GA
3982022-09-29 Joseph Myers <joseph@codesourcery.com>
399
400 * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for
401 C.
402
4032022-09-29 Patrick Palka <ppalka@redhat.com>
404
405 * c-common.cc (c_common_reswords): Add __remove_cv,
406 __remove_reference and __remove_cvref.
407 * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
408 and RID_REMOVE_CVREF.
409
1f16a020
GA
4102022-09-27 Marek Polacek <polacek@redhat.com>
411
412 PR c++/101165
413 PR c++/106882
414 * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move.
415
4162022-09-27 Marek Polacek <polacek@redhat.com>
417
418 * c-format.cc (c_keywords): Drop nothrow.
419
4202022-09-27 Jakub Jelinek <jakub@redhat.com>
421
422 PR c++/106651
423 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
424 __cpp_static_call_operator=202207L for C++23.
425
4262022-09-27 Jakub Jelinek <jakub@redhat.com>
427
428 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME,
429 PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN. Rename
430 PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
431 * c-pragma.cc (omp_pragmas): Add assumes and begin.
432 For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
433 (omp_pragmas_simd): Add assume.
434 * c-common.h (c_omp_directives): Declare.
435 * c-omp.cc (omp_directives): Rename to ...
436 (c_omp_directives): ... this. No longer static. Uncomment
437 assume, assumes, begin assumes and end assumes entries.
438 In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET
439 to PRAGMA_OMP_END.
440 (c_omp_categorize_directive): Adjust for omp_directives to
441 c_omp_directives renaming.
442
4432022-09-27 Jakub Jelinek <jakub@redhat.com>
444
445 PR c++/106652
446 PR c++/85518
447 * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
448 _Float{32,64,128}x flags from D_CONLY to 0.
449 (shorten_binary_op): Punt if common_type returns error_mark_node.
450 (shorten_compare): Likewise.
451 (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
452 and _Float{32,64,128}x builtin types if available. For C++
453 clear float128t_type_node.
454 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
455 __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
456 * c-lex.cc (interpret_float): For q/Q suffixes prefer
457 float128t_type_node over float128_type_node. Allow
458 {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
459 for C++20 and older. Allow {f,F}{32,64,128}x suffixes for C++
460 with pedwarn. Don't call excess_precision_type for C++.
461
220c4d8e
GA
4622022-09-26 Marek Polacek <polacek@redhat.com>
463
464 PR c++/106656
465 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t
466 for C++20.
467
4afaeaab
GA
4682022-09-23 Marek Polacek <polacek@redhat.com>
469
470 PR c++/106784
471 * c-common.cc (c_common_reswords): Add __is_convertible and
472 __is_nothrow_convertible.
473 * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and
474 RID_IS_NOTHROW_CONVERTIBLE.
475
279c6715
GA
4762022-09-22 David Malcolm <dmalcolm@redhat.com>
477
478 PR c/106830
479 * c-warn.cc (check_for_xor_used_as_pow): Don't try checking
480 values that don't fit in uhwi.
481
d0fc05e8
GA
4822022-09-15 Richard Biener <rguenther@suse.de>
483
484 * c-common.h (build_void_list_node): Remove.
485 * c-common.cc (c_common_nodes_and_builtins): Do not initialize
486 void_list_node.
487
861d1a11
GA
4882022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
489
490 * c-format.cc (convert_format_name_to_system_name): Fix warning.
491
fe2a8ce9
GA
4922022-09-07 Joseph Myers <joseph@codesourcery.com>
493
494 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY
495 for alignas, alignof, bool, false, static_assert, thread_local and
496 true.
497
4982022-09-07 Jakub Jelinek <jakub@redhat.com>
499
500 * c.opt (Winvalid-utf8): Use ObjC instead of objC. Remove
501 " in comments" from description.
502 (Wunicode): New option.
503
25aeb922
GA
5042022-09-06 Jakub Jelinek <jakub@redhat.com>
505
506 PR c/106836
507 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
508
83f2f228
GA
5092022-09-03 Jakub Jelinek <jakub@redhat.com>
510
511 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
512 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
513 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
514 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
515
c64b0947
GA
5162022-09-02 David Malcolm <dmalcolm@redhat.com>
517
518 PR c/90885
519 * c-common.h (check_for_xor_used_as_pow): New decl.
520 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
521 * c-warn.cc (check_for_xor_used_as_pow): New.
522 * c.opt (Wxor-used-as-pow): New.
523
bb0a1556
GA
5242022-09-01 Jason Merrill <jason@redhat.com>
525
526 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
527 char8_t.
528 (braced_list_to_string): Check for char-sized elements.
529
5302022-09-01 Jakub Jelinek <jakub@redhat.com>
531
532 PR c++/106655
533 * c.opt (-Winvalid-utf8): New warning.
534 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
535 Set cpp_opts->cpp_input_charset_explicit.
536 (c_common_post_options): If -finput-charset=UTF-8 is explicit
537 in C++23, enable -Winvalid-utf8 by default and if -pedantic
538 or -pedantic-errors, make it a pedwarn.
539
542c60c4
GA
5402022-08-31 Joseph Myers <joseph@codesourcery.com>
541
542 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
543 for LABEL_DECL.
544 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
545 decl_attributes.
546 * c-common.h (do_case, c_add_case_label): Update declarations.
547 * c-lex.cc (c_common_has_attribute): For C, produce a result of
548 201910 for fallthrough and 202106 for maybe_unused.
549
16f542d6
GA
5502022-08-26 Marek Polacek <polacek@redhat.com>
551
552 PR c++/81159
553 * c.opt (Wself-move): New option.
554
5552022-08-26 Jakub Jelinek <jakub@redhat.com>
556
557 * c-common.cc (check_builtin_function_arguments): Handle
558 BUILT_IN_ISSIGNALING.
559
5602022-08-26 Jakub Jelinek <jakub@redhat.com>
561
562 PR c++/106648
563 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
564 __cpp_named_character_escapes to 202207L.
565
5d4389dc
GA
5662022-08-25 Marek Polacek <polacek@redhat.com>
567
568 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
569 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
570 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
571 (struct c_common_resword): Resize the disable member.
572 (D_C2X): Add.
573 (nullptr_node): Define.
574 (nullptr_type_node): Define.
575 (NULLPTR_TYPE_P): Define.
576 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
577 NULLPTR_TYPE.
578 (c_pretty_printer::direct_abstract_declarator): Likewise.
579 (c_pretty_printer::constant): Likewise.
580
47a61e65
GA
5812022-08-16 Tom Honermann <tom@honermann.net>
582
583 PR c++/106423
584 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
585 diagnostics in C++20 and later.
586 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
587
5cd525f0
GA
5882022-08-11 Marek Polacek <polacek@redhat.com>
589
590 PR middle-end/102633
591 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
592 suppress_warning here.
593
5f17badb
GA
5942022-08-08 Tom Honermann <tom@honermann.net>
595
596 PR preprocessor/106426
597 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
598 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
599
6002022-08-08 Tom Honermann <tom@honermann.net>
601
602 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
603 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
604 enabled.
605 * c-opts.cc (c_common_post_options): Set flag_char8_t if
606 targeting C2x.
607
4a7274dd
GA
6082022-07-31 Lewis Hyatt <lhyatt@gmail.com>
609
610 PR c++/66290
611 * c-common.h: Rename global done_lexing to
612 override_libcpp_locations.
613 * c-common.cc (c_cpp_diagnostic): Likewise.
614 * c-opts.cc (c_common_finish): Set override_libcpp_locations
615 (formerly done_lexing) immediately prior to calling cpp_finish ().
616
1e2c5f4c
GA
6172022-07-27 Lewis Hyatt <lhyatt@gmail.com>
618
619 * c-ppoutput.cc (token_streamer::stream): Update input_location
620 prior to streaming each token.
621
0e6fa997
GA
6222022-07-23 Immad Mir <mirimmad@outlook.com>
623
624 * c-attribs.cc: (c_common_attribute_table): add three new attributes
625 namely: fd_arg, fd_arg_read and fd_arg_write.
626 (handle_fd_arg_attribute): New.
627
bdc7b765
GA
6282022-07-15 Marek Polacek <polacek@redhat.com>
629
630 PR c++/104477
631 * c-common.cc (c_common_reswords): Add
632 __reference_constructs_from_temporary and
633 __reference_converts_from_temporary.
634 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
635 RID_REF_CONVERTS_FROM_TEMPORARY.
636
6372022-07-15 Jonathan Wakely <jwakely@redhat.com>
638
639 * c-format.cc (class range_label_for_format_type_mismatch):
640 Adjust to new label_text API.
641
c72d4714
GA
6422022-07-11 Lewis Hyatt <lhyatt@gmail.com>
643
644 PR preprocessor/106252
645 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
646 option argument prior to verifying the option was found.
647
6345c414
GA
6482022-07-07 David Malcolm <dmalcolm@redhat.com>
649
650 * c-format.cc (range_label_for_format_type_mismatch::get_text):
651 Update for removal of label_text::maybe_free in favor of automatic
652 memory management.
653
4bc92c3b
GA
6542022-07-06 Lewis Hyatt <lhyatt@gmail.com>
655
656 PR preprocessor/53920
657 PR c++/53431
658 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
659 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
660 (c_pp_stream_token): Declare.
661 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
662 pragmas to...
663 (should_output_pragmas): ...here. New function.
664 (token_streamer::stream): Support handling early pragmas.
665 (do_line_change): Likewise.
666 (c_pp_stream_token): New function.
667 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
668 (pragma_diagnostic_lex_normal): New function. Moved logic for
669 interpreting GCC diagnostic pragmas here.
670 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
671 directly from libcpp.
672 (handle_pragma_diagnostic): Refactor into helper function...
673 (handle_pragma_diagnostic_impl): ...here. New function.
674 (handle_pragma_diagnostic_early): New function.
675 (handle_pragma_diagnostic_early_pp): New function.
676 (struct pragma_ns_name): Renamed to...
677 (struct pragma_pp_data): ...this. Add new "early_handler" member.
678 (c_register_pragma_1): Support early pragmas in the preprocessor.
679 (c_register_pragma_with_early_handler): New function.
680 (c_register_pragma): Support the new early handlers in struct
681 internal_pragma_handler.
682 (c_register_pragma_with_data): Likewise.
683 (c_register_pragma_with_expansion): Likewise.
684 (c_register_pragma_with_expansion_and_data): Likewise.
685 (c_invoke_early_pragma_handler): New function.
686 (c_pp_invoke_early_pragma_handler): New function.
687 (init_pragma): Add early pragma support for diagnostic pragmas.
688 * c-pragma.h (struct internal_pragma_handler): Add new early handler
689 members.
690 (c_register_pragma_with_early_handler): Declare.
691 (c_invoke_early_pragma_handler): Declare.
692 (c_pp_invoke_early_pragma_handler): Declare.
693
d1f3a3ff
GA
6942022-07-05 Marek Polacek <polacek@redhat.com>
695
696 PR c++/105626
697 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
698 u8 strings.
699
ed974488
GA
7002022-07-01 Marek Polacek <polacek@redhat.com>
701
702 PR c++/106111
703 * c-common.h (enum rid): Update RID_LAST_CXX20.
704
976196b3
GA
7052022-06-30 Jonathan Wakely <jwakely@redhat.com>
706
707 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
708 names.
709
84c2131d
GA
7102022-06-24 Jason Merrill <jason@redhat.com>
711
712 PR c++/87729
713 PR c++/20423
714 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
715
4390e7bf
GA
7162022-06-18 Jakub Jelinek <jakub@redhat.com>
717
718 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
719 Use flag_sanitize_trap & SANITIZE_??? instead of
720 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
721 and flag_sanitize_trap differs for them, emit __builtin_trap only
722 for the comparison where trap is requested.
723 (ubsan_instrument_vla, ubsan_instrument_return): Use
724 lag_sanitize_trap & SANITIZE_??? instead of
725 flag_sanitize_undefined_trap_on_error.
726
c3642271
GA
7272022-06-13 Jason Merrill <jason@redhat.com>
728
729 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
730
d9176e64
GA
7312022-05-27 Marek Polacek <polacek@redhat.com>
732
733 PR c/90658
734 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
735
7362022-05-27 Jakub Jelinek <jakub@redhat.com>
737
738 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
739
57f2ce6a
GA
7402022-05-20 David Malcolm <dmalcolm@redhat.com>
741
742 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
743 and "override".
744 * c-pretty-print.h: Likewise.
745
1cda629f
GA
7462022-05-18 Marek Polacek <polacek@redhat.com>
747
748 PR c/105131
749 * c.opt (Wenum-int-mismatch): New.
750
7512022-05-18 Marek Polacek <polacek@redhat.com>
752
753 PR c++/105497
754 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
755 enumerator when it was marked with attribute unused.
756
7572022-05-18 Eric Botcazou <ebotcazou@adacore.com>
758
759 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
760 floating-point complex types.
761 <POINTER_TYPE>: Do not use limited_with clause if the designated
762 type is a scalar type.
763
3d9439b1
GA
7642022-05-17 Jakub Jelinek <jakub@redhat.com>
765
766 * c-omp.cc (c_finish_omp_depobj): Handle
767 OMP_CLAUSE_DEPEND_INOUTSET.
768
702bd11f
GA
7692022-05-16 Jason Merrill <jason@redhat.com>
770
771 PR c/105492
772 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
773 here.
774
7752022-05-16 Martin Liska <mliska@suse.cz>
776
777 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
778 (c_common_nodes_and_builtins): Likewise.
779 * c-format.cc (check_tokens): Likewise.
780 (check_plain): Likewise.
781 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
782 (init_pragma): Likewise.
783 * known-headers.cc (get_string_macro_hint): Likewise.
784 (get_stdlib_header_for_name): Likewise.
785 * c-attribs.cc: Likewise.
786
9df4ffe4
GA
7872022-05-13 Richard Biener <rguenther@suse.de>
788
789 * c-omp.cc: Remove gimple-fold.h include.
790
49ace834
GA
7912022-05-12 Jakub Jelinek <jakub@redhat.com>
792
793 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
794 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
795 if null_pointer_node.
796
d0d513b5
GA
7972022-05-11 Martin Liska <mliska@suse.cz>
798
799 PR target/105355
800 * c-opts.cc (c_common_handle_option): Change option name.
801 * c.opt: Remove Joined and use Separate option.
802
bd022ff9
GA
8032022-05-09 Alex Coplan <alex.coplan@arm.com>
804
805 * c-common.h (get_dump_info): Delete.
806 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
807 from the global dump_manager instead of the (now obsolete)
808 get_dump_info.
809 * c-opts.cc (original_dump_file): Delete.
810 (original_dump_flags): Delete.
811 (c_common_parse_file): Switch to using global dump_manager to
812 manage the original dump file; fix leak of dump file.
813 (get_dump_info): Delete.
814
a1947c92
GA
8152022-05-07 Marek Polacek <polacek@redhat.com>
816
817 PR c++/101833
818 PR c++/47634
819 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
820 with FN being either a function declaration or function type. Use
821 maybe_adjust_arg_pos_for_attribute.
822 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
823 check_function_format.
824 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
825 (positional_argument): Adjust.
826 * c-format.cc (get_constant): Rename to ...
827 (validate_constant): ... this. Take EXPR by reference. Return bool
828 instead of tree.
829 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
830 return value of validate_constant.
831 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
832 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
833 (check_function_format): Adjust a parameter name.
834 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
835
3e7db517
GA
8362022-05-04 Marek Polacek <polacek@redhat.com>
837
838 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
839 char to int.
840
95874f95
GA
8412022-04-30 Jason Merrill <jason@redhat.com>
842
843 PR c/100545
844 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
845 and typedef.
846 * c-common.cc (set_underlying_type): Add assert.
847
01ad093b
GA
8482022-04-26 Patrick Palka <ppalka@redhat.com>
849
850 PR c++/105304
851 * c-common.cc (verify_tree) [restart]: Move up to before the
852 NULL test.
853
da066c42
GA
8542022-04-11 Jakub Jelinek <jakub@redhat.com>
855
856 PR c++/105186
857 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
858 and __int%d__ builtin types, initialize corresponding ridpointers
859 entry.
860
150ab50f
GA
8612022-03-30 Marek Polacek <polacek@redhat.com>
862
863 PR c++/101030
864 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
865 conversion_warning when OP1 is null.
866
8672022-03-30 Thomas Schwinge <thomas@codesourcery.com>
868
869 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
870 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
871 option properties.
872
8732022-03-30 Thomas Schwinge <thomas@codesourcery.com>
874
875 * c.opt (Wuse-after-free): Remove.
876
8772022-03-30 Thomas Schwinge <thomas@codesourcery.com>
878
879 * c.opt (Warray-bounds): Remove.
880
d2906412
GA
8812022-03-26 Thomas Schwinge <thomas@codesourcery.com>
882
883 * c.opt: Properly quote comment.
884
31e989a2
GA
8852022-03-25 Eric Botcazou <ebotcazou@adacore.com>
886
887 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
888 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
889 the referenced type instead. Deal with the anonymous original type
890 of a typedef'ed type. In the actual access case, follow the chain
891 of external subtypes.
892 <TYPE_DECL>: Tidy up control flow.
893
d156bb87
GA
8942022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
895
896 * c-ada-spec.cc: Change array length
897
d7f00da1
GA
8982022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
899
900 * c-common.cc (c_family_tests): Call the new tests.
901 * c-common.h (c_diagnostic_tests): Declare.
902 (c_opt_problem_cc_tests): Likewise.
903
9042022-03-19 Jakub Jelinek <jakub@redhat.com>
905
906 PR c++/101515
907 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
908 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
909 be printed.
910
9fc8f278
GA
9112022-03-16 Christophe Lyon <christophe.lyon@arm.com>
912 Roger Sayle <roger@nextmovesoftware.com>
913
914 PR c/98198
915 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
916
9172022-03-16 Patrick Palka <ppalka@redhat.com>
918
919 PR c++/96780
920 * c.opt: Add -ffold-simple-inlines.
921
b9756c08
GA
9222022-03-13 Tobias Burnus <tobias@codesourcery.com>
923
924 * c-target.def (check_string_object_format_arg): Fix description typo.
925
57eeedda
GA
9262022-03-12 Thomas Schwinge <thomas@codesourcery.com>
927
928 PR other/65095
929 * c-common.h (c_omp_map_clause_name): Remove.
930 * c-omp.cc (c_omp_map_clause_name): Remove.
931
8cc4f9cd
GA
9322022-03-09 Jakub Jelinek <jakub@redhat.com>
933
934 PR c/104711
935 * c-opts.cc (c_common_post_options): Don't enable
936 -Wshift-negative-value from -Wextra for C++20 or later.
937 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
938 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
939 instead of TYPE_UNSIGNED.
940
e6533e2e
GA
9412022-03-07 Jakub Jelinek <jakub@redhat.com>
942
943 * c-attribs.cc: Fix up duplicated word issue in a comment.
944
12d4552e
GA
9452022-03-01 Martin Liska <mliska@suse.cz>
946
947 PR ipa/104533
948 * c-attribs.cc (handle_target_clones_attribute): Use
949 get_target_clone_attr_len and report warning soon.
950
0bdb0498
GA
9512022-02-17 Jonathan Wakely <jwakely@redhat.com>
952
953 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
954 (handle_pragma_weak): Likewise.
955 (handle_pragma_scalar_storage_order): Likewise.
956 (handle_pragma_redefine_extname): Likewise.
957 (handle_pragma_visibility): Likewise.
958 (handle_pragma_diagnostic): Likewise.
959 (handle_pragma_target): Likewise.
960 (handle_pragma_optimize): Likewise.
961 (handle_pragma_push_options): Likewise.
962 (handle_pragma_pop_options): Likewise.
963 (handle_pragma_reset_options): Likewise.
964 (handle_pragma_message): Likewise.
965 (handle_pragma_float_const_decimal64): Likewise.
966
cb3afcd2
GA
9672022-02-16 Jakub Jelinek <jakub@redhat.com>
968
969 PR c/104531
970 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
971 build_binary_op with LT_EXPR and only if that doesn't return
972 error_mark_node call build_modify_expr.
973
9742022-02-16 Jakub Jelinek <jakub@redhat.com>
975
976 PR c/104510
977 * c-common.cc (shorten_compare): Convert original arguments to
978 the original *restype_ptr when mixing binary and decimal float.
979
1f8a09d2
GA
9802022-02-14 Richard Biener <rguenther@suse.de>
981
982 PR c/104505
983 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
984 internal function calls.
985
e8d68f0a
GA
9862022-02-11 Richard Biener <rguenther@suse.de>
987
988 * c-attribs.cc (c_common_attribute_table): Add entry for
989 vector_mask.
990 (handle_vector_mask_attribute): New.
991
a645583d
GA
9922022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
993
994 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
995 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
996 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
997
3adf509f
GA
9982022-02-09 Jason Merrill <jason@redhat.com>
999
1000 * c-cppbuiltin.cc (c_cpp_builtins): Update values
1001 of __cpp_constexpr and __cpp_concepts for C++20.
1002
bb99171b
GA
10032022-01-24 Marek Polacek <polacek@redhat.com>
1004
1005 PR preprocessor/104030
1006 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
1007
9dd44357
GA
10082022-01-21 Jakub Jelinek <jakub@redhat.com>
1009
1010 PR c++/104148
1011 * c-common.h (check_function_arguments_recurse): Add for_format
1012 arg.
1013 * c-common.cc (check_function_nonnull): Pass false to
1014 check_function_arguments_recurse's last argument.
1015 (check_function_arguments_recurse): Add for_format argument,
1016 if true, don't stop on warning_suppressed_p.
1017 * c-format.cc (check_format_info): Pass true to
1018 check_function_arguments_recurse's last argument.
1019
fe1ad141
GA
10202022-01-19 David Malcolm <dmalcolm@redhat.com>
1021
1022 * c-common.cc (c_common_c_tests): Rename to...
1023 (c_common_cc_tests): ...this.
1024 (c_family_tests): Update calls for .c to .cc renaming.
1025 * c-common.h (c_format_c_tests): Rename to...
1026 (c_format_cc_tests): ...this.
1027 (c_indentation_c_tests): Rename to...
1028 (c_indentation_cc_tests): ...this.
1029 (c_pretty_print_c_tests): Rename to...
1030 (c_pretty_print_cc_tests): ...this.
1031 * c-format.cc (c_format_c_tests): Rename to...
1032 (c_format_cc_tests): ...this.
1033 * c-indentation.cc (c_indentation_c_tests): Rename to...
1034 (c_indentation_cc_tests): ...this.
1035 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
1036 (c_pretty_print_cc_tests): ...this.
1037
fc829782
GA
10382022-01-17 Martin Liska <mliska@suse.cz>
1039
1040 * c-ada-spec.cc: Rename .c names to .cc.
1041 * c-ada-spec.h: Likewise.
1042 * c-common.cc (c_build_vec_convert): Likewise.
1043 (warning_candidate_p): Likewise.
1044 * c-common.h (enum rid): Likewise.
1045 (build_real_imag_expr): Likewise.
1046 (finish_label_address_expr): Likewise.
1047 (c_get_substring_location): Likewise.
1048 (c_build_bind_expr): Likewise.
1049 (conflict_marker_get_final_tok_kind): Likewise.
1050 (c_parse_error): Likewise.
1051 (check_missing_format_attribute): Likewise.
1052 (invalid_array_size_error): Likewise.
1053 (warn_for_multistatement_macros): Likewise.
1054 (build_attr_access_from_parms): Likewise.
1055 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
1056 * c-format.cc: Likewise.
1057 * c-gimplify.cc (c_gimplify_expr): Likewise.
1058 * c-indentation.h: Likewise.
1059 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
1060 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
1061 * c-opts.cc (c_common_post_options): Likewise.
1062 (set_std_cxx23): Likewise.
1063 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
1064 * c-pretty-print.h: Likewise.
1065
10662022-01-17 Martin Liska <mliska@suse.cz>
1067
1068 * c-ada-spec.c: Moved to...
1069 * c-ada-spec.cc: ...here.
1070 * c-attribs.c: Moved to...
1071 * c-attribs.cc: ...here.
1072 * c-common.c: Moved to...
1073 * c-common.cc: ...here.
1074 * c-cppbuiltin.c: Moved to...
1075 * c-cppbuiltin.cc: ...here.
1076 * c-dump.c: Moved to...
1077 * c-dump.cc: ...here.
1078 * c-format.c: Moved to...
1079 * c-format.cc: ...here.
1080 * c-gimplify.c: Moved to...
1081 * c-gimplify.cc: ...here.
1082 * c-indentation.c: Moved to...
1083 * c-indentation.cc: ...here.
1084 * c-lex.c: Moved to...
1085 * c-lex.cc: ...here.
1086 * c-omp.c: Moved to...
1087 * c-omp.cc: ...here.
1088 * c-opts.c: Moved to...
1089 * c-opts.cc: ...here.
1090 * c-pch.c: Moved to...
1091 * c-pch.cc: ...here.
1092 * c-ppoutput.c: Moved to...
1093 * c-ppoutput.cc: ...here.
1094 * c-pragma.c: Moved to...
1095 * c-pragma.cc: ...here.
1096 * c-pretty-print.c: Moved to...
1097 * c-pretty-print.cc: ...here.
1098 * c-semantics.c: Moved to...
1099 * c-semantics.cc: ...here.
1100 * c-ubsan.c: Moved to...
1101 * c-ubsan.cc: ...here.
1102 * c-warn.c: Moved to...
1103 * c-warn.cc: ...here.
1104 * cppspec.c: Moved to...
1105 * cppspec.cc: ...here.
1106 * stub-objc.c: Moved to...
1107 * stub-objc.cc: ...here.
1108
9248ee41
GA
11092022-01-15 Martin Sebor <msebor@redhat.com>
1110
1111 PR c/63272
1112 * c.opt (-Wdangling-pointer): New option.
1113
11142022-01-15 Martin Sebor <msebor@redhat.com>
1115
1116 PR tree-optimization/80532
1117 * c.opt (-Wuse-after-free): New options.
1118
617db51d
GA
11192022-01-14 David Malcolm <dmalcolm@redhat.com>
1120
1121 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
1122 (handle_tainted_args_attribute): New.
1123
ad3f0d08
GA
11242022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
1125 Jason Merrill <jason@redhat.com>
1126
1127 PR c++/70417
1128 * c.opt: Added -Wmissing-template-keyword.
1129
11302022-01-13 Richard Biener <rguenther@suse.de>
1131
1132 PR c/104002
1133 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
1134
02a8a01b
GA
11352022-01-12 Martin Liska <mliska@suse.cz>
1136
1137 PR target/103804
1138 * c-attribs.c (handle_optimize_attribute): Do not call
1139 cl_optimization_compare if we seen an error.
1140
01a254e3
GA
11412022-01-11 Jakub Jelinek <jakub@redhat.com>
1142
1143 PR c/101537
1144 PR c/103881
1145 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
1146 and BIT_XOR_EXPR.
1147
d9450aa0
GA
11482022-01-10 Richard Biener <rguenther@suse.de>
1149
1150 PR middle-end/101530
1151 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
1152 in a TARGET_EXPR to force a temporary.
1153
11ce8d04
GA
11542022-01-06 Marek Polacek <polacek@redhat.com>
1155
1156 PR c++/103758
1157 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
1158 diagnostic messages.
1159 (handle_pragma_diagnostic): Likewise.
1160
a4ae8c37
GA
11612022-01-03 Marek Polacek <polacek@redhat.com>
1162
1163 PR c++/103758
1164 * c-format.c (check_tokens): Accept "decl-specifier*".
1165
11662022-01-03 Jakub Jelinek <jakub@redhat.com>
1167
1168 PR c++/103600
1169 * c-attribs.c (handle_non_overlapping_attribute): New function.
1170 (c_common_attribute_table): Add "non overlapping" attribute.
1171
84790a9d
GA
11722021-12-30 Jakub Jelinek <jakub@redhat.com>
1173
1174 PR c++/103012
1175 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
1176 cpp_define_unused/cpp_undef calls with forced token locations
1177 BUILTINS_LOCATION.
1178
d1e111da
GA
11792021-12-27 Patrick Palka <ppalka@redhat.com>
1180
1181 PR c++/103700
1182 * c-common.c (pointer_int_sum): When quiet, return
1183 error_mark_node for an incomplete pointed-to type and don't
1184 call size_in_bytes_loc.
1185
2554e2da
GA
11862021-12-17 Jason Merrill <jason@redhat.com>
1187
1188 PR c++/103681
1189 * c-opts.c (c_common_post_options): Update defaults.
1190
774269aa
GA
11912021-12-16 Martin Liska <mliska@suse.cz>
1192
1193 PR target/103709
1194 * c-pragma.c (handle_pragma_pop_options): Do not check
1195 global options modification when an error is seen in parsing
1196 of options (pragmas or attributes).
1197
c8dcf64b
GA
11982021-12-12 Jonathan Wakely <jwakely@redhat.com>
1199
1200 * known-headers.cc: Define INCLUDE_MEMORY instead of
1201 INCLUDE_UNIQUE_PTR.
1202 * name-hint.h: Likewise.
1203 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
1204
4b4839e3
GA
12052021-12-09 Jakub Jelinek <jakub@redhat.com>
1206
1207 PR pch/71934
1208 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
1209 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
1210
03a9bd05
GA
12112021-12-03 Jakub Jelinek <jakub@redhat.com>
1212
1213 PR pch/71934
1214 * c-pch.c (struct c_pch_validity): Remove pch_init member.
1215 (pch_init): Don't initialize v.pch_init.
1216 (c_common_valid_pch): Don't warn and punt if .text addresses change.
1217
40fa651e
GA
12182021-12-01 Jason Merrill <jason@redhat.com>
1219
1220 PR c++/103310
1221 * c.opt: Add -fconstexpr-fp-except.
1222
87cd82c8
GA
12232021-11-29 Richard Biener <rguenther@suse.de>
1224
1225 * c-format.c (check_format_string): Remove spurious
1226 gcc_unreachable.
1227
12282021-11-29 Richard Biener <rguenther@suse.de>
1229
1230 * c-opts.c (c_common_post_options): Remove unreachable return.
1231 * c-pragma.c (handle_pragma_target): Likewise.
1232 (handle_pragma_optimize): Likewise.
1233
091ccc06
GA
12342021-11-25 Jakub Jelinek <jakub@redhat.com>
1235
1236 PR c++/102611
1237 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
1238 default for C++23 regardless of warn_deprecated.
1239 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1240 __cpp_multidimensional_subscript=202110L for C++23.
1241
e1d43592
GA
12422021-11-23 Martin Sebor <msebor@redhat.com>
1243
1244 PR middle-end/88232
1245 * c.opt: Add -Winfinite-recursion.
1246
9c077398
GA
12472021-11-19 Martin Sebor <msebor@redhat.com>
1248
1249 PR c++/33925
1250 PR c/102867
1251 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
1252 and improve handling tof defined symbols.
1253
12542021-11-19 Martin Liska <mliska@suse.cz>
1255
1256 Revert:
1257 2021-11-18 Martin Liska <mliska@suse.cz>
1258
1259 * c-gimplify.c (genericize_c_loop): Use option directly.
1260
483092d3
GA
12612021-11-18 Matthias Kretz <m.kretz@gsi.de>
1262
1263 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
1264 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
1265
12662021-11-18 Martin Liska <mliska@suse.cz>
1267
1268 * c-gimplify.c (genericize_c_loop): Use option directly.
1269
280d2838
GA
12702021-11-17 Martin Uecker <uecker@gcc.gnu.org>
1271
1272 PR c/91038
1273 PR c/29970
1274 * c-common.c (pointer_int_sum): Make sure pointer expressions
1275 are evaluated first when the size expression depends on for
1276 variably-modified types.
1277
12782021-11-17 Marek Polacek <polacek@redhat.com>
1279
1280 PR preprocessor/103026
1281 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
1282
6b1695f4
GA
12832021-11-16 Jason Merrill <jason@redhat.com>
1284
1285 * c-common.c (release_tree_vector): Only cache vecs smaller than
1286 16 elements.
1287
e2b57363
GA
12882021-11-15 Jason Merrill <jason@redhat.com>
1289
1290 * c.opt: Add -fimplicit-constexpr.
1291 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
1292 * c-opts.c (c_common_post_options): Disable below C++14.
1293
12942021-11-15 Jakub Jelinek <jakub@redhat.com>
1295
1296 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
1297 Duplicate to both OMP_TARGET and OMP_TEAMS.
1298
8d36a0d2
GA
12992021-11-10 Marek Polacek <polacek@redhat.com>
1300
1301 PR c++/101940
1302 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
1303 ignored_attributes.
1304
c9b1334e
GA
13052021-11-09 David Malcolm <dmalcolm@redhat.com>
1306
1307 * c-pragma.c (GCC_BAD_AT): New macro.
1308 (GCC_BAD2_AT): New macro.
1309 (handle_pragma_pack): Use the location of the pertinent token when
1310 issuing diagnostics about invalid constants/actions, and trailing
1311 junk.
1312 (handle_pragma_target): Likewise for non-string "GCC option".
1313 (handle_pragma_message): Likewise for trailing junk.
1314
18ae471f
GA
13152021-11-03 Joseph Myers <joseph@codesourcery.com>
1316
1317 PR c/103031
1318 * c-common.c (convert_and_check): Add argument init_const. Call
1319 convert_init if init_const.
1320 * c-common.h (convert_and_check): Update prototype.
1321 (convert_init): New prototype.
1322
cf82e8d9
GA
13232021-11-01 David Malcolm <dmalcolm@redhat.com>
1324
1325 * c-lex.c (c_lex_with_flags): When complaining about non-printable
1326 CPP_OTHER tokens, set the "escape on output" flag.
1327
04a2cf3f
GA
13282021-10-27 Jakub Jelinek <jakub@redhat.com>
1329
1330 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
1331 POINTER_PLUS_EXPR.
1332 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
1333 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
1334
13352021-10-27 Jakub Jelinek <jakub@redhat.com>
1336
1337 PR c++/102854
1338 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
1339 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
1340 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
1341 conversions temporarily clear the 3rd bit from d->kind while walking
1342 subtrees.
1343 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
1344 if possibly non-rectangular.
1345
ae5c5406
GA
13462021-10-21 Jakub Jelinek <jakub@redhat.com>
1347
1348 PR middle-end/64888
1349 * c-omp.c (c_omp_predefined_variable): Return true also for
1350 ubsan_create_data created artificial variables.
1351
5d5885c9
GA
13522021-10-14 Joseph Myers <joseph@codesourcery.com>
1353
1354 * c-format.c (printf_length_specs, scanf_length_specs)
1355 (print_char_table, scan_char_table): Support DFP formats for C2X.
1356 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
1357 (T2X_D32, T2X_D64, T2X_D128): New macros.
1358
13592021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1360
1361 * c-omp.c (c_omp_check_context_selector): Rename to
1362 omp_check_context_selector and move to omp-general.c.
1363 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
1364 move to omp-general.c.
1365
52055987
GA
13662021-10-12 Joseph Myers <joseph@codesourcery.com>
1367
1368 * c-format.c (print_char_table): Add %b and %B formats.
1369 (scan_char_table): Add %b format.
1370 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
1371 (T2X_UPD, T2X_UIM): New macros.
1372
13732021-10-12 Jakub Jelinek <jakub@redhat.com>
1374
1375 * c-omp.c (c_finish_omp_atomic): Use
1376 clear_padding_type_may_have_padding_p.
1377
ce6eec39
GA
13782021-10-08 Martin Liska <mliska@suse.cz>
1379
1380 * c-opts.c (c_common_post_options): Use new macro
1381 OPTION_SET_P.
1382
50e20ee6
GA
13832021-10-07 Martin Liska <mliska@suse.cz>
1384
1385 * c-common.c (parse_optimize_options): Make
1386 save_opt_decoded_options a pointer type.
1387
57c7ec62
GA
13882021-10-06 Jakub Jelinek <jakub@redhat.com>
1389
1390 PR tree-optimization/102571
1391 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
1392 padding, but the non-padding bits are contiguous set of bytes
1393 by adjusting the memcmp call arguments instead of emitting
1394 __builtin_clear_padding and then comparing all the type's bytes.
1395
13962021-10-06 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR c++/102612
1399 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
1400 __cpp_constexpr to 202110L rather than 201907L.
1401
da9c5f78
GA
14022021-10-04 Marek Polacek <polacek@redhat.com>
1403
1404 PR c++/97573
1405 * c-common.h (do_warn_array_compare): Declare.
1406 * c-warn.c (do_warn_array_compare): New.
1407 * c.opt (Warray-compare): New option.
1408
e3e07b89
GA
14092021-10-02 Iain Sandoe <iain@sandoe.co.uk>
1410
1411 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
1412 NULL, this is not needed.
1413
9d116bcc
GA
14142021-10-01 Martin Sebor <msebor@redhat.com>
1415
1416 PR c/102103
1417 * c-common.c (decl_with_nonnull_addr_p): Handle members.
1418 Check and perform warning suppression.
1419 (c_common_truthvalue_conversion): Enhance warning suppression.
1420
14212021-10-01 Martin Liska <mliska@suse.cz>
1422
1423 PR target/102552
1424 * c-common.c (parse_optimize_options): decoded_options[0] is
3d3b561f
ML
1425 used for program name, so merged_decoded_options should also
1426 respect that.
9d116bcc
GA
1427
14282021-10-01 Jakub Jelinek <jakub@redhat.com>
1429 Richard Biener <rguenther@suse.de>
1430
1431 PR sanitizer/102515
1432 * c-ubsan.c (ubsan_instrument_division): Check the right
1433 flag_sanitize_recover bit, depending on which sanitization
1434 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
1435 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
1436 and SANITIZE_DIVIDE is enabled, neither check is known
1437 to be false and flag_sanitize_recover bits for those two
1438 aren't the same, emit both __ubsan_handle_divrem_overflow
1439 and __ubsan_handle_divrem_overflow_abort calls.
1440
14412021-10-01 Martin Liska <mliska@suse.cz>
1442
1443 * c-common.c (parse_optimize_options): Combine optimize
1444 options with what was provided on the command line.
1445
14462021-10-01 Jakub Jelinek <jakub@redhat.com>
1447
1448 * c-omp.c (c_omp_split_clauses): Also copy
1449 OMP_CLAUSE_ORDER_REPRODUCIBLE.
1450
cf966403
GA
14512021-09-27 Martin Liska <mliska@suse.cz>
1452
1453 * c-opts.c (c_common_init_options_struct): Set also
3d3b561f 1454 x_flag_default_complex_method.
cf966403 1455
e4777439
GA
14562021-09-22 Jakub Jelinek <jakub@redhat.com>
1457
1458 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
1459
62498024
GA
14602021-09-20 Matthias Kretz <m.kretz@gsi.de>
1461
1462 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
1463 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
1464 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
1465 __ROUNDING_MATH__ according to the new optimization flags.
1466
cf74e7b5
GA
14672021-09-18 Jakub Jelinek <jakub@redhat.com>
1468
1469 * c-omp.c (c_omp_split_clauses): Split order clause also to
1470 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
1471
0a4cb439
GA
14722021-09-17 Jakub Jelinek <jakub@redhat.com>
1473
1474 * c-omp.c (c_finish_omp_atomic): Avoid creating
1475 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
1476 create_tmp_var and add a zero initializer to TARGET_EXPRs that
1477 had NULL initializer. When omitting operands after v = x,
1478 use type of v rather than type of x. Fix type of vtmp
1479 TARGET_EXPR.
1480
07985c47
GA
14812021-09-13 Jason Merrill <jason@redhat.com>
1482
1483 * c.opt: Add -Winterference-size.
1484 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
1485 and __GCC_CONSTRUCTIVE_SIZE.
1486
a26206ec
GA
14872021-09-10 Jakub Jelinek <jakub@redhat.com>
1488
1489 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
1490 * c-omp.c: Include gimple-fold.h.
1491 (c_finish_omp_atomic): Add r and weak arguments. Add support for
1492 OpenMP 5.1 atomics.
1493
f84e2f0b
GA
14942021-09-09 qing zhao <qing.zhao@oracle.com>
1495
1496 * c-attribs.c (handle_uninitialized_attribute): New function.
1497 (c_common_attribute_table): Add "uninitialized" attribute.
1498
b6db7cd4
GA
14992021-09-08 liuhongt <hongtao.liu@intel.com>
1500
1501 * c-common.c (excess_precision_mode_join): Update below comments.
1502 (c_ts18661_flt_eval_method): Set excess_precision_type to
1503 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1504 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
1505 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
1506 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1507
b2748138
GA
15082021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
1509
1510 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
1511
7b739540
GA
15122021-09-03 Eric Botcazou <ebotcazou@adacore.com>
1513
1514 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
1515 and -gnatwu warning for the package specification.
1516
e11c6046
GA
15172021-09-01 Iain Sandoe <iain@sandoe.co.uk>
1518
1519 * c-attribs.c (handle_unavailable_attribute): New.
1520
1e2f030b
GA
15212021-08-30 Jason Merrill <jason@redhat.com>
1522
1523 * c.opt: Add -Wmissing-requires.
1524
85d77ac4
GA
15252021-08-25 Lewis Hyatt <lhyatt@gmail.com>
1526
1527 PR other/93067
1528 * c-opts.c (c_common_input_charset_cb): New function.
1529 (c_common_post_options): Call new function
1530 diagnostic_initialize_input_context().
1531
7c9e1645
GA
15322021-08-20 Tobias Burnus <tobias@codesourcery.com>
1533
1534 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
1535 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
1536 "di" and "u", respecitively; fill with BADLEN to match
1537 size of 'types'.
1538 (get_init_dynamic_hwi): Split off from ...
1539 (init_dynamic_diag_info): ... here. Call it.
1540 (init_dynamic_gfc_info): Call it.
1541
15422021-08-20 Jakub Jelinek <jakub@redhat.com>
1543
1544 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
1545 * c-pragma.c (omp_pragmas): Add error directive.
1546 * c-omp.c (omp_directives): Uncomment error directive entry.
1547
6e529985
GA
15482021-08-18 Jakub Jelinek <jakub@redhat.com>
1549
1550 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
1551 * c-pragma.c (omp_pragmas): Add nothing directive.
1552 * c-omp.c (omp_directives): Uncomment nothing directive entry.
1553
2d14d64b
GA
15542021-08-17 Jakub Jelinek <jakub@redhat.com>
1555
1556 PR c++/101539
1557 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
1558 * c-common.c (c_common_reswords): Add __is_layout_compatible.
1559
15602021-08-17 Matt Jacobson <mhjacobson@me.com>
1561
1562 * c-opts.c (c_common_post_options): Default to
1563 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
1564
15652021-08-17 Jakub Jelinek <jakub@redhat.com>
1566
1567 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
1568 * c-pragma.c (omp_pragmas): Add scope construct.
1569 * c-omp.c (omp_directives): Uncomment scope directive entry.
1570
9d1d9fc8
GA
15712021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
1572
1573 * c-cppbuiltin.c (c_cpp_builtins): Define
1574 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
1575
72be20e2
GA
15762021-08-12 Jakub Jelinek <jakub@redhat.com>
1577
1578 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
1579 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
1580 * c-pragma.c (omp_pragmas_simd): Add masked construct.
1581 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
1582 enumerator.
1583 (c_finish_omp_masked): Declare.
1584 * c-omp.c (c_finish_omp_masked): New function.
1585 (c_omp_split_clauses): Handle combined masked constructs.
1586
4d17ca1b
GA
15872021-07-30 Jakub Jelinek <jakub@redhat.com>
1588
1589 PR c++/101539
1590 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
1591 * c-common.c (c_common_reswords): Add
1592 __is_pointer_interconvertible_base_of.
1593
15942021-07-29 Richard Biener <rguenther@suse.de>
1595
1596 PR c/101512
1597 * c-common.c (c_common_mark_addressable_vec): Look through
1598 C_MAYBE_CONST_EXPR even if not at the toplevel.
1599
af3f12e6
GA
16002021-07-27 Martin Sebor <msebor@redhat.com>
1601
1602 PR c/101585
1603 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
1604
ead235f6
GA
16052021-07-23 Jakub Jelinek <jakub@redhat.com>
1606
1607 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
1608 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
1609 and later.
1610
16112021-07-23 Jakub Jelinek <jakub@redhat.com>
1612
1613 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
1614 PRAGMA_OMP__LAST_ enumerators.
1615
419c6c68
GA
16162021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1617 Joseph Myers <joseph@codesourcery.com>
1618 Cesar Philippidis <cesar@codesourcery.com>
1619
1620 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
1621
92d45509
GA
16222021-07-20 Martin Sebor <msebor@redhat.com>
1623
1624 * c-common.c (c_build_shufflevector): Adjust by-value argument to
1625 by-const-reference.
1626 * c-common.h (c_build_shufflevector): Same.
1627
87277b6a
GA
16282021-07-16 Andrew Pinski <apinski@marvell.com>
1629
1630 PR c/101453
1631 * c-common.c (parse_optimize_options): Use the correct
1632 size for buffer.
1633
d97d71a1
GA
16342021-07-15 Martin Sebor <msebor@redhat.com>
1635
1636 PR c/101289
1637 PR c/97548
1638 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
1639
c4fee1c6
GA
16402021-07-14 Jason Merrill <jason@redhat.com>
1641
1642 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
1643
6fba0eea
GA
16442021-07-06 Martin Sebor <msebor@redhat.com>
1645
1646 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
3d3b561f
ML
1647 (gcc_cdiag_char_table): Same.
1648 (gcc_cxxdiag_char_table): Same.
6fba0eea 1649
7a60a6e8
GA
16502021-07-02 Jakub Jelinek <jakub@redhat.com>
1651
1652 * c-common.h (enum c_omp_directive_kind): New enum.
1653 (struct c_omp_directive): New type.
1654 (c_omp_categorize_directive): Declare.
1655 * c-omp.c (omp_directives): New variable.
1656 (c_omp_categorize_directive): New function.
1657
bea7c16a
GA
16582021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1659
1660 * c-ada-spec.c (packed_layout): New global variable.
1661 (dump_ada_declaration): Set it upon seeing a packed record type.
1662 Do not put the "aliased" keyword if it is set.
1663 (dump_ada_structure): Add Pack aspect if it is set and clear it.
1664
16652021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1666
1667 * c-ada-spec.c (check_name): Rename into...
1668 (check_type_name_conflict): ...this. Minor tweak.
1669 (dump_ada_function_declaration): Adjust to above renaming.
1670 (dump_ada_array_domains): Fix oversight.
1671 (dump_ada_declaration): Call check_type_name_conflict for variables.
1672
90708f87
GA
16732021-06-25 Martin Sebor <msebor@redhat.com>
1674
1675 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
1676 (c_common_truthvalue_conversion): Replace direct uses of
1677 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
1678 copy_no_warning.
1679 (check_function_arguments_recurse): Same.
1680 * c-gimplify.c (c_gimplify_expr): Same.
1681 * c-warn.c (overflow_warning): Same.
1682 (warn_logical_operator): Same.
1683 (warn_if_unused_value): Same.
1684 (do_warn_unused_parameter): Same.
1685
9aa8327e
GA
16862021-06-24 Jakub Jelinek <jakub@redhat.com>
1687
1688 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
1689 C_ORT_OMP_TARGET.
1690 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
1691 combined target constructs also add map (always, tofrom:) clause.
1692
ede6c356
GA
16932021-06-15 Robin Dapp <rdapp@linux.ibm.com>
1694
1695 * c-attribs.c (common_handle_aligned_attribute): Remove short
1696 circuit and dead code.
1697
8dc48181
GA
16982021-06-14 Jonathan Wakely <jwakely@redhat.com>
1699
1700 PR c++/101052
1701 * known-headers.cc (get_stdlib_header_for_name): Add known
1702 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
1703 exit, and getenv.
1704
8b8c3912
GA
17052021-06-12 Jason Merrill <jason@redhat.com>
1706
1707 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
1708
f16f65f8
GA
17092021-06-11 Jakub Jelinek <jakub@redhat.com>
1710
1711 PR c++/100974
1712 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
1713 -std=c++2b for P1938R3 consteval if support.
1714
4f625f47
GA
17152021-06-09 Jason Merrill <jason@redhat.com>
1716
1717 PR c++/100879
1718 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
1719 warning.
1720
438aac59
GA
17212021-06-07 Martin Liska <mliska@suse.cz>
1722
1723 * c-target.def: Split long lines and replace them
1724 with '\n\'.
1725
600f90cb
GA
17262021-06-04 Martin Sebor <msebor@redhat.com>
1727
1728 PR c/100783
1729 * c-attribs.c (positional_argument): Bail on erroneous types.
1730
17312021-06-04 Martin Sebor <msebor@redhat.com>
1732
1733 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1734 for element presence.
1735
440c8a0a
GA
17362021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1737
1738 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1739 (dump_ada_decl_name): Likewise.
1740 (dump_anonymous_type_name): Remove parent parameter and adjust.
1741 (dump_sloc): Minor tweak.
1742 (dump_ada_array_type): Remove type parameter and adjust.
1743 (dump_ada_enum_type): Remove parent parameter and adjust.
1744 (dump_ada_node): Adjust calls to above functions.
1745 (dumped_anonymous_types): New global variable.
1746 (dump_nested_types_1): Rename into...
1747 (dump_nested_types): ...this.
1748 (dump_nested_type): Remove parent and dumped_types parameters.
1749 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1750 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1751 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1752
17532021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1754
1755 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1756 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1757
17582021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1759
1760 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1761 (htable_t): New typedef.
1762 (overloaded_names): Use it.
1763 (add_name): New function.
1764 (init_overloaded_names): Use add_name to populate the table and add
1765 special cases for sigaction and stat.
1766 (overloaded_name_p): Rename into...
1767 (overloading_index): ...this. Do not initialize overloaded_names table
1768 here. Return the index or zero.
1769 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1770 but add an overloading suffix instead.
1771 (dump_ada_specs): Initialize overloaded_names tables here.
1772
b75978d1
GA
17732021-06-01 Martin Liska <mliska@suse.cz>
1774
1775 PR other/100759
1776 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1777 to a situation where we are not in processing of an optimize
1778 pragma.
1779 * c-pragma.c (handle_pragma_pop_options): Restore target
1780 options.
1781
ee682192
GA
17822021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1783
1784 PR testsuite/100749
1785 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1786
17872021-05-31 Richard Biener <rguenther@suse.de>
1788
1789 PR c++/88601
1790 * c-common.c: Include tree-vector-builder.h and
1791 vec-perm-indices.h.
1792 (c_common_reswords): Add __builtin_shufflevector.
1793 (c_build_shufflevector): New funtion.
1794 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1795 (c_build_shufflevector): Declare.
1796
48166757
GA
17972021-05-28 Jakub Jelinek <jakub@redhat.com>
1798
1799 PR middle-end/99928
1800 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1801 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1802
18032021-05-28 Tobias Burnus <tobias@codesourcery.com>
1804
1805 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1806
2bc6dace
GA
18072021-05-25 Martin Liska <mliska@suse.cz>
1808
1809 PR tree-optimization/92860
1810 PR target/99592
1811 * c-attribs.c (handle_optimize_attribute): Save target node
1812 before calling parse_optimize_options and save it in case
1813 it changes.
1814 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1815 (handle_pragma_pop_options): Likewise here.
1816
18172021-05-25 Martin Liska <mliska@suse.cz>
1818
1819 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1820
18212021-05-25 Jakub Jelinek <jakub@redhat.com>
1822
1823 PR middle-end/99928
1824 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1825 combined with simd and not with taskloop or for.
1826
2832d51b
GA
18272021-05-21 Jakub Jelinek <jakub@redhat.com>
1828
1829 PR middle-end/99928
1830 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1831 on firstprivate clause copy going to target construct, and for
1832 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1833
ea34e2ed
GA
18342021-05-20 Jonathan Wakely <jwakely@redhat.com>
1835
1836 * c.opt (Wc++11-extensions, Wc++14-extensions)
1837 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1838 options.
1839
18402021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1841
1842 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1843
18442021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1845
1846 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1847 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1848 (pch_init): Renamed member.
1849 (c_common_valid_pch): Adjust access to debug_type_names.
1850
65f32e5d
GA
18512021-05-19 Martin Sebor <msebor@redhat.com>
1852
1853 PR c/100619
1854 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1855 bounds.
1856
a8daf9a1
GA
18572021-05-18 Richard Biener <rguenther@suse.de>
1858
1859 PR c/100547
1860 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1861 Reword existing nunit diagnostic.
1862
a7ffc1ef
GA
18632021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1864
1865 * c-common.c (braced_list_to_string): Return CTOR unchanged
1866 if host and target character sizes don't match.
1867
87a7d10c
GA
18682021-05-14 Martin Liska <mliska@suse.cz>
1869
1870 * c.opt: Add Warning keyword for 2 options.
1871
f9af11c7
GA
18722021-05-13 Martin Liska <mliska@suse.cz>
1873
1874 PR middle-end/100504
1875 * c-attribs.c (handle_target_clones_attribute): Expect a string
1876 argument to target_clone argument.
1877
037e3661
GA
18782021-05-11 Joseph Myers <joseph@codesourcery.com>
1879
1880 * c-lex.c (interpret_float): Handle digit separators for C2X.
1881
aa891c56
GA
18822021-05-10 Martin Liska <mliska@suse.cz>
1883
1884 * c-ada-spec.c (print_destructor): Use startswith
1885 function instead of strncmp.
1886 (dump_ada_declaration): Likewise.
1887 * c-common.c (disable_builtin_function): Likewise.
1888 (def_builtin_1): Likewise.
1889 * c-format.c (check_tokens): Likewise.
1890 (check_plain): Likewise.
1891 (convert_format_name_to_system_name): Likewise.
1892
e4ff4ffb
GA
18932021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1894
1895 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1896 complex divide
1897
c0fa3f2f
GA
18982021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1899 Nathan Sidwell <nathan@codesourcery.com>
1900 Tom de Vries <vries@codesourcery.com>
1901 Julian Brown <julian@codesourcery.com>
1902 Kwok Cheung Yeung <kcy@codesourcery.com>
1903
1904 * c.opt (Wopenacc-parallelism): New.
1905
6e81e015
GA
19062021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1907
1908 * c.opt (fopenacc-kernels=): Remove.
1909
019a9220
GA
19102021-04-08 Jakub Jelinek <jakub@redhat.com>
1911
1912 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1913 occured -> occurred.
1914 (check_alignment_of_packed_member): Fix a comment typo,
1915 memeber -> member.
1916 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1917 and onless -> unless.
1918 (warn_parm_array_mismatch): Fix comment typos, declaratation
1919 -> declaration and woud -> would. Fix up comment indentation.
1920
19212021-04-08 Martin Sebor <msebor@redhat.com>
1922
1923 PR middle-end/99883
1924 * c.opt (Wmismatched-new-delete): Correct spelling.
1925
b1da9916
GA
19262021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1927
1928 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1929 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1930 enumeral types use again the type name for the enumeration constants.
1931 (dump_ada_node): Adjust call to dump_ada_enum_type.
1932 (dump_nested_type): Likewise.
1933
f1607029
GA
19342021-04-01 Jason Merrill <jason@redhat.com>
1935
1936 PR c++/98481
1937 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1938
4493b1c1
GA
19392021-03-25 Jakub Jelinek <jakub@redhat.com>
1940
1941 PR c++/99565
1942 * c-warn.c (do_warn_duplicated_branches): Pass also
1943 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1944
6af7b307
GA
19452021-03-20 Jakub Jelinek <jakub@redhat.com>
1946
1947 PR debug/99230
1948 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1949
ceae9533
GA
19502021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1951
1952 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1953 after entering the separate class package, if any.
1954
67f10d28
GA
19552021-03-04 Richard Biener <rguenther@suse.de>
1956
1957 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1958 Handle ERROR_MARK.
1959
19602021-03-04 Jakub Jelinek <jakub@redhat.com>
1961
1962 PR c/99325
1963 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1964 (token_streamer::stream) Likewise.
1965 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1966 UNKNOWN_LOCATION.
1967
f3641ac7
GA
19682021-03-03 Jakub Jelinek <jakub@redhat.com>
1969
1970 PR c/99324
1971 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1972 instead of mark_addressable. Fix a comment typo -
1973 neutrallly -> neutrally.
1974
2c83c3fb
GA
19752021-02-28 Jakub Jelinek <jakub@redhat.com>
1976
1977 PR c/99304
1978 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1979 message - refernced -> referenced. Remove superfluous space before
1980 closing paren of function calls.
1981
daa68844
GA
19822021-02-25 Nathan Sidwell <nathan@acm.org>
1983
1984 PR c++/99166
1985 * c.opt (-flang-info-module-cmi): Renamed option.
1986
50352c6c
GA
19872021-02-19 Nathan Sidwell <nathan@acm.org>
1988
1989 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1990
bf81237e
GA
19912021-02-18 H.J. Lu <hjl.tools@gmail.com>
1992
1993 PR target/99113
1994 * c-attribs.c (c_common_attribute_table): Add the "retain"
1995 attribute.
1996 (handle_retain_attribute): New function.
1997
0e804ce3
GA
19982021-02-16 Marek Polacek <polacek@redhat.com>
1999
2000 PR c++/99062
2001 * c-attribs.c (handle_assume_aligned_attribute): Check that the
2002 alignment argument is non-negative. Tweak a warning message.
2003
fab095da
GA
20042021-02-12 Martin Sebor <msebor@redhat.com>
2005
2006 PR c/99055
2007 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
2008 print_generic_expr_to_str.
2009
4b37c3ea
GA
20102021-02-10 Richard Biener <rguenther@suse.de>
2011
2012 * c-common.c (parse_optimize_options): Free decoded_options.
2013
a19dd5e6
GA
20142021-02-04 emsr <3dw4rd@verizon.net>
2015
2016 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
2017
9faaa807
GA
20182021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
2019
2020 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
2021 * c-lex.c (interpret_integer): Set node type for size literal.
2022
85d04a2e
GA
20232021-01-28 Jakub Jelinek <jakub@redhat.com>
2024
2025 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
2026 draft from description.
2027 (-std=c++2b): Fix a pasto, 2020 -> 2023.
2028
e62bb7f0
GA
20292021-01-26 Paul Fee <paul.f.fee@gmail.com>
2030
2031 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
2032 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
2033 and -std=gnu++2b
2034 * c-opts.c (set_std_cxx23): New.
2035 (c_common_handle_option): Set options when -std=c++23 is enabled.
2036 (c_common_post_options): Adjust comments.
2037 (set_std_cxx20): Likewise.
2038
161e4c08
GA
20392021-01-25 Martin Sebor <msebor@redhat.com>
2040
2041 PR c++/98646
2042 * c-common.c (check_nonnull_arg): Adjust warning text.
2043
4c9bcd5c
GA
20442021-01-17 Martin Sebor <msebor@redhat.com>
2045
2046 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
2047 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
2048
59cf67d1
GA
20492021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
2050
2051 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
2052 Redefine PRAGMA_OACC_CLAUSE_DETACH.
2053
2f7f0d32
GA
20542021-01-15 Jakub Jelinek <jakub@redhat.com>
2055
2056 PR tree-optimization/98597
2057 * c-pretty-print.c: Include options.h.
2058 (c_fold_indirect_ref_for_warn): New function.
2059 (print_mem_ref): Use it. If it returns something that has compatible
2060 type and is TBAA compatible with zero offset, print it and return,
2061 otherwise print it using offsetof syntax or array ref syntax. Fix up
2062 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
2063 argument has pointer to array type. Print pointers using the standard
2064 formatting.
2065
6851dda2
GA
20662021-01-12 Martin Sebor <msebor@redhat.com>
2067
2068 PR c/98597
2069 PR c/98592
2070 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
2071 has pointer type. Remove redundant code. Avoid calling
2072 gimple_canonical_types_compatible_p.
2073
7d187e4f
GA
20742021-01-07 Martin Sebor <msebor@redhat.com>
2075
2076 PR middle-end/98578
2077 * c-pretty-print.c (print_mem_ref): Strip array from access type.
2078 Avoid assuming acces type's size is constant. Correct condition
2079 guarding the printing of a parenthesis.
2080
942ae5be
GA
20812021-01-06 Martin Sebor <msebor@redhat.com>
2082
2083 PR c++/95768
2084 * c-pretty-print.c (c_pretty_printer::primary_expression): For
2085 SSA_NAMEs print VLA names and GIMPLE defining statements.
2086 (print_mem_ref): New function.
2087 (c_pretty_printer::unary_expression): Call it.
2088
20892021-01-06 Richard Biener <rguenther@suse.de>
2090
2091 PR tree-optimization/95582
2092 * c-attribs.c (c_common_attribute_table): Add entry for
2093 signed_bool_precision.
2094 (handle_signed_bool_precision_attribute): New.
2095
8daa719b
GA
20962020-12-24 Iain Sandoe <iain@sandoe.co.uk>
2097
2098 * c.opt: Add -stdlib= option and enumerations for
2099 libstdc++ and libc++.
2100
eefe499f
GA
21012020-12-16 Martin Liska <mliska@suse.cz>
2102
2103 * c.opt: Remove usage of Report.
2104
d52945ce
GA
21052020-12-14 Martin Sebor <msebor@redhat.com>
2106
2107 PR middle-end/98166
2108 PR c++/57111
2109 PR middle-end/98160
2110 * c-attribs.c (maybe_add_noinline): New function.
2111 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
2112 Implicitly add attribute noinline to functions not declared inline
2113 and warn on those.
2114
ca2bd949
GA
21152020-12-09 Tobias Burnus <tobias@codesourcery.com>
2116
2117 * c-pragma.c (omp_pragmas): Add 'allocate'.
2118 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
2119
f6e8e279
GA
21202020-12-08 Jakub Jelinek <jakub@redhat.com>
2121
2122 PR c++/98187
2123 * c-pragma.c (omp_pragmas): Remove "master".
2124 (omp_pragmas_simd): Add "master".
2125
bc8a7013
GA
21262020-12-07 Marek Polacek <polacek@redhat.com>
2127
2128 PR c++/98126
2129 * c-common.c (verify_tree_lim_r): New function.
2130 (verify_sequence_points): Use it. Use nullptr instead of 0.
2131
b8dd0ef7
GA
21322020-12-03 Martin Sebor <msebor@redhat.com>
2133
2134 PR c++/90629
2135 PR middle-end/94527
2136 * c-attribs.c (handle_dealloc_attribute): New function.
2137 (handle_malloc_attribute): Handle argument forms of attribute.
2138 * c.opt (-Wmismatched-dealloc): New option.
2139 (-Wmismatched-new-delete): New option.
2140
21412020-12-03 Jakub Jelinek <jakub@redhat.com>
2142
2143 PR libstdc++/93121
2144 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
2145 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
2146
e0f5e792
GA
21472020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
2148
2149 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
2150 {__GNUC_EXECUTION_CHARSET_NAME} and
2151 _WIDE_EXECUTION_CHARSET_NAME} macros.
2152
21532020-12-01 Nathan Sidwell <nathan@acm.org>
2154
2155 * c-common.c (module, import, export): New internal tokens (with
2156 trailing space).
2157 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
2158 them.
2159 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
2160 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
2161
21622020-12-01 Nathan Sidwell <nathan@acm.org>
2163
2164 * c-opts.c (c_common_init_options): Ask for module dependencies.
2165 (c_common_handle_option): Handle -Mmodules -Mno-modules.
2166 * c-pch.c (c_common_valid_pch): ... does not play with C++
2167 modules.
2168 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
2169 options.
2170 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
2171 (fmodule-only, fmodule-mapper, fmodule-lazy)
2172 (fmodule-version-ignore, Winvalid-imported-macros)
2173 (flang-info-include-translate, flang-info-include-translate-not):
2174 New options
2175
5fbf0ecb
GA
21762020-11-28 Eric Botcazou <ebotcazou@adacore.com>
2177
2178 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
2179 (dump_ada_structure): Also deal with convention, unchecked union and
2180 bit-field for nested types. In the latter case, print an Alignment
2181 aspect along with the Pack aspect.
2182
360258da
GA
21832020-11-25 Martin Sebor <msebor@redhat.com>
2184
2185 PR bootstrap/94982
2186 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
2187 -Wformat-diag.
2188
1e2c9a27
GA
21892020-11-24 Martin Sebor <msebor@redhat.com>
2190
2191 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
2192
8e6198d0
GA
21932020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2194
2195 * c-attribs.c (handle_special_var_sec_attribute): New.
2196 (handle_noinit_attribute): Remove.
2197 (attr_noinit_exclusions): Rename to...
2198 (attr_section_exclusions): ...this, and add "persistent" attribute
2199 exclusion.
2200 (c_common_attribute_table): Add "persistent" attribute.
2201
7a97e2fc
GA
22022020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
2203
2204 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2205 Treat opaque types like other types.
2206 (c_pretty_printer::direct_abstract_declarator): Opaque types are
2207 supported types.
2208
82e5048e
GA
22092020-11-20 Martin Sebor <msebor@redhat.com>
2210
2211 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
2212 with fewer arguments.
2213
22142020-11-20 Martin Sebor <msebor@redhat.com>
2215
2216 PR middle-end/97879
2217 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
2218 Error out on invalid modes.
2219
22202020-11-20 Jakub Jelinek <jakub@redhat.com>
2221
2222 PR libstdc++/88101
2223 * c-common.c (check_builtin_function_arguments): Handle
2224 BUILT_IN_CLEAR_PADDING.
2225
25bb75f8
GA
22262020-11-18 Nathan Sidwell <nathan@acm.org>
2227
2228 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
2229
4dabb037
GA
22302020-11-17 Nathan Sidwell <nathan@acm.org>
2231
2232 * c-common.h (enum c_tree_index): Reorder to place lazy fields
2233 after newly-added CTI_MODULE_HWM.
2234
22352020-11-17 Joseph Myers <joseph@codesourcery.com>
2236
2237 * c-cppbuiltin.c (builtin_define_float_constants): Define
2238 "*_IS_IEC_60559__" macros.
2239
22402020-11-17 Nathan Sidwell <nathan@acm.org>
2241
2242 * c-lex.c: #include "langhooks.h".
2243 (cb_undef): Maybe call preprocess_undef lang hook.
2244 * c-opts.c (c_common_post_options): Maybe call preprocess_options
2245 lang hook.
2246 (push_command_line_include): Maybe call preprocess_main_file lang
2247 hook.
2248 (cb_file_change): Likewise.
2249 * c-ppoutput.c: #include "langhooks.h.
2250 (scan_translation_unit): Maybe call preprocess_token lang hook.
2251 (class do_streamer): New, derive from token_streamer.
2252 (directives_only_cb): Data pointer is do_streamer, call
2253 preprocess_token lang hook.
2254 (scan_translation_unit_directives_only): Use do_streamer.
2255 (print_line_1): Move src_line recording to after string output.
2256 (cb_undef): Maybe call preprocess_undef lang hook.
2257
22582020-11-17 Nathan Sidwell <nathan@acm.org>
2259
2260 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
2261 code duplicating that functionality.
2262
22632020-11-17 Jakub Jelinek <jakub@redhat.com>
2264
2265 PR c/90628
2266 * c-common.c (check_builtin_function_arguments)
2267 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
2268 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
2269 for more builtins and argument positions.
2270
29c5d9ce
GA
22712020-11-16 Iain Sandoe <iain@sandoe.co.uk>
2272
2273 PR objc/97854
2274 * stub-objc.c: Include c-common.h to declare enum rid.
2275
77f67db2
GA
22762020-11-13 Jakub Jelinek <jakub@redhat.com>
2277
2278 PR c++/63287
2279 * c-cppbuiltin.c: Include configargs.h.
2280 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
2281 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
2282 "single".
2283
22842020-11-13 Gergö Barany <gergo@codesourcery.com>
2285 Thomas Schwinge <thomas@codesourcery.com>
2286
2287 * c.opt (fopenacc-kernels): Add.
2288
22892020-11-13 Jason Merrill <jason@redhat.com>
2290
2291 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
2292
22932020-11-13 Piotr H. Dabrowski <phd@phd.re>
2294
2295 PR c++/91318
2296 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
2297
22982020-11-13 Martin Liska <mliska@suse.cz>
2299
2300 * c-attribs.c (build_attr_access_from_parms): Format properly.
2301
23022020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2303
2304 PR objc/90707
2305 * c-common.c (c_common_reswords): null_unspecified, nullable,
2306 nonnull, null_resettable: New keywords.
2307 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
2308 RID_NONNULL, RID_NULL_RESETTABLE: New.
2309 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
2310 ranges accepted for property attributes.
2311 * c-attribs.c (handle_objc_nullability_attribute): New.
2312 * c-objc.h (enum objc_property_attribute_group): Add
2313 OBJC_PROPATTR_GROUP_NULLABLE.
2314 (enum objc_property_attribute_kind):Add
2315 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
2316 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
2317
23182020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2319
2320 PR objc/77404
2321 * c-attribs.c (handle_objc_root_class_attribute): New
2322 * c-objc.h (objc_start_class_interface): Add a location
2323 value for the position of the class name.
2324 * c.opt: Add Wobjc-root-class.
2325 * stub-objc.c (objc_start_class_interface): Add a location
2326 value for the position of the class name.
2327
a5a11525
GA
23282020-11-12 Joseph Myers <joseph@codesourcery.com>
2329
2330 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
2331 Allow scope for C. Handle standard attributes for C. Do not
2332 accept unscoped attributes if std_syntax and not handled as
2333 standard attributes.
2334 * c-common.h (c_common_has_attribute): Update prototype.
2335
23362020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
2337
2338 PR pch/86674
2339 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
2340 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
2341
0f5f9ed5
GA
23422020-11-11 Patrick Palka <ppalka@redhat.com>
2343
2344 PR c++/88115
2345 * c-opts.c (c_common_post_options): Update latest_abi_version.
2346
bb622641
GA
23472020-11-10 Jakub Jelinek <jakub@redhat.com>
2348
2349 PR c/97748
2350 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
2351 to false.
2352 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
2353 recursively and just return true instead of warning if it is true.
2354 Handle COMPLEX_EXPR.
2355
23562020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2357
2358 * c-common.h (c_omp_adjust_map_clauses): New declaration.
2359 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
2360 (c_omp_adjust_map_clauses): New function.
2361
2bee28dd
GA
23622020-11-09 Marek Polacek <polacek@redhat.com>
2363
2364 DR 1914
2365 * c-common.c (attribute_fallthrough_p): Tweak the warning
2366 message.
2367
23682020-11-09 Patrick Palka <ppalka@redhat.com>
2369
2370 * c-pragma.c (handle_pragma_diagnostic): Split the
2371 unknown-option -Wpragmas diagnostic into a warning and a
2372 subsequent note containing a spelling suggestion. Avoid
2373 computing the suggestion if -Wpragmas warnings are being
2374 suppressed.
2375
23762020-11-09 Patrick Palka <ppalka@redhat.com>
2377
2378 PR testsuite/97117
2379 * c-indentation.c (get_visual_column): Remove location_t
2380 parameter. Move the column-tracking diagnostic code from here
2381 to ...
2382 (should_warn_for_misleading_indentation): ... here, before the
2383 early exit for when the loci are not all distinct. Don't pass a
2384 location_t argument to get_visual_column.
2385 (assert_get_visual_column_succeeds): Don't pass a location_t
2386 argument to get_visual_column.
2387 (assert_get_visual_column_fails): Likewise.
2388
fb95de7a
GA
23892020-11-08 Iain Sandoe <iain@sandoe.co.uk>
2390
2391 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
2392 of keywords accepted in @property attribute contexts.
2393 * c-objc.h (enum objc_property_attribute_group): Add
2394 OBJC_PROPATTR_GROUP_CLASS.
2395 (enum objc_property_attribute_kind): Add
2396 OBJC_PROPERTY_ATTR_CLASS.
2397
2da7ee05
GA
23982020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2399
2400 * c-common.c (c_common_reswords): Add 'atomic' property
2401 attribute.
2402 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
2403 property attributes.
2404
24052020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2406
2407 * c-attribs.c (handle_nsobject_attribute): New.
2408 * c.opt: Add WNSObject-attribute.
2409
44cab2d8
GA
24102020-11-06 Iain Sandoe <iain@sandoe.co.uk>
2411
2412 * c-objc.h (enum objc_property_attribute_group): New
2413 (enum objc_property_attribute_kind): New.
2414 (OBJC_PROPATTR_GROUP_MASK): New.
2415 (struct property_attribute_info): Small class encapsulating
2416 parser output from property attributes.
2417 (objc_prop_attr_kind_for_rid): New
2418 (objc_add_property_declaration): Simplify interface.
2419 * stub-objc.c (enum rid): Dummy type.
2420 (objc_add_property_declaration): Simplify interface.
2421 (objc_prop_attr_kind_for_rid): New.
2422
24232020-11-06 Nathan Sidwell <nathan@acm.org>
2424
2425 * c-ada-spec.c (collect_ada_nodes): Rename
2426 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2427 (collect_ada_node): Likewise.
2428 (dump_forward_type): Likewise.
2429 * c-common.c (set_underlying_type): Rename
2430 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2431 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
2432
24332020-11-06 Jakub Jelinek <jakub@redhat.com>
2434
2435 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
2436
0cfd9109
GA
24372020-11-05 Marek Polacek <polacek@redhat.com>
2438
2439 PR c++/97675
2440 * c.opt (Wexceptions): New option.
2441
24422020-11-05 Marek Polacek <polacek@redhat.com>
2443
2444 PR c++/25814
2445 * c.opt (Wvexing-parse): New option.
2446
35c125cb
GA
24472020-11-04 Jakub Jelinek <jakub@redhat.com>
2448
2449 PR c++/97670
2450 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
2451 underlying decl to clear in the allocate_head bitmap.
2452
24532020-11-04 Iain Sandoe <iain@sandoe.co.uk>
2454
2455 * c-objc.h (objc_non_constant_expr_p): New.
2456 * stub-objc.c (objc_non_constant_expr_p): New.
2457
fd2325ea
GA
24582020-11-03 Nathan Sidwell <nathan@acm.org>
2459
2460 * c.opt (MQ,MT): Reword description to be make-agnostic.
2461
88ce3d5f
GA
24622020-11-02 Nathan Sidwell <nathan@acm.org>
2463
2464 * c-opts.c (c_common_post_options): Move var decl to its
2465 initialization point.
2466
24672020-11-01 Iain Sandoe <iain@sandoe.co.uk>
2468
2469 * c-lex.c (c_lex_with_flags): When combining '@' with a
2470 keyword for Objective-C, combine the location ranges too.
2471
24722020-10-30 Qing Zhao <qing.zhao@oracle.com>
2473 H.J.Lu <hjl.tools@gmail.com>
2474
2475 * c-attribs.c (c_common_attribute_table): Add new attribute
2476 zero_call_used_regs.
2477 (handle_zero_call_used_regs_attribute): New function.
2478
e93aae4a
GA
24792020-10-28 Marek Polacek <polacek@redhat.com>
2480
2481 PR c++/97573
2482 * c-opts.c (c_common_post_options): In C++20, turn on
2483 -Wdeprecated-enum-enum-conversion and
2484 -Wdeprecated-enum-float-conversion.
2485 * c.opt (Wdeprecated-enum-enum-conversion,
2486 Wdeprecated-enum-float-conversion): New options.
2487 (Wenum-conversion): Allow for C++ too.
2488
24892020-10-28 Jakub Jelinek <jakub@redhat.com>
2490
2491 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
2492 * c-omp.c: Include bitmap.h.
2493 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
2494
f19e7c8d
GA
24952020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2496
2497 * c-common.c (__is_nothrow_assignable): New.
2498 (__is_nothrow_constructible): Likewise.
2499 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
2500 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
2501
efe71fcc
GA
25022020-10-23 Jan Hubicka <hubicka@ucw.cz>
2503
2504 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
2505
25062020-10-23 Marek Polacek <polacek@redhat.com>
2507
2508 PR c++/91741
2509 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
2510 (c_common_init_ts): Likewise.
2511 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
2512 * c-common.h (maybe_warn_sizeof_array_div): Declare.
2513 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
2514 (maybe_warn_sizeof_array_div): New function.
2515 * c.opt (Wsizeof-array-div): New option.
2516
25172020-10-23 Martin Sebor <msebor@redhat.com>
2518
2519 PR c/97463
2520 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
2521
56ddd5e2
GA
25222020-10-22 Martin Liska <mliska@suse.cz>
2523
2524 PR c/94722
2525 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
2526 (handle_stack_protect_attribute): Add error message for a
2527 no_stack_protector function.
2528
25292020-10-22 Martin Liska <mliska@suse.cz>
2530
2531 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
2532
25332020-10-22 Jan Hubicka <hubicka@ucw.cz>
2534
2535 * c-gimplify.c: Include tree-nested.h
2536 (c_genericize): Update for new nested function info.
2537
b2698c21
GA
25382020-10-14 Martin Sebor <msebor@redhat.com>
2539
2540 PR c/97413
2541 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
2542 bounds in an extra list.
2543
7e9282ae
GA
25442020-10-05 Richard Biener <rguenther@suse.de>
2545 Jakub Jelinek <jakub@redhat.com>
2546
2547 PR c++/97197
2548 * c-pretty-print.c: Include langhooks.h.
2549 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
2550 expression.
2551 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
2552 unary_expression.
2553 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
2554
660bfe61
GA
25552020-09-30 Martin Sebor <msebor@redhat.com>
2556
2557 PR middle-end/97189
2558 * c-attribs.c (append_access_attr): Use the function declaration
2559 location for a warning about an attribute access argument.
2560
93bca37c
GA
25612020-09-29 Marek Polacek <polacek@redhat.com>
2562
2563 PR c++/94695
2564 * c.opt (Wrange-loop-construct): New option.
2565
82b77dee
GA
25662020-09-23 Martin Sebor <msebor@redhat.com>
2567
2568 PR c/97131
2569 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
2570
25712020-09-23 Marek Polacek <polacek@redhat.com>
2572
2573 PR c/97125
2574 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
2575 after loops and other structured control constructs have been lowered.
2576
521d2711
GA
25772020-09-22 Jakub Jelinek <jakub@redhat.com>
2578
2579 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
2580 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
2581
44135373
GA
25822020-09-21 Marek Polacek <polacek@redhat.com>
2583
2584 * c.opt (Wctad-maybe-unsupported): New option.
2585
2fe5b7d1
GA
25862020-09-19 Martin Sebor <msebor@redhat.com>
2587
2588 PR c/50584
2589 * c-common.h (warn_parm_array_mismatch): Declare new function.
2590 (has_attribute): Move declaration of an existing function.
2591 (build_attr_access_from_parms): Declare new function.
2592 * c-warn.c (parm_array_as_string): Define new function.
2593 (plus_one): Define new function.
2594 (warn_parm_ptrarray_mismatch): Define new function.
2595 (warn_parm_array_mismatch): Define new function.
2596 (vla_bound_parm_decl): New function.
2597 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
2598 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
2599 qualifiers here...
2600 (c_pretty_printer::direct_abstract_declarator): ...but instead print
2601 them in brackets here. Also print [static]. Strip extraneous
2602 expressions from VLA bounds.
2603
26042020-09-19 Martin Sebor <msebor@redhat.com>
2605
2606 PR c/50584
2607 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
2608 (handle_argspec_attribute): New function.
2609 (get_argument, get_argument_type): New functions.
2610 (append_access_attrs): Add overload. Handle internal attribute
2611 representation in addition to external.
2612 (handle_access_attribute): Handle internal attribute representation
2613 in addition to external.
2614 (build_attr_access_from_parms): New function.
2615
26162020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2617
2618 * c-gimplify.c (genericize_c_loop): Rewrite to match
2619 c_finish_loop in c-typeck.c.
2620
26212020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2622
2623 * c-common.c (c_block_may_fallthrough): New, split from
2624 cxx_block_may_fallthrough in the cp front end.
2625 (c_common_init_ts): Move handling of loop and switch-related
2626 statements here from the cp front end.
2627 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
2628 cp front end.
2629 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
2630 * c-common.h (c_block_may_fallthru): Declare.
2631 (bc_state_t): Move here from cp front end.
2632 (save_bc_state, restore_bc_state): Declare.
2633 (c_genericize_control_stmt): Declare.
2634 (WHILE_COND, WHILE_BODY): Likewise.
2635 (DO_COND, DO_BODY): Likewise.
2636 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
2637 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
2638 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
2639 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
2640 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
2641 * c-dump.c (dump_stmt): Copy from cp front end.
2642 (c_dump_tree): Move code to handle structured loop and switch
2643 tree nodes here from cp front end.
2644 * c-gimplify.c: Adjust includes.
2645 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
2646 cp front end.
2647 (save_bc_state, restore_bc_state): New functions using old code
2648 from cp front end.
2649 (get_bc_label, expr_loc_or_loc): Move from cp front end.
2650 (genericize_c_loop): Move from cp front end.
2651 (genericize_for_stmt, genericize_while_stmt): Likewise.
2652 (genericize_do_stmt, genericize_switch_stmt): Likewise.
2653 (genericize_continue_stmt, genericize_break_stmt): Likewise.
2654 (genericize_omp_for_stmt): Likewise.
2655 (c_genericize_control_stmt): New function using code split from
2656 cp front end.
2657 (c_genericize_control_r): New.
2658 (c_genericize): Call walk_tree with c_genericize_control_r.
2659 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
2660 structured loop and switch tree nodes here from cp front end.
2661
2aad20c0
GA
26622020-09-17 Patrick Palka <ppalka@redhat.com>
2663
2664 PR c/80076
2665 * c-indentation.c (should_warn_for_misleading_indentation): Move
2666 declarations of local variables closer to their first use.
2667 Handle virtual token locations by resolving them to their
2668 respective macro expansion points. If all three tokens are
2669 produced from the same macro expansion, then instead use their
2670 loci within the macro definition.
2671
ecde1b0a
GA
26722020-09-16 Martin Sebor <msebor@redhat.com>
2673
2674 PR c/78666
2675 PR c/96126
2676 * c-attribs.c (validate_attr_args): New function.
2677 (validate_attr_arg): Same.
2678 (handle_section_attribute): Call it. Introduce a local variable.
2679 (handle_alloc_size_attribute): Same.
2680 (handle_alloc_align_attribute): Same.
2681
50a71cd0
GA
26822020-09-14 Jakub Jelinek <jakub@redhat.com>
2683
2684 * c-attribs.c (handle_optimize_attribute): Adjust
2685 cl_optimization_save, cl_optimization_restore and
2686 build_optimization_node callers.
2687 * c-pragma.c (handle_pragma_optimize): Adjust
2688 build_optimization_node caller.
2689 (handle_pragma_push_options): Adjust
2690 build_optimization_node and build_target_option_node callers.
2691 (handle_pragma_pop_options, handle_pragma_reset_options):
2692 Adjust cl_optimization_restore callers.
2693
8f7ea26a
GA
26942020-08-28 Martin Sebor <msebor@redhat.com>
2695
2696 * c.opt (Wstringop-overread): New option.
2697
a6493809
GA
26982020-08-11 Jakub Jelinek <jakub@redhat.com>
2699
2700 PR c/96545
2701 * c-common.c (get_atomic_generic_size): Require that first argument's
2702 type points to a complete type and use tree_fits_uhwi_p instead of
2703 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
2704
48cc2e46
GA
27052020-07-31 Martin Sebor <msebor@redhat.com>
2706
2707 PR c++/96003
2708 * c-common.c (check_function_arguments_recurse): Return early when
2709 no-warning bit is set.
2710
27112020-07-31 Richard Biener <rguenther@suse.de>
2712
2713 PR debug/96383
2714 * c-common.h (c_common_finalize_early_debug): Declare.
2715 * c-common.c: Include debug.h.
2716 (c_common_finalize_early_debug): finalize_early_debug langhook
2717 implementation generating debug for extern declarations.
2718
e71dab87
GA
27192020-07-27 Nathan Sidwell <nathan@acm.org>
2720
2721 * c-common.c (try_to_locate_new_include_insertion_point): Use
2722 strcmp, not pointer equality.
2723
ae2e0bc1
GA
27242020-07-25 Martin Sebor <msebor@redhat.com>
2725
2726 PR c++/96310
2727 * c-common.c (check_nonnull_arg): Print note only when warning was
2728 issued.
2729
3ea9abca
GA
27302020-07-22 Tobias Burnus <tobias@codesourcery.com>
2731
2732 * c-omp.c (c_finish_omp_critical): Check for no name but
2733 nonzero hint provided.
2734
0933f508
GA
27352020-07-20 Jason Merrill <jason@redhat.com>
2736
2737 * c-cppbuiltin.c (c_cpp_builtins): Update
2738 __cpp_nontype_template_args for C++20.
2739
27402020-07-20 Martin Sebor <msebor@redhat.com>
2741
2742 PR c/96249
2743 * c.opt: Remove stray text.
2744
8ca07a30
GA
27452020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2746
2747 PR other/86904
2748 * c-indentation.c (should_warn_for_misleading_indentation): Get
2749 global tabstop from the new source.
2750 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2751 is now a common option.
2752 * c.opt: Likewise.
2753
a82c4c4c 27542020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2755
2756 * c.opt (Wscalar-storage-order): Add explicit variable.
2757
f60ee68d
GA
27582020-07-07 Nathan Sidwell <nathan@acm.org>
2759
2760 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2761 cpp_read_main_file.
2762 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2763 maps. Force token position to line_table's highest line.
2764 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2765 (cb_define): Always increment source line.
2766
4077d74c
GA
27672020-07-06 Martin Sebor <msebor@redhat.com>
2768
2769 PR c++/95984
2770 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2771 to stub lambda objects with null this pointer.
2772 (check_nonnull_arg): Handle C++ nullptr.
2773
b5f24739
GA
27742020-07-02 Jason Merrill <jason@redhat.com>
2775 Jakub Jelinek <jakub@redhat.com>
2776
2777 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2778
46fbb6c6
GA
27792020-06-30 Jakub Jelinek <jakub@redhat.com>
2780
2781 PR c++/95963
2782 * c-common.c (check_function_arguments_recurse): Don't crash on
2783 calls to internal functions.
2784
69273534
GA
27852020-06-28 Martin Sebor <msebor@redhat.com>
2786
2787 PR c++/86568
2788 * c-common.c (struct nonnull_arg_ctx): Add members.
2789 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2790 C++ member functions specially. Consider the this pointer implicitly
2791 nonnull.
2792 (check_nonnull_arg): Use location of argument when available.
2793 (check_function_arguments): Use nonnull_arg_ctx as argument.
2794
9a33c41f
GA
27952020-06-27 Jakub Jelinek <jakub@redhat.com>
2796
2797 PR middle-end/95903
2798 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2799 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2800 smaller precision intop operands separately.
2801
c9c05f73
GA
28022020-06-26 Marek Polacek <polacek@redhat.com>
2803
2804 * c-opts.c (c_common_init_options): Default to gnu++17.
2805
aff95ee7
GA
28062020-06-17 Jonathan Wakely <jwakely@redhat.com>
2807
bd0a89dc 2808 PR c/95378
aff95ee7
GA
2809 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2810 pointer arguments.
2811
56638b9b
GA
28122020-06-16 Jakub Jelinek <jakub@redhat.com>
2813
2814 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2815 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2816 idx members.
2817 (c_omp_is_loop_iterator): New function.
2818 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2819 if outer loop iterator is present. Perform duplicate checking through
2820 hash_set in the function rather than expecting caller to do that.
2821 Pass NULL instead of d->ppset to walk_tree_1.
2822 (c_omp_check_nonrect_loop_iv): New function.
2823 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2824 non-rectangular loop forms, diagnose multiple associated loops with
2825 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2826 (c_omp_check_loop_iv_exprs): Likewise.
2827
ec6ffbb9
GA
28282020-06-10 Martin Liska <mliska@suse.cz>
2829
2830 PR tree-optimization/92860
2831 * c-attribs.c (handle_optimize_attribute):
2832 Save global options and compare it after parsing of function
2833 attribute.
2834 * c-pragma.c (opt_stack::saved_global_options): New field.
2835 (handle_pragma_push_options): Save global_options.
2836 (handle_pragma_pop_options): Compare them after pop.
2837
b952c2cf
GA
28382020-06-09 Jakub Jelinek <jakub@redhat.com>
2839
2840 PR c/95580
2841 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2842 case when MEM_REF's first argument has type pointer to incomplete type.
2843
1a59f3db
GA
28442020-06-05 Jason Merrill <jason@redhat.com>
2845
2846 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2847 operand to POINTER_PLUS_EXPR.
2848
3add3425
GA
28492020-06-04 Martin Sebor <msebor@redhat.com>
2850
2851 PR middle-end/10138
2852 PR middle-end/95136
2853 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2854 (handle_access_attribute): Same.
2855
9a5b7438
GA
28562020-06-03 Mark Wielaard <mark@klomp.org>
2857
2858 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2859 New function.
2860 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2861 New function declaration.
2862
28632020-06-03 Mark Wielaard <mark@klomp.org>
2864
2865 * known-headers.cc (get_string_macro_hint): New function.
2866 (get_stdlib_header_for_name): Use get_string_macro_hint.
2867 (get_c_stdlib_header_for_string_macro_name): New function.
2868 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2869 New function declaration.
2870
28712020-06-03 Tobias Burnus <tobias@codesourcery.com>
2872
2873 * c-common.h (c_omp_predetermined_mapping): Declare.
2874 * c-omp.c (c_omp_predetermined_mapping): New.
2875
af114c38
MW
28762020-05-22 Mark Wielaard <mark@klomp.org>
2877
2878 * known-headers.cc (get_stdlib_header_for_name): Add a new
2879 stdlib_hint array for stdbool and stdint.
2880
45c50b6a
MW
28812020-05-22 Mark Wielaard <mark@klomp.org>
2882
2883 * known-headers.cc (get_stdlib_header_for_name): Return
2884 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2885 flag_isoc99.
2886
c22027a0
NS
28872020-05-20 Nathan Sidwell <nathan@acm.org>
2888
38a4db21
NS
2889 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2890
c22027a0
NS
2891 * c-common.c (try_to_locate_new_include_insertion_point): Use
2892 strcmp to compare filenames.
2893 * c-lex.c (init_c_lex): Move declaration to initialization.
2894 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2895 deferred count loop.
2896
29f0e90d
JM
28972020-05-15 Jason Merrill <jason@redhat.com>
2898
2899 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2900
b04445d4
JM
29012020-05-13 Jason Merrill <jason@redhat.com>
2902
2903 * c.opt (std=c++20): Make c++2a the alias.
2904 (std=gnu++20): Likewise.
2905 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2906 * c-opts.c: Adjust.
2907 * c-cppbuiltin.c: Adjust.
2908 * c-ubsan.c: Adjust.
2909 * c-warn.c: Adjust.
2910
11dd3be5
EB
29112020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2912
2913 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2914
b224c376
NS
29152020-05-08 Nathan Sidwell <nathan@acm.org>
2916
2917 Reimplement directives only processing.
2918 * c-ppoutput.c (token_streamer): Ne.
2919 (directives_only_cb): New. Swallow ...
2920 (print_lines_directives_only): ... this.
2921 (scan_translation_unit_directives_only): Reimplment using the
2922 published interface.
2923
f1d94677
MP
29242020-05-07 Marek Polacek <polacek@redhat.com>
2925
2926 * c-format.c (badwords): Add "nonstatic".
2927
9b95bb52
JJ
2928202-05-07 Jakub Jelinek <jakub@redhat.com>
2929
2930 PR c/94968
2931 * c-common.c (speculation_safe_value_resolve_params): Return false if
2932 error_operand_p (val2).
2933 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2934 Remove extraneous semicolon.
2935
530b4409 29362020-05-06 qing zhao <qing.zhao@oracle.com>
2937
2938 PR c/94230
2939 * c-indentation.c (get_visual_column): Add a hint to use the new
2940 -flarge-source-files option.
2941
b776bdca
SSF
29422020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2943
2944 * c-attribs.c (handle_vector_size_attribute): Add attribute
2945 nonnull for argument args in order to silence warning of
2946 uninitialized variable usage. Since this is local to the
2947 compilation unit and thus cannot be checked at call sides by the
2948 compiler, added an assert statement in order to verify this.
2949
6607bdd9
L
29502020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2951
2952 PR target/93492
2953 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2954 value to USHRT_MAX (65535).
2955
691eeb65
JJ
29562020-04-29 Jakub Jelinek <jakub@redhat.com>
2957
2958 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2959
26d76be7
JJ
29602020-04-27 Jakub Jelinek <jakub@redhat.com>
2961
2962 PR c/94755
2963 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2964 fncode == BUILT_IN_NONE before initialization of first_param.
2965
7291b2ed
MP
29662020-04-23 Marek Polacek <polacek@redhat.com>
2967
2968 PR c++/94733
2969 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2970 TREE_PURPOSE.
2971
58a29af8
PP
29722020-04-14 Patrick Palka <ppalka@redhat.com>
2973
2974 PR c++/85278
2975 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2976 ampersand if it's an rvalue reference type.
2977
09f04139
MS
29782020-04-13 Martin Sebor <msebor@redhat.com>
2979
2980 PR c/92326
2981 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2982 printing array bound for flexible array members.
2983
ee26baf4
IS
29842020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2985
2986 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2987 define, per n4861.
2988
75efe9cb
RB
29892020-04-02 Richard Biener <rguenther@suse.de>
2990
2991 PR c/94392
2992 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2993 for -O2 and C++11 or newer.
2994
75defde9
PP
29952020-03-28 Patrick Palka <ppalka@redhat.com>
2996
2997 * c.opt: Add -fconcepts-diagnostics-depth.
2998
52f24a9e
MS
29992020-03-27 Martin Sebor <msebor@redhat.com>
3000
3001 PR c++/94346
3002 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
3003 to decl_attributes. Make handling of different kinds of entities
3004 more robust.
3005
ccacf77b
MS
30062020-03-27 Martin Sebor <msebor@redhat.com>
3007
3008 PR c++/94098
3009 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
3010 here.
3011
ca6c7225
JJ
30122020-03-23 Jakub Jelinek <jakub@redhat.com>
3013
3014 PR c++/91993
3015 * c-warn.c (warnings_for_convert_and_check): For expr and/or
3016 result being COMPOUND_EXPRs, skip to ultimate rhs.
3017
1aa22b19
RS
30182020-03-20 Richard Sandiford <richard.sandiford@arm.com>
3019
3020 PR middle-end/94072
3021 * c-common.c (c_common_type_for_mode): Before using a registered
3022 built-in type, check that the vectorness of the type matches
3023 the vectorness of the mode.
3024
700d4cb0
JJ
30252020-03-17 Jakub Jelinek <jakub@redhat.com>
3026
3027 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
3028 issue in a diagnostic message.
3029
b408e010
LH
30302020-03-15 Lewis Hyatt <lhyatt@gmail.com>
3031
3032 * c.opt: Avoid redundancy in the help text.
3033
e78e50d5
MP
30342020-03-02 Marek Polacek <polacek@redhat.com>
3035
3036 PR c++/93958 - add missing -std=gnu++20.
3037 * c.opt: Add -std=gnu++20.
3038
649e1741
MS
30392020-03-01 Martin Sebor <msebor@redhat.com>
3040
3041 PR c++/92721
3042 * c-attribs.c (append_access_attrs): Correctly handle attribute.
3043 (handle_access_attribute): Same.
3044
7b60f3ba
JJ
30452020-02-25 Jakub Jelinek <jakub@redhat.com>
3046
3047 PR c/93858
3048 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
3049 "did you mean" hint in diagnostics.
3050
fb260504
JM
30512020-02-15 Jason Merrill <jason@redhat.com>
3052
3053 * c.opt: Add -std=c++20.
3054
1d757b09
EB
30552020-02-14 Eric Botcazou <ebotcazou@adacore.com>
3056
3057 * c-ada-spec.c: Include bitmap.h.
3058 (dump_ada_double_name): Rename into...
3059 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
3060 (dump_ada_array_type): Adjust to above renaming. Robustify.
3061 (dump_nested_types_1): New function copied from... Add dumped_types
3062 parameter and pass it down to dump_nested_type.
3063 (dump_nested_types): ...this. Remove parent parameter. Just call
3064 dump_nested_types_1 on an automatic bitmap.
3065 (dump_nested_type): Add dumped_types parameter.
3066 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
3067 Adjust recursive calls and adjust to above renaming.
3068 (dump_ada_declaration): Adjust call to dump_nested_types.
3069 Tidy up and adjust to above renaming.
3070 (dump_ada_specs): Initialize and release bitmap obstack.
3071
0cc575e4
MS
30722020-02-10 Martin Sebor <msebor@redhat.com>
3073
3074 PR c/93640
3075 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
3076
a59aa302
JJ
30772020-02-10 Jakub Jelinek <jakub@redhat.com>
3078
3079 PR other/93641
3080 * c-format.c (check_plain): Fix up last argument of strncasecmp.
3081 Remove useless extra test.
3082
e464fc90
TB
30832020-02-03 Julian Brown <julian@codesourcery.com>
3084 Tobias Burnus <tobias@codesourcery.com>
3085
3086 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
3087
e3b6c052
JM
30882020-01-29 Jason Merrill <jason@redhat.com>
3089
3090 PR c++/89357
3091 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
3092
6d00f052
JM
30932020-01-23 Jason Merrill <jason@redhat.com>
3094
3095 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
3096
8a990ffa
MS
30972020-01-23 Martin Sebor <msebor@redhat.com>
3098
3099 PR c/84919
3100 * c-common.c (check_function_arguments): Avoid overlap checking
3101 of sprintf functions.
3102
55b7df8b
JM
31032020-01-22 Jason Merrill <jason@redhat.com>
3104
3105 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
3106 PR c++/40752
3107 * c-warn.c (conversion_warning): Check operands only after checking
3108 the whole expression. Don't check second operand of + for sign.
3109
c77074d0
JM
31102020-01-21 Jason Merrill <jason@redhat.com>
3111 Manuel López-Ibáñez <manu@gcc.gnu.org>
3112
3113 PR c++/40752 - useless -Wconversion with short +=.
3114 * c.opt (-Warith-conversion): New.
3115 * c-warn.c (conversion_warning): Recurse for operands of
3116 operators. Only warn about the whole expression with
3117 -Warith-conversion.
3118
731dbfc3
JM
31192020-01-21 Jason Merrill <jason@redhat.com>
3120
3121 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
3122 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
3123
ad1a3914
NS
31242020-01-20 Nathan Sidwell <nathan@acm.org>
3125
3126 PR preprocessor/80005
3127 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
3128
49789fd0
IS
31292020-01-18 Iain Sandoe <iain@sandoe.co.uk>
3130
3131 * c-common.c (co_await, co_yield, co_return): New.
3132 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
3133 RID_CO_RETURN): New enumeration values.
3134 (D_CXX_COROUTINES): Bit to identify coroutines are active.
3135 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
3136 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
3137 * c.opt (fcoroutines): New command-line switch.
3138
4bc1899b
DM
31392020-01-10 David Malcolm <dmalcolm@redhat.com>
3140
3141 * c-format.c (local_event_ptr_node): New.
3142 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
3143 (init_dynamic_diag_info): Initialize local_event_ptr_node.
3144 * c-format.h (T_EVENT_PTR): New define.
3145
f25e33fa
MS
31462020-01-10 Martin Sebor <msebor@redhat.com>
3147
3148 PR c/93132
3149 * c-attribs.c (append_access_attrs): Validate against the translated
3150 access string rather than the human-readable representation.
3151
8d9254fc
JJ
31522020-01-01 Jakub Jelinek <jakub@redhat.com>
3153
3154 Update copyright years.
3155
39292e25
EB
31562019-12-20 Eric Botcazou <ebotcazou@adacore.com>
3157
3158 * c-ada-spec.h (decl_sloc): Delete.
3159 * c-ada-spec.c (decl_sloc): Make static.
3160
519d7496
JB
31612019-12-19 Julian Brown <julian@codesourcery.com>
3162
3163 * c-common.h (c_omp_map_clause_name): Add prototype.
3164 * c-omp.c (c_omp_map_clause_name): New function.
3165 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
3166 PRAGMA_OACC_CLAUSE_DETACH.
3167
a6163563
JB
31682019-12-19 Julian Brown <julian@codesourcery.com>
3169 Maciej W. Rozycki <macro@codesourcery.com>
3170 Tobias Burnus <tobias@codesourcery.com>
3171 Thomas Schwinge <thomas@codesourcery.com>
3172
3173 * c-pragma.h (pragma_omp_clause): Add
3174 PRAGMA_OACC_CLAUSE_NO_CREATE.
3175
e8f1ade2
MS
31762019-12-17 Martin Sebor <msebor@redhat.com>
3177
3178 PR c++/61339
3179 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
3180
368877a1
DM
31812019-12-11 David Malcolm <dmalcolm@redhat.com>
3182
3183 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
3184 implementation.
3185 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
3186
d68f5d45
DM
31872019-12-09 David Malcolm <dmalcolm@redhat.com>
3188
3189 * c-format.c (range_label_for_format_type_mismatch::get_text):
3190 Replace label_text ctor called with true with label_text::take.
3191
d3e28653
DM
31922019-12-09 David Malcolm <dmalcolm@redhat.com>
3193
3194 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
3195 initial newline from expected outputs.
3196 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
3197 call to diagnostic_show_locus.
3198
abd6d8cc
JJ
31992019-12-06 Jakub Jelinek <jakub@redhat.com>
3200
3201 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
3202 now.
3203
7906797e
MP
32042019-12-05 Marek Polacek <polacek@redhat.com>
3205 Jakub Jelinek <jakub@redhat.com>
3206
3207 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
3208 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
3209
5c04da88
MP
32102019-12-05 Marek Polacek <polacek@redhat.com>
3211
3212 PR c++/92271 - make __is_same alias for __is_same_as.
3213 * c-common.c: Add __is_same, an alias for __is_same_as.
3214
43aae289
MP
32152019-12-03 Marek Polacek <polacek@redhat.com>
3216
3217 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
3218 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3219 __cpp_aggregate_paren_init=201902 for -std=c++2a.
3220
d7ddfbcb
JH
32212019-11-30 Jan Hubicka <hubicka@ucw.cz>
3222
3223 * c-attribs.c (handle_symver_attribute): New function
3224 (c_common_attributes): Add symver.
3225
65ef05d0
RS
32262019-11-30 Richard Sandiford <richard.sandiford@arm.com>
3227
3228 * c-common.c (pointer_int_sum): Use verify_type_context to check
3229 whether the target allows pointer arithmetic for the types involved.
3230 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
3231 to check whether the target allows sizeof and alignof operations
3232 for the types involved.
3233
1a291106
JM
32342019-11-27 Jason Merrill <jason@redhat.com>
3235
3236 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
3237
05d6cb1a
JJ
32382019-11-26 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR c++/61414
3241 * c-attribs.c (handle_mode_attribute): Add mode attribute to
3242 ENUMERAL_TYPEs.
3243
5b8d9367
JM
32442019-11-25 Joseph Myers <joseph@codesourcery.com>
3245
3246 PR c/91985
3247 * c-common.c (c_common_type_for_mode): Handle decimal
3248 floating-point types being NULL_TREE.
3249 * c-format.c (get_format_for_type_1): Handle specified types being
3250 NULL_TREE.
3251 * c-lex.c (interpret_float): Give an error for decimal
3252 floating-point constants when decimal floating-point not
3253 supported.
3254
1fbf51cb
JJ
32552019-11-23 Jakub Jelinek <jakub@redhat.com>
3256
3257 PR middle-end/83859
3258 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
3259 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
3260 group warning with inform together.
3261 (handle_access_attribute): Formatting fix.
3262
761df906
JJ
32632019-11-22 Jakub Jelinek <jakub@redhat.com>
3264
bdaf8be1
JJ
3265 PR c/90677
3266 * c-common.h (identifier_global_tag): Declare.
3267 * c-format.c (get_pointer_to_named_type): Renamed to ...
3268 (get_named_type): ... this. Use identifier_global_tag instead of
3269 identifier_global_value, handle the return value being a TYPE_P.
3270 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
3271 to call get_named_type instead. Formatting fixes.
3272
c2ecce6d 3273 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
3274 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
3275 and __cpp_generic_lambdas for -std=c++2a. Define
3276 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
3277 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
3278 __cpp_concepts for -std=c++2a.
3279
54aa6b58
MS
32802019-11-22 Martin Sebor <msebor@redhat.com>
3281
3282 PR middle-end/83859
3283 * c-attribs.c (handle_access_attribute): New function.
3284 (c_common_attribute_table): Add new attribute.
3285 (get_argument_type): New function.
3286 (append_access_attrs): New function.
3287 (get_nonnull_operand): Rename...
3288 (get_attribute_operand): ...to this.
3289 * c-common.c (get_nonnull_operand): Rename...
3290 (get_attribute_operand): ...to this.
3291
6c80b1b5
JM
32922019-11-21 Joseph Myers <joseph@codesourcery.com>
3293
3294 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
3295 of warning.
3296
192961ff
JM
32972019-11-19 Joseph Myers <joseph@codesourcery.com>
3298
3299 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
3300 warning for standard attributes mixed with fallthrough attributes.
3301
f8aea5e3
JM
33022019-11-15 Joseph Myers <joseph@codesourcery.com>
3303
3304 * c-attribs.c (handle_fallthrough_attribute): Remove static.
3305 * c-common.h (handle_fallthrough_attribute): Declare.
3306
2cc94aa8
JM
33072019-11-15 Joseph Myers <joseph@codesourcery.com>
3308
3309 * c-attribs.c (handle_deprecated_attribute): Remove static.
3310 * c-common.h (handle_deprecated_attribute): Declare.
3311
7c5890cc
JM
33122019-11-14 Joseph Myers <joseph@codesourcery.com>
3313
3314 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
3315 char for C.
3316
b2417b59
JJ
33172019-11-14 Jakub Jelinek <jakub@redhat.com>
3318
d0ec7c93
JJ
3319 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
3320 valid vendors.
3321
b2417b59
JJ
3322 * c-omp.c (c_omp_check_context_selector): Handle name lists
3323 containing string literals. Don't diagnose atomic_default_mem_order
3324 with multiple props.
3325
00be2a5f
JM
33262019-11-13 Joseph Myers <joseph@codesourcery.com>
3327
3328 * c-cppbuiltin.c (builtin_define_float_constants): Also define
3329 NORM_MAX constants. Update call to get_max_float.
3330 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
3331 constants.
3332
2dbad62d
EB
33332019-11-13 Eric Botcazou <ebotcazou@adacore.com>
3334
3335 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
3336 (dump_forward_type): Do not generate a declaration for function types.
3337 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
3338 of the component type if it is declared in another file.
3339
6ed76044
ML
33402019-11-12 Martin Liska <mliska@suse.cz>
3341
3342 * c-opts.c (c_common_post_options):
3343 Use SET_OPTION_IF_UNSET.
3344
62aee289
MR
33452019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
3346 Frederik Harwath <frederik@codesourcery.com>
3347
3348 gcc/c-family/
3349 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
3350 constant.
3351 * c-pragma.c (oacc_pragmas): Add "serial" entry.
3352
f486280c
RS
33532019-11-08 Richard Sandiford <richard.sandiford@arm.com>
3354
3355 * c-common.h (gnu_vector_type_p): New function.
3356 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
3357 vectors to satisfy gnu_vector_type_p.
3358 (c_build_vec_convert): Likewise __builtin_convertvector.
3359 (convert_vector_to_array_for_subscript): Likewise when applying
3360 implicit vector to array conversion.
3361 (scalar_to_vector): Likewise when converting vector-scalar
3362 operations to vector-vector operations.
3363
017c6491
JM
33642019-11-08 Joseph Myers <joseph@codesourcery.com>
3365
3366 * c.opt (Wold-style-definition): Initialize to -1.
3367 * c-opts.c (c_common_post_options): Set warn_old_style_definition
3368 to flag_isoc2x if not set explicitly.
3369
c01bd174
JM
33702019-11-07 Joseph Myers <joseph@codesourcery.com>
3371
3372 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
3373
0df65305
JM
33742019-11-05 Jason Merrill <jason@redhat.com>
3375
3376 * c-opts.c (c_common_post_options): -fconcepts-ts implies
3377 -fconcepts.
3378
e0c866dd
KK
33792019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
3380
3381 * c-opts.c (c_common_post_options): Update
3382 latest_abi_version.
3383
f968ef9b
JJ
33842019-11-02 Jakub Jelinek <jakub@redhat.com>
3385
d0c464d2
JJ
3386 * c-common.h (c_omp_get_context_selector): Remove.
3387 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
3388 and renamed to omp_get_context_selector.
3389
917dd789
JJ
3390 * c-omp.c (c_omp_mark_declare_variant): Use
3391 omp_context_selector_set_compare.
3392
f968ef9b
JJ
3393 PR c++/88335 - Implement P1073R3: Immediate functions
3394 * c-common.h (enum rid): Add RID_CONSTEVAL.
3395 * c-common.c (c_common_reswords): Add consteval.
3396
5f6705b7
JJ
33972019-11-01 Martin Sebor <msebor@redhat.com>
3398
3399 PR middle-end/91679
3400 PR middle-end/91647
3401 PR middle-end/91463
3402 PR middle-end/92312
3403 * c-pretty-print.c (direct_abstract_declarator): Print
3404 bound in zero-length arrays.
3405 * c.opt (-Wzero-length-bounds): New option.
3406
43f1814c
NS
34072019-10-30 Nathan Sidwell <nathan@acm.org>
3408
3409 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
3410 macros.
3411
ad1539d5
MS
34122019-10-28 Martin Sebor <msebor@redhat.com>
3413
3414 PR c/66970
3415 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
3416 even when only preprocessing.
3417 * c-common.h (names_builtin_p): Declare new function.
3418 * c-lex.c (init_c_lex): Set has_builtin.
3419 (c_common_has_builtin): Define a new function.
3420 * c-ppoutput.c (init_pp_output): Set has_builtin.
3421
135df52c
JJ
34222019-10-24 Jakub Jelinek <jakub@redhat.com>
3423
3424 * c-common.h (c_omp_context_selector_matches): Remove.
3425 * c-omp.c (c_omp_context_selector_matches): Remove.
3426 * c-attribs.c (c_common_attribute_table): Add
3427 "omp declare target {host,nohost,block}" attributes.
3428
8ad0c477
JM
34292019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
3430
3431 * c-lex.c (c_common_has_attribute): Update nodiscard value.
3432
56898e43
RS
34332019-10-14 Richard Sandiford <richard.sandiford@arm.com>
3434
3435 * c-common.h (user_facing_original_type_p): Declare.
3436 * c-common.c: Include c-spellcheck.h.
3437 (user_facing_original_type_p): New function.
3438
20de9568
JJ
34392019-10-12 Jakub Jelinek <jakub@redhat.com>
3440
3441 * c-common.h (c_omp_mark_declare_variant,
3442 c_omp_context_selector_matches): Declare.
3443 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
3444 and hsa-common.h.
3445 (c_omp_get_context_selector): Support second argument NULL.
3446 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
3447 functions.
3448 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
3449 attribute, add "omp declare variant base" and
3450 "omp declare variant variant" attributes.
3451
175a85b2
JM
34522019-10-11 Joseph Myers <joseph@codesourcery.com>
3453
3454 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
3455 CppReason(CPP_W_C11_C2X_COMPAT).
3456
fe2bc27c
JM
34572019-10-11 Joseph Myers <joseph@codesourcery.com>
3458
3459 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
3460 _Decimal64 and _Decimal128.
3461
27dfdc0f
JM
34622019-10-10 Joseph Myers <joseph@codesourcery.com>
3463
3464 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
3465 types if DFP not supported.
3466
94e7f906
JJ
34672019-10-10 Jakub Jelinek <jakub@redhat.com>
3468
3469 * c-common.h (c_omp_check_context_selector,
3470 c_omp_get_context_selector): Declare.
3471 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
3472 in diagnostic message.
3473 (c_omp_check_context_selector, c_omp_get_context_selector): New
3474 functions.
3475 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
3476 attribute.
3477 (handle_omp_declare_variant_attribute): New function.
3478
a7160771
MS
34792019-10-09 Martin Sebor <msebor@redhat.com>
3480
3481 PR tree-optimization/90879
3482 * c.opt (-Wstring-compare): New option.
3483
cb57504a
JM
34842019-10-08 Andrew Sutton <asutton@lock3software.com>
3485 Jason Merrill <jason@redhat.com>
3486
3487 Update the concepts implementation to conform to the C++20
3488 specification, improve compile times, and generally clean up
3489 the implementation.
3490
3491 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
3492 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
3493 * c.opt: Add -Wconcepts-ts.
3494 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
3495 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
3496 (set_std_cxx2a): Enable concepts by default.
3497
fbb2a6dc
JM
34982019-10-08 Joseph Myers <joseph@codesourcery.com>
3499
3500 * c-opts.c (c_common_post_options): Set
3501 -fno-fp-int-builtin-inexact for C2X.
3502
8e007055
JJ
35032019-10-05 Jakub Jelinek <jakub@redhat.com>
3504
3505 PR c++/91369 - Implement P0784R7: constexpr new
3506 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3507 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
3508
843f104d
JM
35092019-10-04 Joseph Myers <joseph@codesourcery.com>
3510
3511 PR c/82752
3512 * c-format.c (C_STD_VER): Handle C2x.
3513 (C_STD_NAME): Likewise.
3514 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
3515 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
3516 modifier allowed and 'p' flag.
3517 * c-format.h (enum format_std_version): Add STD_C2X.
3518 (struct format_char_info): Mention 'p' in comment on flags2.
3519
e9c9a142
DM
35202019-10-01 David Malcolm <dmalcolm@redhat.com>
3521
3522 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
3523 calling diagnostic_show_locus, rather than destroying it afterwards.
3524
7552c36a
JJ
35252019-10-01 Jakub Jelinek <jakub@redhat.com>
3526
3527 PR c++/91925
3528 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
3529 with NULL DECL_FIELD_OFFSET.
3530
8209db25
RS
35312019-10-01 Richard Sandiford <richard.sandiford@arm.com>
3532
3533 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
3534 has a type name, use it in preference to the __vector syntax.
3535
9343bf99
RS
35362019-09-30 Richard Sandiford <richard.sandiford@arm.com>
3537
3538 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
3539 two spaces between a comma and "...".
3540
59bc434a
JJ
35412019-09-27 Jakub Jelinek <jakub@redhat.com>
3542
3543 PR c++/88203
3544 * c-common.h (c_omp_predefined_variable): Declare.
3545 * c-omp.c (c_omp_predefined_variable): New function.
3546 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
3547 for predefined variables.
3548
c6447c20
RS
35492019-09-27 Richard Sandiford <richard.sandiford@arm.com>
3550
3551 * c-common.h (build_function_call_vec): Take the original
3552 function decl as an optional final parameter.
3553 (check_builtin_function_arguments): Take the original function decl.
3554 * c-common.c (check_builtin_function_arguments): Likewise.
3555 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
3556 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
3557
c4438114
JM
35582019-09-15 Jason Merrill <jason@redhat.com>
3559
3560 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
3561 fold_for_warn in "|| mask" warning.
3562
68a57628
ML
35632019-09-10 Martin Liska <mliska@suse.cz>
3564
3565 * c.opt: Use newly added WarnRemoved.
3566
f48ef52e
ML
35672019-09-09 Martin Liska <mliska@suse.cz>
3568
3569 * c.opt: Update comment of removed
3570 options that are preserved only for backward
3571 compatibility.
3572
67f6e649
ML
35732019-09-06 Martin Liska <mliska@suse.cz>
3574
3575 PR c++/91125
3576 * c-common.c: Remove definition of flag_use_repository.
3577 * c-common.h: Likewise.
3578 * c-opts.c (c_common_handle_option):
3579 Do not handle OPT_frepo option.
3580 * c.opt: Mark the option with Deprecated.
3581
db9d2274
MP
35822019-09-04 Marek Polacek <polacek@redhat.com>
3583
3584 * c.opt (fdeduce-init-list): Ignored.
3585
68e2c199
PK
35862019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3587
3588 PR c/78736
3589 * c.opt (Wenum-conversion): New option.
3590
7a4418a5
JL
35912019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3592
3593 * c-attribs.c (handle_section_attribute): Call the
3594 handle_generic_attribute target hook after performing target
3595 independent processing.
3596 (handle_noinit_attribute): Likewise.
3597
5f76ab15
ILT
35982019-09-03 Ian Lance Taylor <iant@golang.org>
3599
3600 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
3601 when using -fgo-dump-spec.
3602
ae0d3f6a
ML
36032019-09-02 Martin Liska <mliska@suse.cz>
3604
3605 PR c++/91155
3606 * c-common.c (fname_as_string): Use cxx_printable_name for
3607 __PRETTY_FUNCTION__ same as was used before r265711.
3608
8a902edb
MP
36092019-08-28 Marek Polacek <polacek@redhat.com>
3610
3611 Implement P1152R4: Deprecating some uses of volatile.
3612 PR c++/91361
3613 * c-opts.c (c_common_post_options): Enable -Wvolatile by
3614 default for C++2a, unless -Wno-deprecated.
3615 * c.opt (Wvolatile): New warning.
3616
4742dbe7
MP
36172019-08-28 Marek Polacek <polacek@redhat.com>
3618
3619 PR c++/91360 - Implement C++20 P1143R2: constinit.
3620 * c-common.c (c_common_reswords): Add constinit and __constinit.
3621 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
3622 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
3623 RID_LAST_CXX20.
3624 (D_CXX20): Define.
3625 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
3626 * c-format.c (cxx_keywords): Add "constinit".
3627 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
3628
6a074892
JJ
36292019-08-27 Jakub Jelinek <jakub@redhat.com>
3630
3631 PR c++/91415
3632 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
3633 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
3634 like COMPOUND_EXPR rather than normal expression.
3635
22f8849d
IS
36362019-08-23 Iain Sandoe <iain@sandoe.co.uk>
3637
3638 PR pch/61250
3639 * c-lex.c (c_lex_with_flags): Don't call
3640 c_common_no_more_pch () from here.
3641
df375b03
JJ
36422019-08-23 Jakub Jelinek <jakub@redhat.com>
3643
3644 PR middle-end/91283
3645 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
3646 instead of flag_excess_precision_cmdline.
3647 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
3648 * c-opts.c (c_common_post_options): Likewise.
3649
14b7950f
MS
36502019-08-22 Martin Sebor <msebor@redhat.com>
3651
3652 PR middle-end/91490
3653 * c-common.c (braced_list_to_string): Add argument and overload.
3654 Handle flexible length arrays and unions.
3655
8bb2ee59
EB
36562019-08-21 Eric Botcazou <ebotcazou@adacore.com>
3657
3658 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
3659 function declarations where arguments are missing. Rename variables.
3660
21c1e205
RB
36612019-08-15 Richard Biener <rguenther@suse.de>
3662
3663 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
3664 enabled, define __SIZETYPE__.
3665
f0033821
CL
36662019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
3667
3668 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
3669 exclusion with "section" attribute.
3670 (attr_noinit_exclusions): New table.
3671 (handle_noinit_attribute): New function.
3672
4d732405
RS
36732019-08-13 Richard Sandiford <richard.sandiford@arm.com>
3674
3675 PR middle-end/91421
3676 * c-common.c (resolve_overloaded_builtin): Use
3677 copy_decl_built_in_function.
3678
51ad8481
MS
36792019-08-13 Martin Sebor <msebor@redhat.com>
3680
3681 PR c/80619
3682 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
3683 (asm_fprintf_length_spec): Same.
3684 * c-format.h (format_lengths): Add FMT_LEN_w.
3685
77eb117f
JJ
36862019-08-10 Jakub Jelinek <jakub@redhat.com>
3687
3688 * c-pragma.h (enum pragma_omp_clause): Add
3689 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
3690
398e3feb
JJ
36912019-08-07 Jakub Jelinek <jakub@redhat.com>
3692
3693 * c-pragma.h (enum pragma_omp_clause): Add
3694 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
3695 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
3696 enumeration value.
3697
ab574db6
MP
36982019-08-05 Marek Polacek <polacek@redhat.com>
3699
3700 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
3701 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
3702 default for C++2a, unless -Wno-deprecated.
3703 * c.opt (Wcomma-subscript): New warning.
3704
554a530f
JJ
37052019-07-20 Jakub Jelinek <jakub@redhat.com>
3706
3707 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
3708 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
3709 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
3710 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
3711 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
3712 constructs with the loop construct.
3713
1a888209
JJ
37142019-07-13 Jakub Jelinek <jakub@redhat.com>
3715
3716 PR c/91149
3717 * c-omp.c (c_omp_split_clauses): Fix a pasto in
3718 OMP_CLAUSE_REDUCTION_TASK handling.
3719
1fdd6f04
JJ
37202019-07-12 Jakub Jelinek <jakub@redhat.com>
3721
3722 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
3723 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
3724
99b1c316
MS
37252019-07-09 Martin Sebor <msebor@redhat.com>
3726
3727 PR c++/61339
1fdd6f04 3728 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
3729 and others to class.
3730 * c-pretty-print.h: Same.
3731
6c1dae73
MS
37322019-07-09 Martin Sebor <msebor@redhat.com>
3733
3734 PR c++/61339
3735 * c-format.c (check_argument_type): Change class-key from class to
3736 struct and vice versa to match convention and avoid -Wclass-is-pod
3737 and -Wstruct-no-pod.
3738 * c-pretty-print.h: Same.
3739
8ba6ea87
ML
37402019-07-03 Martin Liska <mliska@suse.cz>
3741
3742 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3743 dead assignemts.
3744
83eb9522
JJ
37452019-07-03 Jakub Jelinek <jakub@redhat.com>
3746
3747 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3748 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3749 with OMP_PARALLEL.
3750
1c6ffbab
QZ
37512019-07-02 qing zhao <qing.zhao@oracle.com>
3752
3753 PR preprocessor/90581
3754 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3755 * c.opt: Add new option -fmax-include-depth.
3756
7ffc7de5
JM
37572019-06-26 Jason Merrill <jason@redhat.com>
3758
3759 PR c++/55442 - memory-hog with highly recursive constexpr.
3760 * c.opt (fconstexpr-loop-limit): New.
3761
361af3e4
JJ
37622019-06-25 Jakub Jelinek <jakub@redhat.com>
3763
3764 PR sanitizer/90954
3765 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3766 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3767
ab20d992
JJ
37682019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3769
3770 * c-common.c (c_common_nodes_and_builtins): Define
3771 alternate "__intN__" name for "__intN" types.
3772
f4af4019
JH
37732019-06-24 Jan Hubicka <jh@suse.cz>
3774
3775 * c-common.c (braced_lists_to_strings): Check that
3776 type is array or integer prior checking string flag.
3777
da9e9b57
MB
37782019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3779
3780 PR c++/90875 - added -Wswitch-outside-range option
3781 * c.opt (Wswitch-outside-range): Added new option.
3782 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3783
3f3d6a6f
MP
37842019-06-21 Marek Polacek <polacek@redhat.com>
3785
3786 PR c++/90953 - ICE with -Wmissing-format-attribute.
3787 * c-common.c (check_function_arguments_recurse): Use
3788 get_attribute_name.
3789 (check_missing_format_attribute): Likewise.
3790
1bf32c11
MP
37912019-06-19 Marek Polacek <polacek@redhat.com>
3792
3793 PR c++/60364 - noreturn after first decl not diagnosed.
3794 * c-attribs.c (handle_noreturn_attribute): No longer static.
3795 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3796 Declare.
3797 * c-format.c (check_function_format): Use get_attribute_name.
3798
a04c0734
MS
37992019-06-19 Martin Sebor <msebor@redhat.com>
3800
3801 PR translation/90156
3802 * c-format.c (function_format_info::format_type): Adjust type.
3803 (function_format_info::is_raw): New member.
3804 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3805 (decode_format_attr): Adjust call to decode_format_type.
3806 Avoid a redundant call to convert_format_name_to_system_name.
3807 Avoid abbreviating the word "arguments" in a diagnostic.
3808 (format_warning_substr): New function.
3809 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3810 (finish_dollar_format_checking): Same.
3811 (check_format_info): Same.
3812 (struct baltoks_t): New.
3813 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3814 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3815 functions.
3816 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3817 maybe_diag_unbalanced_tokens.
3818 (handle_format_attribute): Spell out the word "arguments" in
3819 a diagnostic.
3820
d3786ebb
MB
38212019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3822
3823 PR c++/90449 - add -Winaccessible-base option.
3824 * c.opt (Winaccessible-base): New option.
3825
bf38f7e9
JJ
38262019-06-10 Jakub Jelinek <jakub@redhat.com>
3827
3828 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3829 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3830 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3831 combined/composite constructs where it is not allowed. Copy over
3832 OMP_CLAUSE_REDUCTION_INSCAN.
3833
0ecf545c
MS
38342019-06-05 Martin Sebor <msebor@redhat.com>
3835
3836 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3837 (handle_alias_ifunc_attribute): Same.
3838 (handle_copy_attribute): Same.
3839 (handle_weakref_attribute): Same.
3840 (handle_nonnull_attribute): Same.
3841 * c-warn.c (warn_for_sign_compare): Same.
3842 (warn_for_restrict): Same.
3843 * c.opt: Same.
3844
36b34127
MS
38452019-06-05 Martin Sebor <msebor@redhat.com>
3846
3847 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3848 * c.opt (-Wformat-diag): Remove a spurious period.
3849
357a352f
JJ
38502019-05-29 Jakub Jelinek <jakub@redhat.com>
3851
3852 PR c/90628
3853 * c-common.c (check_builtin_function_arguments)
3854 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3855 as last argument.
3856
2b8235ea
EB
38572019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3858
3859 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3860
6d86ddc4
ML
38612019-05-22 Martin Liska <mliska@suse.cz>
3862
3863 PR lto/90500
3864 * c-attribs.c (handle_copy_attribute): Do not copy
3865 target_clones attribute.
3866
419ba5b9
EB
38672019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3870 * c-ada-spec.c (print_assignment_operator): New function.
3871 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3872 assignment operators declared as methods and filter out the others.
3873
e03436e7
TS
38742019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3875
3876 PR c/89433
3877 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3878 "omp declare target".
3879
a9c697b8
MS
38802019-05-16 Martin Sebor <msebor@redhat.com>
3881
ab20d992
JJ
3882 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3883 keywords, operators, and types in diagnostics.
3884 (handle_scalar_storage_order_attribute): Same.
3885 (handle_mode_attribute): Same.
3886 (handle_visibility_attribute): Same.
3887 (handle_assume_aligned_attribute): Same.
3888 (handle_no_split_stack_attribute): Same.
3889 * c-common.c (shorten_compare): Same.
3890 (c_common_truthvalue_conversion): Same.
3891 (cb_get_source_date_epoch): Same.
3892 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3893 in diagnostics.
3894 (interpret_float): Same.
3895 * c-omp.c (c_finish_omp_for): Same.
3896 * c-opts.c (c_common_post_options): Same.
3897 * c-pch.c (c_common_pch_pragma): Same.
3898 * c-pragma.c (pop_alignment): Same.
3899 (handle_pragma_pack): Same.
3900 (apply_pragma_weak): Same.
3901 (handle_pragma_weak): Same.
3902 (handle_pragma_scalar_storage_order): Same.
3903 (handle_pragma_redefine_extname): Same.
3904 (add_to_renaming_pragma_list): Same.
3905 (maybe_apply_renaming_pragma): Same.
3906 (push_visibility): Same.
3907 (handle_pragma_visibility): Same.
3908 (handle_pragma_optimize): Same.
3909 (handle_pragma_message): Same.
3910 * c-warn.c (warn_for_omitted_condop): Same.
3911 (lvalue_error): Same.
a9c697b8 3912
6b943512
RB
39132019-05-15 Richard Biener <rguenther@suse.de>
3914
3915 PR c/90474
3916 * c-common.c (c_common_mark_addressable_vec): Also mark
3917 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3918 c_mark_addressable.
ab20d992 3919
b744fc85
NS
39202019-05-06 Nathan Sidwell <nathan@acm.org>
3921
3922 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3923
598f50d7
NS
39242019-04-30 Nathan Sidwell <nathan@acm.org>
3925
3926 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3927
5bcc5a3b
ML
39282019-04-30 Martin Liska <mliska@suse.cz>
3929
3930 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3931 for unknown options.
3932
e78a87f7
RS
39332019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3934
3935 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3936 the pointer target rather than the pointer itself.
3937
c280b7ee
JJ
39382019-04-19 Jakub Jelinek <jakub@redhat.com>
3939
3940 PR c/89888
3941 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3942 arguments.
3943 (c_do_switch_warnings): Remove outside_range_p argument.
3944 * c-common.c (check_case_bounds): Removed.
3945 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3946 Don't call check_case_bounds. Fold low_value as well as high_value.
3947 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3948 Check for case labels outside of range of original type here and
3949 adjust them.
3950
8e8225e6
JJ
39512019-04-12 Jakub Jelinek <jakub@redhat.com>
3952
63b8a166
JJ
3953 PR translation/90041
3954 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3955 in the Warn diagnostics.
3956
8e8225e6
JJ
3957 PR c/89946
3958 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3959 function comment. Warn if arguments of the attribute are not positive
3960 integer constants.
3961
53a3f614
EB
39622019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3963
3964 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3965 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3966
22be5873
EB
39672019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3968
3969 * c-ada-spec.c (is_float128): New predicate extracted from...
3970 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3971 <REAL_TYPE>: ...here. Call it.
3972
34facf20
DM
39732019-04-05 David Malcolm <dmalcolm@redhat.com>
3974
3975 PR c/89985
3976 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3977 auto_diagnostic_group. Guard inform calls by result of
3978 warning_at call.
3979
05564120
MP
39802019-04-05 Marek Polacek <polacek@redhat.com>
3981
ab20d992 3982 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3983 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3984 of RHS.
3985
7a506c3c
JM
39862019-04-03 Jason Merrill <jason@redhat.com>
3987
3988 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3989 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3990
ddeae8c8
MS
39912019-04-01 Martin Sebor <msebor@redhat.com>
3992
3993 PR c/89685
3994 * c-attribs.c (handle_copy_attribute): Handle references and
3995 non-constant expressions.
3996
a15ffa22
JJ
39972019-03-22 Jakub Jelinek <jakub@redhat.com>
3998
3999 PR c++/87481
4000 * c.opt (-fconstexpr-ops-limit=): New option.
4001
36a3a7a3
JJ
40022019-03-21 Jakub Jelinek <jakub@redhat.com>
4003
4004 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
4005 template param.
4006
bec1da64
MS
40072019-03-19 Martin Sebor <msebor@redhat.com>
4008
4009 PR tree-optimization/89688
4010 * c-common.c (braced_list_to_string): Make static.
4011 (braced_lists_to_strings): Define new function.
4012 * c-common.h (braced_list_to_string): Remove.
4013 (braced_lists_to_strings): Declare.
4014
1fe61adf
ML
40152019-03-12 Martin Liska <mliska@suse.cz>
4016
4017 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
4018
93964ebd
ML
40192019-03-11 Martin Liska <mliska@suse.cz>
4020
4021 * c-opts.c (c_common_post_options): Wrap apostrophes
4022 in gcc internal format with %'.
4023
a3f9f006
ML
40242019-03-11 Martin Liska <mliska@suse.cz>
4025
4026 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
4027 in a string format message and fix GNU coding style.
4028 * c-common.c (vector_types_convertible_p): Likewise.
4029 (c_build_vec_perm_expr): Likewise.
4030 * c-indentation.c (get_visual_column): Likewise.
4031 * c-opts.c (c_common_handle_option): Likewise.
4032 (c_common_post_options): Likewise.
4033 (sanitize_cpp_opts): Likewise.
4034 * c-pch.c (c_common_pch_pragma): Likewise.
4035 * c-pragma.c (handle_pragma_pack): Likewise.
4036
1db01ff9
JJ
40372019-03-08 Jakub Jelinek <jakub@redhat.com>
4038
4039 PR tree-optimization/89550
4040 * c-common.c (c_common_truthvalue_conversion): Only set
4041 TREE_NO_WARNING if warning_at returned true.
4042 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
4043
ba790e6f
JJ
40442019-02-25 Sandra Loosemore <sandra@codesourcery.com>
4045 Martin Sebor <msebor@gmail.com>
4046
4047 * c.opt (Wmissing-attributes): Clean up doc string.
4048
7da73ba7
JJ
40492019-02-25 Jakub Jelinek <jakub@redhat.com>
4050
4051 PR c/89495
4052 * c-format.c (maybe_read_dollar_number): Compute nargnum in
4053 HOST_WIDE_INT type to avoid overflows and change overflow_flag
4054 checking.
4055
921bb9d1
RB
40562019-02-22 Richard Biener <rguenther@suse.de>
4057
4058 * c-pch.c (no_checksum): Remove.
4059 (pch_init): Remove assertion that executable_checksum is not
4060 all zero.
4061 (c_common_valid_pch): Likewise.
4062
e2ebb05c
MS
40632019-02-18 Martin Sebor <msebor@redhat.com>
4064
4065 PR middle-end/89294
4066 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
4067
3fe53000
DM
40682019-02-16 David Malcolm <dmalcolm@redhat.com>
4069
4070 PR c++/88680
4071 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
4072 implementing -Wtype-limits.
4073
28a8cef1
MS
40742019-02-11 Martin Sebor <msebor@redhat.com>
4075
4076 PR c++/87996
4077 * c-common.c (invalid_array_size_error): New function.
4078 (valid_array_size_p): Call it. Handle size as well as type.
4079 * c-common.h (valid_constant_size_p): New function.
4080 (enum cst_size_error): New type.
4081
ec2be203
DM
40822019-01-31 David Malcolm <dmalcolm@redhat.com>
4083
4084 PR c/89122
4085 * known-headers.cc (get_stdlib_header_for_name): Add
4086 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
4087
8936f047
JJ
40882019-01-31 Jakub Jelinek <jakub@redhat.com>
4089
4090 PR libstdc++/88170
4091 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
4092 a C cast in pp_c_flag_gnu_v3 mode.
4093
6a335b96
JJ
40942019-01-29 Jakub Jelinek <jakub@redhat.com>
4095
4096 PR c/86125
4097 * c-common.c (c_common_nodes_and_builtins): Build type variants for
4098 builtin_structptr_types types even for C.
4099
2a06eba5
BE
41002019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4101
4102 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
4103 when rhs is of array type correctly. Fix handling of nested structures.
4104 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
4105 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
4106 type casts within nested compound expressions.
4107
18a23298
JJ
41082019-01-22 Jakub Jelinek <jakub@redhat.com>
4109
4110 PR middle-end/88968
4111 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
4112 variable after using BIT_FIELD_REF.
4113
420183d9
L
41142019-01-18 H.J. Lu <hongjiu.lu@intel.com>
4115
4116 PR c/51628
4117 PR c/88664
4118 * c-common.h (warn_for_address_or_pointer_of_packed_member):
4119 Remove the boolean argument.
4120 * c-warn.c (check_address_of_packed_member): Renamed to ...
4121 (check_address_or_pointer_of_packed_member): This. Also
4122 warn pointer conversion.
4123 (check_and_warn_address_of_packed_member): Renamed to ...
4124 (check_and_warn_address_or_pointer_of_packed_member): This.
4125 Also warn pointer conversion.
4126 (warn_for_address_or_pointer_of_packed_member): Remove the
4127 boolean argument. Don't check pointer conversion here.
4128
99063eee
RS
41292019-01-15 Richard Sandiford <richard.sandiford@arm.com>
4130
4131 PR inline-asm/52813
4132 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
4133
a30d0196
JJ
41342019-01-14 Jakub Jelinek <jakub@redhat.com>
4135
4136 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
4137 and __cpp_nontype_template_parameter_auto. Add a comment that
4138 __cpp_template_auto is deprecated.
4139
2d91f79d
TH
41402019-01-14 Tom Honermann <tom@honermann.net>
4141
4142 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
4143 * c-common.c (c_common_reswords): Add char8_t.
4144 (fix_string_type): Use char8_t for the type of u8 string literals.
4145 (c_common_get_alias_set): char8_t doesn't alias.
4146 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
4147 C++.
4148 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
4149 (keyword_begins_type_specifier): Add RID_CHAR8.
4150 * c-common.h (rid): Add RID_CHAR8.
4151 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
4152 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
4153 Define char8_type_node and char8_array_type_node.
4154 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
4155 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
4156 (c_cpp_builtins): Predefine __cpp_char8_t.
4157 * c-lex.c (lex_string): Use char8_array_type_node as the type of
4158 CPP_UTF8STRING.
4159 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
4160 * c-opts.c: If not otherwise specified, enable -fchar8_t when
4161 targeting C++2a.
4162 * c.opt: Add the -fchar8_t command line option.
4163
23db6ced
MS
41642019-01-14 Martin Sebor <msebor@redhat.com>
4165
4166 PR target/88638
4167 * c-attribs.c (positional_argument): Call valid_format_string_type_p
4168 and issue errors if it fails.
4169 * c-common.h (valid_format_string_type_p): Declare.
4170 * c-format.c (valid_stringptr_type_p): Rename...
4171 (valid_format_string_type_p): ...to this and make extern.
4172 (handle_format_arg_attribute): Adjust to new name.
4173 (check_format_string): Same.
4174
234c3818
L
41752019-01-13 H.J. Lu <hongjiu.lu@intel.com>
4176
4177 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
4178 Replace "may may" with "may" in warning message.
4179
d8fcab68
JJ
41802019-01-07 Jakub Jelinek <jakub@redhat.com>
4181
4182 PR c++/85052
4183 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
4184 (c_build_vec_convert): Declare.
4185 * c-common.c (c_build_vec_convert): New function.
4186
29d24852
MS
41872019-01-04 Martin Sebor <msebor@redhat.com>
4188
4189 PR c/88546
4190 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
4191 Handle C++ empty throw specification and C11 _Noreturn.
4192 (has_attribute): Also handle C11 _Noreturn.
4193
9069a4c9
MS
41942019-01-04 Martin Sebor <msebor@redhat.com>
4195
4196 PR c/88363
4197 * c-attribs.c (positional_argument): Also accept enumerated types.
4198
a5544970
JJ
41992019-01-01 Jakub Jelinek <jakub@redhat.com>
4200
4201 Update copyright years.
4202
da77eace
L
42032018-12-20 H.J. Lu <hongjiu.lu@intel.com>
4204
4205 PR c/51628
4206 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
4207 * c-warn.c (check_alignment_of_packed_member): New function.
4208 (check_address_of_packed_member): Likewise.
4209 (check_and_warn_address_of_packed_member): Likewise.
4210 (warn_for_address_or_pointer_of_packed_member): Likewise.
4211 * c.opt: Add -Wno-address-of-packed-member.
4212
573767d4
DM
42132018-12-20 David Malcolm <dmalcolm@redhat.com>
4214
4215 PR c++/87504
4216 * c-warn.c (get_outermost_macro_expansion): New function.
4217 (spelled_the_same_p): Use it to unwind the macro expansions, and
4218 compare the outermost macro in each nested expansion, rather than
4219 the innermost.
4220
a14feb3c
DM
42212018-12-19 David Malcolm <dmalcolm@redhat.com>
4222
4223 PR c++/87504
4224 * c-common.h (warn_tautological_cmp): Convert 1st param from
4225 location_t to const op_location_t &.
4226 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
4227 when testing for INTEGER_CST.
4228 (warn_tautological_bitwise_comparison): Convert 1st param from
4229 location_t to const op_location_t &; use it to build a
4230 binary_op_rich_location, and use this.
4231 (spelled_the_same_p): New function.
4232 (warn_tautological_cmp): Convert 1st param from location_t to
4233 const op_location_t &. Warn for macro expansions if
4234 spelled_the_same_p. Use binary_op_rich_location.
4235
dfd7fdca
DM
42362018-12-19 David Malcolm <dmalcolm@redhat.com>
4237
4238 PR c++/43064
4239 PR c++/43486
4240 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
4241 (verify_tree): Handle location wrappers.
4242 (c_common_truthvalue_conversion): Strip any location wrapper.
4243 Handle CONST_DECL.
4244 (fold_offsetof): Strip any location wrapper.
4245 (complete_array_type): Likewise for initial_value.
4246 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
4247 index before checking for INTEGER_CST.
4248 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
4249 print parentheses around location wrappers.
4250 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
4251 before checking for INTEGER_CST.
4252 (warn_tautological_bitwise_comparison): Call
4253 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
4254 before checking for INTEGER_CST.
4255 (readonly_error): Strip any location wrapper.
4256 (warn_array_subscript_with_type_char): Strip location wrappers
4257 before checking for INTEGER_CST. Use the location of the index if
4258 available.
4259
5c8b3702
JM
42602018-12-06 Jason Merrill <jason@redhat.com>
4261
4262 PR c++/88136 - -Wdeprecated-copy false positives
4263 * c.opt (Wdeprecated-copy-dtor): New.
4264 (Wdeprecated-copy): Move to -Wextra.
4265
673670da
MS
42662018-11-29 Martin Sebor <msebor@redhat.com>
4267
4268 PR c/88172
4269 PR testsuite/88208
4270 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
4271 alignments to values less than the target requires.
4272 (has_attribute): For attribute aligned consider both the attribute
4273 and the alignment bits.
4274 * c-common.c (c_init_attributes): Optionally issue a warning for
4275 zero alignment.
4276
04864ec8
MS
42772018-11-28 Martin Sebor <msebor@redhat.com>
4278
4279 PR c/88065
4280 PR c/87297
4281 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
4282 or destination is an error.
4283
ace83db0
JJ
42842018-11-28 Jakub Jelinek <jakub@redhat.com>
4285
4286 PR c++/88215
4287 * c-ubsan.c: Include langhooks.h.
4288 (ubsan_instrument_division): Change gcc_assert that main variants
4289 of op0 and op1 types are equal to gcc_checking_assert that the
4290 main variants are compatible types.
4291
da193a27
EB
42922018-11-27 Eric Botcazou <ebotcazou@adacore.com>
4293
4294 * c-ada-spec.c: Include stringpool.h.
4295 (has_static_fields): Return false for incomplete types.
4296 (is_tagged_type): Likewise.
4297 (has_nontrivial_methods): Likewise.
4298 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
4299 (struct overloaded_name_hash): New structure.
4300 (struct overloaded_name_hasher): Likewise.
4301 (overloaded_names): New global variable.
4302 (init_overloaded_names): New static function.
4303 (overloaded_name_p): New predicate.
4304 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
4305 on the TYPE_STUB_DECL of the original type of a typedef, if any.
4306 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
4307 Remove always-true condition and dump forward types.
4308 (dump_ada_specs): Delete overloaded_names.
4309
98f08eb8
MS
43102018-11-20 Martin Sebor <msebor@redhat.com>
4311
4312 * c-attribs.c (type_for_vector_size): New function.
4313 (type_valid_for_vector_size): Same.
4314 (handle_vector_size_attribute): Move code to the functions above
4315 and call them.
4316 (validate_attribute, has_attribute): New functions.
4317 * c-common.h (has_attribute): Declare.
4318 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
4319 * c-common.c (c_common_resword): Same.
4320
2674fa47
JM
43212018-11-16 Jason Merrill <jason@redhat.com>
4322
4323 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
4324 * c-attribs.c (attr_cold_hot_exclusions): Make public.
4325
258b3854
JJ
43262018-11-16 Jakub Jelinek <jakub@redhat.com>
4327
4328 PR middle-end/87854
4329 * c-common.c (fix_string_type): Reject string literals larger than
4330 TYPE_MAX_VALUE (ssizetype) bytes.
4331
1d249509
MS
43322018-11-15 Martin Sebor <msebor@redhat.com>
4333
4334 PR c++/87541
4335 PR c++/87542
4336 * c-attribs.c (positional_argument): New function.
4337 (handle_alloc_size_attribute): Use it and simplify.
4338 (handle_alloc_align_attribute): Same.
4339 (handle_assume_aligned_attribute): Same.
4340 (handle_nonnull_attribute): Same.
4341 * c-common.c (check_function_arguments): Pass fntype to
4342 check_function_format.
4343 * c-common.h (check_function_format): Add an argument.
4344 (PosArgFlags, positional_argument): Declare new type and function.
4345 * c-format.c (decode_format_attr): Add arguments.
4346 (check_format_string, get_constant): Same.
4347 (convert_format_name_to_system_name): Adjust.
4348
478dd60d
DM
43492018-11-15 David Malcolm <dmalcolm@redhat.com>
4350
4351 PR other/19165
4352 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
4353
8cca0163
JJ
43542018-11-14 Jakub Jelinek <jakub@redhat.com>
4355
8ee09943
JJ
4356 P1236R1 - Signed integers are two's complement
4357 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
4358 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
4359 with in-range second operand well defined for -std=c++2a.
4360
8cca0163
JJ
4361 PR other/88007
4362 * c-common.c (parse_optimize_options): Allocate option string from
4363 opts_obstack rather than as GC memory. Move the allocation after
4364 warning for invalid option.
4365
620e594b
DM
43662018-11-13 David Malcolm <dmalcolm@redhat.com>
4367
4368 * c-common.c (c_get_substring_location): Update for renaming of
4369 get_source_location_for_substring to get_location_within_string.
4370 * c-lex.c: Replace "source_location" with "location_t".
4371 * c-opts.c: Likewise.
4372 * c-ppoutput.c: Likewise.
4373
f9731de3
MS
43742018-11-13 Martin Sebor <msebor@redhat.com>
4375
4376 PR middle-end/81824
4377 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
4378 (handle_tls_model_attribute): Improve diagnostics.
4379
e4bd6d5e
JM
43802018-11-12 Jason Merrill <jason@redhat.com>
4381
a6bb6b07
JM
4382 * c-cppbuiltin.c (c_cpp_builtins): Define
4383 __cpp_impl_destroying_delete.
4384
e4bd6d5e
JM
4385 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
4386 __cpp_conditional_explicit.
4387
79a2c428
MS
43882018-11-09 Martin Sebor <msebor@redhat.com>
4389
4390 PR middle-end/81824
4391 * c-attribs.c (handle_copy_attribute): New function.
4392
4c7bd361
MS
43932018-11-09 Martin Sebor <msebor@redhat.com>
4394
4395 PR c/87795
4396 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
4397
28567c40
JJ
43982018-11-08 Jakub Jelinek <jakub@redhat.com>
4399
4400 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
4401 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4402 enum omp_memory_order MEMORY_ORDER.
4403 (c_finish_omp_flush): Add MO argument.
4404 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
4405 (c_finish_omp_for): Add FINAL_P argument.
4406 * c-omp.c: Include memmodel.h.
4407 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
4408 OMP_TASKGROUP_CLAUSES to it.
4409 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4410 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
4411 instead of OMP_ATOMIC_SEQ_CST.
4412 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
4413 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
4414 __atomic_thread_fence call with the given value.
4415 (check_omp_for_incr_expr): Formatting fixes.
4416 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
4417 even in OpenMP loops, diagnose if NE_EXPR and incr expression
4418 is not constant expression 1 or -1. Transform NE_EXPR loops
4419 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
4420 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
4421 loops too.
4422 (c_omp_split_clauses): Add support for combined
4423 #pragma omp parallel master and
4424 #pragma omp {,parallel }master taskloop{, simd} constructs.
4425 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
4426 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
4427 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
4428 (c_omp_predetermined_sharing): Don't return
4429 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
4430 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
4431 PRAGMA_OMP_REQUIRES.
4432 * c-pragma.h (enum pragma_kind): Likewise.
4433 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
4434 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
4435
204839e7
DM
44362018-11-08 David Malcolm <dmalcolm@redhat.com>
4437
4438 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
4439
d8010ee4
DM
44402018-11-08 David Malcolm <dmalcolm@redhat.com>
4441
4442 * c-format.c (local_cgraph_node_ptr_node): New variable.
4443 (gcc_dump_printf_char_table): Add entry for %C.
4444 (get_pointer_to_named_type): New function, taken from the handling
4445 code for "gimple *" from...
4446 (init_dynamic_diag_info): ...here. Add handling for
4447 "cgraph_node *".
4448 * c-format.h (T_CGRAPH_NODE): New.
4449
4be5c72c
JM
44502018-10-19 Jason Merrill <jason@redhat.com>
4451
4452 * c-cppbuiltin.c (c_cpp_builtins): Add
4453 __cpp_nontype_template_parameter_class.
4454
f3f6029d
NS
44552018-10-31 Nathan Sidwell <nathan@acm.org>
4456
ab5324fb
NS
4457 * c-opts.c (c_finish_options): Force command line macro
4458 location. Refactor to avoid repeating main debug hook.
4459 (push_command_line_include): Clarify comment.
4460
f3f6029d
NS
4461 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
4462
91e3ec29
MS
44632018-10-30 Martin Sebor <msebor@redhat.com>
4464
4465 PR middle-end/87041
4466 * c-format.c (check_format_types): Avoid diagnosing null pointer
4467 arguments to printf-family of functions.
4468
b5ff4f5c
MP
44692018-10-30 Marek Polacek <polacek@redhat.com>
4470
4471 Implement P0892R2, explicit(bool).
4472 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
4473
7e2de6df
DM
44742018-10-29 David Malcolm <dmalcolm@redhat.com>
4475
4476 * name-hint.h (name_hint::take_deferred): New member function.
4477
b2bf438c
DM
44782018-10-29 David Malcolm <dmalcolm@redhat.com>
4479
4480 PR c++/56856
4481 * c-common.c (check_function_sentinel): Call fold_for_warn on the
4482 argument.
4483 (check_function_restrict): Rename param "argarray" to
4484 "unfolded_argarray", and make a copy named "argarray", calling
4485 fold_for_warn on each argument.
4486 (check_function_arguments): Add note about responsibility for
4487 folding the arguments.
4488
9f936c86
JM
44892018-10-17 Joseph Myers <joseph@codesourcery.com>
4490
4491 * c-common.c (flag_isoc2x): New variable.
4492 * c-common.h (clk_c): Update comment to reference C2X.
4493 (flag_isoc99, flag_isoc11): Update comments to reference future
4494 standard versions in general.
4495 (flag_isoc2x): Declare.
4496 * c-opts.c (set_std_c2x): New function.
4497 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
4498 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
4499 flag_isoc2x to 0.
4500 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
4501
7a8a92c4
JM
45022018-10-17 Joseph Myers <joseph@codesourcery.com>
4503
4504 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
4505 (std=iso9899:2018): Document C17 as published in 2018.
4506
4dc003ff
CL
45072018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
4508
4509 PR c++/87364
4510 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
4511
79371671
WW
45122018-10-11 Will Wray <wjwray@gmail.com>
4513
4514 PR c++/87364
4515 * c-pretty-print.h (pp_c_type_cast): Prototype.
4516 (pp_c_integer_constant): Likewise.
4517 * c-pretty-print.c (pp_c_type_cast): No longer static.
4518 (pp_c_integer_constant): Likewise.
4519 (pp_c_enumeration_constant): Fix loop termination when finding
4520 name of constant. No longer returns a value. Call
4521 pp_c_integer_constant.
4522 (c_pretty_printer::constant): Update for changes to
4523 pp_c_enumeration_constant.
4524
46c62690
JJ
45252018-10-11 Jakub Jelinek <jakub@redhat.com>
4526
4527 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
4528 for no_unique_address.
4529
c24300ba
DM
45302018-10-09 David Malcolm <dmalcolm@redhat.com>
4531
4532 * c-common.c (c_option_controlling_cpp_error): Rename to...
4533 (c_option_controlling_cpp_diagnostic): ...this, and convert
4534 "reason" from int to enum.
4535 (c_cpp_error): Rename to...
4536 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4537 * c-common.h (c_cpp_error): Rename to...
4538 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4539 * c-opts.c (c_common_init_options): Update for renaming.
4540
8656dafa
RS
45412018-10-08 Richard Sandiford <richard.sandiford@arm.com>
4542
4543 PR c/87286
4544 * c-common.c (vector_types_compatible_elements_p): Use
4545 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
4546
8cff0652
VK
45472018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
4548
4549 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
4550 to generate constructor destructor priority warning.
4551 * c.opt (-Wprio-ctor-dtor): New option.
4552
bedf03a2
JM
45532018-10-01 Jason Merrill <jason@redhat.com>
4554
4555 * c-lex.c (c_common_has_attribute): Add no_unique_address.
4556
6cc430c1
EB
45572018-10-01 Eric Botcazou <ebotcazou@adacore.com>
4558
4559 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
4560 (dump_ada_node): Add const keyword.
4561
87677ac7
ML
45622018-09-25 Martin Liska <mliska@suse.cz>
4563
4564 * c-common.c (c_common_truthvalue_conversion):
4565 Remove Pascal from documentation.
4566
518196cb
EB
45672018-09-21 Eric Botcazou <ebotcazou@adacore.com>
4568
4569 * c-ada-spec.c: Include diagnostic.h.
4570 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
4571
a599af84
MP
45722018-09-19 Marek Polacek <polacek@redhat.com>
4573
4574 * c.opt (Wclass-conversion): New.
4575
9c4a4b3c
DM
45762018-09-17 David Malcolm <dmalcolm@redhat.com>
4577
4578 * c-format.c (range_label_for_format_type_mismatch::get_text):
4579 Update for new param.
4580
c896ecfe
DM
45812018-09-17 David Malcolm <dmalcolm@redhat.com>
4582
4583 * c-format.c (format_warning_at_char): Update for introduction of
4584 format_string_diagnostic_t.
4585 (format_type_warning): Likewise.
4586
80c6d1f4
MJ
45872018-09-17 Martin Jambor <mjambor@suse.cz>
4588
4589 PR c/63886
4590 * c.opt (Wabsolute-value): New.
4591
6d900107
BE
45922018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
4593
4594 * c-common.c (complete_flexible_array_elts): New helper function.
4595 * c-common.h (complete_flexible_array_elts): Declare.
4596
b5764229
BE
45972018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4598
4599 * c-common.c (braced_list_to_string): Remove eval parameter.
4600 Add some more checks. Always create zero-terminated STRING_CST.
4601 * c-common.h (braced_list_to_string): Adjust prototype.
4602
85204e23
DM
46032018-08-27 David Malcolm <dmalcolm@redhat.com>
4604
4605 PR 87091
4606 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
4607 to a tri-state.
4608 (maybe_suggest_missing_token_insertion): Likewise.
4609 (maybe_add_include_fixit): Add param "override_location". If set,
4610 and source-printing is enabled, then override the rich_location's
4611 primary location with that of the insertion point for the fix-it
4612 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
4613 * c-common.h (extern void maybe_add_include_fixit): Add bool
4614 param.
4615 * c-format.c (selftest::test_type_mismatch_range_labels): Update
4616 for conversion of show_caret_p to a tri-state.
4617 * c-warn.c (warn_for_restrict): Likewise.
4618 * known-headers.cc
4619 (suggest_missing_header::~suggest_missing_header): Update call to
4620 maybe_add_include_fixit to suggest overriding the location, as it
4621 is for a note.
4622
3d78e008
ML
46232018-08-27 Martin Liska <mliska@suse.cz>
4624
4625 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
4626 fndecl_built_in_p and remove check for FUNCTION_DECL if
4627 possible.
3d78e008
ML
4628 (check_builtin_function_arguments): Likewise.
4629 (reject_gcc_builtin): Likewise.
4630 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
4631
b5be6d0c
MP
46322018-08-26 Marek Polacek <polacek@redhat.com>
4633
4634 PR c++/87029, Implement -Wredundant-move.
4635 * c.opt (Wredundant-move): New option.
4636
79ca9c35
MP
46372018-08-21 Marek Polacek <polacek@redhat.com>
4638
4639 PR c++/86981, Implement -Wpessimizing-move.
4640 * c.opt (Wpessimizing-move): New option.
4641
097f82ec
DM
46422018-08-20 David Malcolm <dmalcolm@redhat.com>
4643
4644 PR other/84889
4645 * c-attribs.c (common_handle_aligned_attribute): Add
4646 auto_diagnostic_group instance.
4647 * c-indentation.c (warn_for_misleading_indentation): Likewise.
4648 * c-opts.c (c_common_post_options): Likewise.
4649 * c-warn.c (warn_logical_not_parentheses): Likewise.
4650 (warn_duplicated_cond_add_or_warn): Likewise.
4651 (warn_for_multistatement_macros): Likewise.
4652
3fb558b1
NS
46532018-08-20 Nathan Sidwell <nathan@acm.org>
4654
4655 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
4656 access.
4657
800c0e98
NS
46582018-08-17 Nathan Sidwell <nathan@acm.org>
4659
4660 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
4661 field.
4662 (laxy_hex_fp_value_count): Make unsigned.
4663 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
4664 manipulate the macro.
4665 (builtin_defin_with_hex_fp_value): Adjust callback name, use
4666 cpp_define_lazily.
4667
6f795a92
DM
46682018-08-17 David Malcolm <dmalcolm@redhat.com>
4669
4670 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
4671 (gcc_dump_printf_length_specs): New.
4672 (gcc_dump_printf_flag_pairs): New.
4673 (gcc_dump_printf_flag_specs): New.
4674 (gcc_dump_printf_char_table): New.
4675 (format_types_orig): Add entry for "gcc_dump_printf".
4676 (init_dynamic_diag_info): Set up length_char_specs and
4677 conversion_specs for gcc_dump_printf_format_type.
4678 (handle_format_attribute): Handle gcc_dump_printf_format_type.
4679
c5d725c0
NS
46802018-08-17 Nathan Sidwell <nathan@acm.org>
4681
10f04917
NS
4682 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
4683
c5d725c0
NS
4684 * c-ada-spec.c: Don't #include "cpp-id-data.h"
4685 * c-cppbuiltin.c: Likewise.
4686
c0c12356
ML
46872018-08-17 Martin Liska <mliska@suse.cz>
4688
4689 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
4690 Ignore/Deprecated flag. Warning is done automatically for
4691 Deprecated flags.
c0c12356 4692
10fcc142
DM
46932018-08-16 David Malcolm <dmalcolm@redhat.com>
4694
4695 PR c++/70693
4696 * c-common.c (selftest::c_family_tests): Call
4697 selftest::c_indentation_c_tests.
4698 * c-common.h (selftest::c_indentation_c_tests): New decl.
4699 * c-indentation.c: Include "selftest.h".
4700 (next_tab_stop): Add "tab_width" param, rather than accessing
4701 cpp_opts.
4702 (get_visual_column): Likewise. Clarify comment. Bulletproof
4703 against reading past the end of the line.
4704 (get_first_nws_vis_column): Add "tab_width" param.
4705 (detect_intervening_unindent): Likewise.
4706 (should_warn_for_misleading_indentation): Read tab width from
4707 cpp_opts and pass around.
4708 (selftest::test_next_tab_stop): New test.
4709 (selftest::assert_get_visual_column_succeeds): New function.
4710 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
4711 (selftest::assert_get_visual_column_fails): New function.
4712 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
4713 (selftest::test_get_visual_column): New test.
4714 (selftest::c_indentation_c_tests): New function.
4715
3f6677f4
NS
47162018-08-16 Nathan Sidwell <nathan@acm.org>
4717
4718 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
4719 (store_ada_macro): Likewise.
4720 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
4721 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
4722
96e6ae57
DM
47232018-08-15 David Malcolm <dmalcolm@redhat.com>
4724
4725 * c-format.c: Include "selftest-diagnostic.h" and
4726 "gcc-rich-location.h".
4727 (format_warning_at_char): Pass NULL for new label params of
4728 format_warning_va.
4729 (class indirection_suffix): New class.
4730 (class range_label_for_format_type_mismatch): New class.
4731 (format_type_warning): Move logic for generating "*" suffix to
4732 class indirection_suffix. Create "fmt_label" and "param_label"
4733 to show their types, and pass them to the
4734 format_warning_at_substring calls.
4735 (selftest::test_type_mismatch_range_labels): New test.
4736 (selftest::c_format_c_tests): Call it.
4737
23aa9f7c
MS
47382018-08-13 Martin Sebor <msebor@redhat.com>
4739
4740 PR tree-optimization/71625
4741 * c-common.c (braced_list_to_string): New function.
4742 * c-common.h (braced_list_to_string): Declare it.
4743
f10a9135
NS
47442018-08-08 Nathan Sidwell <nathan@acm.org>
4745
4746 * c-common.c (try_to_locate_new_include_inertion_point): Use
4747 linemap_included_from_linemap.
4748 * c-lex.c (fe_file_change): Use linemap_included_from.
4749 * c-ppoutput.c (pp_file_change): Likewise.
4750
8a45b051
MS
47512018-08-01 Martin Sebor <msebor@redhat.com>
4752
4753 PR tree-optimization/86650
ab20d992 4754 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4755 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4756 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4757 * c-format.h (T89_G): Update to be "gimple *" rather than
4758 "gcall *".
4759 (local_gcall_ptr_node): Rename...
4760 (local_gimple_ptr_node): ...to this.
4761
e540ccc0
DM
47622018-07-31 David Malcolm <dmalcolm@redhat.com>
4763
4764 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4765 table entries for gcc_diag_char_table, and the 'Z' entry from
4766 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4767 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4768 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4769 adding missing "Z" for this table. Remove erroneous "G" and "K"
4770 entries.
4771 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4772 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4773 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4774
425fc685
RE
47752018-07-31 Richard Earnshaw <rearnsha@arm.com>
4776
4777 * c-common.c (speculation_safe_resolve_call): New function.
4778 (speculation_safe_resolve_params): New function.
4779 (speculation_safe_resolve_return): New function.
4780 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4781 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4782 __HAVE_SPECULATION_SAFE_VALUE.
4783
181463c2
DM
47842018-07-20 David Malcolm <dmalcolm@redhat.com>
4785
4786 * c-common.c (c_cpp_error): Remove redundant "line_table"
4787 parameter from call to rich_location::set_range.
4788 (maybe_suggest_missing_token_insertion): Likewise.
4789
0d7f9065
MS
47902018-07-20 Martin Sebor <msebor@redhat.com>
4791
4792 PR middle-end/82063
ab20d992 4793 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4794
00abf86c
MS
47952018-07-20 Martin Sebor <msebor@redhat.com>
4796
4797 PR middle-end/82063
4798 * c-common.h (c_common_handle_option): Change function argument
4799 to HOST_WIDE_INT.
4800 * c-opts.c (c_common_init_options): Same.
4801 (c_common_handle_option): Same. Remove special handling of
4802 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4803 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4804 options to take a HOST_WIDE_INT argument and accept a byte-size
4805 suffix. Initialize.
4806 (-Wvla-larger-than): Same.
4807 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4808 (-Wno-vla-larger-than): Same.
4809
9b452033
JJ
48102018-07-12 Jakub Jelinek <jakub@redhat.com>
4811
4812 * c-attribs.c (c_common_attribute_table): Add
4813 "omp declare target implicit" attribute.
4814
cd0762f3
RB
48152018-07-12 Richard Biener <rguenther@suse.de>
4816
4817 PR c/86453
4818 * c-attribs.c (handle_packed_attribute): Do not build a variant
4819 type with TYPE_PACKED, instead ignore the attribute if we may
4820 not apply to the original type.
4821
0b27c3ed
JJ
48222018-07-10 Jakub Jelinek <jakub@redhat.com>
4823
4824 PR c++/86443
4825 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4826 to contain TREE_LIST for both the original class iterator and the
4827 "last" helper var.
4828
e730a0ef
EB
48292018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4830
4831 * c-ada-spec.c (to_ada_name): Remove index parameter.
4832 (pp_ada_tree_identifier): Likewise.
4833 (dump_ada_macros): Adjust call to to_ada_name.
4834 (struct overloaded_name_hash): Delete.
4835 (struct overloaded_name_hasher): Likewise.
4836 (overloaded_names): Likewise.
4837 (compute_overloading_index): Likewise.
4838 (dump_ada_decl_name): Do not call compute_overloading_index and
4839 adjust calls to pp_ada_tree_identifier.
4840 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4841 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4842 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4843 (dump_ada_enum_type): Remove type and display_convention parameters.
4844 Adjust calls to pp_ada_tree_identifier.
4845 (dump_ada_node): Likewise and for dump_ada_structure.
4846 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4847 and tidy up.
4848 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4849 syntax.
4850 (print_constructor): Adjust call to pp_ada_tree_identifier.
4851 (print_destructor): Likewise.
4852 (dump_ada_declaration): Switch to aspect syntax.
4853 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4854 parameter with nested parameter.
4855 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4856 (dump_ada_specs): Do not delete overloaded_names table.
4857
8de583fc
PB
48582018-07-06 Peter Bergner <bergner@linux.ibm.com>
4859
4860 PR target/86324
e730a0ef 4861 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4862 target hook.
4863
09cff37b
NS
48642018-07-05 Nathan Sidwell <nathan@acm.org>
4865
4866 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4867 NO_IMPLICIT_EXTERN_C.
4868
98086b2b
ML
48692018-06-28 Martin Liska <mliska@suse.cz>
4870
4871 * cppspec.c: Include opt-suggestions.h.
4872
ab20d992
JJ
48732018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4874 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4875 Cesar Philippidis <cesar@codesourcery.com>
4876
4877 * c-pragma.h (enum pragma_omp_clause): Add
4878 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4879 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4880
f41b7612
JJ
48812018-06-20 Jakub Jelinek <jakub@redhat.com>
4882
4883 PR c++/86210
4884 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4885 comment.
4886
4252ccd7
MS
48872018-06-18 Martin Sebor <msebor@redhat.com>
4888
4889 PR middle-end/85602
4890 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4891 nonstring.
4892
e197e64e
KV
48932018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4894
4895 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4896
34a7a230
JM
48972018-06-13 Jason Merrill <jason@redhat.com>
4898
5cef3733
JM
4899 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4900 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4901 handling.
4902
34a7a230
JM
4903 PR c++/86094 - wrong code with defaulted move ctor.
4904 * c-opts.c (c_common_post_options): Bump the current ABI version to
4905 13. Set warn_abi_version and flag_abi_compat_version to the current
4906 version rather than 0. Fix defaulting flag_abi_compat_version from
4907 warn_abi_version.
4908
bb0f14ae
MS
49092018-06-12 Martin Sebor <msebor@redhat.com>
4910
4911 PR c/85931
4912 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4913 sizeof source and destination yields the same value.
4914
3713f2e2
ML
49152018-06-12 Martin Liska <mliska@suse.cz>
4916
4917 * c.opt: Make MPX-related options as Deprecated.
4918
4af78ef8
DM
49192018-06-08 David Malcolm <dmalcolm@redhat.com>
4920
4921 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4922 rather than 0.
4923
31db0fe0
ML
49242018-06-08 Martin Liska <mliska@suse.cz>
4925
4926 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4927 for MPX (macros, related functions, fields in cgraph_node, ...).
4928 (handle_bnd_legacy): Likewise.
4929 (handle_bnd_instrument): Likewise.
4930 * c.opt: Likewise.
4931
fe16acf2
JJ
49322018-06-06 Jakub Jelinek <jakub@redhat.com>
4933
4934 PR c++/86068
4935 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4936 __cpp_transactional_memory to 201500 instead of 210500.
4937
4dbdb49b
JM
49382018-06-06 Jason Merrill <jason@redhat.com>
4939
4940 PR c++/85710 - ICE with -Wmemset-elt-size.
4941 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4942
f8ad043f
JM
49432018-06-01 Jason Merrill <jason@redhat.com>
4944
4945 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4946 201703.
4947
abc24d93
EB
49482018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4949
4950 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4951 declaration for a typedef independently of whether the declaration of
4952 the subtype is generated.
4953
d258f4aa
MS
49542018-05-31 Martin Sebor <msebor@redhat.com>
4955
4956 PR c/82063
4957 * c.opt (-Wno-alloc-size-larger-than): New option.
4958
b67b9225
DP
49592018-04-22 David Pagan <dave.pagan@oracle.com>
4960
4961 PR c/55976
4962 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4963 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4964 differentiate between default (no option), -Wreturn-type, and
4965 -Wno-return-type.
4966
04eb9c55
JM
49672018-05-29 Jason Merrill <jason@redhat.com>
4968
4969 * c.opt (Winit-list-lifetime): New flag.
4970
b0c31bc6
BE
49712018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4972
4973 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4974 splay_tree_delete_pointers.
4975
44284983
JJ
49762018-05-26 Jakub Jelinek <jakub@redhat.com>
4977
4978 PR bootstrap/85921
4979 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4980 noinline variable to workaround broken kernel headers.
4981
b46b715d
JM
49822018-05-18 Jason Merrill <jason@redhat.com>
4983
4984 * c.opt (Wdeprecated-copy): New flag.
4985
40659769
ML
49862018-05-17 Martin Liska <mliska@suse.cz>
4987
4988 * c-warn.c (overflow_warning): Do not use
4989 space in between 'G_' and '('.
4990
403962ea
JM
49912018-05-09 Jason Merrill <jason@redhat.com>
4992
4993 * c-common.c (valid_array_size_p): Add complain parameter.
4994 * c-common.h: ...which defaults to true.
4995
1c9ee609
JJ
49962018-05-11 Jakub Jelinek <jakub@redhat.com>
4997
4998 PR c/85696
4999 * c-omp.c (c_omp_predetermined_sharing): Return
5000 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
5001
19916065
ML
50022018-05-11 Martin Liska <mliska@suse.cz>
5003
92a285c1 5004 PR sanitizer/85556
19916065
ML
5005 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
5006 TREE_LIST values.
5007
79e7b1fe
JJ
50082018-05-10 Jakub Jelinek <jakub@redhat.com>
5009
5010 PR c++/85662
5011 * c-common.h (fold_offsetof_1): Removed.
5012 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
5013 CTX argument defaulted to ERROR_MARK.
5014 * c-common.c (fold_offsetof_1): Renamed to ...
5015 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
5016 argument, convert the pointer constant to TYPE and use size_binop
5017 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
5018 a pointer type. Adjust recursive calls.
5019
86c12f76
EB
50202018-05-10 Eric Botcazou <ebotcazou@adacore.com>
5021
5022 PR c++/85400
5023 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
5024
ee336e84
NS
50252018-05-07 Nathan Sidwell <nathan@acm.org>
5026
5027 * c.opt (ffor-scope): Remove functionality, issue warning.
5028
6c072e21
NS
50292018-05-03 Nathan Sidwell <nathan@acm.org>
5030
5031 * c.opt (ffriend-injection): Remove functionality, issue warning.
5032
2cc7d3a7
DM
50332018-05-01 David Malcolm <dmalcolm@redhat.com>
5034
5035 PR c/84258
5036 * c-format.c (struct format_check_results): Add field
5037 "number_non_char".
5038 (check_format_info): Initialize it, and warn if encountered.
5039 (check_format_arg): Distinguish between wide char and
5040 everything else when detecting arrays of non-char.
5041
7761dfbe
DM
50422018-04-30 David Malcolm <dmalcolm@redhat.com>
5043
5044 * c-format.c (get_corrected_substring): Update for
5045 location_get_source_line returning a char_span. Use a char_span
5046 when handling the prefix of the correction.
5047 * c-indentation.c (get_visual_column): Update for
5048 location_get_source_line returning a char_span.
5049 (get_first_nws_vis_column): Likewise.
5050
62e98ef1
DM
50512018-03-29 David Malcolm <dmalcolm@redhat.com>
5052
5053 PR c++/84269
5054 * known-headers.cc (get_stdlib_header_for_name): Add various names
5055 from <assert.h>, <string.h>, and <memory.h>; add more names from
5056 <stdio.h>.
5057
a7dea617
JJ
50582018-03-27 Jakub Jelinek <jakub@redhat.com>
5059
5060 PR c++/85061
5061 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
5062 get_base_address of the second operand is a VAR_P, rather than the
5063 operand itself, and use gcc_checking_assert instead of gcc_assert.
5064
889a3a30
MP
50652018-03-23 Marek Polacek <polacek@redhat.com>
5066
5067 PR c++/85045
5068 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
5069 <case RDIV_EXPR>: Tweak condition.
5070
452154b9
EB
50712018-03-20 Eric Botcazou <ebotcazou@adacore.com>
5072
5073 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
5074
63ecb626
JJ
50752018-03-16 Jakub Jelinek <jakub@redhat.com>
5076
ce811fc4
JJ
5077 PR c/84909
5078 * c-warn.c (conversion_warning): Replace "to to" with "to" in
5079 diagnostics.
5080
63ecb626
JJ
5081 PR c/84910
5082 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
5083 diagnostics.
5084
a1295eec
RB
50852018-03-16 Richard Biener <rguenther@suse.de>
5086
5087 PR c/84873
5088 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
5089 unshare the possibly folded expression.
5090
919674fb
RB
50912018-03-15 Richard Biener <rguenther@suse.de>
5092
5093 PR c/84873
5094 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
5095
f99309b2
MS
50962018-03-13 Martin Sebor <msebor@redhat.com>
5097
5098 PR tree-optimization/84725
5099 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
5100 with all three narrow character types, including their qualified forms.
5101
e9b9fa4c
MS
51022018-03-12 Martin Sebor <msebor@redhat.com>
5103
5104 PR tree-optimization/83456
ab20d992 5105 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
5106 Restore checking of bounded built-in functions.
5107 (check_function_arguments): Also return the result
5108 of warn_for_restrict.
ab20d992
JJ
5109 * c-common.c (check_function_restrict): Return bool.
5110 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 5111
0805d020
MP
51122018-03-02 Marek Polacek <polacek@redhat.com>
5113
5114 PR c++/84171
5115 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
5116 is erroneous.
5117
ed2a2f08
TS
51182018-03-02 Thomas Schwinge <thomas@codesourcery.com>
5119
5120 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
5121 function".
5122
90abdde0
MP
51232018-03-01 Marek Polacek <polacek@redhat.com>
5124
5125 PR c++/84639
5126 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
5127 alignment in computation.
5128
c6db43fa
EB
51292018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5130
5131 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
5132 <REAL_TYPE>: Deal specifically with _Float128/__float128.
5133
9e25c7ed
EB
51342018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5135
5136 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
5137 (is_char_array): Take a type instead of a declaration.
5138 (dump_ada_array_type): Likewise.
5139 (is_simple_enum): Minor tweak.
5140 (dump_ada_enum_type): New function extracted from...
5141 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
5142 <INTEGER_TYPE>: Remove unreachable code.
5143 <RECORD_TYPE>: Likewise. Minor tweaks.
5144 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
5145 <ENUMERAL_TYPE>: New case.
5146 <RECORD_TYPE>: Factor out common code.
5147 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
5148 Minor tweaks. Deal with enumeral types.
5149 (dump_ada_structure): Minor tweaks.
5150
09de3550
EB
51512018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5152
5153 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
5154 address for incomplete structures.
5155 (dump_forward_type): Do not bail out for incomplete structures.
5156 (dump_ada_declaration): Do not special-case incomplete structures
5157 for subtypes. Dump them as null records for types.
5158
095d8d4b
EB
51592018-02-28 Eric Botcazou <ebotcazou@adacore.com>
5160
5161 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
5162 (is_char_array): Fix formatting.
5163 (dump_template_types): Likewise.
5164 (dump_generic_ada_node): Rename into...
5165 (dump_ada_node): ...this.
5166 <POINTER_TYPE>: Remove superfluous space. Use generic address for
5167 incomplete structures and not for empty structures. Do not use it
5168 when forward declarations are needed.
5169 (dump_forward_type): New function.
5170 (dump_nested_types): Remove FORWARD parameter. Do not consider
5171 TREE_VISITED and do not generate a forward declaration. Only dump
5172 original nested types for nested declaration.
5173 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
5174 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
5175 <RECORD_TYPE>: Do not consider TREE_VISITED.
5176 (dump_ada_declaration): Use booleans and fix formatting throughout.
5177 <TYPE_DECL>: Skip incomplete structures and not empty structures.
5178 Call dump_forward_type instead of dump_nested_types for a typedef.
5179 Remove superfluous check and adjust call to dump_nested_types.
5180 <POINTER_TYPE>: Call dump_forward_type and fall through.
5181 (dump_ada_struct_decl): Rename into...
5182 (dump_ada_structure): ...this. Do not special-case empty structures.
5183
d4cfd486
MS
51842018-02-27 Martin Sebor <msebor@redhat.com>
5185
5186 PR c++/83871
5187 * c.opt (-Wmissing-attributes): New option.
5188
b22dbd03
ML
51892018-02-21 Martin Liska <mliska@suse.cz>
5190
5191 * c.opt (Wcatch-value=): Add IntegerRange.
5192
883dfe2a
JM
51932018-02-15 Jason Merrill <jason@redhat.com>
5194
5195 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
5196
0444aa9c
NS
51972018-02-09 Nathan Sidwell <nathan@acm.org>
5198
5199 PR c/84293
5200 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
5201 arg.
5202 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
5203 arg. Adjust.
5204
cea71f0a
MS
52052018-02-09 Martin Sebor <msebor@redhat.com>
5206
5207 PR lto/84212
5208 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
5209 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
5210 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
5211 (-Wstrict-overflow, -Wsuggest-attribute): Same.
5212 (-Wuninitialized): Same.
5213
8c8b7be5
EB
52142018-02-09 Eric Botcazou <ebotcazou@adacore.com>
5215
5216 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
5217 keyword for components.
5218
7c30b12a
PC
52192018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
5220
5221 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
5222
eece7fe5
JK
52232018-02-02 Julia Koval <julia.koval@intel.com>
5224
5225 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
5226
7d07a93a
MP
52272018-01-29 Marek Polacek <polacek@redhat.com>
5228
5229 PR c/83966
5230 * c-format.c (check_function_format): Check current_function_decl.
5231
53723269
JJ
52322018-01-27 Jakub Jelinek <jakub@redhat.com>
5233
5234 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
5235 argument.
5236 (LAZY_HEX_FP_VALUES_CNT): Define.
5237 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
5238 values rather than just 12.
5239 (builtin_define_with_hex_fp_value): Likewise.
5240
7365279f
BK
52412018-01-18 Boris Kolpackov <boris@codesynthesis.com>
5242
92a285c1
ML
5243 PR other/70268
5244 * c.opt (-fmacro-prefix-map): New option.
5245 * c-opts.c (c_common_handle_option): Handle it.
5246 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
5247 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 5248
bb9869d5
DM
52492018-01-17 David Malcolm <dmalcolm@redhat.com>
5250
5251 PR c++/83814
5252 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
5253
68dc87c3
EB
52542018-01-10 Eric Botcazou <ebotcazou@adacore.com>
5255
5256 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
5257 Skip 'f' and 'F' characters if it is true.
5258 (store_ada_macro): Minor tweak.
5259 (dump_ada_macros) <CPP_COMMENT>: Likewise.
5260 <CPP_WSTRING>: Likewise.
5261 <CPP_STRING>: Output '&' in the buffer if not the first string.
5262 <CPP_NUMBER>: Adjust calls to dump_number.
5263
9a004410
DM
52642018-01-10 David Malcolm <dmalcolm@redhat.com>
5265
5266 PR c++/43486
5267 * c-common.c: Include "selftest.h".
5268 (get_atomic_generic_size): Perform the test for integral type
5269 before the range test for any integer constant, fixing indentation
5270 of braces. Call fold_for_warn before testing for an INTEGER_CST.
5271 (reject_gcc_builtin): Strip any location wrapper from EXPR.
5272 (selftest::test_fold_for_warn): New function.
5273 (selftest::c_common_c_tests): New function.
5274 (selftest::c_family_tests): Call it, and
5275 selftest::c_pretty_print_c_tests.
5276 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
5277 * c-format.c (check_format_arg): Convert VAR_P check to a
5278 fold_for_warn.
5279 * c-pretty-print.c: Include "selftest.h".
5280 (pp_c_cast_expression): Don't print casts for location wrappers.
5281 (selftest::assert_c_pretty_printer_output): New function.
5282 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
5283 (selftest::test_location_wrappers): New function.
5284 (selftest::c_pretty_print_c_tests): New function.
5285 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
5286
5c0caeb3
RS
52872018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5288 Alan Hayward <alan.hayward@arm.com>
5289 David Sherwood <david.sherwood@arm.com>
5290
5291 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
5292
73a699ae
RS
52932018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5294 Alan Hayward <alan.hayward@arm.com>
5295 David Sherwood <david.sherwood@arm.com>
5296
5297 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
5298 as polynomial.
5299
928686b1
RS
53002018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5301 Alan Hayward <alan.hayward@arm.com>
5302 David Sherwood <david.sherwood@arm.com>
5303
5304 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
5305 (convert_vector_to_array_for_subscript): Handle polynomial
5306 TYPE_VECTOR_SUBPARTS.
5307 (c_common_type_for_mode): Check valid_vector_subparts_p.
5308 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
5309 VECTOR_CST_NELTS.
5310
85ec4feb
JJ
53112018-01-03 Jakub Jelinek <jakub@redhat.com>
5312
5313 Update copyright years.
5314
170a8bd6 53152017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 5316 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
5317
5318 * c-pragma.c (init_pragma): Register pragma GCC unroll.
5319 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
5320
ab20d992 53212017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
5322
5323 PR debug/83527
5324 PR debug/83419
5325 * c-semantics.c (only_debug_stmts_after_p): New.
5326 (pop_stmt_list): Clear side effects in debug-only stmt list.
5327 Check for single nondebug stmt followed by debug stmts only.
5328
c12d20d4
AO
53292017-12-21 Alexandre Oliva <aoliva@redhat.com>
5330
5331 PR debug/83419
5332 * c-semantics.c (pop_stmt_list): Propagate side effects from
5333 single nondebug stmt to container list.
5334
01512446
JJ
53352017-12-19 Jakub Jelinek <jakub@redhat.com>
5336
5337 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
5338 conditions with typical order conditions.
5339
82cfbd01
MP
53402017-12-18 Marek Polacek <polacek@redhat.com>
5341
5342 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
5343 not in effect.
5344
99da11ec
MS
53452017-12-17 Martin Sebor <msebor@redhat.com>
5346
5347 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
5348 an error for attribute warn_if_not_aligned.
5349
cc8bea0a
MS
53502017-12-16 Martin Sebor <msebor@redhat.com>
5351
5352 PR tree-optimization/78918
5353 * c-common.c (check_function_restrict): Avoid checking built-ins.
5354 * c.opt (-Wrestrict): Include in -Wall.
5355
4849deb1
JJ
53562017-12-15 Jakub Jelinek <jakub@redhat.com>
5357
5358 * c-attribs.c (c_common_attribute_table,
5359 c_common_format_attribute_table): Swap affects_type_identity
5360 and handler fields, adjust comments.
5361
c65e18d3
BE
53622017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
5363
5364 * c.opt (Wcast-function-type): New warning option.
5365 * c-lex.c (get_fileinfo): Avoid warning.
5366 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
5367
2004617a
QZ
53682017-12-14 Qing Zhao <qing.zhao@oracle.com>
5369
7365279f 5370 PR middle_end/79538
2004617a
QZ
5371 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
5372 Adjust the size of buf1 and buf2, add a new buf to avoid
5373 format-overflow warning.
5374
ab20d992 53752017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
5376
5377 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
5378 subsequent statement list.
5379
5d9ae53d
MS
53802017-12-07 Martin Sebor <msebor@redhat.com>
5381
5382 PR c/81544
5383 PR c/81566
5384 * c-attribs.c (attr_aligned_exclusions): New array.
5385 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
5386 (attr_common_exclusions, attr_const_pure_exclusions): Same.
5387 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
5388 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
5389 (attr_warn_unused_result_exclusions): Same.
5390 (handle_hot_attribute, handle_cold_attribute): Simplify.
5391 (handle_const_attribute): Warn on function returning void.
5392 (handle_pure_attribute): Same.
5393 (handle_aligned_attribute): Diagnose conflicting attribute
5394 specifications.
5395 * c-warn.c (diagnose_mismatched_attributes): Simplify.
5396
c79144f8
DM
53972017-12-06 David Malcolm <dmalcolm@redhat.com>
5398
5399 PR c/83236
5400 * c-common.c (selftest::c_family_tests): Call
5401 selftest::c_spellcheck_cc_tests.
5402 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
5403 * c-spellcheck.cc: Include "selftest.h".
5404 (name_reserved_for_implementation_p): New function.
5405 (should_suggest_as_macro_p): New function.
5406 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
5407 should_suggest_as_macro_p and call it.
5408 (selftest::test_name_reserved_for_implementation_p): New function.
5409 (selftest::c_spellcheck_cc_tests): New function.
5410 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
5411
613bc14f
DM
54122017-12-06 David Malcolm <dmalcolm@redhat.com>
5413
5414 * c-spellcheck.cc: New file, taken from macro-handling code in
5415 spellcheck-tree.c.
5416 * c-spellcheck.h: New file, taken from macro-handling code in
5417 spellcheck-tree.h.
5418
e76c7157
JJ
54192017-12-01 Jakub Jelinek <jakub@redhat.com>
5420
5421 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
5422 attribute.
5423 (handle_simd_attribute): Don't check for "cilk simd function"
5424 attribute. Reindent, formatting changes.
5425
b0da4034
JK
54262017-11-30 Julia Koval <julia.koval@intel.com>
5427
5428 * c-common.h (inv_list): Remove.
5429
058f0b9e
JJ
54302017-11-28 Jakub Jelinek <jakub@redhat.com>
5431
5432 PR sanitizer/81275
5433 * c-common.c (c_switch_covers_all_cases_p_1,
5434 c_switch_covers_all_cases_p): New functions.
5435 * c-common.h (c_switch_covers_all_cases_p): Declare.
5436
5e9d6aa4 54372017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 5438 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
5439
5440 * array-notation-common.c: Delete.
5441 * c-cilkplus.c: Ditto.
5442 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
5443 * c-common.def (ARRAY_NOTATION_REF): Remove.
5444 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
5445 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
5446 c_validate_cilk_plus_loop, cilkplus_an_parts,
5447 cilk_ignorable_spawn_rhs_op,
5448 cilk_recognize_spawn): Remove.
5449 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
5450 * c-omp.c: Remove CILK_SIMD check.
5451 * c-pragma.c: Ditto.
5452 * c-pragma.h: Remove CILK related pragmas.
5453 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
5454 ARRAY_NOTATION_REF condition.
5455 (c_pretty_printer::expression): Ditto.
5456 * c.opt (fcilkplus): Remove.
5457 * cilk.c: Delete.
5458
1af4ebf5
MG
54592017-11-21 Marc Glisse <marc.glisse@inria.fr>
5460
5461 * c-pretty-print.c (pp_c_additive_expression,
5462 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
5463
d44ed508
JJ
54642017-11-21 Jakub Jelinek <jakub@redhat.com>
5465
7d2f0f9b
JJ
5466 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
5467
d44ed508
JJ
5468 PR c++/83059
5469 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
5470 instead of tree_to_uhwi, formatting fix.
5471
26edace6
DM
54722017-11-20 David Malcolm <dmalcolm@redhat.com>
5473
5474 PR c/81404
5475 * known-headers.cc: New file, based on material from c/c-decl.c.
5476 (suggest_missing_header): Copied as-is.
5477 (get_stdlib_header_for_name): New, based on get_c_name_hint but
5478 heavily edited to add C++ support. Add some knowledge about
5479 <limits.h>, <stdint.h>, and <wchar.h>.
5480 * known-headers.h: Likewise.
5481
6c7a259b
DM
54822017-11-20 David Malcolm <dmalcolm@redhat.com>
5483
5484 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
5485 (lookup_name_fuzzy): Likewise. Convert return type from
5486 const char * to name_hint. Add location_t param.
5487 * name-hint.h: New header.
5488
f9c59f7e
JJ
54892017-11-19 Jakub Jelinek <jakub@redhat.com>
5490
5491 PR c/66618
5492 PR c/69960
5493 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
5494
1e39313a
JM
54952017-11-16 Joseph Myers <joseph@codesourcery.com>
5496
5497 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
5498 expected publication date of C17.
5499 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
5500
3ca0dc60
JM
55012017-11-15 Joseph Myers <joseph@codesourcery.com>
5502
5503 PR c/81156
5504 * c-common.c (c_common_reswords): Add __builtin_tgmath.
5505 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
5506
025d57f0
MS
55072017-11-10 Martin Sebor <msebor@redhat.com>
5508
5509 PR c/81117
5510 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
5511 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
5512 * c.opt (-Wstringop-truncation): New option.
5513
1b6fa695
ML
55142017-11-06 Martin Liska <mliska@suse.cz>
5515
5516 PR middle-end/82404
5517 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
5518 FE.
5519 * c.opt: Set default value of warn_return_type.
5520
64a5912c
DM
55212017-10-31 David Malcolm <dmalcolm@redhat.com>
5522
5523 * c-common.c (binary_op_error): Update for renaming of
5524 error_at_rich_loc.
5525 (c_parse_error): Likewise.
5526 * c-warn.c (warn_logical_not_parentheses): Likewise for
5527 renaming of inform_at_rich_loc.
5528 (warn_for_restrict): Likewise for renaming of
5529 warning_at_rich_loc_n.
5530
c76dc9c3
JM
55312017-10-30 Joseph Myers <joseph@codesourcery.com>
5532
5533 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
5534 * c-opts.c (set_std_c17): New function.
5535 (c_common_init_options): Use gnu17 as default C version.
5536 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
5537
ee5fd23a
MM
55382017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5539
5540 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
5541 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5542 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
5543 __FP_FAST_FMA<N>X.
5544
d1047465
MP
55452017-10-23 Marek Polacek <polacek@redhat.com>
5546
5547 PR c/82681
5548 * c-warn.c (warnings_for_convert_and_check): Fix typos.
5549
9e878cf1
EB
55502017-10-19 Eric Botcazou <ebotcazou@adacore.com>
5551
5552 * c-common.c (check_builtin_function_arguments): Also check arguments
5553 of __builtin_alloca_with_align_and_max.
5554
89b6abbb
DM
55552017-10-17 David Malcolm <dmalcolm@redhat.com>
5556
5557 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
5558 rather than NULL to format_warning_va.
5559 (check_format_types): Likewise when calling format_type_warning.
5560 Remove code to extract source_ranges and source_range * in favor
5561 of just a location_t.
5562 (format_type_warning): Convert source_range * param to a
5563 location_t.
5564
39382c09
JJ
55652017-10-13 Jakub Jelinek <jakub@redhat.com>
5566
5567 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
5568 [LR]SHIFT_EXPR.
5569
62e1c678
DM
55702017-10-12 David Malcolm <dmalcolm@redhat.com>
5571
5572 * c-common.c (enum missing_token_insertion_kind): New enum.
5573 (get_missing_token_insertion_kind): New function.
5574 (maybe_suggest_missing_token_insertion): New function.
5575 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
5576
b90c9338
NS
55772017-10-11 Nathan Sidwell <nathan@acm.org>
5578
5579 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
5580 (c_common_handle_option): Update incpath_kind names.
5581
3a266bcd
ML
55822017-10-11 Martin Liska <mliska@suse.cz>
5583
5584 PR sanitizer/82490
5585 * c-attribs.c (handle_no_sanitize_attribute): Report directly
5586 Wattributes warning.
5587
8e6cdc90
RS
55882017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
5589
5590 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
5591 operating on trees as wide_ints.
5592 * c-common.c (pointer_int_sum): Likewise.
5593 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5594 * c-warn.c (match_case_to_enum_1): Likewise.
5595 (c_do_switch_warnings): Likewise.
5596 (maybe_warn_shift_overflow): Likewise.
5597
802b38c9
JJ
55982017-10-10 Jakub Jelinek <jakub@redhat.com>
5599
5600 PR c/82437
5601 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
5602 instead of wide_int::from.
5603
4e34b338
JJ
56042017-10-06 Jakub Jelinek <jakub@redhat.com>
5605
5606 PR c/82437
5607 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5608 using to_widest use wide_int with the larger of the two precisions.
5609
4bc4b2b4
BE
56102017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5611
5612 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
5613 functions.
5614
a1488398
RS
56152017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
5616
5617 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
5618 when combining the original unconverted comparison operands.
5619
01c9fb68
JJ
56202017-09-29 Jakub Jelinek <jakub@redhat.com>
5621
5622 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
5623 attribute.
5624
6e3e8419
EB
56252017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5626
5627 * c-ada-spec.c (to_ada_name): Add index parameter.
5628 (pp_ada_tree_identifier): Likewise.
5629 (dump_ada_macros): Adjust call to to_ada_name.
5630 (struct overloaded_name_hash): New type.
5631 (struct overloaded_name_hasher): Likewise.
5632 (overloaded_names): New hash table.
5633 (compute_overloading_index): New function.
5634 (dump_ada_decl_name): Call it and pass the result to
5635 pp_ada_tree_identifier.
5636 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5637 (dump_ada_function_declaration): Likewise.
5638 (dump_generic_ada_node): Likewise.
5639 (print_constructor): Likewise.
5640 (print_destructor): Likewise.
5641 (dump_ada_specs): Delete overloaded_names table.
5642
79310774
EB
56432017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5644
5645 * c-ada-spec.c (max_ada_macros): Move around.
5646 (store_ada_macro_index): Likewise.
5647 (source_file): Rename into...
5648 (macro_source_file): ...this.
5649 (count_ada_macro): Move around.
5650 (store_ada_macro): Likewise.
5651 (compare_macro): Likewise.
5652 (print_ada_macros): Merge in...
5653 (dump_ada_macros): ...this.
5654 (source_file_base): Rename into...
5655 (current_source_file): ...this.
5656 (print_comment): Move around.
5657 (dump_ada_nodes): Call dump_ada_declaration directly.
5658 (struct with): Change type of limited field to bool.
5659 (append_withs): Change type of limited_access parameter to bool.
5660 (pp_ada_tree_identifie): Likewise.
5661 (dump_ada_decl_nam): Likewise.
5662 (dump_generic_ada_node): Likewise. Do not print the return type.
5663 (to_ada_name): Change type of space_found parameter to bool.
5664 (dump_ada_function_declaration): Return void and change type of
5665 parameters to bool. Also print the return type for a function.
5666 (print_ada_methods): Rename into...
5667 (dump_ada_methods): ...this.
5668 (print_ada_declaration): Rename into ...
5669 (dump_ada_declaration): ...this. Do not print the return type.
5670 (print_ada_struct_decl): Rename into...
5671 (dump_ada_struct_decl): ...this.
5672
7d386d45
JJ
56732017-09-29 Jakub Jelinek <jakub@redhat.com>
5674
5675 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
5676 rather than DECL_INITIAL.
5677 (common_handle_aligned_attribute): Likewise.
5678
ab20d992 56792017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
5680
5681 * c.opt (gen-decls): Add RejectNegative.
5682
026a79f7
AS
56832017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
5684 Jakub Jelinek <jakub@redhat.com>
5685
5686 Add support for -std=c++2a.
5687 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
5688 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
5689 * c-opts.c (set_std_cxx2a): New.
5690 (c_common_handle_option): Set options when -std=c++2a is enabled.
5691 (c_common_post_options): Adjust comments.
5692 (set_std_cxx14, set_std_cxx17): Likewise.
5693
4a8ca690
EB
56942017-09-15 Eric Botcazou <ebotcazou@adacore.com>
5695
5696 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
5697 message for non-uniform endianness and issue a warning in C++.
5698
7b936140
JJ
56992017-09-15 Jakub Jelinek <jakub@redhat.com>
5700
5701 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
5702 (Wc++17-compat): Change from undocumented alias to option.
5703 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
5704 change C++1z to C++17 in description.
5705 (std=c++1z, std=gnu++1z): Change from option to undocumented
5706 deprecated alias.
5707 (std=c++17, std=gnu++17): Change from undocumented alias to option.
5708 Adjust description.
5709 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
5710 * c-opts.c (set_std_cxx1z): Rename to ...
5711 (set_std_cxx17): ... this.
5712 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
5713 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 5714 caller.
7b936140
JJ
5715 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
5716 comments.
5717
12263f13
L
57182017-09-12 H.J. Lu <hongjiu.lu@intel.com>
5719
5720 * c-attribs.c (common_handle_aligned_attribute): Don't warn
5721 function alignment if warn_if_not_aligned_p is true.
5722
6836632e
NS
57232017-09-12 Nathan Sidwell <nathan@acm.org>
5724
5725 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
5726 resort_sorted_fields): Move to c/c-decl.c.
5727 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
5728 (struct sorted_fields_type): Move to c/c-lang.h.
5729
019bf9ad
JW
57302017-09-09 Jonathan Wakely <jwakely@redhat.com>
5731
5732 PR c++/81852
5733 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5734
bc7fe952
MP
57352017-09-04 Marek Polacek <polacek@redhat.com>
5736
5737 PR c/81783
5738 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5739 (warn_tautological_cmp): Call it.
5740
ab20d992 57412017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5742
5743 * c-opts.c (c_common_finish): Write dependency information even if
5744 there are errors.
5745
d2e05fcb
JJ
57462017-09-01 Jakub Jelinek <jakub@redhat.com>
5747
5748 PR c/81887
5749 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5750 (omp_pragmas_simd): ... here.
5751 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5752 create new clauses list containing just simd clause.
5753
18e2a8b8
RS
57542017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5755 Alan Hayward <alan.hayward@arm.com>
5756 David Sherwood <david.sherwood@arm.com>
5757
5758 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5759 into scalar_mode_supported_p call.
5760 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5761
16d22000
RS
57622017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5763 Alan Hayward <alan.hayward@arm.com>
5764 David Sherwood <david.sherwood@arm.com>
5765
5766 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5767 for the mode iterator.
5768
b397965c
RS
57692017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5770 Alan Hayward <alan.hayward@arm.com>
5771 David Sherwood <david.sherwood@arm.com>
5772
5773 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5774 * c-common.c (c_build_vec_perm_expr): Likewise.
5775
357b7604
RS
57762017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5777 Alan Hayward <alan.hayward@arm.com>
5778 David Sherwood <david.sherwood@arm.com>
5779
5780 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5781
e05c94ba
RS
57822017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5783 Alan Hayward <alan.hayward@arm.com>
5784 David Sherwood <david.sherwood@arm.com>
5785
5786 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5787 before calling targetm.addr_space.valid_pointer_mode.
5788
5c20c4af
RS
57892017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5790 Alan Hayward <alan.hayward@arm.com>
5791 David Sherwood <david.sherwood@arm.com>
5792
5793 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5794
c94843d2 57952017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5796 Alan Hayward <alan.hayward@arm.com>
5797 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5798
5799 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5800 iterators.
5801 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5802
4e10a5a7
RS
58032017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5804 Alan Hayward <alan.hayward@arm.com>
5805 David Sherwood <david.sherwood@arm.com>
5806
5807 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5808 case statements.
5809
130fcab0
ML
58102017-08-29 Martin Liska <mliska@suse.cz>
5811
5812 PR other/39851
5813 * c-common.c (parse_optimize_options): Add argument to function
5814 call.
5815 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5816
14e18d71
DM
58172017-08-24 David Malcolm <dmalcolm@redhat.com>
5818
5819 * c-lex.c (interpret_float): Use token location
5820 when building an EXCESS_PRECISION_EXPR.
5821
2f687306
DM
58222017-08-21 David Malcolm <dmalcolm@redhat.com>
5823
5824 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5825 it to check_function_format.
5826 * c-common.h (check_function_arguments): Add vec<location_t> *
5827 param.
5828 (check_function_format): Likewise.
5829 * c-format.c (struct format_check_context): Add field "arglocs".
5830 (check_function_format): Add param "arglocs"; pass it to
5831 check_format_info.
ab20d992 5832 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5833 new field of format_ctx.
5834 (check_format_arg): Pass format_ctx->arglocs to new param of
5835 check_format_info_main.
5836 (class argument_parser): New field "arglocs".
5837 (argument_parser::argument_parser): Add "arglocs_" param and use
5838 it to initialize new field.
5839 (argument_parser::check_argument_type): Pass new arglocs field to
5840 check_format_types.
5841 (check_format_info_main): Add param "arglocs", and use it when
5842 constructing arg_parser.
5843 (check_format_types): Add param "arglocs"; use it if non-NULL when
5844 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5845
00aa1fa2
L
58462017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5847
5848 PR c/53037
5849 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5850 (c_common_attribute_table): Add warn_if_not_aligned.
5851 (handle_aligned_attribute): Renamed to ...
5852 (common_handle_aligned_attribute): Remove argument, name, and add
5853 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5854 (handle_aligned_attribute): New.
5855 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5856
27be025d
MS
58572017-08-14 Martin Sebor <msebor@redhat.com>
5858
5859 PR c/81117
5860 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5861 (handle_nonstring_attribute): New function.
5862
da67acb9
MS
58632017-08-14 Martin Sebor <msebor@redhat.com>
5864
5865 PR c/81117
5866 * c-format.h (T89_G): New macro.
5867 * c-format.c (local_gcall_ptr_node): New variable.
5868 (init_dynamic_diag_info): Initialize it.
5869
a8b522b4
ML
58702017-08-11 Martin Liska <mliska@suse.cz>
5871
5872 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5873 TARGET_SUPPORTS_ALIASES.
5874
32129a17
DM
58752017-08-10 David Malcolm <dmalcolm@redhat.com>
5876
5877 * c-common.c (c_parse_error): Add rich_location * param, using it
5878 rather implicitly using input_location.
5879 * c-common.h (c_parse_error): Add rich_location * param.
5880
30af3a2b
MP
58812017-08-09 Marek Polacek <polacek@redhat.com>
5882
5883 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5884 (c_common_truthvalue_conversion): Likewise.
5885 * c-omp.c (c_finish_omp_atomic): Likewise.
5886 * c-common.h (build_binary_op): Update declaration.
5887
314e6352
ML
58882017-08-08 Martin Liska <mliska@suse.cz>
5889
5890 * c-ada-spec.c: Include header files.
5891 * c-ubsan.c: Likewise.
5892 * c-warn.c: Likewise.
5893
56b5041c
JJ
58942017-08-07 Jakub Jelinek <jakub@redhat.com>
5895
5896 PR c/69389
5897 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5898
db440138
EB
58992017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5900
5901 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5902 (print_ada_methods): Likewise.
5903 (print_ada_declaration): Likewise.
5904
577eec56
ML
59052017-08-07 Martin Liska <mliska@suse.cz>
5906
5907 * array-notation-common.c: Add new includes.
5908 * c-format.c( handle_format_attribute): Canonicalize a format
5909 function name.
5910 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5911 attribute.
5912 * c-pretty-print.c: Add new include.
5913
b854df3c
EB
59142017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5915
5916 * c-ada-spec.c (has_static_fields): Look only into variables.
5917 (print_constructor): Add TYPE parameter and use it for the name.
5918 (print_destructor): Likewise.
5919 (print_ada_declaration): Adjust to new constructor/destructor names.
5920 Adjust calls to print_constructor and print_destructor.
5921 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5922 Look only into variables in the final loop.
5923
9f2cb25e
EB
59242017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5925
5926 * c-ada-spec.c (has_static_fields): Look only into fields.
5927 (dump_generic_ada_node): Small tweak.
5928 (dump_nested_types): Look only into fields.
5929 (print_ada_declaration): Look only into methods. Small tweak.
5930 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5931
f4bcd9eb
EB
59322017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5933
5934 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5935 (dump_ada_function_declaration): Likewise.
5936 (dump_generic_ada_node): Likewise.
5937 (print_ada_declaration): Add support for const-qualified variables.
5938
f34ebeb2
ML
59392017-07-31 Martin Liska <mliska@suse.cz>
5940
5941 PR sanitize/81530
5942 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5943 Guard condition with flag_sanitize_p also with current_function_decl
5944 non-null equality.
5945 (ubsan_maybe_instrument_reference_or_call): Likewise.
5946
218e5d04
UB
59472017-07-30 Uros Bizjak <ubizjak@gmail.com>
5948
5949 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5950
942047f2
EB
59512017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5952
5953 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5954 for enumeral types.
5955 (print_ada_declaration): Add missing guard for record types.
5956
a40ff0ae
JJ
59572017-07-27 Jakub Jelinek <jakub@redhat.com>
5958
5959 PR c/45784
5960 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5961 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5962 new COMPOUND_EXPRs around the rhs of the comparison.
5963
06bd22f6
MP
59642017-07-27 Marek Polacek <polacek@redhat.com>
5965
5966 PR c/81417
5967 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5968 the types.
5969
036ea399
JJ
59702017-07-27 Jakub Jelinek <jakub@redhat.com>
5971
5972 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5973 (handle_noipa_attribute): New function.
5974
417ca011
TD
59752017-07-07 Torsten Duwe <duwe@suse.de>
5976
5977 * c-attribs.c (c_common_attribute_table): Add entry for
5978 "patchable_function_entry".
5979
5aaa8fb4
NS
59802017-07-20 Nathan Sidwell <nathan@acm.org>
5981
5982 Remove TYPE_METHODS.
5983 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5984 dump_ada_template, print_ada_methods,
5985 print_ada_declaration): Member fns are on TYPE_FIELDS.
5986
ff22eb12
NS
59872017-07-18 Nathan Sidwell <nathan@acm.org>
5988
5989 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5990
eea77d1f
DM
59912017-07-14 David Malcolm <dmalcolm@redhat.com>
5992
5993 * c-common.c (try_to_locate_new_include_insertion_point): New
5994 function.
5995 (per_file_includes_t): New typedef.
5996 (added_includes_t): New typedef.
5997 (added_includes): New variable.
5998 (maybe_add_include_fixit): New function.
5999 * c-common.h (maybe_add_include_fixit): New decl.
6000
281ac396
MS
60012017-07-10 Martin Sebor <msebor@redhat.com>
6002
6003 PR other/81345
6004 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
6005
b6f43128
DM
60062017-07-06 David Malcolm <dmalcolm@redhat.com>
6007
6008 * c-common.c (selftest::c_family_tests): New.
6009 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
6010 (selftest::c_family_tests): New decl.
6011
efbf55b0
MP
60122017-07-04 Marek Polacek <polacek@redhat.com>
6013
6014 PR c/81231
6015 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
6016 types.
6017
6c86bd88
MP
60182017-07-04 Marek Polacek <polacek@redhat.com>
6019
6020 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
6021
17a7218b
ML
60222017-06-28 Martin Liska <mliska@suse.cz>
6023
6024 PR ipa/81128
6025 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
6026 to a function declaration.
6027
63010089
ML
60282017-06-28 Martin Liska <mliska@suse.cz>
6029
6030 PR driver/79659
6031 * c.opt: Add IntegerRange to various options.
6032
3e2becc4
MP
60332017-06-26 Marek Polacek <polacek@redhat.com>
6034
6035 PR c/80116
6036 * c-common.h (warn_for_multistatement_macros): Declare.
6037 * c-warn.c: Include "c-family/c-indentation.h".
6038 (warn_for_multistatement_macros): New function.
6039 * c.opt (Wmultistatement-macros): New option.
6040 * c-indentation.c (guard_tinfo_to_string): No longer static.
6041 Change the parameter type to "enum rid". Handle RID_SWITCH.
6042 * c-indentation.h (guard_tinfo_to_string): Declare.
6043
2db9b7cd
MG
60442017-06-23 Marc Glisse <marc.glisse@inria.fr>
6045
6046 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
6047
c3684b7b
MS
60482017-06-15 Martin Sebor <msebor@redhat.com>
6049
6050 PR c++/80560
6051 * c.opt (-Wclass-memaccess): New option.
6052
e72c4afd
BK
60532017-06-14 Boris Kolpackov <boris@codesynthesis.com>
6054
6055 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
6056
8a516588
MP
60572017-06-13 Marek Polacek <polacek@redhat.com>
6058
6059 PR objc/80949
6060 * c-warn.c (do_warn_duplicated_branches): Return if any of the
6061 branches is null.
6062
45b2222a
ML
60632017-06-13 Martin Liska <mliska@suse.cz>
6064
6065 PR sanitize/78204
6066 * c-attribs.c (add_no_sanitize_value): New function.
6067 (handle_no_sanitize_attribute): Likewise.
6068 (handle_no_sanitize_address_attribute): Use the function.
6069 (handle_no_sanitize_thread_attribute): New function.
6070 (handle_no_address_safety_analysis_attribute): Use
6071 add_no_sanitize_value.
6072 (handle_no_sanitize_undefined_attribute): Likewise.
6073 * c-common.h: Declare new functions.
6074 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
6075 (ubsan_instrument_shift): Likewise.
6076 (ubsan_instrument_bounds): Likewise.
6077 (ubsan_maybe_instrument_array_ref): Likewise.
6078 (ubsan_maybe_instrument_reference_or_call): Likewise.
6079
a01f151f
JM
60802017-06-11 Jason Merrill <jason@redhat.com>
6081
6082 * c-ada-spec.c, c-pragma.c: Use id_equal.
6083
3de4ac6d
MP
60842017-06-04 Marek Polacek <polacek@redhat.com>
6085
6086 PR c/80919
6087 * c-format.c (matching_type_p): Return false if any of the types
6088 requires structural equality.
6089
2474f48f
MS
60902017-06-02 Martin Sebor <msebor@redhat.com>
6091
6092 PR c/80892
6093 * c-warn.c (conversion_warning): Use -Wconversion for integer
6094 conversion and -Wfloat-conversion for floating one.
6095
40ffd95f
BE
60962017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
6097
6098 * c.opt (Wsizeof-pointer-div): New warning option.
6099
3fa4634c
VR
61002017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
6101
6102 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
6103 (Wcatch-value=1): Enable by -Wall.
6104
f012c8ef
DM
61052017-05-30 David Malcolm <dmalcolm@redhat.com>
6106
6107 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
6108 format_chars.
6109 * c.opt (fdiagnostics-show-template-tree): New option.
6110 (felide-type): New option.
6111
63dbcd13
VR
61122017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
6113
6114 * c.opt (Wcatch-value=): New C++ warning flag.
6115
be136b5c
NS
61162017-05-24 Nathan Sidwell <nathan@acm.org>
6117
6118 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
6119 const casts to avoid warning.
6120
3cd211af
MS
61212017-05-24 Martin Sebor <msebor@redhat.com>
6122
6123 PR c/80731
6124 * c-common.h (unsafe_conversion_p): Add a function argument.
6125 * c-common.c (unsafe_conversion_p): Same.
6126 Add type names and values to diagnostics.
6127 (scalar_to_vector): Adjust.
6128 * c-warn.c (constant_expression_error): Add a function argument.
6129 Add type names and values to diagnostics.
6130 (conversion_warning): Add a function argument.
6131 Add type names and values to diagnostics.
6132 (warnings_for_convert_and_check): Same.
6133
1ff7be5a
JM
61342017-05-19 Jason Merrill <jason@redhat.com>
6135
6136 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
6137 enumerators.
6138
ff502317
BE
61392017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6140
6141 * c-format.c (locus): Move out of function scope,
6142 add GTY attribute.
6143
2a8a8d7b
NS
61442017-05-19 Nathan Sidwell <nathan@acm.org>
6145
6146 * c-opts.c (class_dump_file, class_dump_flags): Delete.
6147 (c_common_parse_file): Remove class dump handling.
6148 (get_dump_info): Likewise.
6149
39aac208
RB
61502017-05-19 Richard Biener <rguenther@suse.de>
6151
6152 PR c++/80593
6153 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
6154 to alias-set zero memory.
6155
6ecd2339
BE
61562017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
6157
6158 * c-format.c (local_tree_type_node): Add GTY attribute.
6159
6574d78e
MP
61602017-05-18 Marek Polacek <polacek@redhat.com>
6161
6162 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
6163 (c_common_fixed_point_type_for_size): Likewise.
6164 (c_common_type_for_mode): Likewise.
6165 (shorten_compare): Likewise.
6166 (c_promoting_integer_type_p): Use false/true instead of 0/1.
6167 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
6168
e3455240
MP
61692017-05-18 Marek Polacek <polacek@redhat.com>
6170
6171 * c-common.c (self_promoting_args_p): Change the return type to bool.
6172 Use false/true instead of 0/1.
6173 * c-common.h (self_promoting_args_p): Update.
6174
3fa8871b
MP
61752017-05-17 Marek Polacek <polacek@redhat.com>
6176
6177 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
6178 * c-warn.c: Likewise.
6179
b42cc3ca
VV
61802017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
6181
6182 Implement new C++ intrinsics __is_assignable and __is_constructible.
6183 * c-common.c (__is_assignable, __is_constructible): New.
6184 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
6185
1a817418
ML
61862017-05-17 Martin Liska <mliska@suse.cz>
6187
6188 * c-common.h: Introduce dump_flags_t type and
6189 use it instead of int type.
6190 * c-gimplify.c (c_genericize): Likewise.
6191 * c-opts.c: Likewise.
6192
b2fa0a8b
MP
61932017-05-17 Marek Polacek <polacek@redhat.com>
6194
6195 * c-common.c (c_save_expr): Remove.
6196 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
6197 * c-common.h (c_save_expr): Remove declaration.
6198
31c2d57d
VR
61992017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
6200
6201 PR c/35441
6202 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
6203 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
6204 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
6205 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
6206 RDIV_EXPR.
6207 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
6208
684f84de
MP
62092017-05-09 Marek Polacek <polacek@redhat.com>
6210
6211 PR c/80525
6212 * c-warn.c (unwrap_c_maybe_const): New.
6213 (warn_logical_operator): Call it.
6214
641da50a
NS
62152017-05-09 Nathan Sidwell <nathan@acm.org>
6216
6217 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
6218 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
6219
631238ac
MS
62202017-05-08 Martin Sebor <msebor@redhat.com>
6221
6222 PR translation/80280
6223 * c-format.h (struct format_flag_spec): Add new member.
6224 (T89_T): New macro.
6225 * c-format.c (local_tree_type_node): New global.
6226 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
6227 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
6228 (strfmon_flag_specs): Likewise.
6229 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
6230 with distinct quoting properties.
6231 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
6232 (flag_chars_t::validate): Add argument and handle bad quoting.
6233 (check_format_info_main): Handle quoting problems.
6234 (init_dynamic_diag_info): Simplify.
6235
49f0c04c
JM
62362017-05-08 Jason Merrill <jason@redhat.com>
6237
6238 * c-opts.c (c_common_post_options): Update defaults for
6239 flag_abi_version and flag_abi_compat_version.
6240
56d35585
DM
62412017-05-05 David Malcolm <dmalcolm@redhat.com>
6242
6243 * c-common.c (c_cpp_error): Replace report_diagnostic
6244 with diagnostic_report_diagnostic.
6245
0f2c4a8f
MS
62462017-05-04 Martin Sebor <msebor@redhat.com>
6247
6248 PR translation/80280
6249 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
6250 (handle_weakref_attribute): Same.
6251
6fe63fb4
NS
62522017-05-03 Nathan Sidwell <nathan@acm.org>
6253
6254 Canonicalize canonical type hashing
6255 * c-common.c (complete_array_type): Use type_hash_canon.
6256
815d9cc6
XR
62572017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
6258
92a285c1 6259 PR c++/80038
815d9cc6
XR
6260 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
6261 prototype.
6262 (cilk_install_body_pedigree_operations): Likewise.
6263 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
6264 detatched.
6265 (cilk_gimplify_call_params_in_spawned_fn): Remove.
6266 (cilk_install_body_pedigree_operations): Likewise.
6267 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
6268 unwrapping.
6269
f8a36447
JJ
62702017-04-27 Jakub Jelinek <jakub@redhat.com>
6271
6272 PR c++/80534
6273 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
6274 flag on non-aggregate element types.
6275
7c145456
BE
62762017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
6277
6278 * c-common.c (c_type_hasher, type_hash_table): Remove.
6279 (c_common_get_alias_set): Remove unreachable code.
6280 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
6281
c3cbcd45
VR
62822017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
6283
6284 * c.opt (Wextra-semi): New C++ warning flag.
6285
8a59d466
JJ
62862017-04-20 Jakub Jelinek <jakub@redhat.com>
6287
6288 PR middle-end/80423
6289 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
6290
8487c9a5
JJ
62912017-04-18 Jakub Jelinek <jakub@redhat.com>
6292
6293 PR middle-end/79788
6294 PR middle-end/80375
6295 * c-common.c (c_common_type_for_mode): Don't handle
6296 widest_*_literal_type_node here.
6297 c_common_signed_or_unsigned_type): Likewise.
6298 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
6299 to *intTI_type_node or *intDI_type_node depending on whether
6300 TImode is supported by the target or not.
6301
3ee0fb02
ML
63022017-04-10 Martin Liska <mliska@suse.cz>
6303
6304 PR sanitizer/80350
6305 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
6306 doing an UBSAN check.
6307
5764ee3c
JW
63082017-04-03 Jonathan Wakely <jwakely@redhat.com>
6309
6310 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
6311
6f3af356
JJ
63122017-03-31 Jakub Jelinek <jakub@redhat.com>
6313
6314 PR c++/79572
6315 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
6316 tree *.
6317 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
6318 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
6319 REFERENCE_TYPE.
6320
f6a7a9d5
DM
63212017-03-31 David Malcolm <dmalcolm@redhat.com>
6322
6323 PR documentation/78732
6324 * c.opt (Wendif-labels): Fix description to refer to
6325 #else rather than #elif.
6326
af88f557
JJ
63272017-03-31 Jakub Jelinek <jakub@redhat.com>
6328
6329 PR libstdc++/80251
6330 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
6331 * c-common.c (c_common_reswords): Add __is_aggregate trait.
6332
a9e4a1a5
JJ
63332017-03-27 Jakub Jelinek <jakub@redhat.com>
6334
6335 PR middle-end/80162
6336 * c-common.c (c_common_mark_addressable_vec): Don't set
6337 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
6338
3f01b620
MS
63392017-03-21 Martin Sebor <msebor@redhat.com>
6340
6341 PR c++/79548
6342 * c-common.c (set_underlying_type): Mark type used only when
6343 original del is declared unused.
6344
2f6f187a
DM
63452017-03-10 David Malcolm <dmalcolm@redhat.com>
6346
6347 PR translation/79848
6348 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
6349 "%qs".
6350
a02fa805
DM
63512017-03-10 David Malcolm <dmalcolm@redhat.com>
6352
6353 PR c/79921
6354 * c-indentation.c (warn_for_misleading_indentation): Remove parens
6355 from inform's message, so that xgettext can locate it.
6356
822a132c
MP
63572017-03-09 Marek Polacek <polacek@redhat.com>
6358
6359 PR c++/79962
6360 PR c++/79984
6361 * c-attribs.c (handle_nonnull_attribute): Save the result of default
6362 conversion to the attribute list.
6363
bba81f1c
ML
63642017-03-09 Martin Liska <mliska@suse.cz>
6365
6366 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
6367
108154ff
JM
63682017-03-03 Jason Merrill <jason@redhat.com>
6369
6370 * c.opt (Wnoexcept-type): New.
6371
eb0e7c34
RB
63722017-03-02 Richard Biener <rguenther@suse.de>
6373
6374 PR c/79756
6375 * c-common.c (c_common_mark_addressable_vec): Look through
6376 C_MAYBE_CONST_EXPR.
6377
9453ba0a
ML
63782017-02-28 Martin Liska <mliska@suse.cz>
6379
6380 * c.opt: Replace space with tabular for options of <number>
6381 type.
6382
6a825afe
ML
63832017-02-28 Martin Liska <mliska@suse.cz>
6384
6385 * c.opt: Fix --help=option -Q for options which are of
6386 an enum type.
6387
4227c9ad
JJ
63882017-02-24 Jakub Jelinek <jakub@redhat.com>
6389
6390 PR c++/79588
6391 * c-common.c (check_function_restrict): New function.
6392 (check_function_arguments): Add FNDECL argument. Call
6393 check_function_restrict if -Wrestrict.
6394 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
6395 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
6396 * c-common.h (check_function_arguments): Add FNDECL argument.
6397 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
6398
59909673
EB
63992017-02-24 Eric Botcazou <ebotcazou@adacore.com>
6400
6401 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
6402 treatment of parameters with pointer-to-tagged type and tidy up.
6403 (print_ada_methods): Remove the special treatment of C++ static member
6404 functions.
6405
54dcd526
ML
64062017-02-22 Martin Liska <mliska@suse.cz>
6407
6408 * c.opt: Replace inequality signs with square brackets
6409 for -Wnornalized.
6410
00bc9de3
JJ
64112017-02-21 Jakub Jelinek <jakub@redhat.com>
6412
6413 PR c++/79641
6414 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
6415 preserve quals.
6416
97fcf744
JM
64172017-02-17 Joseph Myers <joseph@codesourcery.com>
6418
6419 * c-cppbuiltin.c (builtin_define_float_constants): Define
6420 __DECIMAL_DIG__ to the value for long double.
6421
c7545f1c
MP
64222017-02-15 Marek Polacek <polacek@redhat.com>
6423
6424 PR c/79515
6425 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
6426 conversion has occured.
6427
c2e84327
DM
64282017-01-24 David Malcolm <dmalcolm@redhat.com>
6429
6430 * c-common.c (c_common_reswords): Add "__RTL".
6431 * c-common.h (enum rid): Add RID_RTL.
6432
2ebd93e1
MP
64332017-01-20 Marek Polacek <polacek@redhat.com>
6434
6435 PR c/64279
6436 * c-common.h (do_warn_duplicated_branches_r): Declare.
6437 * c-gimplify.c (c_genericize): Walk the function tree calling
6438 do_warn_duplicated_branches_r.
6439 * c-warn.c (expr_from_macro_expansion_r): New.
6440 (do_warn_duplicated_branches): New.
6441 (do_warn_duplicated_branches_r): New.
6442 * c.opt (Wduplicated-branches): New option.
6443
0d80ab91
DM
64442017-01-17 David Malcolm <dmalcolm@redhat.com>
6445
6446 PR c++/71497
6447 * c-indentation.c (warn_for_misleading_indentation): Use the past
6448 subjunctive in the note.
6449
7f991c36
AH
64502017-01-17 Aldy Hernandez <aldyh@redhat.com>
6451
6452 PR c/79116
6453 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
6454 start type to integer_type.
6455
1c70261c
JJ
64562017-01-16 Jakub Jelinek <jakub@redhat.com>
6457
6458 PR driver/49726
6459 * c.opt (gen-decls): Add Driver flag.
6460
1ddca3f3
PC
64612017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6462
6463 Revert:
6464 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6465
6466 PR c++/71737
6467 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6468
7d2f3f1d
PC
64692017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6470
6471 PR c++/71737
6472 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6473
bce6f760
MS
64742017-01-12 Martin Sebor <msebor@redhat.com>
6475
6476 (-Wformat-overflow): ...to this.
6477
bf5fbf46
MS
64782017-01-11 Martin Sebor <msebor@redhat.com>
6479
6480 PR c/78768
6481 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
6482 Also enable for LTO.
6483
e363df3f
JM
64842017-01-10 Jason Merrill <jason@redhat.com>
6485
6486 Implement P0195R2, C++17 variadic using.
6487 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
6488
bd2c6270
JJ
64892017-01-09 Jakub Jelinek <jakub@redhat.com>
6490
6491 PR translation/79019
6492 PR translation/79020
6493 * c.opt (Wnormalized=): Fix typo in description.
6494
efcc8d38
MS
64952017-01-08 Martin Sebor <msebor@redhat.com>
6496
6497 PR middle-end/77708
6498 * c.opt (-Wformat-truncation): New option.
6499
ab20d992 65002017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
6501
6502 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
6503 value to unsigned short to fit in 4 hex digits without
6504 warnings.
6505
4e89adf9
EB
65062017-01-05 Eric Botcazou <ebotcazou@adacore.com>
6507
6508 * c.opt (fsso-struct): Add 'native' value.
6509
cd445b54
ML
65102017-01-05 Martin Liska <mliska@suse.cz>
6511
6512 PR pch/78970
6513 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
6514 header.
6515
a9342885
MP
65162017-01-04 Marek Polacek <polacek@redhat.com>
6517
6518 PR c++/64767
6519 * c.opt (Wpointer-compare): New option.
6520
fc73e60c
JJ
65212017-01-04 Jakub Jelinek <jakub@redhat.com>
6522
6523 PR driver/78957
6524 * c.opt (fsso-struct=): Add RejectNegative.
6525
cbe34bb5
JJ
65262017-01-01 Jakub Jelinek <jakub@redhat.com>
6527
6528 Update copyright years.
6529
d4a6c0ea
ML
65302016-12-29 Martin Liska <mliska@suse.cz>
6531
6532 PR c/78933
6533 * c.opt (strong-eval-order): Add RejectNegative keyword.
6534
67a5ad7c
JM
65352016-12-22 Jason Merrill <jason@redhat.com>
6536
6537 Implement P0522R0, matching of template template arguments.
6538 * c-cppbuiltin.c (c_cpp_builtins): Define
6539 __cpp_template_template_args.
6540
0dba7960
JJ
65412016-12-21 Jakub Jelinek <jakub@redhat.com>
6542
6543 PR bootstrap/78817
6544 * c-common.c (struct nonnull_arg_ctx): New type.
6545 (check_function_nonnull): Return bool instead of void. Use
6546 nonnull_arg_ctx as context rather than just location_t.
6547 (check_nonnull_arg): Adjust for the new context type, set
6548 warned_p to true if a warning has been diagnosed.
6549 (check_function_arguments): Return bool instead of void.
6550 * c-common.h (check_function_arguments): Adjust prototype.
6551
31bfc9b9
JM
65522016-12-21 Jason Merrill <jason@redhat.com>
6553
6554 * c.opt (-fnew-ttp-matching): New flag.
6555 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
6556
629b3d75
MJ
65572016-12-14 Martin Jambor <mjambor@suse.cz>
6558
6559 * c-omp.c: Include omp-general.h instead of omp-low.h.
6560 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
6561 name.
6562
474da67e
MS
65632016-12-14 Martin Sebor <msebor@redhat.com>
6564
6565 PR c/17308
6566 * c-common.c (check_nonnull_arg): Disable when optimization
6567 is enabled.
6568
fe366b87
MP
65692016-12-12 Marek Polacek <polacek@redhat.com>
6570
6571 PR c++/78647
6572 * c-common.c (attribute_fallthrough_p): Return false for
6573 error_mark_node.
6574
8bd9f164
MS
65752016-12-08 Martin Sebor <msebor@redhat.com>
6576
6577 PR c/78284
6578 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
6579
060162e0
MS
65802016-12-08 Martin Sebor <msebor@redhat.com>
6581
6582 PR c/78165
92a285c1
ML
6583 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
6584 suffix.
060162e0 6585
ee92e7ba
MS
65862016-12-07 Martin Sebor <msebor@redhat.com>
6587
6588 PR c/53562
6589 PR middle-end/77784
6590 PR middle-end/78149
6591 PR middle-end/78138
6592 * c.opt (-Wstringop-overflow): New option.
6593
84b0769e
MO
65942016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
6595
6596 * c-attribs.c (asan odr indicator): New attribute.
6597 (handle_asan_odr_indicator_attribute): New function.
6598
7fa6a965
PK
65992016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6600
6601 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
6602 ptrdiff_type_node;
6603
56d8ffc1
JG
66042016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6605
6606 * c-common.c (excess_precision_mode_join): New.
6607 (c_ts18661_flt_eval_method): New.
6608 (c_c11_flt_eval_method): Likewise.
6609 (c_flt_eval_method): Likewise.
6610 * c-common.h (excess_precision_mode_join): New.
6611 (c_flt_eval_method): Likewise.
6612 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
6613 (cpp_iec_559_value): Call it.
6614 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
6615 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
6616 __FLT_EVAL_METHOD_TS_18661_3__.
6617
04f0fcf7
JG
66182016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6619
6620 * c-opts.c (c_common_post_options): Add logic to handle the default
6621 case for -fpermitted-flt-eval-methods.
6622
fb2675cb
PB
66232016-11-23 Paolo Bonzini <bonzini@gnu.org>
6624
6625 * c.opt (Wexpansion-to-defined): New.
6626
ec1c5694
JJ
66272016-11-23 Jakub Jelinek <jakub@redhat.com>
6628
6629 PR target/78451
6630 * c-pragma.c (handle_pragma_target): Don't replace
6631 current_target_pragma, but chainon the new args to the current one.
6632
730c9e75
NS
66332016-11-22 Nathan Sidwell <nathan@acm.org>
6634
6635 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 6636 indentation and formatting.
730c9e75 6637
89990732
MS
66382016-11-21 Martin Sebor <msebor@redhat.com>
6639
6640 * c.opt (-fprintf-return-value): Enable by default.
6641
48330c93
BE
66422016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6643
6644 PR c++/71973
6645 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
6646 * c-common.c (c_common_nodes_and_builtins): Initialize
6647 const_tm_ptr_type_node.
6648
0d939c95
MP
66492016-11-16 Marek Polacek <polacek@redhat.com>
6650
6651 PR c/78285
6652 * c-common.c (c_add_case_label): Turn error_at calls into inform.
6653
8e745a17
JJ
66542016-11-14 Jakub Jelinek <jakub@redhat.com>
6655
6656 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
6657
1ee62b92 66582016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
6659 Richard Biener <rguenther@suse.de>
6660
6661 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
6662 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
6663 * c.opt (fgimple): New option.
1ee62b92 6664
22b15758
UB
66652016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6666
6667 PR c/35503
6668 * c-common.h (warn_for_restrict): Declare.
6669 * c-warn.c: Include gcc-rich-location.h.
6670 (warn_for_restrict): New function.
6671 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
6672 (gcc_cdiag_char_table): Likewise.
6673 (gcc_cxxdiag_char_table): Likewise.
6674 * c.opt (Wrestrict): New option.
6675
4be719cd
EB
66762016-11-13 Eric Botcazou <ebotcazou@adacore.com>
6677
6678 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
6679 for nested types only if the type is a record or union and dump SLOC.
6680
4a826ca6
JM
66812016-11-09 Jason Merrill <jason@redhat.com>
6682
6683 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
6684
2e955d50
JJ
66852016-11-09 Jakub Jelinek <jakub@redhat.com>
6686
6687 * c-ubsan.c (ubsan_instrument_shift): Handle split
6688 -fsanitize=shift-base and -fsanitize=shift-exponent.
6689
51dc6603
JM
66902016-11-07 Jason Merrill <jason@redhat.com>
6691
6692 * c.opt (Wc++1z-compat): New.
6693 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
6694
6dc4a604
ML
66952016-11-07 Martin Liska <mliska@suse.cz>
6696
6697 * c-warn.c (warn_for_unused_label): Save all labels used
6698 in goto or in &label.
6699
b302001e
JM
67002016-11-03 Jason Merrill <jason@redhat.com>
6701
6702 * c-cppbuiltin.c (c_cpp_builtins): Correct
6703 __cpp_inheriting_constructors.
6704
31f7f784
JM
67052016-11-01 Jason Merrill <jason@redhat.com>
6706
2bc78e3c
JM
6707 * c-cppbuiltin.c (c_cpp_builtins): Update
6708 __cpp_inheriting_constructors.
6709
31f7f784
JM
6710 * c.opt (-fnew-inheriting-ctors): New.
6711 * c-opts.c: Default to on for ABI 11+.
6712
dcb466ec
JJ
67132016-10-31 Jakub Jelinek <jakub@redhat.com>
6714
6715 PR c++/77948
6716 * c.opt (fext-numeric-literals): Add Var and Init.
6717 * c-opts.c (c_common_handle_option): Don't clear
6718 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
6719 (c_common_post_options): Clear it here if not set
6720 explicitly.
6721
52e1b91e
AH
67222016-10-28 Aldy Hernandez <aldyh@redhat.com>
6723
6724 PR debug/77773
6725 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
6726 if NULL.
6727
e16f1cc7
JJ
67282016-10-25 Jakub Jelinek <jakub@redhat.com>
6729
6730 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6731 * c-common.c (c_common_reswords): Add __builtin_launder.
6732
f8348061
BE
67332016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6734
6735 * c-common.c (c_common_truthvalue_conversion): Warn for
6736 multiplications in boolean context. Fix the quoting of '<<' and '<'
6737 in the shift warning.
6738
eff89e01
BE
67392016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6740
6741 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6742
24bc7bf4
JM
67432016-10-20 Jason Merrill <jason@redhat.com>
6744
6745 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6746
4c712374
BE
67472016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6748
6749 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6750 integer shift ops in boolean context.
6751
67522016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6753
6754 * c.opt (Walloca): New.
6755 (Walloca-larger-than=): New.
6756 (Wvla-larger-than=): New.
6757
8fa18c06
MP
67582016-10-17 Marek Polacek <polacek@redhat.com>
6759
6760 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6761 Return immediately when finding a match.
6762 (warn_tautological_cmp): Remove a boolean variable that is no longer
6763 needed.
6764
b12b1915
MP
67652016-10-17 Marek Polacek <polacek@redhat.com>
6766
6767 * c-attribs.c: New file.
6768 * c-common.c: Move attributes handling to c-attribs.c.
6769 (get_nonnull_operand): No longer static.
6770 * c-common.h: Move the declarations from c-attribs.c to its own section.
6771
2045acd9
JM
67722016-10-14 Jason Merrill <jason@redhat.com>
6773
6774 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6775 and __cpp_deduction_guides.
6776
14a2c9aa
JM
67772016-10-13 Jason Merrill <jason@redhat.com>
6778
6779 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6780
4d0cdd0c
TP
67812016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6782
6783 * c-cppbuiltin.c: Include memmodel.h.
6784 * c-opts.c: Likewise.
6785 * c-pragma.c: Likewise.
6786 * c-warn.c: Likewise.
6787
70f6d5e1
JJ
67882016-10-12 Jakub Jelinek <jakub@redhat.com>
6789
6790 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6791 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6792 * c-opts.c (sanitize_cpp_opts): Initialize
6793 cpp_opts->cpp_warn_implicit_fallthrough.
6794
78f61294
MP
67952016-10-11 Marek Polacek <polacek@redhat.com>
6796
6797 * c-common.c (warning_candidate_p): Change the return type to bool
6798 and return true/false instead of 1/0.
6799 (vector_mode_valid_p): Likewise.
6800
038b5cc0
MP
68012016-10-11 Marek Polacek <polacek@redhat.com>
6802
6803 * c-common.c (fold_for_warn): No longer static.
6804 (bool_promoted_to_int_p): Likewise.
6805 (c_common_get_narrower): Likewise.
6806 (constant_expression_warning): Move to c-warn.c.
6807 (constant_expression_error): Likewise.
6808 (overflow_warning): Likewise.
6809 (warn_logical_operator): Likewise.
6810 (find_array_ref_with_const_idx_r): Likewise.
6811 (warn_tautological_cmp): Likewise.
6812 (expr_has_boolean_operands_p): Likewise.
6813 (warn_logical_not_parentheses): Likewise.
6814 (warn_if_unused_value): Likewise.
6815 (strict_aliasing_warning): Likewise.
6816 (sizeof_pointer_memaccess_warning): Likewise.
6817 (check_main_parameter_types): Likewise.
6818 (conversion_warning): Likewise.
6819 (warnings_for_convert_and_check): Likewise.
6820 (match_case_to_enum_1): Likewise.
6821 (match_case_to_enum): Likewise.
6822 (c_do_switch_warnings): Likewise.
6823 (warn_for_omitted_condop): Likewise.
6824 (readonly_error): Likewise.
6825 (lvalue_error): Likewise.
6826 (invalid_indirection_error): Likewise.
6827 (warn_array_subscript_with_type_char): Likewise.
6828 (warn_about_parentheses): Likewise.
6829 (warn_for_unused_label): Likewise.
6830 (warn_for_div_by_zero): Likewise.
6831 (warn_for_memset): Likewise.
6832 (warn_for_sign_compare): Likewise.
6833 (do_warn_double_promotion): Likewise.
6834 (do_warn_unused_parameter): Likewise.
6835 (record_locally_defined_typedef): Likewise.
6836 (maybe_record_typedef_use): Likewise.
6837 (maybe_warn_unused_local_typedefs): Likewise.
6838 (maybe_warn_bool_compare): Likewise.
6839 (maybe_warn_shift_overflow): Likewise.
6840 (warn_duplicated_cond_add_or_warn): Likewise.
6841 (diagnose_mismatched_attributes): Likewise.
6842 * c-common.h: Move the declarations from c-warn.c to its own section.
6843 * c-warn.c: New file.
6844
627be19f
JM
68452016-10-08 Jason Merrill <jason@redhat.com>
6846
6847 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6848 into COND_EXPR in C++.
6849
7bad794a
JJ
68502016-10-08 Jakub Jelinek <jakub@redhat.com>
6851
6852 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6853 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6854 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6855
be845b04
JJ
68562016-10-07 Jakub Jelinek <jakub@redhat.com>
6857
6858 Implement LWG2296 helper intrinsic
6859 * c-common.h (enum rid): Add RID_ADDRESSOF.
6860 * c-common.c (c_common_reswords): Add __builtin_addressof.
6861
c09c4992
BE
68622016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6863
6864 PR c++/77700
6865 * c-common.c (c_common_truthvalue_conversion): Warn also for
6866 suspicious enum values in boolean context.
6867
342cfb3e
JJ
68682016-10-06 Jakub Jelinek <jakub@redhat.com>
6869
6870 Implement P0258R2 - helper for C++17
6871 std::has_unique_object_representations trait
6872 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6873 * c-common.c (c_common_reswords): Add
6874 __has_unique_object_representations.
6875
2e69f143
JJ
68762016-10-05 Jakub Jelinek <jakub@redhat.com>
6877
6878 PR sanitizer/66343
6879 * c-ubsan.c (ubsan_instrument_return): Don't call
6880 initialize_sanitizer_builtins here.
6881
700fff34
BE
68822016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6883
6884 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6885 conditional expression in boolean context when only one arm is
6886 non-boolean.
6887
9563bfcd
JJ
68882016-10-05 Jakub Jelinek <jakub@redhat.com>
6889
04a32443
JJ
6890 PR sanitizer/77823
6891 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6892 is not integral.
6893
9563bfcd
JJ
6894 * c-common.c (c_common_reswords): Update comment for C++11.
6895
f1644724
JM
68962016-10-04 Jason Merrill <jason@redhat.com>
6897
6898 * c-common.c (make_tree_vector_from_ctor): New.
6899 * c-common.h: Declare it.
6900
5a79befb
JJ
69012016-10-04 Jakub Jelinek <jakub@redhat.com>
6902
6903 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6904 __LIBGCC_JCR_SECTION_NAME__.
6905
1633d3b9
BE
69062016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6907
6908 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6909 left shift in boolean context.
6910
a2c6e7f2
JJ
69112016-09-29 Jakub Jelinek <jakub@redhat.com>
6912
6913 Implement P0001R1 - C++17 removal of register storage class specifier
6914 * c.opt (Wregister): New warning.
6915 * c-opts.c (c_common_post_options): Enable -Wregister by
6916 default for C++17.
6917
75304c87
JG
69182016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6919
6920 * c-opts.c (c_common_post_options): Remove special case for
6921 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6922 in C++.
6923
bbfac6da
JJ
69242016-09-27 Jakub Jelinek <jakub@redhat.com>
6925
6e39060a
JJ
6926 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6927 -std=c++1z.
6928
bbfac6da
JJ
6929 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6930
e73cf9a2
TP
69312016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6932
6933 * c-common.c: Include memmodel.h.
6934
c6147dc4
MP
69352016-09-26 Marek Polacek <polacek@redhat.com>
6936
6937 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6938
81fea426
MP
69392016-09-26 Marek Polacek <polacek@redhat.com>
6940
6941 PR c/7652
6942 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6943 (handle_fallthrough_attribute): New function.
6944 (attribute_fallthrough_p): New function.
6945 * c-common.h (attribute_fallthrough_p): Declare.
6946
9a2300e9
MP
69472016-09-24 Marek Polacek <polacek@redhat.com>
6948
6949 PR c/77490
6950 * c.opt (Wbool-operation): New.
6951
a09e9e35
BE
69522016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6953
6954 * c-common.c (c_common_truthvalue_conversion): Inhibit
6955 Wint-in-bool-context warning with from_macro_definition_at.
6956 Mention the expression will always evaluate to true.
6957
d43b4ccc
MS
69582016-09-21 Martin Sebor <msebor@redhat.com>
6959
6960 PR bootstrap/77676
6961 * c.opt (fprintf-return-value): Temporarily initialize to zero
6962 to unblock bootstrap failures.
6963
2e1c20b1
JJ
69642016-09-21 Jakub Jelinek <jakub@redhat.com>
6965
6966 PR c++/77651
6967 * c.opt (Waligned-new=): Add RejectNegative.
6968 (faligned-new=): Likewise. Spelling fix - change
6969 aligned_new_threshhold to aligned_new_threshold.
6970 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6971 to aligned_new_threshold.
6972
88d0c3f0
MS
69732016-09-20 Martin Sebor <msebor@redhat.com>
6974
6975 PR middle-end/49905
6976 * c.opt: Add -Wformat-length and -fprintf-return-value.
6977
144a96e4
BE
69782016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6979
6980 PR c++/77434
6981 * c.opt (Wint-in-bool-context): New warning.
6982 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6983 constants in boolean context.
6984
63012d9a
JM
69852016-09-19 Joseph Myers <joseph@codesourcery.com>
6986
6987 * c-common.c (max_align_t_align): Also consider alignment of
6988 float128_type_node.
6989
931388ce
JM
69902016-09-15 Jason Merrill <jason@redhat.com>
6991
6992 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6993 DECL_EXTERNAL.
6994
38711381
JM
69952016-09-14 Jason Merrill <jason@redhat.com>
6996
6997 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6998 limit FIELD_DECL, either.
6999
e51fbec3
MP
70002016-09-14 Marek Polacek <polacek@redhat.com>
7001
7002 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
7003 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
7004 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
7005
254830ba
DM
70062016-09-13 David Malcolm <dmalcolm@redhat.com>
7007
7008 * c-common.c (warn_logical_not_parentheses): Replace
7009 rich_location::add_fixit_insert calls with add_fixit_insert_before
7010 and add_fixit_insert_after, eliminating the "next_loc" calculation.
7011
42763690
JM
70122016-09-13 Jason Merrill <jason@redhat.com>
7013 Tom de Vries <tom@codesourcery.com>
7014
7015 PR c++/77427
7016 * c-common.c (set_underlying_type): Don't treat array as builtin type.
7017
9453eee9
JM
70182016-09-13 Jason Merrill <jason@redhat.com>
7019
7020 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
7021 limit types at all.
7022
e96809e3
JM
70232016-09-12 Jason Merrill <jason@redhat.com>
7024
7025 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
7026 bit/byte confusion, allow large alignment for types.
7027
54dcdb88
BE
70282016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
7029
7030 PR c++/77496
7031 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
7032
d1463eb9
DM
70332016-09-12 David Malcolm <dmalcolm@redhat.com>
7034
7035 PR c/72858
7036 * c-format.c (argument_parser::check_argument_type): Add params
7037 "type_start" and "conversion_char". Use the former to generate
7038 offset_to_type_start and pass it and conversion_char to
7039 check_format_types.
7040 (check_format_info_main): Capture the start of the type
7041 information as "type_start", and pass it an format_char
7042 to arg_parser.check_argument_type.
7043 (check_format_types): Provide an example in the leading comment.
7044 Add params "offset_to_type_start" and "conversion_char"; pass
7045 them to format_type_warning calls.
7046 (test_get_modifier_for_format_len): Likewise.
7047 (matching_type_p): New function.
7048 (get_format_for_type): Add param "conversion_char" and move
7049 implementation into...
7050 (get_format_for_type_1): ...new function, called twice.
7051 Use new function matching_type_p rather than checking for
7052 TYPE_CANONICAL equality.
7053 (get_corrected_substring): New function.
7054 (format_type_warning): Provide an example in the leading comment.
7055 Add params "offset_to_type_start" and "conversion_char". Replace
7056 call to get_format_for_type with call to get_corrected_substring
7057 and move rejection of hints for widths/precisions there.
7058 (assert_format_for_type_streq): Add param "conversion_char".
7059 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
7060 (test_get_format_for_type_printf): Add conversion chars to the
7061 tests, adding coverage for various combinations of integer
7062 vs double conversions, and for preserving octal and hexadecimal
7063 conversions.
7064 (test_get_format_for_type_scanf): Add conversion chars to the
7065 tests.
7066
5b28efbb
TV
70672016-09-10 Tom de Vries <tom@codesourcery.com>
7068
7069 PR C/71602
7070 * c-common.c (build_va_arg): Handle more strict
7071 targetm.canonical_va_list_type. Replace first argument type error with
7072 assert.
7073
3f0177e7
MS
70742016-09-09 Martin Sebor <msebor@redhat.com>
7075
7076 PR c/77520
7077 PR c/77521
7078 * c-format.c (argument_parser::find_format_char_info): Use %qc
7079 format directive unconditionally.
7080
af63ba4b
JM
70812016-09-09 Jason Merrill <jason@redhat.com>
7082
7083 Implement C++17 new of over-aligned types.
7084 * c.opt: Add -faligned-new and -Waligned-new.
7085 * c-common.c (max_align_t_align): Split out from...
7086 (cxx_fundamental_alignment_p): ...here.
7087 * c-common.h: Declare it.
7088 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
7089
c65248cb
JM
70902016-09-09 Joseph Myers <joseph@codesourcery.com>
7091
7092 * c-cppbuiltin.c (builtin_define_type_width): New function.
7093 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
7094 macros.
7095
e5106e27
DM
70962016-09-07 David Malcolm <dmalcolm@redhat.com>
7097
7098 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
7099 a POINTER_TYPE.
7100 (substring_loc::get_location): Move to substring-locations.c,
7101 keeping implementation as...
7102 (c_get_substring_location): New function, from the above, reworked
7103 to use accessors rather than member lookup.
7104 * c-common.h (class substring_loc): Move to substring-locations.h,
7105 replacing with a forward decl.
7106 (c_get_substring_location): New decl.
7107 * c-format.c: Include "substring-locations.h".
7108 (format_warning_va): Move to substring-locations.c.
7109 (format_warning_at_substring): Likewise.
7110
ab20d992 71112016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
7112
7113 PR c/77336
7114 * c-format.c (check_function_format): Avoid issuing warnings for
7115 functions unless they call format functions with non-constant
7116 format strings.
7117
b772a565
RB
71182016-09-06 Richard Biener <rguenther@suse.de>
7119
7120 PR c/77450
7121 * c-common.c (c_common_mark_addressable_vec): Handle
7122 COMPOUND_LITERAL_EXPR.
7123
25ff5dd3
MP
71242016-09-05 Marek Polacek <polacek@redhat.com>
7125
7126 PR c/77423
7127 * c-common.c (bool_promoted_to_int_p): New function.
7128 (expr_has_boolean_operands_p): New function.
7129 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
7130 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
7131
21234eb5
TV
71322016-09-04 Tom de Vries <tom@codesourcery.com>
7133
7134 revert:
7135 2016-08-29 Tom de Vries <tom@codesourcery.com>
7136
7137 * c-common.c (build_va_arg): Replace first argument type error
7138 with assert.
7139
9dc5773f
JJ
71402016-09-02 Jakub Jelinek <jakub@redhat.com>
7141
7142 PR c/65467
7143 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
7144 (c_finish_omp_for): Reject _Atomic qualified iterators.
7145
71462016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
7147
7148 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
7149 size to guarantee it fits the output of the formatted function
7150 regardless of its arguments.
7151
295844f6
MP
71522016-09-01 Marek Polacek <polacek@redhat.com>
7153
7154 PR c/7652
7155 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
7156 FALLTHRU comments.
7157
3d06b6f2
MP
71582016-08-29 Marek Polacek <polacek@redhat.com>
7159
7160 PR c/77292
7161 * c-common.c (warn_logical_not_parentheses): Don't warn for
7162 a comparison or a logical operator.
7163
34cedad5
TV
71642016-08-29 Tom de Vries <tom@codesourcery.com>
7165
7166 * c-common.c (build_va_arg): Fix type comparison assert.
7167
f162d717
TV
71682016-08-29 Tom de Vries <tom@codesourcery.com>
7169
7170 * c-common.c (build_va_arg): Replace first argument type error
7171 with assert.
7172
ba9bbd6f
TV
71732016-08-29 Tom de Vries <tom@codesourcery.com>
7174
7175 PR c/77398
7176 * c-common.c (build_va_arg): Add first argument error. Build va_arg
7177 with error_mark_node as va_list instead of with illegal va_list.
7178
ebef225f
MP
71792016-08-25 Marek Polacek <polacek@redhat.com>
7180 David Malcolm <dmalcolm@redhat.com>
7181
7182 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
7183 * c-common.h (warn_logical_not_parentheses): Update declaration.
7184
b00e6e75
MP
71852016-08-22 Marek Polacek <polacek@redhat.com>
7186
7187 PR c++/77321
7188 * c-common.c (warn_for_memset): Check type for null.
7189
6dc198e3
JM
71902016-08-22 Joseph Myers <joseph@codesourcery.com>
7191
14ec014e 7192 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
7193 _FloatNx types for suffixes for built-in functions.
7194
c65699ef
JM
71952016-08-19 Joseph Myers <joseph@codesourcery.com>
7196
7197 PR c/32187
7198 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
7199 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
7200 (RID_FLOAT128X): New enum rid values.
7201 (CASE_RID_FLOATN_NX): New macro.
7202 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
7203 keywords.
7204 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
7205 corresponding complex types.
7206 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
7207 _FloatNx and corresponding complex types.
7208 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
7209 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
7210 and _FloatNx types for the widest type for determining
7211 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
7212 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
7213 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
7214 and _FloatNx types.
7215 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
7216 constants.
7217 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
7218 _FloatNx types.
7219
cc015f3a
DM
72202016-08-18 David Malcolm <dmalcolm@redhat.com>
7221
7222 * c-opts.c (c_diagnostic_finalizer): Update for change to
7223 diagnostic_show_locus.
7224
cb18fd07
DM
72252016-08-18 David Malcolm <dmalcolm@redhat.com>
7226
7227 * c-common.c: Include "spellcheck.h".
7228 (cb_get_suggestion): New function.
7229 * c-common.h (cb_get_suggestion): New decl.
7230 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
7231 cb_get_suggestion.
7232
a76989dc
MP
72332016-08-18 Marek Polacek <polacek@redhat.com>
7234
7235 PR c/71514
7236 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
7237 and pointer-to-VLA.
7238
65e736c0
DM
72392016-08-16 David Malcolm <dmalcolm@redhat.com>
7240
7241 PR c/72857
7242 * c-common.c (substring_loc::get_range): Rename to...
7243 (substring_loc::get_location): ...this, converting param from a
7244 source_range * to a location_t *. Call
7245 get_source_location_for_substring rather than
7246 get_source_range_for_substring, and pass in m_caret_idx.
7247 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
7248 (substring_loc::get_range): Replace with...
7249 (substring_loc::get_location): ...this.
7250 (substring_loc::set_caret_index): New method.
7251 (substring_loc): Add field m_caret_idx.
7252 * c-format.c (format_warning_va): Update for above changes.
7253 Rename local "substring_loc" to "fmt_substring_loc" to avoid
7254 clashing with type name.
7255 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
7256 (check_argument_type): Likewise.
7257 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
7258 Use a copy when emitting warnings, setting the caret index from TYPE.
7259
7e1dde14 72602016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 7261 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
7262
7263 * c-ada-spec.c (dump_number): New function.
7264 (handle_escape_character): Likewise.
7265 (print_ada_macros): Add handling of constant integers and strings.
7266
191816a3
MP
72672016-08-12 Marek Polacek <polacek@redhat.com>
7268
7269 PR c/7652
7270 * c-common.c (scalar_to_vector): Adjust fall through comment.
7271 * c-opts.c (c_common_handle_option): Likewise.
7272 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
7273 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
7274 fall through comment.
7275 * cilk.c (extract_free_variables): Add FALLTHRU.
7276
452df4a4
JM
72772016-08-10 Jason Merrill <jason@redhat.com>
7278
7279 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
7280
f3365c12
JM
72812016-08-09 Jason Merrill <jason@redhat.com>
7282
7283 * c-common.c (c_common_attribute_table): vector_size affects type
7284 identity.
7285
f0bc3323
MP
72862016-08-09 Marek Polacek <polacek@redhat.com>
7287
7288 PR c/7652
7289 * c-ada-spec.c (dump_generic_ada_node): Add return.
7290
98e5a19a
JM
72912016-08-09 Jason Merrill <jason@redhat.com>
7292
7293 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
7294 C++17 constexpr lambdas.
7295
895aa8e1
DM
72962016-08-08 David Malcolm <dmalcolm@redhat.com>
7297
7298 PR c/64955
7299 * c-common.h (selftest::c_format_c_tests): New declaration.
7300 (selftest::run_c_tests): New declaration.
7301 * c-format.c: Include "selftest.h.
7302 (format_warning_va): Add param "corrected_substring" and use
7303 it to add a replacement fix-it hint.
7304 (format_warning_at_substring): Likewise.
7305 (format_warning_at_char): Update for new param of
7306 format_warning_va.
7307 (argument_parser::check_argument_type): Pass "fki" to
7308 check_format_types.
7309 (check_format_types): Add param "fki" and pass it to
7310 format_type_warning.
7311 (deref_n_times): New function.
7312 (get_modifier_for_format_len): New function.
7313 (selftest::test_get_modifier_for_format_len): New function.
7314 (get_format_for_type): New function.
7315 (format_type_warning): Add param "fki" and use it to attempt
7316 to provide hints for argument types when calling
7317 format_warning_at_substring.
7318 (selftest::get_info): New function.
7319 (selftest::assert_format_for_type_streq): New function.
7320 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
7321 (selftest::test_get_format_for_type_printf): New function.
7322 (selftest::test_get_format_for_type_scanf): New function.
7323 (selftest::c_format_c_tests): New function.
7324
e52ed3fe
DM
73252016-08-08 David Malcolm <dmalcolm@redhat.com>
7326
7327 PR c/52952
7328 * c-format.c: Include "diagnostic.h".
7329 (location_column_from_byte_offset): Delete.
7330 (location_from_offset): Delete.
7331 (format_warning_va): New function.
7332 (format_warning_at_substring): New function.
7333 (format_warning_at_char): New function.
7334 (check_format_arg): Capture location of format_tree and pass to
7335 check_format_info_main.
7336 (argument_parser): Add fields "start_of_this_format" and
7337 "format_string_cst".
7338 (flag_chars_t::validate): Add param "format_string_cst". Convert
7339 warning_at call using location_from_offset to call to
7340 format_warning_at_char.
7341 (argument_parser::argument_parser): Add param "format_string_cst_"
7342 and use use it to initialize field "format_string_cst".
7343 Initialize new field "start_of_this_format".
7344 (argument_parser::read_format_flags): Convert warning_at call
7345 using location_from_offset to a call to format_warning_at_char.
7346 (argument_parser::read_any_format_left_precision): Likewise.
7347 (argument_parser::read_any_format_precision): Likewise.
7348 (argument_parser::read_any_other_modifier): Likewise.
7349 (argument_parser::find_format_char_info): Likewise, in three places.
7350 (argument_parser::parse_any_scan_set): Likewise, in one place.
7351 (argument_parser::handle_conversions): Likewise, in two places.
7352 (argument_parser::check_argument_type): Add param "fmt_param_loc"
7353 and use it to make a substring_loc. Pass the latter to
7354 check_format_types.
7355 (check_format_info_main): Add params "fmt_param_loc" and
7356 "format_string_cst". Convert warning_at calls using
7357 location_from_offset to calls to format_warning_at_char. Pass the
7358 new params to the arg_parser ctor. Pass "format_string_cst" to
7359 flag_chars.validate. Pass "fmt_param_loc" to
7360 arg_parser.check_argument_type.
7361 (check_format_types): Convert first param from a location_t
7362 to a const substring_loc & and rename to "fmt_loc". Attempt
7363 to extract the range of the relevant parameter and pass it
7364 to format_type_warning.
7365 (format_type_warning): Convert first param from a location_t
7366 to a const substring_loc & and rename to "fmt_loc". Add
7367 params "param_range" and "type". Replace calls to warning_at
7368 with calls to format_warning_at_substring.
7369
1c4d457e
DM
73702016-08-08 David Malcolm <dmalcolm@redhat.com>
7371
7372 * c-format.c (class flag_chars_t): New class.
7373 (struct length_modifier): New struct.
7374 (class argument_parser): New class.
7375 (flag_chars_t::flag_chars_t): New ctor.
7376 (flag_chars_t::has_char_p): New method.
7377 (flag_chars_t::add_char): New method.
7378 (flag_chars_t::validate): New method.
7379 (flag_chars_t::get_alloc_flag): New method.
7380 (flag_chars_t::assignment_suppression_p): New method.
7381 (argument_parser::argument_parser): New ctor.
7382 (argument_parser::read_any_dollar): New method.
7383 (argument_parser::read_format_flags): New method.
7384 (argument_parser::read_any_format_width): New method.
7385 (argument_parser::read_any_format_left_precision): New method.
7386 (argument_parser::read_any_format_precision): New method.
7387 (argument_parser::handle_alloc_chars): New method.
7388 (argument_parser::read_any_length_modifier): New method.
7389 (argument_parser::read_any_other_modifier): New method.
7390 (argument_parser::find_format_char_info): New method.
7391 (argument_parser::validate_flag_pairs): New method.
7392 (argument_parser::give_y2k_warnings): New method.
7393 (argument_parser::parse_any_scan_set): New method.
7394 (argument_parser::handle_conversions): New method.
7395 (argument_parser::check_argument_type): New method.
7396 (check_format_info_main): Introduce classes argument_parser
7397 and flag_chars_t, moving the code within the loop into methods
7398 of these classes. Make various locals "const".
7399
88fa5555
DM
74002016-08-05 David Malcolm <dmalcolm@redhat.com>
7401
7402 * c-common.c: Include "substring-locations.h".
7403 (get_cpp_ttype_from_string_type): New function.
7404 (g_string_concat_db): New global.
7405 (substring_loc::get_range): New method.
7406 * c-common.h (g_string_concat_db): New declaration.
7407 (class substring_loc): New class.
7408 * c-lex.c (lex_string): When concatenating strings, capture the
7409 locations of all tokens using a new obstack, and record the
7410 concatenation locations within g_string_concat_db.
7411 * c-opts.c (c_common_init_options): Construct g_string_concat_db
7412 on the ggc-heap.
7413
78169471
MP
74142016-07-29 Marek Polacek <polacek@redhat.com>
7415
638fc14f
MP
7416 PR c/71926
7417 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
7418 parentheses warning.
7419
78169471
MP
7420 PR c/71574
7421 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
7422
1225d6b1
ML
74232016-07-28 Martin Liska <mliska@suse.cz>
7424
7425 PR gcov-profile/68025
7426 * c-common.c (handle_no_profile_instrument_function_attribute):
7427
ec1e2a40
BE
74282016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
7429
7430 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
7431 BITS_PER_UNIT_LOG.
7432
5ec2cd9f
JM
74332016-07-25 Jason Merrill <jason@redhat.com>
7434
7435 PR c++/65970
7436 * c.opt (fconstexpr-loop-limit): New.
7437
9dc5773f 74382016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
7439
7440 PR c++/71675
7441 * c-common.c (resolve_overloaded_builtin): Avoid converting
7442 __atomic_compare_exchange_n return type to that of what its
7443 first argument points to.
7444
e3fe09c1
UB
74452016-07-22 Uros Bizjak <ubizjak@gmail.com>
7446
7447 * c-common.c: Use HOST_WIDE_INT_M1U instead of
7448 ~(unsigned HOST_WIDE_INT) 0.
7449
bc91c436
ML
74502016-07-22 Martin Liska <mliska@suse.cz>
7451
7452 PR gcov-profile/69028
7453 PR gcov-profile/62047
7454 * cilk.c (create_cilk_helper_decl): Set location of a new decl
7455 to the current_function_decl.
7456
451dcc66
JM
74572016-07-21 Jason Merrill <jason@redhat.com>
7458
7459 PR c++/65168
7460 * c-common.c (c_common_truthvalue_conversion): Check
7461 c_inhibit_evaluation_warnings for warning about address of
7462 reference.
7463
de6a69ee
DM
74642016-07-20 David Malcolm <dmalcolm@redhat.com>
7465
7466 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
7467 const char *.
7468
d022c55a
JM
74692016-07-15 Jason Merrill <jason@redhat.com>
7470
7471 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
7472
ddbbcb19
JJ
74732016-07-15 Jakub Jelinek <jakub@redhat.com>
7474
7475 PR c/71858
7476 * c-common.h (enum lookup_name_fuzzy_kind): Add
7477 FUZZY_LOOKUP_FUNCTION_NAME.
7478
d0cf395a
JM
74792016-07-08 Jason Merrill <jason@redhat.com>
7480
7481 P0145: Refining Expression Order for C++.
7482 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
7483 * c-opts.c: Adjust.
7484
98d44e93
MT
74852016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
7486
7487 PR c++/71214
7488 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
7489
f9d8d994
TS
74902016-06-29 Thomas Schwinge <thomas@codesourcery.com>
7491
7492 * c-pragma.h (enum pragma_kind): Rename
7493 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
7494 users.
7495
4aa83879
RB
74962016-06-29 Richard Biener <rguenther@suse.de>
7497
7498 PR middle-end/71002
7499 * c-common.c (c_common_get_alias_set): Remove union type punning case.
7500
a25bd9e6
JM
75012016-06-24 Jason Merrill <jason@redhat.com>
7502
7503 P0145R2: Refining Expression Order for C++.
7504 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
7505 MODIFY_EXPR.
7506
a86451b9
JJ
75072016-06-24 Jakub Jelinek <jakub@redhat.com>
7508
7509 * c-common.c (check_builtin_function_arguments): Require last
7510 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
7511 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
7512 if the last argument is pointer to enumerated or boolean type.
7513
1a4f11c8
DM
75142016-06-22 David Malcolm <dmalcolm@redhat.com>
7515
7516 PR c/70339
7517 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
7518 (lookup_name_fuzzy): New prototype.
7519
fe55692c
JDA
75202016-06-21 John David Anglin <danglin@gcc.gnu.org>
7521
7522 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
7523
4eb24e01
JM
75242016-06-14 Jason Merrill <jason@redhat.com>
7525
7526 P0145R2: Refining Expression Order for C++.
7527 * c.opt (fargs-in-order): New.
7528 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
7529
ef7cf206
JJ
75302016-06-13 Jakub Jelinek <jakub@redhat.com>
7531
0dda258b
JJ
7532 PR sanitizer/71498
7533 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
7534 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
7535
ef7cf206
JJ
7536 PR preprocessor/71183
7537 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
7538 to cb_get_source_date_epoch.
7539
50b15873
JJ
75402016-06-10 Jakub Jelinek <jakub@redhat.com>
7541
7542 PR c/68657
7543 * c.opt (Wpsabi): Add Warning flag.
7544
4d926e34
MS
75452016-06-10 Martin Sebor <msebor@redhat.com>
7546
7547 PR c/71392
14ec014e 7548 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
7549 the nonnull attribute in type-generic builtins.
7550
e01b4e16
MS
75512016-06-09 Martin Sebor <msebor@redhat.com>
7552
7553 PR c/70883
7554 * c-common.c (builtin_function_validate_nargs): Make text of error
7555 message consistent with others like it.
7556
44a845ca
MS
75572016-06-08 Martin Sebor <msebor@redhat.com>
7558 Jakub Jelinek <jakub@redhat.com>
7559
7560 PR c++/70507
7561 PR c/68120
7562 * c-common.c (check_builtin_function_arguments): Handle
7563 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
7564
a80a7051
RB
75652016-06-08 Richard Biener <rguenther@suse.de>
7566
7567 * c-common.c (parse_optimize_options): Improve diagnostic messages.
7568
bfd67b47
RB
75692016-06-07 Richard Biener <rguenther@suse.de>
7570
7571 PR c/61564
7572 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
7573 options and warn about others.
7574
15c98b2e
ES
75752016-06-01 Eduard Sanou <dhole@openmailbox.org>
7576
7577 * c-common.c (get_source_date_epoch): Rename to
7578 cb_get_source_date_epoch.
7579 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
7580 message when the parsing fails. Use error_at instead of fatal_error.
7581 * c-common.h (get_source_date_epoch): Rename to
7582 cb_get_source_date_epoch.
7583 * c-common.h (cb_get_source_date_epoch): Prototype.
7584 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
7585 * c-common.h (c_omp_region_type): Remove trailing comma.
7586 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
7587 * c-lex.c (c_lex_with_flags): Remove initialization of
7588 pfile->source_date_epoch.
7589
00631022
JJ
75902016-05-30 Jakub Jelinek <jakub@redhat.com>
7591
7592 PR c++/71349
7593 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
7594 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
7595 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
7596 instead of C_OMP_CLAUSE_SPLIT_FOR.
7597
f17a223d
RB
75982016-05-24 Richard Biener <rguenther@suse.de>
7599
7600 PR middle-end/70434
7601 PR c/69504
7602 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
7603 (convert_vector_to_array_for_subscript): ... this.
7604 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
7605 VIEW_CONVERT_EXPR to an array type. Rename to ...
7606 (convert_vector_to_array_for_subscript): ... this.
7607
4f2e1536
MP
76082016-05-12 Marek Polacek <polacek@redhat.com>
7609
7610 PR c/70756
7611 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
7612 size_in_bytes and pass LOC to it.
7613
d6e83a8d
MM
76142016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
7615
7616 PR c/43651
7617 * c.opt (Wduplicate-decl-specifier): New option.
7618
5c3a10fb
MP
76192016-05-11 Marek Polacek <polacek@redhat.com>
7620
7621 PR c++/71024
7622 * c-common.c (diagnose_mismatched_attributes): New function.
7623 * c-common.h (diagnose_mismatched_attributes): Declare.
7624
deef7113
MP
76252016-05-04 Marek Polacek <polacek@redhat.com>
7626
7627 * c.opt (Wdangling-else): New option.
7628
79ce98bc
MP
76292016-05-03 Marek Polacek <polacek@redhat.com>
7630
7631 PR c/70859
7632 * c-common.c (builtin_function_validate_nargs): Add location
7633 parameter. Use it.
7634 (check_builtin_function_arguments): Add location and arguments
7635 parameters. Use them.
7636 * c-common.h (check_builtin_function_arguments): Update declaration.
7637
381cdae4
RB
76382016-05-03 Richard Biener <rguenther@suse.de>
7639
7640 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
7641 allow call args to gimplify to SSA names.
7642
1d793c34
MP
76432016-05-03 Marek Polacek <polacek@redhat.com>
7644
7645 * c-common.h (enum c_omp_region_type): Remove stray comma.
7646
77886428
CP
76472016-05-02 Cesar Philippidis <cesar@codesourcery.com>
7648
7649 * c-common.h (enum c_omp_region_type): Define.
7650
697e0b28
RS
76512016-05-02 Richard Sandiford <richard.sandiford@arm.com>
7652
7653 * c-common.c (shorten_compare): Use wi::to_wide.
7654
e7ff0319
CP
76552016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7656
7657 PR middle-end/70626
7658 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
7659 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
7660 reduction clauses in acc parallel loops.
7661
2fff3db8
MP
76622016-04-29 Marek Polacek <polacek@redhat.com>
7663
7664 PR c/70852
7665 * c-common.c (warn_for_memset): Check domain before accessing it.
7666
509063eb
DV
76672016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7668
7669 PR/69089
7670 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
7671 "aligned" attribute.
7672
b632761d
JM
76732016-04-28 Jason Merrill <jason@redhat.com>
7674
7675 * c-lex.c (c_common_has_attribute): Handle nodiscard.
7676
174f6622
ES
76772016-04-28 Eduard Sanou <dhole@openmailbox.org>
7678 Matthias Klose <doko@debian.org>
7679
7680 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 7681 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
7682 handling.
7683 * c-common.h (get_source_date_epoch): Prototype.
7684 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
7685
6bc2bb18
RB
76862015-04-27 Ryan Burn <contact@rnburn.com>
7687
7688 PR c++/69024
7689 PR c++/68997
7690 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
7691 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
7692 external linkage.
7693 (cilk_detect_and_unwrap): Corresponding changes.
7694 (extract_free_variables): Don't extract free variables from
7695 AGGR_INIT_EXPR slot.
7696 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
7697 (cilk_recognize_spawn): Likewise.
7698
c1e1f433
BS
76992016-04-27 Bernd Schmidt <bschmidt@redhat.com>
7700
7701 * c.opt (Wmemset-elt-size): New option.
7702 * c-common.c (warn_for_memset): New function.
7703 * c-common.h (warn_for_memset): Declare.
7704
d067e05f
JM
77052016-04-25 Jason Merrill <jason@redhat.com>
7706
7707 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
7708 No longer static.
7709 * c-common.h: Declare it.
7710 * c-lex.c (c_common_has_attribute): Add maybe_unused.
7711
9aa36ae5
JM
77122016-04-22 Jason Merrill <jason@redhat.com>
7713
7714 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
7715
477d4906
IV
77162016-04-20 Ilya Verbin <ilya.verbin@intel.com>
7717
7718 PR c++/69363
7719 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
7720 * c-common.h (c_finish_cilk_clauses): Remove declaration.
7721
fe37c7af
MM
77222016-04-18 Michael Matz <matz@suse.de>
7723
7724 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
7725 and SET_DECL_ALIGN.
7726
23f2660f
EB
77272016-04-17 Eric Botcazou <ebotcazou@adacore.com>
7728
7729 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7730 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7731 to incomplete types.
7732 (dump_nested_type): Remove redundant tests and tidy up.
7733 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7734 a type which is the typedef of an original type.
7735
1e77281b
MP
77362016-04-15 Marek Polacek <polacek@redhat.com>
7737
7738 PR c/70651
7739 * c-common.c (build_va_arg): Change two asserts into errors and return
7740 error_mark_node.
7741
b3a77f21
MP
77422016-04-13 Marek Polacek <polacek@redhat.com>
7743
7744 PR c++/70639
7745 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7746 for switch statements, too.
7747
322b8466
JM
77482016-03-28 Jason Merrill <jason@redhat.com>
7749
7750 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7751
fbdb6baf
MP
77522016-03-23 Marek Polacek <polacek@redhat.com>
7753
7754 PR c++/69884
7755 * c.opt (Wignored-attributes): New option.
7756
5c240f4d
DM
77572016-03-22 David Malcolm <dmalcolm@redhat.com>
7758
7759 PR c/69993
7760 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7761 diagnostic text, reversing the order of the warning and note so
7762 that they appear in source order.
7763
14ba7b28
MP
77642016-03-17 Marek Polacek <polacek@redhat.com>
7765
7766 PR c/69407
7767 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7768 operations.
7769
08a1cadc
JM
77702016-03-14 Jason Merrill <jason@redhat.com>
7771
2aaeea19
JM
7772 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7773
08a1cadc
JM
7774 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7775
c06d25bb
RB
77762016-03-09 Richard Biener <rguenther@suse.de>
7777
7778 PR c/70143
7779 * c-common.c (strict_aliasing_warning): Add back
7780 alias_sets_conflict_p check.
7781
80aac5c8
JM
77822016-03-08 Jason Merrill <jason@redhat.com>
7783
7784 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7785
64b23c13
DM
77862016-03-04 David Malcolm <dmalcolm@redhat.com>
7787
7788 PR c/68187
7789 * c-indentation.c (get_visual_column): Move code to determine next
7790 tab stop to...
7791 (next_tab_stop): ...this new function.
7792 (line_contains_hash_if): Delete function.
7793 (detect_preprocessor_logic): Delete function.
7794 (get_first_nws_vis_column): New function.
7795 (detect_intervening_unindent): New function.
7796 (should_warn_for_misleading_indentation): Replace call to
7797 detect_preprocessor_logic with a call to
7798 detect_intervening_unindent.
7799
729526f5
DM
78002016-03-04 David Malcolm <dmalcolm@redhat.com>
7801
7802 PR c/68187
7803 * c-indentation.c (should_warn_for_misleading_indentation): When
7804 suppressing warnings about cases where the guard and body are on
7805 the same column, only use the first non-whitespace column in place
7806 of the guard token column when dealing with "else" clauses.
7807 When rejecting aligned BODY and NEXT, loosen the requirement
7808 from equality with the first non-whitespace of guard to simply
7809 that they not be indented relative to it.
7810
e9a35493
RB
78112016-03-04 Richard Biener <rguenther@suse.de>
7812
7813 PR c++/70054
7814 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7815 instead of alias_sets_conflict_p.
7816
1be56bc5
MP
78172016-03-01 Marek Polacek <polacek@redhat.com>
7818
7819 PR c++/69795
7820 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7821 any DECL.
7822
35886f0b
MS
78232016-02-22 Martin Sebor <msebor@redhat.com>
7824
7825 PR middle-end/69780
7826 * c-common.c (check_builtin_function_arguments): Validate and
7827 reject invalid arguments to __builtin_alloca_with_align.
7828
4246c8da
MW
78292016-02-20 Mark Wielaard <mjw@redhat.com>
7830
7831 PR c/28901
7832 * c.opt (Wunused-const-variable): Turn into Alias for...
7833 (Wunused-const-variable=): New option.
7834
268be88c
BE
78352016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7836
7837 PR c++/69865
7838 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7839 here...
7840 (c_common_init_options): ...to here.
7841 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7842
871b3f47
JJ
78432016-02-19 Jakub Jelinek <jakub@redhat.com>
7844
7845 PR c++/69826
7846 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7847 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7848 flag_preprocess_only.
7849
bf14eba2
JJ
78502016-02-16 Jakub Jelinek <jakub@redhat.com>
7851
7852 PR c/69835
7853 * c.opt (Wnonnull-compare): Enable for -Wall.
7854
ba6b3795
JJ
78552016-02-15 Jakub Jelinek <jakub@redhat.com>
7856
7857 PR c++/69797
7858 * c-common.c (sync_resolve_size): Diagnose too few arguments
7859 even when params is non-NULL empty vector.
7860
a011cd92
BS
78612016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7862
7863 PR target/60410
7864 * c.opt (fshort-double): Remove.
7865
46cb9332
MS
78662016-02-05 Martin Sebor <msebor@redhat.com>
7867
7868 PR c++/69662
7869 * c.opt (Warning options): Update -Wplacement-new to take
7870 an optional argument.
7871
e1b81f2b
JJ
78722016-02-01 Jakub Jelinek <jakub@redhat.com>
7873
7874 PR preprocessor/69543
7875 PR c/69558
7876 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7877 instead of loc to control_warning_option.
7878
b6adbb9f
NS
78792016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7880
7881 * c.opt (fopenacc-dim=): New option.
7882
5d70666e
RB
78832016-01-27 Ryan Burn <contact@rnburn.com>
7884
7885 PR cilkplus/69267
7886 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7887 gimplify_arg. Removed superfluous post_p argument.
7888 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7889 superfluous post_p argument.
7890 * c-gimplify.c (c_gimplify_expr): Likewise.
7891
01e1dea3
DM
78922016-01-26 David Malcolm <dmalcolm@redhat.com>
7893
7894 PR other/69006
7895 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7896 pp_newline_and_flush with pp_flush.
7897
9f04a53e
MS
78982016-01-20 Martin Sebor <msebor@redhat.com>
7899
7900 PR c/69405
7901 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7902 an incompatible argument when the argument isn't a valid tree node.
7903
7f26f7df
JM
79042016-01-18 Jason Merrill <jason@redhat.com>
7905
7906 PR c++/68767
7907 * c-common.c (check_function_arguments_recurse): Fold the whole
7908 COND_EXPR, not just the condition.
7909
f62bf092
TV
79102016-01-18 Tom de Vries <tom@codesourcery.com>
7911
7912 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7913 classify as loop clause.
7914
e0a575ff
JJ
79152016-01-15 Jakub Jelinek <jakub@redhat.com>
7916
7917 PR bootstrap/68271
7918 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7919 C++ FE no longer has limit on number of pragmas.
7920
79212015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7922
7923 PR c++/69048
7924 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7925 to add missing cleanup point.
b6e3db06 7926
c7df95d8
DM
79272016-01-14 David Malcolm <dmalcolm@redhat.com>
7928
7929 PR c++/68819
7930 * c-indentation.c (get_visual_column): Add location_t param.
7931 Handle the column number being zero by effectively disabling the
7932 warning, with an "inform".
7933 (should_warn_for_misleading_indentation): Add location_t argument
7934 for all uses of get_visual_column.
7935
21efdd80
PP
79362016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7937
7938 PR c++/69029
7939 * c-indentation.c (should_warn_for_misleading_indentation):
7940 Don't warn about do-while statements.
7941
7a127fa7
MS
79422016-01-07 Martin Sebor <msebor@redhat.com>
7943
7944 PR c/68966
7945 * c-common.c (sync_resolve_size): Reject first argument when it's
7946 a pointer to _Bool.
7947
c589e975
DM
79482016-01-05 David Malcolm <dmalcolm@redhat.com>
7949
7950 PR c/69122
7951 * c-indentation.c (get_visual_column): Remove default argument.
7952 (should_warn_for_misleading_indentation): For the multiline case,
7953 update call to get_visual_column for next_stmt_exploc so that it
7954 captures the location of the first non-whitespace character in the
7955 relevant line. Don't issue warnings if there is non-whitespace
7956 before the next statement.
7957
818ab71a
JJ
79582016-01-04 Jakub Jelinek <jakub@redhat.com>
7959
7960 Update copyright years.
7961
745e411d
DM
79622015-12-21 David Malcolm <dmalcolm@redhat.com>
7963
7964 * c-common.c (binary_op_error): Convert first param from
7965 location_t to rich_location * and use it when emitting an error.
7966 * c-common.h (binary_op_error): Convert first param from
7967 location_t to rich_location *.
7968
de67c4c3
DM
79692015-12-16 David Malcolm <dmalcolm@redhat.com>
7970
7971 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7972 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7973
4a38b02b
IV
79742015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7975
7976 * c-common.c (c_common_attribute_table): Handle "omp declare target
7977 link" attribute.
7978
54d62f51
JJ
79792015-12-14 Jakub Jelinek <jakub@redhat.com>
7980
7981 PR c/68833
7982 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7983
8d4227c8
TB
79842014-12-12 Tobias Burnus <burnus@net-b.de>
7985
7986 PR fortran/68815
7987 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7988 specifiers (%d, %i,%u and %c).
7989
f6069ccc
DM
79902015-12-10 David Malcolm <dmalcolm@redhat.com>
7991
7992 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7993
63bbf46d
JJ
79942015-12-08 Jakub Jelinek <jakub@redhat.com>
7995
7996 PR c/48088
7997 PR c/68657
7998 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7999 * c-pragma.c (handle_pragma_diagnostic): Adjust
8000 control_warning_option caller.
8001
f79520bb
DM
80022015-12-07 David Malcolm <dmalcolm@redhat.com>
8003
8004 * c-common.c (c_cpp_error): Update for change to
8005 rich_location::set_range.
8006
b3d5bc62
JJ
80072015-12-04 Paolo Bonzini <bonzini@gnu.org>
8008
8009 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
8010 shifting 1 out of the sign bit.
8011
80122015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
8013
8014 * c-common.c (c_common_attribute_table[]): Update max arguments
8015 count for "simd" attribute.
8016 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
8017
6eb4a537
JJ
80182015-12-03 Jakub Jelinek <jakub@redhat.com>
8019
8020 PR preprocessor/57580
8021 * c-ppoutput.c (print): Change printed field to bool.
8022 Move src_file last for smaller padding.
8023 (init_pp_output): Set print.printed to false instead of 0.
8024 (scan_translation_unit): Fix up formatting. Set print.printed
8025 to true after printing something other than newline.
8026 (scan_translation_unit_trad): Set print.printed to true instead of 1.
8027 (maybe_print_line_1): Set print.printed to false instead of 0.
8028 (print_line_1): Likewise.
8029 (do_line_change): Set print.printed to true instead of 1.
8030 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
8031 dump_macro): Set print.printed to false after printing newline.
8032
4250754e
JM
80332015-12-02 Jason Merrill <jason@redhat.com>
8034
f479b43d
JM
8035 * c-common.c (fold_for_warn): New.
8036 (warn_logical_operator, warn_tautological_cmp)
8037 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
8038
4250754e
JM
8039 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
8040 (c_fully_fold_internal, decl_constant_value_for_optimization):
8041 Move to c/c-fold.c.
8042 * c-common.h: Don't declare decl_constant_value_for_optimization.
8043
e9e32ee6
JM
80442015-12-02 Joseph Myers <joseph@codesourcery.com>
8045
8046 PR c/68162
8047 * c-common.h (c_build_qualified_type): Add extra default
8048 arguments.
8049
37d5ad46
JB
80502015-12-01 Julian Brown <julian@codesourcery.com>
8051 Cesar Philippidis <cesar@codesourcery.com>
8052 James Norris <James_Norris@mentor.com>
8053
8054 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
8055 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
8056 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
8057
f07862c7
EB
80582015-11-30 Eric Botcazou <ebotcazou@adacore.com>
8059
8060 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
8061 (decl_sloc_common): Delete and move bulk of processing to...
8062 (decl_sloc): ...here.
8063 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
8064 (dump_ada_double_name): Remove S parameter and compute the suffix.
8065 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
8066 element type and deal with an anonymous one.
8067 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
8068 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
8069 and remove reference to QUAL_UNION_TYPE.
8070 (dump_nested_types): Make 2 passes on the fields and move bulk to...
8071 (dump_nested_type): ...here. New function extracted from above.
8072 Generate a full declaration for anonymous element type of arrays.
8073 (print_ada_declaration): Really skip anonymous declarations. Remove
8074 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
8075 Clean up processing of declarations of array types and objects.
8076 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
8077 Remove obsolete code and tidy up.
8078
75c8aac3
JH
80792015-11-29 Jan Hubicka <hubicka@ucw.cz>
8080
8081 PR c/67581
8082 * c-common.c (handle_transparent_union_attribute): Update
8083 also type variants.
8084
b58d3df2
ML
80852015-11-27 Martin Liska <mliska@suse.cz>
8086
8087 PR c++/68312
8088 * array-notation-common.c (cilkplus_extract_an_triplets):
8089 Release vector of vectors.
8090 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
8091
89a01fcf
EB
80922015-11-26 Eric Botcazou <ebotcazou@adacore.com>
8093
8094 PR c++/68527
8095 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
8096 (print_ada_struct_decl): Likewise.
8097
cc5c5226
IZ
80982015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
8099
8100 PR c++/68001
8101 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
8102 * cilk.c (recognize_spawn): Determine location in a more precise
8103 way.
8104
269adb9d
JM
81052015-11-19 Jason Merrill <jason@redhat.com>
8106
8107 * c-common.c (shorten_compare): But look through macros from
8108 system headers.
8109
d0eccfcd
JM
81102015-11-18 Jason Merrill <jason@redhat.com>
8111
8112 * c-common.c (shorten_compare): Don't -Wtype-limits if the
8113 non-constant operand comes from a macro.
8114
3e44547c
JM
81152015-11-17 Jason Merrill <jason@redhat.com>
8116
8117 PR bootstrap/68346
8118 * c-common.c (warn_tautological_cmp): Fold before checking for
8119 constants.
8120
0f62c7a0
MP
81212015-11-16 Marek Polacek <polacek@redhat.com>
8122
8123 PR c++/68362
8124 * c-common.c (check_case_bounds): Fold low and high cases.
8125
a868811e
MP
81262015-11-16 Marek Polacek <polacek@redhat.com>
8127
8128 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
8129 * c-common.c (c_common_get_alias_set): Likewise.
8130 (handle_visibility_attribute): Likewise.
8131
fff77217
KY
81322015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
8133
8134 * c-common.c (handle_simd_attribute): New.
8135 (struct attribute_spec): Add entry for "simd".
8136 (handle_simd_attribute): New.
8137
269e63b7
KT
81382015-11-13 Kai Tietz <ktietz70@googlemail.com>
8139
8140 * c-lex.c (interpret_float): Use fold_convert.
8141
ebedc9a3
DM
81422015-11-13 David Malcolm <dmalcolm@redhat.com>
8143
8144 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
8145 and store it on the result.
8146 * c-opts.c (c_common_init_options): Set
8147 global_dc->colorize_source_p.
8148
6e232ba4
JN
81492015-11-12 James Norris <jnorris@codesourcery.com>
8150 Joseph Myers <joseph@codesourcery.com>
8151
7365279f 8152 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
8153 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
8154 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
8155 PRAGMA_OACC_CLAUSE_LINK.
8156
e78bede6
MP
81572015-11-11 Marek Polacek <polacek@redhat.com>
8158
8159 PR c/68107
8160 PR c++/68266
8161 * c-common.c (valid_array_size_p): New function.
8162 * c-common.h (valid_array_size_p): Declare.
8163
3f8257db 81642015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
8165
8166 PR bootstrap/68271
8167 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
8168
69f293c9
AM
81692015-11-11 Andrew MacLeod <amacleod@redhat.com>
8170
8171 * array-notation-common.c: Remove unused header files.
8172 * c-ada-spec.c: Likewise.
8173 * c-cilkplus.c: Likewise.
8174 * c-common.c: Likewise.
8175 * c-cppbuiltin.c: Likewise.
8176 * c-dump.c: Likewise.
8177 * c-format.c: Likewise.
8178 * c-gimplify.c: Likewise.
8179 * c-indentation.c: Likewise.
8180 * c-lex.c: Likewise.
8181 * c-omp.c: Likewise.
8182 * c-opts.c: Likewise.
8183 * c-pch.c: Likewise.
8184 * c-ppoutput.c: Likewise.
8185 * c-pragma.c: Likewise.
8186 * c-pretty-print.c: Likewise.
8187 * c-semantics.c: Likewise.
8188 * c-ubsan.c: Likewise.
8189 * cilk.c: Likewise.
8190 * stub-objc.c: Likewise.
8191
3a40d81d
NS
81922015-11-09 Thomas Schwinge <thomas@codesourcery.com>
8193 Cesar Philippidis <cesar@codesourcery.com>
8194 James Norris <jnorris@codesourcery.com>
8195 Julian Brown <julian@codesourcery.com>
8196 Nathan Sidwell <nathan@codesourcery.com>
8197
8198 * c-pragma.c (oacc_pragmas): Add "routine".
8199 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
8200
ee45a32d
EB
82012015-11-08 Eric Botcazou <ebotcazou@adacore.com>
8202
8203 * c-common.c (c_common_attributes): Add scalar_storage_order.
8204 (handle_scalar_storage_order_attribute): New function.
8205 * c-pragma.c (global_sso): New variable.
8206 (maybe_apply_pragma_scalar_storage_order): New function.
8207 (handle_pragma_scalar_storage_order): Likewise.
8208 (init_pragma): Register scalar_storage_order.
8209 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
8210 * c.opt (Wscalar-storage-order): New warning.
8211 (fsso-struct=): New option.
8212
eb11eb15
MS
82132015-11-08 Martin Sebor <msebor@redhat.com>
8214
8215 * c.opt (Wplacement-new): Add a period to the end of a sentence.
8216
0aad0198
RS
82172015-11-07 Richard Sandiford <richard.sandiford@arm.com>
8218
8219 * c-common.c: Don't undef DEF_BUILTIN.
8220
8a645150
DM
82212015-11-06 David Malcolm <dmalcolm@redhat.com>
8222
8223 * c-common.c (c_cpp_error): Convert parameter from location_t to
8224 rich_location *. Eliminate the "column_override" parameter and
8225 the call to diagnostic_override_column.
8226 Update the "done_lexing" clause to set range 0
8227 on the rich_location, rather than overwriting a location_t.
8228 * c-common.h (c_cpp_error): Convert parameter from location_t to
8229 rich_location *. Eliminate the "column_override" parameter.
8230
7a5e4956
CP
82312015-11-05 Cesar Philippidis <cesar@codesourcery.com>
8232 Thomas Schwinge <thomas@codesourcery.com>
8233 James Norris <jnorris@codesourcery.com>
8234
8235 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
8236 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
8237 clauses with parallel and kernels and loops.
8238 * c-pragma.h (enum pragma_omp_clause): Add entries for
8239 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
8240 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
8241 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
8242 INDEPENDENT,SEQ}.
8243 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
8244
e2f5cc96
MS
82452015-11-05 Martin Sebor <msebor@redhat.com>
8246
8247 PR c++/67942
8248 * c.opt (-Wplacement-new): New option.
8249
e01d41e5
JJ
82502015-11-05 Jakub Jelinek <jakub@redhat.com>
8251
8252 * c-common.h (c_finish_omp_atomic): Add TEST argument.
8253 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
8254 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
8255 save_expr or create_tmp_var* if TEST is true.
8256 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
8257 Don't call add_stmt here.
8258 (struct c_omp_check_loop_iv_data): New type.
8259 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
8260 c_omp_check_loop_iv_exprs): New functions.
8261 (c_omp_split_clauses): Adjust for lastprivate being allowed on
8262 distribute.
8263 (c_omp_declare_simd_clauses_to_numbers): Change
8264 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
8265 (c_omp_declare_simd_clauses_to_decls): Similarly change those
8266 from numbers to PARM_DECLs.
8267
595278be
MM
82682015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
8269
8270 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
8271 flag_checking.
8272
3f8257db 82732015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
8274
8275 PR c++-common/67882
b3d5bc62
JJ
8276 * c-common.h (fold_offsetof_1): Add argument.
8277 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
8278 offsetof expressions that reference elements past the end of
8279 an array.
8280
4bf9e5a8
TS
82812015-11-03 Thomas Schwinge <thomas@codesourcery.com>
8282 Chung-Lin Tang <cltang@codesourcery.com>
8283
8284 * c-pragma.c (oacc_pragmas): Add "atomic".
8285 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
8286
3b1661a9
ES
82872015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
8288
8289 * c-common.c (handle_target_clones_attribute): New.
8290 (c_common_attribute_table): Add handle_target_clones_attribute.
8291 (handle_always_inline_attribute): Add check on target_clones attribute.
8292 (handle_target_attribute): Ditto.
8293
2adfab87
AM
82942015-10-29 Andrew MacLeod <amacleod@redhat.com>
8295
8296 * array-notation-common.c: Reorder #include's and remove duplicates.
8297 * c-ada-spec.c: Likewise.
8298 * c-cilkplus.c: Likewise.
8299 * c-common.c: Likewise.
8300 * c-cppbuiltin.c: Likewise.
8301 * c-dump.c: Likewise.
8302 * c-format.c: Likewise.
8303 * c-gimplify.c: Likewise.
8304 * c-indentation.c: Likewise.
8305 * c-lex.c: Likewise.
8306 * c-omp.c: Likewise.
8307 * c-opts.c: Likewise.
8308 * c-pch.c: Likewise.
8309 * c-ppoutput.c: Likewise.
8310 * c-pragma.c: Likewise.
8311 * c-pretty-print.c: Likewise.
8312 * c-semantics.c: Likewise.
8313 * c-ubsan.c: Likewise.
8314 * cilk.c: Likewise.
8315 * stub-objc.c: Likewise.
8316
d90ec4f2
JM
83172015-10-28 Jason Merrill <jason@redhat.com>
8318
8319 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
8320
88bae6f4
TS
83212015-10-27 Thomas Schwinge <thomas@codesourcery.com>
8322 James Norris <jnorris@codesourcery.com>
8323 Cesar Philippidis <cesar@codesourcery.com>
8324
8325 PR c/64765
8326 PR c/64880
8327 * c-common.h (c_oacc_split_loop_clauses): Declare function.
8328 * c-omp.c (c_oacc_split_loop_clauses): New function.
8329
b1726d6c
MS
83302015-10-21 Martin Sebor <msebor@redhat.com>
8331
8332 PR driver/68043
8333 * c.opt: End each sentence that describes an option with a period.
8334
fa60eeb9
MP
83352015-10-20 Marek Polacek <polacek@redhat.com>
8336
8337 * array-notation-common.c (is_cilkplus_vector_p): Define.
8338 * c-common.h (is_cilkplus_vector_p): Declare.
8339
95979049
MP
83402015-10-20 Marek Polacek <polacek@redhat.com>
8341
8342 * c.opt (std=gnu++11): Do not describe as experimental.
8343 (std=gnu++14): Likewise.
8344
2a9fb712
JM
83452015-10-19 Jason Merrill <jason@redhat.com>
8346
8347 * c-cppbuiltin.c (c_cpp_builtins): Define
8348 __cpp_nontype_template_args.
8349
13b380a3
JM
83502015-10-19 Jason Merrill <jason@redhat.com>
8351
8352 * c-cppbuiltin.c (c_cpp_builtins): Define
8353 __cpp_enumerator_attributes, __cpp_fold_expressions,
8354 __cpp_unicode_characters.
8355
d9a6bd32
JJ
83562015-10-13 Jakub Jelinek <jakub@redhat.com>
8357 Aldy Hernandez <aldyh@redhat.com>
8358
8359 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
8360 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
8361 (c_define_builtins): Likewise.
8362 * c-common.h (enum c_omp_clause_split): Add
8363 C_OMP_CLAUSE_SPLIT_TASKLOOP.
8364 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
8365 (c_finish_omp_for): Add ORIG_DECLV argument.
8366 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
8367 201511 instead of 201307.
8368 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
8369 OMP_CRITICAL_CLAUSES to it.
8370 (c_finish_omp_ordered): Add CLAUSES argument, set
8371 OMP_ORDERED_CLAUSES to it.
8372 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
8373 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
8374 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
8375 constructs and new OpenMP 4.5 clauses. Clear
8376 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
8377 verification code.
8378 * c-pragma.c (omp_pragmas_simd): Add taskloop.
8379 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
8380 (enum pragma_omp_clause): Add
8381 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
8382 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
8383
624d31fe
RS
83842015-10-05 Richard Sandiford <richard.sandiford@arm.com>
8385
8386 * c-lex.c (interpret_float): Use real_equal instead of
8387 REAL_VALUES_EQUAL.
8388
b8fd7909
JM
83892015-10-04 Jason Merrill <jason@redhat.com>
8390
8391 Implement N4514, C++ Extensions for Transactional Memory.
8392 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
8393 (c_common_attribute_table): Add transaction_safe_dynamic.
8394 transaction_safe now affects type identity.
8395 (handle_tm_attribute): Handle transaction_safe_dynamic.
8396 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
8397 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
8398 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
8399 (D_TRANSMEM): New.
8400 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
8401 * c-pretty-print.c (pp_c_attributes_display): Don't print
8402 transaction_safe in C++.
8403
12651878
MP
84042015-10-02 Marek Polacek <polacek@redhat.com>
8405
8406 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
8407
3e3b8d63
MP
84082015-10-02 Marek Polacek <polacek@redhat.com>
8409
8410 PR c/64249
8411 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
8412 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
8413 * c.opt (Wduplicated-cond): New option.
8414
0d1a8f75
JM
84152015-10-01 Joseph Myers <joseph@codesourcery.com>
8416
8417 * c.opt (std=c11): Do not describe as experimental.
8418 (std=gnu11): Likewise.
8419 (std=iso9899:2011): Likewise.
8420
3e32ee19
NS
84212015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8422
8423 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
8424 (DEF_FUNCTION_TYPE_VAR_11): Delete.
8425
974348ee
MP
84262015-09-25 Marek Polacek <polacek@redhat.com>
8427
8428 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
8429 (ubsan_instrument_shift): Likewise.
8430
15dbc1a6
MP
84312015-09-25 Marek Polacek <polacek@redhat.com>
8432
8433 PR sanitizer/64906
8434 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
8435
6b95d7cc
PP
84362015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
8437
8438 * c-indentation.c (should_warn_for_misleading_indentation):
8439 Compare next_stmt_vis_column with guard_line_first_nws instead
8440 of with guard_line_vis_column.
8441
c1822f9c
MLI
84422015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8443
8444 PR c/49654
8445 PR c/49655
8446 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
8447 options and options not valid for the current language.
8448
d5398058
PP
84492015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
8450
8451 * c-indentation.c (should_warn_for_misleading_indentation):
8452 Float out and consolidate the calls to get_visual_column that
8453 are passed guard_exploc as an argument. Compare
8454 next_stmt_vis_column with guard_line_first_nws instead of with
8455 body_line_first_nws.
8456
6b333269
NS
84572015-09-22 Nathan Sidwell <nathan@codesourcery.com>
8458
8459 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
8460 Wnamespaces): New C++ warnings.
8461
a75f1574
JM
84622015-09-22 Jason Merrill <jason@redhat.com>
8463
8464 * c-common.h (abi_compat_version_crosses): New.
8465 (warn_abi_version): Declare.
8466 * c-common.c: Define it.
8467 * c-opts.c (c_common_post_options): Handle it.
8468 flag_abi_compat_version defaults to 8.
8469
bdaaa8b7
VV
84702015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
8471
8472 Complete the implementation of N4230, Nested namespace definition.
8473 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
8474 __cpp_nested_namespace_definitions.
8475
eaa797e8
MLI
84762015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8477
8478 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
8479
c4914de6
MLI
84802015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8481
8482 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
8483 when warning.
8484 * c-pragma.h (pragma_lex): Add optional loc argument.
8485
fcb87c50
MM
84862015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
8487
8488 * c-format.c (check_format_arg): Adjust to use common block size in all
8489 object pools.
8490
31bdd08a
DM
84912015-09-15 David Malcolm <dmalcolm@redhat.com>
8492
8493 * c-format.c (location_from_offset): Update for change in
8494 signature of location_get_source_line.
8495 * c-indentation.c (get_visual_column): Likewise.
8496 (line_contains_hash_if): Likewise.
8497
aa9f4b4c
MP
84982015-09-14 Marek Polacek <polacek@redhat.com>
8499
8500 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
8501 setting various warnings.
8502
aa256c4a
MP
85032015-09-14 Marek Polacek <polacek@redhat.com>
8504
8505 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
8506 a negative value.
8507
0f876f22
MW
85082015-09-11 Mark Wielaard <mjw@redhat.com>
8509
8510 PR c/28901
8511 * c.opt (Wunused-variable): Option from common.opt.
8512 (Wunused-const-variable): New option.
8513
273aa49e
PC
85142015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8515
8516 PR c++/53184
8517 * c.opt ([Wsubobject-linkage]): Add.
8518
1807ffc1
MS
85192015-09-03 Martin Sebor <msebor@redhat.com>
8520
8521 PR c/66516
8522 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
8523 functions.
8524 * c-common.c (reject_gcc_builtin): Define.
8525
38942840
BI
85262015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
8527
8528 PR middle-end/60586
8529 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
8530 prototype.
8531 * c-gimplify.c (c_gimplify_expr): Added a call to the function
8532 cilk_gimplify_call_params_in_spawned_fn.
8533 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
8534 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
8535 unwrapping.
8536
c316b5e4
MP
85372015-08-25 Marek Polacek <polacek@redhat.com>
8538
8539 PR middle-end/67330
8540 * c-common.c (handle_weak_attribute): Don't check whether the
8541 visibility can be changed here.
8542
584a7c46
MLI
85432015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8544
8545 * c-lex.c (c_lex_with_flags): Use explicit locations.
8546
a79683d5
TS
85472015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8548
8549 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
8550 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
8551
61717a45
FXC
85522015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8553
8554 PR middle-end/36757
8555 * c-common.c (check_builtin_function_arguments): Add check
8556 for BUILT_IN_SIGNBIT argument.
8557
329524f5
PC
85582015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
8559
8560 PR c++/67160
8561 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
8562 in c++1z mode.
8563
4ee55665
MP
85642015-08-17 Marek Polacek <polacek@redhat.com>
8565
8566 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
8567 with whitespaces before qualifier names.
8568
b893e375
MP
85692015-08-12 Marek Polacek <polacek@redhat.com>
8570
8571 PR c++/55095
8572 * c-common.c (maybe_warn_shift_overflow): Properly handle
8573 left-shifting 1 into the sign bit.
8574
c2d89095
MLI
85752015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8576
8577 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
8578
971e17ff
AS
85792015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
8580 Braden Obrzut <admin@maniacsvault.net>
8581 Jason Merrill <jason@redhat.com>
8582
8583 Add C++ Concepts TS support.
8584 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
8585 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
8586 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
8587 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
8588 * c-opts.c (set_std_cxx1z): Set flag_concepts.
8589 * c.opt (fconcepts): New.
8590
b3d5bc62
JJ
85912015-08-02 Martin Sebor <msebor@redhat.com>
8592
8593 * c.opt (-Wframe-address): New warning option.
8594
8ebca419
PP
85952015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8596
8597 * c-indentation.c (should_warn_for_misleading_indentation):
8598 Improve heuristics.
8599
1a1e101f
PP
86002015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8601
8602 * c-indentation.c (get_visual_column): Add parameter first_nws,
8603 use it. Update comment documenting the function.
8604 (is_first_nonwhitespace_on_line): Remove.
8605 (should_warn_for_misleading_indentation): Replace usage of
8606 of is_first_nonwhitespace_on_line with get_visual_column.
8607
992118a1
PP
86082015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8609
8610 * c-indentation.h (struct token_indent_info): Define.
8611 (get_token_indent_info): Define.
8612 (warn_for_misleading_information): Declare.
8613 * c-common.h (warn_for_misleading_information): Remove.
8614 * c-identation.c (warn_for_misleading_indentation):
8615 Change declaration to take three token_indent_infos. Adjust
8616 accordingly.
8617 * c-identation.c (should_warn_for_misleading_indentation):
8618 Likewise. Bail out early if the body is a compound statement.
8619 (guard_tinfo_to_string): Define.
8620
e8fa3817
JM
86212015-07-30 Jason Merrill <jason@redhat.com>
8622
8623 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
8624 '*' for reference decay.
8625
173864e8
MP
86262015-07-30 Marek Polacek <polacek@redhat.com>
8627
8628 * c-common.c (warn_tautological_cmp): Bail for float types.
8629
f2afe6dd
MP
86302015-07-27 Marek Polacek <polacek@redhat.com>
8631
8632 PR bootstrap/67030
8633 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
8634
05b28fd6
MP
86352015-07-27 Marek Polacek <polacek@redhat.com>
8636
8637 PR c++/66555
8638 PR c/54979
8639 * c-common.c (find_array_ref_with_const_idx_r): New function.
8640 (warn_tautological_cmp): New function.
8641 * c-common.h (warn_tautological_cmp): Declare.
8642 * c.opt (Wtautological-compare): New option.
8643
5a5062b8
MP
86442015-07-23 Marek Polacek <polacek@redhat.com>
8645
8646 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
8647 (ubsan_instrument_shift): Likewise.
8648
dc891fe7
MP
86492015-07-23 Marek Polacek <polacek@redhat.com>
8650
8651 PR sanitizer/66908
8652 * c-ubsan.c: Include gimplify.h.
8653 (ubsan_instrument_division): Unshare OP0 and OP1.
8654 (ubsan_instrument_shift): Likewise.
8655
451b5e48
MP
86562015-07-20 Marek Polacek <polacek@redhat.com>
8657 Richard Sandiford <richard.sandiford@arm.com>
8658
8659 PR c++/55095
8660 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
8661 Use EXPR_LOC_OR_LOC.
8662 (maybe_warn_shift_overflow): New function.
8663 * c-common.h (maybe_warn_shift_overflow): Declare.
8664 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
8665 * c.opt (Wshift-overflow): New option.
8666
fb0b2914
ML
86672015-07-16 Martin Liska <mliska@suse.cz>
8668
8669 * c-format.c (static void check_format_info_main): Use
8670 object_allocator instead of pool_allocator.
8671 (check_format_arg): Likewise.
8672 (check_format_info_main): Likewise.
8673
903f5c23
AM
86742015-07-15 Andrew MacLeod <amacleod@redhat.com>
8675
8676 * c-opts.c: Remove multiline #include comment.
8677
026c3cfd
AH
86782015-07-12 Aldy Hernandez <aldyh@redhat.com>
8679
8680 * c-common.c: Fix double word typos.
8681
bb49ee66
EB
86822015-07-10 Eric Botcazou <ebotcazou@adacore.com>
8683
8684 * c-ada-spec.h (cpp_operation): Revert latest change.
8685 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
8686 constructors and destructors.
8687
1916bcb5
AM
86882015-07-09 Andrew MacLeod <amacleod@redhat.com>
8689
8690 * c-common.h: Adjust includes for flags.h changes.
8691 * stub-objc.c: Likewise.
026c3cfd 8692
a9dcd529
EB
86932015-07-08 Eric Botcazou <ebotcazou@adacore.com>
8694
8695 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
8696 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
8697
b03b462f
JJ
86982015-07-08 Jakub Jelinek <jakub@redhat.com>
8699
8700 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
8701 are to be removed, return NULL rather than original clauses list.
8702
c7131fb2
AM
87032015-07-07 Andrew MacLeod <amacleod@redhat.com>
8704
8705 * array-notation-common.c: Adjust includes.
8706 * c-ada-spec.c: Likewise.
8707 * c-cilkplus.c: Likewise.
8708 * c-common.h: Likewise.
8709 * c-cppbuiltin.c: Likewise.
8710 * c-dump.c: Likewise.
8711 * c-format.c: Likewise.
8712 * c-gimplify.c: Likewise.
8713 * c-indentation.c: Likewise.
8714 * c-lex.c: Likewise.
8715 * c-omp.c: Likewise.
8716 * c-opts.c: Likewise.
8717 * c-pch.c: Likewise.
8718 * c-ppoutput.c: Likewise.
8719 * c-pragma.c: Likewise.
8720 * c-pretty-print.c: Likewise.
8721 * c-semantics.c: Likewise.
8722 * c-ubsan.c: Likewise.
8723 * cilk.c: Likewise.
8724 * stub-objc.c: Likewise.
8725
2a7fb83f
EB
87262015-07-07 Eric Botcazou <ebotcazou@adacore.com>
8727
8728 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
8729 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8730
a03c9bf1
JM
87312015-07-01 Jason Merrill <jason@redhat.com>
8732
36a85135
JM
8733 * c-common.h (D_CXX11): Rename from D_CXX0X.
8734 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8735 * c-common.c: Adjust.
8736
e7fa68d5
JM
8737 * c-opts.c (c_common_post_options): Default to C++14.
8738
a03c9bf1
JM
8739 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8740
fe95b036
ESR
87412015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8742
8743 Implement N4197 - Adding u8 character literals
b3d5bc62 8744 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8745 CPP_CHAR.
b3d5bc62 8746 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8747 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8748 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8749 and CPP_UTF8CHAR tokens.
8750 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8751
da2e71c9
MLI
87522015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8753
8754 PR fortran/66605
8755 * c-common.c (do_warn_unused_parameter): Move here.
8756 * c-common.h (do_warn_unused_parameter): Declare.
8757
b155cfd9
MP
87582015-06-29 Marek Polacek <polacek@redhat.com>
8759
8760 PR c/66322
8761 * c-common.c (check_case_bounds): Add bool * parameter. Set
8762 OUTSIDE_RANGE_P.
8763 (c_add_case_label): Add bool * parameter. Pass it down to
8764 check_case_bounds.
8765 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8766 warning here.
8767 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8768 declarations.
8769
31521951
MP
87702015-06-27 Marek Polacek <polacek@redhat.com>
8771
8772 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8773 or VECTOR_INTEGER_TYPE_P throughout.
8774 * c-gimplify.c: Likewise.
8775
22d03525
MP
87762015-06-26 Marek Polacek <polacek@redhat.com>
8777
8778 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8779 * c-common.c (c_fully_fold_internal): Likewise.
8780 (c_alignof_expr): Likewise.
8781 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8782 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8783 * cilk.c (create_parm_list): Likewise.
22d03525 8784
af05e6e5
MP
87852015-06-26 Marek Polacek <polacek@redhat.com>
8786
8787 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8788
f0889939
AM
87892015-06-25 Andrew MacLeod <amacleod@redhat.com>
8790
8791 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8792 * c-gimplify.c: Likewise.
8793 * c-pragma.c: Likewise.
8794 * c-ubsan.c: Likewise.
8795 * cilk.c: Likewise.
8796
ca752f39
RS
87972015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8798
8799 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8800 ggc_hasher.
8801
16a16ec7
AM
88022015-06-25 Andrew MacLeod <amacleod@redhat.com>
8803
8804 * cilk.c: Move calls.h after tm.h in the include chain.
8805
0ae9bd27
MP
88062015-06-25 Marek Polacek <polacek@redhat.com>
8807
8808 * array-notation-common.c: Use VAR_P throughout.
8809 * c-ada-spec.c: Likewise.
8810 * c-common.c: Likewise.
8811 * c-format.c: Likewise.
8812 * c-gimplify.c: Likewise.
8813 * c-omp.c: Likewise.
8814 * c-pragma.c: Likewise.
8815 * c-pretty-print.c: Likewise.
8816 * cilk.c: Likewise.
8817
62f9079a
MP
88182015-06-25 Marek Polacek <polacek@redhat.com>
8819
8820 * cilk.c (extract_free_variables): Use is_global_var.
8821
0fa16060
RS
88222015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8823
8824 * c-common.c: Don't include target-def.h.
8825
a68ae2e1
MP
88262015-06-23 Marek Polacek <polacek@redhat.com>
8827
8828 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8829 when comparing INTEGER_CSTs.
8830
c6a2f2d9
PMR
88312015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8832
8833 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8834 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8835 (dump_ada_template): Skip partially specialized types.
8836
6b4db501
MM
88372015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8838
8839 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8840 swapping.
8841
abb226c9
AM
88422015-06-17 Andrew MacLeod <amacleod@redhat.com>
8843
8844 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8845 * c-ada-spec.c: Likewise.
8846 * c-cilkplus.c: Likewise.
8847 * c-common.c: Likewise.
8848 * c-common.h: Likewise.
8849 * c-cppbuiltin.c: Likewise.
8850 * c-dump.c: Likewise.
8851 * c-format.c: Likewise.
8852 * c-gimplify.c: Likewise.
8853 * c-indentation.c: Likewise.
8854 * c-lex.c: Likewise.
8855 * c-omp.c: Likewise.
8856 * c-opts.c: Likewise.
8857 * c-pch.c: Likewise.
8858 * c-ppoutput.c: Likewise.
8859 * c-pragma.c: Likewise.
8860 * c-pretty-print.c: Likewise.
8861 * c-semantics.c: Likewise.
8862 * c-ubsan.c: Likewise.
8863 * cilk.c: Likewise.
8864 * stub-objc.c: Likewise.
8865
076fecad
PP
88662015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8867
8868 PR c++/65168
8869 * c-common.c (c_common_truthvalue_conversion): Warn when
8870 converting an address of a reference to a truth value.
8871
13fdf2e2
AM
88722015-06-08 Andrew MacLeod <amacleod@redhat.com>
8873
8874 * array-notation-common.c : Adjust include files.
8875 * c-ada-spec.c : Likewise.
8876 * c-cilkplus.c : Likewise.
8877 * c-common.c : Likewise.
8878 * c-common.h : Likewise.
8879 * c-cppbuiltin.c : Likewise.
8880 * c-dump.c : Likewise.
8881 * c-format.c : Likewise.
8882 * c-gimplify.c : Likewise.
8883 * c-indentation.c : Likewise.
8884 * c-lex.c : Likewise.
8885 * c-omp.c : Likewise.
8886 * c-opts.c : Likewise.
8887 * c-pch.c : Likewise.
8888 * c-ppoutput.c : Likewise.
8889 * c-pragma.c : Likewise.
8890 * c-pretty-print.c : Likewise.
8891 * c-semantics.c : Likewise.
8892 * c-ubsan.c : Likewise.
8893 * cilk.c : Likewise.
8894 * stub-objc.c : Likewise.
8895
a1661b90
MP
88962015-06-08 Marek Polacek <polacek@redhat.com>
8897
8898 PR c/66415
8899 * c-format.c (location_from_offset): Return LOC if LINE is null.
8900
d7438551
AH
89012015-06-05 Aldy Hernandez <aldyh@redhat.com>
8902
8903 * c-common.h (c_parse_final_cleanups): New prototype.
8904 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8905
b3d5bc62
JJ
89062015-06-04 Sriraman Tallam <tmsriram@google.com>
8907
8908 * c-common.c (noplt): New attribute.
8909 (handle_noplt_attribute): New handler.
8910
ecb9f223
AM
89112015-06-04 Andrew MacLeod <amacleod@redhat.com>
8912
8913 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8914 * c-ada-spec.c: Likewise.
8915 * c-cilkplus.c: Likewise.
8916 * c-common.c: Likewise.
8917 * c-common.h: Likewise.
8918 * c-cppbuiltin.c: Likewise.
8919 * c-dump.c: Likewise.
8920 * c-format.c: Likewise.
8921 * c-gimplify.c: Likewise.
8922 * c-indentation.c: Likewise.
8923 * c-lex.c: Likewise.
8924 * c-omp.c: Likewise.
8925 * c-opts.c: Likewise.
8926 * c-pch.c: Likewise.
8927 * c-ppoutput.c: Likewise.
8928 * c-pragma.c: Likewise.
8929 * c-pretty-print.c: Likewise.
8930 * c-semantics.c: Likewise.
8931 * c-ubsan.c: Likewise.
8932 * cilk.c: Likewise.
8933 * stub-objc.c: Likewise.
8934
6ac48155
DM
89352015-06-02 David Malcolm <dmalcolm@redhat.com>
8936
8937 PR c/66220:
8938 * c-indentation.c (should_warn_for_misleading_indentation): Use
8939 expand_location rather than expand_location_to_spelling_point.
8940 Don't warn if the guarding statement is more indented than the
8941 next/body stmts.
8942
773ce42e
DM
89432015-06-02 David Malcolm <dmalcolm@redhat.com>
8944
8945 * c-indentation.c (warn_for_misleading_indentation): Bail out
8946 immediately if -Wmisleading-indentation isn't enabled.
8947
4fef8379
ML
89482015-06-01 Martin Liska <mliska@suse.cz>
8949
8950 * c-format.c (check_format_arg):Use new type-based pool allocator.
8951 (check_format_info_main) Likewise.
8952
1edfb384
EB
89532015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8954
8955 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8956 (has_nontrivial_methods): Likewise.
8957
9677ef52
MP
89582015-05-25 Marek Polacek <polacek@redhat.com>
8959
8960 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8961
fd5c817a
MP
89622015-05-22 Marek Polacek <polacek@redhat.com>
8963
8964 PR c/47043
8965 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8966
a2f45fe6 89672015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8968
8969 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8970 STACK_GROWS_DOWNWARD.
8971
a2f45fe6 89722015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8973
8974 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8975 STACK_GROWS_DOWNWARD rather than if it is defined.
8976
0fee2ac2 89772015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8978
0fee2ac2
MLI
8979 PR c/52952
8980 * c-format.c (location_column_from_byte_offset): New.
8981 (location_from_offset): New.
8982 (struct format_wanted_type): Add offset_loc field.
8983 (check_format_info): Move handling of location for extra arguments
8984 closer to the point of warning.
8985 (check_format_info_main): Pass the result of location_from_offset
8986 to warning_at.
8987 (format_type_warning): Pass the result of location_from_offset
8988 to warning_at.
8989
cf4ef6f7
MP
89902015-05-20 Marek Polacek <polacek@redhat.com>
8991
8992 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8993
3a65ee74
MP
89942015-05-20 Marek Polacek <polacek@redhat.com>
8995
8996 * c-ada-spec.c (dump_sloc): Use DECL_P.
8997
21b634ae
MP
89982015-05-20 Marek Polacek <polacek@redhat.com>
8999
9000 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
9001 * c-common.c: Likewise.
9002
0e50b624
DM
90032015-05-19 David Malcolm <dmalcolm@redhat.com>
9004
9005 * c-common.h (fe_file_change): Strengthen param from
9006 const line_map * to const line_map_ordinary *.
9007 (pp_file_change): Likewise.
9008 * c-lex.c (fe_file_change): Likewise.
9009 (cb_define): Use linemap_check_ordinary when invoking
9010 SOURCE_LINE.
9011 (cb_undef): Likewise.
9012 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
9013 invoking cb_file_change.
9014 (c_finish_options): Likewise.
9015 (push_command_line_include): Likewise.
9016 (cb_file_change): Strengthen param "new_map" from
9017 const line_map * to const line_map_ordinary *.
9018 * c-ppoutput.c (cb_define): Likewise for local "map".
9019 (pp_file_change): Likewise for param "map" and local "from".
9020
fab27f52
MM
90212015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
9022
9023 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
9024
2fe1d762
TV
90252015-05-18 Tom de Vries <tom@codesourcery.com>
9026
9027 * c-common.c (build_va_arg_1): New function.
9028 (build_va_arg): Add address operator to va_list operand if necessary.
9029
7a37fa90
MM
90302015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
9031
9032 PR c/48956
9033 * c-common.c (int_safely_convertible_to_real_p): Define.
9034 (unsafe_conversion_p): Check conversions involving complex types.
9035 (conversion_warning): Add new warning message for conversions which
9036 discard imaginary component.
9037 * c-common.h: (enum conversion_safety): Add new enumerator for such
9038 conversions.
9039
3aa3c9fc
MP
90402015-05-14 Marek Polacek <polacek@redhat.com>
9041
9042 PR c/66066
9043 PR c/66127
9044 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
9045 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
9046 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
9047 use it. If FOR_INT_CONST, require that all evaluated operands be
9048 INTEGER_CSTs.
9049
c3388e62
DM
90502015-05-12 David Malcolm <dmalcolm@redhat.com>
9051
9052 * c-common.h (warn_for_misleading_indentation): New prototype.
9053 * c-indentation.c: New file.
9054 * c.opt (Wmisleading-indentation): New option.
9055
c7b38fd5
TV
90562015-05-12 Tom de Vries <tom@codesourcery.com>
9057
9058 PR tree-optimization/66010
9059 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
9060
381bf11e
JM
90612015-05-09 Jason Merrill <jason@redhat.com>
9062
edff0c06
JM
9063 * c-opts.c (c_common_post_options): Also clear
9064 cpp_opts->cpp_warn_cxx11_compat.
9065
129211bc
JM
9066 * c-common.h (enum cxx_dialect): Add cxx_unset.
9067 * c-common.c (cxx_dialect): Initialize to cxx_unset.
9068 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
9069
381bf11e
JM
9070 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
9071 (std=gnu++0x): Mark as Undocumented.
9072 (std=gnu++1y): Add deprecated message.
9073
fe191308
JM
90742015-05-08 Jason Merrill <jason@redhat.com>
9075
765189ff
JM
9076 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
9077 * c-opts.c: Adjust.
9078
fe191308
JM
9079 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
9080
755e528f
MP
90812015-05-08 Marek Polacek <polacek@redhat.com>
9082
9083 PR c/64918
9084 * c.opt (Woverride-init-side-effects): New option.
9085
0173bd2a
MP
90862015-05-07 Marek Polacek <polacek@redhat.com>
9087
9088 PR c/65179
9089 * c-common.c (c_fully_fold_internal): Warn when left shifting a
9090 negative value.
9091 * c.opt (Wshift-negative-value): New option.
9092 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
9093 when -Wextra and C99/C++11 mode.
9094
e0f0d3b9
MP
90952015-05-07 Marek Polacek <polacek@redhat.com>
9096 Martin Uecker <uecker@eecs.berkeley.edu>
9097
9098 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
9099 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
9100
8243e2a9
JM
91012015-05-05 Jason Merrill <jason@redhat.com>
9102
9103 * c.opt (Wterminate): New.
9104
577cd070
MP
91052015-04-30 Marek Polacek <polacek@redhat.com>
9106
9107 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
9108 require that the non-constant be of a boolean type.
9109
0373796b
JT
91102015-04-29 Josh Triplett <josh@joshtriplett.org>
9111
e0f0d3b9
MP
9112 * c-common.c (handle_section_attribute): Refactor to reduce
9113 nesting and distinguish between error cases.
0373796b 9114
716c0ba6
MP
91152015-04-29 Marek Polacek <polacek@redhat.com>
9116
9117 PR c/64610
9118 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
9119 with 0/1.
9120
8848828b
JJ
91212015-04-29 Jakub Jelinek <jakub@redhat.com>
9122
9123 * c-common.h (omp_clause_mask): Unconditionally define as a class.
9124 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
9125 HOST_BITS_PER_WIDE_INT.
9126
ecd0e562
TV
91272015-04-28 Tom de Vries <tom@codesourcery.com>
9128
9129 PR tree-optimization/65887
9130 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
9131
2a877204 91322015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 9133 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
9134
9135 * c-ada-spec.c (in_function): Delete.
9136 (dump_generic_ada_node): Do not change in_function and remove the
9137 redundant code dealing with it.
9138 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
9139 (print_ada_methods): Output the static member functions in a nested
9140 package after the regular methods as well as associated renamings.
9141
4853031e
MP
91422015-04-24 Marek Polacek <polacek@redhat.com>
9143
9144 PR c/65830
9145 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
9146 and OPT_Wshift_count_overflow.
9147
8c2b7f79
MP
9148 PR c/63357
9149 * c-common.c (warn_logical_operator): Warn if the operands have the
9150 same expressions.
9151
b8787813
MP
91522015-04-24 Marek Polacek <polacek@redhat.com>
9153
9154 PR c/61534
9155 * c-common.c (warn_logical_operator): Bail if either operand comes
9156 from a macro expansion.
9157
8fba1830
BRF
91582015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9159
9160 PR target/55143
9161 * c-common.c (c_default_pointer_mode): Add definition.
9162 * c-common.h (c_default_pointer_mode): Add declaration.
9163
17958621
JJ
91642015-03-11 Jakub Jelinek <jakub@redhat.com>
9165
9166 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
9167 on record_builtin_type argument.
9168
7ccb1a11
JJ
91692015-03-10 Jakub Jelinek <jakub@redhat.com>
9170
9171 PR c/65120
9172 * c-common.c (warn_logical_not_parentheses): Don't warn for
9173 !x == 0 or !x != 0.
9174
04fd785e
MP
91752015-03-07 Marek Polacek <polacek@redhat.com>
9176
9177 PR sanitizer/65280
9178 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
9179 before trying to figure out whether we have a flexible array member.
9180
a4e26206 91812015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 9182 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
9183
9184 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
9185
0d2489f4
EB
91862015-03-05 Eric Botcazou <ebotcazou@adacore.com>
9187
9188 PR ada/65319
9189 * c-ada-spec.c (print_destructor): Remove obsolete code.
9190
83ed54d7
EB
91912015-03-01 Eric Botcazou <ebotcazou@adacore.com>
9192
9193 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
9194 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
9195 DECL_TEMPLATE_RESULT emulations.
9196 (dump_ada_template)): Add guard for TYPE_METHODS.
9197
7631f0e2
MP
91982015-02-27 Marek Polacek <polacek@redhat.com>
9199
9200 PR c/65040
9201 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
9202
d1783ae5
KT
92032015-02-27 Kai Tietz <ktietz@redhat.com>
9204
9205 PR c/35330
9206 * c-pragma.c (handle_pragma_weak): Do not try to create
9207 weak/alias of declarations not being function, or variable
9208 declarations.
9209
56a9f6bc
TS
92102015-02-24 Thomas Schwinge <thomas@codesourcery.com>
9211
9212 PR libgomp/64625
9213 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
9214 Remove macros.
9215 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
9216
3d5cb23d
MP
92172015-02-16 Marek Polacek <polacek@redhat.com>
9218
9219 PR c/65066
9220 * c-format.c (check_format_types): Handle null param.
9221
fa008882
MP
92222015-02-13 Marek Polacek <polacek@redhat.com>
9223
9224 PR c/65040
9225 * c-format.c (check_format_types): Don't warn about different
9226 signedness if the original value is in the range of WANTED_TYPE.
9227
785f21af
JM
92282015-02-12 Jason Merrill <jason@redhat.com>
9229
9230 PR c++/64956
9231 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
9232 to the current highest version.
9233 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
9234
4886ec8e
JJ
92352015-02-04 Jakub Jelinek <jakub@redhat.com>
9236
9237 PR c/64824
9238 PR c/64868
9239 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
9240 instead of RDIV_EXPR. Use build_binary_op instead of
9241 build2_loc.
9242
40fecdd6
JM
92432015-01-30 Joseph Myers <joseph@codesourcery.com>
9244
9245 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
9246 to pass input_location as first argument.
9247
a0c88d06
TV
92482015-01-23 Tom de Vries <tom@codesourcery.com>
9249
9250 PR libgomp/64672
9251 * c.opt (fopenacc): Mark as LTO option.
9252
1506ae0e
TV
92532015-01-23 Tom de Vries <tom@codesourcery.com>
9254
9255 PR libgomp/64707
9256 * c.opt (fopenmp): Mark as LTO option.
9257
31be63ab
JJ
92582015-01-21 Jakub Jelinek <jakub@redhat.com>
9259
9260 PR c/63307
b1726d6c 9261 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
9262 (compare_decls): Fix up formatting.
9263
92642015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
9265
9266 PR c/63307
9267 * cilk.c: Include vec.h.
9268 (struct cilk_decls): New structure.
9269 (wrapper_parm_cb): Split this function to...
9270 (fill_decls_vec): ...this...
9271 (create_parm_list): ...and this.
9272 (compare_decls): New function.
9273 (for_local_cb): Remove.
9274 (wrapper_local_cb): Ditto.
9275 (build_wrapper_type): For now first traverse and fill vector of
9276 declarations then sort it and then deal with sorted vector.
9277 (cilk_outline): Ditto.
9278 (declare_one_free_variable): Ditto.
9279
6875457f
JM
92802015-01-21 Jason Merrill <jason@redhat.com>
9281
9282 PR c++/64629
9283 * c-format.c (check_format_arg): Call decl_constant_value.
9284
185c9e56
ML
92852015-01-19 Martin Liska <mliska@suse.cz>
9286
9287 * c-common.c (handle_noicf_attribute): New function.
9288
41dbbb37
TS
92892015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9290 Bernd Schmidt <bernds@codesourcery.com>
9291 James Norris <jnorris@codesourcery.com>
9292 Cesar Philippidis <cesar@codesourcery.com>
9293 Ilmir Usmanov <i.usmanov@samsung.com>
9294 Jakub Jelinek <jakub@redhat.com>
9295
9296 * c.opt (fopenacc): New option.
9297 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
9298 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
9299 New macros.
9300 * c-common.h (c_finish_oacc_wait): New prototype.
9301 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
9302 (c_finish_oacc_wait): New function.
9303 * c-pragma.c (oacc_pragmas): New variable.
9304 (c_pp_lookup_pragma, init_pragma): Handle it.
9305 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
9306 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
9307 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
9308 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
9309 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
9310 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
9311 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
9312 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
9313 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
9314 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
9315 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
9316 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
9317 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
9318 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
9319 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
9320 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
9321 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
9322 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
9323 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
9324 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
9325 PRAGMA_OACC_CLAUSE_WORKER.
9326
3f8257db 93272015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
9328
9329 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
9330 for the new option fstack-protector_explicit.
9331 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
9332 (handle_stack_protect_attribute): New function.
9333
3f8257db 93342015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
9335
9336 * c.opt: New option -Warray-bounds=.
9337
adfac8df
JJ
93382015-01-09 Michael Collison <michael.collison@linaro.org>
9339
9340 * array-notation-common.c: Include hash-set.h, machmode.h,
9341 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9342 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
9343 * c-ada-spec.c: Ditto.
9344 * c-cilkplus.c: Ditto.
9345 * c-common.c: Include input.h due to flattening of tree.h.
9346 Define macro GCC_C_COMMON_C.
9347 * c-common.h: Flatten tree.h header files into c-common.h.
9348 Remove include of tree-core.h.
9349 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9350 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9351 fold-const.h, wide-int.h, and inchash.h due to
9352 flattening of tree.h.
9353 * c-dump.c: Ditto.
9354 * c-format.c: Flatten tree.h header files into c-common.h.
9355 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9356 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9357 fold-const.h, wide-int.h, and inchash.h due to
9358 flattening of tree.h.
9359 * c-dump.c: Include hash-set.h, machmode.h,
9360 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9361 fold-const.h, wide-int.h, and inchash.h due to
9362 flattening of tree.h.
9363 * c-format.c: Include hash-set.h, machmode.h,
9364 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9365 fold-const.h, wide-int.h, inchash.h and real.h due to
9366 flattening of tree.h.
9367 * c-gimplify.c: Include hash-set.h, machmode.h,
9368 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9369 fold-const.h, wide-int.h, and inchash.h due to
9370 flattening of tree.h.
9371 * cilk.c: Ditto.
9372 * c-lex.c: Ditto.
9373 * c-omp.c: Ditto.
9374 * c-opts.c: Ditto.
9375 * c-pch.c: Ditto.
9376 * c-ppoutput.c: Ditto.
9377 * c-pragma.c: Ditto.
9378 * c-pretty-print.c: Ditto.
9379 * c-semantics.c: Ditto.
9380 * c-ubsan.c: Ditto.
9381 * stub-objc.c: Ditto.
9382
f5481fc4
JM
93832015-01-08 Jason Merrill <jason@redhat.com>
9384
9385 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
9386 do_ubsan_in_current_function.
9387 (ubsan_maybe_instrument_reference_or_call): Likewise.
9388 * c-ubsan.h: Declare it.
9389
de35aa66
MS
93902015-01-08 Mike Stump <mikestump@comcast.net>
9391
9392 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
9393
4a9a42ab
MP
93942015-01-07 Marek Polacek <polacek@redhat.com>
9395
9396 PR c/64440
9397 * c-common.c (c_fully_fold_internal): Warn for division and modulo
9398 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
9399
2f42e5de
TS
94002015-01-05 Trevor Saunders <tsaunders@mozilla.com>
9401
9402 PR c++/31397
9403 * c.opt (Wsuggest-override): New option.
9404
5624e564
JJ
94052015-01-05 Jakub Jelinek <jakub@redhat.com>
9406
9407 Update copyright years.
9408
5bd012f8
MP
94092015-01-05 Marek Polacek <polacek@redhat.com>
9410
9411 PR c/64423
9412 * c-common.c (warn_array_subscript_with_type_char): Add location_t
9413 parameter. Use it.
9414 * c-common.h (warn_array_subscript_with_type_char): Update
9415 declaration.
9416
a7fa8d18
ESR
94172014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
9418
9419 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
9420 Control macro with flag_sized_deallocation.
9421
3f8257db 94222014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
9423
9424 * c.opt (Wdiscarded-array-qualifiers): New option.
9425
1f8d3e84
JJ
94262014-12-19 Jakub Jelinek <jakub@redhat.com>
9427
9428 PR preprocessor/63831
9429 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
9430 and __has_cpp_attribute here.
9431 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
9432 c_common_has_attribute.
9433 * c-common.h (c_common_has_attribute): New prototype.
9434 * c-lex.c (init_c_lex): Set cb->has_attribute to
9435 c_common_has_attribute instead of cb_has_attribute.
9436 (get_token_no_padding): New function.
9437 (cb_has_attribute): Renamed to ...
9438 (c_common_has_attribute): ... this. No longer static. Use
9439 get_token_no_padding, require ()s, don't build TREE_LIST
9440 unnecessarily, fix up formatting, adjust diagnostics, call
9441 init_attributes.
9442
20b06add
JM
94432014-12-15 Jason Merrill <jason@redhat.com>
9444
9445 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
9446 (-Wsized-deallocation): New.
9447 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
9448 to on in C++14 and up.
9449
94a073b2
JM
94502014-12-11 Jason Merrill <jason@redhat.com>
9451
acaa5911
JM
9452 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
9453
94a073b2
JM
9454 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
9455 we aren't complaining about VLAs.
9456
7fb66c15
MP
94572014-12-06 Marek Polacek <polacek@redhat.com>
9458
9459 PR tree-optimization/64183
9460 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
9461 shift-expression if it is integer_type_node. Use types_compatible_p.
9462
b731b390
JJ
94632014-11-29 Jakub Jelinek <jakub@redhat.com>
9464
9465 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
9466 last argument from create_tmp_var_raw and create_tmp_var calls.
9467 * cilk.c (gimplify_cilk_spawn): Likewise.
9468 * c-omp.c (c_finish_omp_atomic): Likewise.
9469
6a4da643
MP
94702014-11-28 Marek Polacek <polacek@redhat.com>
9471
9472 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
9473 instead of unsigned_type_node.
9474
541e35a6
MP
94752014-11-28 Marek Polacek <polacek@redhat.com>
9476
9477 PR c/63862
9478 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
9479 to op1_utype.
9480 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
9481 expression to unsigned_type_node.
9482
dcc97066
MW
94832014-11-20 Mark Wielaard <mjw@redhat.com>
9484
9485 PR debug/38757
9486 * c-opts.c (set_std_c89): Set lang_hooks.name.
9487 (set_std_c99): Likewise.
9488 (set_std_c11): Likewise.
9489 (set_std_cxx98): Likewise.
9490 (set_std_cxx11): Likewise.
9491 (set_std_cxx14): Likewise.
9492 (set_std_cxx1z): Likewise.
9493
aa7da51a
JJ
94942014-11-21 Jakub Jelinek <jakub@redhat.com>
9495
9496 PR target/63764
9497 * c-common.h (convert_vector_to_pointer_for_subscript): Change
9498 return type to bool.
009a3480 9499 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
9500 (convert_vector_to_pointer_for_subscript): Change return type to
9501 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
9502 and copy it into a TARGET_EXPR and use that instead of *vecp
9503 directly.
9504
538dd0b7
DM
95052014-11-19 David Malcolm <dmalcolm@redhat.com>
9506
9507 Merger of git branch "gimple-classes-v2-option-3".
9508 * ChangeLog.gimple-classes: New.
9509 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
9510 from being just a vec<gimple> to a vec<gbind *>.
9511
c39a5e99
JJ
95122014-11-18 Jakub Jelinek <jakub@redhat.com>
9513
9514 PR sanitizer/63813
9515 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
9516 argument to ptype, set type to TREE_TYPE (ptype). Don't call
9517 get_pointer_alignment for non-pointers. Use ptype, or if it is
9518 reference type, corresponding pointer type, as type of kind
9519 argument.
9520 (ubsan_maybe_instrument_reference,
9521 ubsan_maybe_instrument_member_call): Adjust callers.
9522
8537a4a9
MP
95232014-11-15 Marek Polacek <polacek@redhat.com>
9524
9525 PR middle-end/63884
9526 * array-notation-common.c (is_sec_implicit_index_fn): Return false
9527 for NULL fndecl.
9528 (extract_array_notation_exprs): Return for NULL node.
9529
2079956a
JM
95302014-11-12 Joseph Myers <joseph@codesourcery.com>
9531
9532 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
9533 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
9534
1304953e
JJ
95352014-11-12 Jakub Jelinek <jakub@redhat.com>
9536
9537 PR c/59708
9538 * c-common.c (check_builtin_function_arguments): Handle
9539 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
9540
e5e44252
AK
95412014-11-10 Andi Kleen <ak@linux.intel.com>
9542
9543 PR c/60804
9544 * c-common.h (check_no_cilk): Declare.
9545 * cilk.c (get_error_location): New function.
9546 (check_no_cilk): Dito.
9547
e64b984d
AK
95482014-11-10 Andi Kleen <ak@linux.intel.com>
9549
9550 * cilk.c (recognize_spawn): Use expression location
9551 for error message.
9552
13c21655
PC
95532014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
9554
9555 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
9556
42fd12b1
ESR
95572014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
9558
9559 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
9560 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9561 (__cpp_range_based_for, __cpp_initializer_lists,
9562 __cpp_delegating_constructors, __cpp_nsdmi,
9563 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
9564 for C++11; (__cpp_attribute_deprecated): Remove in favor of
9565 __has_cpp_attribute.
9566 * c-lex.c (cb_has_attribute): New callback CPP function;
9567 (init_c_lex): Set has_attribute callback.
9568
6f450181
RB
95692014-11-04 Richard Biener <rguenther@suse.de>
9570
9571 * c-common.c (shorten_compare): Do not shorten mixed
9572 DFP and non-DFP compares.
9573
26f0e1d6
ESR
95742014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9575
9576 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
9577 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
9578 Commentary and rearrangement of tests.
9579 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
9580 Commentary and rearrangement of tests.
ab20d992 9581 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
9582 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
9583
ef4bddc2
RS
95842014-10-29 Richard Sandiford <richard.sandiford@arm.com>
9585
9586 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
9587 enum from machine_mode.
9588
c582198b
AM
95892014-10-28 Andrew MacLeod <amacleod@redhat.com>
9590
adfac8df
JJ
9591 * c-common.c: Adjust include files.
9592 * c-gimplify.c: Ditto.
9593 * cilk.c: Ditto.
9594 * c-pragma.c: Ditto.
9595 * c-ubsan.c: Ditto.
c582198b 9596
60393bbc
AM
95972014-10-27 Andrew MacLeod <amacleod@redhat.com>
9598
9599 * c-gimplify.c: Adjust include files.
9600
d723bb7c
MLI
96012014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
9602
9603 PR c++/53061
9604 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
9605 c_common_initialize_diagnostics.
9606 * c-common.h: Likewise.
9607
90f3520e
MP
96082014-10-24 Marek Polacek <polacek@redhat.com>
9609
9610 PR c/56980
9611 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
9612 print "struct"/"union"/"enum" for typedefed names.
9613
59d7607a
MP
96142014-10-23 Marek Polacek <polacek@redhat.com>
9615
9616 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
9617 in unsigned type.
9618
d95a2703
JJ
96192014-10-22 Jakub Jelinek <jakub@redhat.com>
9620 Yury Gribov <y.gribov@samsung.com>
9621
9622 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9623 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
9624 instead of flag_sanitize_recover as bool flag.
9625
8e6ef852
KY
96262014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
9627
9628 * cilk.c: Revert previous change.
9629
948cf550
IZ
96302014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
9631
9632 PR c/63307
9633 * cilk.c: Include vec.h.
9634 (struct cilk_decls): New structure.
9635 (wrapper_parm_cb): Split this function to...
9636 (fill_decls_vec): ...this...
9637 (create_parm_list): ...and this.
9638 (compare_decls): New function.
9639 (for_local_cb): Remove.
9640 (wrapper_local_cb): Ditto.
9641 (build_wrapper_type): For now first traverse and fill vector of
9642 declarations then sort it and then deal with sorted vector.
9643 (cilk_outline): Ditto.
9644 (declare_one_free_variable): Ditto.
9645
92574c7c
MP
96462014-10-17 Marek Polacek <polacek@redhat.com>
9647
9648 * c-opts.c (c_common_post_options): Set warn_implicit_int.
9649 * c.opt (Wimplicit-int): Initialize to -1.
9650
83685514
AM
96512014-10-16 Andrew MacLeod <amacleod@redhat.com>
9652
9653 * c-pragma.c: Adjust include files.
9654 * c-semantics.c: Likewise.
9655
5b8300ea
DD
96562014-10-16 DJ Delorie <dj@redhat.com>
9657
9658 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
9659 multiples of bytes.
9660
5f83e90b
JM
96612014-10-14 Jason Merrill <jason@redhat.com>
9662
9663 PR c++/63455
9664 * c-common.h (CPP_PREPARSED_EXPR): New.
9665 (N_CP_TTYPES): Adjust.
9666
d73326ca
MP
96672014-10-15 Marek Polacek <polacek@redhat.com>
9668
9669 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
9670
78a7c317
DD
96712014-10-14 DJ Delorie <dj@redhat.com>
9672
9673 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
9674 types, not just __int128.
9675 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
9676 types, not just __int128.
9677 (cpp_atomic_builtins): Round pointer sizes up.
9678 (type_suffix): Use type precision, not specific types.
9679 * c-common.c (c_common_reswords): Remove __int128 special case.
9680 (c_common_type_for_size): Check for all __intN types, not just
9681 __int128.
9682 (c_common_type_for_mode): Likewise.
9683 (c_common_signed_or_unsigned_type): Likewise.
9684 (c_build_bitfield_integer_type): Likewise.
9685 (c_common_nodes_and_builtins): Likewise.
9686 (keyword_begins_type_specifier): Likewise.
9687 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
9688 __intN variants.
9689
2a22f99c
TS
96902014-10-12 Trevor Saunders <tsaunders@mozilla.com>
9691
9692 * c-common.c: Use hash_table instead of hashtab.
9693
2a8ef767
ESR
96942014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
9695
adfac8df 9696 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
9697 C++11 section.
9698
3c9aabbd
MG
96992014-10-03 Marc Glisse <marc.glisse@inria.fr>
9700
9701 PR c++/54427
9702 PR c++/57198
9703 PR c++/58845
9704 * c-common.c (warn_logical_operator): Punt for vectors.
9705
a15f7cb8
ESR
97062014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9707
9708 Implement SD-6: SG10 Feature Test Recommendations
9709 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
9710 macros and the __has_header macro.
9711
8d0cf15e
JM
97122014-09-30 Jason Merrill <jason@redhat.com>
9713
dd5d5481
JM
9714 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
9715 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
9716 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9717
b752325e
JM
9718 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
9719 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9720
8d0cf15e
JM
9721 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
9722 * c-common.c (c_common_reswords): Remove __is_convertible_to.
9723
083e891e
MP
97242014-09-24 Marek Polacek <polacek@redhat.com>
9725
9726 PR c/61405
9727 PR c/53874
9728 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
9729
7861b648
AK
97302014-09-23 Andi Kleen <ak@linux.intel.com>
9731
9732 * c-common.c (handle_no_reorder_attribute): New function.
9733 (c_common_attribute_table): Add no_reorder attribute.
9734
9a79452d
JM
97352014-09-22 Joseph Myers <joseph@codesourcery.com>
9736
9737 * c-cppbuiltin.c (c_cpp_builtins): Define
9738 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9739 modes.
9740
dd69f047
JM
97412014-09-18 Joseph Myers <joseph@codesourcery.com>
9742
9743 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9744 for supported floating-point modes.
9745
737a4826
MLI
97462014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9747
9748 * c.opt (Wpsabi): Use LangEnabledBy.
9749 * c-opts.c (c_common_handle_option): Do not handle here.
9750
8cc4b7a2
JM
97512014-09-12 Joseph Myers <joseph@codesourcery.com>
9752
9753 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9754 macros for floating-point modes.
9755
179b5a55
MG
97562014-09-11 Marc Glisse <marc.glisse@inria.fr>
9757
9758 PR target/58757
9759 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9760 __*_DENORM_MIN__ without denormals.
9761
570a11fe
JJ
97622014-09-10 Jakub Jelinek <jakub@redhat.com>
9763
9764 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9765 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9766 ubsan_create_data callers.
9767 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9768 index is constant or BIT_AND_EXPR with constant mask and is
9769 small enough for the bound.
9770 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9771 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9772
b559c810
MLI
97732014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9774
9775 * c.opt: Add CppReason to various flags.
9776 (Wdate-time): Re-sort.
9777 * c-common.c: Include c-common.h earlier.
9778 (struct reason_option_codes_t): Delete.
9779 (c_option_controlling_cpp_error): Prefix global type and struct
9780 with cpp_.
9781
1ef33fd4
MLI
97822014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9783
9784 * c.opt (Wnormalized): New.
9785 (Wnormalized=): Use Enum and Reject Negative.
9786 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9787
66bb34c0
JM
97882014-09-08 Joseph Myers <joseph@codesourcery.com>
9789
9790 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9791 digits of floating-point modes if -fbuilding-libgcc.
9792
53d68b9f
JM
97932014-09-05 Joseph Myers <joseph@codesourcery.com>
9794
9795 * c-cppbuiltin.c (c_cpp_builtins): Also define
9796 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9797 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9798 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9799 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9800 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9801 __LIBGCC_STACK_GROWS_DOWNWARD__,
9802 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9803 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9804 __LIBGCC_DWARF_FRAME_REGISTERS__,
9805 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9806 __LIBGCC_STACK_POINTER_REGNUM__ and
9807 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9808 (builtin_define_with_value): Handle backslash-escaping in string
9809 macro values.
9810
f65586dc
RB
98112014-09-05 Richard Biener <rguenther@suse.de>
9812
9813 PR middle-end/63148
9814 * c-format.c (check_format_arg): Properly handle
9815 effectively signed POINTER_PLUS_EXPR offset.
9816
2b71f4a4
MLI
98172014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9818
9819 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9820 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9821 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9822 and Init.
9823 * c-opts.c (c_common_handle_option): Do not handle here.
9824 (sanitize_cpp_opts): Likewise.
9825 * c-common.c (struct reason_option_codes_t): Handle
9826 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9827
d2e4feca
MP
98282014-09-03 Marek Polacek <polacek@redhat.com>
9829
9830 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9831
9a771876
JJ
98322014-09-02 Jakub Jelinek <jakub@redhat.com>
9833 Balaji V. Iyer <balaji.v.iyer@intel.com>
9834 Igor Zamyatin <igor.zamyatin@intel.com>
9835
9836 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9837 * c-common.c (c_common_reswords): Added _Cilk_for.
9838 * c-common.h (enum rid): Added RID_CILK_FOR.
9839 (cilk_for_number_of_iterations): Add declaration.
9840 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9841 CILK_FOR.
9842 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9843 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9844
81b5d104
MLI
98452014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9846
9847 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9848 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9849 Wundef): Use CPP, Var and Init.
9850 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9851
b753b37b
MLI
98522014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9853
9854 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9855 * c-opts.c (c_common_handle_option): Do not handle here.
9856
028aee17
JM
98572014-08-25 Jason Merrill <jason@redhat.com>
9858
9859 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9860 -std=c++14 and -std=gnu++14, rather than the reverse.
9861 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9862 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9863 * c-common.h (cxx_dialect): Remove cxx1y.
9864
e4276ba5
ESR
98652014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9866
9867 * c-common.h (enum cxx_dialect): Add cxx14.
9868 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9869 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9870 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9871
a545cacd
JM
98722014-08-22 Jason Merrill <jason@redhat.com>
9873
9874 * c.opt (std=gnu++17): Fix alias.
9875
59ea0364
MP
98762014-08-22 Marek Polacek <polacek@redhat.com>
9877
9878 PR c++/62199
9879 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9880 check for vector types. Drop LHS argument.
9881 * c-common.h (warn_logical_not_parentheses): Adjust.
9882
596e808c
MLI
98832014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9884
9885 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9886 (Wmultichar): Likewise.
9887 (Wdate-time): Use C-family languages instead of Common. Use CPP
9888 and Var.
9889 * c-opts.c (c_common_handle_option): Do not handle the above
9890 options here.
9891 (sanitize_cpp_opts): Likewise.
9892
18767f65
MLI
98932014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9894
9895 PR fortran/44054
9896 * c-opts.c: Include tree-diagnostics.h.
9897 (c_diagnostic_finalizer): New.
9898 (c_common_initialize_diagnostics): Use it.
9899
b4413594
MLI
99002014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9901
9902 PR preprocessor/51303
9903 * c-common.c (struct reason_option_codes_t option_codes):
9904 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9905
43f9a13c
MLI
99062014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9907
9908 PR c/60975
9909 PR c/53063
9910 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9911 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9912 (c_common_post_options): Call init_global_opts_from_cpp.
9913 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9914
04159acf
MP
99152014-08-19 Marek Polacek <polacek@redhat.com>
9916
9917 PR c++/62153
9918 * c-common.c (maybe_warn_bool_compare): New function.
9919 * c-common.h (maybe_warn_bool_compare): Declare.
9920 * c.opt (Wbool-compare): New option.
9921
35aff4fb
MP
99222014-08-19 Marek Polacek <polacek@redhat.com>
9923
9924 * c.opt (Wc99-c11-compat): New option.
9925
177cce46
MP
99262014-08-19 Marek Polacek <polacek@redhat.com>
9927
9928 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9929 to warn_c90_c99_compat.
9930 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9931 to -1.
9932
6ae9194f
MLI
99332014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9934 Steven Bosscher <steven@gcc.gnu.org>
9935
9936 PR c/52952
9937 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9938 format_check_results.
9939 (check_function_format): Use true and add comment for boolean
9940 argument.
9941 (finish_dollar_format_checking): Use explicit location when warning.
9942 (check_format_info): Likewise.
9943 (check_format_arg): Set extra_arg_loc and format_string_loc.
9944 (check_format_info_main): Use explicit location when warning.
9945 (check_format_types): Pass explicit location.
9946 (format_type_warning): Likewise.
9947
8e54f6d3
MLI
99482014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9949
9950 PR fortran/44054
9951 * c-format.c: Handle Fortran flags.
9952
cd4e76fc
IZ
99532014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9954
9955 PR other/61962
9956 * array-notation-common.c (find_rank): Added handling for other
9957 types of references.
9958
f3bede71
MP
99592014-08-10 Marek Polacek <polacek@redhat.com>
9960
9961 PR c/51849
9962 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9963 * c.opt (Wc90-c99-compat): Add option.
9964
9f25a338
TS
99652014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9966
9967 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9968
62e4eb35
MP
99692014-08-03 Marek Polacek <polacek@redhat.com>
9970
ab20d992 9971 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9972 (c_add_case_label): Pass loc to check_case_value.
9973
b787e7a2
TS
99742014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9975
9976 * cilk.c: Use hash_map instead of pointer_map.
9977
6e2830c3
TS
99782014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9979
9980 * c-gimplify.c: Use hash_set instead of pointer_set.
9981
a7ee52fb
IZ
99822014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9983
9984 PR middle-end/61455
9985 * array-notation-common.c (extract_array_notation_exprs): Handling
9986 of DECL_EXPR added.
9987
944fa280
JJ
99882014-08-01 Jakub Jelinek <jakub@redhat.com>
9989
9990 * c-common.h (min_align_of_type): Removed prototype.
9991 * c-common.c (min_align_of_type): Removed.
9992 * c-ubsan.h (ubsan_maybe_instrument_reference,
9993 ubsan_maybe_instrument_member_call): New prototypes.
9994 * c-ubsan.c: Include stor-layout.h and builtins.h.
9995 (ubsan_maybe_instrument_reference_or_call,
9996 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9997 functions.
9998
b4dfdc11
MG
99992014-07-31 Marc Glisse <marc.glisse@inria.fr>
10000
10001 PR c++/60517
10002 * c.opt (-Wreturn-local-addr): Move to common.opt.
10003
a41844e5
JM
100042014-07-30 Jason Merrill <jason@redhat.com>
10005
10006 PR c++/61659
10007 PR c++/61687
10008 Revert:
10009 * c.opt (-fuse-all-virtuals): New.
10010
976d5a22
TT
100112014-07-30 Tom Tromey <tromey@redhat.com>
10012
10013 PR c/59855
10014 * c.opt (Wdesignated-init): New option.
10015 * c-common.c (c_common_attribute_table): Add "designated_init".
10016 (handle_designated_init): New function.
10017
cdc94aca
MP
100182014-07-24 Marek Polacek <polacek@redhat.com>
10019
10020 PR c/57653
10021 * c-opts.c (c_finish_options): If -imacros is in effect, return.
10022
f41373b6
DS
100232014-07-16 Dodji Seketeli <dodji@redhat.com>
10024
10025 PR preprocessor/60723 - missing system-ness marks for macro tokens
10026 * c-ppoutput.c (struct print::prev_was_system_token): New data
10027 member.
10028 (init_pp_output): Initialize it.
10029 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
10030 (do_line_change): Return a flag saying if a line marker was
10031 emitted or not.
10032 (scan_translation_unit): Detect if the system-ness of the token we
10033 are about to emit is different from the one of the previously
10034 emitted token. If so, emit a line marker. Avoid emitting useless
10035 adjacent line markers. Avoid emitting line markers for tokens
10036 originating from the expansion of built-in macros.
10037 (scan_translation_unit_directives_only): Adjust.
10038
4d661eaa
MP
100392014-07-15 Marek Polacek <polacek@redhat.com>
10040
10041 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
10042 TYPE_MAX_VALUE is NULL.
10043
b108f48f
JJ
100442014-07-14 Jakub Jelinek <jakub@redhat.com>
10045
10046 PR middle-end/61294
10047 * c.opt (Wmemset-transposed-args): New warning.
10048
c0221884
JM
100492014-07-10 Jason Merrill <jason@redhat.com>
10050
10051 PR c++/61659
10052 PR c++/61687
10053 * c.opt (-fuse-all-virtuals): New.
10054
63dfbb95
RB
100552014-07-09 Richard Biener <rguenther@suse.de>
10056
10057 PR c-family/61741
10058 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10059 using unsigned arithmetic if overflow does not wrap instead of
10060 if overflow is undefined.
10061
773ec47f
MP
100622014-07-06 Marek Polacek <polacek@redhat.com>
10063
10064 PR c/6940
10065 * c.opt (Wsizeof-array-argument): New option.
10066
00a7ba58
JJ
100672014-07-03 Jakub Jelinek <jakub@redhat.com>
10068
b1726d6c 10069 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
10070 comments->count <= 1, as comments->entries might be NULL.
10071
52ec0ea3
MP
100722014-07-01 Marek Polacek <polacek@redhat.com>
10073
10074 * c.opt (Wint-conversion): New option.
10075
d5c3d343
MP
100762014-07-01 Marek Polacek <polacek@redhat.com>
10077
10078 PR c/58286
10079 * c.opt (Wincompatible-pointer-types): New option.
10080
6e7ceb17
PC
100812014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
10082
10083 PR c++/51400
10084 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
10085 Do not discard TYPE_QUALS of type.
10086
da73100b
JM
100872014-06-26 Jason Merrill <jason@redhat.com>
10088
10089 * c-common.h (enum cxx_dialect): Add cxx1z.
10090 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
10091 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
10092
08eedf75
TJ
100932014-06-26 Teresa Johnson <tejohnson@google.com>
10094
10095 * c-common.h (get_dump_info): Declare.
10096 * c-gimplify.c (c_genericize): Use saved dump files.
10097 * c-opts.c (c_common_parse_file): Begin and end dumps
10098 once around parsing invocation.
10099 (get_dump_info): New function.
10100
7b56b2f8
MP
101012014-06-23 Marek Polacek <polacek@redhat.com>
10102 Andrew MacLeod <amacleod@redhat.com>
10103
10104 PR c/61553
10105 * c-common.c (get_atomic_generic_size): Don't segfault if the
10106 type doesn't have a size.
10107
0e37a2f3
MP
101082014-06-20 Marek Polacek <polacek@redhat.com>
10109
10110 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
10111 (ubsan_walk_array_refs_r): New function.
10112 (c_genericize): Instrument array bounds.
10113 * c-ubsan.c: Include "internal-fn.h".
10114 (ubsan_instrument_division): Mark instrumented arrays as having
10115 side effects. Adjust ubsan_type_descriptor call.
10116 (ubsan_instrument_shift): Likewise.
10117 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
10118 (ubsan_instrument_bounds): New function.
10119 (ubsan_array_ref_instrumented_p): New function.
10120 (ubsan_maybe_instrument_array_ref): New function.
10121 * c-ubsan.h (ubsan_instrument_bounds): Declare.
10122 (ubsan_array_ref_instrumented_p): Declare.
10123 (ubsan_maybe_instrument_array_ref): Declare.
10124
101252014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
10126
10127 PR lto/61123
10128 * c.opt (fshort-enums): Add to LTO.
10129 * c.opt (fshort-wchar): Likewise.
10130
5c3d09f7
MP
101312014-06-16 Marek Polacek <polacek@redhat.com>
10132
10133 PR c/60439
10134 * c.opt (Wswitch-bool): Add Var.
10135
9cf32741
JJ
101362014-06-12 Jakub Jelinek <jakub@redhat.com>
10137
10138 PR middle-end/61486
10139 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
10140 #pragma omp target teams or
10141 #pragma omp {,target }teams distribute simd.
10142
62984918
JM
101432014-06-12 Jason Merrill <jason@redhat.com>
10144
10145 * c.opt (Wabi=, fabi-compat-version): New.
10146 * c-opts.c (c_common_handle_option): Handle -Wabi=.
10147 (c_common_post_options): Handle flag_abi_compat_version default.
10148 Disallow -fabi-compat-version=1.
10149 * c-common.h (abi_version_crosses): New.
10150
f961457f
JH
101512014-06-11 Jan Hubicka <hubicka@ucw.cz>
10152
adfac8df 10153 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
10154 section names that are no longer trees.
10155
92d28cbb
JJ
101562014-06-10 Jakub Jelinek <jakub@redhat.com>
10157
10158 PR fortran/60928
10159 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
10160 (omp_pragmas): ... back here.
10161
742938c9
MP
101622014-06-05 Marek Polacek <polacek@redhat.com>
10163
10164 PR c/49706
10165 * c-common.c (warn_logical_not_parentheses): New function.
10166 * c-common.h (warn_logical_not_parentheses): Declare.
10167 * c.opt (Wlogical-not-parentheses): New option.
10168
9d548dfb
MP
101692014-06-04 Marek Polacek <polacek@redhat.com>
10170
10171 PR c/30020
10172 * c-common.c (check_case_bounds): Add location parameter.
10173 Use it.
10174 (c_add_case_label): Pass loc to check_case_bounds.
10175
fedfecef
MP
101762014-06-03 Marek Polacek <polacek@redhat.com>
10177
10178 PR c/60439
10179 * c.opt (Wswitch-bool): New option.
10180
f6a7cffc
TS
101812014-05-22 Thomas Schwinge <thomas@codesourcery.com>
10182
040d18b6
TS
10183 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
10184 Remove prototypes.
10185 (record_types_used_by_current_var_decl): Move prototype to where
10186 it belongs.
10187
f6a7cffc
TS
10188 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
10189 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
10190 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
10191
632f2871
RS
101922014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10193
10194 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
10195 * c-common.c (c_common_nodes_and_builtins): Don't initialize
10196 void_zero_node.
10197 * c-pretty-print.c (pp_c_void_constant): New function.
10198 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
10199 (c_pretty_printer::expression): Handle VOID_CST.
10200 * cilk.c (extract_free_variables): Likewise.
10201 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
10202 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
10203
766090c2
TS
102042014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10205
10206 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
10207 * c-pragma.c (push_alignment): Adjust.
10208 (handle_pragma_push_options): Likewise.
10209
661a0813
MP
102102014-05-09 Marek Polacek <polacek@redhat.com>
10211
10212 PR c/50459
10213 * c-common.c (check_user_alignment): Return -1 if alignment is error
10214 node.
10215 (handle_aligned_attribute): Don't call default_conversion on
10216 FUNCTION_DECLs.
10217 (handle_vector_size_attribute): Likewise.
10218 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
10219 (handle_sentinel_attribute): Call default_conversion and allow even
10220 integral types as an argument.
10221
2793eeab
MP
102222014-05-08 Marek Polacek <polacek@redhat.com>
10223
10224 PR c/61053
10225 * c-common.c (min_align_of_type): New function factored out from...
10226 (c_sizeof_or_alignof_type): ...here.
10227 * c-common.h (min_align_of_type): Declare.
10228
f827930a
MP
102292014-05-08 Marek Polacek <polacek@redhat.com>
10230
10231 PR c/61077
10232 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
10233 parameter type of main.
10234
ca49b74e
DD
102352014-05-07 DJ Delorie <dj@redhat.com>
10236
10237 * c-cppbuiltin.c (print_bits_of_hex): New.
10238 (builtin_define_type_minmax): Print values using hex so as not to
10239 require a pre-computed list of string values.
10240
1d60af08
KZ
102412014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
10242 Mike Stump <mikestump@comcast.net>
10243 Richard Sandiford <rdsandiford@googlemail.com>
10244
10245 * c-ada-spec.c: Include wide-int.h.
10246 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
10247 (dump_generic_ada_node): Use wide-int interfaces.
10248 * c-common.c: Include wide-int-print.h.
10249 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
10250 (pointer_int_sum): Use wide-int interfaces.
10251 (c_common_nodes_and_builtins): Use make_int_cst.
10252 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
10253 (handle_alloc_size_attribute): Use wide-int interfaces.
10254 (get_nonnull_operand): Likewise.
10255 * c-format.c (get_constant): Use tree_fits_uhwi_p.
10256 * c-lex.c: Include wide-int.h.
10257 (narrowest_unsigned_type): Take a widest_int rather than two
10258 HOST_WIDE_INTs.
10259 (narrowest_signed_type): Likewise.
10260 (interpret_integer): Update accordingly. Use wide-int interfaces.
10261 (lex_charconst): Use wide-int interfaces.
10262 * c-pretty-print.c: Include wide-int.h.
10263 (pp_c_integer_constant): Use wide-int interfaces.
10264 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
10265 INT_CST_LT_UNSIGNED.
10266
b15458be
RB
102672014-05-06 Richard Biener <rguenther@suse.de>
10268
10269 * c-opts.c (c_common_post_options): For -freestanding,
10270 -fno-hosted and -fno-builtin disable pattern recognition
10271 if not enabled explicitely.
10272
6577374e
MP
102732014-05-02 Marek Polacek <polacek@redhat.com>
10274
10275 * c.opt (Wsizeof-pointer-memaccess): Describe option.
10276
d00887e8
MP
102772014-05-01 Marek Polacek <polacek@redhat.com>
10278
10279 PR c/43245
10280 * c.opt (Wdiscarded-qualifiers): Add.
10281
f8ed5150
MP
102822014-04-30 Marek Polacek <polacek@redhat.com>
10283
10284 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
10285 INT_MIN / -1 sanitization only for integer types.
10286
45484dcf
MP
102872014-04-25 Marek Polacek <polacek@redhat.com>
10288
10289 PR c/18079
10290 * c-common.c (handle_noinline_attribute): Warn if the attribute
10291 conflicts with always_inline attribute.
10292 (handle_always_inline_attribute): Warn if the attribute conflicts
10293 with noinline attribute.
10294
38e514c0
MP
102952014-04-25 Marek Polacek <polacek@redhat.com>
10296
10297 PR c/60156
10298 * c-common.c (check_main_parameter_types): Warn about variadic main.
10299
44875f92
MS
103002014-04-24 Mike Stump <mikestump@comcast.net>
10301
10302 * c.opt (Wshadow-ivar): Default to on.
10303
dcaaa5a0
DP
103042014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
10305
10306 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
10307
c07d7c02
MP
103082014-04-23 Marek Polacek <polacek@redhat.com>
10309
10310 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
10311
1c33c9b7
JJ
103122014-04-22 Jakub Jelinek <jakub@redhat.com>
10313
10314 PR sanitizer/60275
10315 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
10316 if flag_sanitize_undefined_trap_on_error.
10317 (ubsan_instrument_division, ubsan_instrument_shift,
10318 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
10319 if !flag_sanitize_recover.
10320
793c625f
MG
103212014-04-22 Marc Glisse <marc.glisse@inria.fr>
10322
10323 PR libstdc++/43622
10324 * c-common.c (registered_builtin_types): Make non-static.
10325 * c-common.h (registered_builtin_types): Declare.
10326
b0f1bf36 103272014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 10328 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
10329
10330 PR c/60819
10331 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
10332 apply may-alias the scalar pointer type when applicable.
10333
3b07fa4a
IZ
103342014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
10335
10336 PR middle-end/60467
10337 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
10338 as possible argument for Cilk_spawn.
10339
cbbd2b1c
TB
103402014-04-11 Tobias Burnus <burnus@net-b.de>
10341
10342 PR c/60194
10343 * c.opt (Wformat-signedness): Add
10344 * c-format.c(check_format_types): Use it.
10345
6415bd5d
JM
103462014-04-11 Jason Merrill <jason@redhat.com>
10347
10348 PR c++/57926
10349 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
10350 default_conversion for an array argument.
10351
6525783a
MP
103522014-04-08 Marek Polacek <polacek@redhat.com>
10353
10354 PR sanitizer/60745
10355 * c-ubsan.c: Include asan.h.
10356 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
10357
880a467b
NS
103582014-04-03 Nathan Sidwell <nathan@codesourcery.com>
10359
10360 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
10361
7b59ff2d
MP
103622014-04-02 Marek Polacek <polacek@redhat.com>
10363
10364 * c-common.h (c_expand_expr): Remove declaration.
10365
8edbfaa6
JJ
103662014-03-28 Jakub Jelinek <jakub@redhat.com>
10367
10368 PR c++/60689
10369 * c-common.c (add_atomic_size_parameter): When creating new
10370 params vector, push the size argument first.
10371
07d72e1d
JJ
103722014-03-26 Jakub Jelinek <jakub@redhat.com>
10373
10374 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
10375 ubsan_instrument_vla, ubsan_instrument_return): Adjust
10376 ubsan_create_data callers.
10377
b35e0fa0
JJ
103782014-03-22 Jakub Jelinek <jakub@redhat.com>
10379
10380 PR debug/60603
10381 * c-opts.c (c_finish_options): Restore cb_file_change call to
10382 <built-in>.
10383
39a1ebb3
JJ
103842014-03-13 Jakub Jelinek <jakub@redhat.com>
10385
10386 PR middle-end/36282
10387 * c-pragma.c (apply_pragma_weak): Only look at
10388 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
10389 DECL_ASSEMBLER_NAME_SET_P (decl).
10390 (maybe_apply_pending_pragma_weaks): Exit early if
10391 vec_safe_is_empty (pending_weaks) rather than only when
10392 !pending_weaks.
10393 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
10394 set assembler name back to NULL afterwards.
10395
a07f6ed2
JM
103962014-03-11 Jason Merrill <jason@redhat.com>
10397
10398 * c.opt: Add -std=gnu++14.
10399
75b107f5
IB
104002014-03-11 Ian Bolton <ian.bolton@arm.com>
10401
10402 * c-opts.c (c_common_post_options): Don't override
10403 -ffp-contract=fast if unsafe-math-optimizations is on.
10404
f42c637e
PM
104052014-03-08 Paulo Matos <paulo@matos-sorge.com>
10406
22b15758 10407 * c.opt: Enable LTO FE for fshort-double.
f42c637e 10408
70e24808
JM
104092014-03-07 Jason Merrill <jason@redhat.com>
10410
10411 * c.opt: Add -std=c++14.
10412
3af9c5e9
MP
104132014-03-06 Marek Polacek <polacek@redhat.com>
10414
10415 PR c/60197
10416 * cilk.c (contains_cilk_spawn_stmt): New function.
10417 (contains_cilk_spawn_stmt_walker): Likewise.
10418 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
10419 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
10420
b3bdf019
JJ
104212014-03-03 Jakub Jelinek <jakub@redhat.com>
10422
10423 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
10424 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
10425 even when flag_preprocess_only.
10426
ca7e759d
JM
104272014-02-26 Jason Merrill <jason@redhat.com>
10428
10429 PR c++/59231
10430 PR c++/11586
10431 * c-common.c (shorten_compare): Don't check
10432 c_inhibit_evaluation_warnings.
10433
28e41874
JJ
104342014-02-19 Jakub Jelinek <jakub@redhat.com>
10435
cca615af
JJ
10436 PR c/37743
10437 * c-common.c (c_common_nodes_and_builtins): When initializing
10438 c_uint{16,32,64}_type_node, also set corresponding
10439 uint{16,32,64}_type_node to the same value.
10440
28e41874
JJ
10441 PR c++/60267
10442 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
10443 for PRAGMA_IVDEP if flag_preprocess_only.
10444
c2bf53a1
JJ
104452014-02-12 Jakub Jelinek <jakub@redhat.com>
10446
10447 PR c/60101
10448 * c-common.c (merge_tlist): If copy is true, call new_tlist,
10449 if false, add ADD itself, rather than vice versa.
10450 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
10451 copy. For SAVE_EXPR, only call merge_tlist once.
10452
8fcbce72
JJ
104532014-02-08 Jakub Jelinek <jakub@redhat.com>
10454
10455 PR middle-end/60092
10456 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
10457 and tree_to_uhwi.
10458 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
10459 functions.
10460 (c_common_attribute_table): Add alloc_align and assume_aligned
10461 attributes.
10462
0a756a3f
MP
104632014-02-06 Marek Polacek <polacek@redhat.com>
10464
10465 PR c/60087
10466 * c-common.c (warn_for_sign_compare): Call warning_at with location
10467 instead of warning.
10468
7ec4847a
MP
104692014-02-05 Marek Polacek <polacek@redhat.com>
10470
10471 PR c/53123
10472 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
10473 statement.
10474
66f20604
MP
104752014-02-04 Marek Polacek <polacek@redhat.com>
10476
10477 PR c/60036
10478 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
10479 SAVE_EXPR.
10480
5d77fb19
MG
104812014-02-03 Marc Glisse <marc.glisse@inria.fr>
10482
10483 PR c++/53017
10484 PR c++/59211
10485 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
10486 handle_vector_size_attribute, handle_nonnull_attribute): Call
10487 default_conversion on the attribute argument.
10488 (handle_nonnull_attribute): Increment the argument number.
10489
81e5eca8
MP
104902014-01-31 Marek Polacek <polacek@redhat.com>
10491
10492 PR c/59963
10493 * c-common.c (add_atomic_size_parameter): Pass vNULL to
10494 build_function_call_vec.
10495 (resolve_overloaded_builtin): Likewise.
10496 * c-common.h (build_function_call_vec): Adjust declaration.
10497
68fca595
MP
104982014-01-30 Marek Polacek <polacek@redhat.com>
10499
10500 PR c/59940
10501 * c-common.h (unsafe_conversion_p): Adjust declaration.
10502 (warnings_for_convert_and_check): Likewise.
10503 (convert_and_check): Likewise.
10504 * c-common.c (unsafe_conversion_p): Add location parameter. Call
10505 expansion_point_location_if_in_system_header on it.
10506 (warnings_for_convert_and_check): Add location parameter. Call
10507 expansion_point_location_if_in_system_header on it. Use it.
10508 (convert_and_check): Add location parameter. Use it.
10509 (conversion_warning): Likewise.
10510 (c_add_case_label): Adjust convert_and_check calls.
10511 (scalar_to_vector): Adjust unsafe_conversion_p calls.
10512
b72271b9
BI
105132014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
10514
10515 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
10516 flag_cilkplus.
10517 * c-pragma.c (init_pragma): Likewise.
10518 * c.opt: Likewise.
10519
393e8e8b
MP
105202014-01-23 Marek Polacek <polacek@redhat.com>
10521
10522 PR c/59846
10523 * c-common.c (shorten_compare): Add location_t parameter.
10524 * c-common.h (shorten_binary_op): Adjust declaration.
10525
f04dda30
MP
105262014-01-23 Marek Polacek <polacek@redhat.com>
10527
10528 PR c/58346
10529 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
10530 * c-common.h: Declare it.
10531
621955cb
EB
105322014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10533
10534 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
10535 * c-ada-spec.c (dump_ads): Likewise.
10536 (cpp_check): Likewise.
10537 (dump_ada_specs): Likewise.
10538
105392014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
10540
10541 PR c++/49718
10542 * c-common.c (handle_no_instrument_function_attribute): Allow
10543 no_instrument_function attribute in class member
10544 definition/declaration.
10545
241f845a
JJ
105462014-01-15 Jakub Jelinek <jakub@redhat.com>
10547
10548 PR c/58943
10549 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
10550 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
10551 being COMPOUND_EXPR.
10552 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
10553 operand a SAVE_EXPR and second MODIFY_EXPR.
10554
e83b8e2e
JJ
105552014-01-09 Jakub Jelinek <jakub@redhat.com>
10556
10557 PR target/58115
10558 * c-pch.c (c_common_write_pch): Call
10559 prepare_target_option_nodes_for_pch.
10560
23a5b65a
RS
105612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10562
10563 Update copyright years
10564
f9030485
RS
105652014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10566
10567 * array-notation-common.c, c-cilkplus.c: Use the standard form for
10568 the copyright notice.
10569
f2aa696b
EB
105702013-12-28 Eric Botcazou <ebotcazou@adacore.com>
10571
10572 * c-ada-spec.c (print_constructor): New function.
10573 (print_destructor): Retrieve the origin of the destructor.
10574 (print_ada_declaration): Revamp handling of constructors/destructors.
10575
3f8257db 105762013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
10577 Bill Maddox <maddox@google.com>
10578 Jason Merrill <jason@redhat.com>
10579
10580 * c.opt: Add -fdeclone-ctor-dtor.
10581 * c-opts.c (c_common_post_options): Default to on iff -Os.
10582
41958c28
BI
105832013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
10584
10585 * c-common.c (c_common_attribute_table): Added "cilk simd function"
10586 attribute.
10587 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 10588 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
10589 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
10590 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
10591 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
10592 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
10593 PRAGMA_CILK_CLAUSE_UNIFORM.
10594
b1726d6c 10595
12893402
BI
105962013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
10597
10598 * cilk.c (cilk_outline): Made this function non-static.
10599 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
10600 (create_cilk_wrapper): Added a new parameter: a function pointer.
10601 (c_install_body_w_frame_cleanup): Remove
10602 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
10603 * c-common.h (cilk_outline): New prototype.
10604 (gimplify_cilk_spawn): Removed two parameters.
10605 (cilk_install_body_with_frame_cleanup): New prototype.
10606 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
10607 CILK_SPAWN_STMT case.
10608
085b42ed
BS
106092013-12-11 Bernd Schmidt <bernds@codesourcery.com>
10610
2ce064c3
BS
10611 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
10612
085b42ed
BS
10613 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
10614 (int_array_type_node): Remove.
10615 * c-common.c (c_common_nodes_and_builtins): Don't build it.
10616
9e36c9ed
MP
106172013-12-05 Marek Polacek <polacek@redhat.com>
10618
10619 PR c/52023
10620 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
10621 [ADJUST_FIELD_ALIGN].
10622
296674db
JM
106232013-12-04 Joseph Myers <joseph@codesourcery.com>
10624
10625 PR c/52023
10626 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
10627 and check field alignment if set.
10628 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
10629 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
10630
b1726d6c 106312013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
10632 Marek Polacek <polacek@redhat.com>
10633
10634 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
10635 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
10636
d7947e19
L
106372013-11-29 H.J. Lu <hongjiu.lu@intel.com>
10638
10639 PR c/59309
10640 * cilk.c (gimplify_cilk_spawn): Properly handle function without
10641 arguments.
10642
fad7652e
JJ
106432013-11-29 Jakub Jelinek <jakub@redhat.com>
10644
10645 PR c/59280
10646 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
10647 goto invalid. If it is error_mark_node, don't issue further
10648 diagnostics.
10649
8b5e1202
SO
106502013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
10651
10652 * c.opt (Wopenmp-simd): New.
10653
0a508bb6
JJ
106542013-11-22 Jakub Jelinek <jakub@redhat.com>
10655
10656 * c-ubsan.h (ubsan_instrument_return): New prototype.
10657 * c-ubsan.c (ubsan_instrument_return): New function.
10658
2fb9a547
AM
106592013-11-22 Andrew MacLeod <amacleod@redhat.com>
10660
10661 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
10662 * c-gimplify.c: Likewise.
10663 * cilk.c: Likewise.
2fb9a547 10664
8400e75e
DM
106652013-11-22 David Malcolm <dmalcolm@redhat.com>
10666
10667 * c-common.c (unsafe_conversion_p): Remove use of
10668 EXPR_LOC_OR_HERE macro.
10669 (conversion_warning): Likewise.
10670 (warnings_for_convert_and_check): Likewise.
10671 (warn_for_collisions_1): Likewise.
10672 (shorten_compare): Likewise, and remove use of in_system_header
10673 macro, using the location from the former.
10674 * c-lex.c (dump_one_header): Remove use of input_filename macro.
10675 (cb_def_pragma): Remove use of in_system_header macro.
10676 (lex_string): Likewise.
10677 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10678
eb1ce453
KZ
106792013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10680 Mike Stump <mikestump@comcast.net>
10681 Richard Sandiford <rdsandiford@googlemail.com>
10682
10683 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
10684 instead of TREE_INT_CST_LOW, in cases where there is a protecting
10685 tree_fits_shwi_p or tree_fits_uhwi_p.
10686 (dump_generic_ada_node): Likewise.
10687 * c-format.c (check_format_arg): Likewise.
10688 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10689
6b3b8c27
KZ
106902013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10691
10692 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
10693
49b0aa18
JC
106942013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
10695
10696 PR c/53001
10697 * c-common.c (unsafe_conversion_p): Make this function
10698 return an enumeration with more detail.
10699 (conversion_warning): Use the new return type of
10700 unsafe_conversion_p to separately warn either about conversions
10701 that lower floating point number precision or about the other
10702 kinds of conversions.
10703 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
10704 (unsafe_conversion_p): switching return type to
10705 conversion_safety enumeration.
49b0aa18
JC
10706 * c.opt: Adding new warning -Wfloat-conversion and
10707 enabling it with -Wconversion.
10708
b826515a
BS
107092013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
10710
8e745a17
JJ
10711 * c-opts.c: Include plugin.h.
10712 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 10713
b9a55b13
MP
107142013-11-19 Marek Polacek <polacek@redhat.com>
10715
10716 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
10717 call.
10718 (ubsan_instrument_shift): Likewise.
10719 (ubsan_instrument_vla): Likewise.
10720
7d362f6c
RS
107212013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10722
10723 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
10724 cast to unsigned type.
10725
386b1f1f
RS
107262013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10727
10728 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
10729 tree_low_cst.
10730 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10731 rather than tree_low_cst.
10732
ae7e9ddd
RS
107332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10734
10735 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10736 tree_to_uhwi throughout.
10737
9439e9a1
RS
107382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10739
10740 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10741 tree_low_cst (..., 0) with tree_to_shwi throughout.
10742
cc269bb6
RS
107432013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10744
10745 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10746 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10747
9541ffee
RS
107482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10749
10750 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10751 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10752
c02065fc
AH
107532013-11-15 Aldy Hernandez <aldyh@redhat.com>
10754
10755 * c-cilkplus.c: New file.
10756 * c-common.c (readonly_error): Add location argument.
10757 * c-common.h (readonly_error): Same.
10758 (c_finish_cilk_clauses): Protoize.
10759 (c_check_cilk_loop): Same.
10760 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10761 Do not fail on error_mark_node.
10762 Abstract increment canonicalization to here...
10763 (c_omp_for_incr_canonicalize_ptr): New.
10764 c-pragma.c (init_pragma): Register "simd" pragma.
10765 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10766 (enum pragma_cilk_clause): New.
10767
9cc65f15
RS
107682013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10769
10770 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10771 wchar_type and host_integerp checks.
10772
18f429e2
AM
107732013-11-14 Andrew MacLeod <amacleod@redhat.com>
10774
10775 * c-common.c: Likewise.
10776 * c-gimplify.c: Likewise.
10777 * cilk.c: Likewise.
10778
d8a2d370
DN
107792013-11-14 Diego Novillo <dnovillo@google.com>
10780
10781 * c-common.c: Include fold-const.h.
10782 Include stor-layout.h.
10783 Include calls.h.
10784 Include stringpool.h.
10785 Include attribs.h.
10786 Include varasm.h.
10787 Include trans-mem.h.
10788 * c-cppbuiltin.c: Include stor-layout.h.
10789 Include stringpool.h.
10790 * c-format.c: Include stringpool.h.
10791 * c-lex.c: Include stringpool.h.
10792 Include stor-layout.h.
10793 * c-pragma.c: Include stringpool.h.
10794 Include attribs.h.
10795 Include varasm.h.
10796 Include gcc-symtab.h.
10797 * c-pretty-print.c: Include stor-layout.h.
10798 Include attribs.h.
10799 * cilk.c: Include stringpool.h.
10800 Include calls.h.
10801
38b7bc7f
JM
108022013-11-13 Joseph Myers <joseph@codesourcery.com>
10803
10804 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10805 * c-common.c (c_common_reswords): Add __auto_type.
10806 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10807
45b0be94
AM
108082013-11-12 Andrew MacLeod <amacleod@redhat.com>
10809
18f429e2
AM
10810 * c-common.c: Include gimplify.h.
10811 * c-gimplify.c: Likewise.
10812 * cilk.c: Likewise.
10813 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10814 * c-ubsan.c: Don't include gimple.h.
45b0be94 10815
582d9b50
JM
108162013-11-12 Joseph Myers <joseph@codesourcery.com>
10817
10818 * c-common.c (c_common_reswords): Add _Thread_local.
10819
6b28e197
JM
108202013-11-09 Joseph Myers <joseph@codesourcery.com>
10821
10822 * c-common.c (atomic_size_supported_p): New function.
10823 (resolve_overloaded_atomic_exchange)
10824 (resolve_overloaded_atomic_compare_exchange)
10825 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10826 Use it instead of comparing size with a local list of sizes.
10827
267bac10
JM
108282013-11-07 Andrew MacLeod <amacleod@redhat.com>
10829 Joseph Myers <joseph@codesourcery.com>
10830
10831 * c-common.h (enum rid): Add RID_ATOMIC.
10832 * c-common.c (c_common_reswords): Add _Atomic.
10833 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10834 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10835 * c-format.c (check_format_types): Check for extra _Atomic
10836 qualifiers in format argument.
10837 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10838 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10839
5157b91e
TB
108402013-11-06 Tobias Burnus <burnus@net-b.de>
10841
10842 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10843
6dbe0958
JM
108442013-11-06 Joseph Myers <joseph@codesourcery.com>
10845
10846 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10847 standards modes.
10848 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10849 to mean lack of IEEE 754 support.
10850
e8ff5196
TB
108512013-11-05 Tobias Burnus <burnus@net-b.de>
10852
10853 * c.opt (-Wdate-time): New option
10854 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10855
254a0760
JM
108562013-11-05 Joseph Myers <joseph@codesourcery.com>
10857
10858 * c-cppbuiltin.c (cpp_iec_559_value): Test
10859 flag_excess_precision_cmdline not flag_excess_precision.
10860
6d7f7e0a
TB
108612013-11-05 Tobias Burnus <burnus@net-b.de>
10862
10863 * c.opt (fopenmp-simd): New option.
10864 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10865 (omp_pragmas): ... this new struct.
10866 (c_pp_lookup_pragma): Also walk omp_pragmas.
10867 (init_pragma): Init pragmas for -fopenmp-simd.
10868
55a7f02f
MP
108692013-11-04 Marek Polacek <polacek@redhat.com>
10870
10871 PR c++/58979
10872 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10873
9193fb05
JM
108742013-11-04 Joseph Myers <joseph@codesourcery.com>
10875
10876 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10877 New functions.
10878 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10879
94159ecf
EB
108802013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10881
10882 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10883 (dump_ada_specs): Adjust prototype of second callback.
10884 * c-ada-spec.c (cpp_check): New global variable.
10885 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10886 (print_generic_ada_decl): Likewise.
10887 (has_static_fields): Change return type to bool and add guard.
10888 (has_nontrivial_methods): New predicate.
10889 (is_tagged_type): Change return type to bool.
10890 (separate_class_package): Call has_nontrivial_methods.
10891 (pp_ada_tree_identifier): Minor tweaks.
10892 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10893 (dump_ada_array_domains): Likewise.
10894 (dump_ada_array_type): Likewise.
10895 (dump_template_types): Remove cpp_check parameter and do not pass it to
10896 dump_generic_ada_node.
10897 (dump_ada_template): Likewise.
10898 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10899 recursively.
10900 (print_ada_methods): Change return type to integer. Remove cpp_check
10901 parameter and do not pass it down.
10902 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10903 dump_generic_ada_node.
10904 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10905 accessing methods.
10906 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10907 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10908 value of print_ada_methods.
10909 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10910 Set cpp_check to it before invoking dump_ada_nodes.
10911 (dump_ada_specs): Likewise.
10912
b906f4ca
MP
109132013-11-03 Marek Polacek <polacek@redhat.com>
10914
10915 * c-ubsan.c: Don't include hash-table.h.
10916 (ubsan_instrument_vla): New function.
10917 * c-ubsan.h: Declare it.
10918
5e20cdc9
DM
109192013-10-31 David Malcolm <dmalcolm@redhat.com>
10920
10921 Automated part of renaming of symtab_node_base to symtab_node.
10922
10923 Patch autogenerated by rename_symtab.py from
10924 https://github.com/davidmalcolm/gcc-refactoring-scripts
10925 revision 58bb219cc090b2f4516a9297d868c245495ee622
10926
10927 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10928 symtab_node_base to symtab_node.
10929
7057e645
ESR
109302013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10931
8e745a17 10932 Implement C++14 digit separators.
7057e645
ESR
10933 * c-lex.c (interpret_float): Remove digit separators from scratch string
10934 before building real literal.
10935
193ea7bc
JJ
109362013-10-30 Jakub Jelinek <jakub@redhat.com>
10937
10938 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10939
939b37da
BI
109402013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10941
10942 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10943 fields.
10944 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10945 enabled.
10946 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10947 (insert_cilk_frame): New prototype.
10948 (cilk_init_builtins): Likewise.
10949 (gimplify_cilk_spawn): Likewise.
10950 (c_cilk_install_body_w_frame_cleanup): Likewise.
10951 (cilk_detect_spawn_and_unwrap): Likewise.
10952 (cilk_set_spawn_marker): Likewise.
10953 (build_cilk_sync): Likewise.
10954 (build_cilk_spawn): Likewise.
10955 * cilk.c: New file.
10956
67348ccc
DM
109572013-10-29 David Malcolm <dmalcolm@redhat.com>
10958
10959 Patch autogenerated by refactor_symtab.py from
10960 https://github.com/davidmalcolm/gcc-refactoring-scripts
10961 revision 58bb219cc090b2f4516a9297d868c245495ee622
10962
10963 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10964 to a true class hierarchy.
10965 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10966
d570872d
RS
109672013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10968
10969 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10970
98906124
JL
109712013-10-26 Jeff Law <law@redhat.com>
10972
adfac8df
JJ
10973 * c-common.c (c_define_builtins): Remove mudflap support.
10974 * c.opt: Ignore and warn for mudflap options.
98906124 10975
d73749df 109762013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10977
10978 PR other/33426
10979 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10980 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10981
3f04b1bb
JM
109822013-10-23 Jason Merrill <jason@redhat.com>
10983
10984 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10985
acf0174b
JJ
109862013-10-11 Jakub Jelinek <jakub@redhat.com>
10987
acd15a28
JJ
10988 * c-common.h (omp_clause_mask::operator !=): New method.
10989 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10990 instead of if (mask & something) tests everywhere.
10991
acf0174b
JJ
10992 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10993 201307 instead of 201107.
10994 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10995 (c_common_attribute_table): Add "omp declare target" and
10996 "omp declare simd" attributes.
10997 (handle_omp_declare_target_attribute,
10998 handle_omp_declare_simd_attribute): New functions.
10999 * c-omp.c: Include c-pragma.h.
11000 (c_finish_omp_taskgroup): New function.
11001 (c_finish_omp_atomic): Add swapped argument, if true,
11002 build the operation first with rhs, lhs arguments and use NOP_EXPR
11003 build_modify_expr.
11004 (c_finish_omp_for): Add code argument, pass it down to make_code.
11005 (c_omp_split_clauses): New function.
11006 (c_split_parallel_clauses): Removed.
11007 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
11008 c_omp_declare_simd_clauses_to_decls): New functions.
11009 * c-common.h (omp_clause_mask): New type.
11010 (OMP_CLAUSE_MASK_1): Define.
11011 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
11012 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
11013 omp_clause_mask::operator |, omp_clause_mask::operator &,
11014 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
11015 omp_clause_mask::operator ==): New methods.
11016 (enum c_omp_clause_split): New.
11017 (c_finish_omp_taskgroup): New prototype.
11018 (c_finish_omp_atomic): Add swapped argument.
11019 (c_finish_omp_for): Add code argument.
11020 (c_omp_split_clauses): New prototype.
11021 (c_split_parallel_clauses): Removed.
11022 (c_omp_declare_simd_clauses_to_numbers,
11023 c_omp_declare_simd_clauses_to_decls): New prototypes.
11024 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
11025 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
11026 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
11027 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
11028 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
11029 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
11030 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
11031 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
11032 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
11033 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
11034 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
11035 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
11036 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
11037 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
11038 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
11039 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
11040 PRAGMA_OMP_CLAUSE_UNIFORM.
11041
826cacfe
MG
110422013-10-09 Marc Glisse <marc.glisse@inria.fr>
11043
11044 PR tree-optimization/20318
11045 * c-common.c (handle_returns_nonnull_attribute): New function.
11046 (c_common_attribute_table): Add returns_nonnull.
11047
2284b034
MG
110482013-10-03 Marc Glisse <marc.glisse@inria.fr>
11049
11050 PR c++/19476
11051 * c.opt (fcheck-new): Move to common.opt.
11052
b56e9788
MP
110532013-09-25 Marek Polacek <polacek@redhat.com>
11054 Jakub Jelinek <jakub@redhat.com>
11055
11056 PR sanitizer/58413
11057 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
11058 an expression if we can prove it is correct.
11059 (ubsan_instrument_division): Likewise. Remove unnecessary
11060 check.
11061
ce6923c5
MP
110622013-09-18 Marek Polacek <polacek@redhat.com>
11063
11064 PR sanitizer/58411
11065 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
11066 Declare it.
11067 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
11068
fb5610fb
IS
110692013-09-14 Iain Sandoe <iain@codesourcery.com>
11070
11071 PR target/48094
11072 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
11073 fobjc-gc, freplace-objc-classes): Accept for LTO.
11074
88b0e79e
JC
110752013-09-13 Jacek Caban <jacek@codeweavers.com>
11076
11077 * c-target.def: New hook
11078
c9b0866a
PC
110792013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
11080
11081 PR c++/43452
11082 * c.opt (Wdelete-incomplete): Add.
11083
0af94e6f
JR
110842013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
11085
11086 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
11087 (vector_types_compatible_elements_p): New function.
11088 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
11089 declaration.
11090 (vector_types_compatible_elements_p): Declare.
11091
7c26172c
GDR
110922013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
11093
11094 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
11095 a virtual member function.
11096 (pp_simple_type_specifier): Remove.
11097 (pp_c_type_specifier): Likewise.
11098 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
11099 Rename from pp_c_type_specifier. Adjust.
11100 (c_pretty_printer::c_pretty_printer): Do not assign to
11101 simple_type_specifier.
11102
20059c8b
GDR
111032013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11104
11105 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
11106 member function.
11107 (c_pretty_printer::storage_class_specifier): Likewise.
11108 (c_pretty_printer::initializer): Likewise.
11109 (pp_declaration): Remove.
11110 (pp_declaration_specifiers): Likewise.
11111 (pp_abstract_declarator): Likewise.
11112 (pp_declarator): Likewise.
11113 (pp_type_id): Likewise.
11114 (pp_statement): Likewise.
11115 (pp_constant): Likewise.
11116 (pp_id_expression): Likewise.
11117 (pp_primary_expression): Likewise.
11118 (pp_unary_expression): Likewise.
11119 (pp_multiplicative_expression): Likewise.
11120 (pp_conditional_expression): Likewise.
11121 (pp_assignment_expression): Likewise.
11122 (pp_expression): Likewise.
11123 (pp_c_type_id): Likewise.
11124 (pp_c_storage_class_specifier): Likewise.
11125 * c-pretty-print.c (pp_c_type_cast): Tidy.
11126 (pp_c_pointer): Likewise.
11127 (pp_c_type_specifier): Likewise.
11128 (pp_c_parameter_type_list): Likewise.
11129 (pp_c_function_definition): Likewise.
11130 (pp_c_init_declarator): Likewise.
11131 (pp_c_initializer_list): Likewise.
11132 (pp_c_constructor_elts): Likewise.
11133 (c_pretty_printer::direct_abstract_declarator): Likewise.
11134 (c_pretty_printer::declaration_specifiers): Likewise.
11135 (c_pretty_printer::primary_expression): Likewise.
11136 (c_pretty_printer::postfix_expression): Likewise.
11137 (c_pretty_printer::type_id): Rename from pp_c_type_id.
11138 (c_pretty_printer::storage_class_specifier): Rename from
11139 pp_c_storage_class_specifier.
11140 (c_pretty_printer::initializer): Rename from pp_c_initializer.
11141 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
11142 storage_class_specifier, initializer, offset_list, flags.
11143
de5a5fa1
MP
111442013-08-30 Marek Polacek <polacek@redhat.com>
11145
11146 * c-ubsan.c: New file.
11147 * c-ubsan.h: New file.
11148
8f0e4d72
GDR
111492013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
11150
11151 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
11152 member function.
11153 (c_pretty_printer::declaration_specifiers): Likewise.
11154 (c_pretty_printer::declarator): Likewise.
11155 (c_pretty_printer::abstract_declarator): Likewise.
11156 (c_pretty_printer::direct_abstract_declarator): Likewise.
11157 (c_pretty_printer::direct_declarator): Likewise.
11158 (c_pretty_printer::function_specifier): Likewise.
11159 (pp_declaration): Adjust.
11160 (pp_declaration_specifiers): Likewise.
11161 (pp_abstract_declarator): Likewise.
11162 (pp_direct_declarator): Likewise.
11163 (pp_function_specifier): Likewise.
11164 (pp_direct_abstract_declarator): Remove as unused.
11165 (pp_c_declaration): Remove.
11166 (pp_c_declaration_specifiers): Likewise.
11167 (pp_c_declarator): Likewise.
11168 (pp_c_direct_declarator): Likewise.
11169 (pp_c_function_specifier): Likewise.
11170 (pp_c_direct_abstract_declarator): Likewise.
11171 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
11172 from pp_c_abstract_declarator. Adjust.
ab20d992 11173 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
11174 pp_c_direct_abstract_declarator. Adjust.
11175 (c_pretty_printer::function_specifier): Rename from
11176 pp_c_function_specifier. Adjust.
11177 (c_pretty_printer::declaration_specifiers): Rename from
11178 pp_c_declaration_specifiers. Adjust.
11179 (c_pretty_printer::direct_declarator): Rename from
11180 pp_c_direct_declarator. Adjust.
11181 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
11182 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
11183 (c_pretty_printer::c_pretty_printer): Do not assign to
11184 declaration, declaration_specifiers, declarator,
11185 direct_declarator, direct_abstract_declarator, function_specifier.
11186
00d34d3a
GDR
111872013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
11188
11189 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
11190 virtual member function.
11191 (c_pretty_printer::multiplicative_expression): Likewise.
11192 (c_pretty_printer::conditional_expression): Likewise.
11193 (c_pretty_printer::assignment_expression): Likewise.
11194 (c_pretty_printer::expression): Likewise.
11195 (pp_unary_expression): Adjust.
11196 (pp_multiplicative_expression): Likewise.
11197 (pp_assignment_expression): Likewise.
11198 (pp_conditional_expression): Likewise.
11199 (pp_expression): Likewise.
11200 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
11201 from pp_c_unary_expression. Adjust.
11202 (c_pretty_printer::multiplicative_expression): Rename from
11203 pp_c_multiplicative_expression. Adjust.
11204 (c_pretty_printer::conditional_expression): Rename from
11205 pp_c_conditional_expression. Adjust.
11206 (c_pretty_printer::assignment_expression): Rename from
11207 pp_c_assignment_expression. Adjust.
11208 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
11209 (c_pretty_printer::c_pretty_printer): Do not assign to
11210 unary_expression, multiplicative_expression,
11211 conditional_expression, expression.
11212
fb22178f
GDR
112132013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11214
11215 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
11216 virtual member function.
11217 (pp_postfix_expression): Adjust.
11218 (pp_c_postfix_expression): Remove.
11219 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
11220 from pp_c_postfix_expression. Adjust.
11221 (c_pretty_printer::c_pretty_printer): Do not assign to
11222 postfix_expression.
11223
7ecc2600
GDR
112242013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11225
11226 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
11227 virtua member function.
11228 (pp_primary_expression): Adjust.
11229 (pp_c_primary_expression): Remove.
11230 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
11231 from pp_c_primary_expression. Adjust.
11232 (pp_c_initializer_list): Use pp_primary_expression.
11233 (c_pretty_printer::c_pretty_printer): Do not assign to
11234 primary_expression.
11235
0691175f
GDR
112362013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11237
11238 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
11239 * c-pretty-print.c (M_): Remove.
11240 (c_pretty_printer::translate_string): Define.
11241 (pp_c_type_specifier): Use it.
11242 (pp_c_primary_expression): Likewise.
11243 (pp_c_expression): Likewise.
11244
66dfe4c4
GDR
112452013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
11246
11247 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
11248 virtual function.
11249 (pp_c_id_expression): Remove.
11250 (pp_id_expression): Adjust.
11251 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
11252 pp_c_id_expression. Adjust.
11253 (pp_c_postfix_expression): Use pp_id_expression.
11254 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
11255
ca43e9d5
GDR
112562013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
11257
11258 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
11259 member function.
11260 (pp_constant): Adjust.
11261 (pp_c_constant): Remove.
11262 * c-pretty-print.c (c_pretty_printer::constant): Rename from
11263 pp_c_constant. Adjust.
11264 (pp_c_constant)
11265 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
11266 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
11267
da6ca2b5
GDR
112682013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11269
11270 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
11271 (c_pretty_printer::c_pretty_printer): Declare.
11272 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
11273 c_pretty_printer_init. Adjust.
11274 (print_c_tree): Do not call c_pretty_printer_init.
11275 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
11276
65a372f4
AC
112772013-08-09 Arnaud Charlet <charlet@adacore.com>
11278
11279 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
11280
fd9b0f32
PC
112812013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
11282
11283 PR c++/58080
11284 * c-common.c (pointer_int_sum): Add bool parameter.
11285 * c-common.h (pointer_int_sum): Adjust declaration.
11286
e0aec1e9
GDR
112872013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
11288
11289 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
11290 c_pretty_printer variable.
11291
b066401f
GDR
112922013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
11293
11294 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
11295 (pp_base): Remove.
11296 (pp_c_base): Likewise. Adjust users.
11297 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
11298 (pp_c_whitespace): Do not call pp_base.
11299 (pp_c_left_paren): Likewise.
11300 (pp_c_right_paren): Likewise.
11301 (pp_c_left_brace): Likewise.
11302 (pp_c_right_brace): Likewise.
11303 (pp_c_left_bracket): Likewise.
11304 (pp_c_right_bracket): Likewise.
11305 (pp_c_dot): Likewise.
11306 (pp_c_ampersand): Likewise.
11307 (pp_c_star): Likewise.
11308 (pp_c_arrow): Likewise.
11309 (pp_c_semicolon): Likewise.
11310 (pp_c_complement): Likewise.
11311 (pp_c_exclamation): Likewise.
11312 (pp_c_direct_declarator): Likewise.
11313 (pp_c_ws_string): Likewise.
11314 (pp_c_identifier): Likewise.
11315 (pp_c_statement): Likewise.
11316 (print_c_tree): Likewise.
11317
65e5a578
ESR
113182013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
11319
11320 PR c++/58072
11321 * c-common.c (c_parse_error): Catch user-defined literal tokens and
11322 provide useful error strings.
11323
137a1a27
GDR
113242013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11325
11326 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
11327 printer functions instead of pp_string or operators and punctuators.
11328 (dump_generic_ada_node): Likewise.
11329 * c-pretty-print.c (pp_c_type_specifier): Likewise.
11330 (pp_c_relational_expression): Likewise.
11331 (pp_c_logical_or_expression): Likewise.
11332
07838b13
GDR
113332013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11334
11335 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
11336 functions instead of pp_character.
11337 (pp_ada_tree_identifier): Likewise.
11338 (dump_ada_double_name): Likewise.
11339 (dump_ada_function_declaration): Likewise.
11340 (dump_ada_array_domains): Likewise.
11341 (dump_template_types): Likewise.
11342 (dump_generic_ada_node): Likewise.
11343 (print_ada_declaration): Likewise.
11344 (print_ada_struct_decl): Likewise.
11345 * c-pretty-print.c (pp_c_integer_constant): Likewise.
11346
433cc7b0
TT
113472013-07-23 Tom Tromey <tromey@redhat.com>
11348
11349 * c-common.h (enum rid) <RID_GENERIC>: New constant.
11350 * c-common.c (c_common_reswords): Add _Generic.
11351
688010ba
OB
113522013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
11353
11354 * c-common.c: Fix typos.
11355 * c-common.h: Likewise.
11356
2a99e5e6
LL
113572013-07-13 Lubos Lunak <l.lunak@suse.cz>
11358
11359 PR c++/55203
11360 * c-common.c (c_common_attribute_table): Add warn_unused.
11361 (handle_warn_unused_attribute): New.
11362
c26302d5
JJ
113632013-07-10 Jakub Jelinek <jakub@redhat.com>
11364
11365 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
11366 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
11367
dfeadaa0
PC
113682013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
11369
11370 PR c++/57869
11371 * c.opt: Add Wconditionally-supported.
11372
6a2fa4b2
GS
113732013-07-08 Graham Stott <graham.stott@btinternet.com>
11374
adfac8df 11375 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
11376 unused variables l_length and l_node.
11377
ecdbd01a 113782013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
11379
11380 PR c/57821
11381 * c-common.c (complete_array_type): Delay folding first index
11382 like other indices. When folding, check for index overflow.
11383
bedc293e
MG
113842013-06-27 Marc Glisse <marc.glisse@inria.fr>
11385
11386 PR c++/57509
11387 * c-common.h (c_build_vec_perm_expr): New complain argument.
11388 * c-common.c (c_build_vec_perm_expr): Likewise.
11389 Use save_expr also in C++.
11390
604b2bfc
GDR
113912013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11392
11393 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
11394 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11395 * c-opts.c (c_common_post_options): Likewise.
11396
dfeadaa0 113972013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
11398
11399 * array-notation-common.c (length_mismatch_in_expr): Changed the
11400 parameter type's from a dynamic array to a vec_tree. Also removed
11401 the size parameters.
11402 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
11403 the change above.
11404
2ce86d2e
BI
114052013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
11406
11407 * c-common.h (struct cilkplus_an_parts): New structure.
11408 (struct cilkplus_an_loop_parts): Likewise.
11409 (cilkplus_extract_an_triplets): New prototype.
11410 (fix_sec_implicit_args): Likewise.
11411 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
11412 (fix_sec_implicit_args): Likewise.
604b2bfc 11413
07a6825b
BI
114142013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
11415
11416 * array-notation-common.c (find_inv_trees): Removed an unwanted
11417 typecasting.
11418 * c-common.h (struct inv_list::additional_tcodes): Changed type from
11419 enum rid to enum tree_code.
11420
08346abd
JH
114212013-06-11 Jan Hubicka <jh@suse.cz>
11422
11423 * c-common.c (handle_alias_ifunc_attribute): Do not set
11424 DECL_EXTERNAL for weakref variables.
11425 * c-pragma.c (handle_pragma_weak): Make sure aliases
11426 are not declared as external.
11427
d60f1706
BI
114282013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
11429
11430 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
11431 function from c/c-array-notation.c.
11432 (is_cilkplus_reduce_builtin): Likewise.
11433 (find_rank): Likewise.
11434 (extract_array_notation_exprs): Likewise.
11435 (replace_array_notations): Likewise.
11436 (find_inv_trees): Likewise.
11437 (replace_inv_trees): Likewise.
11438 (contains_array_notation_expr): Likewise.
11439 (find_correct_array_notation_type): Likewise.
11440 * c-common.h (struct inv_list): Moved this struct from the file
11441 c/c-array-notation.c and added a new field called additional tcodes.
11442 (length_mismatch_in_expr_p): New prototype.
11443 (is_cilkplus_reduce_builtin): Likewise.
11444 (find_rank): Likewise.
11445 (extract_array_notation_exprs): Likewise.
11446 (replace_array_notation): Likewise.
11447 (find_inv_trees): Likewise.
11448 (replace_inv_trees): Likewise.
11449 (find_correct_array_notation_type): Likewise.
dfeadaa0 11450
36536d79
BI
114512013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
11452
11453 * c-common.c (c_define_builtins): When cilkplus is enabled, the
11454 function array_notation_init_builtins is called.
11455 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
11456 * c-common.def (ARRAY_NOTATION_REF): New tree.
11457 * c-common.h (build_array_notation_expr): New function declaration.
11458 (build_array_notation_ref): Likewise.
11459 (extract_sec_implicit_index_arg): New extern declaration.
11460 (is_sec_implicit_index_fn): Likewise.
11461 (ARRAY_NOTATION_CHECK): New define.
11462 (ARRAY_NOTATION_ARRAY): Likewise.
11463 (ARRAY_NOTATION_START): Likewise.
11464 (ARRAY_NOTATION_LENGTH): Likewise.
11465 (ARRAY_NOTATION_STRIDE): Likewise.
11466 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
11467 ARRAY_NOTATION_REF.
11468 (pp_c_expression): Likewise.
11469 * c.opt (flag_enable_cilkplus): New flag.
11470 * array-notation-common.c: New file.
11471
f7716d57
JJ
114722013-05-14 Jakub Jelinek <jakub@redhat.com>
11473
11474 PR c++/57274
11475 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
11476
a5e0cd1d
MG
114772013-05-10 Marc Glisse <marc.glisse@inria.fr>
11478
11479 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
11480 vectors.
11481
f6bc1c4a
HS
114822013-05-07 Han Shen <shenhan@google.com>
11483
11484 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
11485
3f12f6e9
SKS
114862013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11487
11488 * c-common.c (check_user_alignment): Emit error for negative values.
11489
61949153
PC
114902013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11491
11492 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
11493
e93e18e9
PC
114942013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11495
11496 * c-cppbuiltin.c (c_cpp_builtins): Do not define
11497 __GXX_EXPERIMENTAL_CXX1Y__.
11498
44d90fe1 114992013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 11500 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
11501
11502 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
11503 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
11504 to simply use OPT_Wpointer_arith.
11505 (c_sizeof_or_alignof_type): Likewise.
11506
13f39b2e
PC
115072013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11508
11509 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
11510
4b84d650
JJ
115112013-04-12 Jakub Jelinek <jakub@redhat.com>
11512
11513 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
11514 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
11515 specifiers.
11516
fb037b5d
SB
115172013-04-07 Steven Bosscher <steven@gcc.gnu.org>
11518
11519 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
11520
4e856798
PC
115212013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
11522
11523 * c-common.c (pointer_int_sum): Remove dead code.
11524
4b1baac8
RS
115252013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
11526
11527 PR middle-end/56524
11528 * c-common.c (handle_optimize_attribute): Don't call
11529 save_optabs_if_changed.
11530
0b50e654
JJ
115312013-03-05 Jakub Jelinek <jakub@redhat.com>
11532
11533 PR middle-end/56461
11534 * c-pch.c (pch_init): Free target_validity at the end.
11535
48c41403
JJ
115362013-03-04 Jakub Jelinek <jakub@redhat.com>
11537
11538 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
11539
e664c61c
KS
115402013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
11541 Jakub Jelinek <jakub@redhat.com>
11542
11543 PR sanitizer/56454
11544 * c-common.c (handle_no_sanitize_address_attribute): New function.
11545 (c_common_attribute_table): Add no_sanitize_address attribute.
11546 (handle_no_address_safety_analysis_attribute): Add
11547 no_sanitize_address attribute, not no_address_safety_analysis
11548 attribute.
11549
a475fd3d 115502013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
11551
11552 PR target/52555
11553 * c-common.c (handle_optimize_attribute): Call
11554 save_optabs_if_changed.
11555
f6007d99
JJ
115562013-02-18 Jakub Jelinek <jakub@redhat.com>
11557 Steven Bosscher <steven@gcc.gnu.org>
11558
11559 PR pch/54117
11560 * c-opts.c (c_common_post_options): If debug info is enabled
11561 and non-dwarf*, refuse to load PCH files and when writing PCH
11562 file warn.
11563
cf35e2b1
JJ
115642013-02-05 Jakub Jelinek <jakub@redhat.com>
11565
11566 PR middle-end/56167
11567 * c-common.c (handle_error_attribute): Fix condition.
11568
32887460
JJ
115692013-01-30 Jakub Jelinek <jakub@redhat.com>
11570
11571 PR c++/55742
11572 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
11573
5af057d8
JM
115742013-01-18 Jason Merrill <jason@redhat.com>
11575
11576 PR target/54908
11577 * c.opt (-fextern-tls-init): New.
11578 * c-opts.c (c_common_post_options): Handle it.
11579
cc83c823
JJ
115802013-01-09 Jakub Jelinek <jakub@redhat.com>
11581
11582 PR c/48418
11583 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
11584 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
11585 and is either negative or bigger or equal to type precision
11586 of the first operand.
11587
a859517f
MP
115882012-12-03 Marek Polacek <polacek@redhat.com>
11589
11590 PR c/55570
11591 * c-common.c (check_user_alignment): Swap order of tests,
11592 check TREE_CODE first.
11593
2d7aa578
ESR
115942012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
11595
11596 PR c++/52654
11597 * c-common.h (overflow_type): New enum.
11598 (build_userdef_literal): Add overflow_type argument.
11599 (tree_userdef_literal): Add overflow_type.
11600 (USERDEF_LITERAL_OVERFLOW): New access macro.
11601 * c-common.c (build_userdef_literal): Add overflow_type
11602 argument.
11603 * c-lex.c (c_lex_with_flags): Add overflow_type to
11604 build_userdef_literal calls.
11605 (interpret_integer, interpret_float): Add overflow_type argument.
11606
cc3c4f62
RB
116072012-11-28 Richard Biener <rguenther@suse.de>
11608
11609 PR c/35634
11610 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11611 here and use a type with proper overflow behavior for types that would
11612 need to be promoted for the arithmetic.
11613
77bc5132
JJ
116142012-11-23 Jakub Jelinek <jakub@redhat.com>
11615
11616 PR sanitizer/55435
11617 * c-common.c (handle_no_address_safety_analysis_attribute): New
11618 function.
11619 (c_common_attribute_table): Add no_address_safety_analysis.
11620
5dc99c46
SB
116212012-11-16 Simon Baldwin <simonb@google.com>
11622
11623 * c.opt: Add f[no-]canonical-system-headers.
11624 * c-opts.c (c_common_handle_option): Handle
11625 OPT_fcanonical_system_headers.
11626
a4a0016d
ESR
116272012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
11628
11629 PR c++/54413
11630 * c-opts.c (c_common_handle_option): Set new flags.
11631 * c.opt: Describe new flags.
11632
7dbb85a7
JM
116332012-11-09 Jason Merrill <jason@redhat.com>
11634
11635 * c.opt (Wabi-tag): New.
11636
ad7bac31
AK
116372012-11-09 Andi Kleen <ak@linux.intel.com>
11638
11639 PR 55139
11640 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 11641 MEMMODEL_MASK
ad7bac31 11642
7332899a
MLI
116432012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11644
11645 PR c/53063
11646 * c.opt (Wformat): Make it Alias Wformat=1.
11647 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
11648 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
11649 LangEnabledBy.
11650 (Wformat=): RejectNegative. Use LangEnabledBy.
11651 (Wnonnull): Use LangEnabledBy.
11652 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
11653 * c-format.c (set_Wformat): Delete.
11654 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
11655 (maybe_read_dollar_number): Likewise.
11656 (avoid_dollar_number): Likewise.
11657 (finish_dollar_format_checking): Likewise.
11658 (check_format_info): Likewise.
11659 (check_format_info_main): Likewise.
11660 (check_format_types): Likewise.
11661 (format_type_warning): Likewise.
11662 * c-common.c (int): Likewise.
11663 (check_function_sentinel): Likewise.
8e745a17 11664 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 11665
34a180a6
MLI
116662012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11667
11668 PR c/53063
11669 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
11670 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
11671 Use LangEnabledBy.
11672 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
11673 common.opt.
11674 (Wvariadic-macros): Init(1).
11675 * c-opts.c (c_common_handle_option): Do not handle them
11676 explicitly.
11677 (c_common_post_options): Likewise.
11678 (sanitize_cpp_opts): warn_unused_macros is now
11679 cpp_warn_unused_macros.
11680 (push_command_line_include): Likewise.
11681 * c-common.c (warn_unknown_pragmas): Do not define.
11682 * c-common.h (warn_unknown_pragmas): Do not declare.
11683
3f46d6a5
MLI
116842012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11685
11686 PR c/51294
11687 * c-common.c (conversion_warning): Handle conditional expressions.
11688
880661a4
JW
116892012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
11690
11691 PR c++/54930
11692 * c.opt (Wreturn_local_addr): Define new option.
11693
4514a96b
JM
116942012-10-25 Jason Merrill <jason@redhat.com>
11695
f14edc1a
JM
11696 * c.opt (Wvirtual-move-assign): New.
11697
4514a96b
JM
11698 * c.opt (Winherited-variadic-ctor): New.
11699
93100c6b
MG
117002012-10-25 Marc Glisse <marc.glisse@inria.fr>
11701
11702 PR c++/54427
11703 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
11704
1efcb8c6
JM
117052012-10-23 Joseph Myers <joseph@codesourcery.com>
11706
11707 * c-common.h (pch_cpp_save_state): Declare.
11708 * c-target.def (c_preinclude): New hook.
11709 * c-opts.c (done_preinclude): New.
11710 (push_command_line_include): Handle default preincluded header.
11711 (cb_file_change): Call pch_cpp_save_state when calling
11712 push_command_line_include.
11713 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
11714 (pch_cpp_save_state): New.
11715 (pch_init): Call pch_cpp_save_state conditionally, instead of
11716 calling cpp_save_state.
11717
4a0ae68e
MLI
117182012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
11719
11720 PR c/53063
11721 PR c/40989
11722 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
11723 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
11724 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
11725 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
11726 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
11727 * c-opts.c (c_common_handle_option): Remove explicit handling from
11728 here.
11729 (c_common_post_options): Likewise.
11730
67e4210b
EB
117312012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11732
11733 * c-ada-spec.c (LOCATION_COL): Delete.
11734 (compare_location): New function.
11735 (compare_node): Use it.
11736 (compare_comment): Likewise.
11737
65d4f2cd
MLI
117382012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11739
11740 PR c/53063
11741 PR c/40989
11742 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11743 * c-opts.c (c_common_handle_option): Do not set them here. Add
11744 comment.
11745 (c_common_post_options): Likewise.
11746
909881cb
EB
117472012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11748
11749 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11750 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11751 Remove POINTER_TYPE handling, add large unsigned handling and use
11752 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11753
3a785c97
JJ
117542012-10-12 Jakub Jelinek <jakub@redhat.com>
11755
11756 PR c/54381
11757 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11758 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11759 locs and array of 3 trees instead of just single loc and single
11760 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11761 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11762 For *cmp* builtins that take two sources strings report warnings
11763 about first and second source, not about destination and source.
11764
5e54f81d
MG
117652012-10-12 Marc Glisse <marc.glisse@inria.fr>
11766
11767 PR c++/53055
11768 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11769
f5b02f1e
EB
117702012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11771
11772 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11773 declaring something coming from another file.
11774
b46dbc6c
AC
117752012-10-10 Arnaud Charlet <charlet@adacore.com>
11776
f5b02f1e 11777 PR ada/54845
b46dbc6c
AC
11778 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11779
5d9de0d0
PC
117802012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11781
11782 PR c++/54194
11783 * c-common.c (warn_about_parentheses): Add location_t parameter;
11784 use EXPR_LOC_OR_LOC.
11785 * c-common.h: Update declaration.
11786
a212e43f
MG
117872012-10-09 Marc Glisse <marc.glisse@inria.fr>
11788
11789 PR c++/54427
11790 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11791 more operations. Make error messages optional.
11792 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11793 (scalar_to_vector): Declare.
11794
b1db7f91
JM
117952012-10-08 Jason Merrill <jason@redhat.com>
11796
11797 * c-common.c (c_common_reswords): Add thread_local.
11798
e28d52cf
DS
117992012-10-08 Dodji Seketeli <dodji@redhat.com>
11800
11801 PR c++/53528 C++11 attribute support
11802 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11803 new functions.
11804 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11805 static function.
11806 (handle_aligned_attribute): In choose strictest alignment
11807 among many. Use new check_cxx_fundamental_alignment_constraints.
11808 (handle_transparent_union_attribute): In c++11 attribute syntax,
11809 don't look through typedefs.
11810
3b78de56
AC
118112012-10-04 Arnaud Charlet <charlet@adacore.com>
11812
11813 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11814 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11815 out of dumpfile.h.
11816
6040bb5f
DC
118172012-09-25 Dehao Chen <dehao@google.com>
11818
11819 PR middle-end/54645
3b78de56 11820 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11821 map when read in the pch.
11822
3f8257db 118232012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11824
11825 * c-ada-spec.c: Style fixes.
11826
3f8257db 118272012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11828
11829 * c.opt (-fada-spec-parent): Define new command line switch.
11830 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11831 is specified, generate binding spec as a child of the specified unit.
11832
0ccb505d
PC
118332012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11834 Manuel López-Ibáñez <manu@gcc.gnu.org>
11835
11836 PR c++/53210
11837 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11838
c583af79
AC
118392012-08-23 Arnaud Charlet <charlet@adacore.com>
11840
11841 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11842 for pointers, and add missing Convention C pragma.
11843 (print_ada_struct_decl): Add missing aliased keyword.
11844 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11845
1a4049e7
JJ
118462012-08-17 Jakub Jelinek <jakub@redhat.com>
11847
11848 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11849 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11850 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11851 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11852 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11853
70b5e7dc
RG
118542012-08-10 Richard Guenther <rguenther@suse.de>
11855
11856 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11857
f8923f7e
SB
118582012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11859
11860 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11861 instead of separate pp_newline and pp_flush.
11862 (print_c_tree): Likewise.
11863
e45abe1f
RH
118642012-07-26 Richard Henderson <rth@redhat.com>
11865
11866 * c-common.c (handle_hot_attribute): Allow labels.
11867 (handle_cold_attribute): Likewise.
11868
332f1d24
JJ
118692012-07-20 Jakub Jelinek <jakub@redhat.com>
11870
11871 PR c++/28656
11872 * c-common.c (check_function_nonnull): Handle multiple nonnull
11873 attributes properly.
11874
7ee2468b
SB
118752012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11876
11877 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11878 * c-ada-spec.c: Likewise.
11879 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11880
ee7b28eb
SB
118812012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11882
11883 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11884 Remove code conditional on it.
11885
6bdf3519
SB
118862012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11887
11888 * c-gimplify.c: Do not include basic-block.h.
11889 * c-common.c: Do not include linfuncs.h.
11890
532aafad
SB
118912012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11892
11893 * c-common.h: Include tree.h.
11894
8d0d1915
JM
118952012-07-02 Jason Merrill <jason@redhat.com>
11896
11897 PR c++/53524
11898 * c-common.c (get_priority): Call default_conversion.
11899
fbc873ad
UB
119002012-07-01 Uros Bizjak <ubizjak@gmail.com>
11901
11902 * c-pch.c (c_common_write_pch): Remove unused variables.
11903
d4a10d0a
SB
119042012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11905
11906 * cppspec.c: Moved from gcc/ to here.
11907
6f3a2e23
KT
119082012-06-27 Kai Tietz <ktietz@redhat.com>
11909
11910 PR preprocessor/37215
11911 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11912
8ca92d04
SB
119132012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11914
11915 * c-common.h (c_common_print_pch_checksum): Remove.
11916 * c-pch.c: Do not include output.h.
11917 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11918 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11919 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11920 (struct c_pch_header): Remove.
11921 (get_ident): Update gpch version.
11922 (pch_init): Do not print executable_checksum to asm_out_file.
11923 Do not fail if there is no asm_out_file to read back from. Set
11924 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11925 (c_common_write_pch): Verify that nothing was written to asm_out_file
11926 since pch_init was called. Do not write a c_pch_header, and do not
11927 copy from asm_out_file to the PCH.
11928 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11929 the content of asm_out_file from the PCH.
11930 (c_common_print_pch_checksum): Remove.
11931 * c-opts.c (c_common_init): Print out executable_checksum directly.
11932
70f42967
SB
119332012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11934
11935 * c-target.def (objc_declare_unresolved_class_reference,
11936 objc_declare_class_definition): Add new hooks.
11937
a8781821
SB
119382012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11939
11940 * c-lex.c: Do not include output.h.
11941 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11942 Remove uses of ASM_OUTPUT_IDENT.
11943
9e1a8dd1
RR
119442012-06-15 Marc Glisse <marc.glisse@inria.fr>
11945
11946 PR c++/51033
11947 * c-common.h (c_build_vec_perm_expr): Move decl here.
11948 * c-common.c (c_build_vec_perm_expr): Move definition
11949 here.
11950
6f07a821
SB
119512012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11952
11953 * c.opt (fconserve-space): Turn into a no-op.
11954
9faeb493 119552012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11956
11957 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11958 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11959 both the start and end of the function.
11960
a4b7d13c
SB
119612012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11962
11963 * c-common.c: Do not include output.h.
11964 * c-pragma.c: Likewise.
11965
c265f413
SA
119662012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11967
11968 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11969 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11970 (lang_decl_name): Handle namespace decls.
11971
be7a421e
SB
119722012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11973
11974 * c-ada-spec.c: Do not include output.h.
11975 * c-semantics.c: Likewise.
11976
65de6659
JM
119772012-05-29 Joseph Myers <joseph@codesourcery.com>
11978
11979 * c-common.c: Fix typo.
11980
ca5f4331
MM
119812012-05-29 Michael Matz <matz@suse.de>
11982
11983 * c-common.h (c_expand_decl): Remove prototype.
11984
4f7f7aca
MLI
119852012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11986
11987 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11988 * c-opts.c (c_common_handle_option): Remove code handling
11989 warn_missing_braces.
11990
4a792f9b
PC
119912012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11992
11993 PR c++/25137
11994 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11995 -Wmissing_braces.
11996
650dc14a
DS
119972012-05-22 Dodji Seketeli <dodji@redhat.com>
11998
11999 PR c++/53322
12000 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
12001
9b095bf1
MLI
120022012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
12003
12004 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
12005 * c-opts.c (c_common_handle_option): Do not handle explicitly
12006 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
12007
0b2c4be5
DS
120082012-05-16 Dodji Seketeli <dodji@redhat.com>
12009
12010 PR preprocessor/7263
ab20d992 12011 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
12012 to cpp_classify_number. For diagnostics, use the precise location
12013 instead of the global input_location.
12014
a1bde5af
PC
120152012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12016
d02924ef 12017 PR c++/11856
a1bde5af
PC
12018 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
12019
d1ede5f4
BS
120202012-05-14 Bernd Schmidt <bernds@codesourcery.com>
12021
a1bde5af 12022 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 12023
f2bc201f
MLI
120242012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
12025
12026 PR 53063
12027 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
12028 Wreorder): Use LangEnabledBy.
12029 * c-opts.c (c_common_handle_option): Do not enable them
12030 explicitly. Call lang-specific generated functions.
12031 (c_common_post_options): Do not set them here.
12032
95744782
MLI
120332012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
12034
12035 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
12036 Wmissing-field-initializers,Wmissing-parameter-type,
12037 Wold-style-declaration,Woverride-init): Use EnabledBy.
12038 * c-opts.c (c_common_post_options): Do not set here explicitly.
12039
7d5a5747
MLI
120402012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12041
12042 PR 53063
12043 * c-opts.c (c_common_handle_option): Use handle_generated_option
12044 to enable sub-options.
12045
5a3c9cf2
PC
120462012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
12047
12048 PR c++/53158
12049 * c-common.c (warnings_for_convert_and_check): Use warning_at.
12050
3ac8781c
RG
120512012-05-10 Richard Guenther <rguenther@suse.de>
12052
12053 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
12054 adjust commentary about TYPE_IS_SIZETYPE types.
12055
1e537948
MLI
120562012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
12057
12058 PR c++/53261
12059 * c-common.c (warn_logical_operator): Check that argument of
12060 integer_zerop is not NULL.
12061
f2c4a785
MLI
120622012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
12063
12064 PR c/43772
12065 * c-common.c (warn_logical_operator): Do not warn if either side
12066 is already true or false.
12067
50f305ca
MLI
120682012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
12069
12070 PR c/51712
12071 * c-common.c (expr_original_type): New.
12072 (shorten_compare): Do not warn for enumeration types.
12073
0c3641b0
MLI
120742012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
12075
12076 * c.opt (fpermissive): Add Var(flag_permissive).
12077
7edaa4d2
MG
120782012-04-30 Marc Glisse <marc.glisse@inria.fr>
12079
12080 PR c++/51033
12081 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
12082 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
12083
b9c8da34
DS
120842012-04-30 Dodji Seketeli <dodji@redhat.com>
12085
12086 Add -Wvarargs option
ab20d992 12087 * c.opt (Wvarargs): Define new option.
b9c8da34 12088
e6c69da0
MLI
120892012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12090
12091 * c-common.c (check_function_arguments): Replace
12092 Wmissing-format-attribute with Wsuggest-attribute=format.
12093
90137d8f
MLI
120942012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12095
12096 * c.opt (Wsuggest-attribute=format): New. Alias of
12097 Wmissing-format-attribute.
12098 * c-format.c (decode_format_type): Replace
12099 Wmissing-format-attribute with Wsuggest-attribute=format.
12100 (check_function_format): Likewise.
12101
9faeb493 121022012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
12103
12104 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
12105 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
12106 * c.opt: Add Wliteral-suffix.
12107
c1771a20
MLI
121082012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
12109
12110 PR c/44774
12111 * c.opt (Wpedantic): New.
12112 (pedantic): Alias Wpedantic.
12113 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
12114 (c_common_post_options): Likewise.
12115 (sanitize_cpp_opts): Likewise.
12116 * c-lex.c (interpret_float): Likewise.
12117 * c-format.c (check_format_types): Likewise.
12118 * c-common.c (pointer_int_sum): Likewise.
12119 (c_sizeof_or_alignof_type): Likewise.
12120 (c_add_case_label): Likewise.
12121 (c_do_switch_warnings): Likewise.
12122 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
12123
04b391c1
JM
121242012-04-15 Jason Merrill <jason@redhat.com>
12125
12126 PR c++/52818
12127 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
12128 (C_STD_NAME): Distinguish between C++98 and C++11.
12129
ac868f29
EB
121302012-04-11 Eric Botcazou <ebotcazou@adacore.com>
12131
12132 PR target/52624
12133 * c-common.h (uint16_type_node): Rename into...
12134 (c_uint16_type_node): ...this.
12135 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
12136 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
12137
fd4116f4
MLI
121382012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
12139
12140 * c-common.c (warn_if_unused_value): Move definition to here.
12141 * c-common.h (warn_if_unused_value): Move declaration to here.
12142
573ac65e
WB
121432012-03-23 William Bader <williambader@hotmail.com>
12144
12145 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
12146
552b8185
JM
121472012-03-20 Jason Merrill <jason@redhat.com>
12148
12149 * c-common.h (enum cxx_dialect): Add cxx1y.
12150 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
12151 test.
12152 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
12153 * c-opts.c (c_common_post_options): Likewise.
12154 (set_std_cxx1y): New.
12155 (c_common_handle_option): Call it.
12156 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
12157
04398fa8
PC
121582012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
12159
12160 PR c++/14710
12161 * c.opt ([Wuseless-cast]): Add.
12162
d2a12ae7
RG
121632012-03-16 Richard Guenther <rguenther@suse.de>
12164
12165 * c-pretty-print.c (pp_c_initializer_list): Adjust.
12166
a12bf402
MLI
121672012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
12168
12169 PR c++/44783
12170 * c.opt (ftemplate-backtrace-limit) Add.
12171
5c30094f
RO
121722012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12173
12174 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
12175 handling.
12176 * c-pragma.c (handle_pragma_extern_prefix): Remove.
12177 (init_pragma): Don't register extern_prefix.
12178
21fa2faf
RG
121792012-03-12 Richard Guenther <rguenther@suse.de>
12180
12181 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
12182 (builtin_type_for_size): Likewise.
12183
e3793c6f
JJ
121842012-02-13 Jakub Jelinek <jakub@redhat.com>
12185
12186 PR c++/52215
12187 * c-common.c (sync_resolve_params): Don't decide whether to convert
12188 or not based on TYPE_SIZE comparison, convert whenever arg_type
12189 is unsigned INTEGER_TYPE.
12190
93286335
PC
121912012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
12192
12193 PR c/52118
12194 * c.opt ([Wunused-local-typedefs]): Fix description.
12195
7a421706
MS
121962012-01-24 Mike Stump <mikestump@comcast.net>
12197
12198 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
12199 exactly.
12200
ba9b1f11
RG
122012012-01-18 Richard Guenther <rguenther@suse.de>
12202
12203 * c-opts.c (c_common_post_options): Reset LTO flags if
12204 we are about to generate a PCH.
12205
465406be
PC
122062012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
12207
12208 PR c++/51777
12209 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
12210 use pp_unsigned_wide_integer.
12211
aee15221
RG
122122012-01-10 Richard Guenther <rguenther@suse.de>
12213
12214 PR middle-end/51806
12215 * c-opts.c (c_common_handle_option): Move -Werror handling
12216 to language independent code.
12217
5720c0dc
RG
122182012-01-05 Richard Guenther <rguenther@suse.de>
12219
12220 PR middle-end/51764
12221 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
12222 from common.opt.
12223
73ac190a
PC
122242011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
12225
12226 PR c++/51316
12227 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
12228 of array types with an unknown bound.
12229
48b0b196
JM
122302011-12-20 Joseph Myers <joseph@codesourcery.com>
12231
12232 * c-common.c (flag_isoc99): Update comment to refer to C11.
12233 (flag_isoc1x): Change to flag_isoc11.
12234 * c-common.h (flag_isoc99): Update comment to refer to C11.
12235 (flag_isoc1x): Change to flag_isoc11.
12236 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
12237 C11.
12238 * c-opts.c (set_std_c1x): Change to set_std_c11.
12239 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
12240 Call set_std_c11.
12241 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
12242 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
12243 * c.opt (std=c1x): Change to std=c11. Document as non-draft
12244 standard.
12245 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
12246 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
12247 (std=gnu1x): Make alias of std=gnu11.
12248
d58d6eb5
JM
122492011-12-19 Jason Merrill <jason@redhat.com>
12250
12251 PR c++/51228
12252 * c-common.c (handle_transparent_union_attribute): Check the first
12253 field if the type is complete.
12254
b3908fcc
JW
122552011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
12256
12257 PR libstdc++/51365
12258 * c-common.c (RID_IS_FINAL): Add.
12259 * c-common.h (RID_IS_FINAL): Add.
12260
fea3ca91
IS
122612011-11-30 Iain Sandoe <iains@gcc.gnu.org>
12262
12263 * c.opt (fgnu-runtime): Provide full description.
12264 (fnext-runtime): Likewise.
12265 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
12266
62bad7cd
AM
122672011-11-28 Andrew MacLeod <amacleod@redhat.com>
12268
12269 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
12270 predefines in one place. Add LOCK_FREE predefines.
12271 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
12272 new func.
12273
c466c4ff
AM
122742011-11-24 Andrew MacLeod <amacleod@redhat.com>
12275
12276 PR c/51256
9faeb493 12277 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 12278 conditions
9faeb493
UB
12279 (resolve_overloaded_atomic_exchange,
12280 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
12281 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
12282 error_mark_node for error conditions.
9faeb493 12283
a5952633
RG
122842011-11-08 Richard Guenther <rguenther@suse.de>
12285
12286 PR middle-end/51010
ab20d992 12287 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 12288
0a35513e
AH
122892011-11-07 Richard Henderson <rth@redhat.com>
12290 Aldy Hernandez <aldyh@redhat.com>
12291 Torvald Riegel <triegel@redhat.com>
12292
12293 Merged from transactional-memory.
12294
12295 * c-common.c (handle_tm_wrap_attribute,
12296 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
12297 (struct c_common_reswords): Added __transaction* keywords.
12298 (struct c_common_attribute_table): Added transaction* and tm_regparm
12299 attributes.
12300 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
12301 masks.
12302 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
12303 find_tm_attribute): Declare.
12304
6d87092d
JM
123052011-11-07 Jason Merrill <jason@redhat.com>
12306
12307 PR c++/35688
12308 * c-common.c, c-common.h: Revert yesterday's changes.
12309
8e7860a1
JM
123102011-11-06 Jason Merrill <jason@redhat.com>
12311
12312 PR c++/35688
12313 * c-common.c (decl_has_visibility_attr): Split out from...
12314 (c_determine_visibility): ...here.
12315 * c-common.h: Declare it.
12316
d19fa6b5
JM
123172011-11-06 Joseph Myers <joseph@codesourcery.com>
12318
12319 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
12320 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
12321 type.
12322 (check_user_alignment): New. Split out of
12323 handle_aligned_attribute. Disallow integer constants with
12324 noninteger types. Conditionally allow zero.
12325 (handle_aligned_attribute): Use check_user_alignment.
12326 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
12327
86951993
AM
123282011-11-06 Andrew MacLeod <amacleod@redhat.com>
12329 Richard Henderson <rth@redhat.com>
12330
12331 Merged from cxx-mem-model.
12332
12333 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 12334 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
12335 parameters that are the same type size.
12336 (get_atomic_generic_size): New. Find size of generic
12337 atomic function parameters and do typechecking.
12338 (add_atomic_size_parameter): New. Insert size into parameter list.
12339 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
12340 either __atomic_exchange_n or external library call.
9faeb493 12341 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 12342 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 12343 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
12344 __atomic_load_n or an external library call.
12345 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
12346 __atomic_store_n or an external library call.
12347 (resolve_overloaded_builtin): Handle new __atomic builtins.
12348
cf9e9959
EB
123492011-11-04 Eric Botcazou <ebotcazou@adacore.com>
12350
12351 PR c++/50608
12352 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
12353 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
12354 <INDIRECT_REF>: Return the argument.
12355 <ARRAY_REF>: Remove special code for negative offset.
12356 Call fold_build_pointer_plus instead of size_binop.
12357 (fold_offsetof): Remove STOP_REF argument and adjust.
12358 * c-common.h (fold_offsetof_1): Declare.
12359 (fold_offsetof): Remove STOP_REF argument.
12360
25339f10
JM
123612011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
12362
12363 PR c++/50810
12364 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12365 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12366 Wnarrowing for C++0x and C++98.
12367 * c.opt ([Wnarrowing]): Update.
12368
89401152
PC
123692011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
12370
12371 PR c++/44277
12372 * c.opt: Add Wzero-as-null-pointer-constant.
12373
97e3ad20
JM
123742011-10-31 Jason Merrill <jason@redhat.com>
12375
15694fdd
JM
12376 * c.opt (-fdeduce-init-list): Off by default.
12377
97e3ad20
JM
12378 PR c++/50920
12379 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
12380 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
12381 and -Wc++11-compat.
12382 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
12383
fb9120e3
RAV
123842011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
12385
12386 PR c++/30066
12387 * c.opt (fvisibility-inlines-hidden): Description change.
12388
3ce4f9e4
ESR
123892011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
12390
12391 Implement C++11 user-defined literals.
12392 * c-common.c (build_userdef_literal): New.
12393 * c-common.def: New tree code.
12394 * c-common.h (tree_userdef_literal): New tree struct and accessors.
12395 * c-lex.c (interpret_float): Add suffix parm.
12396 (c_lex_with_flags): Build literal tokens.
12397
5f53c243
PC
123982011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12399
12400 PR c++/50841
12401 Revert:
12402 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12403
12404 PR c++/50810
12405 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12406 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12407 Wnarrowing for C++0x and C++98.
12408 * c.opt ([Wnarrowing]): Update.
12409
263734e1
PC
124102011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12411
12412 PR c++/50810
12413 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12414 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12415 Wnarrowing for C++0x and C++98.
12416 * c.opt ([Wnarrowing]): Update.
12417
d2e312d7
PC
124182011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
12419
12420 PR c++/45385
12421 * c-common.c (conversion_warning): Remove code looking for
12422 artificial operands.
12423
d17687f6
DS
124242011-10-18 Dodji Seketeli <dodji@redhat.com>
12425
12426 PR bootstrap/50760
12427 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 12428 !NO_IMPLICIT_EXTERN_C.
d17687f6 12429
fc8396e9
PC
124302011-10-17 Michael Spertus <mike_spertus@symantec.com>
12431
12432 * c-common.c (c_common_reswords): Add __bases,
12433 __direct_bases.
12434 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
12435
124362011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
12437
12438 PR c++/50757
12439 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
12440
847e697a
TT
124412011-10-15 Tom Tromey <tromey@redhat.com>
12442 Dodji Seketeli <dodji@redhat.com>
12443
12444 * c.opt (fdebug-cpp): New option.
12445 * c-opts.c (c_common_handle_option): Handle the option.
12446 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
12447 output stream in parameter. Factorized from ...
12448 (maybe_print_line): ... this. Dump location debug information when
12449 -fdebug-cpp is in effect.
12450 (print_line_1): New static function. Takes an output stream in
12451 parameter. Factorized from ...
12452 (print_line): ... here. Dump location information when -fdebug-cpp
12453 is in effect.
12454 (scan_translation_unit): Dump location information when
12455 -fdebug-cpp is in effect.
12456
92582b75
TT
124572011-10-15 Tom Tromey <tromey@redhat.com>
12458 Dodji Seketeli <dodji@redhat.com>
12459
12460 * c.opt (ftrack-macro-expansion): New option. Handle it with and
12461 without argument.
12462 * c-opts.c (c_common_handle_option)<case
12463 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
12464 cases. Handle -ftrack-macro-expansion with and without argument.
12465
46427374
TT
124662011-10-15 Tom Tromey <tromey@redhat.com>
12467 Dodji Seketeli <dodji@redhat.com>
12468
12469 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
12470 (print_line, cb_define, do_line_change): Adjust to avoid touching
12471 the internals of struct line_map. Use the public API instead.
12472 * c-pch.c (c_common_read_pch): Likewise.
12473 * c-lex.c (fe_file_change): Likewise.
12474
fc8396e9
PC
124752011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
12476
12477 PR c++/17212
12478 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
12479
124802011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
12481
12482 PR c++/33067
12483 * c-pretty-print.c (pp_c_floating_constant): Output
12484 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
12485
e79983f4
MM
124862011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
12487
12488 * c-common.c (def_builtin_1): Delete old interface with two
12489 parallel arrays to hold standard builtin declarations, and replace
12490 it with a function based interface that can support creating
12491 builtins on the fly in the future. Change all uses, and poison
12492 the old names. Make sure 0 is not a legitimate builtin index.
12493 * c-omp.c (c_finish_omp_barrier): Ditto.
12494 (c_finish_omp_taskwait): Ditto.
12495 (c_finish_omp_flush): Ditto.
12496
6637388f
TG
124972011-10-11 Tristan Gingold <gingold@adacore.com>
12498
12499 * c.opt: (fallow-parameterless-variadic-functions): New.
12500
3797cb21
DS
125012011-09-08 Dodji Seketeli <dodji@redhat.com>
12502
12503 PR c++/33255 - Support -Wunused-local-typedefs warning
12504 * c-common.h (struct c_language_function::local_typedefs): New
12505 field.
9faeb493
UB
12506 (record_locally_defined_typedef, maybe_record_typedef_use)
12507 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 12508 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
12509 (maybe_record_typedef_use)
12510 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
12511 * c.opt: Declare new -Wunused-local-typedefs flag.
12512
693ddb1b
EB
125132011-09-06 Eric Botcazou <ebotcazou@adacore.com>
12514
12515 PR middle-end/50266
12516 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
12517 computations.
12518
830c740f
RG
125192011-09-05 Richard Guenther <rguenther@suse.de>
12520
12521 * c-common.c (complete_array_type): Use ssize_int (-1) instead
12522 of integer_minus_one_node for empty array upper bounds.
12523
892a371f
DS
125242011-08-28 Dodji Seketeli <dodji@redhat.com>
12525
12526 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
12527 it's the first time it's being called on this main TU.
12528
0e3fdb48
RB
125292011-08-24 Richard Guenther <rguenther@suse.de>
12530
12531 PR c/49396
12532 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
12533
125342011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
12535
12536 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
12537 defined in cpp_init_builtins and c_cpp_builtins.
12538
d4a83c10
JM
125392011-08-19 Joseph Myers <joseph@codesourcery.com>
12540
12541 * c-common.c (c_common_reswords): Add __builtin_complex.
12542 * c-common.h (RID_BUILTIN_COMPLEX): New.
12543
bbceee64
JM
125442011-08-18 Joseph Myers <joseph@codesourcery.com>
12545
12546 * c-common.c (c_common_reswords): Add _Noreturn.
12547 (keyword_is_function_specifier): Handle RID_NORETURN.
12548 * c-common.h (RID_NORETURN): New.
12549
3f8257db 125502011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
12551
12552 * c-common.c (unsafe_conversion_p): New function. Check if it is
12553 unsafe to convert an expression to the type.
12554 (conversion_warning): Adjust, use unsafe_conversion_p.
12555 * c-common.h (unsafe_conversion_p): New function declaration.
12556
20906c66
JJ
125572011-08-02 Jakub Jelinek <jakub@redhat.com>
12558
12559 * c-common.h (c_finish_omp_atomic): Adjust prototype.
12560 (c_finish_omp_taskyield): New prototype.
12561 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
12562 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
12563 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
12564 or RHS1 have side-effects, evaluate those too in the right spot,
12565 if it is a decl and LHS is also a decl, error out if they
12566 aren't the same.
12567 (c_finish_omp_taskyield): New function.
12568 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
12569 * c-pragma.c (omp_pragmas): Add taskyield.
12570 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
12571 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
12572 PRAGMA_OMP_CLAUSE_MERGEABLE.
12573
770e5a2e
DS
125742011-07-25 Dodji Seketeli <dodji@redhat.com>
12575
12576 * c-common.h (set_underlying_type): Remove parm name from
12577 declaration.
12578
1baae426
RG
125792011-07-25 Romain Geissler <romain.geissler@gmail.com>
12580
12581 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 12582
fcb21722
JM
125832011-07-22 Jason Merrill <jason@redhat.com>
12584
76f86d00
JM
12585 PR c++/49793
12586 * c.opt (Wnarrowing): New.
12587
3a636414
JM
12588 PR c++/30112
12589 * c-common.h: Declare c_linkage_bindings.
12590 * c-pragma.c (handle_pragma_redefine_extname): Use it.
12591
fcb21722
JM
12592 PR c++/49813
12593 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
12594 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
12595 as flag_isoc99 for 'restrict'.
12596 (pp_c_specifier_qualifier_list): Likewise for _Complex.
12597
02614448
ILT
125982011-07-21 Ian Lance Taylor <iant@google.com>
12599
12600 PR middle-end/49705
12601 * c-common.c (c_disable_warnings): New static function.
12602 (c_enable_warnings): New static function.
12603 (c_fully_fold_internal): Change local unused_p to bool. Call
12604 c_disable_warnings and c_enable_warnings rather than change
12605 c_inhibit_evaluation_warnings.
12606
34429675
JM
126072011-07-20 Jason Merrill <jason@redhat.com>
12608
12609 PR c++/6709 (DR 743)
12610 PR c++/42603 (DR 950)
12611 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
12612 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
12613 (CPP_DECLTYPE): New.
12614 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
12615
5d49b6a7
RG
126162011-07-19 Richard Guenther <rguenther@suse.de>
12617
12618 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
12619 * c-omp.c (c_finish_omp_for): Likewise.
12620
e84a58ff
EB
126212011-07-12 Eric Botcazou <ebotcazou@adacore.com>
12622
12623 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
12624 body on the next line.
12625
329af3c7
JM
126262011-07-08 Jason Merrill <jason@redhat.com>
12627
4063e61b
JM
12628 PR c++/45437
12629 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
12630
329af3c7
JM
12631 PR c++/49673
12632 * c-common.c (c_apply_type_quals_to_decl): Don't check
12633 TYPE_NEEDS_CONSTRUCTING.
12634
1a072294
RG
126352011-07-06 Richard Guenther <rguenther@suse.de>
12636
12637 * c-common.c (c_common_nodes_and_builtins):
12638 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
12639
fce5dddd
RG
126402011-07-05 Richard Guenther <rguenther@suse.de>
12641
12642 * c-common.c (c_common_nodes_and_builtins): Build all common
12643 tree nodes first.
12644
45d439ac
JJ
126452011-06-27 Jakub Jelinek <jakub@redhat.com>
12646
56300785
JJ
12647 * c-common.h (c_tree_chain_next): New static inline function.
12648
45d439ac
JJ
12649 * c-common.c (check_builtin_function_arguments): Handle
12650 BUILT_IN_ASSUME_ALIGNED.
12651
e0a8ecf2
AM
126522011-06-21 Andrew MacLeod <amacleod@redhat.com>
12653
12654 * c-common.c: Add sync_ or SYNC__ to builtin names.
12655 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
12656
126572011-06-20 Pierre Vittet <piervit@pvittet.com>
12658
12659 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
12660 handler.
12661 (gen_pragma_handler): New union.
12662 (internal_pragma_handler): New type.
12663 (c_register_pragma_with_data)
12664 (c_register_pragma_with_expansion_and_data): New functions.
12665
12666 * c-pragma.c (registered_pragmas, c_register_pragma_1)
12667 (c_register_pragma, c_register_pragma_with_expansion)
12668 (c_invoke_pragma_handler): Changed to work with
12669 internal_pragma_handler.
12670 (c_register_pragma_with_data)
12671 (c_register_pragma_with_expansion_and_data): New functions.
12672
677f3fa8
JM
126732011-06-14 Joseph Myers <joseph@codesourcery.com>
12674
12675 * c-common.c: Include common/common-target.h.
12676 (handle_section_attribute): Use
12677 targetm_common.have_named_sections.
12678 * c-cppbuiltin.c: Include common/common-target.h.
12679 (c_cpp_builtins): Use targetm_common.except_unwind_info.
12680
d7fc8c14
RG
126812011-06-10 Richard Guenther <rguenther@suse.de>
12682
12683 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
12684 to print a IDENTIFIER_NODE.
12685
10e48e39
RO
126862011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12687 Joseph Myers <joseph@codesourcery.com>
12688
12689 * c.opt (fbuilding-libgcc): New option.
12690 * c-cppbuiltin.c (c_cpp_builtins): Define
12691 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
12692
6976ae51
JM
126932011-06-07 Jason Merrill <jason@redhat.com>
12694
3ff60975
JM
12695 * c-common.c (max_tinst_depth): Lower default to 900.
12696
6976ae51
JM
12697 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
12698
009db074
RG
126992011-06-07 Richard Guenther <rguenther@suse.de>
12700
12701 * c-common.c (c_common_nodes_and_builtins): Do not set
12702 size_type_node or call set_sizetype.
12703
b4592b92
DS
127042011-06-07 Dodji Seketeli <dodji@redhat.com>
12705
12706 PR debug/49130
12707 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 12708 type when using pointer comparison to compare types.
b4592b92 12709
014ab419
JW
127102011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
12711
12712 * c.opt: Add -Wdelete-non-virtual-dtor.
12713 * c-opts.c (c_common_handle_option): Include it in -Wall.
12714
4f60111f
NF
127152011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
12716
12717 PR bootstrap/49190
12718
12719 Revert:
12720 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12721
12722 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12723 not tree_common.
12724
4cc4f2f4
JJ
127252011-05-27 Jakub Jelinek <jakub@redhat.com>
12726
12727 PR c++/49165
12728 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
12729 C++ don't call c_common_truthvalue_conversion on void type arms.
12730
38e01f9e
NF
127312011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12732
12733 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12734 (stmt_list_stack): Define.
12735 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12736 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12737
92e948a8
NF
127382011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12739
12740 * c-common.c (warning_candidate_p): Check for BLOCKs.
12741
a2fc3e63
NF
127422011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12743
12744 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12745 not tree_common.
12746
0957c029
JJ
127472011-05-25 Jakub Jelinek <jakub@redhat.com>
12748
12749 * c-common.c (def_fn_type): Remove extra va_end.
12750
828fb3ba
JM
127512011-05-23 Jason Merrill <jason@redhat.com>
12752
12753 PR c++/48106
12754 * c-common.c (c_common_get_narrower): New.
12755 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12756
dde05067
NF
127572011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12758
12759 * c-common.h (check_function_arguments): Tweak prototype of
12760 check_function_arguments.
12761 * c-common.c (check_function_arguments): Likewise. Adjust
12762 calls to check_function_nonnull, check_function_format, and
12763 check_function_sentinel.
12764 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12765 separate attributes and typelist arguments. Use
12766 FOREACH_FUNCTION_ARGS to iterate over argument types.
12767
3c0d13bf
PC
127682011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12769
12770 * c-common.c (c_common_reswords): Reorder.
12771 * c-common.h (rid): Likewise.
12772
8242dd04
NF
127732011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12774
12775 * c-common.c (def_fn_type): Don't call build_function_type, call
12776 build_function_type_array or build_varargs_function_type_array
12777 instead.
12778 (c_common_nodes_and_builtins): Likewise.
12779
3d528853
NF
127802011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12781
12782 * c-common.c (c_add_case_label): Omit the loc argument to
12783 build_case_label.
12784 * c-common.h (build_case_label): Remove.
12785 * c-semantics.c (build_case_label): Remove.
12786
a04a722b
JM
127872011-05-05 Joseph Myers <joseph@codesourcery.com>
12788
12789 * c-objc.h (objc_start_method_definition): Update prototype.
12790 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12791
e19a18d4
NF
127922011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12793
12794 * c-common.c (check_main_parameter_types): Reindent. Don't use
12795 TYPE_ARG_TYPES directly.
12796 (handle_nonnull_attribute): Likewise.
12797 (sync_resolve_params): Likewise.
12798 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12799 to check_format_string.
12800 (handle_format_attribute): Likewise.
12801 (check_format_string): Take a function type to examine instead of
12802 a type list. Use a function_arg_iterator to step through argument
12803 types.
12804
c62c040f
RG
128052011-05-04 Richard Guenther <rguenther@suse.de>
12806
12807 * c-common.c (fix_string_type): Use size_int for index type bounds.
12808 (start_fname_decls): Do not pass NULL to build_int_cst.
12809 (c_init_attributes): Likewise.
12810 * c-lex.c (c_lex_with_flags): Likewise.
12811
c12ff9d8
JM
128122011-04-27 Jason Merrill <jason@redhat.com>
12813
12814 * c-common.c (make_tree_vector_from_list): New.
12815 * c-common.h: Declare it.
12816
304dfbe3
RG
128172011-04-26 Richard Guenther <rguenther@suse.de>
12818
12819 PR preprocessor/48248
12820 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12821 for output size with -P.
12822
3c0d13bf
PC
128232011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12824
12825 * c-common.c (struct c_common_resword): Add __underlying_type.
12826 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12827
04695783
JM
128282011-04-20 Jim Meyering <meyering@redhat.com>
12829
12830 * c-format.c (init_dollar_format_checking): Remove useless
12831 if-before-free.
12832
0dc33c3c
NP
128332011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12834
12835 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12836 (objc_detect_field_duplicates): New.
0dc33c3c 12837 * stub-objc.c: Likewise.
3c0d13bf 12838
c59633d9
NP
128392011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12840
12841 * stub-objc.c (objc_declare_protocols): Renamed to
12842 objc_declare_protocol.
12843 * c-objc.h: Likewise.
3c0d13bf 12844
32dabdaf
NP
128452011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12846
12847 * stub-objc.c (objc_declare_class): Updated argument name.
12848
81f653d6
NF
128492011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12850
12851 * c-common.h (c_common_init_ts): Declare.
12852 * c-common.c (c_common_init_ts): Define.
12853
eb345401
NP
128542011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12855
12856 * c-objc.h (objc_build_message_expr): Updated prototype.
12857 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12858
a358e188
MJ
128592011-04-12 Martin Jambor <mjambor@suse.cz>
12860
12861 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12862 of cgraph_node.
12863
e6313a78
RG
128642011-04-11 Richard Guenther <rguenther@suse.de>
12865
12866 * c-common.c (complete_array_type): Build a range type of
12867 proper type.
12868
dcf0c47e
NF
128692011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12870
12871 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12872 (handle_type_generic_attribute): Likewise.
12873
1ee44b26
JM
128742011-04-07 Jason Merrill <jason@redhat.com>
12875
12876 PR c++/48450
12877 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12878 conversion from C++0x scoped enum.
12879
acce4e77
JM
128802011-04-06 Joseph Myers <joseph@codesourcery.com>
12881
12882 * c-target-def.h: New file.
12883 * c-target.def: New file.
12884 * c-target.h: New file.
12885 * c-common.c (targetcm): Don't define here.
12886 * c-common.h (default_handle_c_option): Declare.
12887 * c-format.c: Include c-target.h instead of target.h.
12888 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12889 include tm.h.
12890 (default_handle_c_option): Move from targhooks.c.
12891
e2eefb55
JJ
128922011-03-29 Jakub Jelinek <jakub@redhat.com>
12893
12894 PR preprocessor/48248
12895 * c-ppoutput.c (print): Add src_file field.
12896 (init_pp_output): Initialize it.
12897 (maybe_print_line): Don't optimize by adding up to 8 newlines
12898 if map->to_file and print.src_file are different file.
12899 (print_line): Update print.src_file.
12900
ba78087b
KT
129012011-03-25 Kai Tietz <ktietz@redhat.com>
12902
12903 * c-ada-spec.c (compare_comment): Use filename_cmp
12904 instead of strcmp for filename.
12905
0edf1bb2
JL
129062011-03-25 Jeff Law <law@redhat.com>
12907
adfac8df 12908 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12909
c7dc8804
JM
129102011-03-25 Jason Merrill <jason@redhat.com>
12911
12912 * c.opt: Add -std=c++03.
12913
d1d879b1
EB
129142011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12915
12916 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12917
3f8257db 129182011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12919
12920 PR target/12171
5050afdf
KT
12921 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12922 Display allowed attributes for function pointer types.
12923 (pp_c_attributes_display): New function to display
12924 attributes having affects_type_identity flag set to true.
12925 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12926
62d784f7
KT
12927 * c-common.c (c_common_attribute_table):
12928 Add new element.
12929 (c_common_format_attribute_table): Likewise.
12930
82d37118
JM
129312011-03-18 Jason Merrill <jason@redhat.com>
12932
49a000c3
JM
12933 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12934 * c-common.h: Don't declare it here.
12935 * c-common.c: Or define it here.
12936 * c-opts.c (c_common_handle_option): Or set it here.
12937
82d37118
JM
12938 PR c++/35315
12939 * c-common.c (handle_transparent_union_attribute): Don't
12940 make a duplicate type in C++.
12941
17bc631c
JM
129422011-03-15 Jason Merrill <jason@redhat.com>
12943
12944 * c-common.c (max_constexpr_depth): New.
12945 * c-common.h: Declare it.
12946 * c-opts.c (c_common_handle_option): Set it.
12947 * c.opt (fconstexpr-depth): New option.
12948
1b9b91a6
JM
129492011-03-11 Jason Merrill <jason@redhat.com>
12950
f231b5ff
JM
12951 * c-common.c (attribute_takes_identifier_p): Add missing const.
12952
1b9b91a6
JM
12953 PR c++/46803
12954 * c-common.c (attribute_takes_identifier_p): Assume that an
12955 unknown attribute takes an identifier.
12956
a19e4d44
NF
129572011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12958
12959 PR c/47786
12960 * c-common.c (c_type_hash): Call list_length instead of iterating
12961 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12962
982d62f6
JJ
129632011-02-19 Jakub Jelinek <jakub@redhat.com>
12964
12965 PR c/47809
12966 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12967
0a256240
NP
129682011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12969
12970 * c.opt (fobjc-abi-version=) New.
12971 (fobjc-nilcheck): New.
12972
ba9e6dd5
NF
129732011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12974
12975 PR c++/46890
12976 * c-common.h (keyword_is_decl_specifier): Declare.
12977 * c-common.c (keyword_is_decl_specifier): Define.
12978 (keyword_is_function_specifier): New function.
12979
7273813a
JJ
129802011-01-26 Jakub Jelinek <jakub@redhat.com>
12981
12982 PR c/47473
12983 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12984 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12985 REAL_TYPE.
12986
908ef79b
AC
129872011-01-26 Arnaud Charlet <charlet@adacore.com>
12988
12989 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12990
237e9384
JJ
129912011-01-26 Jakub Jelinek <jakub@redhat.com>
12992
12993 PR pch/47430
12994 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12995 after init_c_lex if pch_file is set.
12996
47ea1edf
DK
129972011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12998
d4dba752 12999 PR c++/43601
47ea1edf
DK
13000 * c.opt (-fkeep-inline-dllexport): New switch.
13001
2aa9c6ae
RG
130022011-01-12 Richard Guenther <rguenther@suse.de>
13003
13004 PR middle-end/32511
13005 * c-common.c (handle_weak_attribute): Warn instead of error
13006 on declaring an inline function weak.
13007
7bd11157
TT
130082011-01-05 Tom Tromey <tromey@redhat.com>
13009
13010 * c-common.h (lvalue_error): Update.
13011 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
13012 not error.
13013
0e66e494 130142010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 13015
b4f588c4
NP
13016 PR objc/47075
13017 * c-objc.h (objc_finish_message_expr): Added argument to
13018 prototype.
13019
f4da8dce
NF
130202010-12-22 Nathan Froyd <froydnj@codesourcery.com>
13021
13022 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
13023 Use prototype_p.
13024
46270f14
NP
130252010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
13026
13027 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 13028 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 13029
4816c593
NF
130302010-12-10 Nathan Froyd <froydnj@codesourcery.com>
13031
13032 * c-common.h (readonly_error): Declare.
13033 * c-common.c (readonly_error): Define.
13034
7a6daeb0
NF
130352010-12-09 Nathan Froyd <froydnj@codesourcery.com>
13036
13037 * c-common.h (invalid_indirection_error): Declare.
13038 * c-common.c (invalid_indirection_error): Define.
13039
892f6119
RG
130402010-12-03 Richard Guenther <rguenther@suse.de>
13041
13042 PR c/46745
13043 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
13044 (pp_c_unary_expression): Likewise.
13045 (pp_c_expression): Likewise.
13046
6c39e757
NP
130472010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
13048
13049 * c-common.h (objc_finish_function): New.
13050 (objc_non_volatilized_type): Removed.
13051 (objc_type_quals_match): Removed.
13052 * stub-objc.c (objc_finish_function): New.
13053 (objc_non_volatilized_type): Removed.
13054 (objc_type_quals_match): Removed.
9faeb493 13055
7c475d11
JM
130562010-11-30 Joseph Myers <joseph@codesourcery.com>
13057
13058 * c-common.h (parse_optimize_options): Declare.
13059 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
13060 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
13061
71f3e391
JM
130622010-11-29 Joseph Myers <joseph@codesourcery.com>
13063
13064 * c-opts.c (check_deps_environment_vars): Use getenv instead of
13065 GET_ENVIRONMENT.
13066 * c-pch.c (O_BINARY): Don't define here.
13067 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
13068
d5fabb58
JM
130692010-11-25 Joseph Myers <joseph@codesourcery.com>
13070
13071 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
13072 targetm.except_unwind_info.
13073
299404a1
JM
130742010-11-23 Joseph Myers <joseph@codesourcery.com>
13075
13076 * c-opts.c (c_common_handle_option): Pass location to
13077 set_struct_debug_option.
13078
c98cd5bf
JM
130792010-11-23 Joseph Myers <joseph@codesourcery.com>
13080
13081 * c-common.c (visibility_options): Move from ../opts.c.
13082 * c-common.h (struct visibility_flags, visibility_options):
13083 Declare here.
13084 * c-opts.c (finish_options): Rename to c_finish_options.
13085 (c_common_init): Update call to finish_options.
13086
a9546771
NP
130872010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
13088
13089 PR objc/34033
13090 * c-lex.c (lex_string): Check that each string in an Objective-C
13091 string concat sequence starts with either one or zero '@', and
13092 that there are no spurious '@' signs at the end.
13093
24a57808
JM
130942010-11-20 Joseph Myers <joseph@codesourcery.com>
13095
13096 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
13097 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
13098 HANDLE_PRAGMA_VISIBILITY.
13099 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
13100 HANDLE_PRAGMA_VISIBILITY): Don't define.
13101 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
13102
a9aa2c3a
NF
131032010-11-20 Nathan Froyd <froydnj@codesourcery.com>
13104
13105 PR c++/16189
13106 PR c++/36888
13107 PR c++/45331
13108 * c-common.h (keyword_begins_type_specifier): Declare.
13109 (keyword_is_storage_class_specifier): Declare.
13110 (keyword_is_type_qualifier): Declare.
13111 * c-common.c (keyword_begins_type_specifier): New function.
13112 (keyword_is_storage_class_specifier): New function.
13113 (keyword_is_type_qualifier): Declare.
13114
5386338c
JM
131152010-11-19 Joseph Myers <joseph@codesourcery.com>
13116
13117 PR c/46547
13118 * c-common.c (in_late_binary_op): Define.
13119 (c_common_truthvalue_conversion): Check in_late_binary_op before
13120 calling c_save_expr.
13121 * c-common.h (in_late_binary_op): Declare.
13122
69ccdddb
JM
131232010-11-19 Joseph Myers <joseph@codesourcery.com>
13124
13125 * c-opts.c (c_common_handle_option): Update calls to
13126 set_struct_debug_option.
13127
6b192a09
NP
131282010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
13129
13130 * c-common.h (objc_declare_protocols): Added additional argument.
13131 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 13132
fb52b50a
NF
131332010-11-18 Nathan Froyd <froydnj@codesourcery.com>
13134
13135 PR c/33193
13136 * c-common.h (build_real_imag_expr): Declare.
13137 * c-semantics.c (build_real_imag_expr): Define.
13138
b37421c6
JM
131392010-11-17 Joseph Myers <joseph@codesourcery.com>
13140
13141 * c-opts.c (c_common_parse_file): Take no arguments.
13142 * c-common.h (c_common_parse_file): Update prototype.
13143
07078664
JJ
131442010-11-16 Jakub Jelinek <jakub@redhat.com>
13145
13146 PR c++/46401
13147 * c-common.c (warning_candidate_p): Don't track non-const calls
13148 or STRING_CSTs.
13149
c6a13190
ILT
131502010-11-15 Ian Lance Taylor <iant@google.com>
13151
13152 * c-lex.c (init_c_lex): Set macro debug callbacks if
13153 flag_dump_go_spec is set.
13154
925e8657
NP
131552010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
13156
13157 * c-common.h (objc_build_incr_expr_for_property_ref): New.
13158 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
13159
bb0a9581
NF
131602010-11-15 Nathan Froyd <froydnj@codesourcery.com>
13161
13162 PR preprocessor/45038
13163 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
13164 dialects.
13165
c5fa0890
JM
131662010-11-12 Joseph Myers <joseph@codesourcery.com>
13167
13168 * c-common.h (c_family_lang_mask): Declare.
13169 * c-opts.c (c_family_lang_mask): Make extern.
13170 * c-pragma.c (handle_pragma_diagnostic): Use
13171 control_warning_option.
13172
a4d8c676
JM
131732010-11-12 Joseph Myers <joseph@codesourcery.com>
13174
13175 * c-common.c (parse_optimize_options): Update call to
13176 decode_options.
13177 * c-common.h (c_common_handle_option): Update prototype.
13178 * c-opts.c (c_common_handle_option): Take location_t parameter and
13179 pass it to other functions.
13180
f954bd2c
JM
131812010-11-11 Joseph Myers <joseph@codesourcery.com>
13182
13183 * c-opts.c (warning_as_error_callback): Remove.
13184 (c_common_initialize_diagnostics): Don't call
13185 register_warning_as_error_callback.
13186 (c_common_handle_option): Handle -Werror=normalized= here.
13187
d8a07487
JM
131882010-11-10 Joseph Myers <joseph@codesourcery.com>
13189
13190 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
13191 in diagnostic.
13192 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
13193 letter.
13194 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
13195 Remove trailing '.' from diagnostics.
13196 * c.opt (Wwrite-strings_: Avoid '`' in help text.
13197
d5478783
JM
131982010-11-10 Joseph Myers <joseph@codesourcery.com>
13199
13200 * c-common.c (parse_optimize_options): Pass global_dc to
13201 decode_options.
13202 * c-opts.c (c_common_handle_option): Pass &global_options to
13203 set_Wstrict_aliasing.
13204 * c.opt (v): Don't mark Common or document here.
13205
91ebb981
IS
132062010-11-06 Iain Sandoe <iains@gcc.gnu.org>
13207
13208 PR target/44981
13209 * c-format.c (format_type): New type gcc_objc_string_format_type.
13210 (valid_stringptr_type_p): New.
13211 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 13212 (check_format_string): Pass expected type, use
91ebb981
IS
13213 valid_stringptr_type_p (), check that the format string types are
13214 consistent with the format specification.
13215 (decode_format_attr): Warn if NSString is used outside objective-c.
13216 (format_types_orig): Add NSString.
13217 (format_name): New.
13218 (format_flags): New.
13219 (check_format_arg): Handle format strings requiring an external parser.
13220 first_target_format_type: New variable.
13221 (handle_format_attribute): Set up first_target_format_type, pass the
13222 expected format arg string type to check_format_string().
ab20d992 13223 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
13224 * stub-objc.c (objc_string_ref_type_p): New.
13225 (objc_check_format_arg): New.
13226
bede2adc
NP
132272010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
13228
9faeb493 13229 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
13230 * c-common.h (objc_build_class_component_ref): New.
13231 * stub-objc.c (objc_build_class_component_ref): New.
13232
9a179d01
NP
132332010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
13234
13235 * c.opt (Wproperty-assign-default): New option.
13236
22d8d616
NP
132372010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
13238
13239 Implemented -fobjc-std=objc1 flag.
13240 * c.opt (fobjc-std=objc1): New option.
13241
2debdb4f
NP
132422010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
13243
13244 Implemented format and noreturn attributes for Objective-C methods.
13245 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
13246 attribute for Objective-C methods.
13247
ec52b111
JM
132482010-10-31 Jason Merrill <jason@redhat.com>
13249
13250 * c-common.c (conversion_warning, warn_for_collisions_1): Use
13251 EXPR_LOC_OR_HERE.
13252
46a88c12
NP
132532010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
13254
13255 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
13256 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
13257 (objc_add_property_declaration): Removed arguments for copies and
13258 ivar.
13259 (objc_build_getter_call): Renamed to
13260 objc_maybe_build_component_ref.
13261 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
13262 (objc_is_property_ref): New.
13263 * c-common.c (c_common_reswords): Removed copies and ivar.
13264 * stub-objc.c (objc_add_property_declaration): Removed arguments
13265 for copies and ivar.
13266 (objc_build_getter_call): Renamed to
13267 objc_maybe_build_component_ref.
13268 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
13269 (objc_is_property_ref): New.
9faeb493 13270
1e4bf85b
AC
132712010-10-29 Arnaud Charlet <charlet@adacore.com>
13272 Matthew Gingell <gingell@adacore.com>
13273
13274 * c-ada-spec.c (separate_class_package): New function.
13275 (pp_ada_tree_identifier): Prefix references to C++ classes with the
13276 name of their enclosing package.
13277 (print_ada_declaration): Use separate_class_package.
13278
81f0bab2
JM
132792010-10-27 Jason Merrill <jason@redhat.com>
13280
2b08f2c5
JM
13281 * c-common.c (c_common_reswords): Add __is_literal_type.
13282 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
13283
81f0bab2
JM
13284 * c-common.c (check_case_value): Remove special C++ code.
13285
200290f2
NP
132862010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13287
13288 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
13289 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
13290 and RID_LAST_PATTR.
13291 (objc_add_property_declaration): Added additional arguments.
13292 (objc_property_attribute_kind): Removed.
13293 (objc_set_property_attr): Removed.
13294 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
13295 copy and nonatomic.
13296 * stub-objc.c (objc_add_property_declaration): Added additional
13297 arguments.
13298 (objc_set_property_attr): Removed.
9faeb493 13299
f614132b
NP
133002010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13301
13302 * c-common.h (objc_add_property_variable): Renamed to
13303 objc_add_property_declaration. Added location argument.
13304 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 13305
b8a18805
NP
133062010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
13307
13308 * c-common.h (objc_maybe_printable_name): New.
13309 * stub-objc.c (objc_maybe_printable_name): New.
13310
3f8257db
JJ
133112010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
13312 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
13313
13314 * c-common.h (c_common_mark_addressable_vec): Declare.
13315 * c-common.c (c_common_mark_addressable_vec): New function.
13316
249a82c4
NP
133172010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13318
13319 * c-common.h (objc_set_method_type): Removed.
13320 (objc_add_method_declaration): Added boolean argument.
13321 (objc_start_method_definition): Same change.
13322 (objc_build_method_signature): Same change.
13323 * stub-objc.c (objc_set_method_type): Removed.
13324 (objc_add_method_declaration): Added boolean argument.
13325 (objc_start_method_definition): Same change.
13326 (objc_build_method_signature): Same change.
13327
977e30bc
NP
133282010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13329
13330 * c-common.h (finish_file): Removed.
13331 (objc_write_global_declarations): New.
13332 * c-opts.c (c_common_parse_file): Do not call finish_file.
13333 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 13334
da57d1b9
NP
133352010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13336
13337 Implemented parsing @synthesize and @dynamic for
13338 Objective-C/Objective-C++.
13339 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
13340 (objc_add_synthesize_declaration): New.
13341 (objc_add_dynamic_declaration): New.
13342 * c-common.c (c_common_reswords): Add synthesize and dynamic.
13343 * stub-objc.c (objc_add_synthesize_declaration): New.
13344 (objc_add_dynamic_declaration): New.
9faeb493 13345
0069111f
MM
133462010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
13347
13348 PR target/46041
13349 * c-cppbuiltin.c (mode_has_fma): Move function here from
13350 builtins.c. Don't use the fma optab, instead just use the
13351 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
13352 using -save-temps.
13353
e426b47b
NP
133542010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13355
13356 Merge from 'apple/trunk' branch on FSF servers.
0069111f 13357
3f8257db 13358 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 13359
9faeb493 13360 Radar 4330422
e426b47b
NP
13361 * c-common.h (objc_non_volatilized_type): New declaration
13362 * stub-objc.c (objc_non_volatilized_type): New stub.
13363
90fbfdc3
NP
133642010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
13365
e426b47b 13366 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 13367
ab20d992 13368 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 13369
9faeb493 13370 Radar 4133425
90fbfdc3 13371 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 13372 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 13373
c37d8c30
IS
133742010-10-17 Iain Sandoe <iains@gcc.gnu.org>
13375
13376 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
13377 * c-common.h (enum rid): Add RID_AT_PACKAGE.
13378 (objc_ivar_visibility_kind): New enum.
13379 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 13380 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
13381 visibility enum.
13382
1b1562a5
MM
133832010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
13384
13385 * c-cppbuiltin.c (builtin_define_float_constants): Emit
13386 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
13387 has the appropriate fma builtins.
13388 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
13389
668ea4b1
IS
133902010-10-14 Iain Sandoe <iains@gcc.gnu.org>
13391
1b1562a5 13392 merge from FSF apple 'trunk' branch.
3f8257db 13393 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 13394
668ea4b1
IS
13395 Radars 4436866, 4505126, 4506903, 4517826
13396 * c-common.c (c_common_resword): Define @property and its attributes.
13397 * c-common.h: Define property attribute enum entries.
13398 (OBJC_IS_PATTR_KEYWORD): New.
13399 (objc_property_attribute_kind): New enum.
13400 Declare objc_set_property_attr (), objc_add_property_variable (),
13401 objc_build_getter_call () and objc_build_setter_call ().
13402 * stub-objc.c (objc_set_property_attr): New stub.
13403 (objc_add_property_variable): Likewise.
13404 (objc_build_getter_call): Likewise.
13405 (objc_build_setter_call) Likewise.
1b1562a5 13406
a1178b30
IS
134072010-10-13 Iain Sandoe <iains@gcc.gnu.org>
13408
1b1562a5 13409 merge from FSF apple 'trunk' branch.
ab20d992 13410 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
13411
13412 Radar 3803157 (method attributes)
13413 * c-common.c (handle_deprecated_attribute): Recognize
13414 objc methods as valid declarations.
13415 * c-common.h: Declare objc_method_decl ().
1b1562a5 13416 * stub-objc.c (objc_method_decl): New stub.
a1178b30 13417
a75bfaa6
JM
134182010-10-08 Joseph Myers <joseph@codesourcery.com>
13419
13420 * c-common.c (parse_optimize_options): Call
13421 decode_cmdline_options_to_array_default_mask before
13422 decode_options. Update arguments to decode_options.
13423 * c-common.h (c_common_init_options_struct): Declare.
13424 * c-opts.c (c_common_init_options_struct): New. Split out from
13425 c_common_init_options.
13426
f05b9d93
NP
134272010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
13428
13429 Implemented fast enumeration for Objective-C.
13430 * c-common.h (objc_finish_foreach_loop): New.
13431 * stub-objc.c (objc_finish_foreach_loop): New.
13432
1ebe4b4f
JM
134332010-10-05 Joseph Myers <joseph@codesourcery.com>
13434
13435 * c-common.h (struct diagnostic_context): Don't declare here.
13436 (c_common_initialize_diagnostics): Declare using
13437 diagnostic_context typedef.
13438 * c-opts.c (c_common_handle_option): Pass global_dc to
13439 handle_generated_option.
13440
d4d24ba4
JM
134412010-10-04 Joseph Myers <joseph@codesourcery.com>
13442
13443 * c-opts.c (c_common_handle_option): Pass &global_options_set to
13444 handle_generated_option.
13445
478a1c5b
ILT
134462010-10-03 Ian Lance Taylor <iant@google.com>
13447
13448 * c.opt (-fplan9-extensions): New option.
13449
82a1c2fe
FXC
134502010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13451
13452 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
13453 Remove.
13454 (c_cpp_builtins): Call functions from cppbuiltin.c instead
13455 of duplicating code.
13456
92902b1b
IS
134572010-09-30 Iain Sandoe <iains@gcc.gnu.org>
13458
13459 * c-common.c: Add two new entries for @optional
13460 and @required keywords.
13461
13462 merge from FSF 'apple/trunk' branch.
3f8257db 13463 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
13464
13465 Radar 4386773
13466 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
13467 objective-c keywords.
13468 (objc_set_method_opt): New declaration.
13469 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 13470
46625112
JM
134712010-09-30 Joseph Myers <joseph@codesourcery.com>
13472
13473 * c-common.c (handle_optimize_attribute): Pass &global_options to
13474 cl_optimization_save and cl_optimization_restore.
13475 * c-opts.c (c_common_handle_option): Pass &global_options to
13476 handle_generated_option.
13477 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
13478 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
13479 &global_options to cl_optimization_restore.
13480
49b91f05
NP
134812010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
13482
13483 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
13484 Objective-C/Objective-C++ keywords.
13485
13ed556f 134862010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 13487
9faeb493
UB
13488 Merge from 'apple/trunk' branch on FSF servers.
13489
3f8257db 13490 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
13491
13492 Radar 4281748
13493 * c-common.h (objc_check_global_decl): New declaration.
13494 * stub-objc.c (objc_check_global_decl): New stub.
13495
f0036cca
JM
134962010-09-29 Joseph Myers <joseph@codesourcery.com>
13497
13498 * c.opt: Don't use VarExists.
13499
e3339d0f
JM
135002010-09-29 Joseph Myers <joseph@codesourcery.com>
13501
13502 * c-common.c (c_cpp_error): Update names of diagnostic_context
13503 members.
13504 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
13505 cl_optimization members.
13506 * c-opts.c (warning_as_error_callback, c_common_handle_option,
13507 sanitize_cpp_opts, finish_options): Update names of cpp_options
13508 members.
13509
1973201f
NP
135102010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
13511
13512 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
13513 (objc_is_reserved_word): Removed.
13514 * c-common.c: Updated comments.
13515 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
13516 objc_is_reserved_word.
13517 * stub-objc.c (objc_is_reserved_word): Removed.
13518
f7e71da5
IS
135192010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13520
9faeb493 13521 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
13522 include attributes.
13523 (objc_start_method_definition): Likewise.
13524 (objc_build_keyword_decl): Likewise.
13525 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
13526 (objc_start_method_definition): Likewise.
13527 (objc_build_keyword_decl): Likewise.
13528
c165dca7
IS
135292010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13530
13531 * c-common.h (objc_start_class_interface): Adjust prototype.
13532 (objc_start_category_interface): Likewise.
13533 (objc_start_protocol): Likewise.
13534 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
13535 (objc_start_class_interface): Likewise.
13536 (objc_start_category_interface): Likewise.
13537
7458026b
ILT
135382010-09-27 Ian Lance Taylor <iant@google.com>
13539
13540 * c-common.c (c_common_attribute_table): Add no_split_stack.
13541 (handle_no_split_stack_attribute): New static function.
13542
b581b85b
NP
135432010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
13544
9faeb493 13545 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 13546
3f8257db 13547 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 13548
9faeb493 13549 Radar 4229905
b581b85b
NP
13550 * c-common.h (objc_have_common_type): New declaration.
13551 * stub-objc.c (objc_have_common_type): New stub.
13552
13553 2005-06-22 Ziemowit Laski <zlaski@apple.com>
13554
13555 Radar 4154928
13556 * c-common.h (objc_common_type): New prototype.
9faeb493 13557 * stub-objc.c (objc_common_type): New stub.
b581b85b 13558
46a4da10
JH
135592010-09-24 Jan Hubicka <jh@suse.cz>
13560
13561 * c-common.c (handle_leaf_attribute): New function.
13562 (struct attribute_spec c_common_att): Add leaf.
13563
e200444e
JM
135642010-09-22 Joseph Myers <joseph@codesourcery.com>
13565
13566 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
13567 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
13568 -dump, -dump=, -imacros, -imacros=, -include, -include=,
13569 -include-barrier, -include-directory, -include-directory=,
13570 -include-directory-after, -include-directory-after=,
13571 -include-prefix, -include-prefix=, -include-with-prefix,
13572 -include-with-prefix=, -include-with-prefix-after,
13573 -include-with-prefix-after=, -include-with-prefix-before,
13574 -include-with-prefix-before=, -no-integrated-cpp,
13575 -no-line-commands, -no-standard-includes, -no-warnings, -output,
13576 -output=, -pedantic, -pedantic-errors, -preprocess,
13577 -print-missing-file-dependencies, -trace-includes, -traditional,
13578 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
13579 -user-dependencies, -verbose, -write-dependencies,
13580 -write-user-dependencies, no-integrated-cpp, traditional): New.
13581
29a80ea6
NP
135822010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13583
13584 PR objc/23710
ac1fc2fc
NP
13585 * c-common.h (objc_start_method_definition): Return bool instead
13586 of void.
13587 * stub-objc.c (objc_start_method_definition): Return bool instead
13588 of void.
13589
135902010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13591
13592 PR objc/25965
13593 * c-common.h (objc_get_interface_ivars): New declaration.
13594 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 13595
de621752
ILT
135962010-09-15 Ian Lance Taylor <iant@google.com>
13597
13598 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 13599 messages. Remove period at end of warning message.
de621752 13600
ba885ec5
NS
136012010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13602
13603 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
13604 (handle_alias_attribute): ... here.
13605 (handle_ifunc_attribute): New.
13606
c5ee1358
MM
136072010-09-06 Mark Mitchell <mark@codesourcery.com>
13608
13609 * c-common.h (do_warn_double_promotion): Declare.
13610 * c-common.c (do_warn_double_promotion): Define.
13611
0a0b3574
MM
136122010-09-05 Mark Mitchell <mark@codesourcery.com>
13613
13614 * c.opt (Wdouble-promotion): New.
13615
d1779886
JM
136162010-09-02 Joseph Myers <joseph@codesourcery.com>
13617
13618 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
13619 fvtable-thunks, fxref): Mark no longer supported in help text.
13620
2d2bd949
JM
136212010-09-02 Joseph Myers <joseph@codesourcery.com>
13622
13623 * c.opt (Wimport, fall-virtual, falt-external-templates,
13624 fdefault-inline, fenum-int-equiv, fexternal-templates,
13625 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
13626 fname-mangling-version-, fnew-abi, fnonnull-objects,
13627 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
13628 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
13629 applicable.
13630 (fhandle-exceptions): Mark with Alias and Warn.
13631 * c-opts.c (c_common_handle_option): Don't handle options marked
13632 as ignored.
13633
5de8299c
JM
136342010-09-02 Joseph Myers <joseph@codesourcery.com>
13635
13636 * c.opt (Wcomments, Werror-implicit-function-declaration,
13637 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
13638 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
13639 aliases.
13640 * c-common.c (option_codes): Use OPT_Wcomment instead of
13641 OPT_Wcomments.
13642 * c-opts.c (warning_as_error_callback, c_common_handle_option):
13643 Don't handle options marked as aliases.
13644
0ceb0201
RG
136452010-08-25 Richard Guenther <rguenther@suse.de>
13646
13647 * c-common.c (c_common_get_alias_set): Remove special
13648 handling for pointers.
13649
ac47786e
NF
136502010-08-20 Nathan Froyd <froydnj@codesourcery.com>
13651
13652 * c-common.c: Use FOR_EACH_VEC_ELT.
13653 * c-gimplify.c: Likewise.
13654 * c-pragma.c: Likewise.
13655
c878765b
JM
136562010-08-16 Joseph Myers <joseph@codesourcery.com>
13657
13658 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
13659 RejectDriver.
13660 (MMDX): Change back to MMD. Mark NoDriverArg instead of
13661 RejectDriver.
13662 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
13663 instead of OPT_MDX and OPT_MMDX.
13664
603349bf
JM
136652010-08-16 Joseph Myers <joseph@codesourcery.com>
13666
13667 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
13668
644fa7ac
JM
136692010-08-12 Joseph Myers <joseph@codesourcery.com>
13670
13671 * c.opt (MD, MMD): Change to MDX and MMDX.
13672 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
13673
481e1176
JM
136742010-08-11 Joseph Myers <joseph@codesourcery.com>
13675
13676 * c-opts.c (c_common_handle_option): Call handle_generated_option
13677 instead of handle_option.
13678
ac8dc9f7
NF
136792010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13680
13681 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
13682 (maybe_apply_renaming_pragma): Delete unneeded declarations.
13683
4f8c876d
NF
136842010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13685
13686 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
13687 (pending_redefine_extname): Change type to a VEC.
13688 (add_to_renaming_pragma_list): Update for new type of
13689 pending_redefine_extname.
ac8dc9f7 13690 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 13691
3b0c690e
AC
136922010-08-04 Arnaud Charlet <charlet@adacore.com>
13693
13694 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
13695 visited.
13696 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
13697 decide whether a type has already been declared/seen.
13698 Do not go to the original type.
13699 (dump_nested_types): New parameter forward.
13700 Generate forward declaration if needed and mark type as visited.
13701 (print_ada_declaration): Call dump_nested_types if not already done.
13702 Mark types as visited.
13703
1890bccc
JM
137042010-08-03 Joseph Myers <joseph@codesourcery.com>
13705
13706 * c.opt (-print-pch-checksum): Remove option.
13707 * c-opts.c (c_common_handle_option): Don't handle
13708 OPT_print_pch_checksum.
13709
5f20c657
JM
137102010-07-27 Joseph Myers <joseph@codesourcery.com>
13711
13712 * c-common.h (c_common_handle_option): Update prototype and return
13713 value type.
13714 * c-opts.c (c_common_handle_option): Update prototype and return
13715 value type. Update calls to handle_option and
13716 enable_warning_as_error.
13717
f551f80c
JJ
137182010-07-27 Jakub Jelinek <jakub@redhat.com>
13719
13720 PR c/45079
13721 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
13722
61ff2bdc
JM
137232010-07-27 Joseph Myers <joseph@codesourcery.com>
13724
13725 * c-common.h (c_common_missing_argument): Remove.
13726 * c-opts.c (c_common_missing_argument): Remove.
13727 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
13728 idirafter, imacros, include, isysroot, isystem, iquote): Add
13729 MissingArgError.
13730 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13731
7a9bf9a4
JM
137322010-07-27 Joseph Myers <joseph@codesourcery.com>
13733
13734 * c-common.h (c_common_option_lang_mask,
13735 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13736 New.
13737 (c_common_init_options): Update prototype.
13738 * c-opts.c (c_common_option_lang_mask): New.
13739 (c_common_initialize_diagnostics): Split out of
13740 c_common_init_options.
13741 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13742 New.
13743 (c_common_init_options): Update prototype. Use decoded options in
13744 search for -lang-asm.
13745
910ad8de
NF
137462010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13747
13748 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13749 * c-format.c: Likewise.
13750
718f9c0f
MLI
137512010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13752
13753 * c-common.h: Include diagnostic-core.h. Error if already
13754 included.
13755 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13756
4d451982
MLI
137572010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13758
adfac8df 13759 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13760 Do not include expr.h
13761 (vector_mode_valid_p): Move here.
13762
119fe915
SB
137632010-06-21 DJ Delorie <dj@redhat.com>
13764
13765 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13766 allow these pragmas anywhere.
13767
137682010-06-14 Jakub Jelinek <jakub@redhat.com>
13769
13770 PR bootstrap/44509
13771 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13772 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13773 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13774 ggc_strdup instead of xstrdup.
13775
137762010-06-10 Jakub Jelinek <jakub@redhat.com>
13777
13778 * c-cppbuiltin.c: Include cpp-id-data.h.
13779 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13780 (lazy_hex_fp_value): New function.
13781 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13782
6662d794
MLI
137832010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13784
13785 * c-gimplify.c: Do not include tree-flow.h
13786
38f8b050
JR
137872010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13788
13789 PR other/44034
13790 * c-common.c: Rename targetm member:
13791 targetm.enum_va_list -> targetm.enum_va_list_p
13792
9589f23e
AS
137932010-06-28 Anatoly Sokolov <aesok@post.ru>
13794
13795 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13796
3b06d379
SB
137972010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13798
13799 * c-cppbuiltin.c: Do not include except.h.
13800
d166d4c3
AK
138012010-06-24 Andi Kleen <ak@linux.intel.com>
13802
9faeb493
UB
13803 * c-common.c (warn_for_omitted_condop): New.
13804 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13805
70cb8be6
JM
138062010-06-21 Joseph Myers <joseph@codesourcery.com>
13807
13808 * c.opt (lang-objc): Remove.
13809 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13810
a4c97feb
JR
138112010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13812
13813 * c-opts.c: Include "tm_p.h".
13814
6e2f1956
JM
138152010-06-20 Joseph Myers <joseph@codesourcery.com>
13816
13817 * c-common.c (parse_optimize_options): Update call to
13818 decode_options.
13819
bc87224e
NF
138202010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13821
13822 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13823 new type of types_used_by_cur_var_decl.
13824
b49cf425
JR
138252010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13826
13827 PR bootstrap/44512
13828 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13829 for C++ standard compliance.
13830
59f9c2ed
JM
138312010-06-16 Jason Merrill <jason@redhat.com>
13832
13833 * c.opt: Add -Wnoexcept.
13834
33766b66
RG
138352010-06-16 Richard Guenther <rguenther@suse.de>
13836
13837 PR c/44555
13838 * c-common.c (c_common_truthvalue_conversion): Remove
13839 premature and wrong optimization concering ADDR_EXPRs.
13840
eff7e30c
AC
138412010-06-15 Arnaud Charlet <charlet@adacore.com>
13842
13843 * c-ada-spec.c (dump_sloc): Remove column info.
13844 (is_simple_enum): New function.
13845 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13846 enum types when relevant.
13847
6312e84d
MLI
138482010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13849
9faeb493 13850 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13851 location.
13852
1cb42611
JM
138532010-06-10 Joseph Myers <joseph@codesourcery.com>
13854
13855 * c-opts.c (c_common_handle_option): Don't handle
13856 OPT_fshow_column.
13857
a9429e29
LB
138582010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13859
13860 * c-pragma.c (push_alignment): Use typed GC allocation.
13861 (handle_pragma_push_options): Likewise.
13862
13863 * c-common.c (parse_optimize_options): Likewise.
13864
13865 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13866 option.
13867
5498f011
JM
138682010-06-07 Joseph Myers <joseph@codesourcery.com>
13869
13870 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13871 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13872 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13873 flag_signed_bitfields, warn_strict_null_sentinel,
13874 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13875 flag_gen_declaration, flag_no_gnu_keywords,
13876 flag_implement_inlines, flag_implicit_templates,
13877 flag_implicit_inline_templates, flag_optional_diags,
13878 flag_elide_constructors, flag_default_inline, flag_rtti,
13879 flag_conserve_space, flag_access_control, flag_check_new,
13880 flag_new_for_scope, flag_weak, flag_working_directory,
13881 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13882 flag_enforce_eh_specs, flag_threadsafe_statics,
13883 flag_pretty_templates): Remove.
13884 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13885 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13886 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13887 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13888 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13889 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13890 flag_no_gnu_keywords, flag_implement_inlines,
13891 flag_implicit_templates, flag_implicit_inline_templates,
13892 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13893 flag_rtti, flag_conserve_space, flag_access_control,
13894 flag_check_new, flag_new_for_scope, flag_weak,
13895 flag_working_directory, flag_use_cxa_atexit,
13896 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13897 flag_threadsafe_statics, flag_pretty_templates,
13898 warn_strict_null_sentinel): Remove.
13899 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13900 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13901 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13902 fimplicit-inline-templates, fimplicit-templates,
13903 flax-vector-conversions, fms-extensions, fnil-receivers,
13904 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13905 frtti, fshort-double, fshort-enums, fshort-wchar,
13906 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13907 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13908 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13909 gen-decls, undef): Use Var.
13910 (fdefault-inline, foptional-diags): Document as doing nothing.
13911 * c-opts.c (c_common_handle_option): Remove cases for options now
13912 using Var. Mark ignored options as such.
13913
39dabefd
SB
139142010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13915
9faeb493 13916 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13917 * c-common.def: Likewise.
13918 * c-common.h: Likewise.
13919 * c-cppbuiltin.c: Likewise.
13920 * c-dump.c: Likewise.
13921 * c-format.c: Likewise.
13922 * c-format.h : Likewise.
13923 * c-gimplify.c: Likewise.
13924 * c-lex.c: Likewise.
13925 * c-omp.c: Likewise.
13926 * c.opt: Likewise.
13927 * c-opts.c: Likewise.
13928 * c-pch.c: Likewise.
13929 * c-ppoutput.c: Likewise.
13930 * c-pragma.c: Likewise.
13931 * c-pragma.h: Likewise.
13932 * c-pretty-print.c: Likewise.
13933 * c-pretty-print.h: Likewise.
13934 * c-semantics.c: Likewise.
13935 * stub-objc.c: Likewise.
13936
13937 * c-common.c: Include gt-c-family-c-common.h.
13938 * c-pragma.c: Include gt-c-family-c-pragma.h.
13939\f
68127a8e 13940Copyright (C) 2010-2023 Free Software Foundation, Inc.
39dabefd
SB
13941
13942Copying and distribution of this file, with or without modification,
13943are permitted in any medium without royalty provided the copyright
13944notice and this notice are preserved.
This page took 5.207098 seconds and 5 git commands to generate.