]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
libstdc++: Fix dangling reference in filesystem::path::filename()
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
486a5037
GA
12022-10-26 Marek Polacek <polacek@redhat.com>
2
3 PR c++/106393
4 * c.opt (Wdangling-reference): New.
5
87f9c4a4
GA
62022-10-19 Joseph Myers <joseph@codesourcery.com>
7
8 * c-format.h (enum format_lengths): Add FMT_LEN_w8, FMT_LEN_w16,
9 FMT_LEN_w32, FMT_LEN_w64, FMT_LEN_wf8, FMT_LEN_wf16, FMT_LEN_wf32
10 and FMT_LEN_wf64.
11 (NOARGUMENTS, NOLENGTHS): Update definitions.
12 (T_I8, T2X_I8, T_I16, T2X_I16, T_I32, T2X_I32, T_I64, T2X_I64)
13 (T_U8, T2X_U8, T_U16, T2X_U16, T_U32, T2X_U32, T_U64, T2X_U64)
14 (T_IF8, T2X_IF8, T_IF16, T2X_IF16, T_IF32, T2X_IF32, T_IF64)
15 (T2X_IF64, T_UF8, T2X_UF8, T_UF16, T2X_UF16, T_UF32, T2X_UF32)
16 (T_UF64, T2X_UF64): New macros.
17 * c-format.cc (printf_length_specs, scanf_length_specs): Add wN
18 and wfN length modifiers.
19 (print_char_table, scan_char_table): Add entries using wN and wfN
20 length modifiers.
21
21de009f
GA
222022-10-18 Joseph Myers <joseph@codesourcery.com>
23
24 PR c/36113
25 * c-common.cc (c_common_type_for_size): Add fallback to
26 widest_unsigned_literal_type_node or
27 widest_integer_literal_type_node for precision that may not
28 exactly match the precision of those types.
29
baeec7cc
GA
302022-10-14 Jakub Jelinek <jakub@redhat.com>
31
32 * c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node,
33 predefine __BFLT16_*__ macros and for C++23 also
34 __STDCPP_BFLOAT16_T__. Predefine bfloat16_type_node related
35 macros for -fbuilding-libgcc.
36 * c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16.
37
382022-10-14 Jakub Jelinek <jakub@redhat.com>
39
40 PR middle-end/323
41 PR c++/107097
42 * c-common.def (EXCESS_PRECISION_EXPR): Remove comment part about
43 the tree being specific to C/ObjC.
44 * c-opts.cc (c_common_post_options): Handle flag_excess_precision
45 in C++ the same as in C.
46 * c-lex.cc (interpret_float): Set const_type to excess_precision ()
47 even for C++.
48
621a911d
GA
492022-10-13 Joseph Myers <joseph@codesourcery.com>
50
51 * c-cppbuiltin.cc (builtin_define_float_constants): Do not use
52 value 2 for *_IS_IEC_60559.
53
781f477a
GA
542022-10-12 Lewis Hyatt <lhyatt@gmail.com>
55
56 PR preprocessor/60014
57 PR preprocessor/60723
58 * c-ppoutput.cc (class token_streamer): Remove member
59 line_marker_emitted to...
60 (token_streamer::stream): ...a local variable here. Set
61 print.prev_was_system_token on all code paths.
62
27bfe54e
GA
632022-10-10 Nathan Sidwell <nathan@acm.org>
64
65 * c-opts.cc (c_common_post_options): Bump abi to 18.
66
672022-10-10 Marek Polacek <polacek@redhat.com>
68
69 PR c++/106937
70 * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU
71 attributes here.
72 (c_pretty_printer::direct_abstract_declarator): Print the standard [[]]
73 attributes here.
74 (pp_c_attributes): Remove.
75 (pp_c_attributes_display): Print the [[]] form if appropriate. Use
76 get_attribute_name. Don't print a trailing space when printing the
77 [[]] form.
78 * c-pretty-print.h (pp_c_attributes): Remove.
79
9ff6c33e
GA
802022-10-07 Qing Zhao <qing.zhao@oracle.com>
81
82 * c-attribs.cc (handle_strict_flex_array_attribute): New function.
83 (c_common_attribute_table): New item for strict_flex_array.
84 * c.opt: (fstrict-flex-arrays): New option.
85 (fstrict-flex-arrays=): New option.
86
872022-10-07 Martin Liska <mliska@suse.cz>
88
89 * name-hint.h: Use std::move.
90
912022-10-07 Jakub Jelinek <jakub@redhat.com>
92
93 * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute
94 only in gnu namespace or as standard attribute, treat fallthrough
95 attributes in other namespaces like any other unknown attribute.
96
629d04d3
GA
972022-10-06 Joseph Myers <joseph@codesourcery.com>
98
99 * c-common.cc (c_common_reswords): Mark typeof as D_EXT11. Add
100 typeof_unqual.
101 * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL.
102 (D_EXT11): New macro. Values of subsequent macros updated.
103
1042022-10-06 Jakub Jelinek <jakub@redhat.com>
105
106 PR c++/106654
107 * c-attribs.cc (handle_assume_attribute): New function.
108 (c_common_attribute_table): Add entry for assume attribute.
109 * c-lex.cc (c_common_has_attribute): Handle
110 __have_cpp_attribute (assume).
111
85872a69
GA
1122022-10-04 Jakub Jelinek <jakub@redhat.com>
113
114 * c-omp.cc (c_omp_directives): Uncomment begin declare target
115 entry.
116
69fd6dcc
GA
1172022-10-03 Patrick Palka <ppalka@redhat.com>
118
119 * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of
120 RID_IS_SAME_AS.
121
1222022-10-03 Joseph Myers <joseph@codesourcery.com>
123
124 * c-cppbuiltin.cc (builtin_define_float_constants): Do not
125 special-case __*_EPSILON__ setting for IBM long double for C2x.
126
3a221b73
GA
1272022-09-30 Patrick Palka <ppalka@redhat.com>
128
129 * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle
130 C++ traits.
131 * c-common.h (enum rid): Likewise.
132
bbdcdf5c
GA
1332022-09-29 Joseph Myers <joseph@codesourcery.com>
134
135 * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for
136 C.
137
1382022-09-29 Patrick Palka <ppalka@redhat.com>
139
140 * c-common.cc (c_common_reswords): Add __remove_cv,
141 __remove_reference and __remove_cvref.
142 * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
143 and RID_REMOVE_CVREF.
144
1f16a020
GA
1452022-09-27 Marek Polacek <polacek@redhat.com>
146
147 PR c++/101165
148 PR c++/106882
149 * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move.
150
1512022-09-27 Marek Polacek <polacek@redhat.com>
152
153 * c-format.cc (c_keywords): Drop nothrow.
154
1552022-09-27 Jakub Jelinek <jakub@redhat.com>
156
157 PR c++/106651
158 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
159 __cpp_static_call_operator=202207L for C++23.
160
1612022-09-27 Jakub Jelinek <jakub@redhat.com>
162
163 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME,
164 PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN. Rename
165 PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
166 * c-pragma.cc (omp_pragmas): Add assumes and begin.
167 For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
168 (omp_pragmas_simd): Add assume.
169 * c-common.h (c_omp_directives): Declare.
170 * c-omp.cc (omp_directives): Rename to ...
171 (c_omp_directives): ... this. No longer static. Uncomment
172 assume, assumes, begin assumes and end assumes entries.
173 In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET
174 to PRAGMA_OMP_END.
175 (c_omp_categorize_directive): Adjust for omp_directives to
176 c_omp_directives renaming.
177
1782022-09-27 Jakub Jelinek <jakub@redhat.com>
179
180 PR c++/106652
181 PR c++/85518
182 * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
183 _Float{32,64,128}x flags from D_CONLY to 0.
184 (shorten_binary_op): Punt if common_type returns error_mark_node.
185 (shorten_compare): Likewise.
186 (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
187 and _Float{32,64,128}x builtin types if available. For C++
188 clear float128t_type_node.
189 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
190 __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
191 * c-lex.cc (interpret_float): For q/Q suffixes prefer
192 float128t_type_node over float128_type_node. Allow
193 {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
194 for C++20 and older. Allow {f,F}{32,64,128}x suffixes for C++
195 with pedwarn. Don't call excess_precision_type for C++.
196
220c4d8e
GA
1972022-09-26 Marek Polacek <polacek@redhat.com>
198
199 PR c++/106656
200 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t
201 for C++20.
202
4afaeaab
GA
2032022-09-23 Marek Polacek <polacek@redhat.com>
204
205 PR c++/106784
206 * c-common.cc (c_common_reswords): Add __is_convertible and
207 __is_nothrow_convertible.
208 * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and
209 RID_IS_NOTHROW_CONVERTIBLE.
210
279c6715
GA
2112022-09-22 David Malcolm <dmalcolm@redhat.com>
212
213 PR c/106830
214 * c-warn.cc (check_for_xor_used_as_pow): Don't try checking
215 values that don't fit in uhwi.
216
d0fc05e8
GA
2172022-09-15 Richard Biener <rguenther@suse.de>
218
219 * c-common.h (build_void_list_node): Remove.
220 * c-common.cc (c_common_nodes_and_builtins): Do not initialize
221 void_list_node.
222
861d1a11
GA
2232022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
224
225 * c-format.cc (convert_format_name_to_system_name): Fix warning.
226
fe2a8ce9
GA
2272022-09-07 Joseph Myers <joseph@codesourcery.com>
228
229 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY
230 for alignas, alignof, bool, false, static_assert, thread_local and
231 true.
232
2332022-09-07 Jakub Jelinek <jakub@redhat.com>
234
235 * c.opt (Winvalid-utf8): Use ObjC instead of objC. Remove
236 " in comments" from description.
237 (Wunicode): New option.
238
25aeb922
GA
2392022-09-06 Jakub Jelinek <jakub@redhat.com>
240
241 PR c/106836
242 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
243
83f2f228
GA
2442022-09-03 Jakub Jelinek <jakub@redhat.com>
245
246 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
247 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
248 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
249 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
250
c64b0947
GA
2512022-09-02 David Malcolm <dmalcolm@redhat.com>
252
253 PR c/90885
254 * c-common.h (check_for_xor_used_as_pow): New decl.
255 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
256 * c-warn.cc (check_for_xor_used_as_pow): New.
257 * c.opt (Wxor-used-as-pow): New.
258
bb0a1556
GA
2592022-09-01 Jason Merrill <jason@redhat.com>
260
261 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
262 char8_t.
263 (braced_list_to_string): Check for char-sized elements.
264
2652022-09-01 Jakub Jelinek <jakub@redhat.com>
266
267 PR c++/106655
268 * c.opt (-Winvalid-utf8): New warning.
269 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
270 Set cpp_opts->cpp_input_charset_explicit.
271 (c_common_post_options): If -finput-charset=UTF-8 is explicit
272 in C++23, enable -Winvalid-utf8 by default and if -pedantic
273 or -pedantic-errors, make it a pedwarn.
274
542c60c4
GA
2752022-08-31 Joseph Myers <joseph@codesourcery.com>
276
277 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
278 for LABEL_DECL.
279 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
280 decl_attributes.
281 * c-common.h (do_case, c_add_case_label): Update declarations.
282 * c-lex.cc (c_common_has_attribute): For C, produce a result of
283 201910 for fallthrough and 202106 for maybe_unused.
284
16f542d6
GA
2852022-08-26 Marek Polacek <polacek@redhat.com>
286
287 PR c++/81159
288 * c.opt (Wself-move): New option.
289
2902022-08-26 Jakub Jelinek <jakub@redhat.com>
291
292 * c-common.cc (check_builtin_function_arguments): Handle
293 BUILT_IN_ISSIGNALING.
294
2952022-08-26 Jakub Jelinek <jakub@redhat.com>
296
297 PR c++/106648
298 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
299 __cpp_named_character_escapes to 202207L.
300
5d4389dc
GA
3012022-08-25 Marek Polacek <polacek@redhat.com>
302
303 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
304 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
305 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
306 (struct c_common_resword): Resize the disable member.
307 (D_C2X): Add.
308 (nullptr_node): Define.
309 (nullptr_type_node): Define.
310 (NULLPTR_TYPE_P): Define.
311 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
312 NULLPTR_TYPE.
313 (c_pretty_printer::direct_abstract_declarator): Likewise.
314 (c_pretty_printer::constant): Likewise.
315
47a61e65
GA
3162022-08-16 Tom Honermann <tom@honermann.net>
317
318 PR c++/106423
319 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
320 diagnostics in C++20 and later.
321 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
322
5cd525f0
GA
3232022-08-11 Marek Polacek <polacek@redhat.com>
324
325 PR middle-end/102633
326 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
327 suppress_warning here.
328
5f17badb
GA
3292022-08-08 Tom Honermann <tom@honermann.net>
330
331 PR preprocessor/106426
332 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
333 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
334
3352022-08-08 Tom Honermann <tom@honermann.net>
336
337 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
338 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
339 enabled.
340 * c-opts.cc (c_common_post_options): Set flag_char8_t if
341 targeting C2x.
342
4a7274dd
GA
3432022-07-31 Lewis Hyatt <lhyatt@gmail.com>
344
345 PR c++/66290
346 * c-common.h: Rename global done_lexing to
347 override_libcpp_locations.
348 * c-common.cc (c_cpp_diagnostic): Likewise.
349 * c-opts.cc (c_common_finish): Set override_libcpp_locations
350 (formerly done_lexing) immediately prior to calling cpp_finish ().
351
1e2c5f4c
GA
3522022-07-27 Lewis Hyatt <lhyatt@gmail.com>
353
354 * c-ppoutput.cc (token_streamer::stream): Update input_location
355 prior to streaming each token.
356
0e6fa997
GA
3572022-07-23 Immad Mir <mirimmad@outlook.com>
358
359 * c-attribs.cc: (c_common_attribute_table): add three new attributes
360 namely: fd_arg, fd_arg_read and fd_arg_write.
361 (handle_fd_arg_attribute): New.
362
bdc7b765
GA
3632022-07-15 Marek Polacek <polacek@redhat.com>
364
365 PR c++/104477
366 * c-common.cc (c_common_reswords): Add
367 __reference_constructs_from_temporary and
368 __reference_converts_from_temporary.
369 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
370 RID_REF_CONVERTS_FROM_TEMPORARY.
371
3722022-07-15 Jonathan Wakely <jwakely@redhat.com>
373
374 * c-format.cc (class range_label_for_format_type_mismatch):
375 Adjust to new label_text API.
376
c72d4714
GA
3772022-07-11 Lewis Hyatt <lhyatt@gmail.com>
378
379 PR preprocessor/106252
380 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
381 option argument prior to verifying the option was found.
382
6345c414
GA
3832022-07-07 David Malcolm <dmalcolm@redhat.com>
384
385 * c-format.cc (range_label_for_format_type_mismatch::get_text):
386 Update for removal of label_text::maybe_free in favor of automatic
387 memory management.
388
4bc92c3b
GA
3892022-07-06 Lewis Hyatt <lhyatt@gmail.com>
390
391 PR preprocessor/53920
392 PR c++/53431
393 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
394 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
395 (c_pp_stream_token): Declare.
396 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
397 pragmas to...
398 (should_output_pragmas): ...here. New function.
399 (token_streamer::stream): Support handling early pragmas.
400 (do_line_change): Likewise.
401 (c_pp_stream_token): New function.
402 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
403 (pragma_diagnostic_lex_normal): New function. Moved logic for
404 interpreting GCC diagnostic pragmas here.
405 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
406 directly from libcpp.
407 (handle_pragma_diagnostic): Refactor into helper function...
408 (handle_pragma_diagnostic_impl): ...here. New function.
409 (handle_pragma_diagnostic_early): New function.
410 (handle_pragma_diagnostic_early_pp): New function.
411 (struct pragma_ns_name): Renamed to...
412 (struct pragma_pp_data): ...this. Add new "early_handler" member.
413 (c_register_pragma_1): Support early pragmas in the preprocessor.
414 (c_register_pragma_with_early_handler): New function.
415 (c_register_pragma): Support the new early handlers in struct
416 internal_pragma_handler.
417 (c_register_pragma_with_data): Likewise.
418 (c_register_pragma_with_expansion): Likewise.
419 (c_register_pragma_with_expansion_and_data): Likewise.
420 (c_invoke_early_pragma_handler): New function.
421 (c_pp_invoke_early_pragma_handler): New function.
422 (init_pragma): Add early pragma support for diagnostic pragmas.
423 * c-pragma.h (struct internal_pragma_handler): Add new early handler
424 members.
425 (c_register_pragma_with_early_handler): Declare.
426 (c_invoke_early_pragma_handler): Declare.
427 (c_pp_invoke_early_pragma_handler): Declare.
428
d1f3a3ff
GA
4292022-07-05 Marek Polacek <polacek@redhat.com>
430
431 PR c++/105626
432 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
433 u8 strings.
434
ed974488
GA
4352022-07-01 Marek Polacek <polacek@redhat.com>
436
437 PR c++/106111
438 * c-common.h (enum rid): Update RID_LAST_CXX20.
439
976196b3
GA
4402022-06-30 Jonathan Wakely <jwakely@redhat.com>
441
442 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
443 names.
444
84c2131d
GA
4452022-06-24 Jason Merrill <jason@redhat.com>
446
447 PR c++/87729
448 PR c++/20423
449 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
450
4390e7bf
GA
4512022-06-18 Jakub Jelinek <jakub@redhat.com>
452
453 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
454 Use flag_sanitize_trap & SANITIZE_??? instead of
455 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
456 and flag_sanitize_trap differs for them, emit __builtin_trap only
457 for the comparison where trap is requested.
458 (ubsan_instrument_vla, ubsan_instrument_return): Use
459 lag_sanitize_trap & SANITIZE_??? instead of
460 flag_sanitize_undefined_trap_on_error.
461
c3642271
GA
4622022-06-13 Jason Merrill <jason@redhat.com>
463
464 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
465
d9176e64
GA
4662022-05-27 Marek Polacek <polacek@redhat.com>
467
468 PR c/90658
469 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
470
4712022-05-27 Jakub Jelinek <jakub@redhat.com>
472
473 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
474
57f2ce6a
GA
4752022-05-20 David Malcolm <dmalcolm@redhat.com>
476
477 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
478 and "override".
479 * c-pretty-print.h: Likewise.
480
1cda629f
GA
4812022-05-18 Marek Polacek <polacek@redhat.com>
482
483 PR c/105131
484 * c.opt (Wenum-int-mismatch): New.
485
4862022-05-18 Marek Polacek <polacek@redhat.com>
487
488 PR c++/105497
489 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
490 enumerator when it was marked with attribute unused.
491
4922022-05-18 Eric Botcazou <ebotcazou@adacore.com>
493
494 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
495 floating-point complex types.
496 <POINTER_TYPE>: Do not use limited_with clause if the designated
497 type is a scalar type.
498
3d9439b1
GA
4992022-05-17 Jakub Jelinek <jakub@redhat.com>
500
501 * c-omp.cc (c_finish_omp_depobj): Handle
502 OMP_CLAUSE_DEPEND_INOUTSET.
503
702bd11f
GA
5042022-05-16 Jason Merrill <jason@redhat.com>
505
506 PR c/105492
507 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
508 here.
509
5102022-05-16 Martin Liska <mliska@suse.cz>
511
512 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
513 (c_common_nodes_and_builtins): Likewise.
514 * c-format.cc (check_tokens): Likewise.
515 (check_plain): Likewise.
516 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
517 (init_pragma): Likewise.
518 * known-headers.cc (get_string_macro_hint): Likewise.
519 (get_stdlib_header_for_name): Likewise.
520 * c-attribs.cc: Likewise.
521
9df4ffe4
GA
5222022-05-13 Richard Biener <rguenther@suse.de>
523
524 * c-omp.cc: Remove gimple-fold.h include.
525
49ace834
GA
5262022-05-12 Jakub Jelinek <jakub@redhat.com>
527
528 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
529 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
530 if null_pointer_node.
531
d0d513b5
GA
5322022-05-11 Martin Liska <mliska@suse.cz>
533
534 PR target/105355
535 * c-opts.cc (c_common_handle_option): Change option name.
536 * c.opt: Remove Joined and use Separate option.
537
bd022ff9
GA
5382022-05-09 Alex Coplan <alex.coplan@arm.com>
539
540 * c-common.h (get_dump_info): Delete.
541 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
542 from the global dump_manager instead of the (now obsolete)
543 get_dump_info.
544 * c-opts.cc (original_dump_file): Delete.
545 (original_dump_flags): Delete.
546 (c_common_parse_file): Switch to using global dump_manager to
547 manage the original dump file; fix leak of dump file.
548 (get_dump_info): Delete.
549
a1947c92
GA
5502022-05-07 Marek Polacek <polacek@redhat.com>
551
552 PR c++/101833
553 PR c++/47634
554 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
555 with FN being either a function declaration or function type. Use
556 maybe_adjust_arg_pos_for_attribute.
557 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
558 check_function_format.
559 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
560 (positional_argument): Adjust.
561 * c-format.cc (get_constant): Rename to ...
562 (validate_constant): ... this. Take EXPR by reference. Return bool
563 instead of tree.
564 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
565 return value of validate_constant.
566 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
567 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
568 (check_function_format): Adjust a parameter name.
569 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
570
3e7db517
GA
5712022-05-04 Marek Polacek <polacek@redhat.com>
572
573 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
574 char to int.
575
95874f95
GA
5762022-04-30 Jason Merrill <jason@redhat.com>
577
578 PR c/100545
579 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
580 and typedef.
581 * c-common.cc (set_underlying_type): Add assert.
582
01ad093b
GA
5832022-04-26 Patrick Palka <ppalka@redhat.com>
584
585 PR c++/105304
586 * c-common.cc (verify_tree) [restart]: Move up to before the
587 NULL test.
588
da066c42
GA
5892022-04-11 Jakub Jelinek <jakub@redhat.com>
590
591 PR c++/105186
592 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
593 and __int%d__ builtin types, initialize corresponding ridpointers
594 entry.
595
150ab50f
GA
5962022-03-30 Marek Polacek <polacek@redhat.com>
597
598 PR c++/101030
599 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
600 conversion_warning when OP1 is null.
601
6022022-03-30 Thomas Schwinge <thomas@codesourcery.com>
603
604 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
605 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
606 option properties.
607
6082022-03-30 Thomas Schwinge <thomas@codesourcery.com>
609
610 * c.opt (Wuse-after-free): Remove.
611
6122022-03-30 Thomas Schwinge <thomas@codesourcery.com>
613
614 * c.opt (Warray-bounds): Remove.
615
d2906412
GA
6162022-03-26 Thomas Schwinge <thomas@codesourcery.com>
617
618 * c.opt: Properly quote comment.
619
31e989a2
GA
6202022-03-25 Eric Botcazou <ebotcazou@adacore.com>
621
622 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
623 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
624 the referenced type instead. Deal with the anonymous original type
625 of a typedef'ed type. In the actual access case, follow the chain
626 of external subtypes.
627 <TYPE_DECL>: Tidy up control flow.
628
d156bb87
GA
6292022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
630
631 * c-ada-spec.cc: Change array length
632
d7f00da1
GA
6332022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
634
635 * c-common.cc (c_family_tests): Call the new tests.
636 * c-common.h (c_diagnostic_tests): Declare.
637 (c_opt_problem_cc_tests): Likewise.
638
6392022-03-19 Jakub Jelinek <jakub@redhat.com>
640
641 PR c++/101515
642 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
643 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
644 be printed.
645
9fc8f278
GA
6462022-03-16 Christophe Lyon <christophe.lyon@arm.com>
647 Roger Sayle <roger@nextmovesoftware.com>
648
649 PR c/98198
650 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
651
6522022-03-16 Patrick Palka <ppalka@redhat.com>
653
654 PR c++/96780
655 * c.opt: Add -ffold-simple-inlines.
656
b9756c08
GA
6572022-03-13 Tobias Burnus <tobias@codesourcery.com>
658
659 * c-target.def (check_string_object_format_arg): Fix description typo.
660
57eeedda
GA
6612022-03-12 Thomas Schwinge <thomas@codesourcery.com>
662
663 PR other/65095
664 * c-common.h (c_omp_map_clause_name): Remove.
665 * c-omp.cc (c_omp_map_clause_name): Remove.
666
8cc4f9cd
GA
6672022-03-09 Jakub Jelinek <jakub@redhat.com>
668
669 PR c/104711
670 * c-opts.cc (c_common_post_options): Don't enable
671 -Wshift-negative-value from -Wextra for C++20 or later.
672 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
673 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
674 instead of TYPE_UNSIGNED.
675
e6533e2e
GA
6762022-03-07 Jakub Jelinek <jakub@redhat.com>
677
678 * c-attribs.cc: Fix up duplicated word issue in a comment.
679
12d4552e
GA
6802022-03-01 Martin Liska <mliska@suse.cz>
681
682 PR ipa/104533
683 * c-attribs.cc (handle_target_clones_attribute): Use
684 get_target_clone_attr_len and report warning soon.
685
0bdb0498
GA
6862022-02-17 Jonathan Wakely <jwakely@redhat.com>
687
688 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
689 (handle_pragma_weak): Likewise.
690 (handle_pragma_scalar_storage_order): Likewise.
691 (handle_pragma_redefine_extname): Likewise.
692 (handle_pragma_visibility): Likewise.
693 (handle_pragma_diagnostic): Likewise.
694 (handle_pragma_target): Likewise.
695 (handle_pragma_optimize): Likewise.
696 (handle_pragma_push_options): Likewise.
697 (handle_pragma_pop_options): Likewise.
698 (handle_pragma_reset_options): Likewise.
699 (handle_pragma_message): Likewise.
700 (handle_pragma_float_const_decimal64): Likewise.
701
cb3afcd2
GA
7022022-02-16 Jakub Jelinek <jakub@redhat.com>
703
704 PR c/104531
705 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
706 build_binary_op with LT_EXPR and only if that doesn't return
707 error_mark_node call build_modify_expr.
708
7092022-02-16 Jakub Jelinek <jakub@redhat.com>
710
711 PR c/104510
712 * c-common.cc (shorten_compare): Convert original arguments to
713 the original *restype_ptr when mixing binary and decimal float.
714
1f8a09d2
GA
7152022-02-14 Richard Biener <rguenther@suse.de>
716
717 PR c/104505
718 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
719 internal function calls.
720
e8d68f0a
GA
7212022-02-11 Richard Biener <rguenther@suse.de>
722
723 * c-attribs.cc (c_common_attribute_table): Add entry for
724 vector_mask.
725 (handle_vector_mask_attribute): New.
726
a645583d
GA
7272022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
728
729 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
730 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
731 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
732
3adf509f
GA
7332022-02-09 Jason Merrill <jason@redhat.com>
734
735 * c-cppbuiltin.cc (c_cpp_builtins): Update values
736 of __cpp_constexpr and __cpp_concepts for C++20.
737
bb99171b
GA
7382022-01-24 Marek Polacek <polacek@redhat.com>
739
740 PR preprocessor/104030
741 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
742
9dd44357
GA
7432022-01-21 Jakub Jelinek <jakub@redhat.com>
744
745 PR c++/104148
746 * c-common.h (check_function_arguments_recurse): Add for_format
747 arg.
748 * c-common.cc (check_function_nonnull): Pass false to
749 check_function_arguments_recurse's last argument.
750 (check_function_arguments_recurse): Add for_format argument,
751 if true, don't stop on warning_suppressed_p.
752 * c-format.cc (check_format_info): Pass true to
753 check_function_arguments_recurse's last argument.
754
fe1ad141
GA
7552022-01-19 David Malcolm <dmalcolm@redhat.com>
756
757 * c-common.cc (c_common_c_tests): Rename to...
758 (c_common_cc_tests): ...this.
759 (c_family_tests): Update calls for .c to .cc renaming.
760 * c-common.h (c_format_c_tests): Rename to...
761 (c_format_cc_tests): ...this.
762 (c_indentation_c_tests): Rename to...
763 (c_indentation_cc_tests): ...this.
764 (c_pretty_print_c_tests): Rename to...
765 (c_pretty_print_cc_tests): ...this.
766 * c-format.cc (c_format_c_tests): Rename to...
767 (c_format_cc_tests): ...this.
768 * c-indentation.cc (c_indentation_c_tests): Rename to...
769 (c_indentation_cc_tests): ...this.
770 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
771 (c_pretty_print_cc_tests): ...this.
772
fc829782
GA
7732022-01-17 Martin Liska <mliska@suse.cz>
774
775 * c-ada-spec.cc: Rename .c names to .cc.
776 * c-ada-spec.h: Likewise.
777 * c-common.cc (c_build_vec_convert): Likewise.
778 (warning_candidate_p): Likewise.
779 * c-common.h (enum rid): Likewise.
780 (build_real_imag_expr): Likewise.
781 (finish_label_address_expr): Likewise.
782 (c_get_substring_location): Likewise.
783 (c_build_bind_expr): Likewise.
784 (conflict_marker_get_final_tok_kind): Likewise.
785 (c_parse_error): Likewise.
786 (check_missing_format_attribute): Likewise.
787 (invalid_array_size_error): Likewise.
788 (warn_for_multistatement_macros): Likewise.
789 (build_attr_access_from_parms): Likewise.
790 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
791 * c-format.cc: Likewise.
792 * c-gimplify.cc (c_gimplify_expr): Likewise.
793 * c-indentation.h: Likewise.
794 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
795 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
796 * c-opts.cc (c_common_post_options): Likewise.
797 (set_std_cxx23): Likewise.
798 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
799 * c-pretty-print.h: Likewise.
800
8012022-01-17 Martin Liska <mliska@suse.cz>
802
803 * c-ada-spec.c: Moved to...
804 * c-ada-spec.cc: ...here.
805 * c-attribs.c: Moved to...
806 * c-attribs.cc: ...here.
807 * c-common.c: Moved to...
808 * c-common.cc: ...here.
809 * c-cppbuiltin.c: Moved to...
810 * c-cppbuiltin.cc: ...here.
811 * c-dump.c: Moved to...
812 * c-dump.cc: ...here.
813 * c-format.c: Moved to...
814 * c-format.cc: ...here.
815 * c-gimplify.c: Moved to...
816 * c-gimplify.cc: ...here.
817 * c-indentation.c: Moved to...
818 * c-indentation.cc: ...here.
819 * c-lex.c: Moved to...
820 * c-lex.cc: ...here.
821 * c-omp.c: Moved to...
822 * c-omp.cc: ...here.
823 * c-opts.c: Moved to...
824 * c-opts.cc: ...here.
825 * c-pch.c: Moved to...
826 * c-pch.cc: ...here.
827 * c-ppoutput.c: Moved to...
828 * c-ppoutput.cc: ...here.
829 * c-pragma.c: Moved to...
830 * c-pragma.cc: ...here.
831 * c-pretty-print.c: Moved to...
832 * c-pretty-print.cc: ...here.
833 * c-semantics.c: Moved to...
834 * c-semantics.cc: ...here.
835 * c-ubsan.c: Moved to...
836 * c-ubsan.cc: ...here.
837 * c-warn.c: Moved to...
838 * c-warn.cc: ...here.
839 * cppspec.c: Moved to...
840 * cppspec.cc: ...here.
841 * stub-objc.c: Moved to...
842 * stub-objc.cc: ...here.
843
9248ee41
GA
8442022-01-15 Martin Sebor <msebor@redhat.com>
845
846 PR c/63272
847 * c.opt (-Wdangling-pointer): New option.
848
8492022-01-15 Martin Sebor <msebor@redhat.com>
850
851 PR tree-optimization/80532
852 * c.opt (-Wuse-after-free): New options.
853
617db51d
GA
8542022-01-14 David Malcolm <dmalcolm@redhat.com>
855
856 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
857 (handle_tainted_args_attribute): New.
858
ad3f0d08
GA
8592022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
860 Jason Merrill <jason@redhat.com>
861
862 PR c++/70417
863 * c.opt: Added -Wmissing-template-keyword.
864
8652022-01-13 Richard Biener <rguenther@suse.de>
866
867 PR c/104002
868 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
869
02a8a01b
GA
8702022-01-12 Martin Liska <mliska@suse.cz>
871
872 PR target/103804
873 * c-attribs.c (handle_optimize_attribute): Do not call
874 cl_optimization_compare if we seen an error.
875
01a254e3
GA
8762022-01-11 Jakub Jelinek <jakub@redhat.com>
877
878 PR c/101537
879 PR c/103881
880 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
881 and BIT_XOR_EXPR.
882
d9450aa0
GA
8832022-01-10 Richard Biener <rguenther@suse.de>
884
885 PR middle-end/101530
886 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
887 in a TARGET_EXPR to force a temporary.
888
11ce8d04
GA
8892022-01-06 Marek Polacek <polacek@redhat.com>
890
891 PR c++/103758
892 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
893 diagnostic messages.
894 (handle_pragma_diagnostic): Likewise.
895
a4ae8c37
GA
8962022-01-03 Marek Polacek <polacek@redhat.com>
897
898 PR c++/103758
899 * c-format.c (check_tokens): Accept "decl-specifier*".
900
9012022-01-03 Jakub Jelinek <jakub@redhat.com>
902
903 PR c++/103600
904 * c-attribs.c (handle_non_overlapping_attribute): New function.
905 (c_common_attribute_table): Add "non overlapping" attribute.
906
84790a9d
GA
9072021-12-30 Jakub Jelinek <jakub@redhat.com>
908
909 PR c++/103012
910 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
911 cpp_define_unused/cpp_undef calls with forced token locations
912 BUILTINS_LOCATION.
913
d1e111da
GA
9142021-12-27 Patrick Palka <ppalka@redhat.com>
915
916 PR c++/103700
917 * c-common.c (pointer_int_sum): When quiet, return
918 error_mark_node for an incomplete pointed-to type and don't
919 call size_in_bytes_loc.
920
2554e2da
GA
9212021-12-17 Jason Merrill <jason@redhat.com>
922
923 PR c++/103681
924 * c-opts.c (c_common_post_options): Update defaults.
925
774269aa
GA
9262021-12-16 Martin Liska <mliska@suse.cz>
927
928 PR target/103709
929 * c-pragma.c (handle_pragma_pop_options): Do not check
930 global options modification when an error is seen in parsing
931 of options (pragmas or attributes).
932
c8dcf64b
GA
9332021-12-12 Jonathan Wakely <jwakely@redhat.com>
934
935 * known-headers.cc: Define INCLUDE_MEMORY instead of
936 INCLUDE_UNIQUE_PTR.
937 * name-hint.h: Likewise.
938 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
939
4b4839e3
GA
9402021-12-09 Jakub Jelinek <jakub@redhat.com>
941
942 PR pch/71934
943 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
944 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
945
03a9bd05
GA
9462021-12-03 Jakub Jelinek <jakub@redhat.com>
947
948 PR pch/71934
949 * c-pch.c (struct c_pch_validity): Remove pch_init member.
950 (pch_init): Don't initialize v.pch_init.
951 (c_common_valid_pch): Don't warn and punt if .text addresses change.
952
40fa651e
GA
9532021-12-01 Jason Merrill <jason@redhat.com>
954
955 PR c++/103310
956 * c.opt: Add -fconstexpr-fp-except.
957
87cd82c8
GA
9582021-11-29 Richard Biener <rguenther@suse.de>
959
960 * c-format.c (check_format_string): Remove spurious
961 gcc_unreachable.
962
9632021-11-29 Richard Biener <rguenther@suse.de>
964
965 * c-opts.c (c_common_post_options): Remove unreachable return.
966 * c-pragma.c (handle_pragma_target): Likewise.
967 (handle_pragma_optimize): Likewise.
968
091ccc06
GA
9692021-11-25 Jakub Jelinek <jakub@redhat.com>
970
971 PR c++/102611
972 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
973 default for C++23 regardless of warn_deprecated.
974 * c-cppbuiltin.c (c_cpp_builtins): Predefine
975 __cpp_multidimensional_subscript=202110L for C++23.
976
e1d43592
GA
9772021-11-23 Martin Sebor <msebor@redhat.com>
978
979 PR middle-end/88232
980 * c.opt: Add -Winfinite-recursion.
981
9c077398
GA
9822021-11-19 Martin Sebor <msebor@redhat.com>
983
984 PR c++/33925
985 PR c/102867
986 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
987 and improve handling tof defined symbols.
988
9892021-11-19 Martin Liska <mliska@suse.cz>
990
991 Revert:
992 2021-11-18 Martin Liska <mliska@suse.cz>
993
994 * c-gimplify.c (genericize_c_loop): Use option directly.
995
483092d3
GA
9962021-11-18 Matthias Kretz <m.kretz@gsi.de>
997
998 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
999 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
1000
10012021-11-18 Martin Liska <mliska@suse.cz>
1002
1003 * c-gimplify.c (genericize_c_loop): Use option directly.
1004
280d2838
GA
10052021-11-17 Martin Uecker <uecker@gcc.gnu.org>
1006
1007 PR c/91038
1008 PR c/29970
1009 * c-common.c (pointer_int_sum): Make sure pointer expressions
1010 are evaluated first when the size expression depends on for
1011 variably-modified types.
1012
10132021-11-17 Marek Polacek <polacek@redhat.com>
1014
1015 PR preprocessor/103026
1016 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
1017
6b1695f4
GA
10182021-11-16 Jason Merrill <jason@redhat.com>
1019
1020 * c-common.c (release_tree_vector): Only cache vecs smaller than
1021 16 elements.
1022
e2b57363
GA
10232021-11-15 Jason Merrill <jason@redhat.com>
1024
1025 * c.opt: Add -fimplicit-constexpr.
1026 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
1027 * c-opts.c (c_common_post_options): Disable below C++14.
1028
10292021-11-15 Jakub Jelinek <jakub@redhat.com>
1030
1031 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
1032 Duplicate to both OMP_TARGET and OMP_TEAMS.
1033
8d36a0d2
GA
10342021-11-10 Marek Polacek <polacek@redhat.com>
1035
1036 PR c++/101940
1037 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
1038 ignored_attributes.
1039
c9b1334e
GA
10402021-11-09 David Malcolm <dmalcolm@redhat.com>
1041
1042 * c-pragma.c (GCC_BAD_AT): New macro.
1043 (GCC_BAD2_AT): New macro.
1044 (handle_pragma_pack): Use the location of the pertinent token when
1045 issuing diagnostics about invalid constants/actions, and trailing
1046 junk.
1047 (handle_pragma_target): Likewise for non-string "GCC option".
1048 (handle_pragma_message): Likewise for trailing junk.
1049
18ae471f
GA
10502021-11-03 Joseph Myers <joseph@codesourcery.com>
1051
1052 PR c/103031
1053 * c-common.c (convert_and_check): Add argument init_const. Call
1054 convert_init if init_const.
1055 * c-common.h (convert_and_check): Update prototype.
1056 (convert_init): New prototype.
1057
cf82e8d9
GA
10582021-11-01 David Malcolm <dmalcolm@redhat.com>
1059
1060 * c-lex.c (c_lex_with_flags): When complaining about non-printable
1061 CPP_OTHER tokens, set the "escape on output" flag.
1062
04a2cf3f
GA
10632021-10-27 Jakub Jelinek <jakub@redhat.com>
1064
1065 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
1066 POINTER_PLUS_EXPR.
1067 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
1068 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
1069
10702021-10-27 Jakub Jelinek <jakub@redhat.com>
1071
1072 PR c++/102854
1073 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
1074 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
1075 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
1076 conversions temporarily clear the 3rd bit from d->kind while walking
1077 subtrees.
1078 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
1079 if possibly non-rectangular.
1080
ae5c5406
GA
10812021-10-21 Jakub Jelinek <jakub@redhat.com>
1082
1083 PR middle-end/64888
1084 * c-omp.c (c_omp_predefined_variable): Return true also for
1085 ubsan_create_data created artificial variables.
1086
5d5885c9
GA
10872021-10-14 Joseph Myers <joseph@codesourcery.com>
1088
1089 * c-format.c (printf_length_specs, scanf_length_specs)
1090 (print_char_table, scan_char_table): Support DFP formats for C2X.
1091 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
1092 (T2X_D32, T2X_D64, T2X_D128): New macros.
1093
10942021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1095
1096 * c-omp.c (c_omp_check_context_selector): Rename to
1097 omp_check_context_selector and move to omp-general.c.
1098 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
1099 move to omp-general.c.
1100
52055987
GA
11012021-10-12 Joseph Myers <joseph@codesourcery.com>
1102
1103 * c-format.c (print_char_table): Add %b and %B formats.
1104 (scan_char_table): Add %b format.
1105 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
1106 (T2X_UPD, T2X_UIM): New macros.
1107
11082021-10-12 Jakub Jelinek <jakub@redhat.com>
1109
1110 * c-omp.c (c_finish_omp_atomic): Use
1111 clear_padding_type_may_have_padding_p.
1112
ce6eec39
GA
11132021-10-08 Martin Liska <mliska@suse.cz>
1114
1115 * c-opts.c (c_common_post_options): Use new macro
1116 OPTION_SET_P.
1117
50e20ee6
GA
11182021-10-07 Martin Liska <mliska@suse.cz>
1119
1120 * c-common.c (parse_optimize_options): Make
1121 save_opt_decoded_options a pointer type.
1122
57c7ec62
GA
11232021-10-06 Jakub Jelinek <jakub@redhat.com>
1124
1125 PR tree-optimization/102571
1126 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
1127 padding, but the non-padding bits are contiguous set of bytes
1128 by adjusting the memcmp call arguments instead of emitting
1129 __builtin_clear_padding and then comparing all the type's bytes.
1130
11312021-10-06 Jakub Jelinek <jakub@redhat.com>
1132
1133 PR c++/102612
1134 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
1135 __cpp_constexpr to 202110L rather than 201907L.
1136
da9c5f78
GA
11372021-10-04 Marek Polacek <polacek@redhat.com>
1138
1139 PR c++/97573
1140 * c-common.h (do_warn_array_compare): Declare.
1141 * c-warn.c (do_warn_array_compare): New.
1142 * c.opt (Warray-compare): New option.
1143
e3e07b89
GA
11442021-10-02 Iain Sandoe <iain@sandoe.co.uk>
1145
1146 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
1147 NULL, this is not needed.
1148
9d116bcc
GA
11492021-10-01 Martin Sebor <msebor@redhat.com>
1150
1151 PR c/102103
1152 * c-common.c (decl_with_nonnull_addr_p): Handle members.
1153 Check and perform warning suppression.
1154 (c_common_truthvalue_conversion): Enhance warning suppression.
1155
11562021-10-01 Martin Liska <mliska@suse.cz>
1157
1158 PR target/102552
1159 * c-common.c (parse_optimize_options): decoded_options[0] is
1160 used for program name, so merged_decoded_options should also
1161 respect that.
1162
11632021-10-01 Jakub Jelinek <jakub@redhat.com>
1164 Richard Biener <rguenther@suse.de>
1165
1166 PR sanitizer/102515
1167 * c-ubsan.c (ubsan_instrument_division): Check the right
1168 flag_sanitize_recover bit, depending on which sanitization
1169 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
1170 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
1171 and SANITIZE_DIVIDE is enabled, neither check is known
1172 to be false and flag_sanitize_recover bits for those two
1173 aren't the same, emit both __ubsan_handle_divrem_overflow
1174 and __ubsan_handle_divrem_overflow_abort calls.
1175
11762021-10-01 Martin Liska <mliska@suse.cz>
1177
1178 * c-common.c (parse_optimize_options): Combine optimize
1179 options with what was provided on the command line.
1180
11812021-10-01 Jakub Jelinek <jakub@redhat.com>
1182
1183 * c-omp.c (c_omp_split_clauses): Also copy
1184 OMP_CLAUSE_ORDER_REPRODUCIBLE.
1185
cf966403
GA
11862021-09-27 Martin Liska <mliska@suse.cz>
1187
1188 * c-opts.c (c_common_init_options_struct): Set also
1189 x_flag_default_complex_method.
1190
e4777439
GA
11912021-09-22 Jakub Jelinek <jakub@redhat.com>
1192
1193 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
1194
62498024
GA
11952021-09-20 Matthias Kretz <m.kretz@gsi.de>
1196
1197 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
1198 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
1199 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
1200 __ROUNDING_MATH__ according to the new optimization flags.
1201
cf74e7b5
GA
12022021-09-18 Jakub Jelinek <jakub@redhat.com>
1203
1204 * c-omp.c (c_omp_split_clauses): Split order clause also to
1205 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
1206
0a4cb439
GA
12072021-09-17 Jakub Jelinek <jakub@redhat.com>
1208
1209 * c-omp.c (c_finish_omp_atomic): Avoid creating
1210 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
1211 create_tmp_var and add a zero initializer to TARGET_EXPRs that
1212 had NULL initializer. When omitting operands after v = x,
1213 use type of v rather than type of x. Fix type of vtmp
1214 TARGET_EXPR.
1215
07985c47
GA
12162021-09-13 Jason Merrill <jason@redhat.com>
1217
1218 * c.opt: Add -Winterference-size.
1219 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
1220 and __GCC_CONSTRUCTIVE_SIZE.
1221
a26206ec
GA
12222021-09-10 Jakub Jelinek <jakub@redhat.com>
1223
1224 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
1225 * c-omp.c: Include gimple-fold.h.
1226 (c_finish_omp_atomic): Add r and weak arguments. Add support for
1227 OpenMP 5.1 atomics.
1228
f84e2f0b
GA
12292021-09-09 qing zhao <qing.zhao@oracle.com>
1230
1231 * c-attribs.c (handle_uninitialized_attribute): New function.
1232 (c_common_attribute_table): Add "uninitialized" attribute.
1233
b6db7cd4
GA
12342021-09-08 liuhongt <hongtao.liu@intel.com>
1235
1236 * c-common.c (excess_precision_mode_join): Update below comments.
1237 (c_ts18661_flt_eval_method): Set excess_precision_type to
1238 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1239 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
1240 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
1241 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1242
b2748138
GA
12432021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
1244
1245 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
1246
7b739540
GA
12472021-09-03 Eric Botcazou <ebotcazou@adacore.com>
1248
1249 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
1250 and -gnatwu warning for the package specification.
1251
e11c6046
GA
12522021-09-01 Iain Sandoe <iain@sandoe.co.uk>
1253
1254 * c-attribs.c (handle_unavailable_attribute): New.
1255
1e2f030b
GA
12562021-08-30 Jason Merrill <jason@redhat.com>
1257
1258 * c.opt: Add -Wmissing-requires.
1259
85d77ac4
GA
12602021-08-25 Lewis Hyatt <lhyatt@gmail.com>
1261
1262 PR other/93067
1263 * c-opts.c (c_common_input_charset_cb): New function.
1264 (c_common_post_options): Call new function
1265 diagnostic_initialize_input_context().
1266
7c9e1645
GA
12672021-08-20 Tobias Burnus <tobias@codesourcery.com>
1268
1269 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
1270 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
1271 "di" and "u", respecitively; fill with BADLEN to match
1272 size of 'types'.
1273 (get_init_dynamic_hwi): Split off from ...
1274 (init_dynamic_diag_info): ... here. Call it.
1275 (init_dynamic_gfc_info): Call it.
1276
12772021-08-20 Jakub Jelinek <jakub@redhat.com>
1278
1279 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
1280 * c-pragma.c (omp_pragmas): Add error directive.
1281 * c-omp.c (omp_directives): Uncomment error directive entry.
1282
6e529985
GA
12832021-08-18 Jakub Jelinek <jakub@redhat.com>
1284
1285 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
1286 * c-pragma.c (omp_pragmas): Add nothing directive.
1287 * c-omp.c (omp_directives): Uncomment nothing directive entry.
1288
2d14d64b
GA
12892021-08-17 Jakub Jelinek <jakub@redhat.com>
1290
1291 PR c++/101539
1292 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
1293 * c-common.c (c_common_reswords): Add __is_layout_compatible.
1294
12952021-08-17 Matt Jacobson <mhjacobson@me.com>
1296
1297 * c-opts.c (c_common_post_options): Default to
1298 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
1299
13002021-08-17 Jakub Jelinek <jakub@redhat.com>
1301
1302 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
1303 * c-pragma.c (omp_pragmas): Add scope construct.
1304 * c-omp.c (omp_directives): Uncomment scope directive entry.
1305
9d1d9fc8
GA
13062021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
1307
1308 * c-cppbuiltin.c (c_cpp_builtins): Define
1309 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
1310
72be20e2
GA
13112021-08-12 Jakub Jelinek <jakub@redhat.com>
1312
1313 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
1314 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
1315 * c-pragma.c (omp_pragmas_simd): Add masked construct.
1316 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
1317 enumerator.
1318 (c_finish_omp_masked): Declare.
1319 * c-omp.c (c_finish_omp_masked): New function.
1320 (c_omp_split_clauses): Handle combined masked constructs.
1321
4d17ca1b
GA
13222021-07-30 Jakub Jelinek <jakub@redhat.com>
1323
1324 PR c++/101539
1325 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
1326 * c-common.c (c_common_reswords): Add
1327 __is_pointer_interconvertible_base_of.
1328
13292021-07-29 Richard Biener <rguenther@suse.de>
1330
1331 PR c/101512
1332 * c-common.c (c_common_mark_addressable_vec): Look through
1333 C_MAYBE_CONST_EXPR even if not at the toplevel.
1334
af3f12e6
GA
13352021-07-27 Martin Sebor <msebor@redhat.com>
1336
1337 PR c/101585
1338 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
1339
ead235f6
GA
13402021-07-23 Jakub Jelinek <jakub@redhat.com>
1341
1342 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
1343 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
1344 and later.
1345
13462021-07-23 Jakub Jelinek <jakub@redhat.com>
1347
1348 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
1349 PRAGMA_OMP__LAST_ enumerators.
1350
419c6c68
GA
13512021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1352 Joseph Myers <joseph@codesourcery.com>
1353 Cesar Philippidis <cesar@codesourcery.com>
1354
1355 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
1356
92d45509
GA
13572021-07-20 Martin Sebor <msebor@redhat.com>
1358
1359 * c-common.c (c_build_shufflevector): Adjust by-value argument to
1360 by-const-reference.
1361 * c-common.h (c_build_shufflevector): Same.
1362
87277b6a
GA
13632021-07-16 Andrew Pinski <apinski@marvell.com>
1364
1365 PR c/101453
1366 * c-common.c (parse_optimize_options): Use the correct
1367 size for buffer.
1368
d97d71a1
GA
13692021-07-15 Martin Sebor <msebor@redhat.com>
1370
1371 PR c/101289
1372 PR c/97548
1373 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
1374
c4fee1c6
GA
13752021-07-14 Jason Merrill <jason@redhat.com>
1376
1377 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
1378
6fba0eea
GA
13792021-07-06 Martin Sebor <msebor@redhat.com>
1380
1381 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
1382 (gcc_cdiag_char_table): Same.
1383 (gcc_cxxdiag_char_table): Same.
1384
7a60a6e8
GA
13852021-07-02 Jakub Jelinek <jakub@redhat.com>
1386
1387 * c-common.h (enum c_omp_directive_kind): New enum.
1388 (struct c_omp_directive): New type.
1389 (c_omp_categorize_directive): Declare.
1390 * c-omp.c (omp_directives): New variable.
1391 (c_omp_categorize_directive): New function.
1392
bea7c16a
GA
13932021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1394
1395 * c-ada-spec.c (packed_layout): New global variable.
1396 (dump_ada_declaration): Set it upon seeing a packed record type.
1397 Do not put the "aliased" keyword if it is set.
1398 (dump_ada_structure): Add Pack aspect if it is set and clear it.
1399
14002021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1401
1402 * c-ada-spec.c (check_name): Rename into...
1403 (check_type_name_conflict): ...this. Minor tweak.
1404 (dump_ada_function_declaration): Adjust to above renaming.
1405 (dump_ada_array_domains): Fix oversight.
1406 (dump_ada_declaration): Call check_type_name_conflict for variables.
1407
90708f87
GA
14082021-06-25 Martin Sebor <msebor@redhat.com>
1409
1410 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
1411 (c_common_truthvalue_conversion): Replace direct uses of
1412 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
1413 copy_no_warning.
1414 (check_function_arguments_recurse): Same.
1415 * c-gimplify.c (c_gimplify_expr): Same.
1416 * c-warn.c (overflow_warning): Same.
1417 (warn_logical_operator): Same.
1418 (warn_if_unused_value): Same.
1419 (do_warn_unused_parameter): Same.
1420
9aa8327e
GA
14212021-06-24 Jakub Jelinek <jakub@redhat.com>
1422
1423 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
1424 C_ORT_OMP_TARGET.
1425 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
1426 combined target constructs also add map (always, tofrom:) clause.
1427
ede6c356
GA
14282021-06-15 Robin Dapp <rdapp@linux.ibm.com>
1429
1430 * c-attribs.c (common_handle_aligned_attribute): Remove short
1431 circuit and dead code.
1432
8dc48181
GA
14332021-06-14 Jonathan Wakely <jwakely@redhat.com>
1434
1435 PR c++/101052
1436 * known-headers.cc (get_stdlib_header_for_name): Add known
1437 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
1438 exit, and getenv.
1439
8b8c3912
GA
14402021-06-12 Jason Merrill <jason@redhat.com>
1441
1442 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
1443
f16f65f8
GA
14442021-06-11 Jakub Jelinek <jakub@redhat.com>
1445
1446 PR c++/100974
1447 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
1448 -std=c++2b for P1938R3 consteval if support.
1449
4f625f47
GA
14502021-06-09 Jason Merrill <jason@redhat.com>
1451
1452 PR c++/100879
1453 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
1454 warning.
1455
438aac59
GA
14562021-06-07 Martin Liska <mliska@suse.cz>
1457
1458 * c-target.def: Split long lines and replace them
1459 with '\n\'.
1460
600f90cb
GA
14612021-06-04 Martin Sebor <msebor@redhat.com>
1462
1463 PR c/100783
1464 * c-attribs.c (positional_argument): Bail on erroneous types.
1465
14662021-06-04 Martin Sebor <msebor@redhat.com>
1467
1468 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1469 for element presence.
1470
440c8a0a
GA
14712021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1472
1473 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1474 (dump_ada_decl_name): Likewise.
1475 (dump_anonymous_type_name): Remove parent parameter and adjust.
1476 (dump_sloc): Minor tweak.
1477 (dump_ada_array_type): Remove type parameter and adjust.
1478 (dump_ada_enum_type): Remove parent parameter and adjust.
1479 (dump_ada_node): Adjust calls to above functions.
1480 (dumped_anonymous_types): New global variable.
1481 (dump_nested_types_1): Rename into...
1482 (dump_nested_types): ...this.
1483 (dump_nested_type): Remove parent and dumped_types parameters.
1484 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1485 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1486 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1487
14882021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1489
1490 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1491 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1492
14932021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1494
1495 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1496 (htable_t): New typedef.
1497 (overloaded_names): Use it.
1498 (add_name): New function.
1499 (init_overloaded_names): Use add_name to populate the table and add
1500 special cases for sigaction and stat.
1501 (overloaded_name_p): Rename into...
1502 (overloading_index): ...this. Do not initialize overloaded_names table
1503 here. Return the index or zero.
1504 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1505 but add an overloading suffix instead.
1506 (dump_ada_specs): Initialize overloaded_names tables here.
1507
b75978d1
GA
15082021-06-01 Martin Liska <mliska@suse.cz>
1509
1510 PR other/100759
1511 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1512 to a situation where we are not in processing of an optimize
1513 pragma.
1514 * c-pragma.c (handle_pragma_pop_options): Restore target
1515 options.
1516
ee682192
GA
15172021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1518
1519 PR testsuite/100749
1520 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1521
15222021-05-31 Richard Biener <rguenther@suse.de>
1523
1524 PR c++/88601
1525 * c-common.c: Include tree-vector-builder.h and
1526 vec-perm-indices.h.
1527 (c_common_reswords): Add __builtin_shufflevector.
1528 (c_build_shufflevector): New funtion.
1529 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1530 (c_build_shufflevector): Declare.
1531
48166757
GA
15322021-05-28 Jakub Jelinek <jakub@redhat.com>
1533
1534 PR middle-end/99928
1535 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1536 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1537
15382021-05-28 Tobias Burnus <tobias@codesourcery.com>
1539
1540 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1541
2bc6dace
GA
15422021-05-25 Martin Liska <mliska@suse.cz>
1543
1544 PR tree-optimization/92860
1545 PR target/99592
1546 * c-attribs.c (handle_optimize_attribute): Save target node
1547 before calling parse_optimize_options and save it in case
1548 it changes.
1549 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1550 (handle_pragma_pop_options): Likewise here.
1551
15522021-05-25 Martin Liska <mliska@suse.cz>
1553
1554 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1555
15562021-05-25 Jakub Jelinek <jakub@redhat.com>
1557
1558 PR middle-end/99928
1559 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1560 combined with simd and not with taskloop or for.
1561
2832d51b
GA
15622021-05-21 Jakub Jelinek <jakub@redhat.com>
1563
1564 PR middle-end/99928
1565 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1566 on firstprivate clause copy going to target construct, and for
1567 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1568
ea34e2ed
GA
15692021-05-20 Jonathan Wakely <jwakely@redhat.com>
1570
1571 * c.opt (Wc++11-extensions, Wc++14-extensions)
1572 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1573 options.
1574
15752021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1576
1577 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1578
15792021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1580
1581 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1582 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1583 (pch_init): Renamed member.
1584 (c_common_valid_pch): Adjust access to debug_type_names.
1585
65f32e5d
GA
15862021-05-19 Martin Sebor <msebor@redhat.com>
1587
1588 PR c/100619
1589 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1590 bounds.
1591
a8daf9a1
GA
15922021-05-18 Richard Biener <rguenther@suse.de>
1593
1594 PR c/100547
1595 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1596 Reword existing nunit diagnostic.
1597
a7ffc1ef
GA
15982021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1599
1600 * c-common.c (braced_list_to_string): Return CTOR unchanged
1601 if host and target character sizes don't match.
1602
87a7d10c
GA
16032021-05-14 Martin Liska <mliska@suse.cz>
1604
1605 * c.opt: Add Warning keyword for 2 options.
1606
f9af11c7
GA
16072021-05-13 Martin Liska <mliska@suse.cz>
1608
1609 PR middle-end/100504
1610 * c-attribs.c (handle_target_clones_attribute): Expect a string
1611 argument to target_clone argument.
1612
037e3661
GA
16132021-05-11 Joseph Myers <joseph@codesourcery.com>
1614
1615 * c-lex.c (interpret_float): Handle digit separators for C2X.
1616
aa891c56
GA
16172021-05-10 Martin Liska <mliska@suse.cz>
1618
1619 * c-ada-spec.c (print_destructor): Use startswith
1620 function instead of strncmp.
1621 (dump_ada_declaration): Likewise.
1622 * c-common.c (disable_builtin_function): Likewise.
1623 (def_builtin_1): Likewise.
1624 * c-format.c (check_tokens): Likewise.
1625 (check_plain): Likewise.
1626 (convert_format_name_to_system_name): Likewise.
1627
e4ff4ffb
GA
16282021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1629
1630 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1631 complex divide
1632
c0fa3f2f
GA
16332021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1634 Nathan Sidwell <nathan@codesourcery.com>
1635 Tom de Vries <vries@codesourcery.com>
1636 Julian Brown <julian@codesourcery.com>
1637 Kwok Cheung Yeung <kcy@codesourcery.com>
1638
1639 * c.opt (Wopenacc-parallelism): New.
1640
6e81e015
GA
16412021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1642
1643 * c.opt (fopenacc-kernels=): Remove.
1644
019a9220
GA
16452021-04-08 Jakub Jelinek <jakub@redhat.com>
1646
1647 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1648 occured -> occurred.
1649 (check_alignment_of_packed_member): Fix a comment typo,
1650 memeber -> member.
1651 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1652 and onless -> unless.
1653 (warn_parm_array_mismatch): Fix comment typos, declaratation
1654 -> declaration and woud -> would. Fix up comment indentation.
1655
16562021-04-08 Martin Sebor <msebor@redhat.com>
1657
1658 PR middle-end/99883
1659 * c.opt (Wmismatched-new-delete): Correct spelling.
1660
b1da9916
GA
16612021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1662
1663 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1664 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1665 enumeral types use again the type name for the enumeration constants.
1666 (dump_ada_node): Adjust call to dump_ada_enum_type.
1667 (dump_nested_type): Likewise.
1668
f1607029
GA
16692021-04-01 Jason Merrill <jason@redhat.com>
1670
1671 PR c++/98481
1672 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1673
4493b1c1
GA
16742021-03-25 Jakub Jelinek <jakub@redhat.com>
1675
1676 PR c++/99565
1677 * c-warn.c (do_warn_duplicated_branches): Pass also
1678 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1679
6af7b307
GA
16802021-03-20 Jakub Jelinek <jakub@redhat.com>
1681
1682 PR debug/99230
1683 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1684
ceae9533
GA
16852021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1686
1687 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1688 after entering the separate class package, if any.
1689
67f10d28
GA
16902021-03-04 Richard Biener <rguenther@suse.de>
1691
1692 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1693 Handle ERROR_MARK.
1694
16952021-03-04 Jakub Jelinek <jakub@redhat.com>
1696
1697 PR c/99325
1698 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1699 (token_streamer::stream) Likewise.
1700 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1701 UNKNOWN_LOCATION.
1702
f3641ac7
GA
17032021-03-03 Jakub Jelinek <jakub@redhat.com>
1704
1705 PR c/99324
1706 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1707 instead of mark_addressable. Fix a comment typo -
1708 neutrallly -> neutrally.
1709
2c83c3fb
GA
17102021-02-28 Jakub Jelinek <jakub@redhat.com>
1711
1712 PR c/99304
1713 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1714 message - refernced -> referenced. Remove superfluous space before
1715 closing paren of function calls.
1716
daa68844
GA
17172021-02-25 Nathan Sidwell <nathan@acm.org>
1718
1719 PR c++/99166
1720 * c.opt (-flang-info-module-cmi): Renamed option.
1721
50352c6c
GA
17222021-02-19 Nathan Sidwell <nathan@acm.org>
1723
1724 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1725
bf81237e
GA
17262021-02-18 H.J. Lu <hjl.tools@gmail.com>
1727
1728 PR target/99113
1729 * c-attribs.c (c_common_attribute_table): Add the "retain"
1730 attribute.
1731 (handle_retain_attribute): New function.
1732
0e804ce3
GA
17332021-02-16 Marek Polacek <polacek@redhat.com>
1734
1735 PR c++/99062
1736 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1737 alignment argument is non-negative. Tweak a warning message.
1738
fab095da
GA
17392021-02-12 Martin Sebor <msebor@redhat.com>
1740
1741 PR c/99055
1742 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1743 print_generic_expr_to_str.
1744
4b37c3ea
GA
17452021-02-10 Richard Biener <rguenther@suse.de>
1746
1747 * c-common.c (parse_optimize_options): Free decoded_options.
1748
a19dd5e6
GA
17492021-02-04 emsr <3dw4rd@verizon.net>
1750
1751 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1752
9faaa807
GA
17532021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1754
1755 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1756 * c-lex.c (interpret_integer): Set node type for size literal.
1757
85d04a2e
GA
17582021-01-28 Jakub Jelinek <jakub@redhat.com>
1759
1760 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1761 draft from description.
1762 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1763
e62bb7f0
GA
17642021-01-26 Paul Fee <paul.f.fee@gmail.com>
1765
1766 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1767 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1768 and -std=gnu++2b
1769 * c-opts.c (set_std_cxx23): New.
1770 (c_common_handle_option): Set options when -std=c++23 is enabled.
1771 (c_common_post_options): Adjust comments.
1772 (set_std_cxx20): Likewise.
1773
161e4c08
GA
17742021-01-25 Martin Sebor <msebor@redhat.com>
1775
1776 PR c++/98646
1777 * c-common.c (check_nonnull_arg): Adjust warning text.
1778
4c9bcd5c
GA
17792021-01-17 Martin Sebor <msebor@redhat.com>
1780
1781 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1782 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1783
59cf67d1
GA
17842021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1785
1786 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1787 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1788
2f7f0d32
GA
17892021-01-15 Jakub Jelinek <jakub@redhat.com>
1790
1791 PR tree-optimization/98597
1792 * c-pretty-print.c: Include options.h.
1793 (c_fold_indirect_ref_for_warn): New function.
1794 (print_mem_ref): Use it. If it returns something that has compatible
1795 type and is TBAA compatible with zero offset, print it and return,
1796 otherwise print it using offsetof syntax or array ref syntax. Fix up
1797 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1798 argument has pointer to array type. Print pointers using the standard
1799 formatting.
1800
6851dda2
GA
18012021-01-12 Martin Sebor <msebor@redhat.com>
1802
1803 PR c/98597
1804 PR c/98592
1805 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1806 has pointer type. Remove redundant code. Avoid calling
1807 gimple_canonical_types_compatible_p.
1808
7d187e4f
GA
18092021-01-07 Martin Sebor <msebor@redhat.com>
1810
1811 PR middle-end/98578
1812 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1813 Avoid assuming acces type's size is constant. Correct condition
1814 guarding the printing of a parenthesis.
1815
942ae5be
GA
18162021-01-06 Martin Sebor <msebor@redhat.com>
1817
1818 PR c++/95768
1819 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1820 SSA_NAMEs print VLA names and GIMPLE defining statements.
1821 (print_mem_ref): New function.
1822 (c_pretty_printer::unary_expression): Call it.
1823
18242021-01-06 Richard Biener <rguenther@suse.de>
1825
1826 PR tree-optimization/95582
1827 * c-attribs.c (c_common_attribute_table): Add entry for
1828 signed_bool_precision.
1829 (handle_signed_bool_precision_attribute): New.
1830
8daa719b
GA
18312020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1832
1833 * c.opt: Add -stdlib= option and enumerations for
1834 libstdc++ and libc++.
1835
eefe499f
GA
18362020-12-16 Martin Liska <mliska@suse.cz>
1837
1838 * c.opt: Remove usage of Report.
1839
d52945ce
GA
18402020-12-14 Martin Sebor <msebor@redhat.com>
1841
1842 PR middle-end/98166
1843 PR c++/57111
1844 PR middle-end/98160
1845 * c-attribs.c (maybe_add_noinline): New function.
1846 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1847 Implicitly add attribute noinline to functions not declared inline
1848 and warn on those.
1849
ca2bd949
GA
18502020-12-09 Tobias Burnus <tobias@codesourcery.com>
1851
1852 * c-pragma.c (omp_pragmas): Add 'allocate'.
1853 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1854
f6e8e279
GA
18552020-12-08 Jakub Jelinek <jakub@redhat.com>
1856
1857 PR c++/98187
1858 * c-pragma.c (omp_pragmas): Remove "master".
1859 (omp_pragmas_simd): Add "master".
1860
bc8a7013
GA
18612020-12-07 Marek Polacek <polacek@redhat.com>
1862
1863 PR c++/98126
1864 * c-common.c (verify_tree_lim_r): New function.
1865 (verify_sequence_points): Use it. Use nullptr instead of 0.
1866
b8dd0ef7
GA
18672020-12-03 Martin Sebor <msebor@redhat.com>
1868
1869 PR c++/90629
1870 PR middle-end/94527
1871 * c-attribs.c (handle_dealloc_attribute): New function.
1872 (handle_malloc_attribute): Handle argument forms of attribute.
1873 * c.opt (-Wmismatched-dealloc): New option.
1874 (-Wmismatched-new-delete): New option.
1875
18762020-12-03 Jakub Jelinek <jakub@redhat.com>
1877
1878 PR libstdc++/93121
1879 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1880 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1881
e0f5e792
GA
18822020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
1883
1884 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1885 {__GNUC_EXECUTION_CHARSET_NAME} and
1886 _WIDE_EXECUTION_CHARSET_NAME} macros.
1887
18882020-12-01 Nathan Sidwell <nathan@acm.org>
1889
1890 * c-common.c (module, import, export): New internal tokens (with
1891 trailing space).
1892 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1893 them.
1894 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1895 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1896
18972020-12-01 Nathan Sidwell <nathan@acm.org>
1898
1899 * c-opts.c (c_common_init_options): Ask for module dependencies.
1900 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1901 * c-pch.c (c_common_valid_pch): ... does not play with C++
1902 modules.
1903 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1904 options.
1905 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1906 (fmodule-only, fmodule-mapper, fmodule-lazy)
1907 (fmodule-version-ignore, Winvalid-imported-macros)
1908 (flang-info-include-translate, flang-info-include-translate-not):
1909 New options
1910
5fbf0ecb
GA
19112020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1912
1913 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1914 (dump_ada_structure): Also deal with convention, unchecked union and
1915 bit-field for nested types. In the latter case, print an Alignment
1916 aspect along with the Pack aspect.
1917
360258da
GA
19182020-11-25 Martin Sebor <msebor@redhat.com>
1919
1920 PR bootstrap/94982
1921 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1922 -Wformat-diag.
1923
1e2c9a27
GA
19242020-11-24 Martin Sebor <msebor@redhat.com>
1925
1926 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1927
8e6198d0
GA
19282020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1929
1930 * c-attribs.c (handle_special_var_sec_attribute): New.
1931 (handle_noinit_attribute): Remove.
1932 (attr_noinit_exclusions): Rename to...
1933 (attr_section_exclusions): ...this, and add "persistent" attribute
1934 exclusion.
1935 (c_common_attribute_table): Add "persistent" attribute.
1936
7a97e2fc
GA
19372020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1938
1939 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1940 Treat opaque types like other types.
1941 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1942 supported types.
1943
82e5048e
GA
19442020-11-20 Martin Sebor <msebor@redhat.com>
1945
1946 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1947 with fewer arguments.
1948
19492020-11-20 Martin Sebor <msebor@redhat.com>
1950
1951 PR middle-end/97879
1952 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1953 Error out on invalid modes.
1954
19552020-11-20 Jakub Jelinek <jakub@redhat.com>
1956
1957 PR libstdc++/88101
1958 * c-common.c (check_builtin_function_arguments): Handle
1959 BUILT_IN_CLEAR_PADDING.
1960
25bb75f8
GA
19612020-11-18 Nathan Sidwell <nathan@acm.org>
1962
1963 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1964
4dabb037
GA
19652020-11-17 Nathan Sidwell <nathan@acm.org>
1966
1967 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1968 after newly-added CTI_MODULE_HWM.
1969
19702020-11-17 Joseph Myers <joseph@codesourcery.com>
1971
1972 * c-cppbuiltin.c (builtin_define_float_constants): Define
1973 "*_IS_IEC_60559__" macros.
1974
19752020-11-17 Nathan Sidwell <nathan@acm.org>
1976
1977 * c-lex.c: #include "langhooks.h".
1978 (cb_undef): Maybe call preprocess_undef lang hook.
1979 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1980 lang hook.
1981 (push_command_line_include): Maybe call preprocess_main_file lang
1982 hook.
1983 (cb_file_change): Likewise.
1984 * c-ppoutput.c: #include "langhooks.h.
1985 (scan_translation_unit): Maybe call preprocess_token lang hook.
1986 (class do_streamer): New, derive from token_streamer.
1987 (directives_only_cb): Data pointer is do_streamer, call
1988 preprocess_token lang hook.
1989 (scan_translation_unit_directives_only): Use do_streamer.
1990 (print_line_1): Move src_line recording to after string output.
1991 (cb_undef): Maybe call preprocess_undef lang hook.
1992
19932020-11-17 Nathan Sidwell <nathan@acm.org>
1994
1995 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1996 code duplicating that functionality.
1997
19982020-11-17 Jakub Jelinek <jakub@redhat.com>
1999
2000 PR c/90628
2001 * c-common.c (check_builtin_function_arguments)
2002 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
2003 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
2004 for more builtins and argument positions.
2005
29c5d9ce
GA
20062020-11-16 Iain Sandoe <iain@sandoe.co.uk>
2007
2008 PR objc/97854
2009 * stub-objc.c: Include c-common.h to declare enum rid.
2010
77f67db2
GA
20112020-11-13 Jakub Jelinek <jakub@redhat.com>
2012
2013 PR c++/63287
2014 * c-cppbuiltin.c: Include configargs.h.
2015 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
2016 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
2017 "single".
2018
20192020-11-13 Gergö Barany <gergo@codesourcery.com>
2020 Thomas Schwinge <thomas@codesourcery.com>
2021
2022 * c.opt (fopenacc-kernels): Add.
2023
20242020-11-13 Jason Merrill <jason@redhat.com>
2025
2026 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
2027
20282020-11-13 Piotr H. Dabrowski <phd@phd.re>
2029
2030 PR c++/91318
2031 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
2032
20332020-11-13 Martin Liska <mliska@suse.cz>
2034
2035 * c-attribs.c (build_attr_access_from_parms): Format properly.
2036
20372020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2038
2039 PR objc/90707
2040 * c-common.c (c_common_reswords): null_unspecified, nullable,
2041 nonnull, null_resettable: New keywords.
2042 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
2043 RID_NONNULL, RID_NULL_RESETTABLE: New.
2044 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
2045 ranges accepted for property attributes.
2046 * c-attribs.c (handle_objc_nullability_attribute): New.
2047 * c-objc.h (enum objc_property_attribute_group): Add
2048 OBJC_PROPATTR_GROUP_NULLABLE.
2049 (enum objc_property_attribute_kind):Add
2050 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
2051 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
2052
20532020-11-13 Iain Sandoe <iain@sandoe.co.uk>
2054
2055 PR objc/77404
2056 * c-attribs.c (handle_objc_root_class_attribute): New
2057 * c-objc.h (objc_start_class_interface): Add a location
2058 value for the position of the class name.
2059 * c.opt: Add Wobjc-root-class.
2060 * stub-objc.c (objc_start_class_interface): Add a location
2061 value for the position of the class name.
2062
a5a11525
GA
20632020-11-12 Joseph Myers <joseph@codesourcery.com>
2064
2065 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
2066 Allow scope for C. Handle standard attributes for C. Do not
2067 accept unscoped attributes if std_syntax and not handled as
2068 standard attributes.
2069 * c-common.h (c_common_has_attribute): Update prototype.
2070
20712020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
2072
2073 PR pch/86674
2074 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
2075 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
2076
0f5f9ed5
GA
20772020-11-11 Patrick Palka <ppalka@redhat.com>
2078
2079 PR c++/88115
2080 * c-opts.c (c_common_post_options): Update latest_abi_version.
2081
bb622641
GA
20822020-11-10 Jakub Jelinek <jakub@redhat.com>
2083
2084 PR c/97748
2085 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
2086 to false.
2087 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
2088 recursively and just return true instead of warning if it is true.
2089 Handle COMPLEX_EXPR.
2090
20912020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2092
2093 * c-common.h (c_omp_adjust_map_clauses): New declaration.
2094 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
2095 (c_omp_adjust_map_clauses): New function.
2096
2bee28dd
GA
20972020-11-09 Marek Polacek <polacek@redhat.com>
2098
2099 DR 1914
2100 * c-common.c (attribute_fallthrough_p): Tweak the warning
2101 message.
2102
21032020-11-09 Patrick Palka <ppalka@redhat.com>
2104
2105 * c-pragma.c (handle_pragma_diagnostic): Split the
2106 unknown-option -Wpragmas diagnostic into a warning and a
2107 subsequent note containing a spelling suggestion. Avoid
2108 computing the suggestion if -Wpragmas warnings are being
2109 suppressed.
2110
21112020-11-09 Patrick Palka <ppalka@redhat.com>
2112
2113 PR testsuite/97117
2114 * c-indentation.c (get_visual_column): Remove location_t
2115 parameter. Move the column-tracking diagnostic code from here
2116 to ...
2117 (should_warn_for_misleading_indentation): ... here, before the
2118 early exit for when the loci are not all distinct. Don't pass a
2119 location_t argument to get_visual_column.
2120 (assert_get_visual_column_succeeds): Don't pass a location_t
2121 argument to get_visual_column.
2122 (assert_get_visual_column_fails): Likewise.
2123
fb95de7a
GA
21242020-11-08 Iain Sandoe <iain@sandoe.co.uk>
2125
2126 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
2127 of keywords accepted in @property attribute contexts.
2128 * c-objc.h (enum objc_property_attribute_group): Add
2129 OBJC_PROPATTR_GROUP_CLASS.
2130 (enum objc_property_attribute_kind): Add
2131 OBJC_PROPERTY_ATTR_CLASS.
2132
2da7ee05
GA
21332020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2134
2135 * c-common.c (c_common_reswords): Add 'atomic' property
2136 attribute.
2137 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
2138 property attributes.
2139
21402020-11-07 Iain Sandoe <iain@sandoe.co.uk>
2141
2142 * c-attribs.c (handle_nsobject_attribute): New.
2143 * c.opt: Add WNSObject-attribute.
2144
44cab2d8
GA
21452020-11-06 Iain Sandoe <iain@sandoe.co.uk>
2146
2147 * c-objc.h (enum objc_property_attribute_group): New
2148 (enum objc_property_attribute_kind): New.
2149 (OBJC_PROPATTR_GROUP_MASK): New.
2150 (struct property_attribute_info): Small class encapsulating
2151 parser output from property attributes.
2152 (objc_prop_attr_kind_for_rid): New
2153 (objc_add_property_declaration): Simplify interface.
2154 * stub-objc.c (enum rid): Dummy type.
2155 (objc_add_property_declaration): Simplify interface.
2156 (objc_prop_attr_kind_for_rid): New.
2157
21582020-11-06 Nathan Sidwell <nathan@acm.org>
2159
2160 * c-ada-spec.c (collect_ada_nodes): Rename
2161 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2162 (collect_ada_node): Likewise.
2163 (dump_forward_type): Likewise.
2164 * c-common.c (set_underlying_type): Rename
2165 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
2166 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
2167
21682020-11-06 Jakub Jelinek <jakub@redhat.com>
2169
2170 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
2171
0cfd9109
GA
21722020-11-05 Marek Polacek <polacek@redhat.com>
2173
2174 PR c++/97675
2175 * c.opt (Wexceptions): New option.
2176
21772020-11-05 Marek Polacek <polacek@redhat.com>
2178
2179 PR c++/25814
2180 * c.opt (Wvexing-parse): New option.
2181
35c125cb
GA
21822020-11-04 Jakub Jelinek <jakub@redhat.com>
2183
2184 PR c++/97670
2185 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
2186 underlying decl to clear in the allocate_head bitmap.
2187
21882020-11-04 Iain Sandoe <iain@sandoe.co.uk>
2189
2190 * c-objc.h (objc_non_constant_expr_p): New.
2191 * stub-objc.c (objc_non_constant_expr_p): New.
2192
fd2325ea
GA
21932020-11-03 Nathan Sidwell <nathan@acm.org>
2194
2195 * c.opt (MQ,MT): Reword description to be make-agnostic.
2196
88ce3d5f
GA
21972020-11-02 Nathan Sidwell <nathan@acm.org>
2198
2199 * c-opts.c (c_common_post_options): Move var decl to its
2200 initialization point.
2201
22022020-11-01 Iain Sandoe <iain@sandoe.co.uk>
2203
2204 * c-lex.c (c_lex_with_flags): When combining '@' with a
2205 keyword for Objective-C, combine the location ranges too.
2206
22072020-10-30 Qing Zhao <qing.zhao@oracle.com>
2208 H.J.Lu <hjl.tools@gmail.com>
2209
2210 * c-attribs.c (c_common_attribute_table): Add new attribute
2211 zero_call_used_regs.
2212 (handle_zero_call_used_regs_attribute): New function.
2213
e93aae4a
GA
22142020-10-28 Marek Polacek <polacek@redhat.com>
2215
2216 PR c++/97573
2217 * c-opts.c (c_common_post_options): In C++20, turn on
2218 -Wdeprecated-enum-enum-conversion and
2219 -Wdeprecated-enum-float-conversion.
2220 * c.opt (Wdeprecated-enum-enum-conversion,
2221 Wdeprecated-enum-float-conversion): New options.
2222 (Wenum-conversion): Allow for C++ too.
2223
22242020-10-28 Jakub Jelinek <jakub@redhat.com>
2225
2226 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
2227 * c-omp.c: Include bitmap.h.
2228 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
2229
f19e7c8d
GA
22302020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2231
2232 * c-common.c (__is_nothrow_assignable): New.
2233 (__is_nothrow_constructible): Likewise.
2234 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
2235 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
2236
efe71fcc
GA
22372020-10-23 Jan Hubicka <hubicka@ucw.cz>
2238
2239 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
2240
22412020-10-23 Marek Polacek <polacek@redhat.com>
2242
2243 PR c++/91741
2244 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
2245 (c_common_init_ts): Likewise.
2246 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
2247 * c-common.h (maybe_warn_sizeof_array_div): Declare.
2248 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
2249 (maybe_warn_sizeof_array_div): New function.
2250 * c.opt (Wsizeof-array-div): New option.
2251
22522020-10-23 Martin Sebor <msebor@redhat.com>
2253
2254 PR c/97463
2255 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
2256
56ddd5e2
GA
22572020-10-22 Martin Liska <mliska@suse.cz>
2258
2259 PR c/94722
2260 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
2261 (handle_stack_protect_attribute): Add error message for a
2262 no_stack_protector function.
2263
22642020-10-22 Martin Liska <mliska@suse.cz>
2265
2266 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
2267
22682020-10-22 Jan Hubicka <hubicka@ucw.cz>
2269
2270 * c-gimplify.c: Include tree-nested.h
2271 (c_genericize): Update for new nested function info.
2272
b2698c21
GA
22732020-10-14 Martin Sebor <msebor@redhat.com>
2274
2275 PR c/97413
2276 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
2277 bounds in an extra list.
2278
7e9282ae
GA
22792020-10-05 Richard Biener <rguenther@suse.de>
2280 Jakub Jelinek <jakub@redhat.com>
2281
2282 PR c++/97197
2283 * c-pretty-print.c: Include langhooks.h.
2284 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
2285 expression.
2286 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
2287 unary_expression.
2288 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
2289
660bfe61
GA
22902020-09-30 Martin Sebor <msebor@redhat.com>
2291
2292 PR middle-end/97189
2293 * c-attribs.c (append_access_attr): Use the function declaration
2294 location for a warning about an attribute access argument.
2295
93bca37c
GA
22962020-09-29 Marek Polacek <polacek@redhat.com>
2297
2298 PR c++/94695
2299 * c.opt (Wrange-loop-construct): New option.
2300
82b77dee
GA
23012020-09-23 Martin Sebor <msebor@redhat.com>
2302
2303 PR c/97131
2304 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
2305
23062020-09-23 Marek Polacek <polacek@redhat.com>
2307
2308 PR c/97125
2309 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
2310 after loops and other structured control constructs have been lowered.
2311
521d2711
GA
23122020-09-22 Jakub Jelinek <jakub@redhat.com>
2313
2314 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
2315 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
2316
44135373
GA
23172020-09-21 Marek Polacek <polacek@redhat.com>
2318
2319 * c.opt (Wctad-maybe-unsupported): New option.
2320
2fe5b7d1
GA
23212020-09-19 Martin Sebor <msebor@redhat.com>
2322
2323 PR c/50584
2324 * c-common.h (warn_parm_array_mismatch): Declare new function.
2325 (has_attribute): Move declaration of an existing function.
2326 (build_attr_access_from_parms): Declare new function.
2327 * c-warn.c (parm_array_as_string): Define new function.
2328 (plus_one): Define new function.
2329 (warn_parm_ptrarray_mismatch): Define new function.
2330 (warn_parm_array_mismatch): Define new function.
2331 (vla_bound_parm_decl): New function.
2332 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
2333 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
2334 qualifiers here...
2335 (c_pretty_printer::direct_abstract_declarator): ...but instead print
2336 them in brackets here. Also print [static]. Strip extraneous
2337 expressions from VLA bounds.
2338
23392020-09-19 Martin Sebor <msebor@redhat.com>
2340
2341 PR c/50584
2342 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
2343 (handle_argspec_attribute): New function.
2344 (get_argument, get_argument_type): New functions.
2345 (append_access_attrs): Add overload. Handle internal attribute
2346 representation in addition to external.
2347 (handle_access_attribute): Handle internal attribute representation
2348 in addition to external.
2349 (build_attr_access_from_parms): New function.
2350
23512020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2352
2353 * c-gimplify.c (genericize_c_loop): Rewrite to match
2354 c_finish_loop in c-typeck.c.
2355
23562020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2357
2358 * c-common.c (c_block_may_fallthrough): New, split from
2359 cxx_block_may_fallthrough in the cp front end.
2360 (c_common_init_ts): Move handling of loop and switch-related
2361 statements here from the cp front end.
2362 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
2363 cp front end.
2364 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
2365 * c-common.h (c_block_may_fallthru): Declare.
2366 (bc_state_t): Move here from cp front end.
2367 (save_bc_state, restore_bc_state): Declare.
2368 (c_genericize_control_stmt): Declare.
2369 (WHILE_COND, WHILE_BODY): Likewise.
2370 (DO_COND, DO_BODY): Likewise.
2371 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
2372 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
2373 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
2374 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
2375 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
2376 * c-dump.c (dump_stmt): Copy from cp front end.
2377 (c_dump_tree): Move code to handle structured loop and switch
2378 tree nodes here from cp front end.
2379 * c-gimplify.c: Adjust includes.
2380 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
2381 cp front end.
2382 (save_bc_state, restore_bc_state): New functions using old code
2383 from cp front end.
2384 (get_bc_label, expr_loc_or_loc): Move from cp front end.
2385 (genericize_c_loop): Move from cp front end.
2386 (genericize_for_stmt, genericize_while_stmt): Likewise.
2387 (genericize_do_stmt, genericize_switch_stmt): Likewise.
2388 (genericize_continue_stmt, genericize_break_stmt): Likewise.
2389 (genericize_omp_for_stmt): Likewise.
2390 (c_genericize_control_stmt): New function using code split from
2391 cp front end.
2392 (c_genericize_control_r): New.
2393 (c_genericize): Call walk_tree with c_genericize_control_r.
2394 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
2395 structured loop and switch tree nodes here from cp front end.
2396
2aad20c0
GA
23972020-09-17 Patrick Palka <ppalka@redhat.com>
2398
2399 PR c/80076
2400 * c-indentation.c (should_warn_for_misleading_indentation): Move
2401 declarations of local variables closer to their first use.
2402 Handle virtual token locations by resolving them to their
2403 respective macro expansion points. If all three tokens are
2404 produced from the same macro expansion, then instead use their
2405 loci within the macro definition.
2406
ecde1b0a
GA
24072020-09-16 Martin Sebor <msebor@redhat.com>
2408
2409 PR c/78666
2410 PR c/96126
2411 * c-attribs.c (validate_attr_args): New function.
2412 (validate_attr_arg): Same.
2413 (handle_section_attribute): Call it. Introduce a local variable.
2414 (handle_alloc_size_attribute): Same.
2415 (handle_alloc_align_attribute): Same.
2416
50a71cd0
GA
24172020-09-14 Jakub Jelinek <jakub@redhat.com>
2418
2419 * c-attribs.c (handle_optimize_attribute): Adjust
2420 cl_optimization_save, cl_optimization_restore and
2421 build_optimization_node callers.
2422 * c-pragma.c (handle_pragma_optimize): Adjust
2423 build_optimization_node caller.
2424 (handle_pragma_push_options): Adjust
2425 build_optimization_node and build_target_option_node callers.
2426 (handle_pragma_pop_options, handle_pragma_reset_options):
2427 Adjust cl_optimization_restore callers.
2428
8f7ea26a
GA
24292020-08-28 Martin Sebor <msebor@redhat.com>
2430
2431 * c.opt (Wstringop-overread): New option.
2432
a6493809
GA
24332020-08-11 Jakub Jelinek <jakub@redhat.com>
2434
2435 PR c/96545
2436 * c-common.c (get_atomic_generic_size): Require that first argument's
2437 type points to a complete type and use tree_fits_uhwi_p instead of
2438 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
2439
48cc2e46
GA
24402020-07-31 Martin Sebor <msebor@redhat.com>
2441
2442 PR c++/96003
2443 * c-common.c (check_function_arguments_recurse): Return early when
2444 no-warning bit is set.
2445
24462020-07-31 Richard Biener <rguenther@suse.de>
2447
2448 PR debug/96383
2449 * c-common.h (c_common_finalize_early_debug): Declare.
2450 * c-common.c: Include debug.h.
2451 (c_common_finalize_early_debug): finalize_early_debug langhook
2452 implementation generating debug for extern declarations.
2453
e71dab87
GA
24542020-07-27 Nathan Sidwell <nathan@acm.org>
2455
2456 * c-common.c (try_to_locate_new_include_insertion_point): Use
2457 strcmp, not pointer equality.
2458
ae2e0bc1
GA
24592020-07-25 Martin Sebor <msebor@redhat.com>
2460
2461 PR c++/96310
2462 * c-common.c (check_nonnull_arg): Print note only when warning was
2463 issued.
2464
3ea9abca
GA
24652020-07-22 Tobias Burnus <tobias@codesourcery.com>
2466
2467 * c-omp.c (c_finish_omp_critical): Check for no name but
2468 nonzero hint provided.
2469
0933f508
GA
24702020-07-20 Jason Merrill <jason@redhat.com>
2471
2472 * c-cppbuiltin.c (c_cpp_builtins): Update
2473 __cpp_nontype_template_args for C++20.
2474
24752020-07-20 Martin Sebor <msebor@redhat.com>
2476
2477 PR c/96249
2478 * c.opt: Remove stray text.
2479
8ca07a30
GA
24802020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2481
2482 PR other/86904
2483 * c-indentation.c (should_warn_for_misleading_indentation): Get
2484 global tabstop from the new source.
2485 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2486 is now a common option.
2487 * c.opt: Likewise.
2488
a82c4c4c 24892020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2490
2491 * c.opt (Wscalar-storage-order): Add explicit variable.
2492
f60ee68d
GA
24932020-07-07 Nathan Sidwell <nathan@acm.org>
2494
2495 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2496 cpp_read_main_file.
2497 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2498 maps. Force token position to line_table's highest line.
2499 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2500 (cb_define): Always increment source line.
2501
4077d74c
GA
25022020-07-06 Martin Sebor <msebor@redhat.com>
2503
2504 PR c++/95984
2505 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2506 to stub lambda objects with null this pointer.
2507 (check_nonnull_arg): Handle C++ nullptr.
2508
b5f24739
GA
25092020-07-02 Jason Merrill <jason@redhat.com>
2510 Jakub Jelinek <jakub@redhat.com>
2511
2512 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2513
46fbb6c6
GA
25142020-06-30 Jakub Jelinek <jakub@redhat.com>
2515
2516 PR c++/95963
2517 * c-common.c (check_function_arguments_recurse): Don't crash on
2518 calls to internal functions.
2519
69273534
GA
25202020-06-28 Martin Sebor <msebor@redhat.com>
2521
2522 PR c++/86568
2523 * c-common.c (struct nonnull_arg_ctx): Add members.
2524 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2525 C++ member functions specially. Consider the this pointer implicitly
2526 nonnull.
2527 (check_nonnull_arg): Use location of argument when available.
2528 (check_function_arguments): Use nonnull_arg_ctx as argument.
2529
9a33c41f
GA
25302020-06-27 Jakub Jelinek <jakub@redhat.com>
2531
2532 PR middle-end/95903
2533 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2534 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2535 smaller precision intop operands separately.
2536
c9c05f73
GA
25372020-06-26 Marek Polacek <polacek@redhat.com>
2538
2539 * c-opts.c (c_common_init_options): Default to gnu++17.
2540
aff95ee7
GA
25412020-06-17 Jonathan Wakely <jwakely@redhat.com>
2542
bd0a89dc 2543 PR c/95378
aff95ee7
GA
2544 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2545 pointer arguments.
2546
56638b9b
GA
25472020-06-16 Jakub Jelinek <jakub@redhat.com>
2548
2549 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2550 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2551 idx members.
2552 (c_omp_is_loop_iterator): New function.
2553 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2554 if outer loop iterator is present. Perform duplicate checking through
2555 hash_set in the function rather than expecting caller to do that.
2556 Pass NULL instead of d->ppset to walk_tree_1.
2557 (c_omp_check_nonrect_loop_iv): New function.
2558 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2559 non-rectangular loop forms, diagnose multiple associated loops with
2560 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2561 (c_omp_check_loop_iv_exprs): Likewise.
2562
ec6ffbb9
GA
25632020-06-10 Martin Liska <mliska@suse.cz>
2564
2565 PR tree-optimization/92860
2566 * c-attribs.c (handle_optimize_attribute):
2567 Save global options and compare it after parsing of function
2568 attribute.
2569 * c-pragma.c (opt_stack::saved_global_options): New field.
2570 (handle_pragma_push_options): Save global_options.
2571 (handle_pragma_pop_options): Compare them after pop.
2572
b952c2cf
GA
25732020-06-09 Jakub Jelinek <jakub@redhat.com>
2574
2575 PR c/95580
2576 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2577 case when MEM_REF's first argument has type pointer to incomplete type.
2578
1a59f3db
GA
25792020-06-05 Jason Merrill <jason@redhat.com>
2580
2581 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2582 operand to POINTER_PLUS_EXPR.
2583
3add3425
GA
25842020-06-04 Martin Sebor <msebor@redhat.com>
2585
2586 PR middle-end/10138
2587 PR middle-end/95136
2588 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2589 (handle_access_attribute): Same.
2590
9a5b7438
GA
25912020-06-03 Mark Wielaard <mark@klomp.org>
2592
2593 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2594 New function.
2595 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2596 New function declaration.
2597
25982020-06-03 Mark Wielaard <mark@klomp.org>
2599
2600 * known-headers.cc (get_string_macro_hint): New function.
2601 (get_stdlib_header_for_name): Use get_string_macro_hint.
2602 (get_c_stdlib_header_for_string_macro_name): New function.
2603 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2604 New function declaration.
2605
26062020-06-03 Tobias Burnus <tobias@codesourcery.com>
2607
2608 * c-common.h (c_omp_predetermined_mapping): Declare.
2609 * c-omp.c (c_omp_predetermined_mapping): New.
2610
af114c38
MW
26112020-05-22 Mark Wielaard <mark@klomp.org>
2612
2613 * known-headers.cc (get_stdlib_header_for_name): Add a new
2614 stdlib_hint array for stdbool and stdint.
2615
45c50b6a
MW
26162020-05-22 Mark Wielaard <mark@klomp.org>
2617
2618 * known-headers.cc (get_stdlib_header_for_name): Return
2619 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2620 flag_isoc99.
2621
c22027a0
NS
26222020-05-20 Nathan Sidwell <nathan@acm.org>
2623
38a4db21
NS
2624 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2625
c22027a0
NS
2626 * c-common.c (try_to_locate_new_include_insertion_point): Use
2627 strcmp to compare filenames.
2628 * c-lex.c (init_c_lex): Move declaration to initialization.
2629 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2630 deferred count loop.
2631
29f0e90d
JM
26322020-05-15 Jason Merrill <jason@redhat.com>
2633
2634 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2635
b04445d4
JM
26362020-05-13 Jason Merrill <jason@redhat.com>
2637
2638 * c.opt (std=c++20): Make c++2a the alias.
2639 (std=gnu++20): Likewise.
2640 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2641 * c-opts.c: Adjust.
2642 * c-cppbuiltin.c: Adjust.
2643 * c-ubsan.c: Adjust.
2644 * c-warn.c: Adjust.
2645
11dd3be5
EB
26462020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2647
2648 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2649
b224c376
NS
26502020-05-08 Nathan Sidwell <nathan@acm.org>
2651
2652 Reimplement directives only processing.
2653 * c-ppoutput.c (token_streamer): Ne.
2654 (directives_only_cb): New. Swallow ...
2655 (print_lines_directives_only): ... this.
2656 (scan_translation_unit_directives_only): Reimplment using the
2657 published interface.
2658
f1d94677
MP
26592020-05-07 Marek Polacek <polacek@redhat.com>
2660
2661 * c-format.c (badwords): Add "nonstatic".
2662
9b95bb52
JJ
2663202-05-07 Jakub Jelinek <jakub@redhat.com>
2664
2665 PR c/94968
2666 * c-common.c (speculation_safe_value_resolve_params): Return false if
2667 error_operand_p (val2).
2668 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2669 Remove extraneous semicolon.
2670
530b4409 26712020-05-06 qing zhao <qing.zhao@oracle.com>
2672
2673 PR c/94230
2674 * c-indentation.c (get_visual_column): Add a hint to use the new
2675 -flarge-source-files option.
2676
b776bdca
SSF
26772020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2678
2679 * c-attribs.c (handle_vector_size_attribute): Add attribute
2680 nonnull for argument args in order to silence warning of
2681 uninitialized variable usage. Since this is local to the
2682 compilation unit and thus cannot be checked at call sides by the
2683 compiler, added an assert statement in order to verify this.
2684
6607bdd9
L
26852020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2686
2687 PR target/93492
2688 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2689 value to USHRT_MAX (65535).
2690
691eeb65
JJ
26912020-04-29 Jakub Jelinek <jakub@redhat.com>
2692
2693 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2694
26d76be7
JJ
26952020-04-27 Jakub Jelinek <jakub@redhat.com>
2696
2697 PR c/94755
2698 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2699 fncode == BUILT_IN_NONE before initialization of first_param.
2700
7291b2ed
MP
27012020-04-23 Marek Polacek <polacek@redhat.com>
2702
2703 PR c++/94733
2704 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2705 TREE_PURPOSE.
2706
58a29af8
PP
27072020-04-14 Patrick Palka <ppalka@redhat.com>
2708
2709 PR c++/85278
2710 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2711 ampersand if it's an rvalue reference type.
2712
09f04139
MS
27132020-04-13 Martin Sebor <msebor@redhat.com>
2714
2715 PR c/92326
2716 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2717 printing array bound for flexible array members.
2718
ee26baf4
IS
27192020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2720
2721 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2722 define, per n4861.
2723
75efe9cb
RB
27242020-04-02 Richard Biener <rguenther@suse.de>
2725
2726 PR c/94392
2727 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2728 for -O2 and C++11 or newer.
2729
75defde9
PP
27302020-03-28 Patrick Palka <ppalka@redhat.com>
2731
2732 * c.opt: Add -fconcepts-diagnostics-depth.
2733
52f24a9e
MS
27342020-03-27 Martin Sebor <msebor@redhat.com>
2735
2736 PR c++/94346
2737 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2738 to decl_attributes. Make handling of different kinds of entities
2739 more robust.
2740
ccacf77b
MS
27412020-03-27 Martin Sebor <msebor@redhat.com>
2742
2743 PR c++/94098
2744 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2745 here.
2746
ca6c7225
JJ
27472020-03-23 Jakub Jelinek <jakub@redhat.com>
2748
2749 PR c++/91993
2750 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2751 result being COMPOUND_EXPRs, skip to ultimate rhs.
2752
1aa22b19
RS
27532020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2754
2755 PR middle-end/94072
2756 * c-common.c (c_common_type_for_mode): Before using a registered
2757 built-in type, check that the vectorness of the type matches
2758 the vectorness of the mode.
2759
700d4cb0
JJ
27602020-03-17 Jakub Jelinek <jakub@redhat.com>
2761
2762 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2763 issue in a diagnostic message.
2764
b408e010
LH
27652020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2766
2767 * c.opt: Avoid redundancy in the help text.
2768
e78e50d5
MP
27692020-03-02 Marek Polacek <polacek@redhat.com>
2770
2771 PR c++/93958 - add missing -std=gnu++20.
2772 * c.opt: Add -std=gnu++20.
2773
649e1741
MS
27742020-03-01 Martin Sebor <msebor@redhat.com>
2775
2776 PR c++/92721
2777 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2778 (handle_access_attribute): Same.
2779
7b60f3ba
JJ
27802020-02-25 Jakub Jelinek <jakub@redhat.com>
2781
2782 PR c/93858
2783 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2784 "did you mean" hint in diagnostics.
2785
fb260504
JM
27862020-02-15 Jason Merrill <jason@redhat.com>
2787
2788 * c.opt: Add -std=c++20.
2789
1d757b09
EB
27902020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2791
2792 * c-ada-spec.c: Include bitmap.h.
2793 (dump_ada_double_name): Rename into...
2794 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2795 (dump_ada_array_type): Adjust to above renaming. Robustify.
2796 (dump_nested_types_1): New function copied from... Add dumped_types
2797 parameter and pass it down to dump_nested_type.
2798 (dump_nested_types): ...this. Remove parent parameter. Just call
2799 dump_nested_types_1 on an automatic bitmap.
2800 (dump_nested_type): Add dumped_types parameter.
2801 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2802 Adjust recursive calls and adjust to above renaming.
2803 (dump_ada_declaration): Adjust call to dump_nested_types.
2804 Tidy up and adjust to above renaming.
2805 (dump_ada_specs): Initialize and release bitmap obstack.
2806
0cc575e4
MS
28072020-02-10 Martin Sebor <msebor@redhat.com>
2808
2809 PR c/93640
2810 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2811
a59aa302
JJ
28122020-02-10 Jakub Jelinek <jakub@redhat.com>
2813
2814 PR other/93641
2815 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2816 Remove useless extra test.
2817
e464fc90
TB
28182020-02-03 Julian Brown <julian@codesourcery.com>
2819 Tobias Burnus <tobias@codesourcery.com>
2820
2821 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2822
e3b6c052
JM
28232020-01-29 Jason Merrill <jason@redhat.com>
2824
2825 PR c++/89357
2826 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2827
6d00f052
JM
28282020-01-23 Jason Merrill <jason@redhat.com>
2829
2830 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2831
8a990ffa
MS
28322020-01-23 Martin Sebor <msebor@redhat.com>
2833
2834 PR c/84919
2835 * c-common.c (check_function_arguments): Avoid overlap checking
2836 of sprintf functions.
2837
55b7df8b
JM
28382020-01-22 Jason Merrill <jason@redhat.com>
2839
2840 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2841 PR c++/40752
2842 * c-warn.c (conversion_warning): Check operands only after checking
2843 the whole expression. Don't check second operand of + for sign.
2844
c77074d0
JM
28452020-01-21 Jason Merrill <jason@redhat.com>
2846 Manuel López-Ibáñez <manu@gcc.gnu.org>
2847
2848 PR c++/40752 - useless -Wconversion with short +=.
2849 * c.opt (-Warith-conversion): New.
2850 * c-warn.c (conversion_warning): Recurse for operands of
2851 operators. Only warn about the whole expression with
2852 -Warith-conversion.
2853
731dbfc3
JM
28542020-01-21 Jason Merrill <jason@redhat.com>
2855
2856 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2857 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2858
ad1a3914
NS
28592020-01-20 Nathan Sidwell <nathan@acm.org>
2860
2861 PR preprocessor/80005
2862 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2863
49789fd0
IS
28642020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2865
2866 * c-common.c (co_await, co_yield, co_return): New.
2867 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2868 RID_CO_RETURN): New enumeration values.
2869 (D_CXX_COROUTINES): Bit to identify coroutines are active.
2870 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2871 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2872 * c.opt (fcoroutines): New command-line switch.
2873
4bc1899b
DM
28742020-01-10 David Malcolm <dmalcolm@redhat.com>
2875
2876 * c-format.c (local_event_ptr_node): New.
2877 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2878 (init_dynamic_diag_info): Initialize local_event_ptr_node.
2879 * c-format.h (T_EVENT_PTR): New define.
2880
f25e33fa
MS
28812020-01-10 Martin Sebor <msebor@redhat.com>
2882
2883 PR c/93132
2884 * c-attribs.c (append_access_attrs): Validate against the translated
2885 access string rather than the human-readable representation.
2886
8d9254fc
JJ
28872020-01-01 Jakub Jelinek <jakub@redhat.com>
2888
2889 Update copyright years.
2890
39292e25
EB
28912019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2892
2893 * c-ada-spec.h (decl_sloc): Delete.
2894 * c-ada-spec.c (decl_sloc): Make static.
2895
519d7496
JB
28962019-12-19 Julian Brown <julian@codesourcery.com>
2897
2898 * c-common.h (c_omp_map_clause_name): Add prototype.
2899 * c-omp.c (c_omp_map_clause_name): New function.
2900 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2901 PRAGMA_OACC_CLAUSE_DETACH.
2902
a6163563
JB
29032019-12-19 Julian Brown <julian@codesourcery.com>
2904 Maciej W. Rozycki <macro@codesourcery.com>
2905 Tobias Burnus <tobias@codesourcery.com>
2906 Thomas Schwinge <thomas@codesourcery.com>
2907
2908 * c-pragma.h (pragma_omp_clause): Add
2909 PRAGMA_OACC_CLAUSE_NO_CREATE.
2910
e8f1ade2
MS
29112019-12-17 Martin Sebor <msebor@redhat.com>
2912
2913 PR c++/61339
2914 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2915
368877a1
DM
29162019-12-11 David Malcolm <dmalcolm@redhat.com>
2917
2918 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2919 implementation.
2920 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2921
d68f5d45
DM
29222019-12-09 David Malcolm <dmalcolm@redhat.com>
2923
2924 * c-format.c (range_label_for_format_type_mismatch::get_text):
2925 Replace label_text ctor called with true with label_text::take.
2926
d3e28653
DM
29272019-12-09 David Malcolm <dmalcolm@redhat.com>
2928
2929 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2930 initial newline from expected outputs.
2931 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2932 call to diagnostic_show_locus.
2933
abd6d8cc
JJ
29342019-12-06 Jakub Jelinek <jakub@redhat.com>
2935
2936 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2937 now.
2938
7906797e
MP
29392019-12-05 Marek Polacek <polacek@redhat.com>
2940 Jakub Jelinek <jakub@redhat.com>
2941
2942 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2943 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2944
5c04da88
MP
29452019-12-05 Marek Polacek <polacek@redhat.com>
2946
2947 PR c++/92271 - make __is_same alias for __is_same_as.
2948 * c-common.c: Add __is_same, an alias for __is_same_as.
2949
43aae289
MP
29502019-12-03 Marek Polacek <polacek@redhat.com>
2951
2952 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2953 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2954 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2955
d7ddfbcb
JH
29562019-11-30 Jan Hubicka <hubicka@ucw.cz>
2957
2958 * c-attribs.c (handle_symver_attribute): New function
2959 (c_common_attributes): Add symver.
2960
65ef05d0
RS
29612019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2962
2963 * c-common.c (pointer_int_sum): Use verify_type_context to check
2964 whether the target allows pointer arithmetic for the types involved.
2965 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2966 to check whether the target allows sizeof and alignof operations
2967 for the types involved.
2968
1a291106
JM
29692019-11-27 Jason Merrill <jason@redhat.com>
2970
2971 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2972
05d6cb1a
JJ
29732019-11-26 Jakub Jelinek <jakub@redhat.com>
2974
2975 PR c++/61414
2976 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2977 ENUMERAL_TYPEs.
2978
5b8d9367
JM
29792019-11-25 Joseph Myers <joseph@codesourcery.com>
2980
2981 PR c/91985
2982 * c-common.c (c_common_type_for_mode): Handle decimal
2983 floating-point types being NULL_TREE.
2984 * c-format.c (get_format_for_type_1): Handle specified types being
2985 NULL_TREE.
2986 * c-lex.c (interpret_float): Give an error for decimal
2987 floating-point constants when decimal floating-point not
2988 supported.
2989
1fbf51cb
JJ
29902019-11-23 Jakub Jelinek <jakub@redhat.com>
2991
2992 PR middle-end/83859
2993 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2994 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2995 group warning with inform together.
2996 (handle_access_attribute): Formatting fix.
2997
761df906
JJ
29982019-11-22 Jakub Jelinek <jakub@redhat.com>
2999
bdaf8be1
JJ
3000 PR c/90677
3001 * c-common.h (identifier_global_tag): Declare.
3002 * c-format.c (get_pointer_to_named_type): Renamed to ...
3003 (get_named_type): ... this. Use identifier_global_tag instead of
3004 identifier_global_value, handle the return value being a TYPE_P.
3005 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
3006 to call get_named_type instead. Formatting fixes.
3007
c2ecce6d 3008 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
3009 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
3010 and __cpp_generic_lambdas for -std=c++2a. Define
3011 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
3012 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
3013 __cpp_concepts for -std=c++2a.
3014
54aa6b58
MS
30152019-11-22 Martin Sebor <msebor@redhat.com>
3016
3017 PR middle-end/83859
3018 * c-attribs.c (handle_access_attribute): New function.
3019 (c_common_attribute_table): Add new attribute.
3020 (get_argument_type): New function.
3021 (append_access_attrs): New function.
3022 (get_nonnull_operand): Rename...
3023 (get_attribute_operand): ...to this.
3024 * c-common.c (get_nonnull_operand): Rename...
3025 (get_attribute_operand): ...to this.
3026
6c80b1b5
JM
30272019-11-21 Joseph Myers <joseph@codesourcery.com>
3028
3029 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
3030 of warning.
3031
192961ff
JM
30322019-11-19 Joseph Myers <joseph@codesourcery.com>
3033
3034 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
3035 warning for standard attributes mixed with fallthrough attributes.
3036
f8aea5e3
JM
30372019-11-15 Joseph Myers <joseph@codesourcery.com>
3038
3039 * c-attribs.c (handle_fallthrough_attribute): Remove static.
3040 * c-common.h (handle_fallthrough_attribute): Declare.
3041
2cc94aa8
JM
30422019-11-15 Joseph Myers <joseph@codesourcery.com>
3043
3044 * c-attribs.c (handle_deprecated_attribute): Remove static.
3045 * c-common.h (handle_deprecated_attribute): Declare.
3046
7c5890cc
JM
30472019-11-14 Joseph Myers <joseph@codesourcery.com>
3048
3049 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
3050 char for C.
3051
b2417b59
JJ
30522019-11-14 Jakub Jelinek <jakub@redhat.com>
3053
d0ec7c93
JJ
3054 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
3055 valid vendors.
3056
b2417b59
JJ
3057 * c-omp.c (c_omp_check_context_selector): Handle name lists
3058 containing string literals. Don't diagnose atomic_default_mem_order
3059 with multiple props.
3060
00be2a5f
JM
30612019-11-13 Joseph Myers <joseph@codesourcery.com>
3062
3063 * c-cppbuiltin.c (builtin_define_float_constants): Also define
3064 NORM_MAX constants. Update call to get_max_float.
3065 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
3066 constants.
3067
2dbad62d
EB
30682019-11-13 Eric Botcazou <ebotcazou@adacore.com>
3069
3070 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
3071 (dump_forward_type): Do not generate a declaration for function types.
3072 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
3073 of the component type if it is declared in another file.
3074
6ed76044
ML
30752019-11-12 Martin Liska <mliska@suse.cz>
3076
3077 * c-opts.c (c_common_post_options):
3078 Use SET_OPTION_IF_UNSET.
3079
62aee289
MR
30802019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
3081 Frederik Harwath <frederik@codesourcery.com>
3082
3083 gcc/c-family/
3084 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
3085 constant.
3086 * c-pragma.c (oacc_pragmas): Add "serial" entry.
3087
f486280c
RS
30882019-11-08 Richard Sandiford <richard.sandiford@arm.com>
3089
3090 * c-common.h (gnu_vector_type_p): New function.
3091 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
3092 vectors to satisfy gnu_vector_type_p.
3093 (c_build_vec_convert): Likewise __builtin_convertvector.
3094 (convert_vector_to_array_for_subscript): Likewise when applying
3095 implicit vector to array conversion.
3096 (scalar_to_vector): Likewise when converting vector-scalar
3097 operations to vector-vector operations.
3098
017c6491
JM
30992019-11-08 Joseph Myers <joseph@codesourcery.com>
3100
3101 * c.opt (Wold-style-definition): Initialize to -1.
3102 * c-opts.c (c_common_post_options): Set warn_old_style_definition
3103 to flag_isoc2x if not set explicitly.
3104
c01bd174
JM
31052019-11-07 Joseph Myers <joseph@codesourcery.com>
3106
3107 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
3108
0df65305
JM
31092019-11-05 Jason Merrill <jason@redhat.com>
3110
3111 * c-opts.c (c_common_post_options): -fconcepts-ts implies
3112 -fconcepts.
3113
e0c866dd
KK
31142019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
3115
3116 * c-opts.c (c_common_post_options): Update
3117 latest_abi_version.
3118
f968ef9b
JJ
31192019-11-02 Jakub Jelinek <jakub@redhat.com>
3120
d0c464d2
JJ
3121 * c-common.h (c_omp_get_context_selector): Remove.
3122 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
3123 and renamed to omp_get_context_selector.
3124
917dd789
JJ
3125 * c-omp.c (c_omp_mark_declare_variant): Use
3126 omp_context_selector_set_compare.
3127
f968ef9b
JJ
3128 PR c++/88335 - Implement P1073R3: Immediate functions
3129 * c-common.h (enum rid): Add RID_CONSTEVAL.
3130 * c-common.c (c_common_reswords): Add consteval.
3131
5f6705b7
JJ
31322019-11-01 Martin Sebor <msebor@redhat.com>
3133
3134 PR middle-end/91679
3135 PR middle-end/91647
3136 PR middle-end/91463
3137 PR middle-end/92312
3138 * c-pretty-print.c (direct_abstract_declarator): Print
3139 bound in zero-length arrays.
3140 * c.opt (-Wzero-length-bounds): New option.
3141
43f1814c
NS
31422019-10-30 Nathan Sidwell <nathan@acm.org>
3143
3144 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
3145 macros.
3146
ad1539d5
MS
31472019-10-28 Martin Sebor <msebor@redhat.com>
3148
3149 PR c/66970
3150 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
3151 even when only preprocessing.
3152 * c-common.h (names_builtin_p): Declare new function.
3153 * c-lex.c (init_c_lex): Set has_builtin.
3154 (c_common_has_builtin): Define a new function.
3155 * c-ppoutput.c (init_pp_output): Set has_builtin.
3156
135df52c
JJ
31572019-10-24 Jakub Jelinek <jakub@redhat.com>
3158
3159 * c-common.h (c_omp_context_selector_matches): Remove.
3160 * c-omp.c (c_omp_context_selector_matches): Remove.
3161 * c-attribs.c (c_common_attribute_table): Add
3162 "omp declare target {host,nohost,block}" attributes.
3163
8ad0c477
JM
31642019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
3165
3166 * c-lex.c (c_common_has_attribute): Update nodiscard value.
3167
56898e43
RS
31682019-10-14 Richard Sandiford <richard.sandiford@arm.com>
3169
3170 * c-common.h (user_facing_original_type_p): Declare.
3171 * c-common.c: Include c-spellcheck.h.
3172 (user_facing_original_type_p): New function.
3173
20de9568
JJ
31742019-10-12 Jakub Jelinek <jakub@redhat.com>
3175
3176 * c-common.h (c_omp_mark_declare_variant,
3177 c_omp_context_selector_matches): Declare.
3178 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
3179 and hsa-common.h.
3180 (c_omp_get_context_selector): Support second argument NULL.
3181 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
3182 functions.
3183 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
3184 attribute, add "omp declare variant base" and
3185 "omp declare variant variant" attributes.
3186
175a85b2
JM
31872019-10-11 Joseph Myers <joseph@codesourcery.com>
3188
3189 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
3190 CppReason(CPP_W_C11_C2X_COMPAT).
3191
fe2bc27c
JM
31922019-10-11 Joseph Myers <joseph@codesourcery.com>
3193
3194 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
3195 _Decimal64 and _Decimal128.
3196
27dfdc0f
JM
31972019-10-10 Joseph Myers <joseph@codesourcery.com>
3198
3199 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
3200 types if DFP not supported.
3201
94e7f906
JJ
32022019-10-10 Jakub Jelinek <jakub@redhat.com>
3203
3204 * c-common.h (c_omp_check_context_selector,
3205 c_omp_get_context_selector): Declare.
3206 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
3207 in diagnostic message.
3208 (c_omp_check_context_selector, c_omp_get_context_selector): New
3209 functions.
3210 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
3211 attribute.
3212 (handle_omp_declare_variant_attribute): New function.
3213
a7160771
MS
32142019-10-09 Martin Sebor <msebor@redhat.com>
3215
3216 PR tree-optimization/90879
3217 * c.opt (-Wstring-compare): New option.
3218
cb57504a
JM
32192019-10-08 Andrew Sutton <asutton@lock3software.com>
3220 Jason Merrill <jason@redhat.com>
3221
3222 Update the concepts implementation to conform to the C++20
3223 specification, improve compile times, and generally clean up
3224 the implementation.
3225
3226 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
3227 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
3228 * c.opt: Add -Wconcepts-ts.
3229 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
3230 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
3231 (set_std_cxx2a): Enable concepts by default.
3232
fbb2a6dc
JM
32332019-10-08 Joseph Myers <joseph@codesourcery.com>
3234
3235 * c-opts.c (c_common_post_options): Set
3236 -fno-fp-int-builtin-inexact for C2X.
3237
8e007055
JJ
32382019-10-05 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR c++/91369 - Implement P0784R7: constexpr new
3241 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3242 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
3243
843f104d
JM
32442019-10-04 Joseph Myers <joseph@codesourcery.com>
3245
3246 PR c/82752
3247 * c-format.c (C_STD_VER): Handle C2x.
3248 (C_STD_NAME): Likewise.
3249 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
3250 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
3251 modifier allowed and 'p' flag.
3252 * c-format.h (enum format_std_version): Add STD_C2X.
3253 (struct format_char_info): Mention 'p' in comment on flags2.
3254
e9c9a142
DM
32552019-10-01 David Malcolm <dmalcolm@redhat.com>
3256
3257 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
3258 calling diagnostic_show_locus, rather than destroying it afterwards.
3259
7552c36a
JJ
32602019-10-01 Jakub Jelinek <jakub@redhat.com>
3261
3262 PR c++/91925
3263 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
3264 with NULL DECL_FIELD_OFFSET.
3265
8209db25
RS
32662019-10-01 Richard Sandiford <richard.sandiford@arm.com>
3267
3268 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
3269 has a type name, use it in preference to the __vector syntax.
3270
9343bf99
RS
32712019-09-30 Richard Sandiford <richard.sandiford@arm.com>
3272
3273 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
3274 two spaces between a comma and "...".
3275
59bc434a
JJ
32762019-09-27 Jakub Jelinek <jakub@redhat.com>
3277
3278 PR c++/88203
3279 * c-common.h (c_omp_predefined_variable): Declare.
3280 * c-omp.c (c_omp_predefined_variable): New function.
3281 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
3282 for predefined variables.
3283
c6447c20
RS
32842019-09-27 Richard Sandiford <richard.sandiford@arm.com>
3285
3286 * c-common.h (build_function_call_vec): Take the original
3287 function decl as an optional final parameter.
3288 (check_builtin_function_arguments): Take the original function decl.
3289 * c-common.c (check_builtin_function_arguments): Likewise.
3290 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
3291 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
3292
c4438114
JM
32932019-09-15 Jason Merrill <jason@redhat.com>
3294
3295 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
3296 fold_for_warn in "|| mask" warning.
3297
68a57628
ML
32982019-09-10 Martin Liska <mliska@suse.cz>
3299
3300 * c.opt: Use newly added WarnRemoved.
3301
f48ef52e
ML
33022019-09-09 Martin Liska <mliska@suse.cz>
3303
3304 * c.opt: Update comment of removed
3305 options that are preserved only for backward
3306 compatibility.
3307
67f6e649
ML
33082019-09-06 Martin Liska <mliska@suse.cz>
3309
3310 PR c++/91125
3311 * c-common.c: Remove definition of flag_use_repository.
3312 * c-common.h: Likewise.
3313 * c-opts.c (c_common_handle_option):
3314 Do not handle OPT_frepo option.
3315 * c.opt: Mark the option with Deprecated.
3316
db9d2274
MP
33172019-09-04 Marek Polacek <polacek@redhat.com>
3318
3319 * c.opt (fdeduce-init-list): Ignored.
3320
68e2c199
PK
33212019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3322
3323 PR c/78736
3324 * c.opt (Wenum-conversion): New option.
3325
7a4418a5
JL
33262019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3327
3328 * c-attribs.c (handle_section_attribute): Call the
3329 handle_generic_attribute target hook after performing target
3330 independent processing.
3331 (handle_noinit_attribute): Likewise.
3332
5f76ab15
ILT
33332019-09-03 Ian Lance Taylor <iant@golang.org>
3334
3335 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
3336 when using -fgo-dump-spec.
3337
ae0d3f6a
ML
33382019-09-02 Martin Liska <mliska@suse.cz>
3339
3340 PR c++/91155
3341 * c-common.c (fname_as_string): Use cxx_printable_name for
3342 __PRETTY_FUNCTION__ same as was used before r265711.
3343
8a902edb
MP
33442019-08-28 Marek Polacek <polacek@redhat.com>
3345
3346 Implement P1152R4: Deprecating some uses of volatile.
3347 PR c++/91361
3348 * c-opts.c (c_common_post_options): Enable -Wvolatile by
3349 default for C++2a, unless -Wno-deprecated.
3350 * c.opt (Wvolatile): New warning.
3351
4742dbe7
MP
33522019-08-28 Marek Polacek <polacek@redhat.com>
3353
3354 PR c++/91360 - Implement C++20 P1143R2: constinit.
3355 * c-common.c (c_common_reswords): Add constinit and __constinit.
3356 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
3357 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
3358 RID_LAST_CXX20.
3359 (D_CXX20): Define.
3360 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
3361 * c-format.c (cxx_keywords): Add "constinit".
3362 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
3363
6a074892
JJ
33642019-08-27 Jakub Jelinek <jakub@redhat.com>
3365
3366 PR c++/91415
3367 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
3368 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
3369 like COMPOUND_EXPR rather than normal expression.
3370
22f8849d
IS
33712019-08-23 Iain Sandoe <iain@sandoe.co.uk>
3372
3373 PR pch/61250
3374 * c-lex.c (c_lex_with_flags): Don't call
3375 c_common_no_more_pch () from here.
3376
df375b03
JJ
33772019-08-23 Jakub Jelinek <jakub@redhat.com>
3378
3379 PR middle-end/91283
3380 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
3381 instead of flag_excess_precision_cmdline.
3382 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
3383 * c-opts.c (c_common_post_options): Likewise.
3384
14b7950f
MS
33852019-08-22 Martin Sebor <msebor@redhat.com>
3386
3387 PR middle-end/91490
3388 * c-common.c (braced_list_to_string): Add argument and overload.
3389 Handle flexible length arrays and unions.
3390
8bb2ee59
EB
33912019-08-21 Eric Botcazou <ebotcazou@adacore.com>
3392
3393 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
3394 function declarations where arguments are missing. Rename variables.
3395
21c1e205
RB
33962019-08-15 Richard Biener <rguenther@suse.de>
3397
3398 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
3399 enabled, define __SIZETYPE__.
3400
f0033821
CL
34012019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
3402
3403 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
3404 exclusion with "section" attribute.
3405 (attr_noinit_exclusions): New table.
3406 (handle_noinit_attribute): New function.
3407
4d732405
RS
34082019-08-13 Richard Sandiford <richard.sandiford@arm.com>
3409
3410 PR middle-end/91421
3411 * c-common.c (resolve_overloaded_builtin): Use
3412 copy_decl_built_in_function.
3413
51ad8481
MS
34142019-08-13 Martin Sebor <msebor@redhat.com>
3415
3416 PR c/80619
3417 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
3418 (asm_fprintf_length_spec): Same.
3419 * c-format.h (format_lengths): Add FMT_LEN_w.
3420
77eb117f
JJ
34212019-08-10 Jakub Jelinek <jakub@redhat.com>
3422
3423 * c-pragma.h (enum pragma_omp_clause): Add
3424 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
3425
398e3feb
JJ
34262019-08-07 Jakub Jelinek <jakub@redhat.com>
3427
3428 * c-pragma.h (enum pragma_omp_clause): Add
3429 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
3430 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
3431 enumeration value.
3432
ab574db6
MP
34332019-08-05 Marek Polacek <polacek@redhat.com>
3434
3435 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
3436 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
3437 default for C++2a, unless -Wno-deprecated.
3438 * c.opt (Wcomma-subscript): New warning.
3439
554a530f
JJ
34402019-07-20 Jakub Jelinek <jakub@redhat.com>
3441
3442 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
3443 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
3444 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
3445 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
3446 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
3447 constructs with the loop construct.
3448
1a888209
JJ
34492019-07-13 Jakub Jelinek <jakub@redhat.com>
3450
3451 PR c/91149
3452 * c-omp.c (c_omp_split_clauses): Fix a pasto in
3453 OMP_CLAUSE_REDUCTION_TASK handling.
3454
1fdd6f04
JJ
34552019-07-12 Jakub Jelinek <jakub@redhat.com>
3456
3457 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
3458 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
3459
99b1c316
MS
34602019-07-09 Martin Sebor <msebor@redhat.com>
3461
3462 PR c++/61339
1fdd6f04 3463 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
3464 and others to class.
3465 * c-pretty-print.h: Same.
3466
6c1dae73
MS
34672019-07-09 Martin Sebor <msebor@redhat.com>
3468
3469 PR c++/61339
3470 * c-format.c (check_argument_type): Change class-key from class to
3471 struct and vice versa to match convention and avoid -Wclass-is-pod
3472 and -Wstruct-no-pod.
3473 * c-pretty-print.h: Same.
3474
8ba6ea87
ML
34752019-07-03 Martin Liska <mliska@suse.cz>
3476
3477 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3478 dead assignemts.
3479
83eb9522
JJ
34802019-07-03 Jakub Jelinek <jakub@redhat.com>
3481
3482 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3483 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3484 with OMP_PARALLEL.
3485
1c6ffbab
QZ
34862019-07-02 qing zhao <qing.zhao@oracle.com>
3487
3488 PR preprocessor/90581
3489 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3490 * c.opt: Add new option -fmax-include-depth.
3491
7ffc7de5
JM
34922019-06-26 Jason Merrill <jason@redhat.com>
3493
3494 PR c++/55442 - memory-hog with highly recursive constexpr.
3495 * c.opt (fconstexpr-loop-limit): New.
3496
361af3e4
JJ
34972019-06-25 Jakub Jelinek <jakub@redhat.com>
3498
3499 PR sanitizer/90954
3500 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3501 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3502
ab20d992
JJ
35032019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3504
3505 * c-common.c (c_common_nodes_and_builtins): Define
3506 alternate "__intN__" name for "__intN" types.
3507
f4af4019
JH
35082019-06-24 Jan Hubicka <jh@suse.cz>
3509
3510 * c-common.c (braced_lists_to_strings): Check that
3511 type is array or integer prior checking string flag.
3512
da9e9b57
MB
35132019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3514
3515 PR c++/90875 - added -Wswitch-outside-range option
3516 * c.opt (Wswitch-outside-range): Added new option.
3517 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3518
3f3d6a6f
MP
35192019-06-21 Marek Polacek <polacek@redhat.com>
3520
3521 PR c++/90953 - ICE with -Wmissing-format-attribute.
3522 * c-common.c (check_function_arguments_recurse): Use
3523 get_attribute_name.
3524 (check_missing_format_attribute): Likewise.
3525
1bf32c11
MP
35262019-06-19 Marek Polacek <polacek@redhat.com>
3527
3528 PR c++/60364 - noreturn after first decl not diagnosed.
3529 * c-attribs.c (handle_noreturn_attribute): No longer static.
3530 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3531 Declare.
3532 * c-format.c (check_function_format): Use get_attribute_name.
3533
a04c0734
MS
35342019-06-19 Martin Sebor <msebor@redhat.com>
3535
3536 PR translation/90156
3537 * c-format.c (function_format_info::format_type): Adjust type.
3538 (function_format_info::is_raw): New member.
3539 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3540 (decode_format_attr): Adjust call to decode_format_type.
3541 Avoid a redundant call to convert_format_name_to_system_name.
3542 Avoid abbreviating the word "arguments" in a diagnostic.
3543 (format_warning_substr): New function.
3544 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3545 (finish_dollar_format_checking): Same.
3546 (check_format_info): Same.
3547 (struct baltoks_t): New.
3548 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3549 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3550 functions.
3551 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3552 maybe_diag_unbalanced_tokens.
3553 (handle_format_attribute): Spell out the word "arguments" in
3554 a diagnostic.
3555
d3786ebb
MB
35562019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3557
3558 PR c++/90449 - add -Winaccessible-base option.
3559 * c.opt (Winaccessible-base): New option.
3560
bf38f7e9
JJ
35612019-06-10 Jakub Jelinek <jakub@redhat.com>
3562
3563 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3564 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3565 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3566 combined/composite constructs where it is not allowed. Copy over
3567 OMP_CLAUSE_REDUCTION_INSCAN.
3568
0ecf545c
MS
35692019-06-05 Martin Sebor <msebor@redhat.com>
3570
3571 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3572 (handle_alias_ifunc_attribute): Same.
3573 (handle_copy_attribute): Same.
3574 (handle_weakref_attribute): Same.
3575 (handle_nonnull_attribute): Same.
3576 * c-warn.c (warn_for_sign_compare): Same.
3577 (warn_for_restrict): Same.
3578 * c.opt: Same.
3579
36b34127
MS
35802019-06-05 Martin Sebor <msebor@redhat.com>
3581
3582 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3583 * c.opt (-Wformat-diag): Remove a spurious period.
3584
357a352f
JJ
35852019-05-29 Jakub Jelinek <jakub@redhat.com>
3586
3587 PR c/90628
3588 * c-common.c (check_builtin_function_arguments)
3589 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3590 as last argument.
3591
2b8235ea
EB
35922019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3593
3594 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3595
6d86ddc4
ML
35962019-05-22 Martin Liska <mliska@suse.cz>
3597
3598 PR lto/90500
3599 * c-attribs.c (handle_copy_attribute): Do not copy
3600 target_clones attribute.
3601
419ba5b9
EB
36022019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3603
3604 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3605 * c-ada-spec.c (print_assignment_operator): New function.
3606 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3607 assignment operators declared as methods and filter out the others.
3608
e03436e7
TS
36092019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3610
3611 PR c/89433
3612 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3613 "omp declare target".
3614
a9c697b8
MS
36152019-05-16 Martin Sebor <msebor@redhat.com>
3616
ab20d992
JJ
3617 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3618 keywords, operators, and types in diagnostics.
3619 (handle_scalar_storage_order_attribute): Same.
3620 (handle_mode_attribute): Same.
3621 (handle_visibility_attribute): Same.
3622 (handle_assume_aligned_attribute): Same.
3623 (handle_no_split_stack_attribute): Same.
3624 * c-common.c (shorten_compare): Same.
3625 (c_common_truthvalue_conversion): Same.
3626 (cb_get_source_date_epoch): Same.
3627 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3628 in diagnostics.
3629 (interpret_float): Same.
3630 * c-omp.c (c_finish_omp_for): Same.
3631 * c-opts.c (c_common_post_options): Same.
3632 * c-pch.c (c_common_pch_pragma): Same.
3633 * c-pragma.c (pop_alignment): Same.
3634 (handle_pragma_pack): Same.
3635 (apply_pragma_weak): Same.
3636 (handle_pragma_weak): Same.
3637 (handle_pragma_scalar_storage_order): Same.
3638 (handle_pragma_redefine_extname): Same.
3639 (add_to_renaming_pragma_list): Same.
3640 (maybe_apply_renaming_pragma): Same.
3641 (push_visibility): Same.
3642 (handle_pragma_visibility): Same.
3643 (handle_pragma_optimize): Same.
3644 (handle_pragma_message): Same.
3645 * c-warn.c (warn_for_omitted_condop): Same.
3646 (lvalue_error): Same.
a9c697b8 3647
6b943512
RB
36482019-05-15 Richard Biener <rguenther@suse.de>
3649
3650 PR c/90474
3651 * c-common.c (c_common_mark_addressable_vec): Also mark
3652 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3653 c_mark_addressable.
ab20d992 3654
b744fc85
NS
36552019-05-06 Nathan Sidwell <nathan@acm.org>
3656
3657 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3658
598f50d7
NS
36592019-04-30 Nathan Sidwell <nathan@acm.org>
3660
3661 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3662
5bcc5a3b
ML
36632019-04-30 Martin Liska <mliska@suse.cz>
3664
3665 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3666 for unknown options.
3667
e78a87f7
RS
36682019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3669
3670 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3671 the pointer target rather than the pointer itself.
3672
c280b7ee
JJ
36732019-04-19 Jakub Jelinek <jakub@redhat.com>
3674
3675 PR c/89888
3676 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3677 arguments.
3678 (c_do_switch_warnings): Remove outside_range_p argument.
3679 * c-common.c (check_case_bounds): Removed.
3680 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3681 Don't call check_case_bounds. Fold low_value as well as high_value.
3682 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3683 Check for case labels outside of range of original type here and
3684 adjust them.
3685
8e8225e6
JJ
36862019-04-12 Jakub Jelinek <jakub@redhat.com>
3687
63b8a166
JJ
3688 PR translation/90041
3689 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3690 in the Warn diagnostics.
3691
8e8225e6
JJ
3692 PR c/89946
3693 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3694 function comment. Warn if arguments of the attribute are not positive
3695 integer constants.
3696
53a3f614
EB
36972019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3698
3699 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3700 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3701
22be5873
EB
37022019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3703
3704 * c-ada-spec.c (is_float128): New predicate extracted from...
3705 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3706 <REAL_TYPE>: ...here. Call it.
3707
34facf20
DM
37082019-04-05 David Malcolm <dmalcolm@redhat.com>
3709
3710 PR c/89985
3711 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3712 auto_diagnostic_group. Guard inform calls by result of
3713 warning_at call.
3714
05564120
MP
37152019-04-05 Marek Polacek <polacek@redhat.com>
3716
ab20d992 3717 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3718 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3719 of RHS.
3720
7a506c3c
JM
37212019-04-03 Jason Merrill <jason@redhat.com>
3722
3723 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3724 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3725
ddeae8c8
MS
37262019-04-01 Martin Sebor <msebor@redhat.com>
3727
3728 PR c/89685
3729 * c-attribs.c (handle_copy_attribute): Handle references and
3730 non-constant expressions.
3731
a15ffa22
JJ
37322019-03-22 Jakub Jelinek <jakub@redhat.com>
3733
3734 PR c++/87481
3735 * c.opt (-fconstexpr-ops-limit=): New option.
3736
36a3a7a3
JJ
37372019-03-21 Jakub Jelinek <jakub@redhat.com>
3738
3739 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3740 template param.
3741
bec1da64
MS
37422019-03-19 Martin Sebor <msebor@redhat.com>
3743
3744 PR tree-optimization/89688
3745 * c-common.c (braced_list_to_string): Make static.
3746 (braced_lists_to_strings): Define new function.
3747 * c-common.h (braced_list_to_string): Remove.
3748 (braced_lists_to_strings): Declare.
3749
1fe61adf
ML
37502019-03-12 Martin Liska <mliska@suse.cz>
3751
3752 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3753
93964ebd
ML
37542019-03-11 Martin Liska <mliska@suse.cz>
3755
3756 * c-opts.c (c_common_post_options): Wrap apostrophes
3757 in gcc internal format with %'.
3758
a3f9f006
ML
37592019-03-11 Martin Liska <mliska@suse.cz>
3760
3761 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3762 in a string format message and fix GNU coding style.
3763 * c-common.c (vector_types_convertible_p): Likewise.
3764 (c_build_vec_perm_expr): Likewise.
3765 * c-indentation.c (get_visual_column): Likewise.
3766 * c-opts.c (c_common_handle_option): Likewise.
3767 (c_common_post_options): Likewise.
3768 (sanitize_cpp_opts): Likewise.
3769 * c-pch.c (c_common_pch_pragma): Likewise.
3770 * c-pragma.c (handle_pragma_pack): Likewise.
3771
1db01ff9
JJ
37722019-03-08 Jakub Jelinek <jakub@redhat.com>
3773
3774 PR tree-optimization/89550
3775 * c-common.c (c_common_truthvalue_conversion): Only set
3776 TREE_NO_WARNING if warning_at returned true.
3777 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3778
ba790e6f
JJ
37792019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3780 Martin Sebor <msebor@gmail.com>
3781
3782 * c.opt (Wmissing-attributes): Clean up doc string.
3783
7da73ba7
JJ
37842019-02-25 Jakub Jelinek <jakub@redhat.com>
3785
3786 PR c/89495
3787 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3788 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3789 checking.
3790
921bb9d1
RB
37912019-02-22 Richard Biener <rguenther@suse.de>
3792
3793 * c-pch.c (no_checksum): Remove.
3794 (pch_init): Remove assertion that executable_checksum is not
3795 all zero.
3796 (c_common_valid_pch): Likewise.
3797
e2ebb05c
MS
37982019-02-18 Martin Sebor <msebor@redhat.com>
3799
3800 PR middle-end/89294
3801 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3802
3fe53000
DM
38032019-02-16 David Malcolm <dmalcolm@redhat.com>
3804
3805 PR c++/88680
3806 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3807 implementing -Wtype-limits.
3808
28a8cef1
MS
38092019-02-11 Martin Sebor <msebor@redhat.com>
3810
3811 PR c++/87996
3812 * c-common.c (invalid_array_size_error): New function.
3813 (valid_array_size_p): Call it. Handle size as well as type.
3814 * c-common.h (valid_constant_size_p): New function.
3815 (enum cst_size_error): New type.
3816
ec2be203
DM
38172019-01-31 David Malcolm <dmalcolm@redhat.com>
3818
3819 PR c/89122
3820 * known-headers.cc (get_stdlib_header_for_name): Add
3821 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3822
8936f047
JJ
38232019-01-31 Jakub Jelinek <jakub@redhat.com>
3824
3825 PR libstdc++/88170
3826 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3827 a C cast in pp_c_flag_gnu_v3 mode.
3828
6a335b96
JJ
38292019-01-29 Jakub Jelinek <jakub@redhat.com>
3830
3831 PR c/86125
3832 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3833 builtin_structptr_types types even for C.
3834
2a06eba5
BE
38352019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3836
3837 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3838 when rhs is of array type correctly. Fix handling of nested structures.
3839 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3840 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3841 type casts within nested compound expressions.
3842
18a23298
JJ
38432019-01-22 Jakub Jelinek <jakub@redhat.com>
3844
3845 PR middle-end/88968
3846 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3847 variable after using BIT_FIELD_REF.
3848
420183d9
L
38492019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3850
3851 PR c/51628
3852 PR c/88664
3853 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3854 Remove the boolean argument.
3855 * c-warn.c (check_address_of_packed_member): Renamed to ...
3856 (check_address_or_pointer_of_packed_member): This. Also
3857 warn pointer conversion.
3858 (check_and_warn_address_of_packed_member): Renamed to ...
3859 (check_and_warn_address_or_pointer_of_packed_member): This.
3860 Also warn pointer conversion.
3861 (warn_for_address_or_pointer_of_packed_member): Remove the
3862 boolean argument. Don't check pointer conversion here.
3863
99063eee
RS
38642019-01-15 Richard Sandiford <richard.sandiford@arm.com>
3865
3866 PR inline-asm/52813
3867 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3868
a30d0196
JJ
38692019-01-14 Jakub Jelinek <jakub@redhat.com>
3870
3871 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3872 and __cpp_nontype_template_parameter_auto. Add a comment that
3873 __cpp_template_auto is deprecated.
3874
2d91f79d
TH
38752019-01-14 Tom Honermann <tom@honermann.net>
3876
3877 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3878 * c-common.c (c_common_reswords): Add char8_t.
3879 (fix_string_type): Use char8_t for the type of u8 string literals.
3880 (c_common_get_alias_set): char8_t doesn't alias.
3881 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3882 C++.
3883 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3884 (keyword_begins_type_specifier): Add RID_CHAR8.
3885 * c-common.h (rid): Add RID_CHAR8.
3886 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3887 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3888 Define char8_type_node and char8_array_type_node.
3889 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3890 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3891 (c_cpp_builtins): Predefine __cpp_char8_t.
3892 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3893 CPP_UTF8STRING.
3894 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3895 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3896 targeting C++2a.
3897 * c.opt: Add the -fchar8_t command line option.
3898
23db6ced
MS
38992019-01-14 Martin Sebor <msebor@redhat.com>
3900
3901 PR target/88638
3902 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3903 and issue errors if it fails.
3904 * c-common.h (valid_format_string_type_p): Declare.
3905 * c-format.c (valid_stringptr_type_p): Rename...
3906 (valid_format_string_type_p): ...to this and make extern.
3907 (handle_format_arg_attribute): Adjust to new name.
3908 (check_format_string): Same.
3909
234c3818
L
39102019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3911
3912 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3913 Replace "may may" with "may" in warning message.
3914
d8fcab68
JJ
39152019-01-07 Jakub Jelinek <jakub@redhat.com>
3916
3917 PR c++/85052
3918 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3919 (c_build_vec_convert): Declare.
3920 * c-common.c (c_build_vec_convert): New function.
3921
29d24852
MS
39222019-01-04 Martin Sebor <msebor@redhat.com>
3923
3924 PR c/88546
3925 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3926 Handle C++ empty throw specification and C11 _Noreturn.
3927 (has_attribute): Also handle C11 _Noreturn.
3928
9069a4c9
MS
39292019-01-04 Martin Sebor <msebor@redhat.com>
3930
3931 PR c/88363
3932 * c-attribs.c (positional_argument): Also accept enumerated types.
3933
a5544970
JJ
39342019-01-01 Jakub Jelinek <jakub@redhat.com>
3935
3936 Update copyright years.
3937
da77eace
L
39382018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3939
3940 PR c/51628
3941 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3942 * c-warn.c (check_alignment_of_packed_member): New function.
3943 (check_address_of_packed_member): Likewise.
3944 (check_and_warn_address_of_packed_member): Likewise.
3945 (warn_for_address_or_pointer_of_packed_member): Likewise.
3946 * c.opt: Add -Wno-address-of-packed-member.
3947
573767d4
DM
39482018-12-20 David Malcolm <dmalcolm@redhat.com>
3949
3950 PR c++/87504
3951 * c-warn.c (get_outermost_macro_expansion): New function.
3952 (spelled_the_same_p): Use it to unwind the macro expansions, and
3953 compare the outermost macro in each nested expansion, rather than
3954 the innermost.
3955
a14feb3c
DM
39562018-12-19 David Malcolm <dmalcolm@redhat.com>
3957
3958 PR c++/87504
3959 * c-common.h (warn_tautological_cmp): Convert 1st param from
3960 location_t to const op_location_t &.
3961 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3962 when testing for INTEGER_CST.
3963 (warn_tautological_bitwise_comparison): Convert 1st param from
3964 location_t to const op_location_t &; use it to build a
3965 binary_op_rich_location, and use this.
3966 (spelled_the_same_p): New function.
3967 (warn_tautological_cmp): Convert 1st param from location_t to
3968 const op_location_t &. Warn for macro expansions if
3969 spelled_the_same_p. Use binary_op_rich_location.
3970
dfd7fdca
DM
39712018-12-19 David Malcolm <dmalcolm@redhat.com>
3972
3973 PR c++/43064
3974 PR c++/43486
3975 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3976 (verify_tree): Handle location wrappers.
3977 (c_common_truthvalue_conversion): Strip any location wrapper.
3978 Handle CONST_DECL.
3979 (fold_offsetof): Strip any location wrapper.
3980 (complete_array_type): Likewise for initial_value.
3981 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3982 index before checking for INTEGER_CST.
3983 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3984 print parentheses around location wrappers.
3985 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3986 before checking for INTEGER_CST.
3987 (warn_tautological_bitwise_comparison): Call
3988 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3989 before checking for INTEGER_CST.
3990 (readonly_error): Strip any location wrapper.
3991 (warn_array_subscript_with_type_char): Strip location wrappers
3992 before checking for INTEGER_CST. Use the location of the index if
3993 available.
3994
5c8b3702
JM
39952018-12-06 Jason Merrill <jason@redhat.com>
3996
3997 PR c++/88136 - -Wdeprecated-copy false positives
3998 * c.opt (Wdeprecated-copy-dtor): New.
3999 (Wdeprecated-copy): Move to -Wextra.
4000
673670da
MS
40012018-11-29 Martin Sebor <msebor@redhat.com>
4002
4003 PR c/88172
4004 PR testsuite/88208
4005 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
4006 alignments to values less than the target requires.
4007 (has_attribute): For attribute aligned consider both the attribute
4008 and the alignment bits.
4009 * c-common.c (c_init_attributes): Optionally issue a warning for
4010 zero alignment.
4011
04864ec8
MS
40122018-11-28 Martin Sebor <msebor@redhat.com>
4013
4014 PR c/88065
4015 PR c/87297
4016 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
4017 or destination is an error.
4018
ace83db0
JJ
40192018-11-28 Jakub Jelinek <jakub@redhat.com>
4020
4021 PR c++/88215
4022 * c-ubsan.c: Include langhooks.h.
4023 (ubsan_instrument_division): Change gcc_assert that main variants
4024 of op0 and op1 types are equal to gcc_checking_assert that the
4025 main variants are compatible types.
4026
da193a27
EB
40272018-11-27 Eric Botcazou <ebotcazou@adacore.com>
4028
4029 * c-ada-spec.c: Include stringpool.h.
4030 (has_static_fields): Return false for incomplete types.
4031 (is_tagged_type): Likewise.
4032 (has_nontrivial_methods): Likewise.
4033 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
4034 (struct overloaded_name_hash): New structure.
4035 (struct overloaded_name_hasher): Likewise.
4036 (overloaded_names): New global variable.
4037 (init_overloaded_names): New static function.
4038 (overloaded_name_p): New predicate.
4039 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
4040 on the TYPE_STUB_DECL of the original type of a typedef, if any.
4041 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
4042 Remove always-true condition and dump forward types.
4043 (dump_ada_specs): Delete overloaded_names.
4044
98f08eb8
MS
40452018-11-20 Martin Sebor <msebor@redhat.com>
4046
4047 * c-attribs.c (type_for_vector_size): New function.
4048 (type_valid_for_vector_size): Same.
4049 (handle_vector_size_attribute): Move code to the functions above
4050 and call them.
4051 (validate_attribute, has_attribute): New functions.
4052 * c-common.h (has_attribute): Declare.
4053 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
4054 * c-common.c (c_common_resword): Same.
4055
2674fa47
JM
40562018-11-16 Jason Merrill <jason@redhat.com>
4057
4058 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
4059 * c-attribs.c (attr_cold_hot_exclusions): Make public.
4060
258b3854
JJ
40612018-11-16 Jakub Jelinek <jakub@redhat.com>
4062
4063 PR middle-end/87854
4064 * c-common.c (fix_string_type): Reject string literals larger than
4065 TYPE_MAX_VALUE (ssizetype) bytes.
4066
1d249509
MS
40672018-11-15 Martin Sebor <msebor@redhat.com>
4068
4069 PR c++/87541
4070 PR c++/87542
4071 * c-attribs.c (positional_argument): New function.
4072 (handle_alloc_size_attribute): Use it and simplify.
4073 (handle_alloc_align_attribute): Same.
4074 (handle_assume_aligned_attribute): Same.
4075 (handle_nonnull_attribute): Same.
4076 * c-common.c (check_function_arguments): Pass fntype to
4077 check_function_format.
4078 * c-common.h (check_function_format): Add an argument.
4079 (PosArgFlags, positional_argument): Declare new type and function.
4080 * c-format.c (decode_format_attr): Add arguments.
4081 (check_format_string, get_constant): Same.
4082 (convert_format_name_to_system_name): Adjust.
4083
478dd60d
DM
40842018-11-15 David Malcolm <dmalcolm@redhat.com>
4085
4086 PR other/19165
4087 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
4088
8cca0163
JJ
40892018-11-14 Jakub Jelinek <jakub@redhat.com>
4090
8ee09943
JJ
4091 P1236R1 - Signed integers are two's complement
4092 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
4093 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
4094 with in-range second operand well defined for -std=c++2a.
4095
8cca0163
JJ
4096 PR other/88007
4097 * c-common.c (parse_optimize_options): Allocate option string from
4098 opts_obstack rather than as GC memory. Move the allocation after
4099 warning for invalid option.
4100
620e594b
DM
41012018-11-13 David Malcolm <dmalcolm@redhat.com>
4102
4103 * c-common.c (c_get_substring_location): Update for renaming of
4104 get_source_location_for_substring to get_location_within_string.
4105 * c-lex.c: Replace "source_location" with "location_t".
4106 * c-opts.c: Likewise.
4107 * c-ppoutput.c: Likewise.
4108
f9731de3
MS
41092018-11-13 Martin Sebor <msebor@redhat.com>
4110
4111 PR middle-end/81824
4112 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
4113 (handle_tls_model_attribute): Improve diagnostics.
4114
e4bd6d5e
JM
41152018-11-12 Jason Merrill <jason@redhat.com>
4116
a6bb6b07
JM
4117 * c-cppbuiltin.c (c_cpp_builtins): Define
4118 __cpp_impl_destroying_delete.
4119
e4bd6d5e
JM
4120 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
4121 __cpp_conditional_explicit.
4122
79a2c428
MS
41232018-11-09 Martin Sebor <msebor@redhat.com>
4124
4125 PR middle-end/81824
4126 * c-attribs.c (handle_copy_attribute): New function.
4127
4c7bd361
MS
41282018-11-09 Martin Sebor <msebor@redhat.com>
4129
4130 PR c/87795
4131 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
4132
28567c40
JJ
41332018-11-08 Jakub Jelinek <jakub@redhat.com>
4134
4135 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
4136 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4137 enum omp_memory_order MEMORY_ORDER.
4138 (c_finish_omp_flush): Add MO argument.
4139 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
4140 (c_finish_omp_for): Add FINAL_P argument.
4141 * c-omp.c: Include memmodel.h.
4142 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
4143 OMP_TASKGROUP_CLAUSES to it.
4144 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
4145 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
4146 instead of OMP_ATOMIC_SEQ_CST.
4147 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
4148 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
4149 __atomic_thread_fence call with the given value.
4150 (check_omp_for_incr_expr): Formatting fixes.
4151 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
4152 even in OpenMP loops, diagnose if NE_EXPR and incr expression
4153 is not constant expression 1 or -1. Transform NE_EXPR loops
4154 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
4155 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
4156 loops too.
4157 (c_omp_split_clauses): Add support for combined
4158 #pragma omp parallel master and
4159 #pragma omp {,parallel }master taskloop{, simd} constructs.
4160 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
4161 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
4162 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
4163 (c_omp_predetermined_sharing): Don't return
4164 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
4165 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
4166 PRAGMA_OMP_REQUIRES.
4167 * c-pragma.h (enum pragma_kind): Likewise.
4168 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
4169 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
4170
204839e7
DM
41712018-11-08 David Malcolm <dmalcolm@redhat.com>
4172
4173 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
4174
d8010ee4
DM
41752018-11-08 David Malcolm <dmalcolm@redhat.com>
4176
4177 * c-format.c (local_cgraph_node_ptr_node): New variable.
4178 (gcc_dump_printf_char_table): Add entry for %C.
4179 (get_pointer_to_named_type): New function, taken from the handling
4180 code for "gimple *" from...
4181 (init_dynamic_diag_info): ...here. Add handling for
4182 "cgraph_node *".
4183 * c-format.h (T_CGRAPH_NODE): New.
4184
4be5c72c
JM
41852018-10-19 Jason Merrill <jason@redhat.com>
4186
4187 * c-cppbuiltin.c (c_cpp_builtins): Add
4188 __cpp_nontype_template_parameter_class.
4189
f3f6029d
NS
41902018-10-31 Nathan Sidwell <nathan@acm.org>
4191
ab5324fb
NS
4192 * c-opts.c (c_finish_options): Force command line macro
4193 location. Refactor to avoid repeating main debug hook.
4194 (push_command_line_include): Clarify comment.
4195
f3f6029d
NS
4196 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
4197
91e3ec29
MS
41982018-10-30 Martin Sebor <msebor@redhat.com>
4199
4200 PR middle-end/87041
4201 * c-format.c (check_format_types): Avoid diagnosing null pointer
4202 arguments to printf-family of functions.
4203
b5ff4f5c
MP
42042018-10-30 Marek Polacek <polacek@redhat.com>
4205
4206 Implement P0892R2, explicit(bool).
4207 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
4208
7e2de6df
DM
42092018-10-29 David Malcolm <dmalcolm@redhat.com>
4210
4211 * name-hint.h (name_hint::take_deferred): New member function.
4212
b2bf438c
DM
42132018-10-29 David Malcolm <dmalcolm@redhat.com>
4214
4215 PR c++/56856
4216 * c-common.c (check_function_sentinel): Call fold_for_warn on the
4217 argument.
4218 (check_function_restrict): Rename param "argarray" to
4219 "unfolded_argarray", and make a copy named "argarray", calling
4220 fold_for_warn on each argument.
4221 (check_function_arguments): Add note about responsibility for
4222 folding the arguments.
4223
9f936c86
JM
42242018-10-17 Joseph Myers <joseph@codesourcery.com>
4225
4226 * c-common.c (flag_isoc2x): New variable.
4227 * c-common.h (clk_c): Update comment to reference C2X.
4228 (flag_isoc99, flag_isoc11): Update comments to reference future
4229 standard versions in general.
4230 (flag_isoc2x): Declare.
4231 * c-opts.c (set_std_c2x): New function.
4232 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
4233 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
4234 flag_isoc2x to 0.
4235 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
4236
7a8a92c4
JM
42372018-10-17 Joseph Myers <joseph@codesourcery.com>
4238
4239 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
4240 (std=iso9899:2018): Document C17 as published in 2018.
4241
4dc003ff
CL
42422018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
4243
4244 PR c++/87364
4245 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
4246
79371671
WW
42472018-10-11 Will Wray <wjwray@gmail.com>
4248
4249 PR c++/87364
4250 * c-pretty-print.h (pp_c_type_cast): Prototype.
4251 (pp_c_integer_constant): Likewise.
4252 * c-pretty-print.c (pp_c_type_cast): No longer static.
4253 (pp_c_integer_constant): Likewise.
4254 (pp_c_enumeration_constant): Fix loop termination when finding
4255 name of constant. No longer returns a value. Call
4256 pp_c_integer_constant.
4257 (c_pretty_printer::constant): Update for changes to
4258 pp_c_enumeration_constant.
4259
46c62690
JJ
42602018-10-11 Jakub Jelinek <jakub@redhat.com>
4261
4262 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
4263 for no_unique_address.
4264
c24300ba
DM
42652018-10-09 David Malcolm <dmalcolm@redhat.com>
4266
4267 * c-common.c (c_option_controlling_cpp_error): Rename to...
4268 (c_option_controlling_cpp_diagnostic): ...this, and convert
4269 "reason" from int to enum.
4270 (c_cpp_error): Rename to...
4271 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4272 * c-common.h (c_cpp_error): Rename to...
4273 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4274 * c-opts.c (c_common_init_options): Update for renaming.
4275
8656dafa
RS
42762018-10-08 Richard Sandiford <richard.sandiford@arm.com>
4277
4278 PR c/87286
4279 * c-common.c (vector_types_compatible_elements_p): Use
4280 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
4281
8cff0652
VK
42822018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
4283
4284 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
4285 to generate constructor destructor priority warning.
4286 * c.opt (-Wprio-ctor-dtor): New option.
4287
bedf03a2
JM
42882018-10-01 Jason Merrill <jason@redhat.com>
4289
4290 * c-lex.c (c_common_has_attribute): Add no_unique_address.
4291
6cc430c1
EB
42922018-10-01 Eric Botcazou <ebotcazou@adacore.com>
4293
4294 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
4295 (dump_ada_node): Add const keyword.
4296
87677ac7
ML
42972018-09-25 Martin Liska <mliska@suse.cz>
4298
4299 * c-common.c (c_common_truthvalue_conversion):
4300 Remove Pascal from documentation.
4301
518196cb
EB
43022018-09-21 Eric Botcazou <ebotcazou@adacore.com>
4303
4304 * c-ada-spec.c: Include diagnostic.h.
4305 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
4306
a599af84
MP
43072018-09-19 Marek Polacek <polacek@redhat.com>
4308
4309 * c.opt (Wclass-conversion): New.
4310
9c4a4b3c
DM
43112018-09-17 David Malcolm <dmalcolm@redhat.com>
4312
4313 * c-format.c (range_label_for_format_type_mismatch::get_text):
4314 Update for new param.
4315
c896ecfe
DM
43162018-09-17 David Malcolm <dmalcolm@redhat.com>
4317
4318 * c-format.c (format_warning_at_char): Update for introduction of
4319 format_string_diagnostic_t.
4320 (format_type_warning): Likewise.
4321
80c6d1f4
MJ
43222018-09-17 Martin Jambor <mjambor@suse.cz>
4323
4324 PR c/63886
4325 * c.opt (Wabsolute-value): New.
4326
6d900107
BE
43272018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
4328
4329 * c-common.c (complete_flexible_array_elts): New helper function.
4330 * c-common.h (complete_flexible_array_elts): Declare.
4331
b5764229
BE
43322018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4333
4334 * c-common.c (braced_list_to_string): Remove eval parameter.
4335 Add some more checks. Always create zero-terminated STRING_CST.
4336 * c-common.h (braced_list_to_string): Adjust prototype.
4337
85204e23
DM
43382018-08-27 David Malcolm <dmalcolm@redhat.com>
4339
4340 PR 87091
4341 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
4342 to a tri-state.
4343 (maybe_suggest_missing_token_insertion): Likewise.
4344 (maybe_add_include_fixit): Add param "override_location". If set,
4345 and source-printing is enabled, then override the rich_location's
4346 primary location with that of the insertion point for the fix-it
4347 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
4348 * c-common.h (extern void maybe_add_include_fixit): Add bool
4349 param.
4350 * c-format.c (selftest::test_type_mismatch_range_labels): Update
4351 for conversion of show_caret_p to a tri-state.
4352 * c-warn.c (warn_for_restrict): Likewise.
4353 * known-headers.cc
4354 (suggest_missing_header::~suggest_missing_header): Update call to
4355 maybe_add_include_fixit to suggest overriding the location, as it
4356 is for a note.
4357
3d78e008
ML
43582018-08-27 Martin Liska <mliska@suse.cz>
4359
4360 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
4361 fndecl_built_in_p and remove check for FUNCTION_DECL if
4362 possible.
3d78e008
ML
4363 (check_builtin_function_arguments): Likewise.
4364 (reject_gcc_builtin): Likewise.
4365 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
4366
b5be6d0c
MP
43672018-08-26 Marek Polacek <polacek@redhat.com>
4368
4369 PR c++/87029, Implement -Wredundant-move.
4370 * c.opt (Wredundant-move): New option.
4371
79ca9c35
MP
43722018-08-21 Marek Polacek <polacek@redhat.com>
4373
4374 PR c++/86981, Implement -Wpessimizing-move.
4375 * c.opt (Wpessimizing-move): New option.
4376
097f82ec
DM
43772018-08-20 David Malcolm <dmalcolm@redhat.com>
4378
4379 PR other/84889
4380 * c-attribs.c (common_handle_aligned_attribute): Add
4381 auto_diagnostic_group instance.
4382 * c-indentation.c (warn_for_misleading_indentation): Likewise.
4383 * c-opts.c (c_common_post_options): Likewise.
4384 * c-warn.c (warn_logical_not_parentheses): Likewise.
4385 (warn_duplicated_cond_add_or_warn): Likewise.
4386 (warn_for_multistatement_macros): Likewise.
4387
3fb558b1
NS
43882018-08-20 Nathan Sidwell <nathan@acm.org>
4389
4390 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
4391 access.
4392
800c0e98
NS
43932018-08-17 Nathan Sidwell <nathan@acm.org>
4394
4395 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
4396 field.
4397 (laxy_hex_fp_value_count): Make unsigned.
4398 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
4399 manipulate the macro.
4400 (builtin_defin_with_hex_fp_value): Adjust callback name, use
4401 cpp_define_lazily.
4402
6f795a92
DM
44032018-08-17 David Malcolm <dmalcolm@redhat.com>
4404
4405 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
4406 (gcc_dump_printf_length_specs): New.
4407 (gcc_dump_printf_flag_pairs): New.
4408 (gcc_dump_printf_flag_specs): New.
4409 (gcc_dump_printf_char_table): New.
4410 (format_types_orig): Add entry for "gcc_dump_printf".
4411 (init_dynamic_diag_info): Set up length_char_specs and
4412 conversion_specs for gcc_dump_printf_format_type.
4413 (handle_format_attribute): Handle gcc_dump_printf_format_type.
4414
c5d725c0
NS
44152018-08-17 Nathan Sidwell <nathan@acm.org>
4416
10f04917
NS
4417 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
4418
c5d725c0
NS
4419 * c-ada-spec.c: Don't #include "cpp-id-data.h"
4420 * c-cppbuiltin.c: Likewise.
4421
c0c12356
ML
44222018-08-17 Martin Liska <mliska@suse.cz>
4423
4424 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
4425 Ignore/Deprecated flag. Warning is done automatically for
4426 Deprecated flags.
c0c12356 4427
10fcc142
DM
44282018-08-16 David Malcolm <dmalcolm@redhat.com>
4429
4430 PR c++/70693
4431 * c-common.c (selftest::c_family_tests): Call
4432 selftest::c_indentation_c_tests.
4433 * c-common.h (selftest::c_indentation_c_tests): New decl.
4434 * c-indentation.c: Include "selftest.h".
4435 (next_tab_stop): Add "tab_width" param, rather than accessing
4436 cpp_opts.
4437 (get_visual_column): Likewise. Clarify comment. Bulletproof
4438 against reading past the end of the line.
4439 (get_first_nws_vis_column): Add "tab_width" param.
4440 (detect_intervening_unindent): Likewise.
4441 (should_warn_for_misleading_indentation): Read tab width from
4442 cpp_opts and pass around.
4443 (selftest::test_next_tab_stop): New test.
4444 (selftest::assert_get_visual_column_succeeds): New function.
4445 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
4446 (selftest::assert_get_visual_column_fails): New function.
4447 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
4448 (selftest::test_get_visual_column): New test.
4449 (selftest::c_indentation_c_tests): New function.
4450
3f6677f4
NS
44512018-08-16 Nathan Sidwell <nathan@acm.org>
4452
4453 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
4454 (store_ada_macro): Likewise.
4455 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
4456 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
4457
96e6ae57
DM
44582018-08-15 David Malcolm <dmalcolm@redhat.com>
4459
4460 * c-format.c: Include "selftest-diagnostic.h" and
4461 "gcc-rich-location.h".
4462 (format_warning_at_char): Pass NULL for new label params of
4463 format_warning_va.
4464 (class indirection_suffix): New class.
4465 (class range_label_for_format_type_mismatch): New class.
4466 (format_type_warning): Move logic for generating "*" suffix to
4467 class indirection_suffix. Create "fmt_label" and "param_label"
4468 to show their types, and pass them to the
4469 format_warning_at_substring calls.
4470 (selftest::test_type_mismatch_range_labels): New test.
4471 (selftest::c_format_c_tests): Call it.
4472
23aa9f7c
MS
44732018-08-13 Martin Sebor <msebor@redhat.com>
4474
4475 PR tree-optimization/71625
4476 * c-common.c (braced_list_to_string): New function.
4477 * c-common.h (braced_list_to_string): Declare it.
4478
f10a9135
NS
44792018-08-08 Nathan Sidwell <nathan@acm.org>
4480
4481 * c-common.c (try_to_locate_new_include_inertion_point): Use
4482 linemap_included_from_linemap.
4483 * c-lex.c (fe_file_change): Use linemap_included_from.
4484 * c-ppoutput.c (pp_file_change): Likewise.
4485
8a45b051
MS
44862018-08-01 Martin Sebor <msebor@redhat.com>
4487
4488 PR tree-optimization/86650
ab20d992 4489 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4490 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4491 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4492 * c-format.h (T89_G): Update to be "gimple *" rather than
4493 "gcall *".
4494 (local_gcall_ptr_node): Rename...
4495 (local_gimple_ptr_node): ...to this.
4496
e540ccc0
DM
44972018-07-31 David Malcolm <dmalcolm@redhat.com>
4498
4499 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4500 table entries for gcc_diag_char_table, and the 'Z' entry from
4501 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4502 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4503 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4504 adding missing "Z" for this table. Remove erroneous "G" and "K"
4505 entries.
4506 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4507 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4508 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4509
425fc685
RE
45102018-07-31 Richard Earnshaw <rearnsha@arm.com>
4511
4512 * c-common.c (speculation_safe_resolve_call): New function.
4513 (speculation_safe_resolve_params): New function.
4514 (speculation_safe_resolve_return): New function.
4515 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4516 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4517 __HAVE_SPECULATION_SAFE_VALUE.
4518
181463c2
DM
45192018-07-20 David Malcolm <dmalcolm@redhat.com>
4520
4521 * c-common.c (c_cpp_error): Remove redundant "line_table"
4522 parameter from call to rich_location::set_range.
4523 (maybe_suggest_missing_token_insertion): Likewise.
4524
0d7f9065
MS
45252018-07-20 Martin Sebor <msebor@redhat.com>
4526
4527 PR middle-end/82063
ab20d992 4528 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4529
00abf86c
MS
45302018-07-20 Martin Sebor <msebor@redhat.com>
4531
4532 PR middle-end/82063
4533 * c-common.h (c_common_handle_option): Change function argument
4534 to HOST_WIDE_INT.
4535 * c-opts.c (c_common_init_options): Same.
4536 (c_common_handle_option): Same. Remove special handling of
4537 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4538 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4539 options to take a HOST_WIDE_INT argument and accept a byte-size
4540 suffix. Initialize.
4541 (-Wvla-larger-than): Same.
4542 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4543 (-Wno-vla-larger-than): Same.
4544
9b452033
JJ
45452018-07-12 Jakub Jelinek <jakub@redhat.com>
4546
4547 * c-attribs.c (c_common_attribute_table): Add
4548 "omp declare target implicit" attribute.
4549
cd0762f3
RB
45502018-07-12 Richard Biener <rguenther@suse.de>
4551
4552 PR c/86453
4553 * c-attribs.c (handle_packed_attribute): Do not build a variant
4554 type with TYPE_PACKED, instead ignore the attribute if we may
4555 not apply to the original type.
4556
0b27c3ed
JJ
45572018-07-10 Jakub Jelinek <jakub@redhat.com>
4558
4559 PR c++/86443
4560 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4561 to contain TREE_LIST for both the original class iterator and the
4562 "last" helper var.
4563
e730a0ef
EB
45642018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4565
4566 * c-ada-spec.c (to_ada_name): Remove index parameter.
4567 (pp_ada_tree_identifier): Likewise.
4568 (dump_ada_macros): Adjust call to to_ada_name.
4569 (struct overloaded_name_hash): Delete.
4570 (struct overloaded_name_hasher): Likewise.
4571 (overloaded_names): Likewise.
4572 (compute_overloading_index): Likewise.
4573 (dump_ada_decl_name): Do not call compute_overloading_index and
4574 adjust calls to pp_ada_tree_identifier.
4575 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4576 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4577 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4578 (dump_ada_enum_type): Remove type and display_convention parameters.
4579 Adjust calls to pp_ada_tree_identifier.
4580 (dump_ada_node): Likewise and for dump_ada_structure.
4581 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4582 and tidy up.
4583 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4584 syntax.
4585 (print_constructor): Adjust call to pp_ada_tree_identifier.
4586 (print_destructor): Likewise.
4587 (dump_ada_declaration): Switch to aspect syntax.
4588 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4589 parameter with nested parameter.
4590 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4591 (dump_ada_specs): Do not delete overloaded_names table.
4592
8de583fc
PB
45932018-07-06 Peter Bergner <bergner@linux.ibm.com>
4594
4595 PR target/86324
e730a0ef 4596 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4597 target hook.
4598
09cff37b
NS
45992018-07-05 Nathan Sidwell <nathan@acm.org>
4600
4601 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4602 NO_IMPLICIT_EXTERN_C.
4603
98086b2b
ML
46042018-06-28 Martin Liska <mliska@suse.cz>
4605
4606 * cppspec.c: Include opt-suggestions.h.
4607
ab20d992
JJ
46082018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4609 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4610 Cesar Philippidis <cesar@codesourcery.com>
4611
4612 * c-pragma.h (enum pragma_omp_clause): Add
4613 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4614 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4615
f41b7612
JJ
46162018-06-20 Jakub Jelinek <jakub@redhat.com>
4617
4618 PR c++/86210
4619 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4620 comment.
4621
4252ccd7
MS
46222018-06-18 Martin Sebor <msebor@redhat.com>
4623
4624 PR middle-end/85602
4625 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4626 nonstring.
4627
e197e64e
KV
46282018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4629
4630 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4631
34a7a230
JM
46322018-06-13 Jason Merrill <jason@redhat.com>
4633
5cef3733
JM
4634 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4635 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4636 handling.
4637
34a7a230
JM
4638 PR c++/86094 - wrong code with defaulted move ctor.
4639 * c-opts.c (c_common_post_options): Bump the current ABI version to
4640 13. Set warn_abi_version and flag_abi_compat_version to the current
4641 version rather than 0. Fix defaulting flag_abi_compat_version from
4642 warn_abi_version.
4643
bb0f14ae
MS
46442018-06-12 Martin Sebor <msebor@redhat.com>
4645
4646 PR c/85931
4647 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4648 sizeof source and destination yields the same value.
4649
3713f2e2
ML
46502018-06-12 Martin Liska <mliska@suse.cz>
4651
4652 * c.opt: Make MPX-related options as Deprecated.
4653
4af78ef8
DM
46542018-06-08 David Malcolm <dmalcolm@redhat.com>
4655
4656 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4657 rather than 0.
4658
31db0fe0
ML
46592018-06-08 Martin Liska <mliska@suse.cz>
4660
4661 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4662 for MPX (macros, related functions, fields in cgraph_node, ...).
4663 (handle_bnd_legacy): Likewise.
4664 (handle_bnd_instrument): Likewise.
4665 * c.opt: Likewise.
4666
fe16acf2
JJ
46672018-06-06 Jakub Jelinek <jakub@redhat.com>
4668
4669 PR c++/86068
4670 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4671 __cpp_transactional_memory to 201500 instead of 210500.
4672
4dbdb49b
JM
46732018-06-06 Jason Merrill <jason@redhat.com>
4674
4675 PR c++/85710 - ICE with -Wmemset-elt-size.
4676 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4677
f8ad043f
JM
46782018-06-01 Jason Merrill <jason@redhat.com>
4679
4680 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4681 201703.
4682
abc24d93
EB
46832018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4684
4685 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4686 declaration for a typedef independently of whether the declaration of
4687 the subtype is generated.
4688
d258f4aa
MS
46892018-05-31 Martin Sebor <msebor@redhat.com>
4690
4691 PR c/82063
4692 * c.opt (-Wno-alloc-size-larger-than): New option.
4693
b67b9225
DP
46942018-04-22 David Pagan <dave.pagan@oracle.com>
4695
4696 PR c/55976
4697 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4698 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4699 differentiate between default (no option), -Wreturn-type, and
4700 -Wno-return-type.
4701
04eb9c55
JM
47022018-05-29 Jason Merrill <jason@redhat.com>
4703
4704 * c.opt (Winit-list-lifetime): New flag.
4705
b0c31bc6
BE
47062018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4707
4708 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4709 splay_tree_delete_pointers.
4710
44284983
JJ
47112018-05-26 Jakub Jelinek <jakub@redhat.com>
4712
4713 PR bootstrap/85921
4714 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4715 noinline variable to workaround broken kernel headers.
4716
b46b715d
JM
47172018-05-18 Jason Merrill <jason@redhat.com>
4718
4719 * c.opt (Wdeprecated-copy): New flag.
4720
40659769
ML
47212018-05-17 Martin Liska <mliska@suse.cz>
4722
4723 * c-warn.c (overflow_warning): Do not use
4724 space in between 'G_' and '('.
4725
403962ea
JM
47262018-05-09 Jason Merrill <jason@redhat.com>
4727
4728 * c-common.c (valid_array_size_p): Add complain parameter.
4729 * c-common.h: ...which defaults to true.
4730
1c9ee609
JJ
47312018-05-11 Jakub Jelinek <jakub@redhat.com>
4732
4733 PR c/85696
4734 * c-omp.c (c_omp_predetermined_sharing): Return
4735 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4736
19916065
ML
47372018-05-11 Martin Liska <mliska@suse.cz>
4738
92a285c1 4739 PR sanitizer/85556
19916065
ML
4740 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4741 TREE_LIST values.
4742
79e7b1fe
JJ
47432018-05-10 Jakub Jelinek <jakub@redhat.com>
4744
4745 PR c++/85662
4746 * c-common.h (fold_offsetof_1): Removed.
4747 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4748 CTX argument defaulted to ERROR_MARK.
4749 * c-common.c (fold_offsetof_1): Renamed to ...
4750 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4751 argument, convert the pointer constant to TYPE and use size_binop
4752 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4753 a pointer type. Adjust recursive calls.
4754
86c12f76
EB
47552018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4756
4757 PR c++/85400
4758 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4759
ee336e84
NS
47602018-05-07 Nathan Sidwell <nathan@acm.org>
4761
4762 * c.opt (ffor-scope): Remove functionality, issue warning.
4763
6c072e21
NS
47642018-05-03 Nathan Sidwell <nathan@acm.org>
4765
4766 * c.opt (ffriend-injection): Remove functionality, issue warning.
4767
2cc7d3a7
DM
47682018-05-01 David Malcolm <dmalcolm@redhat.com>
4769
4770 PR c/84258
4771 * c-format.c (struct format_check_results): Add field
4772 "number_non_char".
4773 (check_format_info): Initialize it, and warn if encountered.
4774 (check_format_arg): Distinguish between wide char and
4775 everything else when detecting arrays of non-char.
4776
7761dfbe
DM
47772018-04-30 David Malcolm <dmalcolm@redhat.com>
4778
4779 * c-format.c (get_corrected_substring): Update for
4780 location_get_source_line returning a char_span. Use a char_span
4781 when handling the prefix of the correction.
4782 * c-indentation.c (get_visual_column): Update for
4783 location_get_source_line returning a char_span.
4784 (get_first_nws_vis_column): Likewise.
4785
62e98ef1
DM
47862018-03-29 David Malcolm <dmalcolm@redhat.com>
4787
4788 PR c++/84269
4789 * known-headers.cc (get_stdlib_header_for_name): Add various names
4790 from <assert.h>, <string.h>, and <memory.h>; add more names from
4791 <stdio.h>.
4792
a7dea617
JJ
47932018-03-27 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR c++/85061
4796 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4797 get_base_address of the second operand is a VAR_P, rather than the
4798 operand itself, and use gcc_checking_assert instead of gcc_assert.
4799
889a3a30
MP
48002018-03-23 Marek Polacek <polacek@redhat.com>
4801
4802 PR c++/85045
4803 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4804 <case RDIV_EXPR>: Tweak condition.
4805
452154b9
EB
48062018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4807
4808 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4809
63ecb626
JJ
48102018-03-16 Jakub Jelinek <jakub@redhat.com>
4811
ce811fc4
JJ
4812 PR c/84909
4813 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4814 diagnostics.
4815
63ecb626
JJ
4816 PR c/84910
4817 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4818 diagnostics.
4819
a1295eec
RB
48202018-03-16 Richard Biener <rguenther@suse.de>
4821
4822 PR c/84873
4823 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4824 unshare the possibly folded expression.
4825
919674fb
RB
48262018-03-15 Richard Biener <rguenther@suse.de>
4827
4828 PR c/84873
4829 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4830
f99309b2
MS
48312018-03-13 Martin Sebor <msebor@redhat.com>
4832
4833 PR tree-optimization/84725
4834 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4835 with all three narrow character types, including their qualified forms.
4836
e9b9fa4c
MS
48372018-03-12 Martin Sebor <msebor@redhat.com>
4838
4839 PR tree-optimization/83456
ab20d992 4840 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4841 Restore checking of bounded built-in functions.
4842 (check_function_arguments): Also return the result
4843 of warn_for_restrict.
ab20d992
JJ
4844 * c-common.c (check_function_restrict): Return bool.
4845 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4846
0805d020
MP
48472018-03-02 Marek Polacek <polacek@redhat.com>
4848
4849 PR c++/84171
4850 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4851 is erroneous.
4852
ed2a2f08
TS
48532018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4854
4855 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4856 function".
4857
90abdde0
MP
48582018-03-01 Marek Polacek <polacek@redhat.com>
4859
4860 PR c++/84639
4861 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4862 alignment in computation.
4863
c6db43fa
EB
48642018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4865
4866 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4867 <REAL_TYPE>: Deal specifically with _Float128/__float128.
4868
9e25c7ed
EB
48692018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4870
4871 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4872 (is_char_array): Take a type instead of a declaration.
4873 (dump_ada_array_type): Likewise.
4874 (is_simple_enum): Minor tweak.
4875 (dump_ada_enum_type): New function extracted from...
4876 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
4877 <INTEGER_TYPE>: Remove unreachable code.
4878 <RECORD_TYPE>: Likewise. Minor tweaks.
4879 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4880 <ENUMERAL_TYPE>: New case.
4881 <RECORD_TYPE>: Factor out common code.
4882 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4883 Minor tweaks. Deal with enumeral types.
4884 (dump_ada_structure): Minor tweaks.
4885
09de3550
EB
48862018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4887
4888 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4889 address for incomplete structures.
4890 (dump_forward_type): Do not bail out for incomplete structures.
4891 (dump_ada_declaration): Do not special-case incomplete structures
4892 for subtypes. Dump them as null records for types.
4893
095d8d4b
EB
48942018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4895
4896 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4897 (is_char_array): Fix formatting.
4898 (dump_template_types): Likewise.
4899 (dump_generic_ada_node): Rename into...
4900 (dump_ada_node): ...this.
4901 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4902 incomplete structures and not for empty structures. Do not use it
4903 when forward declarations are needed.
4904 (dump_forward_type): New function.
4905 (dump_nested_types): Remove FORWARD parameter. Do not consider
4906 TREE_VISITED and do not generate a forward declaration. Only dump
4907 original nested types for nested declaration.
4908 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4909 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4910 <RECORD_TYPE>: Do not consider TREE_VISITED.
4911 (dump_ada_declaration): Use booleans and fix formatting throughout.
4912 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4913 Call dump_forward_type instead of dump_nested_types for a typedef.
4914 Remove superfluous check and adjust call to dump_nested_types.
4915 <POINTER_TYPE>: Call dump_forward_type and fall through.
4916 (dump_ada_struct_decl): Rename into...
4917 (dump_ada_structure): ...this. Do not special-case empty structures.
4918
d4cfd486
MS
49192018-02-27 Martin Sebor <msebor@redhat.com>
4920
4921 PR c++/83871
4922 * c.opt (-Wmissing-attributes): New option.
4923
b22dbd03
ML
49242018-02-21 Martin Liska <mliska@suse.cz>
4925
4926 * c.opt (Wcatch-value=): Add IntegerRange.
4927
883dfe2a
JM
49282018-02-15 Jason Merrill <jason@redhat.com>
4929
4930 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4931
0444aa9c
NS
49322018-02-09 Nathan Sidwell <nathan@acm.org>
4933
4934 PR c/84293
4935 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4936 arg.
4937 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4938 arg. Adjust.
4939
cea71f0a
MS
49402018-02-09 Martin Sebor <msebor@redhat.com>
4941
4942 PR lto/84212
4943 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4944 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4945 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4946 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4947 (-Wuninitialized): Same.
4948
8c8b7be5
EB
49492018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4950
4951 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4952 keyword for components.
4953
7c30b12a
PC
49542018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4955
4956 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4957
eece7fe5
JK
49582018-02-02 Julia Koval <julia.koval@intel.com>
4959
4960 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4961
7d07a93a
MP
49622018-01-29 Marek Polacek <polacek@redhat.com>
4963
4964 PR c/83966
4965 * c-format.c (check_function_format): Check current_function_decl.
4966
53723269
JJ
49672018-01-27 Jakub Jelinek <jakub@redhat.com>
4968
4969 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4970 argument.
4971 (LAZY_HEX_FP_VALUES_CNT): Define.
4972 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4973 values rather than just 12.
4974 (builtin_define_with_hex_fp_value): Likewise.
4975
7365279f
BK
49762018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4977
92a285c1
ML
4978 PR other/70268
4979 * c.opt (-fmacro-prefix-map): New option.
4980 * c-opts.c (c_common_handle_option): Handle it.
4981 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4982 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4983
bb9869d5
DM
49842018-01-17 David Malcolm <dmalcolm@redhat.com>
4985
4986 PR c++/83814
4987 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4988
68dc87c3
EB
49892018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4990
4991 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4992 Skip 'f' and 'F' characters if it is true.
4993 (store_ada_macro): Minor tweak.
4994 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4995 <CPP_WSTRING>: Likewise.
4996 <CPP_STRING>: Output '&' in the buffer if not the first string.
4997 <CPP_NUMBER>: Adjust calls to dump_number.
4998
9a004410
DM
49992018-01-10 David Malcolm <dmalcolm@redhat.com>
5000
5001 PR c++/43486
5002 * c-common.c: Include "selftest.h".
5003 (get_atomic_generic_size): Perform the test for integral type
5004 before the range test for any integer constant, fixing indentation
5005 of braces. Call fold_for_warn before testing for an INTEGER_CST.
5006 (reject_gcc_builtin): Strip any location wrapper from EXPR.
5007 (selftest::test_fold_for_warn): New function.
5008 (selftest::c_common_c_tests): New function.
5009 (selftest::c_family_tests): Call it, and
5010 selftest::c_pretty_print_c_tests.
5011 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
5012 * c-format.c (check_format_arg): Convert VAR_P check to a
5013 fold_for_warn.
5014 * c-pretty-print.c: Include "selftest.h".
5015 (pp_c_cast_expression): Don't print casts for location wrappers.
5016 (selftest::assert_c_pretty_printer_output): New function.
5017 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
5018 (selftest::test_location_wrappers): New function.
5019 (selftest::c_pretty_print_c_tests): New function.
5020 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
5021
5c0caeb3
RS
50222018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5023 Alan Hayward <alan.hayward@arm.com>
5024 David Sherwood <david.sherwood@arm.com>
5025
5026 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
5027
73a699ae
RS
50282018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5029 Alan Hayward <alan.hayward@arm.com>
5030 David Sherwood <david.sherwood@arm.com>
5031
5032 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
5033 as polynomial.
5034
928686b1
RS
50352018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
5036 Alan Hayward <alan.hayward@arm.com>
5037 David Sherwood <david.sherwood@arm.com>
5038
5039 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
5040 (convert_vector_to_array_for_subscript): Handle polynomial
5041 TYPE_VECTOR_SUBPARTS.
5042 (c_common_type_for_mode): Check valid_vector_subparts_p.
5043 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
5044 VECTOR_CST_NELTS.
5045
85ec4feb
JJ
50462018-01-03 Jakub Jelinek <jakub@redhat.com>
5047
5048 Update copyright years.
5049
170a8bd6 50502017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 5051 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
5052
5053 * c-pragma.c (init_pragma): Register pragma GCC unroll.
5054 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
5055
ab20d992 50562017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
5057
5058 PR debug/83527
5059 PR debug/83419
5060 * c-semantics.c (only_debug_stmts_after_p): New.
5061 (pop_stmt_list): Clear side effects in debug-only stmt list.
5062 Check for single nondebug stmt followed by debug stmts only.
5063
c12d20d4
AO
50642017-12-21 Alexandre Oliva <aoliva@redhat.com>
5065
5066 PR debug/83419
5067 * c-semantics.c (pop_stmt_list): Propagate side effects from
5068 single nondebug stmt to container list.
5069
01512446
JJ
50702017-12-19 Jakub Jelinek <jakub@redhat.com>
5071
5072 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
5073 conditions with typical order conditions.
5074
82cfbd01
MP
50752017-12-18 Marek Polacek <polacek@redhat.com>
5076
5077 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
5078 not in effect.
5079
99da11ec
MS
50802017-12-17 Martin Sebor <msebor@redhat.com>
5081
5082 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
5083 an error for attribute warn_if_not_aligned.
5084
cc8bea0a
MS
50852017-12-16 Martin Sebor <msebor@redhat.com>
5086
5087 PR tree-optimization/78918
5088 * c-common.c (check_function_restrict): Avoid checking built-ins.
5089 * c.opt (-Wrestrict): Include in -Wall.
5090
4849deb1
JJ
50912017-12-15 Jakub Jelinek <jakub@redhat.com>
5092
5093 * c-attribs.c (c_common_attribute_table,
5094 c_common_format_attribute_table): Swap affects_type_identity
5095 and handler fields, adjust comments.
5096
c65e18d3
BE
50972017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
5098
5099 * c.opt (Wcast-function-type): New warning option.
5100 * c-lex.c (get_fileinfo): Avoid warning.
5101 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
5102
2004617a
QZ
51032017-12-14 Qing Zhao <qing.zhao@oracle.com>
5104
7365279f 5105 PR middle_end/79538
2004617a
QZ
5106 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
5107 Adjust the size of buf1 and buf2, add a new buf to avoid
5108 format-overflow warning.
5109
ab20d992 51102017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
5111
5112 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
5113 subsequent statement list.
5114
5d9ae53d
MS
51152017-12-07 Martin Sebor <msebor@redhat.com>
5116
5117 PR c/81544
5118 PR c/81566
5119 * c-attribs.c (attr_aligned_exclusions): New array.
5120 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
5121 (attr_common_exclusions, attr_const_pure_exclusions): Same.
5122 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
5123 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
5124 (attr_warn_unused_result_exclusions): Same.
5125 (handle_hot_attribute, handle_cold_attribute): Simplify.
5126 (handle_const_attribute): Warn on function returning void.
5127 (handle_pure_attribute): Same.
5128 (handle_aligned_attribute): Diagnose conflicting attribute
5129 specifications.
5130 * c-warn.c (diagnose_mismatched_attributes): Simplify.
5131
c79144f8
DM
51322017-12-06 David Malcolm <dmalcolm@redhat.com>
5133
5134 PR c/83236
5135 * c-common.c (selftest::c_family_tests): Call
5136 selftest::c_spellcheck_cc_tests.
5137 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
5138 * c-spellcheck.cc: Include "selftest.h".
5139 (name_reserved_for_implementation_p): New function.
5140 (should_suggest_as_macro_p): New function.
5141 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
5142 should_suggest_as_macro_p and call it.
5143 (selftest::test_name_reserved_for_implementation_p): New function.
5144 (selftest::c_spellcheck_cc_tests): New function.
5145 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
5146
613bc14f
DM
51472017-12-06 David Malcolm <dmalcolm@redhat.com>
5148
5149 * c-spellcheck.cc: New file, taken from macro-handling code in
5150 spellcheck-tree.c.
5151 * c-spellcheck.h: New file, taken from macro-handling code in
5152 spellcheck-tree.h.
5153
e76c7157
JJ
51542017-12-01 Jakub Jelinek <jakub@redhat.com>
5155
5156 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
5157 attribute.
5158 (handle_simd_attribute): Don't check for "cilk simd function"
5159 attribute. Reindent, formatting changes.
5160
b0da4034
JK
51612017-11-30 Julia Koval <julia.koval@intel.com>
5162
5163 * c-common.h (inv_list): Remove.
5164
058f0b9e
JJ
51652017-11-28 Jakub Jelinek <jakub@redhat.com>
5166
5167 PR sanitizer/81275
5168 * c-common.c (c_switch_covers_all_cases_p_1,
5169 c_switch_covers_all_cases_p): New functions.
5170 * c-common.h (c_switch_covers_all_cases_p): Declare.
5171
5e9d6aa4 51722017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 5173 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
5174
5175 * array-notation-common.c: Delete.
5176 * c-cilkplus.c: Ditto.
5177 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
5178 * c-common.def (ARRAY_NOTATION_REF): Remove.
5179 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
5180 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
5181 c_validate_cilk_plus_loop, cilkplus_an_parts,
5182 cilk_ignorable_spawn_rhs_op,
5183 cilk_recognize_spawn): Remove.
5184 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
5185 * c-omp.c: Remove CILK_SIMD check.
5186 * c-pragma.c: Ditto.
5187 * c-pragma.h: Remove CILK related pragmas.
5188 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
5189 ARRAY_NOTATION_REF condition.
5190 (c_pretty_printer::expression): Ditto.
5191 * c.opt (fcilkplus): Remove.
5192 * cilk.c: Delete.
5193
1af4ebf5
MG
51942017-11-21 Marc Glisse <marc.glisse@inria.fr>
5195
5196 * c-pretty-print.c (pp_c_additive_expression,
5197 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
5198
d44ed508
JJ
51992017-11-21 Jakub Jelinek <jakub@redhat.com>
5200
7d2f0f9b
JJ
5201 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
5202
d44ed508
JJ
5203 PR c++/83059
5204 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
5205 instead of tree_to_uhwi, formatting fix.
5206
26edace6
DM
52072017-11-20 David Malcolm <dmalcolm@redhat.com>
5208
5209 PR c/81404
5210 * known-headers.cc: New file, based on material from c/c-decl.c.
5211 (suggest_missing_header): Copied as-is.
5212 (get_stdlib_header_for_name): New, based on get_c_name_hint but
5213 heavily edited to add C++ support. Add some knowledge about
5214 <limits.h>, <stdint.h>, and <wchar.h>.
5215 * known-headers.h: Likewise.
5216
6c7a259b
DM
52172017-11-20 David Malcolm <dmalcolm@redhat.com>
5218
5219 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
5220 (lookup_name_fuzzy): Likewise. Convert return type from
5221 const char * to name_hint. Add location_t param.
5222 * name-hint.h: New header.
5223
f9c59f7e
JJ
52242017-11-19 Jakub Jelinek <jakub@redhat.com>
5225
5226 PR c/66618
5227 PR c/69960
5228 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
5229
1e39313a
JM
52302017-11-16 Joseph Myers <joseph@codesourcery.com>
5231
5232 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
5233 expected publication date of C17.
5234 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
5235
3ca0dc60
JM
52362017-11-15 Joseph Myers <joseph@codesourcery.com>
5237
5238 PR c/81156
5239 * c-common.c (c_common_reswords): Add __builtin_tgmath.
5240 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
5241
025d57f0
MS
52422017-11-10 Martin Sebor <msebor@redhat.com>
5243
5244 PR c/81117
5245 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
5246 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
5247 * c.opt (-Wstringop-truncation): New option.
5248
1b6fa695
ML
52492017-11-06 Martin Liska <mliska@suse.cz>
5250
5251 PR middle-end/82404
5252 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
5253 FE.
5254 * c.opt: Set default value of warn_return_type.
5255
64a5912c
DM
52562017-10-31 David Malcolm <dmalcolm@redhat.com>
5257
5258 * c-common.c (binary_op_error): Update for renaming of
5259 error_at_rich_loc.
5260 (c_parse_error): Likewise.
5261 * c-warn.c (warn_logical_not_parentheses): Likewise for
5262 renaming of inform_at_rich_loc.
5263 (warn_for_restrict): Likewise for renaming of
5264 warning_at_rich_loc_n.
5265
c76dc9c3
JM
52662017-10-30 Joseph Myers <joseph@codesourcery.com>
5267
5268 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
5269 * c-opts.c (set_std_c17): New function.
5270 (c_common_init_options): Use gnu17 as default C version.
5271 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
5272
ee5fd23a
MM
52732017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5274
5275 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
5276 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5277 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
5278 __FP_FAST_FMA<N>X.
5279
d1047465
MP
52802017-10-23 Marek Polacek <polacek@redhat.com>
5281
5282 PR c/82681
5283 * c-warn.c (warnings_for_convert_and_check): Fix typos.
5284
9e878cf1
EB
52852017-10-19 Eric Botcazou <ebotcazou@adacore.com>
5286
5287 * c-common.c (check_builtin_function_arguments): Also check arguments
5288 of __builtin_alloca_with_align_and_max.
5289
89b6abbb
DM
52902017-10-17 David Malcolm <dmalcolm@redhat.com>
5291
5292 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
5293 rather than NULL to format_warning_va.
5294 (check_format_types): Likewise when calling format_type_warning.
5295 Remove code to extract source_ranges and source_range * in favor
5296 of just a location_t.
5297 (format_type_warning): Convert source_range * param to a
5298 location_t.
5299
39382c09
JJ
53002017-10-13 Jakub Jelinek <jakub@redhat.com>
5301
5302 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
5303 [LR]SHIFT_EXPR.
5304
62e1c678
DM
53052017-10-12 David Malcolm <dmalcolm@redhat.com>
5306
5307 * c-common.c (enum missing_token_insertion_kind): New enum.
5308 (get_missing_token_insertion_kind): New function.
5309 (maybe_suggest_missing_token_insertion): New function.
5310 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
5311
b90c9338
NS
53122017-10-11 Nathan Sidwell <nathan@acm.org>
5313
5314 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
5315 (c_common_handle_option): Update incpath_kind names.
5316
3a266bcd
ML
53172017-10-11 Martin Liska <mliska@suse.cz>
5318
5319 PR sanitizer/82490
5320 * c-attribs.c (handle_no_sanitize_attribute): Report directly
5321 Wattributes warning.
5322
8e6cdc90
RS
53232017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
5324
5325 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
5326 operating on trees as wide_ints.
5327 * c-common.c (pointer_int_sum): Likewise.
5328 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5329 * c-warn.c (match_case_to_enum_1): Likewise.
5330 (c_do_switch_warnings): Likewise.
5331 (maybe_warn_shift_overflow): Likewise.
5332
802b38c9
JJ
53332017-10-10 Jakub Jelinek <jakub@redhat.com>
5334
5335 PR c/82437
5336 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
5337 instead of wide_int::from.
5338
4e34b338
JJ
53392017-10-06 Jakub Jelinek <jakub@redhat.com>
5340
5341 PR c/82437
5342 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5343 using to_widest use wide_int with the larger of the two precisions.
5344
4bc4b2b4
BE
53452017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5346
5347 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
5348 functions.
5349
a1488398
RS
53502017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
5351
5352 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
5353 when combining the original unconverted comparison operands.
5354
01c9fb68
JJ
53552017-09-29 Jakub Jelinek <jakub@redhat.com>
5356
5357 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
5358 attribute.
5359
6e3e8419
EB
53602017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5361
5362 * c-ada-spec.c (to_ada_name): Add index parameter.
5363 (pp_ada_tree_identifier): Likewise.
5364 (dump_ada_macros): Adjust call to to_ada_name.
5365 (struct overloaded_name_hash): New type.
5366 (struct overloaded_name_hasher): Likewise.
5367 (overloaded_names): New hash table.
5368 (compute_overloading_index): New function.
5369 (dump_ada_decl_name): Call it and pass the result to
5370 pp_ada_tree_identifier.
5371 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5372 (dump_ada_function_declaration): Likewise.
5373 (dump_generic_ada_node): Likewise.
5374 (print_constructor): Likewise.
5375 (print_destructor): Likewise.
5376 (dump_ada_specs): Delete overloaded_names table.
5377
79310774
EB
53782017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5379
5380 * c-ada-spec.c (max_ada_macros): Move around.
5381 (store_ada_macro_index): Likewise.
5382 (source_file): Rename into...
5383 (macro_source_file): ...this.
5384 (count_ada_macro): Move around.
5385 (store_ada_macro): Likewise.
5386 (compare_macro): Likewise.
5387 (print_ada_macros): Merge in...
5388 (dump_ada_macros): ...this.
5389 (source_file_base): Rename into...
5390 (current_source_file): ...this.
5391 (print_comment): Move around.
5392 (dump_ada_nodes): Call dump_ada_declaration directly.
5393 (struct with): Change type of limited field to bool.
5394 (append_withs): Change type of limited_access parameter to bool.
5395 (pp_ada_tree_identifie): Likewise.
5396 (dump_ada_decl_nam): Likewise.
5397 (dump_generic_ada_node): Likewise. Do not print the return type.
5398 (to_ada_name): Change type of space_found parameter to bool.
5399 (dump_ada_function_declaration): Return void and change type of
5400 parameters to bool. Also print the return type for a function.
5401 (print_ada_methods): Rename into...
5402 (dump_ada_methods): ...this.
5403 (print_ada_declaration): Rename into ...
5404 (dump_ada_declaration): ...this. Do not print the return type.
5405 (print_ada_struct_decl): Rename into...
5406 (dump_ada_struct_decl): ...this.
5407
7d386d45
JJ
54082017-09-29 Jakub Jelinek <jakub@redhat.com>
5409
5410 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
5411 rather than DECL_INITIAL.
5412 (common_handle_aligned_attribute): Likewise.
5413
ab20d992 54142017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
5415
5416 * c.opt (gen-decls): Add RejectNegative.
5417
026a79f7
AS
54182017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
5419 Jakub Jelinek <jakub@redhat.com>
5420
5421 Add support for -std=c++2a.
5422 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
5423 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
5424 * c-opts.c (set_std_cxx2a): New.
5425 (c_common_handle_option): Set options when -std=c++2a is enabled.
5426 (c_common_post_options): Adjust comments.
5427 (set_std_cxx14, set_std_cxx17): Likewise.
5428
4a8ca690
EB
54292017-09-15 Eric Botcazou <ebotcazou@adacore.com>
5430
5431 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
5432 message for non-uniform endianness and issue a warning in C++.
5433
7b936140
JJ
54342017-09-15 Jakub Jelinek <jakub@redhat.com>
5435
5436 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
5437 (Wc++17-compat): Change from undocumented alias to option.
5438 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
5439 change C++1z to C++17 in description.
5440 (std=c++1z, std=gnu++1z): Change from option to undocumented
5441 deprecated alias.
5442 (std=c++17, std=gnu++17): Change from undocumented alias to option.
5443 Adjust description.
5444 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
5445 * c-opts.c (set_std_cxx1z): Rename to ...
5446 (set_std_cxx17): ... this.
5447 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
5448 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 5449 caller.
7b936140
JJ
5450 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
5451 comments.
5452
12263f13
L
54532017-09-12 H.J. Lu <hongjiu.lu@intel.com>
5454
5455 * c-attribs.c (common_handle_aligned_attribute): Don't warn
5456 function alignment if warn_if_not_aligned_p is true.
5457
6836632e
NS
54582017-09-12 Nathan Sidwell <nathan@acm.org>
5459
5460 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
5461 resort_sorted_fields): Move to c/c-decl.c.
5462 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
5463 (struct sorted_fields_type): Move to c/c-lang.h.
5464
019bf9ad
JW
54652017-09-09 Jonathan Wakely <jwakely@redhat.com>
5466
5467 PR c++/81852
5468 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5469
bc7fe952
MP
54702017-09-04 Marek Polacek <polacek@redhat.com>
5471
5472 PR c/81783
5473 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5474 (warn_tautological_cmp): Call it.
5475
ab20d992 54762017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5477
5478 * c-opts.c (c_common_finish): Write dependency information even if
5479 there are errors.
5480
d2e05fcb
JJ
54812017-09-01 Jakub Jelinek <jakub@redhat.com>
5482
5483 PR c/81887
5484 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5485 (omp_pragmas_simd): ... here.
5486 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5487 create new clauses list containing just simd clause.
5488
18e2a8b8
RS
54892017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5490 Alan Hayward <alan.hayward@arm.com>
5491 David Sherwood <david.sherwood@arm.com>
5492
5493 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5494 into scalar_mode_supported_p call.
5495 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5496
16d22000
RS
54972017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5498 Alan Hayward <alan.hayward@arm.com>
5499 David Sherwood <david.sherwood@arm.com>
5500
5501 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5502 for the mode iterator.
5503
b397965c
RS
55042017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5505 Alan Hayward <alan.hayward@arm.com>
5506 David Sherwood <david.sherwood@arm.com>
5507
5508 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5509 * c-common.c (c_build_vec_perm_expr): Likewise.
5510
357b7604
RS
55112017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5512 Alan Hayward <alan.hayward@arm.com>
5513 David Sherwood <david.sherwood@arm.com>
5514
5515 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5516
e05c94ba
RS
55172017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5518 Alan Hayward <alan.hayward@arm.com>
5519 David Sherwood <david.sherwood@arm.com>
5520
5521 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5522 before calling targetm.addr_space.valid_pointer_mode.
5523
5c20c4af
RS
55242017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5525 Alan Hayward <alan.hayward@arm.com>
5526 David Sherwood <david.sherwood@arm.com>
5527
5528 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5529
c94843d2 55302017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5531 Alan Hayward <alan.hayward@arm.com>
5532 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5533
5534 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5535 iterators.
5536 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5537
4e10a5a7
RS
55382017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5539 Alan Hayward <alan.hayward@arm.com>
5540 David Sherwood <david.sherwood@arm.com>
5541
5542 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5543 case statements.
5544
130fcab0
ML
55452017-08-29 Martin Liska <mliska@suse.cz>
5546
5547 PR other/39851
5548 * c-common.c (parse_optimize_options): Add argument to function
5549 call.
5550 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5551
14e18d71
DM
55522017-08-24 David Malcolm <dmalcolm@redhat.com>
5553
5554 * c-lex.c (interpret_float): Use token location
5555 when building an EXCESS_PRECISION_EXPR.
5556
2f687306
DM
55572017-08-21 David Malcolm <dmalcolm@redhat.com>
5558
5559 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5560 it to check_function_format.
5561 * c-common.h (check_function_arguments): Add vec<location_t> *
5562 param.
5563 (check_function_format): Likewise.
5564 * c-format.c (struct format_check_context): Add field "arglocs".
5565 (check_function_format): Add param "arglocs"; pass it to
5566 check_format_info.
ab20d992 5567 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5568 new field of format_ctx.
5569 (check_format_arg): Pass format_ctx->arglocs to new param of
5570 check_format_info_main.
5571 (class argument_parser): New field "arglocs".
5572 (argument_parser::argument_parser): Add "arglocs_" param and use
5573 it to initialize new field.
5574 (argument_parser::check_argument_type): Pass new arglocs field to
5575 check_format_types.
5576 (check_format_info_main): Add param "arglocs", and use it when
5577 constructing arg_parser.
5578 (check_format_types): Add param "arglocs"; use it if non-NULL when
5579 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5580
00aa1fa2
L
55812017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5582
5583 PR c/53037
5584 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5585 (c_common_attribute_table): Add warn_if_not_aligned.
5586 (handle_aligned_attribute): Renamed to ...
5587 (common_handle_aligned_attribute): Remove argument, name, and add
5588 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5589 (handle_aligned_attribute): New.
5590 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5591
27be025d
MS
55922017-08-14 Martin Sebor <msebor@redhat.com>
5593
5594 PR c/81117
5595 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5596 (handle_nonstring_attribute): New function.
5597
da67acb9
MS
55982017-08-14 Martin Sebor <msebor@redhat.com>
5599
5600 PR c/81117
5601 * c-format.h (T89_G): New macro.
5602 * c-format.c (local_gcall_ptr_node): New variable.
5603 (init_dynamic_diag_info): Initialize it.
5604
a8b522b4
ML
56052017-08-11 Martin Liska <mliska@suse.cz>
5606
5607 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5608 TARGET_SUPPORTS_ALIASES.
5609
32129a17
DM
56102017-08-10 David Malcolm <dmalcolm@redhat.com>
5611
5612 * c-common.c (c_parse_error): Add rich_location * param, using it
5613 rather implicitly using input_location.
5614 * c-common.h (c_parse_error): Add rich_location * param.
5615
30af3a2b
MP
56162017-08-09 Marek Polacek <polacek@redhat.com>
5617
5618 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5619 (c_common_truthvalue_conversion): Likewise.
5620 * c-omp.c (c_finish_omp_atomic): Likewise.
5621 * c-common.h (build_binary_op): Update declaration.
5622
314e6352
ML
56232017-08-08 Martin Liska <mliska@suse.cz>
5624
5625 * c-ada-spec.c: Include header files.
5626 * c-ubsan.c: Likewise.
5627 * c-warn.c: Likewise.
5628
56b5041c
JJ
56292017-08-07 Jakub Jelinek <jakub@redhat.com>
5630
5631 PR c/69389
5632 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5633
db440138
EB
56342017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5635
5636 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5637 (print_ada_methods): Likewise.
5638 (print_ada_declaration): Likewise.
5639
577eec56
ML
56402017-08-07 Martin Liska <mliska@suse.cz>
5641
5642 * array-notation-common.c: Add new includes.
5643 * c-format.c( handle_format_attribute): Canonicalize a format
5644 function name.
5645 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5646 attribute.
5647 * c-pretty-print.c: Add new include.
5648
b854df3c
EB
56492017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5650
5651 * c-ada-spec.c (has_static_fields): Look only into variables.
5652 (print_constructor): Add TYPE parameter and use it for the name.
5653 (print_destructor): Likewise.
5654 (print_ada_declaration): Adjust to new constructor/destructor names.
5655 Adjust calls to print_constructor and print_destructor.
5656 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5657 Look only into variables in the final loop.
5658
9f2cb25e
EB
56592017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5660
5661 * c-ada-spec.c (has_static_fields): Look only into fields.
5662 (dump_generic_ada_node): Small tweak.
5663 (dump_nested_types): Look only into fields.
5664 (print_ada_declaration): Look only into methods. Small tweak.
5665 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5666
f4bcd9eb
EB
56672017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5668
5669 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5670 (dump_ada_function_declaration): Likewise.
5671 (dump_generic_ada_node): Likewise.
5672 (print_ada_declaration): Add support for const-qualified variables.
5673
f34ebeb2
ML
56742017-07-31 Martin Liska <mliska@suse.cz>
5675
5676 PR sanitize/81530
5677 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5678 Guard condition with flag_sanitize_p also with current_function_decl
5679 non-null equality.
5680 (ubsan_maybe_instrument_reference_or_call): Likewise.
5681
218e5d04
UB
56822017-07-30 Uros Bizjak <ubizjak@gmail.com>
5683
5684 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5685
942047f2
EB
56862017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5687
5688 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5689 for enumeral types.
5690 (print_ada_declaration): Add missing guard for record types.
5691
a40ff0ae
JJ
56922017-07-27 Jakub Jelinek <jakub@redhat.com>
5693
5694 PR c/45784
5695 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5696 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5697 new COMPOUND_EXPRs around the rhs of the comparison.
5698
06bd22f6
MP
56992017-07-27 Marek Polacek <polacek@redhat.com>
5700
5701 PR c/81417
5702 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5703 the types.
5704
036ea399
JJ
57052017-07-27 Jakub Jelinek <jakub@redhat.com>
5706
5707 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5708 (handle_noipa_attribute): New function.
5709
417ca011
TD
57102017-07-07 Torsten Duwe <duwe@suse.de>
5711
5712 * c-attribs.c (c_common_attribute_table): Add entry for
5713 "patchable_function_entry".
5714
5aaa8fb4
NS
57152017-07-20 Nathan Sidwell <nathan@acm.org>
5716
5717 Remove TYPE_METHODS.
5718 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5719 dump_ada_template, print_ada_methods,
5720 print_ada_declaration): Member fns are on TYPE_FIELDS.
5721
ff22eb12
NS
57222017-07-18 Nathan Sidwell <nathan@acm.org>
5723
5724 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5725
eea77d1f
DM
57262017-07-14 David Malcolm <dmalcolm@redhat.com>
5727
5728 * c-common.c (try_to_locate_new_include_insertion_point): New
5729 function.
5730 (per_file_includes_t): New typedef.
5731 (added_includes_t): New typedef.
5732 (added_includes): New variable.
5733 (maybe_add_include_fixit): New function.
5734 * c-common.h (maybe_add_include_fixit): New decl.
5735
281ac396
MS
57362017-07-10 Martin Sebor <msebor@redhat.com>
5737
5738 PR other/81345
5739 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5740
b6f43128
DM
57412017-07-06 David Malcolm <dmalcolm@redhat.com>
5742
5743 * c-common.c (selftest::c_family_tests): New.
5744 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5745 (selftest::c_family_tests): New decl.
5746
efbf55b0
MP
57472017-07-04 Marek Polacek <polacek@redhat.com>
5748
5749 PR c/81231
5750 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5751 types.
5752
6c86bd88
MP
57532017-07-04 Marek Polacek <polacek@redhat.com>
5754
5755 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5756
17a7218b
ML
57572017-06-28 Martin Liska <mliska@suse.cz>
5758
5759 PR ipa/81128
5760 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5761 to a function declaration.
5762
63010089
ML
57632017-06-28 Martin Liska <mliska@suse.cz>
5764
5765 PR driver/79659
5766 * c.opt: Add IntegerRange to various options.
5767
3e2becc4
MP
57682017-06-26 Marek Polacek <polacek@redhat.com>
5769
5770 PR c/80116
5771 * c-common.h (warn_for_multistatement_macros): Declare.
5772 * c-warn.c: Include "c-family/c-indentation.h".
5773 (warn_for_multistatement_macros): New function.
5774 * c.opt (Wmultistatement-macros): New option.
5775 * c-indentation.c (guard_tinfo_to_string): No longer static.
5776 Change the parameter type to "enum rid". Handle RID_SWITCH.
5777 * c-indentation.h (guard_tinfo_to_string): Declare.
5778
2db9b7cd
MG
57792017-06-23 Marc Glisse <marc.glisse@inria.fr>
5780
5781 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5782
c3684b7b
MS
57832017-06-15 Martin Sebor <msebor@redhat.com>
5784
5785 PR c++/80560
5786 * c.opt (-Wclass-memaccess): New option.
5787
e72c4afd
BK
57882017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5789
5790 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5791
8a516588
MP
57922017-06-13 Marek Polacek <polacek@redhat.com>
5793
5794 PR objc/80949
5795 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5796 branches is null.
5797
45b2222a
ML
57982017-06-13 Martin Liska <mliska@suse.cz>
5799
5800 PR sanitize/78204
5801 * c-attribs.c (add_no_sanitize_value): New function.
5802 (handle_no_sanitize_attribute): Likewise.
5803 (handle_no_sanitize_address_attribute): Use the function.
5804 (handle_no_sanitize_thread_attribute): New function.
5805 (handle_no_address_safety_analysis_attribute): Use
5806 add_no_sanitize_value.
5807 (handle_no_sanitize_undefined_attribute): Likewise.
5808 * c-common.h: Declare new functions.
5809 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5810 (ubsan_instrument_shift): Likewise.
5811 (ubsan_instrument_bounds): Likewise.
5812 (ubsan_maybe_instrument_array_ref): Likewise.
5813 (ubsan_maybe_instrument_reference_or_call): Likewise.
5814
a01f151f
JM
58152017-06-11 Jason Merrill <jason@redhat.com>
5816
5817 * c-ada-spec.c, c-pragma.c: Use id_equal.
5818
3de4ac6d
MP
58192017-06-04 Marek Polacek <polacek@redhat.com>
5820
5821 PR c/80919
5822 * c-format.c (matching_type_p): Return false if any of the types
5823 requires structural equality.
5824
2474f48f
MS
58252017-06-02 Martin Sebor <msebor@redhat.com>
5826
5827 PR c/80892
5828 * c-warn.c (conversion_warning): Use -Wconversion for integer
5829 conversion and -Wfloat-conversion for floating one.
5830
40ffd95f
BE
58312017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5832
5833 * c.opt (Wsizeof-pointer-div): New warning option.
5834
3fa4634c
VR
58352017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5836
5837 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5838 (Wcatch-value=1): Enable by -Wall.
5839
f012c8ef
DM
58402017-05-30 David Malcolm <dmalcolm@redhat.com>
5841
5842 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5843 format_chars.
5844 * c.opt (fdiagnostics-show-template-tree): New option.
5845 (felide-type): New option.
5846
63dbcd13
VR
58472017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5848
5849 * c.opt (Wcatch-value=): New C++ warning flag.
5850
be136b5c
NS
58512017-05-24 Nathan Sidwell <nathan@acm.org>
5852
5853 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5854 const casts to avoid warning.
5855
3cd211af
MS
58562017-05-24 Martin Sebor <msebor@redhat.com>
5857
5858 PR c/80731
5859 * c-common.h (unsafe_conversion_p): Add a function argument.
5860 * c-common.c (unsafe_conversion_p): Same.
5861 Add type names and values to diagnostics.
5862 (scalar_to_vector): Adjust.
5863 * c-warn.c (constant_expression_error): Add a function argument.
5864 Add type names and values to diagnostics.
5865 (conversion_warning): Add a function argument.
5866 Add type names and values to diagnostics.
5867 (warnings_for_convert_and_check): Same.
5868
1ff7be5a
JM
58692017-05-19 Jason Merrill <jason@redhat.com>
5870
5871 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5872 enumerators.
5873
ff502317
BE
58742017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5875
5876 * c-format.c (locus): Move out of function scope,
5877 add GTY attribute.
5878
2a8a8d7b
NS
58792017-05-19 Nathan Sidwell <nathan@acm.org>
5880
5881 * c-opts.c (class_dump_file, class_dump_flags): Delete.
5882 (c_common_parse_file): Remove class dump handling.
5883 (get_dump_info): Likewise.
5884
39aac208
RB
58852017-05-19 Richard Biener <rguenther@suse.de>
5886
5887 PR c++/80593
5888 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5889 to alias-set zero memory.
5890
6ecd2339
BE
58912017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5892
5893 * c-format.c (local_tree_type_node): Add GTY attribute.
5894
6574d78e
MP
58952017-05-18 Marek Polacek <polacek@redhat.com>
5896
5897 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5898 (c_common_fixed_point_type_for_size): Likewise.
5899 (c_common_type_for_mode): Likewise.
5900 (shorten_compare): Likewise.
5901 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5902 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5903
e3455240
MP
59042017-05-18 Marek Polacek <polacek@redhat.com>
5905
5906 * c-common.c (self_promoting_args_p): Change the return type to bool.
5907 Use false/true instead of 0/1.
5908 * c-common.h (self_promoting_args_p): Update.
5909
3fa8871b
MP
59102017-05-17 Marek Polacek <polacek@redhat.com>
5911
5912 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5913 * c-warn.c: Likewise.
5914
b42cc3ca
VV
59152017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5916
5917 Implement new C++ intrinsics __is_assignable and __is_constructible.
5918 * c-common.c (__is_assignable, __is_constructible): New.
5919 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5920
1a817418
ML
59212017-05-17 Martin Liska <mliska@suse.cz>
5922
5923 * c-common.h: Introduce dump_flags_t type and
5924 use it instead of int type.
5925 * c-gimplify.c (c_genericize): Likewise.
5926 * c-opts.c: Likewise.
5927
b2fa0a8b
MP
59282017-05-17 Marek Polacek <polacek@redhat.com>
5929
5930 * c-common.c (c_save_expr): Remove.
5931 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5932 * c-common.h (c_save_expr): Remove declaration.
5933
31c2d57d
VR
59342017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5935
5936 PR c/35441
5937 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5938 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5939 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5940 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5941 RDIV_EXPR.
5942 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5943
684f84de
MP
59442017-05-09 Marek Polacek <polacek@redhat.com>
5945
5946 PR c/80525
5947 * c-warn.c (unwrap_c_maybe_const): New.
5948 (warn_logical_operator): Call it.
5949
641da50a
NS
59502017-05-09 Nathan Sidwell <nathan@acm.org>
5951
5952 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5953 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5954
631238ac
MS
59552017-05-08 Martin Sebor <msebor@redhat.com>
5956
5957 PR translation/80280
5958 * c-format.h (struct format_flag_spec): Add new member.
5959 (T89_T): New macro.
5960 * c-format.c (local_tree_type_node): New global.
5961 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5962 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5963 (strfmon_flag_specs): Likewise.
5964 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5965 with distinct quoting properties.
5966 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5967 (flag_chars_t::validate): Add argument and handle bad quoting.
5968 (check_format_info_main): Handle quoting problems.
5969 (init_dynamic_diag_info): Simplify.
5970
49f0c04c
JM
59712017-05-08 Jason Merrill <jason@redhat.com>
5972
5973 * c-opts.c (c_common_post_options): Update defaults for
5974 flag_abi_version and flag_abi_compat_version.
5975
56d35585
DM
59762017-05-05 David Malcolm <dmalcolm@redhat.com>
5977
5978 * c-common.c (c_cpp_error): Replace report_diagnostic
5979 with diagnostic_report_diagnostic.
5980
0f2c4a8f
MS
59812017-05-04 Martin Sebor <msebor@redhat.com>
5982
5983 PR translation/80280
5984 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5985 (handle_weakref_attribute): Same.
5986
6fe63fb4
NS
59872017-05-03 Nathan Sidwell <nathan@acm.org>
5988
5989 Canonicalize canonical type hashing
5990 * c-common.c (complete_array_type): Use type_hash_canon.
5991
815d9cc6
XR
59922017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5993
92a285c1 5994 PR c++/80038
815d9cc6
XR
5995 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5996 prototype.
5997 (cilk_install_body_pedigree_operations): Likewise.
5998 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5999 detatched.
6000 (cilk_gimplify_call_params_in_spawned_fn): Remove.
6001 (cilk_install_body_pedigree_operations): Likewise.
6002 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
6003 unwrapping.
6004
f8a36447
JJ
60052017-04-27 Jakub Jelinek <jakub@redhat.com>
6006
6007 PR c++/80534
6008 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
6009 flag on non-aggregate element types.
6010
7c145456
BE
60112017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
6012
6013 * c-common.c (c_type_hasher, type_hash_table): Remove.
6014 (c_common_get_alias_set): Remove unreachable code.
6015 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
6016
c3cbcd45
VR
60172017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
6018
6019 * c.opt (Wextra-semi): New C++ warning flag.
6020
8a59d466
JJ
60212017-04-20 Jakub Jelinek <jakub@redhat.com>
6022
6023 PR middle-end/80423
6024 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
6025
8487c9a5
JJ
60262017-04-18 Jakub Jelinek <jakub@redhat.com>
6027
6028 PR middle-end/79788
6029 PR middle-end/80375
6030 * c-common.c (c_common_type_for_mode): Don't handle
6031 widest_*_literal_type_node here.
6032 c_common_signed_or_unsigned_type): Likewise.
6033 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
6034 to *intTI_type_node or *intDI_type_node depending on whether
6035 TImode is supported by the target or not.
6036
3ee0fb02
ML
60372017-04-10 Martin Liska <mliska@suse.cz>
6038
6039 PR sanitizer/80350
6040 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
6041 doing an UBSAN check.
6042
5764ee3c
JW
60432017-04-03 Jonathan Wakely <jwakely@redhat.com>
6044
6045 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
6046
6f3af356
JJ
60472017-03-31 Jakub Jelinek <jakub@redhat.com>
6048
6049 PR c++/79572
6050 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
6051 tree *.
6052 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
6053 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
6054 REFERENCE_TYPE.
6055
f6a7a9d5
DM
60562017-03-31 David Malcolm <dmalcolm@redhat.com>
6057
6058 PR documentation/78732
6059 * c.opt (Wendif-labels): Fix description to refer to
6060 #else rather than #elif.
6061
af88f557
JJ
60622017-03-31 Jakub Jelinek <jakub@redhat.com>
6063
6064 PR libstdc++/80251
6065 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
6066 * c-common.c (c_common_reswords): Add __is_aggregate trait.
6067
a9e4a1a5
JJ
60682017-03-27 Jakub Jelinek <jakub@redhat.com>
6069
6070 PR middle-end/80162
6071 * c-common.c (c_common_mark_addressable_vec): Don't set
6072 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
6073
3f01b620
MS
60742017-03-21 Martin Sebor <msebor@redhat.com>
6075
6076 PR c++/79548
6077 * c-common.c (set_underlying_type): Mark type used only when
6078 original del is declared unused.
6079
2f6f187a
DM
60802017-03-10 David Malcolm <dmalcolm@redhat.com>
6081
6082 PR translation/79848
6083 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
6084 "%qs".
6085
a02fa805
DM
60862017-03-10 David Malcolm <dmalcolm@redhat.com>
6087
6088 PR c/79921
6089 * c-indentation.c (warn_for_misleading_indentation): Remove parens
6090 from inform's message, so that xgettext can locate it.
6091
822a132c
MP
60922017-03-09 Marek Polacek <polacek@redhat.com>
6093
6094 PR c++/79962
6095 PR c++/79984
6096 * c-attribs.c (handle_nonnull_attribute): Save the result of default
6097 conversion to the attribute list.
6098
bba81f1c
ML
60992017-03-09 Martin Liska <mliska@suse.cz>
6100
6101 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
6102
108154ff
JM
61032017-03-03 Jason Merrill <jason@redhat.com>
6104
6105 * c.opt (Wnoexcept-type): New.
6106
eb0e7c34
RB
61072017-03-02 Richard Biener <rguenther@suse.de>
6108
6109 PR c/79756
6110 * c-common.c (c_common_mark_addressable_vec): Look through
6111 C_MAYBE_CONST_EXPR.
6112
9453ba0a
ML
61132017-02-28 Martin Liska <mliska@suse.cz>
6114
6115 * c.opt: Replace space with tabular for options of <number>
6116 type.
6117
6a825afe
ML
61182017-02-28 Martin Liska <mliska@suse.cz>
6119
6120 * c.opt: Fix --help=option -Q for options which are of
6121 an enum type.
6122
4227c9ad
JJ
61232017-02-24 Jakub Jelinek <jakub@redhat.com>
6124
6125 PR c++/79588
6126 * c-common.c (check_function_restrict): New function.
6127 (check_function_arguments): Add FNDECL argument. Call
6128 check_function_restrict if -Wrestrict.
6129 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
6130 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
6131 * c-common.h (check_function_arguments): Add FNDECL argument.
6132 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
6133
59909673
EB
61342017-02-24 Eric Botcazou <ebotcazou@adacore.com>
6135
6136 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
6137 treatment of parameters with pointer-to-tagged type and tidy up.
6138 (print_ada_methods): Remove the special treatment of C++ static member
6139 functions.
6140
54dcd526
ML
61412017-02-22 Martin Liska <mliska@suse.cz>
6142
6143 * c.opt: Replace inequality signs with square brackets
6144 for -Wnornalized.
6145
00bc9de3
JJ
61462017-02-21 Jakub Jelinek <jakub@redhat.com>
6147
6148 PR c++/79641
6149 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
6150 preserve quals.
6151
97fcf744
JM
61522017-02-17 Joseph Myers <joseph@codesourcery.com>
6153
6154 * c-cppbuiltin.c (builtin_define_float_constants): Define
6155 __DECIMAL_DIG__ to the value for long double.
6156
c7545f1c
MP
61572017-02-15 Marek Polacek <polacek@redhat.com>
6158
6159 PR c/79515
6160 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
6161 conversion has occured.
6162
c2e84327
DM
61632017-01-24 David Malcolm <dmalcolm@redhat.com>
6164
6165 * c-common.c (c_common_reswords): Add "__RTL".
6166 * c-common.h (enum rid): Add RID_RTL.
6167
2ebd93e1
MP
61682017-01-20 Marek Polacek <polacek@redhat.com>
6169
6170 PR c/64279
6171 * c-common.h (do_warn_duplicated_branches_r): Declare.
6172 * c-gimplify.c (c_genericize): Walk the function tree calling
6173 do_warn_duplicated_branches_r.
6174 * c-warn.c (expr_from_macro_expansion_r): New.
6175 (do_warn_duplicated_branches): New.
6176 (do_warn_duplicated_branches_r): New.
6177 * c.opt (Wduplicated-branches): New option.
6178
0d80ab91
DM
61792017-01-17 David Malcolm <dmalcolm@redhat.com>
6180
6181 PR c++/71497
6182 * c-indentation.c (warn_for_misleading_indentation): Use the past
6183 subjunctive in the note.
6184
7f991c36
AH
61852017-01-17 Aldy Hernandez <aldyh@redhat.com>
6186
6187 PR c/79116
6188 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
6189 start type to integer_type.
6190
1c70261c
JJ
61912017-01-16 Jakub Jelinek <jakub@redhat.com>
6192
6193 PR driver/49726
6194 * c.opt (gen-decls): Add Driver flag.
6195
1ddca3f3
PC
61962017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6197
6198 Revert:
6199 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6200
6201 PR c++/71737
6202 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6203
7d2f3f1d
PC
62042017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
6205
6206 PR c++/71737
6207 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
6208
bce6f760
MS
62092017-01-12 Martin Sebor <msebor@redhat.com>
6210
6211 (-Wformat-overflow): ...to this.
6212
bf5fbf46
MS
62132017-01-11 Martin Sebor <msebor@redhat.com>
6214
6215 PR c/78768
6216 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
6217 Also enable for LTO.
6218
e363df3f
JM
62192017-01-10 Jason Merrill <jason@redhat.com>
6220
6221 Implement P0195R2, C++17 variadic using.
6222 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
6223
bd2c6270
JJ
62242017-01-09 Jakub Jelinek <jakub@redhat.com>
6225
6226 PR translation/79019
6227 PR translation/79020
6228 * c.opt (Wnormalized=): Fix typo in description.
6229
efcc8d38
MS
62302017-01-08 Martin Sebor <msebor@redhat.com>
6231
6232 PR middle-end/77708
6233 * c.opt (-Wformat-truncation): New option.
6234
ab20d992 62352017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
6236
6237 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
6238 value to unsigned short to fit in 4 hex digits without
6239 warnings.
6240
4e89adf9
EB
62412017-01-05 Eric Botcazou <ebotcazou@adacore.com>
6242
6243 * c.opt (fsso-struct): Add 'native' value.
6244
cd445b54
ML
62452017-01-05 Martin Liska <mliska@suse.cz>
6246
6247 PR pch/78970
6248 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
6249 header.
6250
a9342885
MP
62512017-01-04 Marek Polacek <polacek@redhat.com>
6252
6253 PR c++/64767
6254 * c.opt (Wpointer-compare): New option.
6255
fc73e60c
JJ
62562017-01-04 Jakub Jelinek <jakub@redhat.com>
6257
6258 PR driver/78957
6259 * c.opt (fsso-struct=): Add RejectNegative.
6260
cbe34bb5
JJ
62612017-01-01 Jakub Jelinek <jakub@redhat.com>
6262
6263 Update copyright years.
6264
d4a6c0ea
ML
62652016-12-29 Martin Liska <mliska@suse.cz>
6266
6267 PR c/78933
6268 * c.opt (strong-eval-order): Add RejectNegative keyword.
6269
67a5ad7c
JM
62702016-12-22 Jason Merrill <jason@redhat.com>
6271
6272 Implement P0522R0, matching of template template arguments.
6273 * c-cppbuiltin.c (c_cpp_builtins): Define
6274 __cpp_template_template_args.
6275
0dba7960
JJ
62762016-12-21 Jakub Jelinek <jakub@redhat.com>
6277
6278 PR bootstrap/78817
6279 * c-common.c (struct nonnull_arg_ctx): New type.
6280 (check_function_nonnull): Return bool instead of void. Use
6281 nonnull_arg_ctx as context rather than just location_t.
6282 (check_nonnull_arg): Adjust for the new context type, set
6283 warned_p to true if a warning has been diagnosed.
6284 (check_function_arguments): Return bool instead of void.
6285 * c-common.h (check_function_arguments): Adjust prototype.
6286
31bfc9b9
JM
62872016-12-21 Jason Merrill <jason@redhat.com>
6288
6289 * c.opt (-fnew-ttp-matching): New flag.
6290 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
6291
629b3d75
MJ
62922016-12-14 Martin Jambor <mjambor@suse.cz>
6293
6294 * c-omp.c: Include omp-general.h instead of omp-low.h.
6295 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
6296 name.
6297
474da67e
MS
62982016-12-14 Martin Sebor <msebor@redhat.com>
6299
6300 PR c/17308
6301 * c-common.c (check_nonnull_arg): Disable when optimization
6302 is enabled.
6303
fe366b87
MP
63042016-12-12 Marek Polacek <polacek@redhat.com>
6305
6306 PR c++/78647
6307 * c-common.c (attribute_fallthrough_p): Return false for
6308 error_mark_node.
6309
8bd9f164
MS
63102016-12-08 Martin Sebor <msebor@redhat.com>
6311
6312 PR c/78284
6313 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
6314
060162e0
MS
63152016-12-08 Martin Sebor <msebor@redhat.com>
6316
6317 PR c/78165
92a285c1
ML
6318 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
6319 suffix.
060162e0 6320
ee92e7ba
MS
63212016-12-07 Martin Sebor <msebor@redhat.com>
6322
6323 PR c/53562
6324 PR middle-end/77784
6325 PR middle-end/78149
6326 PR middle-end/78138
6327 * c.opt (-Wstringop-overflow): New option.
6328
84b0769e
MO
63292016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
6330
6331 * c-attribs.c (asan odr indicator): New attribute.
6332 (handle_asan_odr_indicator_attribute): New function.
6333
7fa6a965
PK
63342016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6335
6336 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
6337 ptrdiff_type_node;
6338
56d8ffc1
JG
63392016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6340
6341 * c-common.c (excess_precision_mode_join): New.
6342 (c_ts18661_flt_eval_method): New.
6343 (c_c11_flt_eval_method): Likewise.
6344 (c_flt_eval_method): Likewise.
6345 * c-common.h (excess_precision_mode_join): New.
6346 (c_flt_eval_method): Likewise.
6347 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
6348 (cpp_iec_559_value): Call it.
6349 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
6350 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
6351 __FLT_EVAL_METHOD_TS_18661_3__.
6352
04f0fcf7
JG
63532016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6354
6355 * c-opts.c (c_common_post_options): Add logic to handle the default
6356 case for -fpermitted-flt-eval-methods.
6357
fb2675cb
PB
63582016-11-23 Paolo Bonzini <bonzini@gnu.org>
6359
6360 * c.opt (Wexpansion-to-defined): New.
6361
ec1c5694
JJ
63622016-11-23 Jakub Jelinek <jakub@redhat.com>
6363
6364 PR target/78451
6365 * c-pragma.c (handle_pragma_target): Don't replace
6366 current_target_pragma, but chainon the new args to the current one.
6367
730c9e75
NS
63682016-11-22 Nathan Sidwell <nathan@acm.org>
6369
6370 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 6371 indentation and formatting.
730c9e75 6372
89990732
MS
63732016-11-21 Martin Sebor <msebor@redhat.com>
6374
6375 * c.opt (-fprintf-return-value): Enable by default.
6376
48330c93
BE
63772016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6378
6379 PR c++/71973
6380 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
6381 * c-common.c (c_common_nodes_and_builtins): Initialize
6382 const_tm_ptr_type_node.
6383
0d939c95
MP
63842016-11-16 Marek Polacek <polacek@redhat.com>
6385
6386 PR c/78285
6387 * c-common.c (c_add_case_label): Turn error_at calls into inform.
6388
8e745a17
JJ
63892016-11-14 Jakub Jelinek <jakub@redhat.com>
6390
6391 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
6392
1ee62b92 63932016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
6394 Richard Biener <rguenther@suse.de>
6395
6396 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
6397 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
6398 * c.opt (fgimple): New option.
1ee62b92 6399
22b15758
UB
64002016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6401
6402 PR c/35503
6403 * c-common.h (warn_for_restrict): Declare.
6404 * c-warn.c: Include gcc-rich-location.h.
6405 (warn_for_restrict): New function.
6406 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
6407 (gcc_cdiag_char_table): Likewise.
6408 (gcc_cxxdiag_char_table): Likewise.
6409 * c.opt (Wrestrict): New option.
6410
4be719cd
EB
64112016-11-13 Eric Botcazou <ebotcazou@adacore.com>
6412
6413 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
6414 for nested types only if the type is a record or union and dump SLOC.
6415
4a826ca6
JM
64162016-11-09 Jason Merrill <jason@redhat.com>
6417
6418 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
6419
2e955d50
JJ
64202016-11-09 Jakub Jelinek <jakub@redhat.com>
6421
6422 * c-ubsan.c (ubsan_instrument_shift): Handle split
6423 -fsanitize=shift-base and -fsanitize=shift-exponent.
6424
51dc6603
JM
64252016-11-07 Jason Merrill <jason@redhat.com>
6426
6427 * c.opt (Wc++1z-compat): New.
6428 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
6429
6dc4a604
ML
64302016-11-07 Martin Liska <mliska@suse.cz>
6431
6432 * c-warn.c (warn_for_unused_label): Save all labels used
6433 in goto or in &label.
6434
b302001e
JM
64352016-11-03 Jason Merrill <jason@redhat.com>
6436
6437 * c-cppbuiltin.c (c_cpp_builtins): Correct
6438 __cpp_inheriting_constructors.
6439
31f7f784
JM
64402016-11-01 Jason Merrill <jason@redhat.com>
6441
2bc78e3c
JM
6442 * c-cppbuiltin.c (c_cpp_builtins): Update
6443 __cpp_inheriting_constructors.
6444
31f7f784
JM
6445 * c.opt (-fnew-inheriting-ctors): New.
6446 * c-opts.c: Default to on for ABI 11+.
6447
dcb466ec
JJ
64482016-10-31 Jakub Jelinek <jakub@redhat.com>
6449
6450 PR c++/77948
6451 * c.opt (fext-numeric-literals): Add Var and Init.
6452 * c-opts.c (c_common_handle_option): Don't clear
6453 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
6454 (c_common_post_options): Clear it here if not set
6455 explicitly.
6456
52e1b91e
AH
64572016-10-28 Aldy Hernandez <aldyh@redhat.com>
6458
6459 PR debug/77773
6460 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
6461 if NULL.
6462
e16f1cc7
JJ
64632016-10-25 Jakub Jelinek <jakub@redhat.com>
6464
6465 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6466 * c-common.c (c_common_reswords): Add __builtin_launder.
6467
f8348061
BE
64682016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6469
6470 * c-common.c (c_common_truthvalue_conversion): Warn for
6471 multiplications in boolean context. Fix the quoting of '<<' and '<'
6472 in the shift warning.
6473
eff89e01
BE
64742016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6475
6476 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6477
24bc7bf4
JM
64782016-10-20 Jason Merrill <jason@redhat.com>
6479
6480 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6481
4c712374
BE
64822016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6483
6484 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6485 integer shift ops in boolean context.
6486
64872016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6488
6489 * c.opt (Walloca): New.
6490 (Walloca-larger-than=): New.
6491 (Wvla-larger-than=): New.
6492
8fa18c06
MP
64932016-10-17 Marek Polacek <polacek@redhat.com>
6494
6495 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6496 Return immediately when finding a match.
6497 (warn_tautological_cmp): Remove a boolean variable that is no longer
6498 needed.
6499
b12b1915
MP
65002016-10-17 Marek Polacek <polacek@redhat.com>
6501
6502 * c-attribs.c: New file.
6503 * c-common.c: Move attributes handling to c-attribs.c.
6504 (get_nonnull_operand): No longer static.
6505 * c-common.h: Move the declarations from c-attribs.c to its own section.
6506
2045acd9
JM
65072016-10-14 Jason Merrill <jason@redhat.com>
6508
6509 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6510 and __cpp_deduction_guides.
6511
14a2c9aa
JM
65122016-10-13 Jason Merrill <jason@redhat.com>
6513
6514 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6515
4d0cdd0c
TP
65162016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6517
6518 * c-cppbuiltin.c: Include memmodel.h.
6519 * c-opts.c: Likewise.
6520 * c-pragma.c: Likewise.
6521 * c-warn.c: Likewise.
6522
70f6d5e1
JJ
65232016-10-12 Jakub Jelinek <jakub@redhat.com>
6524
6525 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6526 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6527 * c-opts.c (sanitize_cpp_opts): Initialize
6528 cpp_opts->cpp_warn_implicit_fallthrough.
6529
78f61294
MP
65302016-10-11 Marek Polacek <polacek@redhat.com>
6531
6532 * c-common.c (warning_candidate_p): Change the return type to bool
6533 and return true/false instead of 1/0.
6534 (vector_mode_valid_p): Likewise.
6535
038b5cc0
MP
65362016-10-11 Marek Polacek <polacek@redhat.com>
6537
6538 * c-common.c (fold_for_warn): No longer static.
6539 (bool_promoted_to_int_p): Likewise.
6540 (c_common_get_narrower): Likewise.
6541 (constant_expression_warning): Move to c-warn.c.
6542 (constant_expression_error): Likewise.
6543 (overflow_warning): Likewise.
6544 (warn_logical_operator): Likewise.
6545 (find_array_ref_with_const_idx_r): Likewise.
6546 (warn_tautological_cmp): Likewise.
6547 (expr_has_boolean_operands_p): Likewise.
6548 (warn_logical_not_parentheses): Likewise.
6549 (warn_if_unused_value): Likewise.
6550 (strict_aliasing_warning): Likewise.
6551 (sizeof_pointer_memaccess_warning): Likewise.
6552 (check_main_parameter_types): Likewise.
6553 (conversion_warning): Likewise.
6554 (warnings_for_convert_and_check): Likewise.
6555 (match_case_to_enum_1): Likewise.
6556 (match_case_to_enum): Likewise.
6557 (c_do_switch_warnings): Likewise.
6558 (warn_for_omitted_condop): Likewise.
6559 (readonly_error): Likewise.
6560 (lvalue_error): Likewise.
6561 (invalid_indirection_error): Likewise.
6562 (warn_array_subscript_with_type_char): Likewise.
6563 (warn_about_parentheses): Likewise.
6564 (warn_for_unused_label): Likewise.
6565 (warn_for_div_by_zero): Likewise.
6566 (warn_for_memset): Likewise.
6567 (warn_for_sign_compare): Likewise.
6568 (do_warn_double_promotion): Likewise.
6569 (do_warn_unused_parameter): Likewise.
6570 (record_locally_defined_typedef): Likewise.
6571 (maybe_record_typedef_use): Likewise.
6572 (maybe_warn_unused_local_typedefs): Likewise.
6573 (maybe_warn_bool_compare): Likewise.
6574 (maybe_warn_shift_overflow): Likewise.
6575 (warn_duplicated_cond_add_or_warn): Likewise.
6576 (diagnose_mismatched_attributes): Likewise.
6577 * c-common.h: Move the declarations from c-warn.c to its own section.
6578 * c-warn.c: New file.
6579
627be19f
JM
65802016-10-08 Jason Merrill <jason@redhat.com>
6581
6582 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6583 into COND_EXPR in C++.
6584
7bad794a
JJ
65852016-10-08 Jakub Jelinek <jakub@redhat.com>
6586
6587 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6588 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6589 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6590
be845b04
JJ
65912016-10-07 Jakub Jelinek <jakub@redhat.com>
6592
6593 Implement LWG2296 helper intrinsic
6594 * c-common.h (enum rid): Add RID_ADDRESSOF.
6595 * c-common.c (c_common_reswords): Add __builtin_addressof.
6596
c09c4992
BE
65972016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6598
6599 PR c++/77700
6600 * c-common.c (c_common_truthvalue_conversion): Warn also for
6601 suspicious enum values in boolean context.
6602
342cfb3e
JJ
66032016-10-06 Jakub Jelinek <jakub@redhat.com>
6604
6605 Implement P0258R2 - helper for C++17
6606 std::has_unique_object_representations trait
6607 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6608 * c-common.c (c_common_reswords): Add
6609 __has_unique_object_representations.
6610
2e69f143
JJ
66112016-10-05 Jakub Jelinek <jakub@redhat.com>
6612
6613 PR sanitizer/66343
6614 * c-ubsan.c (ubsan_instrument_return): Don't call
6615 initialize_sanitizer_builtins here.
6616
700fff34
BE
66172016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6618
6619 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6620 conditional expression in boolean context when only one arm is
6621 non-boolean.
6622
9563bfcd
JJ
66232016-10-05 Jakub Jelinek <jakub@redhat.com>
6624
04a32443
JJ
6625 PR sanitizer/77823
6626 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6627 is not integral.
6628
9563bfcd
JJ
6629 * c-common.c (c_common_reswords): Update comment for C++11.
6630
f1644724
JM
66312016-10-04 Jason Merrill <jason@redhat.com>
6632
6633 * c-common.c (make_tree_vector_from_ctor): New.
6634 * c-common.h: Declare it.
6635
5a79befb
JJ
66362016-10-04 Jakub Jelinek <jakub@redhat.com>
6637
6638 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6639 __LIBGCC_JCR_SECTION_NAME__.
6640
1633d3b9
BE
66412016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6642
6643 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6644 left shift in boolean context.
6645
a2c6e7f2
JJ
66462016-09-29 Jakub Jelinek <jakub@redhat.com>
6647
6648 Implement P0001R1 - C++17 removal of register storage class specifier
6649 * c.opt (Wregister): New warning.
6650 * c-opts.c (c_common_post_options): Enable -Wregister by
6651 default for C++17.
6652
75304c87
JG
66532016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6654
6655 * c-opts.c (c_common_post_options): Remove special case for
6656 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6657 in C++.
6658
bbfac6da
JJ
66592016-09-27 Jakub Jelinek <jakub@redhat.com>
6660
6e39060a
JJ
6661 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6662 -std=c++1z.
6663
bbfac6da
JJ
6664 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6665
e73cf9a2
TP
66662016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6667
6668 * c-common.c: Include memmodel.h.
6669
c6147dc4
MP
66702016-09-26 Marek Polacek <polacek@redhat.com>
6671
6672 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6673
81fea426
MP
66742016-09-26 Marek Polacek <polacek@redhat.com>
6675
6676 PR c/7652
6677 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6678 (handle_fallthrough_attribute): New function.
6679 (attribute_fallthrough_p): New function.
6680 * c-common.h (attribute_fallthrough_p): Declare.
6681
9a2300e9
MP
66822016-09-24 Marek Polacek <polacek@redhat.com>
6683
6684 PR c/77490
6685 * c.opt (Wbool-operation): New.
6686
a09e9e35
BE
66872016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6688
6689 * c-common.c (c_common_truthvalue_conversion): Inhibit
6690 Wint-in-bool-context warning with from_macro_definition_at.
6691 Mention the expression will always evaluate to true.
6692
d43b4ccc
MS
66932016-09-21 Martin Sebor <msebor@redhat.com>
6694
6695 PR bootstrap/77676
6696 * c.opt (fprintf-return-value): Temporarily initialize to zero
6697 to unblock bootstrap failures.
6698
2e1c20b1
JJ
66992016-09-21 Jakub Jelinek <jakub@redhat.com>
6700
6701 PR c++/77651
6702 * c.opt (Waligned-new=): Add RejectNegative.
6703 (faligned-new=): Likewise. Spelling fix - change
6704 aligned_new_threshhold to aligned_new_threshold.
6705 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6706 to aligned_new_threshold.
6707
88d0c3f0
MS
67082016-09-20 Martin Sebor <msebor@redhat.com>
6709
6710 PR middle-end/49905
6711 * c.opt: Add -Wformat-length and -fprintf-return-value.
6712
144a96e4
BE
67132016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6714
6715 PR c++/77434
6716 * c.opt (Wint-in-bool-context): New warning.
6717 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6718 constants in boolean context.
6719
63012d9a
JM
67202016-09-19 Joseph Myers <joseph@codesourcery.com>
6721
6722 * c-common.c (max_align_t_align): Also consider alignment of
6723 float128_type_node.
6724
931388ce
JM
67252016-09-15 Jason Merrill <jason@redhat.com>
6726
6727 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6728 DECL_EXTERNAL.
6729
38711381
JM
67302016-09-14 Jason Merrill <jason@redhat.com>
6731
6732 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6733 limit FIELD_DECL, either.
6734
e51fbec3
MP
67352016-09-14 Marek Polacek <polacek@redhat.com>
6736
6737 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6738 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6739 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6740
254830ba
DM
67412016-09-13 David Malcolm <dmalcolm@redhat.com>
6742
6743 * c-common.c (warn_logical_not_parentheses): Replace
6744 rich_location::add_fixit_insert calls with add_fixit_insert_before
6745 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6746
42763690
JM
67472016-09-13 Jason Merrill <jason@redhat.com>
6748 Tom de Vries <tom@codesourcery.com>
6749
6750 PR c++/77427
6751 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6752
9453eee9
JM
67532016-09-13 Jason Merrill <jason@redhat.com>
6754
6755 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6756 limit types at all.
6757
e96809e3
JM
67582016-09-12 Jason Merrill <jason@redhat.com>
6759
6760 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6761 bit/byte confusion, allow large alignment for types.
6762
54dcdb88
BE
67632016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6764
6765 PR c++/77496
6766 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6767
d1463eb9
DM
67682016-09-12 David Malcolm <dmalcolm@redhat.com>
6769
6770 PR c/72858
6771 * c-format.c (argument_parser::check_argument_type): Add params
6772 "type_start" and "conversion_char". Use the former to generate
6773 offset_to_type_start and pass it and conversion_char to
6774 check_format_types.
6775 (check_format_info_main): Capture the start of the type
6776 information as "type_start", and pass it an format_char
6777 to arg_parser.check_argument_type.
6778 (check_format_types): Provide an example in the leading comment.
6779 Add params "offset_to_type_start" and "conversion_char"; pass
6780 them to format_type_warning calls.
6781 (test_get_modifier_for_format_len): Likewise.
6782 (matching_type_p): New function.
6783 (get_format_for_type): Add param "conversion_char" and move
6784 implementation into...
6785 (get_format_for_type_1): ...new function, called twice.
6786 Use new function matching_type_p rather than checking for
6787 TYPE_CANONICAL equality.
6788 (get_corrected_substring): New function.
6789 (format_type_warning): Provide an example in the leading comment.
6790 Add params "offset_to_type_start" and "conversion_char". Replace
6791 call to get_format_for_type with call to get_corrected_substring
6792 and move rejection of hints for widths/precisions there.
6793 (assert_format_for_type_streq): Add param "conversion_char".
6794 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6795 (test_get_format_for_type_printf): Add conversion chars to the
6796 tests, adding coverage for various combinations of integer
6797 vs double conversions, and for preserving octal and hexadecimal
6798 conversions.
6799 (test_get_format_for_type_scanf): Add conversion chars to the
6800 tests.
6801
5b28efbb
TV
68022016-09-10 Tom de Vries <tom@codesourcery.com>
6803
6804 PR C/71602
6805 * c-common.c (build_va_arg): Handle more strict
6806 targetm.canonical_va_list_type. Replace first argument type error with
6807 assert.
6808
3f0177e7
MS
68092016-09-09 Martin Sebor <msebor@redhat.com>
6810
6811 PR c/77520
6812 PR c/77521
6813 * c-format.c (argument_parser::find_format_char_info): Use %qc
6814 format directive unconditionally.
6815
af63ba4b
JM
68162016-09-09 Jason Merrill <jason@redhat.com>
6817
6818 Implement C++17 new of over-aligned types.
6819 * c.opt: Add -faligned-new and -Waligned-new.
6820 * c-common.c (max_align_t_align): Split out from...
6821 (cxx_fundamental_alignment_p): ...here.
6822 * c-common.h: Declare it.
6823 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6824
c65248cb
JM
68252016-09-09 Joseph Myers <joseph@codesourcery.com>
6826
6827 * c-cppbuiltin.c (builtin_define_type_width): New function.
6828 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6829 macros.
6830
e5106e27
DM
68312016-09-07 David Malcolm <dmalcolm@redhat.com>
6832
6833 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6834 a POINTER_TYPE.
6835 (substring_loc::get_location): Move to substring-locations.c,
6836 keeping implementation as...
6837 (c_get_substring_location): New function, from the above, reworked
6838 to use accessors rather than member lookup.
6839 * c-common.h (class substring_loc): Move to substring-locations.h,
6840 replacing with a forward decl.
6841 (c_get_substring_location): New decl.
6842 * c-format.c: Include "substring-locations.h".
6843 (format_warning_va): Move to substring-locations.c.
6844 (format_warning_at_substring): Likewise.
6845
ab20d992 68462016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6847
6848 PR c/77336
6849 * c-format.c (check_function_format): Avoid issuing warnings for
6850 functions unless they call format functions with non-constant
6851 format strings.
6852
b772a565
RB
68532016-09-06 Richard Biener <rguenther@suse.de>
6854
6855 PR c/77450
6856 * c-common.c (c_common_mark_addressable_vec): Handle
6857 COMPOUND_LITERAL_EXPR.
6858
25ff5dd3
MP
68592016-09-05 Marek Polacek <polacek@redhat.com>
6860
6861 PR c/77423
6862 * c-common.c (bool_promoted_to_int_p): New function.
6863 (expr_has_boolean_operands_p): New function.
6864 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6865 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6866
21234eb5
TV
68672016-09-04 Tom de Vries <tom@codesourcery.com>
6868
6869 revert:
6870 2016-08-29 Tom de Vries <tom@codesourcery.com>
6871
6872 * c-common.c (build_va_arg): Replace first argument type error
6873 with assert.
6874
9dc5773f
JJ
68752016-09-02 Jakub Jelinek <jakub@redhat.com>
6876
6877 PR c/65467
6878 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6879 (c_finish_omp_for): Reject _Atomic qualified iterators.
6880
68812016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
6882
6883 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6884 size to guarantee it fits the output of the formatted function
6885 regardless of its arguments.
6886
295844f6
MP
68872016-09-01 Marek Polacek <polacek@redhat.com>
6888
6889 PR c/7652
6890 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6891 FALLTHRU comments.
6892
3d06b6f2
MP
68932016-08-29 Marek Polacek <polacek@redhat.com>
6894
6895 PR c/77292
6896 * c-common.c (warn_logical_not_parentheses): Don't warn for
6897 a comparison or a logical operator.
6898
34cedad5
TV
68992016-08-29 Tom de Vries <tom@codesourcery.com>
6900
6901 * c-common.c (build_va_arg): Fix type comparison assert.
6902
f162d717
TV
69032016-08-29 Tom de Vries <tom@codesourcery.com>
6904
6905 * c-common.c (build_va_arg): Replace first argument type error
6906 with assert.
6907
ba9bbd6f
TV
69082016-08-29 Tom de Vries <tom@codesourcery.com>
6909
6910 PR c/77398
6911 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6912 with error_mark_node as va_list instead of with illegal va_list.
6913
ebef225f
MP
69142016-08-25 Marek Polacek <polacek@redhat.com>
6915 David Malcolm <dmalcolm@redhat.com>
6916
6917 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6918 * c-common.h (warn_logical_not_parentheses): Update declaration.
6919
b00e6e75
MP
69202016-08-22 Marek Polacek <polacek@redhat.com>
6921
6922 PR c++/77321
6923 * c-common.c (warn_for_memset): Check type for null.
6924
6dc198e3
JM
69252016-08-22 Joseph Myers <joseph@codesourcery.com>
6926
14ec014e 6927 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6928 _FloatNx types for suffixes for built-in functions.
6929
c65699ef
JM
69302016-08-19 Joseph Myers <joseph@codesourcery.com>
6931
6932 PR c/32187
6933 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6934 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6935 (RID_FLOAT128X): New enum rid values.
6936 (CASE_RID_FLOATN_NX): New macro.
6937 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6938 keywords.
6939 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6940 corresponding complex types.
6941 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6942 _FloatNx and corresponding complex types.
6943 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6944 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6945 and _FloatNx types for the widest type for determining
6946 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6947 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6948 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6949 and _FloatNx types.
6950 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6951 constants.
6952 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6953 _FloatNx types.
6954
cc015f3a
DM
69552016-08-18 David Malcolm <dmalcolm@redhat.com>
6956
6957 * c-opts.c (c_diagnostic_finalizer): Update for change to
6958 diagnostic_show_locus.
6959
cb18fd07
DM
69602016-08-18 David Malcolm <dmalcolm@redhat.com>
6961
6962 * c-common.c: Include "spellcheck.h".
6963 (cb_get_suggestion): New function.
6964 * c-common.h (cb_get_suggestion): New decl.
6965 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6966 cb_get_suggestion.
6967
a76989dc
MP
69682016-08-18 Marek Polacek <polacek@redhat.com>
6969
6970 PR c/71514
6971 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6972 and pointer-to-VLA.
6973
65e736c0
DM
69742016-08-16 David Malcolm <dmalcolm@redhat.com>
6975
6976 PR c/72857
6977 * c-common.c (substring_loc::get_range): Rename to...
6978 (substring_loc::get_location): ...this, converting param from a
6979 source_range * to a location_t *. Call
6980 get_source_location_for_substring rather than
6981 get_source_range_for_substring, and pass in m_caret_idx.
6982 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6983 (substring_loc::get_range): Replace with...
6984 (substring_loc::get_location): ...this.
6985 (substring_loc::set_caret_index): New method.
6986 (substring_loc): Add field m_caret_idx.
6987 * c-format.c (format_warning_va): Update for above changes.
6988 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6989 clashing with type name.
6990 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6991 (check_argument_type): Likewise.
6992 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6993 Use a copy when emitting warnings, setting the caret index from TYPE.
6994
7e1dde14 69952016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6996 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6997
6998 * c-ada-spec.c (dump_number): New function.
6999 (handle_escape_character): Likewise.
7000 (print_ada_macros): Add handling of constant integers and strings.
7001
191816a3
MP
70022016-08-12 Marek Polacek <polacek@redhat.com>
7003
7004 PR c/7652
7005 * c-common.c (scalar_to_vector): Adjust fall through comment.
7006 * c-opts.c (c_common_handle_option): Likewise.
7007 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
7008 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
7009 fall through comment.
7010 * cilk.c (extract_free_variables): Add FALLTHRU.
7011
452df4a4
JM
70122016-08-10 Jason Merrill <jason@redhat.com>
7013
7014 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
7015
f3365c12
JM
70162016-08-09 Jason Merrill <jason@redhat.com>
7017
7018 * c-common.c (c_common_attribute_table): vector_size affects type
7019 identity.
7020
f0bc3323
MP
70212016-08-09 Marek Polacek <polacek@redhat.com>
7022
7023 PR c/7652
7024 * c-ada-spec.c (dump_generic_ada_node): Add return.
7025
98e5a19a
JM
70262016-08-09 Jason Merrill <jason@redhat.com>
7027
7028 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
7029 C++17 constexpr lambdas.
7030
895aa8e1
DM
70312016-08-08 David Malcolm <dmalcolm@redhat.com>
7032
7033 PR c/64955
7034 * c-common.h (selftest::c_format_c_tests): New declaration.
7035 (selftest::run_c_tests): New declaration.
7036 * c-format.c: Include "selftest.h.
7037 (format_warning_va): Add param "corrected_substring" and use
7038 it to add a replacement fix-it hint.
7039 (format_warning_at_substring): Likewise.
7040 (format_warning_at_char): Update for new param of
7041 format_warning_va.
7042 (argument_parser::check_argument_type): Pass "fki" to
7043 check_format_types.
7044 (check_format_types): Add param "fki" and pass it to
7045 format_type_warning.
7046 (deref_n_times): New function.
7047 (get_modifier_for_format_len): New function.
7048 (selftest::test_get_modifier_for_format_len): New function.
7049 (get_format_for_type): New function.
7050 (format_type_warning): Add param "fki" and use it to attempt
7051 to provide hints for argument types when calling
7052 format_warning_at_substring.
7053 (selftest::get_info): New function.
7054 (selftest::assert_format_for_type_streq): New function.
7055 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
7056 (selftest::test_get_format_for_type_printf): New function.
7057 (selftest::test_get_format_for_type_scanf): New function.
7058 (selftest::c_format_c_tests): New function.
7059
e52ed3fe
DM
70602016-08-08 David Malcolm <dmalcolm@redhat.com>
7061
7062 PR c/52952
7063 * c-format.c: Include "diagnostic.h".
7064 (location_column_from_byte_offset): Delete.
7065 (location_from_offset): Delete.
7066 (format_warning_va): New function.
7067 (format_warning_at_substring): New function.
7068 (format_warning_at_char): New function.
7069 (check_format_arg): Capture location of format_tree and pass to
7070 check_format_info_main.
7071 (argument_parser): Add fields "start_of_this_format" and
7072 "format_string_cst".
7073 (flag_chars_t::validate): Add param "format_string_cst". Convert
7074 warning_at call using location_from_offset to call to
7075 format_warning_at_char.
7076 (argument_parser::argument_parser): Add param "format_string_cst_"
7077 and use use it to initialize field "format_string_cst".
7078 Initialize new field "start_of_this_format".
7079 (argument_parser::read_format_flags): Convert warning_at call
7080 using location_from_offset to a call to format_warning_at_char.
7081 (argument_parser::read_any_format_left_precision): Likewise.
7082 (argument_parser::read_any_format_precision): Likewise.
7083 (argument_parser::read_any_other_modifier): Likewise.
7084 (argument_parser::find_format_char_info): Likewise, in three places.
7085 (argument_parser::parse_any_scan_set): Likewise, in one place.
7086 (argument_parser::handle_conversions): Likewise, in two places.
7087 (argument_parser::check_argument_type): Add param "fmt_param_loc"
7088 and use it to make a substring_loc. Pass the latter to
7089 check_format_types.
7090 (check_format_info_main): Add params "fmt_param_loc" and
7091 "format_string_cst". Convert warning_at calls using
7092 location_from_offset to calls to format_warning_at_char. Pass the
7093 new params to the arg_parser ctor. Pass "format_string_cst" to
7094 flag_chars.validate. Pass "fmt_param_loc" to
7095 arg_parser.check_argument_type.
7096 (check_format_types): Convert first param from a location_t
7097 to a const substring_loc & and rename to "fmt_loc". Attempt
7098 to extract the range of the relevant parameter and pass it
7099 to format_type_warning.
7100 (format_type_warning): Convert first param from a location_t
7101 to a const substring_loc & and rename to "fmt_loc". Add
7102 params "param_range" and "type". Replace calls to warning_at
7103 with calls to format_warning_at_substring.
7104
1c4d457e
DM
71052016-08-08 David Malcolm <dmalcolm@redhat.com>
7106
7107 * c-format.c (class flag_chars_t): New class.
7108 (struct length_modifier): New struct.
7109 (class argument_parser): New class.
7110 (flag_chars_t::flag_chars_t): New ctor.
7111 (flag_chars_t::has_char_p): New method.
7112 (flag_chars_t::add_char): New method.
7113 (flag_chars_t::validate): New method.
7114 (flag_chars_t::get_alloc_flag): New method.
7115 (flag_chars_t::assignment_suppression_p): New method.
7116 (argument_parser::argument_parser): New ctor.
7117 (argument_parser::read_any_dollar): New method.
7118 (argument_parser::read_format_flags): New method.
7119 (argument_parser::read_any_format_width): New method.
7120 (argument_parser::read_any_format_left_precision): New method.
7121 (argument_parser::read_any_format_precision): New method.
7122 (argument_parser::handle_alloc_chars): New method.
7123 (argument_parser::read_any_length_modifier): New method.
7124 (argument_parser::read_any_other_modifier): New method.
7125 (argument_parser::find_format_char_info): New method.
7126 (argument_parser::validate_flag_pairs): New method.
7127 (argument_parser::give_y2k_warnings): New method.
7128 (argument_parser::parse_any_scan_set): New method.
7129 (argument_parser::handle_conversions): New method.
7130 (argument_parser::check_argument_type): New method.
7131 (check_format_info_main): Introduce classes argument_parser
7132 and flag_chars_t, moving the code within the loop into methods
7133 of these classes. Make various locals "const".
7134
88fa5555
DM
71352016-08-05 David Malcolm <dmalcolm@redhat.com>
7136
7137 * c-common.c: Include "substring-locations.h".
7138 (get_cpp_ttype_from_string_type): New function.
7139 (g_string_concat_db): New global.
7140 (substring_loc::get_range): New method.
7141 * c-common.h (g_string_concat_db): New declaration.
7142 (class substring_loc): New class.
7143 * c-lex.c (lex_string): When concatenating strings, capture the
7144 locations of all tokens using a new obstack, and record the
7145 concatenation locations within g_string_concat_db.
7146 * c-opts.c (c_common_init_options): Construct g_string_concat_db
7147 on the ggc-heap.
7148
78169471
MP
71492016-07-29 Marek Polacek <polacek@redhat.com>
7150
638fc14f
MP
7151 PR c/71926
7152 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
7153 parentheses warning.
7154
78169471
MP
7155 PR c/71574
7156 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
7157
1225d6b1
ML
71582016-07-28 Martin Liska <mliska@suse.cz>
7159
7160 PR gcov-profile/68025
7161 * c-common.c (handle_no_profile_instrument_function_attribute):
7162
ec1e2a40
BE
71632016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
7164
7165 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
7166 BITS_PER_UNIT_LOG.
7167
5ec2cd9f
JM
71682016-07-25 Jason Merrill <jason@redhat.com>
7169
7170 PR c++/65970
7171 * c.opt (fconstexpr-loop-limit): New.
7172
9dc5773f 71732016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
7174
7175 PR c++/71675
7176 * c-common.c (resolve_overloaded_builtin): Avoid converting
7177 __atomic_compare_exchange_n return type to that of what its
7178 first argument points to.
7179
e3fe09c1
UB
71802016-07-22 Uros Bizjak <ubizjak@gmail.com>
7181
7182 * c-common.c: Use HOST_WIDE_INT_M1U instead of
7183 ~(unsigned HOST_WIDE_INT) 0.
7184
bc91c436
ML
71852016-07-22 Martin Liska <mliska@suse.cz>
7186
7187 PR gcov-profile/69028
7188 PR gcov-profile/62047
7189 * cilk.c (create_cilk_helper_decl): Set location of a new decl
7190 to the current_function_decl.
7191
451dcc66
JM
71922016-07-21 Jason Merrill <jason@redhat.com>
7193
7194 PR c++/65168
7195 * c-common.c (c_common_truthvalue_conversion): Check
7196 c_inhibit_evaluation_warnings for warning about address of
7197 reference.
7198
de6a69ee
DM
71992016-07-20 David Malcolm <dmalcolm@redhat.com>
7200
7201 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
7202 const char *.
7203
d022c55a
JM
72042016-07-15 Jason Merrill <jason@redhat.com>
7205
7206 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
7207
ddbbcb19
JJ
72082016-07-15 Jakub Jelinek <jakub@redhat.com>
7209
7210 PR c/71858
7211 * c-common.h (enum lookup_name_fuzzy_kind): Add
7212 FUZZY_LOOKUP_FUNCTION_NAME.
7213
d0cf395a
JM
72142016-07-08 Jason Merrill <jason@redhat.com>
7215
7216 P0145: Refining Expression Order for C++.
7217 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
7218 * c-opts.c: Adjust.
7219
98d44e93
MT
72202016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
7221
7222 PR c++/71214
7223 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
7224
f9d8d994
TS
72252016-06-29 Thomas Schwinge <thomas@codesourcery.com>
7226
7227 * c-pragma.h (enum pragma_kind): Rename
7228 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
7229 users.
7230
4aa83879
RB
72312016-06-29 Richard Biener <rguenther@suse.de>
7232
7233 PR middle-end/71002
7234 * c-common.c (c_common_get_alias_set): Remove union type punning case.
7235
a25bd9e6
JM
72362016-06-24 Jason Merrill <jason@redhat.com>
7237
7238 P0145R2: Refining Expression Order for C++.
7239 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
7240 MODIFY_EXPR.
7241
a86451b9
JJ
72422016-06-24 Jakub Jelinek <jakub@redhat.com>
7243
7244 * c-common.c (check_builtin_function_arguments): Require last
7245 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
7246 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
7247 if the last argument is pointer to enumerated or boolean type.
7248
1a4f11c8
DM
72492016-06-22 David Malcolm <dmalcolm@redhat.com>
7250
7251 PR c/70339
7252 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
7253 (lookup_name_fuzzy): New prototype.
7254
fe55692c
JDA
72552016-06-21 John David Anglin <danglin@gcc.gnu.org>
7256
7257 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
7258
4eb24e01
JM
72592016-06-14 Jason Merrill <jason@redhat.com>
7260
7261 P0145R2: Refining Expression Order for C++.
7262 * c.opt (fargs-in-order): New.
7263 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
7264
ef7cf206
JJ
72652016-06-13 Jakub Jelinek <jakub@redhat.com>
7266
0dda258b
JJ
7267 PR sanitizer/71498
7268 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
7269 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
7270
ef7cf206
JJ
7271 PR preprocessor/71183
7272 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
7273 to cb_get_source_date_epoch.
7274
50b15873
JJ
72752016-06-10 Jakub Jelinek <jakub@redhat.com>
7276
7277 PR c/68657
7278 * c.opt (Wpsabi): Add Warning flag.
7279
4d926e34
MS
72802016-06-10 Martin Sebor <msebor@redhat.com>
7281
7282 PR c/71392
14ec014e 7283 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
7284 the nonnull attribute in type-generic builtins.
7285
e01b4e16
MS
72862016-06-09 Martin Sebor <msebor@redhat.com>
7287
7288 PR c/70883
7289 * c-common.c (builtin_function_validate_nargs): Make text of error
7290 message consistent with others like it.
7291
44a845ca
MS
72922016-06-08 Martin Sebor <msebor@redhat.com>
7293 Jakub Jelinek <jakub@redhat.com>
7294
7295 PR c++/70507
7296 PR c/68120
7297 * c-common.c (check_builtin_function_arguments): Handle
7298 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
7299
a80a7051
RB
73002016-06-08 Richard Biener <rguenther@suse.de>
7301
7302 * c-common.c (parse_optimize_options): Improve diagnostic messages.
7303
bfd67b47
RB
73042016-06-07 Richard Biener <rguenther@suse.de>
7305
7306 PR c/61564
7307 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
7308 options and warn about others.
7309
15c98b2e
ES
73102016-06-01 Eduard Sanou <dhole@openmailbox.org>
7311
7312 * c-common.c (get_source_date_epoch): Rename to
7313 cb_get_source_date_epoch.
7314 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
7315 message when the parsing fails. Use error_at instead of fatal_error.
7316 * c-common.h (get_source_date_epoch): Rename to
7317 cb_get_source_date_epoch.
7318 * c-common.h (cb_get_source_date_epoch): Prototype.
7319 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
7320 * c-common.h (c_omp_region_type): Remove trailing comma.
7321 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
7322 * c-lex.c (c_lex_with_flags): Remove initialization of
7323 pfile->source_date_epoch.
7324
00631022
JJ
73252016-05-30 Jakub Jelinek <jakub@redhat.com>
7326
7327 PR c++/71349
7328 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
7329 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
7330 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
7331 instead of C_OMP_CLAUSE_SPLIT_FOR.
7332
f17a223d
RB
73332016-05-24 Richard Biener <rguenther@suse.de>
7334
7335 PR middle-end/70434
7336 PR c/69504
7337 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
7338 (convert_vector_to_array_for_subscript): ... this.
7339 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
7340 VIEW_CONVERT_EXPR to an array type. Rename to ...
7341 (convert_vector_to_array_for_subscript): ... this.
7342
4f2e1536
MP
73432016-05-12 Marek Polacek <polacek@redhat.com>
7344
7345 PR c/70756
7346 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
7347 size_in_bytes and pass LOC to it.
7348
d6e83a8d
MM
73492016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
7350
7351 PR c/43651
7352 * c.opt (Wduplicate-decl-specifier): New option.
7353
5c3a10fb
MP
73542016-05-11 Marek Polacek <polacek@redhat.com>
7355
7356 PR c++/71024
7357 * c-common.c (diagnose_mismatched_attributes): New function.
7358 * c-common.h (diagnose_mismatched_attributes): Declare.
7359
deef7113
MP
73602016-05-04 Marek Polacek <polacek@redhat.com>
7361
7362 * c.opt (Wdangling-else): New option.
7363
79ce98bc
MP
73642016-05-03 Marek Polacek <polacek@redhat.com>
7365
7366 PR c/70859
7367 * c-common.c (builtin_function_validate_nargs): Add location
7368 parameter. Use it.
7369 (check_builtin_function_arguments): Add location and arguments
7370 parameters. Use them.
7371 * c-common.h (check_builtin_function_arguments): Update declaration.
7372
381cdae4
RB
73732016-05-03 Richard Biener <rguenther@suse.de>
7374
7375 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
7376 allow call args to gimplify to SSA names.
7377
1d793c34
MP
73782016-05-03 Marek Polacek <polacek@redhat.com>
7379
7380 * c-common.h (enum c_omp_region_type): Remove stray comma.
7381
77886428
CP
73822016-05-02 Cesar Philippidis <cesar@codesourcery.com>
7383
7384 * c-common.h (enum c_omp_region_type): Define.
7385
697e0b28
RS
73862016-05-02 Richard Sandiford <richard.sandiford@arm.com>
7387
7388 * c-common.c (shorten_compare): Use wi::to_wide.
7389
e7ff0319
CP
73902016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7391
7392 PR middle-end/70626
7393 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
7394 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
7395 reduction clauses in acc parallel loops.
7396
2fff3db8
MP
73972016-04-29 Marek Polacek <polacek@redhat.com>
7398
7399 PR c/70852
7400 * c-common.c (warn_for_memset): Check domain before accessing it.
7401
509063eb
DV
74022016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7403
7404 PR/69089
7405 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
7406 "aligned" attribute.
7407
b632761d
JM
74082016-04-28 Jason Merrill <jason@redhat.com>
7409
7410 * c-lex.c (c_common_has_attribute): Handle nodiscard.
7411
174f6622
ES
74122016-04-28 Eduard Sanou <dhole@openmailbox.org>
7413 Matthias Klose <doko@debian.org>
7414
7415 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 7416 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
7417 handling.
7418 * c-common.h (get_source_date_epoch): Prototype.
7419 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
7420
6bc2bb18
RB
74212015-04-27 Ryan Burn <contact@rnburn.com>
7422
7423 PR c++/69024
7424 PR c++/68997
7425 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
7426 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
7427 external linkage.
7428 (cilk_detect_and_unwrap): Corresponding changes.
7429 (extract_free_variables): Don't extract free variables from
7430 AGGR_INIT_EXPR slot.
7431 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
7432 (cilk_recognize_spawn): Likewise.
7433
c1e1f433
BS
74342016-04-27 Bernd Schmidt <bschmidt@redhat.com>
7435
7436 * c.opt (Wmemset-elt-size): New option.
7437 * c-common.c (warn_for_memset): New function.
7438 * c-common.h (warn_for_memset): Declare.
7439
d067e05f
JM
74402016-04-25 Jason Merrill <jason@redhat.com>
7441
7442 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
7443 No longer static.
7444 * c-common.h: Declare it.
7445 * c-lex.c (c_common_has_attribute): Add maybe_unused.
7446
9aa36ae5
JM
74472016-04-22 Jason Merrill <jason@redhat.com>
7448
7449 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
7450
477d4906
IV
74512016-04-20 Ilya Verbin <ilya.verbin@intel.com>
7452
7453 PR c++/69363
7454 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
7455 * c-common.h (c_finish_cilk_clauses): Remove declaration.
7456
fe37c7af
MM
74572016-04-18 Michael Matz <matz@suse.de>
7458
7459 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
7460 and SET_DECL_ALIGN.
7461
23f2660f
EB
74622016-04-17 Eric Botcazou <ebotcazou@adacore.com>
7463
7464 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7465 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7466 to incomplete types.
7467 (dump_nested_type): Remove redundant tests and tidy up.
7468 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7469 a type which is the typedef of an original type.
7470
1e77281b
MP
74712016-04-15 Marek Polacek <polacek@redhat.com>
7472
7473 PR c/70651
7474 * c-common.c (build_va_arg): Change two asserts into errors and return
7475 error_mark_node.
7476
b3a77f21
MP
74772016-04-13 Marek Polacek <polacek@redhat.com>
7478
7479 PR c++/70639
7480 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7481 for switch statements, too.
7482
322b8466
JM
74832016-03-28 Jason Merrill <jason@redhat.com>
7484
7485 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7486
fbdb6baf
MP
74872016-03-23 Marek Polacek <polacek@redhat.com>
7488
7489 PR c++/69884
7490 * c.opt (Wignored-attributes): New option.
7491
5c240f4d
DM
74922016-03-22 David Malcolm <dmalcolm@redhat.com>
7493
7494 PR c/69993
7495 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7496 diagnostic text, reversing the order of the warning and note so
7497 that they appear in source order.
7498
14ba7b28
MP
74992016-03-17 Marek Polacek <polacek@redhat.com>
7500
7501 PR c/69407
7502 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7503 operations.
7504
08a1cadc
JM
75052016-03-14 Jason Merrill <jason@redhat.com>
7506
2aaeea19
JM
7507 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7508
08a1cadc
JM
7509 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7510
c06d25bb
RB
75112016-03-09 Richard Biener <rguenther@suse.de>
7512
7513 PR c/70143
7514 * c-common.c (strict_aliasing_warning): Add back
7515 alias_sets_conflict_p check.
7516
80aac5c8
JM
75172016-03-08 Jason Merrill <jason@redhat.com>
7518
7519 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7520
64b23c13
DM
75212016-03-04 David Malcolm <dmalcolm@redhat.com>
7522
7523 PR c/68187
7524 * c-indentation.c (get_visual_column): Move code to determine next
7525 tab stop to...
7526 (next_tab_stop): ...this new function.
7527 (line_contains_hash_if): Delete function.
7528 (detect_preprocessor_logic): Delete function.
7529 (get_first_nws_vis_column): New function.
7530 (detect_intervening_unindent): New function.
7531 (should_warn_for_misleading_indentation): Replace call to
7532 detect_preprocessor_logic with a call to
7533 detect_intervening_unindent.
7534
729526f5
DM
75352016-03-04 David Malcolm <dmalcolm@redhat.com>
7536
7537 PR c/68187
7538 * c-indentation.c (should_warn_for_misleading_indentation): When
7539 suppressing warnings about cases where the guard and body are on
7540 the same column, only use the first non-whitespace column in place
7541 of the guard token column when dealing with "else" clauses.
7542 When rejecting aligned BODY and NEXT, loosen the requirement
7543 from equality with the first non-whitespace of guard to simply
7544 that they not be indented relative to it.
7545
e9a35493
RB
75462016-03-04 Richard Biener <rguenther@suse.de>
7547
7548 PR c++/70054
7549 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7550 instead of alias_sets_conflict_p.
7551
1be56bc5
MP
75522016-03-01 Marek Polacek <polacek@redhat.com>
7553
7554 PR c++/69795
7555 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7556 any DECL.
7557
35886f0b
MS
75582016-02-22 Martin Sebor <msebor@redhat.com>
7559
7560 PR middle-end/69780
7561 * c-common.c (check_builtin_function_arguments): Validate and
7562 reject invalid arguments to __builtin_alloca_with_align.
7563
4246c8da
MW
75642016-02-20 Mark Wielaard <mjw@redhat.com>
7565
7566 PR c/28901
7567 * c.opt (Wunused-const-variable): Turn into Alias for...
7568 (Wunused-const-variable=): New option.
7569
268be88c
BE
75702016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7571
7572 PR c++/69865
7573 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7574 here...
7575 (c_common_init_options): ...to here.
7576 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7577
871b3f47
JJ
75782016-02-19 Jakub Jelinek <jakub@redhat.com>
7579
7580 PR c++/69826
7581 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7582 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7583 flag_preprocess_only.
7584
bf14eba2
JJ
75852016-02-16 Jakub Jelinek <jakub@redhat.com>
7586
7587 PR c/69835
7588 * c.opt (Wnonnull-compare): Enable for -Wall.
7589
ba6b3795
JJ
75902016-02-15 Jakub Jelinek <jakub@redhat.com>
7591
7592 PR c++/69797
7593 * c-common.c (sync_resolve_size): Diagnose too few arguments
7594 even when params is non-NULL empty vector.
7595
a011cd92
BS
75962016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7597
7598 PR target/60410
7599 * c.opt (fshort-double): Remove.
7600
46cb9332
MS
76012016-02-05 Martin Sebor <msebor@redhat.com>
7602
7603 PR c++/69662
7604 * c.opt (Warning options): Update -Wplacement-new to take
7605 an optional argument.
7606
e1b81f2b
JJ
76072016-02-01 Jakub Jelinek <jakub@redhat.com>
7608
7609 PR preprocessor/69543
7610 PR c/69558
7611 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7612 instead of loc to control_warning_option.
7613
b6adbb9f
NS
76142016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7615
7616 * c.opt (fopenacc-dim=): New option.
7617
5d70666e
RB
76182016-01-27 Ryan Burn <contact@rnburn.com>
7619
7620 PR cilkplus/69267
7621 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7622 gimplify_arg. Removed superfluous post_p argument.
7623 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7624 superfluous post_p argument.
7625 * c-gimplify.c (c_gimplify_expr): Likewise.
7626
01e1dea3
DM
76272016-01-26 David Malcolm <dmalcolm@redhat.com>
7628
7629 PR other/69006
7630 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7631 pp_newline_and_flush with pp_flush.
7632
9f04a53e
MS
76332016-01-20 Martin Sebor <msebor@redhat.com>
7634
7635 PR c/69405
7636 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7637 an incompatible argument when the argument isn't a valid tree node.
7638
7f26f7df
JM
76392016-01-18 Jason Merrill <jason@redhat.com>
7640
7641 PR c++/68767
7642 * c-common.c (check_function_arguments_recurse): Fold the whole
7643 COND_EXPR, not just the condition.
7644
f62bf092
TV
76452016-01-18 Tom de Vries <tom@codesourcery.com>
7646
7647 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7648 classify as loop clause.
7649
e0a575ff
JJ
76502016-01-15 Jakub Jelinek <jakub@redhat.com>
7651
7652 PR bootstrap/68271
7653 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7654 C++ FE no longer has limit on number of pragmas.
7655
76562015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7657
7658 PR c++/69048
7659 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7660 to add missing cleanup point.
b6e3db06 7661
c7df95d8
DM
76622016-01-14 David Malcolm <dmalcolm@redhat.com>
7663
7664 PR c++/68819
7665 * c-indentation.c (get_visual_column): Add location_t param.
7666 Handle the column number being zero by effectively disabling the
7667 warning, with an "inform".
7668 (should_warn_for_misleading_indentation): Add location_t argument
7669 for all uses of get_visual_column.
7670
21efdd80
PP
76712016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7672
7673 PR c++/69029
7674 * c-indentation.c (should_warn_for_misleading_indentation):
7675 Don't warn about do-while statements.
7676
7a127fa7
MS
76772016-01-07 Martin Sebor <msebor@redhat.com>
7678
7679 PR c/68966
7680 * c-common.c (sync_resolve_size): Reject first argument when it's
7681 a pointer to _Bool.
7682
c589e975
DM
76832016-01-05 David Malcolm <dmalcolm@redhat.com>
7684
7685 PR c/69122
7686 * c-indentation.c (get_visual_column): Remove default argument.
7687 (should_warn_for_misleading_indentation): For the multiline case,
7688 update call to get_visual_column for next_stmt_exploc so that it
7689 captures the location of the first non-whitespace character in the
7690 relevant line. Don't issue warnings if there is non-whitespace
7691 before the next statement.
7692
818ab71a
JJ
76932016-01-04 Jakub Jelinek <jakub@redhat.com>
7694
7695 Update copyright years.
7696
745e411d
DM
76972015-12-21 David Malcolm <dmalcolm@redhat.com>
7698
7699 * c-common.c (binary_op_error): Convert first param from
7700 location_t to rich_location * and use it when emitting an error.
7701 * c-common.h (binary_op_error): Convert first param from
7702 location_t to rich_location *.
7703
de67c4c3
DM
77042015-12-16 David Malcolm <dmalcolm@redhat.com>
7705
7706 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7707 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7708
4a38b02b
IV
77092015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7710
7711 * c-common.c (c_common_attribute_table): Handle "omp declare target
7712 link" attribute.
7713
54d62f51
JJ
77142015-12-14 Jakub Jelinek <jakub@redhat.com>
7715
7716 PR c/68833
7717 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7718
8d4227c8
TB
77192014-12-12 Tobias Burnus <burnus@net-b.de>
7720
7721 PR fortran/68815
7722 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7723 specifiers (%d, %i,%u and %c).
7724
f6069ccc
DM
77252015-12-10 David Malcolm <dmalcolm@redhat.com>
7726
7727 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7728
63bbf46d
JJ
77292015-12-08 Jakub Jelinek <jakub@redhat.com>
7730
7731 PR c/48088
7732 PR c/68657
7733 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7734 * c-pragma.c (handle_pragma_diagnostic): Adjust
7735 control_warning_option caller.
7736
f79520bb
DM
77372015-12-07 David Malcolm <dmalcolm@redhat.com>
7738
7739 * c-common.c (c_cpp_error): Update for change to
7740 rich_location::set_range.
7741
b3d5bc62
JJ
77422015-12-04 Paolo Bonzini <bonzini@gnu.org>
7743
7744 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7745 shifting 1 out of the sign bit.
7746
77472015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7748
7749 * c-common.c (c_common_attribute_table[]): Update max arguments
7750 count for "simd" attribute.
7751 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7752
6eb4a537
JJ
77532015-12-03 Jakub Jelinek <jakub@redhat.com>
7754
7755 PR preprocessor/57580
7756 * c-ppoutput.c (print): Change printed field to bool.
7757 Move src_file last for smaller padding.
7758 (init_pp_output): Set print.printed to false instead of 0.
7759 (scan_translation_unit): Fix up formatting. Set print.printed
7760 to true after printing something other than newline.
7761 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7762 (maybe_print_line_1): Set print.printed to false instead of 0.
7763 (print_line_1): Likewise.
7764 (do_line_change): Set print.printed to true instead of 1.
7765 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7766 dump_macro): Set print.printed to false after printing newline.
7767
4250754e
JM
77682015-12-02 Jason Merrill <jason@redhat.com>
7769
f479b43d
JM
7770 * c-common.c (fold_for_warn): New.
7771 (warn_logical_operator, warn_tautological_cmp)
7772 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7773
4250754e
JM
7774 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7775 (c_fully_fold_internal, decl_constant_value_for_optimization):
7776 Move to c/c-fold.c.
7777 * c-common.h: Don't declare decl_constant_value_for_optimization.
7778
e9e32ee6
JM
77792015-12-02 Joseph Myers <joseph@codesourcery.com>
7780
7781 PR c/68162
7782 * c-common.h (c_build_qualified_type): Add extra default
7783 arguments.
7784
37d5ad46
JB
77852015-12-01 Julian Brown <julian@codesourcery.com>
7786 Cesar Philippidis <cesar@codesourcery.com>
7787 James Norris <James_Norris@mentor.com>
7788
7789 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7790 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7791 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7792
f07862c7
EB
77932015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7794
7795 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7796 (decl_sloc_common): Delete and move bulk of processing to...
7797 (decl_sloc): ...here.
7798 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7799 (dump_ada_double_name): Remove S parameter and compute the suffix.
7800 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7801 element type and deal with an anonymous one.
7802 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7803 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7804 and remove reference to QUAL_UNION_TYPE.
7805 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7806 (dump_nested_type): ...here. New function extracted from above.
7807 Generate a full declaration for anonymous element type of arrays.
7808 (print_ada_declaration): Really skip anonymous declarations. Remove
7809 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7810 Clean up processing of declarations of array types and objects.
7811 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7812 Remove obsolete code and tidy up.
7813
75c8aac3
JH
78142015-11-29 Jan Hubicka <hubicka@ucw.cz>
7815
7816 PR c/67581
7817 * c-common.c (handle_transparent_union_attribute): Update
7818 also type variants.
7819
b58d3df2
ML
78202015-11-27 Martin Liska <mliska@suse.cz>
7821
7822 PR c++/68312
7823 * array-notation-common.c (cilkplus_extract_an_triplets):
7824 Release vector of vectors.
7825 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7826
89a01fcf
EB
78272015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7828
7829 PR c++/68527
7830 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7831 (print_ada_struct_decl): Likewise.
7832
cc5c5226
IZ
78332015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7834
7835 PR c++/68001
7836 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7837 * cilk.c (recognize_spawn): Determine location in a more precise
7838 way.
7839
269adb9d
JM
78402015-11-19 Jason Merrill <jason@redhat.com>
7841
7842 * c-common.c (shorten_compare): But look through macros from
7843 system headers.
7844
d0eccfcd
JM
78452015-11-18 Jason Merrill <jason@redhat.com>
7846
7847 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7848 non-constant operand comes from a macro.
7849
3e44547c
JM
78502015-11-17 Jason Merrill <jason@redhat.com>
7851
7852 PR bootstrap/68346
7853 * c-common.c (warn_tautological_cmp): Fold before checking for
7854 constants.
7855
0f62c7a0
MP
78562015-11-16 Marek Polacek <polacek@redhat.com>
7857
7858 PR c++/68362
7859 * c-common.c (check_case_bounds): Fold low and high cases.
7860
a868811e
MP
78612015-11-16 Marek Polacek <polacek@redhat.com>
7862
7863 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7864 * c-common.c (c_common_get_alias_set): Likewise.
7865 (handle_visibility_attribute): Likewise.
7866
fff77217
KY
78672015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
7868
7869 * c-common.c (handle_simd_attribute): New.
7870 (struct attribute_spec): Add entry for "simd".
7871 (handle_simd_attribute): New.
7872
269e63b7
KT
78732015-11-13 Kai Tietz <ktietz70@googlemail.com>
7874
7875 * c-lex.c (interpret_float): Use fold_convert.
7876
ebedc9a3
DM
78772015-11-13 David Malcolm <dmalcolm@redhat.com>
7878
7879 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7880 and store it on the result.
7881 * c-opts.c (c_common_init_options): Set
7882 global_dc->colorize_source_p.
7883
6e232ba4
JN
78842015-11-12 James Norris <jnorris@codesourcery.com>
7885 Joseph Myers <joseph@codesourcery.com>
7886
7365279f 7887 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7888 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7889 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7890 PRAGMA_OACC_CLAUSE_LINK.
7891
e78bede6
MP
78922015-11-11 Marek Polacek <polacek@redhat.com>
7893
7894 PR c/68107
7895 PR c++/68266
7896 * c-common.c (valid_array_size_p): New function.
7897 * c-common.h (valid_array_size_p): Declare.
7898
3f8257db 78992015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7900
7901 PR bootstrap/68271
7902 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7903
69f293c9
AM
79042015-11-11 Andrew MacLeod <amacleod@redhat.com>
7905
7906 * array-notation-common.c: Remove unused header files.
7907 * c-ada-spec.c: Likewise.
7908 * c-cilkplus.c: Likewise.
7909 * c-common.c: Likewise.
7910 * c-cppbuiltin.c: Likewise.
7911 * c-dump.c: Likewise.
7912 * c-format.c: Likewise.
7913 * c-gimplify.c: Likewise.
7914 * c-indentation.c: Likewise.
7915 * c-lex.c: Likewise.
7916 * c-omp.c: Likewise.
7917 * c-opts.c: Likewise.
7918 * c-pch.c: Likewise.
7919 * c-ppoutput.c: Likewise.
7920 * c-pragma.c: Likewise.
7921 * c-pretty-print.c: Likewise.
7922 * c-semantics.c: Likewise.
7923 * c-ubsan.c: Likewise.
7924 * cilk.c: Likewise.
7925 * stub-objc.c: Likewise.
7926
3a40d81d
NS
79272015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7928 Cesar Philippidis <cesar@codesourcery.com>
7929 James Norris <jnorris@codesourcery.com>
7930 Julian Brown <julian@codesourcery.com>
7931 Nathan Sidwell <nathan@codesourcery.com>
7932
7933 * c-pragma.c (oacc_pragmas): Add "routine".
7934 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7935
ee45a32d
EB
79362015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7937
7938 * c-common.c (c_common_attributes): Add scalar_storage_order.
7939 (handle_scalar_storage_order_attribute): New function.
7940 * c-pragma.c (global_sso): New variable.
7941 (maybe_apply_pragma_scalar_storage_order): New function.
7942 (handle_pragma_scalar_storage_order): Likewise.
7943 (init_pragma): Register scalar_storage_order.
7944 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7945 * c.opt (Wscalar-storage-order): New warning.
7946 (fsso-struct=): New option.
7947
eb11eb15
MS
79482015-11-08 Martin Sebor <msebor@redhat.com>
7949
7950 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7951
0aad0198
RS
79522015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7953
7954 * c-common.c: Don't undef DEF_BUILTIN.
7955
8a645150
DM
79562015-11-06 David Malcolm <dmalcolm@redhat.com>
7957
7958 * c-common.c (c_cpp_error): Convert parameter from location_t to
7959 rich_location *. Eliminate the "column_override" parameter and
7960 the call to diagnostic_override_column.
7961 Update the "done_lexing" clause to set range 0
7962 on the rich_location, rather than overwriting a location_t.
7963 * c-common.h (c_cpp_error): Convert parameter from location_t to
7964 rich_location *. Eliminate the "column_override" parameter.
7965
7a5e4956
CP
79662015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7967 Thomas Schwinge <thomas@codesourcery.com>
7968 James Norris <jnorris@codesourcery.com>
7969
7970 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7971 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7972 clauses with parallel and kernels and loops.
7973 * c-pragma.h (enum pragma_omp_clause): Add entries for
7974 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7975 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7976 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7977 INDEPENDENT,SEQ}.
7978 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7979
e2f5cc96
MS
79802015-11-05 Martin Sebor <msebor@redhat.com>
7981
7982 PR c++/67942
7983 * c.opt (-Wplacement-new): New option.
7984
e01d41e5
JJ
79852015-11-05 Jakub Jelinek <jakub@redhat.com>
7986
7987 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7988 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7989 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7990 save_expr or create_tmp_var* if TEST is true.
7991 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7992 Don't call add_stmt here.
7993 (struct c_omp_check_loop_iv_data): New type.
7994 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7995 c_omp_check_loop_iv_exprs): New functions.
7996 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7997 distribute.
7998 (c_omp_declare_simd_clauses_to_numbers): Change
7999 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
8000 (c_omp_declare_simd_clauses_to_decls): Similarly change those
8001 from numbers to PARM_DECLs.
8002
595278be
MM
80032015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
8004
8005 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
8006 flag_checking.
8007
3f8257db 80082015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
8009
8010 PR c++-common/67882
b3d5bc62
JJ
8011 * c-common.h (fold_offsetof_1): Add argument.
8012 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
8013 offsetof expressions that reference elements past the end of
8014 an array.
8015
4bf9e5a8
TS
80162015-11-03 Thomas Schwinge <thomas@codesourcery.com>
8017 Chung-Lin Tang <cltang@codesourcery.com>
8018
8019 * c-pragma.c (oacc_pragmas): Add "atomic".
8020 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
8021
3b1661a9
ES
80222015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
8023
8024 * c-common.c (handle_target_clones_attribute): New.
8025 (c_common_attribute_table): Add handle_target_clones_attribute.
8026 (handle_always_inline_attribute): Add check on target_clones attribute.
8027 (handle_target_attribute): Ditto.
8028
2adfab87
AM
80292015-10-29 Andrew MacLeod <amacleod@redhat.com>
8030
8031 * array-notation-common.c: Reorder #include's and remove duplicates.
8032 * c-ada-spec.c: Likewise.
8033 * c-cilkplus.c: Likewise.
8034 * c-common.c: Likewise.
8035 * c-cppbuiltin.c: Likewise.
8036 * c-dump.c: Likewise.
8037 * c-format.c: Likewise.
8038 * c-gimplify.c: Likewise.
8039 * c-indentation.c: Likewise.
8040 * c-lex.c: Likewise.
8041 * c-omp.c: Likewise.
8042 * c-opts.c: Likewise.
8043 * c-pch.c: Likewise.
8044 * c-ppoutput.c: Likewise.
8045 * c-pragma.c: Likewise.
8046 * c-pretty-print.c: Likewise.
8047 * c-semantics.c: Likewise.
8048 * c-ubsan.c: Likewise.
8049 * cilk.c: Likewise.
8050 * stub-objc.c: Likewise.
8051
d90ec4f2
JM
80522015-10-28 Jason Merrill <jason@redhat.com>
8053
8054 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
8055
88bae6f4
TS
80562015-10-27 Thomas Schwinge <thomas@codesourcery.com>
8057 James Norris <jnorris@codesourcery.com>
8058 Cesar Philippidis <cesar@codesourcery.com>
8059
8060 PR c/64765
8061 PR c/64880
8062 * c-common.h (c_oacc_split_loop_clauses): Declare function.
8063 * c-omp.c (c_oacc_split_loop_clauses): New function.
8064
b1726d6c
MS
80652015-10-21 Martin Sebor <msebor@redhat.com>
8066
8067 PR driver/68043
8068 * c.opt: End each sentence that describes an option with a period.
8069
fa60eeb9
MP
80702015-10-20 Marek Polacek <polacek@redhat.com>
8071
8072 * array-notation-common.c (is_cilkplus_vector_p): Define.
8073 * c-common.h (is_cilkplus_vector_p): Declare.
8074
95979049
MP
80752015-10-20 Marek Polacek <polacek@redhat.com>
8076
8077 * c.opt (std=gnu++11): Do not describe as experimental.
8078 (std=gnu++14): Likewise.
8079
2a9fb712
JM
80802015-10-19 Jason Merrill <jason@redhat.com>
8081
8082 * c-cppbuiltin.c (c_cpp_builtins): Define
8083 __cpp_nontype_template_args.
8084
13b380a3
JM
80852015-10-19 Jason Merrill <jason@redhat.com>
8086
8087 * c-cppbuiltin.c (c_cpp_builtins): Define
8088 __cpp_enumerator_attributes, __cpp_fold_expressions,
8089 __cpp_unicode_characters.
8090
d9a6bd32
JJ
80912015-10-13 Jakub Jelinek <jakub@redhat.com>
8092 Aldy Hernandez <aldyh@redhat.com>
8093
8094 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
8095 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
8096 (c_define_builtins): Likewise.
8097 * c-common.h (enum c_omp_clause_split): Add
8098 C_OMP_CLAUSE_SPLIT_TASKLOOP.
8099 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
8100 (c_finish_omp_for): Add ORIG_DECLV argument.
8101 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
8102 201511 instead of 201307.
8103 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
8104 OMP_CRITICAL_CLAUSES to it.
8105 (c_finish_omp_ordered): Add CLAUSES argument, set
8106 OMP_ORDERED_CLAUSES to it.
8107 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
8108 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
8109 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
8110 constructs and new OpenMP 4.5 clauses. Clear
8111 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
8112 verification code.
8113 * c-pragma.c (omp_pragmas_simd): Add taskloop.
8114 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
8115 (enum pragma_omp_clause): Add
8116 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
8117 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
8118
624d31fe
RS
81192015-10-05 Richard Sandiford <richard.sandiford@arm.com>
8120
8121 * c-lex.c (interpret_float): Use real_equal instead of
8122 REAL_VALUES_EQUAL.
8123
b8fd7909
JM
81242015-10-04 Jason Merrill <jason@redhat.com>
8125
8126 Implement N4514, C++ Extensions for Transactional Memory.
8127 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
8128 (c_common_attribute_table): Add transaction_safe_dynamic.
8129 transaction_safe now affects type identity.
8130 (handle_tm_attribute): Handle transaction_safe_dynamic.
8131 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
8132 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
8133 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
8134 (D_TRANSMEM): New.
8135 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
8136 * c-pretty-print.c (pp_c_attributes_display): Don't print
8137 transaction_safe in C++.
8138
12651878
MP
81392015-10-02 Marek Polacek <polacek@redhat.com>
8140
8141 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
8142
3e3b8d63
MP
81432015-10-02 Marek Polacek <polacek@redhat.com>
8144
8145 PR c/64249
8146 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
8147 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
8148 * c.opt (Wduplicated-cond): New option.
8149
0d1a8f75
JM
81502015-10-01 Joseph Myers <joseph@codesourcery.com>
8151
8152 * c.opt (std=c11): Do not describe as experimental.
8153 (std=gnu11): Likewise.
8154 (std=iso9899:2011): Likewise.
8155
3e32ee19
NS
81562015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8157
8158 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
8159 (DEF_FUNCTION_TYPE_VAR_11): Delete.
8160
974348ee
MP
81612015-09-25 Marek Polacek <polacek@redhat.com>
8162
8163 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
8164 (ubsan_instrument_shift): Likewise.
8165
15dbc1a6
MP
81662015-09-25 Marek Polacek <polacek@redhat.com>
8167
8168 PR sanitizer/64906
8169 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
8170
6b95d7cc
PP
81712015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
8172
8173 * c-indentation.c (should_warn_for_misleading_indentation):
8174 Compare next_stmt_vis_column with guard_line_first_nws instead
8175 of with guard_line_vis_column.
8176
c1822f9c
MLI
81772015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8178
8179 PR c/49654
8180 PR c/49655
8181 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
8182 options and options not valid for the current language.
8183
d5398058
PP
81842015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
8185
8186 * c-indentation.c (should_warn_for_misleading_indentation):
8187 Float out and consolidate the calls to get_visual_column that
8188 are passed guard_exploc as an argument. Compare
8189 next_stmt_vis_column with guard_line_first_nws instead of with
8190 body_line_first_nws.
8191
6b333269
NS
81922015-09-22 Nathan Sidwell <nathan@codesourcery.com>
8193
8194 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
8195 Wnamespaces): New C++ warnings.
8196
a75f1574
JM
81972015-09-22 Jason Merrill <jason@redhat.com>
8198
8199 * c-common.h (abi_compat_version_crosses): New.
8200 (warn_abi_version): Declare.
8201 * c-common.c: Define it.
8202 * c-opts.c (c_common_post_options): Handle it.
8203 flag_abi_compat_version defaults to 8.
8204
bdaaa8b7
VV
82052015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
8206
8207 Complete the implementation of N4230, Nested namespace definition.
8208 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
8209 __cpp_nested_namespace_definitions.
8210
eaa797e8
MLI
82112015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8212
8213 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
8214
c4914de6
MLI
82152015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
8216
8217 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
8218 when warning.
8219 * c-pragma.h (pragma_lex): Add optional loc argument.
8220
fcb87c50
MM
82212015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
8222
8223 * c-format.c (check_format_arg): Adjust to use common block size in all
8224 object pools.
8225
31bdd08a
DM
82262015-09-15 David Malcolm <dmalcolm@redhat.com>
8227
8228 * c-format.c (location_from_offset): Update for change in
8229 signature of location_get_source_line.
8230 * c-indentation.c (get_visual_column): Likewise.
8231 (line_contains_hash_if): Likewise.
8232
aa9f4b4c
MP
82332015-09-14 Marek Polacek <polacek@redhat.com>
8234
8235 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
8236 setting various warnings.
8237
aa256c4a
MP
82382015-09-14 Marek Polacek <polacek@redhat.com>
8239
8240 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
8241 a negative value.
8242
0f876f22
MW
82432015-09-11 Mark Wielaard <mjw@redhat.com>
8244
8245 PR c/28901
8246 * c.opt (Wunused-variable): Option from common.opt.
8247 (Wunused-const-variable): New option.
8248
273aa49e
PC
82492015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8250
8251 PR c++/53184
8252 * c.opt ([Wsubobject-linkage]): Add.
8253
1807ffc1
MS
82542015-09-03 Martin Sebor <msebor@redhat.com>
8255
8256 PR c/66516
8257 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
8258 functions.
8259 * c-common.c (reject_gcc_builtin): Define.
8260
38942840
BI
82612015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
8262
8263 PR middle-end/60586
8264 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
8265 prototype.
8266 * c-gimplify.c (c_gimplify_expr): Added a call to the function
8267 cilk_gimplify_call_params_in_spawned_fn.
8268 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
8269 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
8270 unwrapping.
8271
c316b5e4
MP
82722015-08-25 Marek Polacek <polacek@redhat.com>
8273
8274 PR middle-end/67330
8275 * c-common.c (handle_weak_attribute): Don't check whether the
8276 visibility can be changed here.
8277
584a7c46
MLI
82782015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8279
8280 * c-lex.c (c_lex_with_flags): Use explicit locations.
8281
a79683d5
TS
82822015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8283
8284 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
8285 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
8286
61717a45
FXC
82872015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8288
8289 PR middle-end/36757
8290 * c-common.c (check_builtin_function_arguments): Add check
8291 for BUILT_IN_SIGNBIT argument.
8292
329524f5
PC
82932015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
8294
8295 PR c++/67160
8296 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
8297 in c++1z mode.
8298
4ee55665
MP
82992015-08-17 Marek Polacek <polacek@redhat.com>
8300
8301 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
8302 with whitespaces before qualifier names.
8303
b893e375
MP
83042015-08-12 Marek Polacek <polacek@redhat.com>
8305
8306 PR c++/55095
8307 * c-common.c (maybe_warn_shift_overflow): Properly handle
8308 left-shifting 1 into the sign bit.
8309
c2d89095
MLI
83102015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8311
8312 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
8313
971e17ff
AS
83142015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
8315 Braden Obrzut <admin@maniacsvault.net>
8316 Jason Merrill <jason@redhat.com>
8317
8318 Add C++ Concepts TS support.
8319 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
8320 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
8321 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
8322 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
8323 * c-opts.c (set_std_cxx1z): Set flag_concepts.
8324 * c.opt (fconcepts): New.
8325
b3d5bc62
JJ
83262015-08-02 Martin Sebor <msebor@redhat.com>
8327
8328 * c.opt (-Wframe-address): New warning option.
8329
8ebca419
PP
83302015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8331
8332 * c-indentation.c (should_warn_for_misleading_indentation):
8333 Improve heuristics.
8334
1a1e101f
PP
83352015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8336
8337 * c-indentation.c (get_visual_column): Add parameter first_nws,
8338 use it. Update comment documenting the function.
8339 (is_first_nonwhitespace_on_line): Remove.
8340 (should_warn_for_misleading_indentation): Replace usage of
8341 of is_first_nonwhitespace_on_line with get_visual_column.
8342
992118a1
PP
83432015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8344
8345 * c-indentation.h (struct token_indent_info): Define.
8346 (get_token_indent_info): Define.
8347 (warn_for_misleading_information): Declare.
8348 * c-common.h (warn_for_misleading_information): Remove.
8349 * c-identation.c (warn_for_misleading_indentation):
8350 Change declaration to take three token_indent_infos. Adjust
8351 accordingly.
8352 * c-identation.c (should_warn_for_misleading_indentation):
8353 Likewise. Bail out early if the body is a compound statement.
8354 (guard_tinfo_to_string): Define.
8355
e8fa3817
JM
83562015-07-30 Jason Merrill <jason@redhat.com>
8357
8358 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
8359 '*' for reference decay.
8360
173864e8
MP
83612015-07-30 Marek Polacek <polacek@redhat.com>
8362
8363 * c-common.c (warn_tautological_cmp): Bail for float types.
8364
f2afe6dd
MP
83652015-07-27 Marek Polacek <polacek@redhat.com>
8366
8367 PR bootstrap/67030
8368 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
8369
05b28fd6
MP
83702015-07-27 Marek Polacek <polacek@redhat.com>
8371
8372 PR c++/66555
8373 PR c/54979
8374 * c-common.c (find_array_ref_with_const_idx_r): New function.
8375 (warn_tautological_cmp): New function.
8376 * c-common.h (warn_tautological_cmp): Declare.
8377 * c.opt (Wtautological-compare): New option.
8378
5a5062b8
MP
83792015-07-23 Marek Polacek <polacek@redhat.com>
8380
8381 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
8382 (ubsan_instrument_shift): Likewise.
8383
dc891fe7
MP
83842015-07-23 Marek Polacek <polacek@redhat.com>
8385
8386 PR sanitizer/66908
8387 * c-ubsan.c: Include gimplify.h.
8388 (ubsan_instrument_division): Unshare OP0 and OP1.
8389 (ubsan_instrument_shift): Likewise.
8390
451b5e48
MP
83912015-07-20 Marek Polacek <polacek@redhat.com>
8392 Richard Sandiford <richard.sandiford@arm.com>
8393
8394 PR c++/55095
8395 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
8396 Use EXPR_LOC_OR_LOC.
8397 (maybe_warn_shift_overflow): New function.
8398 * c-common.h (maybe_warn_shift_overflow): Declare.
8399 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
8400 * c.opt (Wshift-overflow): New option.
8401
fb0b2914
ML
84022015-07-16 Martin Liska <mliska@suse.cz>
8403
8404 * c-format.c (static void check_format_info_main): Use
8405 object_allocator instead of pool_allocator.
8406 (check_format_arg): Likewise.
8407 (check_format_info_main): Likewise.
8408
903f5c23
AM
84092015-07-15 Andrew MacLeod <amacleod@redhat.com>
8410
8411 * c-opts.c: Remove multiline #include comment.
8412
026c3cfd
AH
84132015-07-12 Aldy Hernandez <aldyh@redhat.com>
8414
8415 * c-common.c: Fix double word typos.
8416
bb49ee66
EB
84172015-07-10 Eric Botcazou <ebotcazou@adacore.com>
8418
8419 * c-ada-spec.h (cpp_operation): Revert latest change.
8420 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
8421 constructors and destructors.
8422
1916bcb5
AM
84232015-07-09 Andrew MacLeod <amacleod@redhat.com>
8424
8425 * c-common.h: Adjust includes for flags.h changes.
8426 * stub-objc.c: Likewise.
026c3cfd 8427
a9dcd529
EB
84282015-07-08 Eric Botcazou <ebotcazou@adacore.com>
8429
8430 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
8431 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
8432
b03b462f
JJ
84332015-07-08 Jakub Jelinek <jakub@redhat.com>
8434
8435 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
8436 are to be removed, return NULL rather than original clauses list.
8437
c7131fb2
AM
84382015-07-07 Andrew MacLeod <amacleod@redhat.com>
8439
8440 * array-notation-common.c: Adjust includes.
8441 * c-ada-spec.c: Likewise.
8442 * c-cilkplus.c: Likewise.
8443 * c-common.h: Likewise.
8444 * c-cppbuiltin.c: Likewise.
8445 * c-dump.c: Likewise.
8446 * c-format.c: Likewise.
8447 * c-gimplify.c: Likewise.
8448 * c-indentation.c: Likewise.
8449 * c-lex.c: Likewise.
8450 * c-omp.c: Likewise.
8451 * c-opts.c: Likewise.
8452 * c-pch.c: Likewise.
8453 * c-ppoutput.c: Likewise.
8454 * c-pragma.c: Likewise.
8455 * c-pretty-print.c: Likewise.
8456 * c-semantics.c: Likewise.
8457 * c-ubsan.c: Likewise.
8458 * cilk.c: Likewise.
8459 * stub-objc.c: Likewise.
8460
2a7fb83f
EB
84612015-07-07 Eric Botcazou <ebotcazou@adacore.com>
8462
8463 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
8464 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8465
a03c9bf1
JM
84662015-07-01 Jason Merrill <jason@redhat.com>
8467
36a85135
JM
8468 * c-common.h (D_CXX11): Rename from D_CXX0X.
8469 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8470 * c-common.c: Adjust.
8471
e7fa68d5
JM
8472 * c-opts.c (c_common_post_options): Default to C++14.
8473
a03c9bf1
JM
8474 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8475
fe95b036
ESR
84762015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8477
8478 Implement N4197 - Adding u8 character literals
b3d5bc62 8479 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8480 CPP_CHAR.
b3d5bc62 8481 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8482 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8483 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8484 and CPP_UTF8CHAR tokens.
8485 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8486
da2e71c9
MLI
84872015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8488
8489 PR fortran/66605
8490 * c-common.c (do_warn_unused_parameter): Move here.
8491 * c-common.h (do_warn_unused_parameter): Declare.
8492
b155cfd9
MP
84932015-06-29 Marek Polacek <polacek@redhat.com>
8494
8495 PR c/66322
8496 * c-common.c (check_case_bounds): Add bool * parameter. Set
8497 OUTSIDE_RANGE_P.
8498 (c_add_case_label): Add bool * parameter. Pass it down to
8499 check_case_bounds.
8500 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8501 warning here.
8502 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8503 declarations.
8504
31521951
MP
85052015-06-27 Marek Polacek <polacek@redhat.com>
8506
8507 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8508 or VECTOR_INTEGER_TYPE_P throughout.
8509 * c-gimplify.c: Likewise.
8510
22d03525
MP
85112015-06-26 Marek Polacek <polacek@redhat.com>
8512
8513 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8514 * c-common.c (c_fully_fold_internal): Likewise.
8515 (c_alignof_expr): Likewise.
8516 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8517 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8518 * cilk.c (create_parm_list): Likewise.
22d03525 8519
af05e6e5
MP
85202015-06-26 Marek Polacek <polacek@redhat.com>
8521
8522 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8523
f0889939
AM
85242015-06-25 Andrew MacLeod <amacleod@redhat.com>
8525
8526 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8527 * c-gimplify.c: Likewise.
8528 * c-pragma.c: Likewise.
8529 * c-ubsan.c: Likewise.
8530 * cilk.c: Likewise.
8531
ca752f39
RS
85322015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8533
8534 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8535 ggc_hasher.
8536
16a16ec7
AM
85372015-06-25 Andrew MacLeod <amacleod@redhat.com>
8538
8539 * cilk.c: Move calls.h after tm.h in the include chain.
8540
0ae9bd27
MP
85412015-06-25 Marek Polacek <polacek@redhat.com>
8542
8543 * array-notation-common.c: Use VAR_P throughout.
8544 * c-ada-spec.c: Likewise.
8545 * c-common.c: Likewise.
8546 * c-format.c: Likewise.
8547 * c-gimplify.c: Likewise.
8548 * c-omp.c: Likewise.
8549 * c-pragma.c: Likewise.
8550 * c-pretty-print.c: Likewise.
8551 * cilk.c: Likewise.
8552
62f9079a
MP
85532015-06-25 Marek Polacek <polacek@redhat.com>
8554
8555 * cilk.c (extract_free_variables): Use is_global_var.
8556
0fa16060
RS
85572015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8558
8559 * c-common.c: Don't include target-def.h.
8560
a68ae2e1
MP
85612015-06-23 Marek Polacek <polacek@redhat.com>
8562
8563 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8564 when comparing INTEGER_CSTs.
8565
c6a2f2d9
PMR
85662015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8567
8568 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8569 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8570 (dump_ada_template): Skip partially specialized types.
8571
6b4db501
MM
85722015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8573
8574 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8575 swapping.
8576
abb226c9
AM
85772015-06-17 Andrew MacLeod <amacleod@redhat.com>
8578
8579 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8580 * c-ada-spec.c: Likewise.
8581 * c-cilkplus.c: Likewise.
8582 * c-common.c: Likewise.
8583 * c-common.h: Likewise.
8584 * c-cppbuiltin.c: Likewise.
8585 * c-dump.c: Likewise.
8586 * c-format.c: Likewise.
8587 * c-gimplify.c: Likewise.
8588 * c-indentation.c: Likewise.
8589 * c-lex.c: Likewise.
8590 * c-omp.c: Likewise.
8591 * c-opts.c: Likewise.
8592 * c-pch.c: Likewise.
8593 * c-ppoutput.c: Likewise.
8594 * c-pragma.c: Likewise.
8595 * c-pretty-print.c: Likewise.
8596 * c-semantics.c: Likewise.
8597 * c-ubsan.c: Likewise.
8598 * cilk.c: Likewise.
8599 * stub-objc.c: Likewise.
8600
076fecad
PP
86012015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8602
8603 PR c++/65168
8604 * c-common.c (c_common_truthvalue_conversion): Warn when
8605 converting an address of a reference to a truth value.
8606
13fdf2e2
AM
86072015-06-08 Andrew MacLeod <amacleod@redhat.com>
8608
8609 * array-notation-common.c : Adjust include files.
8610 * c-ada-spec.c : Likewise.
8611 * c-cilkplus.c : Likewise.
8612 * c-common.c : Likewise.
8613 * c-common.h : Likewise.
8614 * c-cppbuiltin.c : Likewise.
8615 * c-dump.c : Likewise.
8616 * c-format.c : Likewise.
8617 * c-gimplify.c : Likewise.
8618 * c-indentation.c : Likewise.
8619 * c-lex.c : Likewise.
8620 * c-omp.c : Likewise.
8621 * c-opts.c : Likewise.
8622 * c-pch.c : Likewise.
8623 * c-ppoutput.c : Likewise.
8624 * c-pragma.c : Likewise.
8625 * c-pretty-print.c : Likewise.
8626 * c-semantics.c : Likewise.
8627 * c-ubsan.c : Likewise.
8628 * cilk.c : Likewise.
8629 * stub-objc.c : Likewise.
8630
a1661b90
MP
86312015-06-08 Marek Polacek <polacek@redhat.com>
8632
8633 PR c/66415
8634 * c-format.c (location_from_offset): Return LOC if LINE is null.
8635
d7438551
AH
86362015-06-05 Aldy Hernandez <aldyh@redhat.com>
8637
8638 * c-common.h (c_parse_final_cleanups): New prototype.
8639 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8640
b3d5bc62
JJ
86412015-06-04 Sriraman Tallam <tmsriram@google.com>
8642
8643 * c-common.c (noplt): New attribute.
8644 (handle_noplt_attribute): New handler.
8645
ecb9f223
AM
86462015-06-04 Andrew MacLeod <amacleod@redhat.com>
8647
8648 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8649 * c-ada-spec.c: Likewise.
8650 * c-cilkplus.c: Likewise.
8651 * c-common.c: Likewise.
8652 * c-common.h: Likewise.
8653 * c-cppbuiltin.c: Likewise.
8654 * c-dump.c: Likewise.
8655 * c-format.c: Likewise.
8656 * c-gimplify.c: Likewise.
8657 * c-indentation.c: Likewise.
8658 * c-lex.c: Likewise.
8659 * c-omp.c: Likewise.
8660 * c-opts.c: Likewise.
8661 * c-pch.c: Likewise.
8662 * c-ppoutput.c: Likewise.
8663 * c-pragma.c: Likewise.
8664 * c-pretty-print.c: Likewise.
8665 * c-semantics.c: Likewise.
8666 * c-ubsan.c: Likewise.
8667 * cilk.c: Likewise.
8668 * stub-objc.c: Likewise.
8669
6ac48155
DM
86702015-06-02 David Malcolm <dmalcolm@redhat.com>
8671
8672 PR c/66220:
8673 * c-indentation.c (should_warn_for_misleading_indentation): Use
8674 expand_location rather than expand_location_to_spelling_point.
8675 Don't warn if the guarding statement is more indented than the
8676 next/body stmts.
8677
773ce42e
DM
86782015-06-02 David Malcolm <dmalcolm@redhat.com>
8679
8680 * c-indentation.c (warn_for_misleading_indentation): Bail out
8681 immediately if -Wmisleading-indentation isn't enabled.
8682
4fef8379
ML
86832015-06-01 Martin Liska <mliska@suse.cz>
8684
8685 * c-format.c (check_format_arg):Use new type-based pool allocator.
8686 (check_format_info_main) Likewise.
8687
1edfb384
EB
86882015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8689
8690 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8691 (has_nontrivial_methods): Likewise.
8692
9677ef52
MP
86932015-05-25 Marek Polacek <polacek@redhat.com>
8694
8695 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8696
fd5c817a
MP
86972015-05-22 Marek Polacek <polacek@redhat.com>
8698
8699 PR c/47043
8700 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8701
a2f45fe6 87022015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8703
8704 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8705 STACK_GROWS_DOWNWARD.
8706
a2f45fe6 87072015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8708
8709 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8710 STACK_GROWS_DOWNWARD rather than if it is defined.
8711
0fee2ac2 87122015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8713
0fee2ac2
MLI
8714 PR c/52952
8715 * c-format.c (location_column_from_byte_offset): New.
8716 (location_from_offset): New.
8717 (struct format_wanted_type): Add offset_loc field.
8718 (check_format_info): Move handling of location for extra arguments
8719 closer to the point of warning.
8720 (check_format_info_main): Pass the result of location_from_offset
8721 to warning_at.
8722 (format_type_warning): Pass the result of location_from_offset
8723 to warning_at.
8724
cf4ef6f7
MP
87252015-05-20 Marek Polacek <polacek@redhat.com>
8726
8727 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8728
3a65ee74
MP
87292015-05-20 Marek Polacek <polacek@redhat.com>
8730
8731 * c-ada-spec.c (dump_sloc): Use DECL_P.
8732
21b634ae
MP
87332015-05-20 Marek Polacek <polacek@redhat.com>
8734
8735 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8736 * c-common.c: Likewise.
8737
0e50b624
DM
87382015-05-19 David Malcolm <dmalcolm@redhat.com>
8739
8740 * c-common.h (fe_file_change): Strengthen param from
8741 const line_map * to const line_map_ordinary *.
8742 (pp_file_change): Likewise.
8743 * c-lex.c (fe_file_change): Likewise.
8744 (cb_define): Use linemap_check_ordinary when invoking
8745 SOURCE_LINE.
8746 (cb_undef): Likewise.
8747 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8748 invoking cb_file_change.
8749 (c_finish_options): Likewise.
8750 (push_command_line_include): Likewise.
8751 (cb_file_change): Strengthen param "new_map" from
8752 const line_map * to const line_map_ordinary *.
8753 * c-ppoutput.c (cb_define): Likewise for local "map".
8754 (pp_file_change): Likewise for param "map" and local "from".
8755
fab27f52
MM
87562015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8757
8758 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8759
2fe1d762
TV
87602015-05-18 Tom de Vries <tom@codesourcery.com>
8761
8762 * c-common.c (build_va_arg_1): New function.
8763 (build_va_arg): Add address operator to va_list operand if necessary.
8764
7a37fa90
MM
87652015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8766
8767 PR c/48956
8768 * c-common.c (int_safely_convertible_to_real_p): Define.
8769 (unsafe_conversion_p): Check conversions involving complex types.
8770 (conversion_warning): Add new warning message for conversions which
8771 discard imaginary component.
8772 * c-common.h: (enum conversion_safety): Add new enumerator for such
8773 conversions.
8774
3aa3c9fc
MP
87752015-05-14 Marek Polacek <polacek@redhat.com>
8776
8777 PR c/66066
8778 PR c/66127
8779 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8780 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8781 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8782 use it. If FOR_INT_CONST, require that all evaluated operands be
8783 INTEGER_CSTs.
8784
c3388e62
DM
87852015-05-12 David Malcolm <dmalcolm@redhat.com>
8786
8787 * c-common.h (warn_for_misleading_indentation): New prototype.
8788 * c-indentation.c: New file.
8789 * c.opt (Wmisleading-indentation): New option.
8790
c7b38fd5
TV
87912015-05-12 Tom de Vries <tom@codesourcery.com>
8792
8793 PR tree-optimization/66010
8794 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8795
381bf11e
JM
87962015-05-09 Jason Merrill <jason@redhat.com>
8797
edff0c06
JM
8798 * c-opts.c (c_common_post_options): Also clear
8799 cpp_opts->cpp_warn_cxx11_compat.
8800
129211bc
JM
8801 * c-common.h (enum cxx_dialect): Add cxx_unset.
8802 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8803 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8804
381bf11e
JM
8805 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8806 (std=gnu++0x): Mark as Undocumented.
8807 (std=gnu++1y): Add deprecated message.
8808
fe191308
JM
88092015-05-08 Jason Merrill <jason@redhat.com>
8810
765189ff
JM
8811 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8812 * c-opts.c: Adjust.
8813
fe191308
JM
8814 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8815
755e528f
MP
88162015-05-08 Marek Polacek <polacek@redhat.com>
8817
8818 PR c/64918
8819 * c.opt (Woverride-init-side-effects): New option.
8820
0173bd2a
MP
88212015-05-07 Marek Polacek <polacek@redhat.com>
8822
8823 PR c/65179
8824 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8825 negative value.
8826 * c.opt (Wshift-negative-value): New option.
8827 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8828 when -Wextra and C99/C++11 mode.
8829
e0f0d3b9
MP
88302015-05-07 Marek Polacek <polacek@redhat.com>
8831 Martin Uecker <uecker@eecs.berkeley.edu>
8832
8833 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8834 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8835
8243e2a9
JM
88362015-05-05 Jason Merrill <jason@redhat.com>
8837
8838 * c.opt (Wterminate): New.
8839
577cd070
MP
88402015-04-30 Marek Polacek <polacek@redhat.com>
8841
8842 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8843 require that the non-constant be of a boolean type.
8844
0373796b
JT
88452015-04-29 Josh Triplett <josh@joshtriplett.org>
8846
e0f0d3b9
MP
8847 * c-common.c (handle_section_attribute): Refactor to reduce
8848 nesting and distinguish between error cases.
0373796b 8849
716c0ba6
MP
88502015-04-29 Marek Polacek <polacek@redhat.com>
8851
8852 PR c/64610
8853 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8854 with 0/1.
8855
8848828b
JJ
88562015-04-29 Jakub Jelinek <jakub@redhat.com>
8857
8858 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8859 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8860 HOST_BITS_PER_WIDE_INT.
8861
ecd0e562
TV
88622015-04-28 Tom de Vries <tom@codesourcery.com>
8863
8864 PR tree-optimization/65887
8865 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8866
2a877204 88672015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 8868 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
8869
8870 * c-ada-spec.c (in_function): Delete.
8871 (dump_generic_ada_node): Do not change in_function and remove the
8872 redundant code dealing with it.
8873 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
8874 (print_ada_methods): Output the static member functions in a nested
8875 package after the regular methods as well as associated renamings.
8876
4853031e
MP
88772015-04-24 Marek Polacek <polacek@redhat.com>
8878
8879 PR c/65830
8880 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8881 and OPT_Wshift_count_overflow.
8882
8c2b7f79
MP
8883 PR c/63357
8884 * c-common.c (warn_logical_operator): Warn if the operands have the
8885 same expressions.
8886
b8787813
MP
88872015-04-24 Marek Polacek <polacek@redhat.com>
8888
8889 PR c/61534
8890 * c-common.c (warn_logical_operator): Bail if either operand comes
8891 from a macro expansion.
8892
8fba1830
BRF
88932015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8894
8895 PR target/55143
8896 * c-common.c (c_default_pointer_mode): Add definition.
8897 * c-common.h (c_default_pointer_mode): Add declaration.
8898
17958621
JJ
88992015-03-11 Jakub Jelinek <jakub@redhat.com>
8900
8901 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8902 on record_builtin_type argument.
8903
7ccb1a11
JJ
89042015-03-10 Jakub Jelinek <jakub@redhat.com>
8905
8906 PR c/65120
8907 * c-common.c (warn_logical_not_parentheses): Don't warn for
8908 !x == 0 or !x != 0.
8909
04fd785e
MP
89102015-03-07 Marek Polacek <polacek@redhat.com>
8911
8912 PR sanitizer/65280
8913 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8914 before trying to figure out whether we have a flexible array member.
8915
a4e26206 89162015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8917 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8918
8919 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8920
0d2489f4
EB
89212015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8922
8923 PR ada/65319
8924 * c-ada-spec.c (print_destructor): Remove obsolete code.
8925
83ed54d7
EB
89262015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8927
8928 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8929 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8930 DECL_TEMPLATE_RESULT emulations.
8931 (dump_ada_template)): Add guard for TYPE_METHODS.
8932
7631f0e2
MP
89332015-02-27 Marek Polacek <polacek@redhat.com>
8934
8935 PR c/65040
8936 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8937
d1783ae5
KT
89382015-02-27 Kai Tietz <ktietz@redhat.com>
8939
8940 PR c/35330
8941 * c-pragma.c (handle_pragma_weak): Do not try to create
8942 weak/alias of declarations not being function, or variable
8943 declarations.
8944
56a9f6bc
TS
89452015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8946
8947 PR libgomp/64625
8948 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8949 Remove macros.
8950 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8951
3d5cb23d
MP
89522015-02-16 Marek Polacek <polacek@redhat.com>
8953
8954 PR c/65066
8955 * c-format.c (check_format_types): Handle null param.
8956
fa008882
MP
89572015-02-13 Marek Polacek <polacek@redhat.com>
8958
8959 PR c/65040
8960 * c-format.c (check_format_types): Don't warn about different
8961 signedness if the original value is in the range of WANTED_TYPE.
8962
785f21af
JM
89632015-02-12 Jason Merrill <jason@redhat.com>
8964
8965 PR c++/64956
8966 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8967 to the current highest version.
8968 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8969
4886ec8e
JJ
89702015-02-04 Jakub Jelinek <jakub@redhat.com>
8971
8972 PR c/64824
8973 PR c/64868
8974 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8975 instead of RDIV_EXPR. Use build_binary_op instead of
8976 build2_loc.
8977
40fecdd6
JM
89782015-01-30 Joseph Myers <joseph@codesourcery.com>
8979
8980 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8981 to pass input_location as first argument.
8982
a0c88d06
TV
89832015-01-23 Tom de Vries <tom@codesourcery.com>
8984
8985 PR libgomp/64672
8986 * c.opt (fopenacc): Mark as LTO option.
8987
1506ae0e
TV
89882015-01-23 Tom de Vries <tom@codesourcery.com>
8989
8990 PR libgomp/64707
8991 * c.opt (fopenmp): Mark as LTO option.
8992
31be63ab
JJ
89932015-01-21 Jakub Jelinek <jakub@redhat.com>
8994
8995 PR c/63307
b1726d6c 8996 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8997 (compare_decls): Fix up formatting.
8998
89992015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
9000
9001 PR c/63307
9002 * cilk.c: Include vec.h.
9003 (struct cilk_decls): New structure.
9004 (wrapper_parm_cb): Split this function to...
9005 (fill_decls_vec): ...this...
9006 (create_parm_list): ...and this.
9007 (compare_decls): New function.
9008 (for_local_cb): Remove.
9009 (wrapper_local_cb): Ditto.
9010 (build_wrapper_type): For now first traverse and fill vector of
9011 declarations then sort it and then deal with sorted vector.
9012 (cilk_outline): Ditto.
9013 (declare_one_free_variable): Ditto.
9014
6875457f
JM
90152015-01-21 Jason Merrill <jason@redhat.com>
9016
9017 PR c++/64629
9018 * c-format.c (check_format_arg): Call decl_constant_value.
9019
185c9e56
ML
90202015-01-19 Martin Liska <mliska@suse.cz>
9021
9022 * c-common.c (handle_noicf_attribute): New function.
9023
41dbbb37
TS
90242015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9025 Bernd Schmidt <bernds@codesourcery.com>
9026 James Norris <jnorris@codesourcery.com>
9027 Cesar Philippidis <cesar@codesourcery.com>
9028 Ilmir Usmanov <i.usmanov@samsung.com>
9029 Jakub Jelinek <jakub@redhat.com>
9030
9031 * c.opt (fopenacc): New option.
9032 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
9033 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
9034 New macros.
9035 * c-common.h (c_finish_oacc_wait): New prototype.
9036 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
9037 (c_finish_oacc_wait): New function.
9038 * c-pragma.c (oacc_pragmas): New variable.
9039 (c_pp_lookup_pragma, init_pragma): Handle it.
9040 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
9041 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
9042 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
9043 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
9044 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
9045 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
9046 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
9047 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
9048 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
9049 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
9050 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
9051 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
9052 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
9053 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
9054 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
9055 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
9056 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
9057 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
9058 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
9059 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
9060 PRAGMA_OACC_CLAUSE_WORKER.
9061
3f8257db 90622015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
9063
9064 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
9065 for the new option fstack-protector_explicit.
9066 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
9067 (handle_stack_protect_attribute): New function.
9068
3f8257db 90692015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
9070
9071 * c.opt: New option -Warray-bounds=.
9072
adfac8df
JJ
90732015-01-09 Michael Collison <michael.collison@linaro.org>
9074
9075 * array-notation-common.c: Include hash-set.h, machmode.h,
9076 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9077 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
9078 * c-ada-spec.c: Ditto.
9079 * c-cilkplus.c: Ditto.
9080 * c-common.c: Include input.h due to flattening of tree.h.
9081 Define macro GCC_C_COMMON_C.
9082 * c-common.h: Flatten tree.h header files into c-common.h.
9083 Remove include of tree-core.h.
9084 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9085 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9086 fold-const.h, wide-int.h, and inchash.h due to
9087 flattening of tree.h.
9088 * c-dump.c: Ditto.
9089 * c-format.c: Flatten tree.h header files into c-common.h.
9090 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
9091 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9092 fold-const.h, wide-int.h, and inchash.h due to
9093 flattening of tree.h.
9094 * c-dump.c: Include hash-set.h, machmode.h,
9095 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9096 fold-const.h, wide-int.h, and inchash.h due to
9097 flattening of tree.h.
9098 * c-format.c: Include hash-set.h, machmode.h,
9099 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9100 fold-const.h, wide-int.h, inchash.h and real.h due to
9101 flattening of tree.h.
9102 * c-gimplify.c: Include hash-set.h, machmode.h,
9103 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
9104 fold-const.h, wide-int.h, and inchash.h due to
9105 flattening of tree.h.
9106 * cilk.c: Ditto.
9107 * c-lex.c: Ditto.
9108 * c-omp.c: Ditto.
9109 * c-opts.c: Ditto.
9110 * c-pch.c: Ditto.
9111 * c-ppoutput.c: Ditto.
9112 * c-pragma.c: Ditto.
9113 * c-pretty-print.c: Ditto.
9114 * c-semantics.c: Ditto.
9115 * c-ubsan.c: Ditto.
9116 * stub-objc.c: Ditto.
9117
f5481fc4
JM
91182015-01-08 Jason Merrill <jason@redhat.com>
9119
9120 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
9121 do_ubsan_in_current_function.
9122 (ubsan_maybe_instrument_reference_or_call): Likewise.
9123 * c-ubsan.h: Declare it.
9124
de35aa66
MS
91252015-01-08 Mike Stump <mikestump@comcast.net>
9126
9127 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
9128
4a9a42ab
MP
91292015-01-07 Marek Polacek <polacek@redhat.com>
9130
9131 PR c/64440
9132 * c-common.c (c_fully_fold_internal): Warn for division and modulo
9133 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
9134
2f42e5de
TS
91352015-01-05 Trevor Saunders <tsaunders@mozilla.com>
9136
9137 PR c++/31397
9138 * c.opt (Wsuggest-override): New option.
9139
5624e564
JJ
91402015-01-05 Jakub Jelinek <jakub@redhat.com>
9141
9142 Update copyright years.
9143
5bd012f8
MP
91442015-01-05 Marek Polacek <polacek@redhat.com>
9145
9146 PR c/64423
9147 * c-common.c (warn_array_subscript_with_type_char): Add location_t
9148 parameter. Use it.
9149 * c-common.h (warn_array_subscript_with_type_char): Update
9150 declaration.
9151
a7fa8d18
ESR
91522014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
9153
9154 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
9155 Control macro with flag_sized_deallocation.
9156
3f8257db 91572014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
9158
9159 * c.opt (Wdiscarded-array-qualifiers): New option.
9160
1f8d3e84
JJ
91612014-12-19 Jakub Jelinek <jakub@redhat.com>
9162
9163 PR preprocessor/63831
9164 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
9165 and __has_cpp_attribute here.
9166 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
9167 c_common_has_attribute.
9168 * c-common.h (c_common_has_attribute): New prototype.
9169 * c-lex.c (init_c_lex): Set cb->has_attribute to
9170 c_common_has_attribute instead of cb_has_attribute.
9171 (get_token_no_padding): New function.
9172 (cb_has_attribute): Renamed to ...
9173 (c_common_has_attribute): ... this. No longer static. Use
9174 get_token_no_padding, require ()s, don't build TREE_LIST
9175 unnecessarily, fix up formatting, adjust diagnostics, call
9176 init_attributes.
9177
20b06add
JM
91782014-12-15 Jason Merrill <jason@redhat.com>
9179
9180 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
9181 (-Wsized-deallocation): New.
9182 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
9183 to on in C++14 and up.
9184
94a073b2
JM
91852014-12-11 Jason Merrill <jason@redhat.com>
9186
acaa5911
JM
9187 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
9188
94a073b2
JM
9189 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
9190 we aren't complaining about VLAs.
9191
7fb66c15
MP
91922014-12-06 Marek Polacek <polacek@redhat.com>
9193
9194 PR tree-optimization/64183
9195 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
9196 shift-expression if it is integer_type_node. Use types_compatible_p.
9197
b731b390
JJ
91982014-11-29 Jakub Jelinek <jakub@redhat.com>
9199
9200 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
9201 last argument from create_tmp_var_raw and create_tmp_var calls.
9202 * cilk.c (gimplify_cilk_spawn): Likewise.
9203 * c-omp.c (c_finish_omp_atomic): Likewise.
9204
6a4da643
MP
92052014-11-28 Marek Polacek <polacek@redhat.com>
9206
9207 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
9208 instead of unsigned_type_node.
9209
541e35a6
MP
92102014-11-28 Marek Polacek <polacek@redhat.com>
9211
9212 PR c/63862
9213 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
9214 to op1_utype.
9215 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
9216 expression to unsigned_type_node.
9217
dcc97066
MW
92182014-11-20 Mark Wielaard <mjw@redhat.com>
9219
9220 PR debug/38757
9221 * c-opts.c (set_std_c89): Set lang_hooks.name.
9222 (set_std_c99): Likewise.
9223 (set_std_c11): Likewise.
9224 (set_std_cxx98): Likewise.
9225 (set_std_cxx11): Likewise.
9226 (set_std_cxx14): Likewise.
9227 (set_std_cxx1z): Likewise.
9228
aa7da51a
JJ
92292014-11-21 Jakub Jelinek <jakub@redhat.com>
9230
9231 PR target/63764
9232 * c-common.h (convert_vector_to_pointer_for_subscript): Change
9233 return type to bool.
009a3480 9234 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
9235 (convert_vector_to_pointer_for_subscript): Change return type to
9236 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
9237 and copy it into a TARGET_EXPR and use that instead of *vecp
9238 directly.
9239
538dd0b7
DM
92402014-11-19 David Malcolm <dmalcolm@redhat.com>
9241
9242 Merger of git branch "gimple-classes-v2-option-3".
9243 * ChangeLog.gimple-classes: New.
9244 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
9245 from being just a vec<gimple> to a vec<gbind *>.
9246
c39a5e99
JJ
92472014-11-18 Jakub Jelinek <jakub@redhat.com>
9248
9249 PR sanitizer/63813
9250 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
9251 argument to ptype, set type to TREE_TYPE (ptype). Don't call
9252 get_pointer_alignment for non-pointers. Use ptype, or if it is
9253 reference type, corresponding pointer type, as type of kind
9254 argument.
9255 (ubsan_maybe_instrument_reference,
9256 ubsan_maybe_instrument_member_call): Adjust callers.
9257
8537a4a9
MP
92582014-11-15 Marek Polacek <polacek@redhat.com>
9259
9260 PR middle-end/63884
9261 * array-notation-common.c (is_sec_implicit_index_fn): Return false
9262 for NULL fndecl.
9263 (extract_array_notation_exprs): Return for NULL node.
9264
2079956a
JM
92652014-11-12 Joseph Myers <joseph@codesourcery.com>
9266
9267 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
9268 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
9269
1304953e
JJ
92702014-11-12 Jakub Jelinek <jakub@redhat.com>
9271
9272 PR c/59708
9273 * c-common.c (check_builtin_function_arguments): Handle
9274 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
9275
e5e44252
AK
92762014-11-10 Andi Kleen <ak@linux.intel.com>
9277
9278 PR c/60804
9279 * c-common.h (check_no_cilk): Declare.
9280 * cilk.c (get_error_location): New function.
9281 (check_no_cilk): Dito.
9282
e64b984d
AK
92832014-11-10 Andi Kleen <ak@linux.intel.com>
9284
9285 * cilk.c (recognize_spawn): Use expression location
9286 for error message.
9287
13c21655
PC
92882014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
9289
9290 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
9291
42fd12b1
ESR
92922014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
9293
9294 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
9295 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9296 (__cpp_range_based_for, __cpp_initializer_lists,
9297 __cpp_delegating_constructors, __cpp_nsdmi,
9298 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
9299 for C++11; (__cpp_attribute_deprecated): Remove in favor of
9300 __has_cpp_attribute.
9301 * c-lex.c (cb_has_attribute): New callback CPP function;
9302 (init_c_lex): Set has_attribute callback.
9303
6f450181
RB
93042014-11-04 Richard Biener <rguenther@suse.de>
9305
9306 * c-common.c (shorten_compare): Do not shorten mixed
9307 DFP and non-DFP compares.
9308
26f0e1d6
ESR
93092014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9310
9311 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
9312 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
9313 Commentary and rearrangement of tests.
9314 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
9315 Commentary and rearrangement of tests.
ab20d992 9316 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
9317 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
9318
ef4bddc2
RS
93192014-10-29 Richard Sandiford <richard.sandiford@arm.com>
9320
9321 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
9322 enum from machine_mode.
9323
c582198b
AM
93242014-10-28 Andrew MacLeod <amacleod@redhat.com>
9325
adfac8df
JJ
9326 * c-common.c: Adjust include files.
9327 * c-gimplify.c: Ditto.
9328 * cilk.c: Ditto.
9329 * c-pragma.c: Ditto.
9330 * c-ubsan.c: Ditto.
c582198b 9331
60393bbc
AM
93322014-10-27 Andrew MacLeod <amacleod@redhat.com>
9333
9334 * c-gimplify.c: Adjust include files.
9335
d723bb7c
MLI
93362014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
9337
9338 PR c++/53061
9339 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
9340 c_common_initialize_diagnostics.
9341 * c-common.h: Likewise.
9342
90f3520e
MP
93432014-10-24 Marek Polacek <polacek@redhat.com>
9344
9345 PR c/56980
9346 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
9347 print "struct"/"union"/"enum" for typedefed names.
9348
59d7607a
MP
93492014-10-23 Marek Polacek <polacek@redhat.com>
9350
9351 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
9352 in unsigned type.
9353
d95a2703
JJ
93542014-10-22 Jakub Jelinek <jakub@redhat.com>
9355 Yury Gribov <y.gribov@samsung.com>
9356
9357 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9358 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
9359 instead of flag_sanitize_recover as bool flag.
9360
8e6ef852
KY
93612014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
9362
9363 * cilk.c: Revert previous change.
9364
948cf550
IZ
93652014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
9366
9367 PR c/63307
9368 * cilk.c: Include vec.h.
9369 (struct cilk_decls): New structure.
9370 (wrapper_parm_cb): Split this function to...
9371 (fill_decls_vec): ...this...
9372 (create_parm_list): ...and this.
9373 (compare_decls): New function.
9374 (for_local_cb): Remove.
9375 (wrapper_local_cb): Ditto.
9376 (build_wrapper_type): For now first traverse and fill vector of
9377 declarations then sort it and then deal with sorted vector.
9378 (cilk_outline): Ditto.
9379 (declare_one_free_variable): Ditto.
9380
92574c7c
MP
93812014-10-17 Marek Polacek <polacek@redhat.com>
9382
9383 * c-opts.c (c_common_post_options): Set warn_implicit_int.
9384 * c.opt (Wimplicit-int): Initialize to -1.
9385
83685514
AM
93862014-10-16 Andrew MacLeod <amacleod@redhat.com>
9387
9388 * c-pragma.c: Adjust include files.
9389 * c-semantics.c: Likewise.
9390
5b8300ea
DD
93912014-10-16 DJ Delorie <dj@redhat.com>
9392
9393 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
9394 multiples of bytes.
9395
5f83e90b
JM
93962014-10-14 Jason Merrill <jason@redhat.com>
9397
9398 PR c++/63455
9399 * c-common.h (CPP_PREPARSED_EXPR): New.
9400 (N_CP_TTYPES): Adjust.
9401
d73326ca
MP
94022014-10-15 Marek Polacek <polacek@redhat.com>
9403
9404 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
9405
78a7c317
DD
94062014-10-14 DJ Delorie <dj@redhat.com>
9407
9408 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
9409 types, not just __int128.
9410 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
9411 types, not just __int128.
9412 (cpp_atomic_builtins): Round pointer sizes up.
9413 (type_suffix): Use type precision, not specific types.
9414 * c-common.c (c_common_reswords): Remove __int128 special case.
9415 (c_common_type_for_size): Check for all __intN types, not just
9416 __int128.
9417 (c_common_type_for_mode): Likewise.
9418 (c_common_signed_or_unsigned_type): Likewise.
9419 (c_build_bitfield_integer_type): Likewise.
9420 (c_common_nodes_and_builtins): Likewise.
9421 (keyword_begins_type_specifier): Likewise.
9422 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
9423 __intN variants.
9424
2a22f99c
TS
94252014-10-12 Trevor Saunders <tsaunders@mozilla.com>
9426
9427 * c-common.c: Use hash_table instead of hashtab.
9428
2a8ef767
ESR
94292014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
9430
adfac8df 9431 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
9432 C++11 section.
9433
3c9aabbd
MG
94342014-10-03 Marc Glisse <marc.glisse@inria.fr>
9435
9436 PR c++/54427
9437 PR c++/57198
9438 PR c++/58845
9439 * c-common.c (warn_logical_operator): Punt for vectors.
9440
a15f7cb8
ESR
94412014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9442
9443 Implement SD-6: SG10 Feature Test Recommendations
9444 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
9445 macros and the __has_header macro.
9446
8d0cf15e
JM
94472014-09-30 Jason Merrill <jason@redhat.com>
9448
dd5d5481
JM
9449 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
9450 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
9451 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9452
b752325e
JM
9453 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
9454 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9455
8d0cf15e
JM
9456 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
9457 * c-common.c (c_common_reswords): Remove __is_convertible_to.
9458
083e891e
MP
94592014-09-24 Marek Polacek <polacek@redhat.com>
9460
9461 PR c/61405
9462 PR c/53874
9463 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
9464
7861b648
AK
94652014-09-23 Andi Kleen <ak@linux.intel.com>
9466
9467 * c-common.c (handle_no_reorder_attribute): New function.
9468 (c_common_attribute_table): Add no_reorder attribute.
9469
9a79452d
JM
94702014-09-22 Joseph Myers <joseph@codesourcery.com>
9471
9472 * c-cppbuiltin.c (c_cpp_builtins): Define
9473 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9474 modes.
9475
dd69f047
JM
94762014-09-18 Joseph Myers <joseph@codesourcery.com>
9477
9478 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9479 for supported floating-point modes.
9480
737a4826
MLI
94812014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9482
9483 * c.opt (Wpsabi): Use LangEnabledBy.
9484 * c-opts.c (c_common_handle_option): Do not handle here.
9485
8cc4b7a2
JM
94862014-09-12 Joseph Myers <joseph@codesourcery.com>
9487
9488 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9489 macros for floating-point modes.
9490
179b5a55
MG
94912014-09-11 Marc Glisse <marc.glisse@inria.fr>
9492
9493 PR target/58757
9494 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9495 __*_DENORM_MIN__ without denormals.
9496
570a11fe
JJ
94972014-09-10 Jakub Jelinek <jakub@redhat.com>
9498
9499 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9500 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9501 ubsan_create_data callers.
9502 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9503 index is constant or BIT_AND_EXPR with constant mask and is
9504 small enough for the bound.
9505 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9506 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9507
b559c810
MLI
95082014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9509
9510 * c.opt: Add CppReason to various flags.
9511 (Wdate-time): Re-sort.
9512 * c-common.c: Include c-common.h earlier.
9513 (struct reason_option_codes_t): Delete.
9514 (c_option_controlling_cpp_error): Prefix global type and struct
9515 with cpp_.
9516
1ef33fd4
MLI
95172014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9518
9519 * c.opt (Wnormalized): New.
9520 (Wnormalized=): Use Enum and Reject Negative.
9521 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9522
66bb34c0
JM
95232014-09-08 Joseph Myers <joseph@codesourcery.com>
9524
9525 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9526 digits of floating-point modes if -fbuilding-libgcc.
9527
53d68b9f
JM
95282014-09-05 Joseph Myers <joseph@codesourcery.com>
9529
9530 * c-cppbuiltin.c (c_cpp_builtins): Also define
9531 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9532 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9533 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9534 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9535 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9536 __LIBGCC_STACK_GROWS_DOWNWARD__,
9537 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9538 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9539 __LIBGCC_DWARF_FRAME_REGISTERS__,
9540 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9541 __LIBGCC_STACK_POINTER_REGNUM__ and
9542 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9543 (builtin_define_with_value): Handle backslash-escaping in string
9544 macro values.
9545
f65586dc
RB
95462014-09-05 Richard Biener <rguenther@suse.de>
9547
9548 PR middle-end/63148
9549 * c-format.c (check_format_arg): Properly handle
9550 effectively signed POINTER_PLUS_EXPR offset.
9551
2b71f4a4
MLI
95522014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9553
9554 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9555 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9556 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9557 and Init.
9558 * c-opts.c (c_common_handle_option): Do not handle here.
9559 (sanitize_cpp_opts): Likewise.
9560 * c-common.c (struct reason_option_codes_t): Handle
9561 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9562
d2e4feca
MP
95632014-09-03 Marek Polacek <polacek@redhat.com>
9564
9565 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9566
9a771876
JJ
95672014-09-02 Jakub Jelinek <jakub@redhat.com>
9568 Balaji V. Iyer <balaji.v.iyer@intel.com>
9569 Igor Zamyatin <igor.zamyatin@intel.com>
9570
9571 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9572 * c-common.c (c_common_reswords): Added _Cilk_for.
9573 * c-common.h (enum rid): Added RID_CILK_FOR.
9574 (cilk_for_number_of_iterations): Add declaration.
9575 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9576 CILK_FOR.
9577 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9578 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9579
81b5d104
MLI
95802014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9581
9582 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9583 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9584 Wundef): Use CPP, Var and Init.
9585 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9586
b753b37b
MLI
95872014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9588
9589 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9590 * c-opts.c (c_common_handle_option): Do not handle here.
9591
028aee17
JM
95922014-08-25 Jason Merrill <jason@redhat.com>
9593
9594 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9595 -std=c++14 and -std=gnu++14, rather than the reverse.
9596 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9597 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9598 * c-common.h (cxx_dialect): Remove cxx1y.
9599
e4276ba5
ESR
96002014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9601
9602 * c-common.h (enum cxx_dialect): Add cxx14.
9603 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9604 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9605 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9606
a545cacd
JM
96072014-08-22 Jason Merrill <jason@redhat.com>
9608
9609 * c.opt (std=gnu++17): Fix alias.
9610
59ea0364
MP
96112014-08-22 Marek Polacek <polacek@redhat.com>
9612
9613 PR c++/62199
9614 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9615 check for vector types. Drop LHS argument.
9616 * c-common.h (warn_logical_not_parentheses): Adjust.
9617
596e808c
MLI
96182014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9619
9620 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9621 (Wmultichar): Likewise.
9622 (Wdate-time): Use C-family languages instead of Common. Use CPP
9623 and Var.
9624 * c-opts.c (c_common_handle_option): Do not handle the above
9625 options here.
9626 (sanitize_cpp_opts): Likewise.
9627
18767f65
MLI
96282014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9629
9630 PR fortran/44054
9631 * c-opts.c: Include tree-diagnostics.h.
9632 (c_diagnostic_finalizer): New.
9633 (c_common_initialize_diagnostics): Use it.
9634
b4413594
MLI
96352014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9636
9637 PR preprocessor/51303
9638 * c-common.c (struct reason_option_codes_t option_codes):
9639 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9640
43f9a13c
MLI
96412014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9642
9643 PR c/60975
9644 PR c/53063
9645 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9646 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9647 (c_common_post_options): Call init_global_opts_from_cpp.
9648 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9649
04159acf
MP
96502014-08-19 Marek Polacek <polacek@redhat.com>
9651
9652 PR c++/62153
9653 * c-common.c (maybe_warn_bool_compare): New function.
9654 * c-common.h (maybe_warn_bool_compare): Declare.
9655 * c.opt (Wbool-compare): New option.
9656
35aff4fb
MP
96572014-08-19 Marek Polacek <polacek@redhat.com>
9658
9659 * c.opt (Wc99-c11-compat): New option.
9660
177cce46
MP
96612014-08-19 Marek Polacek <polacek@redhat.com>
9662
9663 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9664 to warn_c90_c99_compat.
9665 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9666 to -1.
9667
6ae9194f
MLI
96682014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9669 Steven Bosscher <steven@gcc.gnu.org>
9670
9671 PR c/52952
9672 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9673 format_check_results.
9674 (check_function_format): Use true and add comment for boolean
9675 argument.
9676 (finish_dollar_format_checking): Use explicit location when warning.
9677 (check_format_info): Likewise.
9678 (check_format_arg): Set extra_arg_loc and format_string_loc.
9679 (check_format_info_main): Use explicit location when warning.
9680 (check_format_types): Pass explicit location.
9681 (format_type_warning): Likewise.
9682
8e54f6d3
MLI
96832014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9684
9685 PR fortran/44054
9686 * c-format.c: Handle Fortran flags.
9687
cd4e76fc
IZ
96882014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9689
9690 PR other/61962
9691 * array-notation-common.c (find_rank): Added handling for other
9692 types of references.
9693
f3bede71
MP
96942014-08-10 Marek Polacek <polacek@redhat.com>
9695
9696 PR c/51849
9697 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9698 * c.opt (Wc90-c99-compat): Add option.
9699
9f25a338
TS
97002014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9701
9702 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9703
62e4eb35
MP
97042014-08-03 Marek Polacek <polacek@redhat.com>
9705
ab20d992 9706 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9707 (c_add_case_label): Pass loc to check_case_value.
9708
b787e7a2
TS
97092014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9710
9711 * cilk.c: Use hash_map instead of pointer_map.
9712
6e2830c3
TS
97132014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9714
9715 * c-gimplify.c: Use hash_set instead of pointer_set.
9716
a7ee52fb
IZ
97172014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9718
9719 PR middle-end/61455
9720 * array-notation-common.c (extract_array_notation_exprs): Handling
9721 of DECL_EXPR added.
9722
944fa280
JJ
97232014-08-01 Jakub Jelinek <jakub@redhat.com>
9724
9725 * c-common.h (min_align_of_type): Removed prototype.
9726 * c-common.c (min_align_of_type): Removed.
9727 * c-ubsan.h (ubsan_maybe_instrument_reference,
9728 ubsan_maybe_instrument_member_call): New prototypes.
9729 * c-ubsan.c: Include stor-layout.h and builtins.h.
9730 (ubsan_maybe_instrument_reference_or_call,
9731 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9732 functions.
9733
b4dfdc11
MG
97342014-07-31 Marc Glisse <marc.glisse@inria.fr>
9735
9736 PR c++/60517
9737 * c.opt (-Wreturn-local-addr): Move to common.opt.
9738
a41844e5
JM
97392014-07-30 Jason Merrill <jason@redhat.com>
9740
9741 PR c++/61659
9742 PR c++/61687
9743 Revert:
9744 * c.opt (-fuse-all-virtuals): New.
9745
976d5a22
TT
97462014-07-30 Tom Tromey <tromey@redhat.com>
9747
9748 PR c/59855
9749 * c.opt (Wdesignated-init): New option.
9750 * c-common.c (c_common_attribute_table): Add "designated_init".
9751 (handle_designated_init): New function.
9752
cdc94aca
MP
97532014-07-24 Marek Polacek <polacek@redhat.com>
9754
9755 PR c/57653
9756 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9757
f41373b6
DS
97582014-07-16 Dodji Seketeli <dodji@redhat.com>
9759
9760 PR preprocessor/60723 - missing system-ness marks for macro tokens
9761 * c-ppoutput.c (struct print::prev_was_system_token): New data
9762 member.
9763 (init_pp_output): Initialize it.
9764 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9765 (do_line_change): Return a flag saying if a line marker was
9766 emitted or not.
9767 (scan_translation_unit): Detect if the system-ness of the token we
9768 are about to emit is different from the one of the previously
9769 emitted token. If so, emit a line marker. Avoid emitting useless
9770 adjacent line markers. Avoid emitting line markers for tokens
9771 originating from the expansion of built-in macros.
9772 (scan_translation_unit_directives_only): Adjust.
9773
4d661eaa
MP
97742014-07-15 Marek Polacek <polacek@redhat.com>
9775
9776 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9777 TYPE_MAX_VALUE is NULL.
9778
b108f48f
JJ
97792014-07-14 Jakub Jelinek <jakub@redhat.com>
9780
9781 PR middle-end/61294
9782 * c.opt (Wmemset-transposed-args): New warning.
9783
c0221884
JM
97842014-07-10 Jason Merrill <jason@redhat.com>
9785
9786 PR c++/61659
9787 PR c++/61687
9788 * c.opt (-fuse-all-virtuals): New.
9789
63dfbb95
RB
97902014-07-09 Richard Biener <rguenther@suse.de>
9791
9792 PR c-family/61741
9793 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9794 using unsigned arithmetic if overflow does not wrap instead of
9795 if overflow is undefined.
9796
773ec47f
MP
97972014-07-06 Marek Polacek <polacek@redhat.com>
9798
9799 PR c/6940
9800 * c.opt (Wsizeof-array-argument): New option.
9801
00a7ba58
JJ
98022014-07-03 Jakub Jelinek <jakub@redhat.com>
9803
b1726d6c 9804 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9805 comments->count <= 1, as comments->entries might be NULL.
9806
52ec0ea3
MP
98072014-07-01 Marek Polacek <polacek@redhat.com>
9808
9809 * c.opt (Wint-conversion): New option.
9810
d5c3d343
MP
98112014-07-01 Marek Polacek <polacek@redhat.com>
9812
9813 PR c/58286
9814 * c.opt (Wincompatible-pointer-types): New option.
9815
6e7ceb17
PC
98162014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9817
9818 PR c++/51400
9819 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9820 Do not discard TYPE_QUALS of type.
9821
da73100b
JM
98222014-06-26 Jason Merrill <jason@redhat.com>
9823
9824 * c-common.h (enum cxx_dialect): Add cxx1z.
9825 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9826 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9827
08eedf75
TJ
98282014-06-26 Teresa Johnson <tejohnson@google.com>
9829
9830 * c-common.h (get_dump_info): Declare.
9831 * c-gimplify.c (c_genericize): Use saved dump files.
9832 * c-opts.c (c_common_parse_file): Begin and end dumps
9833 once around parsing invocation.
9834 (get_dump_info): New function.
9835
7b56b2f8
MP
98362014-06-23 Marek Polacek <polacek@redhat.com>
9837 Andrew MacLeod <amacleod@redhat.com>
9838
9839 PR c/61553
9840 * c-common.c (get_atomic_generic_size): Don't segfault if the
9841 type doesn't have a size.
9842
0e37a2f3
MP
98432014-06-20 Marek Polacek <polacek@redhat.com>
9844
9845 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9846 (ubsan_walk_array_refs_r): New function.
9847 (c_genericize): Instrument array bounds.
9848 * c-ubsan.c: Include "internal-fn.h".
9849 (ubsan_instrument_division): Mark instrumented arrays as having
9850 side effects. Adjust ubsan_type_descriptor call.
9851 (ubsan_instrument_shift): Likewise.
9852 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9853 (ubsan_instrument_bounds): New function.
9854 (ubsan_array_ref_instrumented_p): New function.
9855 (ubsan_maybe_instrument_array_ref): New function.
9856 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9857 (ubsan_array_ref_instrumented_p): Declare.
9858 (ubsan_maybe_instrument_array_ref): Declare.
9859
98602014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9861
9862 PR lto/61123
9863 * c.opt (fshort-enums): Add to LTO.
9864 * c.opt (fshort-wchar): Likewise.
9865
5c3d09f7
MP
98662014-06-16 Marek Polacek <polacek@redhat.com>
9867
9868 PR c/60439
9869 * c.opt (Wswitch-bool): Add Var.
9870
9cf32741
JJ
98712014-06-12 Jakub Jelinek <jakub@redhat.com>
9872
9873 PR middle-end/61486
9874 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9875 #pragma omp target teams or
9876 #pragma omp {,target }teams distribute simd.
9877
62984918
JM
98782014-06-12 Jason Merrill <jason@redhat.com>
9879
9880 * c.opt (Wabi=, fabi-compat-version): New.
9881 * c-opts.c (c_common_handle_option): Handle -Wabi=.
9882 (c_common_post_options): Handle flag_abi_compat_version default.
9883 Disallow -fabi-compat-version=1.
9884 * c-common.h (abi_version_crosses): New.
9885
f961457f
JH
98862014-06-11 Jan Hubicka <hubicka@ucw.cz>
9887
adfac8df 9888 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9889 section names that are no longer trees.
9890
92d28cbb
JJ
98912014-06-10 Jakub Jelinek <jakub@redhat.com>
9892
9893 PR fortran/60928
9894 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9895 (omp_pragmas): ... back here.
9896
742938c9
MP
98972014-06-05 Marek Polacek <polacek@redhat.com>
9898
9899 PR c/49706
9900 * c-common.c (warn_logical_not_parentheses): New function.
9901 * c-common.h (warn_logical_not_parentheses): Declare.
9902 * c.opt (Wlogical-not-parentheses): New option.
9903
9d548dfb
MP
99042014-06-04 Marek Polacek <polacek@redhat.com>
9905
9906 PR c/30020
9907 * c-common.c (check_case_bounds): Add location parameter.
9908 Use it.
9909 (c_add_case_label): Pass loc to check_case_bounds.
9910
fedfecef
MP
99112014-06-03 Marek Polacek <polacek@redhat.com>
9912
9913 PR c/60439
9914 * c.opt (Wswitch-bool): New option.
9915
f6a7cffc
TS
99162014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9917
040d18b6
TS
9918 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9919 Remove prototypes.
9920 (record_types_used_by_current_var_decl): Move prototype to where
9921 it belongs.
9922
f6a7cffc
TS
9923 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9924 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9925 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9926
632f2871
RS
99272014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9928
9929 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9930 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9931 void_zero_node.
9932 * c-pretty-print.c (pp_c_void_constant): New function.
9933 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9934 (c_pretty_printer::expression): Handle VOID_CST.
9935 * cilk.c (extract_free_variables): Likewise.
9936 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9937 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9938
766090c2
TS
99392014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9940
9941 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9942 * c-pragma.c (push_alignment): Adjust.
9943 (handle_pragma_push_options): Likewise.
9944
661a0813
MP
99452014-05-09 Marek Polacek <polacek@redhat.com>
9946
9947 PR c/50459
9948 * c-common.c (check_user_alignment): Return -1 if alignment is error
9949 node.
9950 (handle_aligned_attribute): Don't call default_conversion on
9951 FUNCTION_DECLs.
9952 (handle_vector_size_attribute): Likewise.
9953 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9954 (handle_sentinel_attribute): Call default_conversion and allow even
9955 integral types as an argument.
9956
2793eeab
MP
99572014-05-08 Marek Polacek <polacek@redhat.com>
9958
9959 PR c/61053
9960 * c-common.c (min_align_of_type): New function factored out from...
9961 (c_sizeof_or_alignof_type): ...here.
9962 * c-common.h (min_align_of_type): Declare.
9963
f827930a
MP
99642014-05-08 Marek Polacek <polacek@redhat.com>
9965
9966 PR c/61077
9967 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9968 parameter type of main.
9969
ca49b74e
DD
99702014-05-07 DJ Delorie <dj@redhat.com>
9971
9972 * c-cppbuiltin.c (print_bits_of_hex): New.
9973 (builtin_define_type_minmax): Print values using hex so as not to
9974 require a pre-computed list of string values.
9975
1d60af08
KZ
99762014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9977 Mike Stump <mikestump@comcast.net>
9978 Richard Sandiford <rdsandiford@googlemail.com>
9979
9980 * c-ada-spec.c: Include wide-int.h.
9981 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9982 (dump_generic_ada_node): Use wide-int interfaces.
9983 * c-common.c: Include wide-int-print.h.
9984 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9985 (pointer_int_sum): Use wide-int interfaces.
9986 (c_common_nodes_and_builtins): Use make_int_cst.
9987 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9988 (handle_alloc_size_attribute): Use wide-int interfaces.
9989 (get_nonnull_operand): Likewise.
9990 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9991 * c-lex.c: Include wide-int.h.
9992 (narrowest_unsigned_type): Take a widest_int rather than two
9993 HOST_WIDE_INTs.
9994 (narrowest_signed_type): Likewise.
9995 (interpret_integer): Update accordingly. Use wide-int interfaces.
9996 (lex_charconst): Use wide-int interfaces.
9997 * c-pretty-print.c: Include wide-int.h.
9998 (pp_c_integer_constant): Use wide-int interfaces.
9999 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
10000 INT_CST_LT_UNSIGNED.
10001
b15458be
RB
100022014-05-06 Richard Biener <rguenther@suse.de>
10003
10004 * c-opts.c (c_common_post_options): For -freestanding,
10005 -fno-hosted and -fno-builtin disable pattern recognition
10006 if not enabled explicitely.
10007
6577374e
MP
100082014-05-02 Marek Polacek <polacek@redhat.com>
10009
10010 * c.opt (Wsizeof-pointer-memaccess): Describe option.
10011
d00887e8
MP
100122014-05-01 Marek Polacek <polacek@redhat.com>
10013
10014 PR c/43245
10015 * c.opt (Wdiscarded-qualifiers): Add.
10016
f8ed5150
MP
100172014-04-30 Marek Polacek <polacek@redhat.com>
10018
10019 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
10020 INT_MIN / -1 sanitization only for integer types.
10021
45484dcf
MP
100222014-04-25 Marek Polacek <polacek@redhat.com>
10023
10024 PR c/18079
10025 * c-common.c (handle_noinline_attribute): Warn if the attribute
10026 conflicts with always_inline attribute.
10027 (handle_always_inline_attribute): Warn if the attribute conflicts
10028 with noinline attribute.
10029
38e514c0
MP
100302014-04-25 Marek Polacek <polacek@redhat.com>
10031
10032 PR c/60156
10033 * c-common.c (check_main_parameter_types): Warn about variadic main.
10034
44875f92
MS
100352014-04-24 Mike Stump <mikestump@comcast.net>
10036
10037 * c.opt (Wshadow-ivar): Default to on.
10038
dcaaa5a0
DP
100392014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
10040
10041 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
10042
c07d7c02
MP
100432014-04-23 Marek Polacek <polacek@redhat.com>
10044
10045 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
10046
1c33c9b7
JJ
100472014-04-22 Jakub Jelinek <jakub@redhat.com>
10048
10049 PR sanitizer/60275
10050 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
10051 if flag_sanitize_undefined_trap_on_error.
10052 (ubsan_instrument_division, ubsan_instrument_shift,
10053 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
10054 if !flag_sanitize_recover.
10055
793c625f
MG
100562014-04-22 Marc Glisse <marc.glisse@inria.fr>
10057
10058 PR libstdc++/43622
10059 * c-common.c (registered_builtin_types): Make non-static.
10060 * c-common.h (registered_builtin_types): Declare.
10061
b0f1bf36 100622014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 10063 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
10064
10065 PR c/60819
10066 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
10067 apply may-alias the scalar pointer type when applicable.
10068
3b07fa4a
IZ
100692014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
10070
10071 PR middle-end/60467
10072 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
10073 as possible argument for Cilk_spawn.
10074
cbbd2b1c
TB
100752014-04-11 Tobias Burnus <burnus@net-b.de>
10076
10077 PR c/60194
10078 * c.opt (Wformat-signedness): Add
10079 * c-format.c(check_format_types): Use it.
10080
6415bd5d
JM
100812014-04-11 Jason Merrill <jason@redhat.com>
10082
10083 PR c++/57926
10084 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
10085 default_conversion for an array argument.
10086
6525783a
MP
100872014-04-08 Marek Polacek <polacek@redhat.com>
10088
10089 PR sanitizer/60745
10090 * c-ubsan.c: Include asan.h.
10091 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
10092
880a467b
NS
100932014-04-03 Nathan Sidwell <nathan@codesourcery.com>
10094
10095 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
10096
7b59ff2d
MP
100972014-04-02 Marek Polacek <polacek@redhat.com>
10098
10099 * c-common.h (c_expand_expr): Remove declaration.
10100
8edbfaa6
JJ
101012014-03-28 Jakub Jelinek <jakub@redhat.com>
10102
10103 PR c++/60689
10104 * c-common.c (add_atomic_size_parameter): When creating new
10105 params vector, push the size argument first.
10106
07d72e1d
JJ
101072014-03-26 Jakub Jelinek <jakub@redhat.com>
10108
10109 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
10110 ubsan_instrument_vla, ubsan_instrument_return): Adjust
10111 ubsan_create_data callers.
10112
b35e0fa0
JJ
101132014-03-22 Jakub Jelinek <jakub@redhat.com>
10114
10115 PR debug/60603
10116 * c-opts.c (c_finish_options): Restore cb_file_change call to
10117 <built-in>.
10118
39a1ebb3
JJ
101192014-03-13 Jakub Jelinek <jakub@redhat.com>
10120
10121 PR middle-end/36282
10122 * c-pragma.c (apply_pragma_weak): Only look at
10123 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
10124 DECL_ASSEMBLER_NAME_SET_P (decl).
10125 (maybe_apply_pending_pragma_weaks): Exit early if
10126 vec_safe_is_empty (pending_weaks) rather than only when
10127 !pending_weaks.
10128 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
10129 set assembler name back to NULL afterwards.
10130
a07f6ed2
JM
101312014-03-11 Jason Merrill <jason@redhat.com>
10132
10133 * c.opt: Add -std=gnu++14.
10134
75b107f5
IB
101352014-03-11 Ian Bolton <ian.bolton@arm.com>
10136
10137 * c-opts.c (c_common_post_options): Don't override
10138 -ffp-contract=fast if unsafe-math-optimizations is on.
10139
f42c637e
PM
101402014-03-08 Paulo Matos <paulo@matos-sorge.com>
10141
22b15758 10142 * c.opt: Enable LTO FE for fshort-double.
f42c637e 10143
70e24808
JM
101442014-03-07 Jason Merrill <jason@redhat.com>
10145
10146 * c.opt: Add -std=c++14.
10147
3af9c5e9
MP
101482014-03-06 Marek Polacek <polacek@redhat.com>
10149
10150 PR c/60197
10151 * cilk.c (contains_cilk_spawn_stmt): New function.
10152 (contains_cilk_spawn_stmt_walker): Likewise.
10153 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
10154 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
10155
b3bdf019
JJ
101562014-03-03 Jakub Jelinek <jakub@redhat.com>
10157
10158 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
10159 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
10160 even when flag_preprocess_only.
10161
ca7e759d
JM
101622014-02-26 Jason Merrill <jason@redhat.com>
10163
10164 PR c++/59231
10165 PR c++/11586
10166 * c-common.c (shorten_compare): Don't check
10167 c_inhibit_evaluation_warnings.
10168
28e41874
JJ
101692014-02-19 Jakub Jelinek <jakub@redhat.com>
10170
cca615af
JJ
10171 PR c/37743
10172 * c-common.c (c_common_nodes_and_builtins): When initializing
10173 c_uint{16,32,64}_type_node, also set corresponding
10174 uint{16,32,64}_type_node to the same value.
10175
28e41874
JJ
10176 PR c++/60267
10177 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
10178 for PRAGMA_IVDEP if flag_preprocess_only.
10179
c2bf53a1
JJ
101802014-02-12 Jakub Jelinek <jakub@redhat.com>
10181
10182 PR c/60101
10183 * c-common.c (merge_tlist): If copy is true, call new_tlist,
10184 if false, add ADD itself, rather than vice versa.
10185 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
10186 copy. For SAVE_EXPR, only call merge_tlist once.
10187
8fcbce72
JJ
101882014-02-08 Jakub Jelinek <jakub@redhat.com>
10189
10190 PR middle-end/60092
10191 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
10192 and tree_to_uhwi.
10193 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
10194 functions.
10195 (c_common_attribute_table): Add alloc_align and assume_aligned
10196 attributes.
10197
0a756a3f
MP
101982014-02-06 Marek Polacek <polacek@redhat.com>
10199
10200 PR c/60087
10201 * c-common.c (warn_for_sign_compare): Call warning_at with location
10202 instead of warning.
10203
7ec4847a
MP
102042014-02-05 Marek Polacek <polacek@redhat.com>
10205
10206 PR c/53123
10207 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
10208 statement.
10209
66f20604
MP
102102014-02-04 Marek Polacek <polacek@redhat.com>
10211
10212 PR c/60036
10213 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
10214 SAVE_EXPR.
10215
5d77fb19
MG
102162014-02-03 Marc Glisse <marc.glisse@inria.fr>
10217
10218 PR c++/53017
10219 PR c++/59211
10220 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
10221 handle_vector_size_attribute, handle_nonnull_attribute): Call
10222 default_conversion on the attribute argument.
10223 (handle_nonnull_attribute): Increment the argument number.
10224
81e5eca8
MP
102252014-01-31 Marek Polacek <polacek@redhat.com>
10226
10227 PR c/59963
10228 * c-common.c (add_atomic_size_parameter): Pass vNULL to
10229 build_function_call_vec.
10230 (resolve_overloaded_builtin): Likewise.
10231 * c-common.h (build_function_call_vec): Adjust declaration.
10232
68fca595
MP
102332014-01-30 Marek Polacek <polacek@redhat.com>
10234
10235 PR c/59940
10236 * c-common.h (unsafe_conversion_p): Adjust declaration.
10237 (warnings_for_convert_and_check): Likewise.
10238 (convert_and_check): Likewise.
10239 * c-common.c (unsafe_conversion_p): Add location parameter. Call
10240 expansion_point_location_if_in_system_header on it.
10241 (warnings_for_convert_and_check): Add location parameter. Call
10242 expansion_point_location_if_in_system_header on it. Use it.
10243 (convert_and_check): Add location parameter. Use it.
10244 (conversion_warning): Likewise.
10245 (c_add_case_label): Adjust convert_and_check calls.
10246 (scalar_to_vector): Adjust unsafe_conversion_p calls.
10247
b72271b9
BI
102482014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
10249
10250 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
10251 flag_cilkplus.
10252 * c-pragma.c (init_pragma): Likewise.
10253 * c.opt: Likewise.
10254
393e8e8b
MP
102552014-01-23 Marek Polacek <polacek@redhat.com>
10256
10257 PR c/59846
10258 * c-common.c (shorten_compare): Add location_t parameter.
10259 * c-common.h (shorten_binary_op): Adjust declaration.
10260
f04dda30
MP
102612014-01-23 Marek Polacek <polacek@redhat.com>
10262
10263 PR c/58346
10264 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
10265 * c-common.h: Declare it.
10266
621955cb
EB
102672014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10268
10269 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
10270 * c-ada-spec.c (dump_ads): Likewise.
10271 (cpp_check): Likewise.
10272 (dump_ada_specs): Likewise.
10273
102742014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
10275
10276 PR c++/49718
10277 * c-common.c (handle_no_instrument_function_attribute): Allow
10278 no_instrument_function attribute in class member
10279 definition/declaration.
10280
241f845a
JJ
102812014-01-15 Jakub Jelinek <jakub@redhat.com>
10282
10283 PR c/58943
10284 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
10285 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
10286 being COMPOUND_EXPR.
10287 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
10288 operand a SAVE_EXPR and second MODIFY_EXPR.
10289
e83b8e2e
JJ
102902014-01-09 Jakub Jelinek <jakub@redhat.com>
10291
10292 PR target/58115
10293 * c-pch.c (c_common_write_pch): Call
10294 prepare_target_option_nodes_for_pch.
10295
23a5b65a
RS
102962014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10297
10298 Update copyright years
10299
f9030485
RS
103002014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10301
10302 * array-notation-common.c, c-cilkplus.c: Use the standard form for
10303 the copyright notice.
10304
f2aa696b
EB
103052013-12-28 Eric Botcazou <ebotcazou@adacore.com>
10306
10307 * c-ada-spec.c (print_constructor): New function.
10308 (print_destructor): Retrieve the origin of the destructor.
10309 (print_ada_declaration): Revamp handling of constructors/destructors.
10310
3f8257db 103112013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
10312 Bill Maddox <maddox@google.com>
10313 Jason Merrill <jason@redhat.com>
10314
10315 * c.opt: Add -fdeclone-ctor-dtor.
10316 * c-opts.c (c_common_post_options): Default to on iff -Os.
10317
41958c28
BI
103182013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
10319
10320 * c-common.c (c_common_attribute_table): Added "cilk simd function"
10321 attribute.
10322 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 10323 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
10324 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
10325 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
10326 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
10327 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
10328 PRAGMA_CILK_CLAUSE_UNIFORM.
10329
b1726d6c 10330
12893402
BI
103312013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
10332
10333 * cilk.c (cilk_outline): Made this function non-static.
10334 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
10335 (create_cilk_wrapper): Added a new parameter: a function pointer.
10336 (c_install_body_w_frame_cleanup): Remove
10337 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
10338 * c-common.h (cilk_outline): New prototype.
10339 (gimplify_cilk_spawn): Removed two parameters.
10340 (cilk_install_body_with_frame_cleanup): New prototype.
10341 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
10342 CILK_SPAWN_STMT case.
10343
085b42ed
BS
103442013-12-11 Bernd Schmidt <bernds@codesourcery.com>
10345
2ce064c3
BS
10346 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
10347
085b42ed
BS
10348 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
10349 (int_array_type_node): Remove.
10350 * c-common.c (c_common_nodes_and_builtins): Don't build it.
10351
9e36c9ed
MP
103522013-12-05 Marek Polacek <polacek@redhat.com>
10353
10354 PR c/52023
10355 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
10356 [ADJUST_FIELD_ALIGN].
10357
296674db
JM
103582013-12-04 Joseph Myers <joseph@codesourcery.com>
10359
10360 PR c/52023
10361 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
10362 and check field alignment if set.
10363 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
10364 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
10365
b1726d6c 103662013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
10367 Marek Polacek <polacek@redhat.com>
10368
10369 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
10370 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
10371
d7947e19
L
103722013-11-29 H.J. Lu <hongjiu.lu@intel.com>
10373
10374 PR c/59309
10375 * cilk.c (gimplify_cilk_spawn): Properly handle function without
10376 arguments.
10377
fad7652e
JJ
103782013-11-29 Jakub Jelinek <jakub@redhat.com>
10379
10380 PR c/59280
10381 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
10382 goto invalid. If it is error_mark_node, don't issue further
10383 diagnostics.
10384
8b5e1202
SO
103852013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
10386
10387 * c.opt (Wopenmp-simd): New.
10388
0a508bb6
JJ
103892013-11-22 Jakub Jelinek <jakub@redhat.com>
10390
10391 * c-ubsan.h (ubsan_instrument_return): New prototype.
10392 * c-ubsan.c (ubsan_instrument_return): New function.
10393
2fb9a547
AM
103942013-11-22 Andrew MacLeod <amacleod@redhat.com>
10395
10396 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
10397 * c-gimplify.c: Likewise.
10398 * cilk.c: Likewise.
2fb9a547 10399
8400e75e
DM
104002013-11-22 David Malcolm <dmalcolm@redhat.com>
10401
10402 * c-common.c (unsafe_conversion_p): Remove use of
10403 EXPR_LOC_OR_HERE macro.
10404 (conversion_warning): Likewise.
10405 (warnings_for_convert_and_check): Likewise.
10406 (warn_for_collisions_1): Likewise.
10407 (shorten_compare): Likewise, and remove use of in_system_header
10408 macro, using the location from the former.
10409 * c-lex.c (dump_one_header): Remove use of input_filename macro.
10410 (cb_def_pragma): Remove use of in_system_header macro.
10411 (lex_string): Likewise.
10412 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10413
eb1ce453
KZ
104142013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10415 Mike Stump <mikestump@comcast.net>
10416 Richard Sandiford <rdsandiford@googlemail.com>
10417
10418 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
10419 instead of TREE_INT_CST_LOW, in cases where there is a protecting
10420 tree_fits_shwi_p or tree_fits_uhwi_p.
10421 (dump_generic_ada_node): Likewise.
10422 * c-format.c (check_format_arg): Likewise.
10423 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10424
6b3b8c27
KZ
104252013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10426
10427 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
10428
49b0aa18
JC
104292013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
10430
10431 PR c/53001
10432 * c-common.c (unsafe_conversion_p): Make this function
10433 return an enumeration with more detail.
10434 (conversion_warning): Use the new return type of
10435 unsafe_conversion_p to separately warn either about conversions
10436 that lower floating point number precision or about the other
10437 kinds of conversions.
10438 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
10439 (unsafe_conversion_p): switching return type to
10440 conversion_safety enumeration.
49b0aa18
JC
10441 * c.opt: Adding new warning -Wfloat-conversion and
10442 enabling it with -Wconversion.
10443
b826515a
BS
104442013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
10445
8e745a17
JJ
10446 * c-opts.c: Include plugin.h.
10447 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 10448
b9a55b13
MP
104492013-11-19 Marek Polacek <polacek@redhat.com>
10450
10451 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
10452 call.
10453 (ubsan_instrument_shift): Likewise.
10454 (ubsan_instrument_vla): Likewise.
10455
7d362f6c
RS
104562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10457
10458 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
10459 cast to unsigned type.
10460
386b1f1f
RS
104612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10462
10463 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
10464 tree_low_cst.
10465 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10466 rather than tree_low_cst.
10467
ae7e9ddd
RS
104682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10469
10470 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10471 tree_to_uhwi throughout.
10472
9439e9a1
RS
104732013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10474
10475 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10476 tree_low_cst (..., 0) with tree_to_shwi throughout.
10477
cc269bb6
RS
104782013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10479
10480 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10481 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10482
9541ffee
RS
104832013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10484
10485 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10486 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10487
c02065fc
AH
104882013-11-15 Aldy Hernandez <aldyh@redhat.com>
10489
10490 * c-cilkplus.c: New file.
10491 * c-common.c (readonly_error): Add location argument.
10492 * c-common.h (readonly_error): Same.
10493 (c_finish_cilk_clauses): Protoize.
10494 (c_check_cilk_loop): Same.
10495 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10496 Do not fail on error_mark_node.
10497 Abstract increment canonicalization to here...
10498 (c_omp_for_incr_canonicalize_ptr): New.
10499 c-pragma.c (init_pragma): Register "simd" pragma.
10500 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10501 (enum pragma_cilk_clause): New.
10502
9cc65f15
RS
105032013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10504
10505 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10506 wchar_type and host_integerp checks.
10507
18f429e2
AM
105082013-11-14 Andrew MacLeod <amacleod@redhat.com>
10509
10510 * c-common.c: Likewise.
10511 * c-gimplify.c: Likewise.
10512 * cilk.c: Likewise.
10513
d8a2d370
DN
105142013-11-14 Diego Novillo <dnovillo@google.com>
10515
10516 * c-common.c: Include fold-const.h.
10517 Include stor-layout.h.
10518 Include calls.h.
10519 Include stringpool.h.
10520 Include attribs.h.
10521 Include varasm.h.
10522 Include trans-mem.h.
10523 * c-cppbuiltin.c: Include stor-layout.h.
10524 Include stringpool.h.
10525 * c-format.c: Include stringpool.h.
10526 * c-lex.c: Include stringpool.h.
10527 Include stor-layout.h.
10528 * c-pragma.c: Include stringpool.h.
10529 Include attribs.h.
10530 Include varasm.h.
10531 Include gcc-symtab.h.
10532 * c-pretty-print.c: Include stor-layout.h.
10533 Include attribs.h.
10534 * cilk.c: Include stringpool.h.
10535 Include calls.h.
10536
38b7bc7f
JM
105372013-11-13 Joseph Myers <joseph@codesourcery.com>
10538
10539 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10540 * c-common.c (c_common_reswords): Add __auto_type.
10541 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10542
45b0be94
AM
105432013-11-12 Andrew MacLeod <amacleod@redhat.com>
10544
18f429e2
AM
10545 * c-common.c: Include gimplify.h.
10546 * c-gimplify.c: Likewise.
10547 * cilk.c: Likewise.
10548 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10549 * c-ubsan.c: Don't include gimple.h.
45b0be94 10550
582d9b50
JM
105512013-11-12 Joseph Myers <joseph@codesourcery.com>
10552
10553 * c-common.c (c_common_reswords): Add _Thread_local.
10554
6b28e197
JM
105552013-11-09 Joseph Myers <joseph@codesourcery.com>
10556
10557 * c-common.c (atomic_size_supported_p): New function.
10558 (resolve_overloaded_atomic_exchange)
10559 (resolve_overloaded_atomic_compare_exchange)
10560 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10561 Use it instead of comparing size with a local list of sizes.
10562
267bac10
JM
105632013-11-07 Andrew MacLeod <amacleod@redhat.com>
10564 Joseph Myers <joseph@codesourcery.com>
10565
10566 * c-common.h (enum rid): Add RID_ATOMIC.
10567 * c-common.c (c_common_reswords): Add _Atomic.
10568 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10569 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10570 * c-format.c (check_format_types): Check for extra _Atomic
10571 qualifiers in format argument.
10572 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10573 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10574
5157b91e
TB
105752013-11-06 Tobias Burnus <burnus@net-b.de>
10576
10577 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10578
6dbe0958
JM
105792013-11-06 Joseph Myers <joseph@codesourcery.com>
10580
10581 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10582 standards modes.
10583 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10584 to mean lack of IEEE 754 support.
10585
e8ff5196
TB
105862013-11-05 Tobias Burnus <burnus@net-b.de>
10587
10588 * c.opt (-Wdate-time): New option
10589 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10590
254a0760
JM
105912013-11-05 Joseph Myers <joseph@codesourcery.com>
10592
10593 * c-cppbuiltin.c (cpp_iec_559_value): Test
10594 flag_excess_precision_cmdline not flag_excess_precision.
10595
6d7f7e0a
TB
105962013-11-05 Tobias Burnus <burnus@net-b.de>
10597
10598 * c.opt (fopenmp-simd): New option.
10599 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10600 (omp_pragmas): ... this new struct.
10601 (c_pp_lookup_pragma): Also walk omp_pragmas.
10602 (init_pragma): Init pragmas for -fopenmp-simd.
10603
55a7f02f
MP
106042013-11-04 Marek Polacek <polacek@redhat.com>
10605
10606 PR c++/58979
10607 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10608
9193fb05
JM
106092013-11-04 Joseph Myers <joseph@codesourcery.com>
10610
10611 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10612 New functions.
10613 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10614
94159ecf
EB
106152013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10616
10617 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10618 (dump_ada_specs): Adjust prototype of second callback.
10619 * c-ada-spec.c (cpp_check): New global variable.
10620 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10621 (print_generic_ada_decl): Likewise.
10622 (has_static_fields): Change return type to bool and add guard.
10623 (has_nontrivial_methods): New predicate.
10624 (is_tagged_type): Change return type to bool.
10625 (separate_class_package): Call has_nontrivial_methods.
10626 (pp_ada_tree_identifier): Minor tweaks.
10627 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10628 (dump_ada_array_domains): Likewise.
10629 (dump_ada_array_type): Likewise.
10630 (dump_template_types): Remove cpp_check parameter and do not pass it to
10631 dump_generic_ada_node.
10632 (dump_ada_template): Likewise.
10633 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10634 recursively.
10635 (print_ada_methods): Change return type to integer. Remove cpp_check
10636 parameter and do not pass it down.
10637 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10638 dump_generic_ada_node.
10639 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10640 accessing methods.
10641 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10642 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10643 value of print_ada_methods.
10644 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10645 Set cpp_check to it before invoking dump_ada_nodes.
10646 (dump_ada_specs): Likewise.
10647
b906f4ca
MP
106482013-11-03 Marek Polacek <polacek@redhat.com>
10649
10650 * c-ubsan.c: Don't include hash-table.h.
10651 (ubsan_instrument_vla): New function.
10652 * c-ubsan.h: Declare it.
10653
5e20cdc9
DM
106542013-10-31 David Malcolm <dmalcolm@redhat.com>
10655
10656 Automated part of renaming of symtab_node_base to symtab_node.
10657
10658 Patch autogenerated by rename_symtab.py from
10659 https://github.com/davidmalcolm/gcc-refactoring-scripts
10660 revision 58bb219cc090b2f4516a9297d868c245495ee622
10661
10662 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10663 symtab_node_base to symtab_node.
10664
7057e645
ESR
106652013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10666
8e745a17 10667 Implement C++14 digit separators.
7057e645
ESR
10668 * c-lex.c (interpret_float): Remove digit separators from scratch string
10669 before building real literal.
10670
193ea7bc
JJ
106712013-10-30 Jakub Jelinek <jakub@redhat.com>
10672
10673 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10674
939b37da
BI
106752013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10676
10677 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10678 fields.
10679 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10680 enabled.
10681 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10682 (insert_cilk_frame): New prototype.
10683 (cilk_init_builtins): Likewise.
10684 (gimplify_cilk_spawn): Likewise.
10685 (c_cilk_install_body_w_frame_cleanup): Likewise.
10686 (cilk_detect_spawn_and_unwrap): Likewise.
10687 (cilk_set_spawn_marker): Likewise.
10688 (build_cilk_sync): Likewise.
10689 (build_cilk_spawn): Likewise.
10690 * cilk.c: New file.
10691
67348ccc
DM
106922013-10-29 David Malcolm <dmalcolm@redhat.com>
10693
10694 Patch autogenerated by refactor_symtab.py from
10695 https://github.com/davidmalcolm/gcc-refactoring-scripts
10696 revision 58bb219cc090b2f4516a9297d868c245495ee622
10697
10698 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10699 to a true class hierarchy.
10700 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10701
d570872d
RS
107022013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10703
10704 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10705
98906124
JL
107062013-10-26 Jeff Law <law@redhat.com>
10707
adfac8df
JJ
10708 * c-common.c (c_define_builtins): Remove mudflap support.
10709 * c.opt: Ignore and warn for mudflap options.
98906124 10710
d73749df 107112013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10712
10713 PR other/33426
10714 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10715 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10716
3f04b1bb
JM
107172013-10-23 Jason Merrill <jason@redhat.com>
10718
10719 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10720
acf0174b
JJ
107212013-10-11 Jakub Jelinek <jakub@redhat.com>
10722
acd15a28
JJ
10723 * c-common.h (omp_clause_mask::operator !=): New method.
10724 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10725 instead of if (mask & something) tests everywhere.
10726
acf0174b
JJ
10727 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10728 201307 instead of 201107.
10729 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10730 (c_common_attribute_table): Add "omp declare target" and
10731 "omp declare simd" attributes.
10732 (handle_omp_declare_target_attribute,
10733 handle_omp_declare_simd_attribute): New functions.
10734 * c-omp.c: Include c-pragma.h.
10735 (c_finish_omp_taskgroup): New function.
10736 (c_finish_omp_atomic): Add swapped argument, if true,
10737 build the operation first with rhs, lhs arguments and use NOP_EXPR
10738 build_modify_expr.
10739 (c_finish_omp_for): Add code argument, pass it down to make_code.
10740 (c_omp_split_clauses): New function.
10741 (c_split_parallel_clauses): Removed.
10742 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10743 c_omp_declare_simd_clauses_to_decls): New functions.
10744 * c-common.h (omp_clause_mask): New type.
10745 (OMP_CLAUSE_MASK_1): Define.
10746 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10747 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10748 omp_clause_mask::operator |, omp_clause_mask::operator &,
10749 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10750 omp_clause_mask::operator ==): New methods.
10751 (enum c_omp_clause_split): New.
10752 (c_finish_omp_taskgroup): New prototype.
10753 (c_finish_omp_atomic): Add swapped argument.
10754 (c_finish_omp_for): Add code argument.
10755 (c_omp_split_clauses): New prototype.
10756 (c_split_parallel_clauses): Removed.
10757 (c_omp_declare_simd_clauses_to_numbers,
10758 c_omp_declare_simd_clauses_to_decls): New prototypes.
10759 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10760 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10761 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10762 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10763 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10764 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10765 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10766 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10767 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10768 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10769 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10770 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10771 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10772 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10773 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10774 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10775 PRAGMA_OMP_CLAUSE_UNIFORM.
10776
826cacfe
MG
107772013-10-09 Marc Glisse <marc.glisse@inria.fr>
10778
10779 PR tree-optimization/20318
10780 * c-common.c (handle_returns_nonnull_attribute): New function.
10781 (c_common_attribute_table): Add returns_nonnull.
10782
2284b034
MG
107832013-10-03 Marc Glisse <marc.glisse@inria.fr>
10784
10785 PR c++/19476
10786 * c.opt (fcheck-new): Move to common.opt.
10787
b56e9788
MP
107882013-09-25 Marek Polacek <polacek@redhat.com>
10789 Jakub Jelinek <jakub@redhat.com>
10790
10791 PR sanitizer/58413
10792 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10793 an expression if we can prove it is correct.
10794 (ubsan_instrument_division): Likewise. Remove unnecessary
10795 check.
10796
ce6923c5
MP
107972013-09-18 Marek Polacek <polacek@redhat.com>
10798
10799 PR sanitizer/58411
10800 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10801 Declare it.
10802 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10803
fb5610fb
IS
108042013-09-14 Iain Sandoe <iain@codesourcery.com>
10805
10806 PR target/48094
10807 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10808 fobjc-gc, freplace-objc-classes): Accept for LTO.
10809
88b0e79e
JC
108102013-09-13 Jacek Caban <jacek@codeweavers.com>
10811
10812 * c-target.def: New hook
10813
c9b0866a
PC
108142013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10815
10816 PR c++/43452
10817 * c.opt (Wdelete-incomplete): Add.
10818
0af94e6f
JR
108192013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10820
10821 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10822 (vector_types_compatible_elements_p): New function.
10823 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10824 declaration.
10825 (vector_types_compatible_elements_p): Declare.
10826
7c26172c
GDR
108272013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10828
10829 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10830 a virtual member function.
10831 (pp_simple_type_specifier): Remove.
10832 (pp_c_type_specifier): Likewise.
10833 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10834 Rename from pp_c_type_specifier. Adjust.
10835 (c_pretty_printer::c_pretty_printer): Do not assign to
10836 simple_type_specifier.
10837
20059c8b
GDR
108382013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10839
10840 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10841 member function.
10842 (c_pretty_printer::storage_class_specifier): Likewise.
10843 (c_pretty_printer::initializer): Likewise.
10844 (pp_declaration): Remove.
10845 (pp_declaration_specifiers): Likewise.
10846 (pp_abstract_declarator): Likewise.
10847 (pp_declarator): Likewise.
10848 (pp_type_id): Likewise.
10849 (pp_statement): Likewise.
10850 (pp_constant): Likewise.
10851 (pp_id_expression): Likewise.
10852 (pp_primary_expression): Likewise.
10853 (pp_unary_expression): Likewise.
10854 (pp_multiplicative_expression): Likewise.
10855 (pp_conditional_expression): Likewise.
10856 (pp_assignment_expression): Likewise.
10857 (pp_expression): Likewise.
10858 (pp_c_type_id): Likewise.
10859 (pp_c_storage_class_specifier): Likewise.
10860 * c-pretty-print.c (pp_c_type_cast): Tidy.
10861 (pp_c_pointer): Likewise.
10862 (pp_c_type_specifier): Likewise.
10863 (pp_c_parameter_type_list): Likewise.
10864 (pp_c_function_definition): Likewise.
10865 (pp_c_init_declarator): Likewise.
10866 (pp_c_initializer_list): Likewise.
10867 (pp_c_constructor_elts): Likewise.
10868 (c_pretty_printer::direct_abstract_declarator): Likewise.
10869 (c_pretty_printer::declaration_specifiers): Likewise.
10870 (c_pretty_printer::primary_expression): Likewise.
10871 (c_pretty_printer::postfix_expression): Likewise.
10872 (c_pretty_printer::type_id): Rename from pp_c_type_id.
10873 (c_pretty_printer::storage_class_specifier): Rename from
10874 pp_c_storage_class_specifier.
10875 (c_pretty_printer::initializer): Rename from pp_c_initializer.
10876 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10877 storage_class_specifier, initializer, offset_list, flags.
10878
de5a5fa1
MP
108792013-08-30 Marek Polacek <polacek@redhat.com>
10880
10881 * c-ubsan.c: New file.
10882 * c-ubsan.h: New file.
10883
8f0e4d72
GDR
108842013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10885
10886 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10887 member function.
10888 (c_pretty_printer::declaration_specifiers): Likewise.
10889 (c_pretty_printer::declarator): Likewise.
10890 (c_pretty_printer::abstract_declarator): Likewise.
10891 (c_pretty_printer::direct_abstract_declarator): Likewise.
10892 (c_pretty_printer::direct_declarator): Likewise.
10893 (c_pretty_printer::function_specifier): Likewise.
10894 (pp_declaration): Adjust.
10895 (pp_declaration_specifiers): Likewise.
10896 (pp_abstract_declarator): Likewise.
10897 (pp_direct_declarator): Likewise.
10898 (pp_function_specifier): Likewise.
10899 (pp_direct_abstract_declarator): Remove as unused.
10900 (pp_c_declaration): Remove.
10901 (pp_c_declaration_specifiers): Likewise.
10902 (pp_c_declarator): Likewise.
10903 (pp_c_direct_declarator): Likewise.
10904 (pp_c_function_specifier): Likewise.
10905 (pp_c_direct_abstract_declarator): Likewise.
10906 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10907 from pp_c_abstract_declarator. Adjust.
ab20d992 10908 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10909 pp_c_direct_abstract_declarator. Adjust.
10910 (c_pretty_printer::function_specifier): Rename from
10911 pp_c_function_specifier. Adjust.
10912 (c_pretty_printer::declaration_specifiers): Rename from
10913 pp_c_declaration_specifiers. Adjust.
10914 (c_pretty_printer::direct_declarator): Rename from
10915 pp_c_direct_declarator. Adjust.
10916 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10917 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10918 (c_pretty_printer::c_pretty_printer): Do not assign to
10919 declaration, declaration_specifiers, declarator,
10920 direct_declarator, direct_abstract_declarator, function_specifier.
10921
00d34d3a
GDR
109222013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10923
10924 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10925 virtual member function.
10926 (c_pretty_printer::multiplicative_expression): Likewise.
10927 (c_pretty_printer::conditional_expression): Likewise.
10928 (c_pretty_printer::assignment_expression): Likewise.
10929 (c_pretty_printer::expression): Likewise.
10930 (pp_unary_expression): Adjust.
10931 (pp_multiplicative_expression): Likewise.
10932 (pp_assignment_expression): Likewise.
10933 (pp_conditional_expression): Likewise.
10934 (pp_expression): Likewise.
10935 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10936 from pp_c_unary_expression. Adjust.
10937 (c_pretty_printer::multiplicative_expression): Rename from
10938 pp_c_multiplicative_expression. Adjust.
10939 (c_pretty_printer::conditional_expression): Rename from
10940 pp_c_conditional_expression. Adjust.
10941 (c_pretty_printer::assignment_expression): Rename from
10942 pp_c_assignment_expression. Adjust.
10943 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10944 (c_pretty_printer::c_pretty_printer): Do not assign to
10945 unary_expression, multiplicative_expression,
10946 conditional_expression, expression.
10947
fb22178f
GDR
109482013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10949
10950 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10951 virtual member function.
10952 (pp_postfix_expression): Adjust.
10953 (pp_c_postfix_expression): Remove.
10954 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10955 from pp_c_postfix_expression. Adjust.
10956 (c_pretty_printer::c_pretty_printer): Do not assign to
10957 postfix_expression.
10958
7ecc2600
GDR
109592013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10960
10961 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10962 virtua member function.
10963 (pp_primary_expression): Adjust.
10964 (pp_c_primary_expression): Remove.
10965 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10966 from pp_c_primary_expression. Adjust.
10967 (pp_c_initializer_list): Use pp_primary_expression.
10968 (c_pretty_printer::c_pretty_printer): Do not assign to
10969 primary_expression.
10970
0691175f
GDR
109712013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10972
10973 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10974 * c-pretty-print.c (M_): Remove.
10975 (c_pretty_printer::translate_string): Define.
10976 (pp_c_type_specifier): Use it.
10977 (pp_c_primary_expression): Likewise.
10978 (pp_c_expression): Likewise.
10979
66dfe4c4
GDR
109802013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10981
10982 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10983 virtual function.
10984 (pp_c_id_expression): Remove.
10985 (pp_id_expression): Adjust.
10986 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10987 pp_c_id_expression. Adjust.
10988 (pp_c_postfix_expression): Use pp_id_expression.
10989 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10990
ca43e9d5
GDR
109912013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10992
10993 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10994 member function.
10995 (pp_constant): Adjust.
10996 (pp_c_constant): Remove.
10997 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10998 pp_c_constant. Adjust.
10999 (pp_c_constant)
11000 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
11001 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
11002
da6ca2b5
GDR
110032013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11004
11005 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
11006 (c_pretty_printer::c_pretty_printer): Declare.
11007 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
11008 c_pretty_printer_init. Adjust.
11009 (print_c_tree): Do not call c_pretty_printer_init.
11010 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
11011
65a372f4
AC
110122013-08-09 Arnaud Charlet <charlet@adacore.com>
11013
11014 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
11015
fd9b0f32
PC
110162013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
11017
11018 PR c++/58080
11019 * c-common.c (pointer_int_sum): Add bool parameter.
11020 * c-common.h (pointer_int_sum): Adjust declaration.
11021
e0aec1e9
GDR
110222013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
11023
11024 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
11025 c_pretty_printer variable.
11026
b066401f
GDR
110272013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
11028
11029 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
11030 (pp_base): Remove.
11031 (pp_c_base): Likewise. Adjust users.
11032 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
11033 (pp_c_whitespace): Do not call pp_base.
11034 (pp_c_left_paren): Likewise.
11035 (pp_c_right_paren): Likewise.
11036 (pp_c_left_brace): Likewise.
11037 (pp_c_right_brace): Likewise.
11038 (pp_c_left_bracket): Likewise.
11039 (pp_c_right_bracket): Likewise.
11040 (pp_c_dot): Likewise.
11041 (pp_c_ampersand): Likewise.
11042 (pp_c_star): Likewise.
11043 (pp_c_arrow): Likewise.
11044 (pp_c_semicolon): Likewise.
11045 (pp_c_complement): Likewise.
11046 (pp_c_exclamation): Likewise.
11047 (pp_c_direct_declarator): Likewise.
11048 (pp_c_ws_string): Likewise.
11049 (pp_c_identifier): Likewise.
11050 (pp_c_statement): Likewise.
11051 (print_c_tree): Likewise.
11052
65e5a578
ESR
110532013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
11054
11055 PR c++/58072
11056 * c-common.c (c_parse_error): Catch user-defined literal tokens and
11057 provide useful error strings.
11058
137a1a27
GDR
110592013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11060
11061 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
11062 printer functions instead of pp_string or operators and punctuators.
11063 (dump_generic_ada_node): Likewise.
11064 * c-pretty-print.c (pp_c_type_specifier): Likewise.
11065 (pp_c_relational_expression): Likewise.
11066 (pp_c_logical_or_expression): Likewise.
11067
07838b13
GDR
110682013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11069
11070 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
11071 functions instead of pp_character.
11072 (pp_ada_tree_identifier): Likewise.
11073 (dump_ada_double_name): Likewise.
11074 (dump_ada_function_declaration): Likewise.
11075 (dump_ada_array_domains): Likewise.
11076 (dump_template_types): Likewise.
11077 (dump_generic_ada_node): Likewise.
11078 (print_ada_declaration): Likewise.
11079 (print_ada_struct_decl): Likewise.
11080 * c-pretty-print.c (pp_c_integer_constant): Likewise.
11081
433cc7b0
TT
110822013-07-23 Tom Tromey <tromey@redhat.com>
11083
11084 * c-common.h (enum rid) <RID_GENERIC>: New constant.
11085 * c-common.c (c_common_reswords): Add _Generic.
11086
688010ba
OB
110872013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
11088
11089 * c-common.c: Fix typos.
11090 * c-common.h: Likewise.
11091
2a99e5e6
LL
110922013-07-13 Lubos Lunak <l.lunak@suse.cz>
11093
11094 PR c++/55203
11095 * c-common.c (c_common_attribute_table): Add warn_unused.
11096 (handle_warn_unused_attribute): New.
11097
c26302d5
JJ
110982013-07-10 Jakub Jelinek <jakub@redhat.com>
11099
11100 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
11101 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
11102
dfeadaa0
PC
111032013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
11104
11105 PR c++/57869
11106 * c.opt: Add Wconditionally-supported.
11107
6a2fa4b2
GS
111082013-07-08 Graham Stott <graham.stott@btinternet.com>
11109
adfac8df 11110 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
11111 unused variables l_length and l_node.
11112
ecdbd01a 111132013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
11114
11115 PR c/57821
11116 * c-common.c (complete_array_type): Delay folding first index
11117 like other indices. When folding, check for index overflow.
11118
bedc293e
MG
111192013-06-27 Marc Glisse <marc.glisse@inria.fr>
11120
11121 PR c++/57509
11122 * c-common.h (c_build_vec_perm_expr): New complain argument.
11123 * c-common.c (c_build_vec_perm_expr): Likewise.
11124 Use save_expr also in C++.
11125
604b2bfc
GDR
111262013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
11127
11128 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
11129 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11130 * c-opts.c (c_common_post_options): Likewise.
11131
dfeadaa0 111322013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
11133
11134 * array-notation-common.c (length_mismatch_in_expr): Changed the
11135 parameter type's from a dynamic array to a vec_tree. Also removed
11136 the size parameters.
11137 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
11138 the change above.
11139
2ce86d2e
BI
111402013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
11141
11142 * c-common.h (struct cilkplus_an_parts): New structure.
11143 (struct cilkplus_an_loop_parts): Likewise.
11144 (cilkplus_extract_an_triplets): New prototype.
11145 (fix_sec_implicit_args): Likewise.
11146 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
11147 (fix_sec_implicit_args): Likewise.
604b2bfc 11148
07a6825b
BI
111492013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
11150
11151 * array-notation-common.c (find_inv_trees): Removed an unwanted
11152 typecasting.
11153 * c-common.h (struct inv_list::additional_tcodes): Changed type from
11154 enum rid to enum tree_code.
11155
08346abd
JH
111562013-06-11 Jan Hubicka <jh@suse.cz>
11157
11158 * c-common.c (handle_alias_ifunc_attribute): Do not set
11159 DECL_EXTERNAL for weakref variables.
11160 * c-pragma.c (handle_pragma_weak): Make sure aliases
11161 are not declared as external.
11162
d60f1706
BI
111632013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
11164
11165 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
11166 function from c/c-array-notation.c.
11167 (is_cilkplus_reduce_builtin): Likewise.
11168 (find_rank): Likewise.
11169 (extract_array_notation_exprs): Likewise.
11170 (replace_array_notations): Likewise.
11171 (find_inv_trees): Likewise.
11172 (replace_inv_trees): Likewise.
11173 (contains_array_notation_expr): Likewise.
11174 (find_correct_array_notation_type): Likewise.
11175 * c-common.h (struct inv_list): Moved this struct from the file
11176 c/c-array-notation.c and added a new field called additional tcodes.
11177 (length_mismatch_in_expr_p): New prototype.
11178 (is_cilkplus_reduce_builtin): Likewise.
11179 (find_rank): Likewise.
11180 (extract_array_notation_exprs): Likewise.
11181 (replace_array_notation): Likewise.
11182 (find_inv_trees): Likewise.
11183 (replace_inv_trees): Likewise.
11184 (find_correct_array_notation_type): Likewise.
dfeadaa0 11185
36536d79
BI
111862013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
11187
11188 * c-common.c (c_define_builtins): When cilkplus is enabled, the
11189 function array_notation_init_builtins is called.
11190 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
11191 * c-common.def (ARRAY_NOTATION_REF): New tree.
11192 * c-common.h (build_array_notation_expr): New function declaration.
11193 (build_array_notation_ref): Likewise.
11194 (extract_sec_implicit_index_arg): New extern declaration.
11195 (is_sec_implicit_index_fn): Likewise.
11196 (ARRAY_NOTATION_CHECK): New define.
11197 (ARRAY_NOTATION_ARRAY): Likewise.
11198 (ARRAY_NOTATION_START): Likewise.
11199 (ARRAY_NOTATION_LENGTH): Likewise.
11200 (ARRAY_NOTATION_STRIDE): Likewise.
11201 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
11202 ARRAY_NOTATION_REF.
11203 (pp_c_expression): Likewise.
11204 * c.opt (flag_enable_cilkplus): New flag.
11205 * array-notation-common.c: New file.
11206
f7716d57
JJ
112072013-05-14 Jakub Jelinek <jakub@redhat.com>
11208
11209 PR c++/57274
11210 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
11211
a5e0cd1d
MG
112122013-05-10 Marc Glisse <marc.glisse@inria.fr>
11213
11214 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
11215 vectors.
11216
f6bc1c4a
HS
112172013-05-07 Han Shen <shenhan@google.com>
11218
11219 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
11220
3f12f6e9
SKS
112212013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11222
11223 * c-common.c (check_user_alignment): Emit error for negative values.
11224
61949153
PC
112252013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11226
11227 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
11228
e93e18e9
PC
112292013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11230
11231 * c-cppbuiltin.c (c_cpp_builtins): Do not define
11232 __GXX_EXPERIMENTAL_CXX1Y__.
11233
44d90fe1 112342013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 11235 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
11236
11237 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
11238 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
11239 to simply use OPT_Wpointer_arith.
11240 (c_sizeof_or_alignof_type): Likewise.
11241
13f39b2e
PC
112422013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11243
11244 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
11245
4b84d650
JJ
112462013-04-12 Jakub Jelinek <jakub@redhat.com>
11247
11248 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
11249 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
11250 specifiers.
11251
fb037b5d
SB
112522013-04-07 Steven Bosscher <steven@gcc.gnu.org>
11253
11254 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
11255
4e856798
PC
112562013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
11257
11258 * c-common.c (pointer_int_sum): Remove dead code.
11259
4b1baac8
RS
112602013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
11261
11262 PR middle-end/56524
11263 * c-common.c (handle_optimize_attribute): Don't call
11264 save_optabs_if_changed.
11265
0b50e654
JJ
112662013-03-05 Jakub Jelinek <jakub@redhat.com>
11267
11268 PR middle-end/56461
11269 * c-pch.c (pch_init): Free target_validity at the end.
11270
48c41403
JJ
112712013-03-04 Jakub Jelinek <jakub@redhat.com>
11272
11273 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
11274
e664c61c
KS
112752013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
11276 Jakub Jelinek <jakub@redhat.com>
11277
11278 PR sanitizer/56454
11279 * c-common.c (handle_no_sanitize_address_attribute): New function.
11280 (c_common_attribute_table): Add no_sanitize_address attribute.
11281 (handle_no_address_safety_analysis_attribute): Add
11282 no_sanitize_address attribute, not no_address_safety_analysis
11283 attribute.
11284
a475fd3d 112852013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
11286
11287 PR target/52555
11288 * c-common.c (handle_optimize_attribute): Call
11289 save_optabs_if_changed.
11290
f6007d99
JJ
112912013-02-18 Jakub Jelinek <jakub@redhat.com>
11292 Steven Bosscher <steven@gcc.gnu.org>
11293
11294 PR pch/54117
11295 * c-opts.c (c_common_post_options): If debug info is enabled
11296 and non-dwarf*, refuse to load PCH files and when writing PCH
11297 file warn.
11298
cf35e2b1
JJ
112992013-02-05 Jakub Jelinek <jakub@redhat.com>
11300
11301 PR middle-end/56167
11302 * c-common.c (handle_error_attribute): Fix condition.
11303
32887460
JJ
113042013-01-30 Jakub Jelinek <jakub@redhat.com>
11305
11306 PR c++/55742
11307 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
11308
5af057d8
JM
113092013-01-18 Jason Merrill <jason@redhat.com>
11310
11311 PR target/54908
11312 * c.opt (-fextern-tls-init): New.
11313 * c-opts.c (c_common_post_options): Handle it.
11314
cc83c823
JJ
113152013-01-09 Jakub Jelinek <jakub@redhat.com>
11316
11317 PR c/48418
11318 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
11319 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
11320 and is either negative or bigger or equal to type precision
11321 of the first operand.
11322
a859517f
MP
113232012-12-03 Marek Polacek <polacek@redhat.com>
11324
11325 PR c/55570
11326 * c-common.c (check_user_alignment): Swap order of tests,
11327 check TREE_CODE first.
11328
2d7aa578
ESR
113292012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
11330
11331 PR c++/52654
11332 * c-common.h (overflow_type): New enum.
11333 (build_userdef_literal): Add overflow_type argument.
11334 (tree_userdef_literal): Add overflow_type.
11335 (USERDEF_LITERAL_OVERFLOW): New access macro.
11336 * c-common.c (build_userdef_literal): Add overflow_type
11337 argument.
11338 * c-lex.c (c_lex_with_flags): Add overflow_type to
11339 build_userdef_literal calls.
11340 (interpret_integer, interpret_float): Add overflow_type argument.
11341
cc3c4f62
RB
113422012-11-28 Richard Biener <rguenther@suse.de>
11343
11344 PR c/35634
11345 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11346 here and use a type with proper overflow behavior for types that would
11347 need to be promoted for the arithmetic.
11348
77bc5132
JJ
113492012-11-23 Jakub Jelinek <jakub@redhat.com>
11350
11351 PR sanitizer/55435
11352 * c-common.c (handle_no_address_safety_analysis_attribute): New
11353 function.
11354 (c_common_attribute_table): Add no_address_safety_analysis.
11355
5dc99c46
SB
113562012-11-16 Simon Baldwin <simonb@google.com>
11357
11358 * c.opt: Add f[no-]canonical-system-headers.
11359 * c-opts.c (c_common_handle_option): Handle
11360 OPT_fcanonical_system_headers.
11361
a4a0016d
ESR
113622012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
11363
11364 PR c++/54413
11365 * c-opts.c (c_common_handle_option): Set new flags.
11366 * c.opt: Describe new flags.
11367
7dbb85a7
JM
113682012-11-09 Jason Merrill <jason@redhat.com>
11369
11370 * c.opt (Wabi-tag): New.
11371
ad7bac31
AK
113722012-11-09 Andi Kleen <ak@linux.intel.com>
11373
11374 PR 55139
11375 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 11376 MEMMODEL_MASK
ad7bac31 11377
7332899a
MLI
113782012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11379
11380 PR c/53063
11381 * c.opt (Wformat): Make it Alias Wformat=1.
11382 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
11383 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
11384 LangEnabledBy.
11385 (Wformat=): RejectNegative. Use LangEnabledBy.
11386 (Wnonnull): Use LangEnabledBy.
11387 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
11388 * c-format.c (set_Wformat): Delete.
11389 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
11390 (maybe_read_dollar_number): Likewise.
11391 (avoid_dollar_number): Likewise.
11392 (finish_dollar_format_checking): Likewise.
11393 (check_format_info): Likewise.
11394 (check_format_info_main): Likewise.
11395 (check_format_types): Likewise.
11396 (format_type_warning): Likewise.
11397 * c-common.c (int): Likewise.
11398 (check_function_sentinel): Likewise.
8e745a17 11399 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 11400
34a180a6
MLI
114012012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11402
11403 PR c/53063
11404 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
11405 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
11406 Use LangEnabledBy.
11407 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
11408 common.opt.
11409 (Wvariadic-macros): Init(1).
11410 * c-opts.c (c_common_handle_option): Do not handle them
11411 explicitly.
11412 (c_common_post_options): Likewise.
11413 (sanitize_cpp_opts): warn_unused_macros is now
11414 cpp_warn_unused_macros.
11415 (push_command_line_include): Likewise.
11416 * c-common.c (warn_unknown_pragmas): Do not define.
11417 * c-common.h (warn_unknown_pragmas): Do not declare.
11418
3f46d6a5
MLI
114192012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11420
11421 PR c/51294
11422 * c-common.c (conversion_warning): Handle conditional expressions.
11423
880661a4
JW
114242012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
11425
11426 PR c++/54930
11427 * c.opt (Wreturn_local_addr): Define new option.
11428
4514a96b
JM
114292012-10-25 Jason Merrill <jason@redhat.com>
11430
f14edc1a
JM
11431 * c.opt (Wvirtual-move-assign): New.
11432
4514a96b
JM
11433 * c.opt (Winherited-variadic-ctor): New.
11434
93100c6b
MG
114352012-10-25 Marc Glisse <marc.glisse@inria.fr>
11436
11437 PR c++/54427
11438 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
11439
1efcb8c6
JM
114402012-10-23 Joseph Myers <joseph@codesourcery.com>
11441
11442 * c-common.h (pch_cpp_save_state): Declare.
11443 * c-target.def (c_preinclude): New hook.
11444 * c-opts.c (done_preinclude): New.
11445 (push_command_line_include): Handle default preincluded header.
11446 (cb_file_change): Call pch_cpp_save_state when calling
11447 push_command_line_include.
11448 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
11449 (pch_cpp_save_state): New.
11450 (pch_init): Call pch_cpp_save_state conditionally, instead of
11451 calling cpp_save_state.
11452
4a0ae68e
MLI
114532012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
11454
11455 PR c/53063
11456 PR c/40989
11457 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
11458 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
11459 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
11460 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
11461 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
11462 * c-opts.c (c_common_handle_option): Remove explicit handling from
11463 here.
11464 (c_common_post_options): Likewise.
11465
67e4210b
EB
114662012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11467
11468 * c-ada-spec.c (LOCATION_COL): Delete.
11469 (compare_location): New function.
11470 (compare_node): Use it.
11471 (compare_comment): Likewise.
11472
65d4f2cd
MLI
114732012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11474
11475 PR c/53063
11476 PR c/40989
11477 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11478 * c-opts.c (c_common_handle_option): Do not set them here. Add
11479 comment.
11480 (c_common_post_options): Likewise.
11481
909881cb
EB
114822012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11483
11484 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11485 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11486 Remove POINTER_TYPE handling, add large unsigned handling and use
11487 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11488
3a785c97
JJ
114892012-10-12 Jakub Jelinek <jakub@redhat.com>
11490
11491 PR c/54381
11492 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11493 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11494 locs and array of 3 trees instead of just single loc and single
11495 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11496 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11497 For *cmp* builtins that take two sources strings report warnings
11498 about first and second source, not about destination and source.
11499
5e54f81d
MG
115002012-10-12 Marc Glisse <marc.glisse@inria.fr>
11501
11502 PR c++/53055
11503 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11504
f5b02f1e
EB
115052012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11506
11507 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11508 declaring something coming from another file.
11509
b46dbc6c
AC
115102012-10-10 Arnaud Charlet <charlet@adacore.com>
11511
f5b02f1e 11512 PR ada/54845
b46dbc6c
AC
11513 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11514
5d9de0d0
PC
115152012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11516
11517 PR c++/54194
11518 * c-common.c (warn_about_parentheses): Add location_t parameter;
11519 use EXPR_LOC_OR_LOC.
11520 * c-common.h: Update declaration.
11521
a212e43f
MG
115222012-10-09 Marc Glisse <marc.glisse@inria.fr>
11523
11524 PR c++/54427
11525 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11526 more operations. Make error messages optional.
11527 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11528 (scalar_to_vector): Declare.
11529
b1db7f91
JM
115302012-10-08 Jason Merrill <jason@redhat.com>
11531
11532 * c-common.c (c_common_reswords): Add thread_local.
11533
e28d52cf
DS
115342012-10-08 Dodji Seketeli <dodji@redhat.com>
11535
11536 PR c++/53528 C++11 attribute support
11537 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11538 new functions.
11539 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11540 static function.
11541 (handle_aligned_attribute): In choose strictest alignment
11542 among many. Use new check_cxx_fundamental_alignment_constraints.
11543 (handle_transparent_union_attribute): In c++11 attribute syntax,
11544 don't look through typedefs.
11545
3b78de56
AC
115462012-10-04 Arnaud Charlet <charlet@adacore.com>
11547
11548 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11549 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11550 out of dumpfile.h.
11551
6040bb5f
DC
115522012-09-25 Dehao Chen <dehao@google.com>
11553
11554 PR middle-end/54645
3b78de56 11555 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11556 map when read in the pch.
11557
3f8257db 115582012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11559
11560 * c-ada-spec.c: Style fixes.
11561
3f8257db 115622012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11563
11564 * c.opt (-fada-spec-parent): Define new command line switch.
11565 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11566 is specified, generate binding spec as a child of the specified unit.
11567
0ccb505d
PC
115682012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11569 Manuel López-Ibáñez <manu@gcc.gnu.org>
11570
11571 PR c++/53210
11572 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11573
c583af79
AC
115742012-08-23 Arnaud Charlet <charlet@adacore.com>
11575
11576 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11577 for pointers, and add missing Convention C pragma.
11578 (print_ada_struct_decl): Add missing aliased keyword.
11579 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11580
1a4049e7
JJ
115812012-08-17 Jakub Jelinek <jakub@redhat.com>
11582
11583 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11584 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11585 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11586 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11587 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11588
70b5e7dc
RG
115892012-08-10 Richard Guenther <rguenther@suse.de>
11590
11591 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11592
f8923f7e
SB
115932012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11594
11595 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11596 instead of separate pp_newline and pp_flush.
11597 (print_c_tree): Likewise.
11598
e45abe1f
RH
115992012-07-26 Richard Henderson <rth@redhat.com>
11600
11601 * c-common.c (handle_hot_attribute): Allow labels.
11602 (handle_cold_attribute): Likewise.
11603
332f1d24
JJ
116042012-07-20 Jakub Jelinek <jakub@redhat.com>
11605
11606 PR c++/28656
11607 * c-common.c (check_function_nonnull): Handle multiple nonnull
11608 attributes properly.
11609
7ee2468b
SB
116102012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11611
11612 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11613 * c-ada-spec.c: Likewise.
11614 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11615
ee7b28eb
SB
116162012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11617
11618 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11619 Remove code conditional on it.
11620
6bdf3519
SB
116212012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11622
11623 * c-gimplify.c: Do not include basic-block.h.
11624 * c-common.c: Do not include linfuncs.h.
11625
532aafad
SB
116262012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11627
11628 * c-common.h: Include tree.h.
11629
8d0d1915
JM
116302012-07-02 Jason Merrill <jason@redhat.com>
11631
11632 PR c++/53524
11633 * c-common.c (get_priority): Call default_conversion.
11634
fbc873ad
UB
116352012-07-01 Uros Bizjak <ubizjak@gmail.com>
11636
11637 * c-pch.c (c_common_write_pch): Remove unused variables.
11638
d4a10d0a
SB
116392012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11640
11641 * cppspec.c: Moved from gcc/ to here.
11642
6f3a2e23
KT
116432012-06-27 Kai Tietz <ktietz@redhat.com>
11644
11645 PR preprocessor/37215
11646 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11647
8ca92d04
SB
116482012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11649
11650 * c-common.h (c_common_print_pch_checksum): Remove.
11651 * c-pch.c: Do not include output.h.
11652 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11653 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11654 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11655 (struct c_pch_header): Remove.
11656 (get_ident): Update gpch version.
11657 (pch_init): Do not print executable_checksum to asm_out_file.
11658 Do not fail if there is no asm_out_file to read back from. Set
11659 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11660 (c_common_write_pch): Verify that nothing was written to asm_out_file
11661 since pch_init was called. Do not write a c_pch_header, and do not
11662 copy from asm_out_file to the PCH.
11663 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11664 the content of asm_out_file from the PCH.
11665 (c_common_print_pch_checksum): Remove.
11666 * c-opts.c (c_common_init): Print out executable_checksum directly.
11667
70f42967
SB
116682012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11669
11670 * c-target.def (objc_declare_unresolved_class_reference,
11671 objc_declare_class_definition): Add new hooks.
11672
a8781821
SB
116732012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11674
11675 * c-lex.c: Do not include output.h.
11676 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11677 Remove uses of ASM_OUTPUT_IDENT.
11678
9e1a8dd1
RR
116792012-06-15 Marc Glisse <marc.glisse@inria.fr>
11680
11681 PR c++/51033
11682 * c-common.h (c_build_vec_perm_expr): Move decl here.
11683 * c-common.c (c_build_vec_perm_expr): Move definition
11684 here.
11685
6f07a821
SB
116862012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11687
11688 * c.opt (fconserve-space): Turn into a no-op.
11689
9faeb493 116902012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11691
11692 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11693 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11694 both the start and end of the function.
11695
a4b7d13c
SB
116962012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11697
11698 * c-common.c: Do not include output.h.
11699 * c-pragma.c: Likewise.
11700
c265f413
SA
117012012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11702
11703 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11704 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11705 (lang_decl_name): Handle namespace decls.
11706
be7a421e
SB
117072012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11708
11709 * c-ada-spec.c: Do not include output.h.
11710 * c-semantics.c: Likewise.
11711
65de6659
JM
117122012-05-29 Joseph Myers <joseph@codesourcery.com>
11713
11714 * c-common.c: Fix typo.
11715
ca5f4331
MM
117162012-05-29 Michael Matz <matz@suse.de>
11717
11718 * c-common.h (c_expand_decl): Remove prototype.
11719
4f7f7aca
MLI
117202012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11721
11722 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11723 * c-opts.c (c_common_handle_option): Remove code handling
11724 warn_missing_braces.
11725
4a792f9b
PC
117262012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11727
11728 PR c++/25137
11729 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11730 -Wmissing_braces.
11731
650dc14a
DS
117322012-05-22 Dodji Seketeli <dodji@redhat.com>
11733
11734 PR c++/53322
11735 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11736
9b095bf1
MLI
117372012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11738
11739 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11740 * c-opts.c (c_common_handle_option): Do not handle explicitly
11741 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11742
0b2c4be5
DS
117432012-05-16 Dodji Seketeli <dodji@redhat.com>
11744
11745 PR preprocessor/7263
ab20d992 11746 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11747 to cpp_classify_number. For diagnostics, use the precise location
11748 instead of the global input_location.
11749
a1bde5af
PC
117502012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11751
d02924ef 11752 PR c++/11856
a1bde5af
PC
11753 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11754
d1ede5f4
BS
117552012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11756
a1bde5af 11757 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11758
f2bc201f
MLI
117592012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11760
11761 PR 53063
11762 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11763 Wreorder): Use LangEnabledBy.
11764 * c-opts.c (c_common_handle_option): Do not enable them
11765 explicitly. Call lang-specific generated functions.
11766 (c_common_post_options): Do not set them here.
11767
95744782
MLI
117682012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11769
11770 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11771 Wmissing-field-initializers,Wmissing-parameter-type,
11772 Wold-style-declaration,Woverride-init): Use EnabledBy.
11773 * c-opts.c (c_common_post_options): Do not set here explicitly.
11774
7d5a5747
MLI
117752012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11776
11777 PR 53063
11778 * c-opts.c (c_common_handle_option): Use handle_generated_option
11779 to enable sub-options.
11780
5a3c9cf2
PC
117812012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11782
11783 PR c++/53158
11784 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11785
3ac8781c
RG
117862012-05-10 Richard Guenther <rguenther@suse.de>
11787
11788 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11789 adjust commentary about TYPE_IS_SIZETYPE types.
11790
1e537948
MLI
117912012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11792
11793 PR c++/53261
11794 * c-common.c (warn_logical_operator): Check that argument of
11795 integer_zerop is not NULL.
11796
f2c4a785
MLI
117972012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11798
11799 PR c/43772
11800 * c-common.c (warn_logical_operator): Do not warn if either side
11801 is already true or false.
11802
50f305ca
MLI
118032012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11804
11805 PR c/51712
11806 * c-common.c (expr_original_type): New.
11807 (shorten_compare): Do not warn for enumeration types.
11808
0c3641b0
MLI
118092012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11810
11811 * c.opt (fpermissive): Add Var(flag_permissive).
11812
7edaa4d2
MG
118132012-04-30 Marc Glisse <marc.glisse@inria.fr>
11814
11815 PR c++/51033
11816 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11817 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11818
b9c8da34
DS
118192012-04-30 Dodji Seketeli <dodji@redhat.com>
11820
11821 Add -Wvarargs option
ab20d992 11822 * c.opt (Wvarargs): Define new option.
b9c8da34 11823
e6c69da0
MLI
118242012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11825
11826 * c-common.c (check_function_arguments): Replace
11827 Wmissing-format-attribute with Wsuggest-attribute=format.
11828
90137d8f
MLI
118292012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11830
11831 * c.opt (Wsuggest-attribute=format): New. Alias of
11832 Wmissing-format-attribute.
11833 * c-format.c (decode_format_type): Replace
11834 Wmissing-format-attribute with Wsuggest-attribute=format.
11835 (check_function_format): Likewise.
11836
9faeb493 118372012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11838
11839 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11840 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11841 * c.opt: Add Wliteral-suffix.
11842
c1771a20
MLI
118432012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11844
11845 PR c/44774
11846 * c.opt (Wpedantic): New.
11847 (pedantic): Alias Wpedantic.
11848 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11849 (c_common_post_options): Likewise.
11850 (sanitize_cpp_opts): Likewise.
11851 * c-lex.c (interpret_float): Likewise.
11852 * c-format.c (check_format_types): Likewise.
11853 * c-common.c (pointer_int_sum): Likewise.
11854 (c_sizeof_or_alignof_type): Likewise.
11855 (c_add_case_label): Likewise.
11856 (c_do_switch_warnings): Likewise.
11857 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11858
04b391c1
JM
118592012-04-15 Jason Merrill <jason@redhat.com>
11860
11861 PR c++/52818
11862 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11863 (C_STD_NAME): Distinguish between C++98 and C++11.
11864
ac868f29
EB
118652012-04-11 Eric Botcazou <ebotcazou@adacore.com>
11866
11867 PR target/52624
11868 * c-common.h (uint16_type_node): Rename into...
11869 (c_uint16_type_node): ...this.
11870 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11871 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11872
fd4116f4
MLI
118732012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
11874
11875 * c-common.c (warn_if_unused_value): Move definition to here.
11876 * c-common.h (warn_if_unused_value): Move declaration to here.
11877
573ac65e
WB
118782012-03-23 William Bader <williambader@hotmail.com>
11879
11880 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11881
552b8185
JM
118822012-03-20 Jason Merrill <jason@redhat.com>
11883
11884 * c-common.h (enum cxx_dialect): Add cxx1y.
11885 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11886 test.
11887 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11888 * c-opts.c (c_common_post_options): Likewise.
11889 (set_std_cxx1y): New.
11890 (c_common_handle_option): Call it.
11891 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11892
04398fa8
PC
118932012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11894
11895 PR c++/14710
11896 * c.opt ([Wuseless-cast]): Add.
11897
d2a12ae7
RG
118982012-03-16 Richard Guenther <rguenther@suse.de>
11899
11900 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11901
a12bf402
MLI
119022012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11903
11904 PR c++/44783
11905 * c.opt (ftemplate-backtrace-limit) Add.
11906
5c30094f
RO
119072012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11908
11909 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11910 handling.
11911 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11912 (init_pragma): Don't register extern_prefix.
11913
21fa2faf
RG
119142012-03-12 Richard Guenther <rguenther@suse.de>
11915
11916 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11917 (builtin_type_for_size): Likewise.
11918
e3793c6f
JJ
119192012-02-13 Jakub Jelinek <jakub@redhat.com>
11920
11921 PR c++/52215
11922 * c-common.c (sync_resolve_params): Don't decide whether to convert
11923 or not based on TYPE_SIZE comparison, convert whenever arg_type
11924 is unsigned INTEGER_TYPE.
11925
93286335
PC
119262012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11927
11928 PR c/52118
11929 * c.opt ([Wunused-local-typedefs]): Fix description.
11930
7a421706
MS
119312012-01-24 Mike Stump <mikestump@comcast.net>
11932
11933 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11934 exactly.
11935
ba9b1f11
RG
119362012-01-18 Richard Guenther <rguenther@suse.de>
11937
11938 * c-opts.c (c_common_post_options): Reset LTO flags if
11939 we are about to generate a PCH.
11940
465406be
PC
119412012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11942
11943 PR c++/51777
11944 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11945 use pp_unsigned_wide_integer.
11946
aee15221
RG
119472012-01-10 Richard Guenther <rguenther@suse.de>
11948
11949 PR middle-end/51806
11950 * c-opts.c (c_common_handle_option): Move -Werror handling
11951 to language independent code.
11952
5720c0dc
RG
119532012-01-05 Richard Guenther <rguenther@suse.de>
11954
11955 PR middle-end/51764
11956 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11957 from common.opt.
11958
73ac190a
PC
119592011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11960
11961 PR c++/51316
11962 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11963 of array types with an unknown bound.
11964
48b0b196
JM
119652011-12-20 Joseph Myers <joseph@codesourcery.com>
11966
11967 * c-common.c (flag_isoc99): Update comment to refer to C11.
11968 (flag_isoc1x): Change to flag_isoc11.
11969 * c-common.h (flag_isoc99): Update comment to refer to C11.
11970 (flag_isoc1x): Change to flag_isoc11.
11971 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11972 C11.
11973 * c-opts.c (set_std_c1x): Change to set_std_c11.
11974 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11975 Call set_std_c11.
11976 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11977 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11978 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11979 standard.
11980 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11981 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11982 (std=gnu1x): Make alias of std=gnu11.
11983
d58d6eb5
JM
119842011-12-19 Jason Merrill <jason@redhat.com>
11985
11986 PR c++/51228
11987 * c-common.c (handle_transparent_union_attribute): Check the first
11988 field if the type is complete.
11989
b3908fcc
JW
119902011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11991
11992 PR libstdc++/51365
11993 * c-common.c (RID_IS_FINAL): Add.
11994 * c-common.h (RID_IS_FINAL): Add.
11995
fea3ca91
IS
119962011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11997
11998 * c.opt (fgnu-runtime): Provide full description.
11999 (fnext-runtime): Likewise.
12000 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
12001
62bad7cd
AM
120022011-11-28 Andrew MacLeod <amacleod@redhat.com>
12003
12004 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
12005 predefines in one place. Add LOCK_FREE predefines.
12006 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
12007 new func.
12008
c466c4ff
AM
120092011-11-24 Andrew MacLeod <amacleod@redhat.com>
12010
12011 PR c/51256
9faeb493 12012 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 12013 conditions
9faeb493
UB
12014 (resolve_overloaded_atomic_exchange,
12015 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
12016 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
12017 error_mark_node for error conditions.
9faeb493 12018
a5952633
RG
120192011-11-08 Richard Guenther <rguenther@suse.de>
12020
12021 PR middle-end/51010
ab20d992 12022 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 12023
0a35513e
AH
120242011-11-07 Richard Henderson <rth@redhat.com>
12025 Aldy Hernandez <aldyh@redhat.com>
12026 Torvald Riegel <triegel@redhat.com>
12027
12028 Merged from transactional-memory.
12029
12030 * c-common.c (handle_tm_wrap_attribute,
12031 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
12032 (struct c_common_reswords): Added __transaction* keywords.
12033 (struct c_common_attribute_table): Added transaction* and tm_regparm
12034 attributes.
12035 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
12036 masks.
12037 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
12038 find_tm_attribute): Declare.
12039
6d87092d
JM
120402011-11-07 Jason Merrill <jason@redhat.com>
12041
12042 PR c++/35688
12043 * c-common.c, c-common.h: Revert yesterday's changes.
12044
8e7860a1
JM
120452011-11-06 Jason Merrill <jason@redhat.com>
12046
12047 PR c++/35688
12048 * c-common.c (decl_has_visibility_attr): Split out from...
12049 (c_determine_visibility): ...here.
12050 * c-common.h: Declare it.
12051
d19fa6b5
JM
120522011-11-06 Joseph Myers <joseph@codesourcery.com>
12053
12054 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
12055 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
12056 type.
12057 (check_user_alignment): New. Split out of
12058 handle_aligned_attribute. Disallow integer constants with
12059 noninteger types. Conditionally allow zero.
12060 (handle_aligned_attribute): Use check_user_alignment.
12061 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
12062
86951993
AM
120632011-11-06 Andrew MacLeod <amacleod@redhat.com>
12064 Richard Henderson <rth@redhat.com>
12065
12066 Merged from cxx-mem-model.
12067
12068 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 12069 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
12070 parameters that are the same type size.
12071 (get_atomic_generic_size): New. Find size of generic
12072 atomic function parameters and do typechecking.
12073 (add_atomic_size_parameter): New. Insert size into parameter list.
12074 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
12075 either __atomic_exchange_n or external library call.
9faeb493 12076 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 12077 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 12078 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
12079 __atomic_load_n or an external library call.
12080 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
12081 __atomic_store_n or an external library call.
12082 (resolve_overloaded_builtin): Handle new __atomic builtins.
12083
cf9e9959
EB
120842011-11-04 Eric Botcazou <ebotcazou@adacore.com>
12085
12086 PR c++/50608
12087 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
12088 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
12089 <INDIRECT_REF>: Return the argument.
12090 <ARRAY_REF>: Remove special code for negative offset.
12091 Call fold_build_pointer_plus instead of size_binop.
12092 (fold_offsetof): Remove STOP_REF argument and adjust.
12093 * c-common.h (fold_offsetof_1): Declare.
12094 (fold_offsetof): Remove STOP_REF argument.
12095
25339f10
JM
120962011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
12097
12098 PR c++/50810
12099 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12100 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12101 Wnarrowing for C++0x and C++98.
12102 * c.opt ([Wnarrowing]): Update.
12103
89401152
PC
121042011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
12105
12106 PR c++/44277
12107 * c.opt: Add Wzero-as-null-pointer-constant.
12108
97e3ad20
JM
121092011-10-31 Jason Merrill <jason@redhat.com>
12110
15694fdd
JM
12111 * c.opt (-fdeduce-init-list): Off by default.
12112
97e3ad20
JM
12113 PR c++/50920
12114 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
12115 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
12116 and -Wc++11-compat.
12117 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
12118
fb9120e3
RAV
121192011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
12120
12121 PR c++/30066
12122 * c.opt (fvisibility-inlines-hidden): Description change.
12123
3ce4f9e4
ESR
121242011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
12125
12126 Implement C++11 user-defined literals.
12127 * c-common.c (build_userdef_literal): New.
12128 * c-common.def: New tree code.
12129 * c-common.h (tree_userdef_literal): New tree struct and accessors.
12130 * c-lex.c (interpret_float): Add suffix parm.
12131 (c_lex_with_flags): Build literal tokens.
12132
5f53c243
PC
121332011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12134
12135 PR c++/50841
12136 Revert:
12137 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12138
12139 PR c++/50810
12140 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12141 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12142 Wnarrowing for C++0x and C++98.
12143 * c.opt ([Wnarrowing]): Update.
12144
263734e1
PC
121452011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
12146
12147 PR c++/50810
12148 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
12149 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
12150 Wnarrowing for C++0x and C++98.
12151 * c.opt ([Wnarrowing]): Update.
12152
d2e312d7
PC
121532011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
12154
12155 PR c++/45385
12156 * c-common.c (conversion_warning): Remove code looking for
12157 artificial operands.
12158
d17687f6
DS
121592011-10-18 Dodji Seketeli <dodji@redhat.com>
12160
12161 PR bootstrap/50760
12162 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 12163 !NO_IMPLICIT_EXTERN_C.
d17687f6 12164
fc8396e9
PC
121652011-10-17 Michael Spertus <mike_spertus@symantec.com>
12166
12167 * c-common.c (c_common_reswords): Add __bases,
12168 __direct_bases.
12169 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
12170
121712011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
12172
12173 PR c++/50757
12174 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
12175
847e697a
TT
121762011-10-15 Tom Tromey <tromey@redhat.com>
12177 Dodji Seketeli <dodji@redhat.com>
12178
12179 * c.opt (fdebug-cpp): New option.
12180 * c-opts.c (c_common_handle_option): Handle the option.
12181 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
12182 output stream in parameter. Factorized from ...
12183 (maybe_print_line): ... this. Dump location debug information when
12184 -fdebug-cpp is in effect.
12185 (print_line_1): New static function. Takes an output stream in
12186 parameter. Factorized from ...
12187 (print_line): ... here. Dump location information when -fdebug-cpp
12188 is in effect.
12189 (scan_translation_unit): Dump location information when
12190 -fdebug-cpp is in effect.
12191
92582b75
TT
121922011-10-15 Tom Tromey <tromey@redhat.com>
12193 Dodji Seketeli <dodji@redhat.com>
12194
12195 * c.opt (ftrack-macro-expansion): New option. Handle it with and
12196 without argument.
12197 * c-opts.c (c_common_handle_option)<case
12198 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
12199 cases. Handle -ftrack-macro-expansion with and without argument.
12200
46427374
TT
122012011-10-15 Tom Tromey <tromey@redhat.com>
12202 Dodji Seketeli <dodji@redhat.com>
12203
12204 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
12205 (print_line, cb_define, do_line_change): Adjust to avoid touching
12206 the internals of struct line_map. Use the public API instead.
12207 * c-pch.c (c_common_read_pch): Likewise.
12208 * c-lex.c (fe_file_change): Likewise.
12209
fc8396e9
PC
122102011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
12211
12212 PR c++/17212
12213 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
12214
122152011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
12216
12217 PR c++/33067
12218 * c-pretty-print.c (pp_c_floating_constant): Output
12219 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
12220
e79983f4
MM
122212011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
12222
12223 * c-common.c (def_builtin_1): Delete old interface with two
12224 parallel arrays to hold standard builtin declarations, and replace
12225 it with a function based interface that can support creating
12226 builtins on the fly in the future. Change all uses, and poison
12227 the old names. Make sure 0 is not a legitimate builtin index.
12228 * c-omp.c (c_finish_omp_barrier): Ditto.
12229 (c_finish_omp_taskwait): Ditto.
12230 (c_finish_omp_flush): Ditto.
12231
6637388f
TG
122322011-10-11 Tristan Gingold <gingold@adacore.com>
12233
12234 * c.opt: (fallow-parameterless-variadic-functions): New.
12235
3797cb21
DS
122362011-09-08 Dodji Seketeli <dodji@redhat.com>
12237
12238 PR c++/33255 - Support -Wunused-local-typedefs warning
12239 * c-common.h (struct c_language_function::local_typedefs): New
12240 field.
9faeb493
UB
12241 (record_locally_defined_typedef, maybe_record_typedef_use)
12242 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 12243 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
12244 (maybe_record_typedef_use)
12245 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
12246 * c.opt: Declare new -Wunused-local-typedefs flag.
12247
693ddb1b
EB
122482011-09-06 Eric Botcazou <ebotcazou@adacore.com>
12249
12250 PR middle-end/50266
12251 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
12252 computations.
12253
830c740f
RG
122542011-09-05 Richard Guenther <rguenther@suse.de>
12255
12256 * c-common.c (complete_array_type): Use ssize_int (-1) instead
12257 of integer_minus_one_node for empty array upper bounds.
12258
892a371f
DS
122592011-08-28 Dodji Seketeli <dodji@redhat.com>
12260
12261 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
12262 it's the first time it's being called on this main TU.
12263
0e3fdb48
RB
122642011-08-24 Richard Guenther <rguenther@suse.de>
12265
12266 PR c/49396
12267 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
12268
122692011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
12270
12271 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
12272 defined in cpp_init_builtins and c_cpp_builtins.
12273
d4a83c10
JM
122742011-08-19 Joseph Myers <joseph@codesourcery.com>
12275
12276 * c-common.c (c_common_reswords): Add __builtin_complex.
12277 * c-common.h (RID_BUILTIN_COMPLEX): New.
12278
bbceee64
JM
122792011-08-18 Joseph Myers <joseph@codesourcery.com>
12280
12281 * c-common.c (c_common_reswords): Add _Noreturn.
12282 (keyword_is_function_specifier): Handle RID_NORETURN.
12283 * c-common.h (RID_NORETURN): New.
12284
3f8257db 122852011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
12286
12287 * c-common.c (unsafe_conversion_p): New function. Check if it is
12288 unsafe to convert an expression to the type.
12289 (conversion_warning): Adjust, use unsafe_conversion_p.
12290 * c-common.h (unsafe_conversion_p): New function declaration.
12291
20906c66
JJ
122922011-08-02 Jakub Jelinek <jakub@redhat.com>
12293
12294 * c-common.h (c_finish_omp_atomic): Adjust prototype.
12295 (c_finish_omp_taskyield): New prototype.
12296 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
12297 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
12298 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
12299 or RHS1 have side-effects, evaluate those too in the right spot,
12300 if it is a decl and LHS is also a decl, error out if they
12301 aren't the same.
12302 (c_finish_omp_taskyield): New function.
12303 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
12304 * c-pragma.c (omp_pragmas): Add taskyield.
12305 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
12306 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
12307 PRAGMA_OMP_CLAUSE_MERGEABLE.
12308
770e5a2e
DS
123092011-07-25 Dodji Seketeli <dodji@redhat.com>
12310
12311 * c-common.h (set_underlying_type): Remove parm name from
12312 declaration.
12313
1baae426
RG
123142011-07-25 Romain Geissler <romain.geissler@gmail.com>
12315
12316 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 12317
fcb21722
JM
123182011-07-22 Jason Merrill <jason@redhat.com>
12319
76f86d00
JM
12320 PR c++/49793
12321 * c.opt (Wnarrowing): New.
12322
3a636414
JM
12323 PR c++/30112
12324 * c-common.h: Declare c_linkage_bindings.
12325 * c-pragma.c (handle_pragma_redefine_extname): Use it.
12326
fcb21722
JM
12327 PR c++/49813
12328 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
12329 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
12330 as flag_isoc99 for 'restrict'.
12331 (pp_c_specifier_qualifier_list): Likewise for _Complex.
12332
02614448
ILT
123332011-07-21 Ian Lance Taylor <iant@google.com>
12334
12335 PR middle-end/49705
12336 * c-common.c (c_disable_warnings): New static function.
12337 (c_enable_warnings): New static function.
12338 (c_fully_fold_internal): Change local unused_p to bool. Call
12339 c_disable_warnings and c_enable_warnings rather than change
12340 c_inhibit_evaluation_warnings.
12341
34429675
JM
123422011-07-20 Jason Merrill <jason@redhat.com>
12343
12344 PR c++/6709 (DR 743)
12345 PR c++/42603 (DR 950)
12346 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
12347 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
12348 (CPP_DECLTYPE): New.
12349 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
12350
5d49b6a7
RG
123512011-07-19 Richard Guenther <rguenther@suse.de>
12352
12353 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
12354 * c-omp.c (c_finish_omp_for): Likewise.
12355
e84a58ff
EB
123562011-07-12 Eric Botcazou <ebotcazou@adacore.com>
12357
12358 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
12359 body on the next line.
12360
329af3c7
JM
123612011-07-08 Jason Merrill <jason@redhat.com>
12362
4063e61b
JM
12363 PR c++/45437
12364 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
12365
329af3c7
JM
12366 PR c++/49673
12367 * c-common.c (c_apply_type_quals_to_decl): Don't check
12368 TYPE_NEEDS_CONSTRUCTING.
12369
1a072294
RG
123702011-07-06 Richard Guenther <rguenther@suse.de>
12371
12372 * c-common.c (c_common_nodes_and_builtins):
12373 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
12374
fce5dddd
RG
123752011-07-05 Richard Guenther <rguenther@suse.de>
12376
12377 * c-common.c (c_common_nodes_and_builtins): Build all common
12378 tree nodes first.
12379
45d439ac
JJ
123802011-06-27 Jakub Jelinek <jakub@redhat.com>
12381
56300785
JJ
12382 * c-common.h (c_tree_chain_next): New static inline function.
12383
45d439ac
JJ
12384 * c-common.c (check_builtin_function_arguments): Handle
12385 BUILT_IN_ASSUME_ALIGNED.
12386
e0a8ecf2
AM
123872011-06-21 Andrew MacLeod <amacleod@redhat.com>
12388
12389 * c-common.c: Add sync_ or SYNC__ to builtin names.
12390 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
12391
123922011-06-20 Pierre Vittet <piervit@pvittet.com>
12393
12394 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
12395 handler.
12396 (gen_pragma_handler): New union.
12397 (internal_pragma_handler): New type.
12398 (c_register_pragma_with_data)
12399 (c_register_pragma_with_expansion_and_data): New functions.
12400
12401 * c-pragma.c (registered_pragmas, c_register_pragma_1)
12402 (c_register_pragma, c_register_pragma_with_expansion)
12403 (c_invoke_pragma_handler): Changed to work with
12404 internal_pragma_handler.
12405 (c_register_pragma_with_data)
12406 (c_register_pragma_with_expansion_and_data): New functions.
12407
677f3fa8
JM
124082011-06-14 Joseph Myers <joseph@codesourcery.com>
12409
12410 * c-common.c: Include common/common-target.h.
12411 (handle_section_attribute): Use
12412 targetm_common.have_named_sections.
12413 * c-cppbuiltin.c: Include common/common-target.h.
12414 (c_cpp_builtins): Use targetm_common.except_unwind_info.
12415
d7fc8c14
RG
124162011-06-10 Richard Guenther <rguenther@suse.de>
12417
12418 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
12419 to print a IDENTIFIER_NODE.
12420
10e48e39
RO
124212011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12422 Joseph Myers <joseph@codesourcery.com>
12423
12424 * c.opt (fbuilding-libgcc): New option.
12425 * c-cppbuiltin.c (c_cpp_builtins): Define
12426 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
12427
6976ae51
JM
124282011-06-07 Jason Merrill <jason@redhat.com>
12429
3ff60975
JM
12430 * c-common.c (max_tinst_depth): Lower default to 900.
12431
6976ae51
JM
12432 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
12433
009db074
RG
124342011-06-07 Richard Guenther <rguenther@suse.de>
12435
12436 * c-common.c (c_common_nodes_and_builtins): Do not set
12437 size_type_node or call set_sizetype.
12438
b4592b92
DS
124392011-06-07 Dodji Seketeli <dodji@redhat.com>
12440
12441 PR debug/49130
12442 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 12443 type when using pointer comparison to compare types.
b4592b92 12444
014ab419
JW
124452011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
12446
12447 * c.opt: Add -Wdelete-non-virtual-dtor.
12448 * c-opts.c (c_common_handle_option): Include it in -Wall.
12449
4f60111f
NF
124502011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
12451
12452 PR bootstrap/49190
12453
12454 Revert:
12455 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12456
12457 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12458 not tree_common.
12459
4cc4f2f4
JJ
124602011-05-27 Jakub Jelinek <jakub@redhat.com>
12461
12462 PR c++/49165
12463 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
12464 C++ don't call c_common_truthvalue_conversion on void type arms.
12465
38e01f9e
NF
124662011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12467
12468 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12469 (stmt_list_stack): Define.
12470 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12471 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12472
92e948a8
NF
124732011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12474
12475 * c-common.c (warning_candidate_p): Check for BLOCKs.
12476
a2fc3e63
NF
124772011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12478
12479 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12480 not tree_common.
12481
0957c029
JJ
124822011-05-25 Jakub Jelinek <jakub@redhat.com>
12483
12484 * c-common.c (def_fn_type): Remove extra va_end.
12485
828fb3ba
JM
124862011-05-23 Jason Merrill <jason@redhat.com>
12487
12488 PR c++/48106
12489 * c-common.c (c_common_get_narrower): New.
12490 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12491
dde05067
NF
124922011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12493
12494 * c-common.h (check_function_arguments): Tweak prototype of
12495 check_function_arguments.
12496 * c-common.c (check_function_arguments): Likewise. Adjust
12497 calls to check_function_nonnull, check_function_format, and
12498 check_function_sentinel.
12499 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12500 separate attributes and typelist arguments. Use
12501 FOREACH_FUNCTION_ARGS to iterate over argument types.
12502
3c0d13bf
PC
125032011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12504
12505 * c-common.c (c_common_reswords): Reorder.
12506 * c-common.h (rid): Likewise.
12507
8242dd04
NF
125082011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12509
12510 * c-common.c (def_fn_type): Don't call build_function_type, call
12511 build_function_type_array or build_varargs_function_type_array
12512 instead.
12513 (c_common_nodes_and_builtins): Likewise.
12514
3d528853
NF
125152011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12516
12517 * c-common.c (c_add_case_label): Omit the loc argument to
12518 build_case_label.
12519 * c-common.h (build_case_label): Remove.
12520 * c-semantics.c (build_case_label): Remove.
12521
a04a722b
JM
125222011-05-05 Joseph Myers <joseph@codesourcery.com>
12523
12524 * c-objc.h (objc_start_method_definition): Update prototype.
12525 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12526
e19a18d4
NF
125272011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12528
12529 * c-common.c (check_main_parameter_types): Reindent. Don't use
12530 TYPE_ARG_TYPES directly.
12531 (handle_nonnull_attribute): Likewise.
12532 (sync_resolve_params): Likewise.
12533 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12534 to check_format_string.
12535 (handle_format_attribute): Likewise.
12536 (check_format_string): Take a function type to examine instead of
12537 a type list. Use a function_arg_iterator to step through argument
12538 types.
12539
c62c040f
RG
125402011-05-04 Richard Guenther <rguenther@suse.de>
12541
12542 * c-common.c (fix_string_type): Use size_int for index type bounds.
12543 (start_fname_decls): Do not pass NULL to build_int_cst.
12544 (c_init_attributes): Likewise.
12545 * c-lex.c (c_lex_with_flags): Likewise.
12546
c12ff9d8
JM
125472011-04-27 Jason Merrill <jason@redhat.com>
12548
12549 * c-common.c (make_tree_vector_from_list): New.
12550 * c-common.h: Declare it.
12551
304dfbe3
RG
125522011-04-26 Richard Guenther <rguenther@suse.de>
12553
12554 PR preprocessor/48248
12555 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12556 for output size with -P.
12557
3c0d13bf
PC
125582011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12559
12560 * c-common.c (struct c_common_resword): Add __underlying_type.
12561 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12562
04695783
JM
125632011-04-20 Jim Meyering <meyering@redhat.com>
12564
12565 * c-format.c (init_dollar_format_checking): Remove useless
12566 if-before-free.
12567
0dc33c3c
NP
125682011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12569
12570 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12571 (objc_detect_field_duplicates): New.
0dc33c3c 12572 * stub-objc.c: Likewise.
3c0d13bf 12573
c59633d9
NP
125742011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12575
12576 * stub-objc.c (objc_declare_protocols): Renamed to
12577 objc_declare_protocol.
12578 * c-objc.h: Likewise.
3c0d13bf 12579
32dabdaf
NP
125802011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12581
12582 * stub-objc.c (objc_declare_class): Updated argument name.
12583
81f653d6
NF
125842011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12585
12586 * c-common.h (c_common_init_ts): Declare.
12587 * c-common.c (c_common_init_ts): Define.
12588
eb345401
NP
125892011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12590
12591 * c-objc.h (objc_build_message_expr): Updated prototype.
12592 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12593
a358e188
MJ
125942011-04-12 Martin Jambor <mjambor@suse.cz>
12595
12596 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12597 of cgraph_node.
12598
e6313a78
RG
125992011-04-11 Richard Guenther <rguenther@suse.de>
12600
12601 * c-common.c (complete_array_type): Build a range type of
12602 proper type.
12603
dcf0c47e
NF
126042011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12605
12606 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12607 (handle_type_generic_attribute): Likewise.
12608
1ee44b26
JM
126092011-04-07 Jason Merrill <jason@redhat.com>
12610
12611 PR c++/48450
12612 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12613 conversion from C++0x scoped enum.
12614
acce4e77
JM
126152011-04-06 Joseph Myers <joseph@codesourcery.com>
12616
12617 * c-target-def.h: New file.
12618 * c-target.def: New file.
12619 * c-target.h: New file.
12620 * c-common.c (targetcm): Don't define here.
12621 * c-common.h (default_handle_c_option): Declare.
12622 * c-format.c: Include c-target.h instead of target.h.
12623 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12624 include tm.h.
12625 (default_handle_c_option): Move from targhooks.c.
12626
e2eefb55
JJ
126272011-03-29 Jakub Jelinek <jakub@redhat.com>
12628
12629 PR preprocessor/48248
12630 * c-ppoutput.c (print): Add src_file field.
12631 (init_pp_output): Initialize it.
12632 (maybe_print_line): Don't optimize by adding up to 8 newlines
12633 if map->to_file and print.src_file are different file.
12634 (print_line): Update print.src_file.
12635
ba78087b
KT
126362011-03-25 Kai Tietz <ktietz@redhat.com>
12637
12638 * c-ada-spec.c (compare_comment): Use filename_cmp
12639 instead of strcmp for filename.
12640
0edf1bb2
JL
126412011-03-25 Jeff Law <law@redhat.com>
12642
adfac8df 12643 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12644
c7dc8804
JM
126452011-03-25 Jason Merrill <jason@redhat.com>
12646
12647 * c.opt: Add -std=c++03.
12648
d1d879b1
EB
126492011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12650
12651 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12652
3f8257db 126532011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12654
12655 PR target/12171
5050afdf
KT
12656 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12657 Display allowed attributes for function pointer types.
12658 (pp_c_attributes_display): New function to display
12659 attributes having affects_type_identity flag set to true.
12660 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12661
62d784f7
KT
12662 * c-common.c (c_common_attribute_table):
12663 Add new element.
12664 (c_common_format_attribute_table): Likewise.
12665
82d37118
JM
126662011-03-18 Jason Merrill <jason@redhat.com>
12667
49a000c3
JM
12668 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12669 * c-common.h: Don't declare it here.
12670 * c-common.c: Or define it here.
12671 * c-opts.c (c_common_handle_option): Or set it here.
12672
82d37118
JM
12673 PR c++/35315
12674 * c-common.c (handle_transparent_union_attribute): Don't
12675 make a duplicate type in C++.
12676
17bc631c
JM
126772011-03-15 Jason Merrill <jason@redhat.com>
12678
12679 * c-common.c (max_constexpr_depth): New.
12680 * c-common.h: Declare it.
12681 * c-opts.c (c_common_handle_option): Set it.
12682 * c.opt (fconstexpr-depth): New option.
12683
1b9b91a6
JM
126842011-03-11 Jason Merrill <jason@redhat.com>
12685
f231b5ff
JM
12686 * c-common.c (attribute_takes_identifier_p): Add missing const.
12687
1b9b91a6
JM
12688 PR c++/46803
12689 * c-common.c (attribute_takes_identifier_p): Assume that an
12690 unknown attribute takes an identifier.
12691
a19e4d44
NF
126922011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12693
12694 PR c/47786
12695 * c-common.c (c_type_hash): Call list_length instead of iterating
12696 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12697
982d62f6
JJ
126982011-02-19 Jakub Jelinek <jakub@redhat.com>
12699
12700 PR c/47809
12701 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12702
0a256240
NP
127032011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12704
12705 * c.opt (fobjc-abi-version=) New.
12706 (fobjc-nilcheck): New.
12707
ba9e6dd5
NF
127082011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12709
12710 PR c++/46890
12711 * c-common.h (keyword_is_decl_specifier): Declare.
12712 * c-common.c (keyword_is_decl_specifier): Define.
12713 (keyword_is_function_specifier): New function.
12714
7273813a
JJ
127152011-01-26 Jakub Jelinek <jakub@redhat.com>
12716
12717 PR c/47473
12718 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12719 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12720 REAL_TYPE.
12721
908ef79b
AC
127222011-01-26 Arnaud Charlet <charlet@adacore.com>
12723
12724 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12725
237e9384
JJ
127262011-01-26 Jakub Jelinek <jakub@redhat.com>
12727
12728 PR pch/47430
12729 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12730 after init_c_lex if pch_file is set.
12731
47ea1edf
DK
127322011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12733
d4dba752 12734 PR c++/43601
47ea1edf
DK
12735 * c.opt (-fkeep-inline-dllexport): New switch.
12736
2aa9c6ae
RG
127372011-01-12 Richard Guenther <rguenther@suse.de>
12738
12739 PR middle-end/32511
12740 * c-common.c (handle_weak_attribute): Warn instead of error
12741 on declaring an inline function weak.
12742
7bd11157
TT
127432011-01-05 Tom Tromey <tromey@redhat.com>
12744
12745 * c-common.h (lvalue_error): Update.
12746 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12747 not error.
12748
0e66e494 127492010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12750
b4f588c4
NP
12751 PR objc/47075
12752 * c-objc.h (objc_finish_message_expr): Added argument to
12753 prototype.
12754
f4da8dce
NF
127552010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12756
12757 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12758 Use prototype_p.
12759
46270f14
NP
127602010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12761
12762 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12763 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12764
4816c593
NF
127652010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12766
12767 * c-common.h (readonly_error): Declare.
12768 * c-common.c (readonly_error): Define.
12769
7a6daeb0
NF
127702010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12771
12772 * c-common.h (invalid_indirection_error): Declare.
12773 * c-common.c (invalid_indirection_error): Define.
12774
892f6119
RG
127752010-12-03 Richard Guenther <rguenther@suse.de>
12776
12777 PR c/46745
12778 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12779 (pp_c_unary_expression): Likewise.
12780 (pp_c_expression): Likewise.
12781
6c39e757
NP
127822010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12783
12784 * c-common.h (objc_finish_function): New.
12785 (objc_non_volatilized_type): Removed.
12786 (objc_type_quals_match): Removed.
12787 * stub-objc.c (objc_finish_function): New.
12788 (objc_non_volatilized_type): Removed.
12789 (objc_type_quals_match): Removed.
9faeb493 12790
7c475d11
JM
127912010-11-30 Joseph Myers <joseph@codesourcery.com>
12792
12793 * c-common.h (parse_optimize_options): Declare.
12794 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12795 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12796
71f3e391
JM
127972010-11-29 Joseph Myers <joseph@codesourcery.com>
12798
12799 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12800 GET_ENVIRONMENT.
12801 * c-pch.c (O_BINARY): Don't define here.
12802 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12803
d5fabb58
JM
128042010-11-25 Joseph Myers <joseph@codesourcery.com>
12805
12806 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12807 targetm.except_unwind_info.
12808
299404a1
JM
128092010-11-23 Joseph Myers <joseph@codesourcery.com>
12810
12811 * c-opts.c (c_common_handle_option): Pass location to
12812 set_struct_debug_option.
12813
c98cd5bf
JM
128142010-11-23 Joseph Myers <joseph@codesourcery.com>
12815
12816 * c-common.c (visibility_options): Move from ../opts.c.
12817 * c-common.h (struct visibility_flags, visibility_options):
12818 Declare here.
12819 * c-opts.c (finish_options): Rename to c_finish_options.
12820 (c_common_init): Update call to finish_options.
12821
a9546771
NP
128222010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12823
12824 PR objc/34033
12825 * c-lex.c (lex_string): Check that each string in an Objective-C
12826 string concat sequence starts with either one or zero '@', and
12827 that there are no spurious '@' signs at the end.
12828
24a57808
JM
128292010-11-20 Joseph Myers <joseph@codesourcery.com>
12830
12831 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12832 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12833 HANDLE_PRAGMA_VISIBILITY.
12834 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12835 HANDLE_PRAGMA_VISIBILITY): Don't define.
12836 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12837
a9aa2c3a
NF
128382010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12839
12840 PR c++/16189
12841 PR c++/36888
12842 PR c++/45331
12843 * c-common.h (keyword_begins_type_specifier): Declare.
12844 (keyword_is_storage_class_specifier): Declare.
12845 (keyword_is_type_qualifier): Declare.
12846 * c-common.c (keyword_begins_type_specifier): New function.
12847 (keyword_is_storage_class_specifier): New function.
12848 (keyword_is_type_qualifier): Declare.
12849
5386338c
JM
128502010-11-19 Joseph Myers <joseph@codesourcery.com>
12851
12852 PR c/46547
12853 * c-common.c (in_late_binary_op): Define.
12854 (c_common_truthvalue_conversion): Check in_late_binary_op before
12855 calling c_save_expr.
12856 * c-common.h (in_late_binary_op): Declare.
12857
69ccdddb
JM
128582010-11-19 Joseph Myers <joseph@codesourcery.com>
12859
12860 * c-opts.c (c_common_handle_option): Update calls to
12861 set_struct_debug_option.
12862
6b192a09
NP
128632010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
12864
12865 * c-common.h (objc_declare_protocols): Added additional argument.
12866 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 12867
fb52b50a
NF
128682010-11-18 Nathan Froyd <froydnj@codesourcery.com>
12869
12870 PR c/33193
12871 * c-common.h (build_real_imag_expr): Declare.
12872 * c-semantics.c (build_real_imag_expr): Define.
12873
b37421c6
JM
128742010-11-17 Joseph Myers <joseph@codesourcery.com>
12875
12876 * c-opts.c (c_common_parse_file): Take no arguments.
12877 * c-common.h (c_common_parse_file): Update prototype.
12878
07078664
JJ
128792010-11-16 Jakub Jelinek <jakub@redhat.com>
12880
12881 PR c++/46401
12882 * c-common.c (warning_candidate_p): Don't track non-const calls
12883 or STRING_CSTs.
12884
c6a13190
ILT
128852010-11-15 Ian Lance Taylor <iant@google.com>
12886
12887 * c-lex.c (init_c_lex): Set macro debug callbacks if
12888 flag_dump_go_spec is set.
12889
925e8657
NP
128902010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12891
12892 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12893 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12894
bb0a9581
NF
128952010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12896
12897 PR preprocessor/45038
12898 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12899 dialects.
12900
c5fa0890
JM
129012010-11-12 Joseph Myers <joseph@codesourcery.com>
12902
12903 * c-common.h (c_family_lang_mask): Declare.
12904 * c-opts.c (c_family_lang_mask): Make extern.
12905 * c-pragma.c (handle_pragma_diagnostic): Use
12906 control_warning_option.
12907
a4d8c676
JM
129082010-11-12 Joseph Myers <joseph@codesourcery.com>
12909
12910 * c-common.c (parse_optimize_options): Update call to
12911 decode_options.
12912 * c-common.h (c_common_handle_option): Update prototype.
12913 * c-opts.c (c_common_handle_option): Take location_t parameter and
12914 pass it to other functions.
12915
f954bd2c
JM
129162010-11-11 Joseph Myers <joseph@codesourcery.com>
12917
12918 * c-opts.c (warning_as_error_callback): Remove.
12919 (c_common_initialize_diagnostics): Don't call
12920 register_warning_as_error_callback.
12921 (c_common_handle_option): Handle -Werror=normalized= here.
12922
d8a07487
JM
129232010-11-10 Joseph Myers <joseph@codesourcery.com>
12924
12925 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12926 in diagnostic.
12927 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12928 letter.
12929 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12930 Remove trailing '.' from diagnostics.
12931 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12932
d5478783
JM
129332010-11-10 Joseph Myers <joseph@codesourcery.com>
12934
12935 * c-common.c (parse_optimize_options): Pass global_dc to
12936 decode_options.
12937 * c-opts.c (c_common_handle_option): Pass &global_options to
12938 set_Wstrict_aliasing.
12939 * c.opt (v): Don't mark Common or document here.
12940
91ebb981
IS
129412010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12942
12943 PR target/44981
12944 * c-format.c (format_type): New type gcc_objc_string_format_type.
12945 (valid_stringptr_type_p): New.
12946 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12947 (check_format_string): Pass expected type, use
91ebb981
IS
12948 valid_stringptr_type_p (), check that the format string types are
12949 consistent with the format specification.
12950 (decode_format_attr): Warn if NSString is used outside objective-c.
12951 (format_types_orig): Add NSString.
12952 (format_name): New.
12953 (format_flags): New.
12954 (check_format_arg): Handle format strings requiring an external parser.
12955 first_target_format_type: New variable.
12956 (handle_format_attribute): Set up first_target_format_type, pass the
12957 expected format arg string type to check_format_string().
ab20d992 12958 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12959 * stub-objc.c (objc_string_ref_type_p): New.
12960 (objc_check_format_arg): New.
12961
bede2adc
NP
129622010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12963
9faeb493 12964 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12965 * c-common.h (objc_build_class_component_ref): New.
12966 * stub-objc.c (objc_build_class_component_ref): New.
12967
9a179d01
NP
129682010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12969
12970 * c.opt (Wproperty-assign-default): New option.
12971
22d8d616
NP
129722010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12973
12974 Implemented -fobjc-std=objc1 flag.
12975 * c.opt (fobjc-std=objc1): New option.
12976
2debdb4f
NP
129772010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12978
12979 Implemented format and noreturn attributes for Objective-C methods.
12980 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12981 attribute for Objective-C methods.
12982
ec52b111
JM
129832010-10-31 Jason Merrill <jason@redhat.com>
12984
12985 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12986 EXPR_LOC_OR_HERE.
12987
46a88c12
NP
129882010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12989
12990 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12991 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12992 (objc_add_property_declaration): Removed arguments for copies and
12993 ivar.
12994 (objc_build_getter_call): Renamed to
12995 objc_maybe_build_component_ref.
12996 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12997 (objc_is_property_ref): New.
12998 * c-common.c (c_common_reswords): Removed copies and ivar.
12999 * stub-objc.c (objc_add_property_declaration): Removed arguments
13000 for copies and ivar.
13001 (objc_build_getter_call): Renamed to
13002 objc_maybe_build_component_ref.
13003 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
13004 (objc_is_property_ref): New.
9faeb493 13005
1e4bf85b
AC
130062010-10-29 Arnaud Charlet <charlet@adacore.com>
13007 Matthew Gingell <gingell@adacore.com>
13008
13009 * c-ada-spec.c (separate_class_package): New function.
13010 (pp_ada_tree_identifier): Prefix references to C++ classes with the
13011 name of their enclosing package.
13012 (print_ada_declaration): Use separate_class_package.
13013
81f0bab2
JM
130142010-10-27 Jason Merrill <jason@redhat.com>
13015
2b08f2c5
JM
13016 * c-common.c (c_common_reswords): Add __is_literal_type.
13017 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
13018
81f0bab2
JM
13019 * c-common.c (check_case_value): Remove special C++ code.
13020
200290f2
NP
130212010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13022
13023 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
13024 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
13025 and RID_LAST_PATTR.
13026 (objc_add_property_declaration): Added additional arguments.
13027 (objc_property_attribute_kind): Removed.
13028 (objc_set_property_attr): Removed.
13029 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
13030 copy and nonatomic.
13031 * stub-objc.c (objc_add_property_declaration): Added additional
13032 arguments.
13033 (objc_set_property_attr): Removed.
9faeb493 13034
f614132b
NP
130352010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
13036
13037 * c-common.h (objc_add_property_variable): Renamed to
13038 objc_add_property_declaration. Added location argument.
13039 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 13040
b8a18805
NP
130412010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
13042
13043 * c-common.h (objc_maybe_printable_name): New.
13044 * stub-objc.c (objc_maybe_printable_name): New.
13045
3f8257db
JJ
130462010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
13047 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
13048
13049 * c-common.h (c_common_mark_addressable_vec): Declare.
13050 * c-common.c (c_common_mark_addressable_vec): New function.
13051
249a82c4
NP
130522010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13053
13054 * c-common.h (objc_set_method_type): Removed.
13055 (objc_add_method_declaration): Added boolean argument.
13056 (objc_start_method_definition): Same change.
13057 (objc_build_method_signature): Same change.
13058 * stub-objc.c (objc_set_method_type): Removed.
13059 (objc_add_method_declaration): Added boolean argument.
13060 (objc_start_method_definition): Same change.
13061 (objc_build_method_signature): Same change.
13062
977e30bc
NP
130632010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
13064
13065 * c-common.h (finish_file): Removed.
13066 (objc_write_global_declarations): New.
13067 * c-opts.c (c_common_parse_file): Do not call finish_file.
13068 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 13069
da57d1b9
NP
130702010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13071
13072 Implemented parsing @synthesize and @dynamic for
13073 Objective-C/Objective-C++.
13074 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
13075 (objc_add_synthesize_declaration): New.
13076 (objc_add_dynamic_declaration): New.
13077 * c-common.c (c_common_reswords): Add synthesize and dynamic.
13078 * stub-objc.c (objc_add_synthesize_declaration): New.
13079 (objc_add_dynamic_declaration): New.
9faeb493 13080
0069111f
MM
130812010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
13082
13083 PR target/46041
13084 * c-cppbuiltin.c (mode_has_fma): Move function here from
13085 builtins.c. Don't use the fma optab, instead just use the
13086 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
13087 using -save-temps.
13088
e426b47b
NP
130892010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
13090
13091 Merge from 'apple/trunk' branch on FSF servers.
0069111f 13092
3f8257db 13093 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 13094
9faeb493 13095 Radar 4330422
e426b47b
NP
13096 * c-common.h (objc_non_volatilized_type): New declaration
13097 * stub-objc.c (objc_non_volatilized_type): New stub.
13098
90fbfdc3
NP
130992010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
13100
e426b47b 13101 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 13102
ab20d992 13103 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 13104
9faeb493 13105 Radar 4133425
90fbfdc3 13106 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 13107 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 13108
c37d8c30
IS
131092010-10-17 Iain Sandoe <iains@gcc.gnu.org>
13110
13111 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
13112 * c-common.h (enum rid): Add RID_AT_PACKAGE.
13113 (objc_ivar_visibility_kind): New enum.
13114 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 13115 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
13116 visibility enum.
13117
1b1562a5
MM
131182010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
13119
13120 * c-cppbuiltin.c (builtin_define_float_constants): Emit
13121 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
13122 has the appropriate fma builtins.
13123 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
13124
668ea4b1
IS
131252010-10-14 Iain Sandoe <iains@gcc.gnu.org>
13126
1b1562a5 13127 merge from FSF apple 'trunk' branch.
3f8257db 13128 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 13129
668ea4b1
IS
13130 Radars 4436866, 4505126, 4506903, 4517826
13131 * c-common.c (c_common_resword): Define @property and its attributes.
13132 * c-common.h: Define property attribute enum entries.
13133 (OBJC_IS_PATTR_KEYWORD): New.
13134 (objc_property_attribute_kind): New enum.
13135 Declare objc_set_property_attr (), objc_add_property_variable (),
13136 objc_build_getter_call () and objc_build_setter_call ().
13137 * stub-objc.c (objc_set_property_attr): New stub.
13138 (objc_add_property_variable): Likewise.
13139 (objc_build_getter_call): Likewise.
13140 (objc_build_setter_call) Likewise.
1b1562a5 13141
a1178b30
IS
131422010-10-13 Iain Sandoe <iains@gcc.gnu.org>
13143
1b1562a5 13144 merge from FSF apple 'trunk' branch.
ab20d992 13145 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
13146
13147 Radar 3803157 (method attributes)
13148 * c-common.c (handle_deprecated_attribute): Recognize
13149 objc methods as valid declarations.
13150 * c-common.h: Declare objc_method_decl ().
1b1562a5 13151 * stub-objc.c (objc_method_decl): New stub.
a1178b30 13152
a75bfaa6
JM
131532010-10-08 Joseph Myers <joseph@codesourcery.com>
13154
13155 * c-common.c (parse_optimize_options): Call
13156 decode_cmdline_options_to_array_default_mask before
13157 decode_options. Update arguments to decode_options.
13158 * c-common.h (c_common_init_options_struct): Declare.
13159 * c-opts.c (c_common_init_options_struct): New. Split out from
13160 c_common_init_options.
13161
f05b9d93
NP
131622010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
13163
13164 Implemented fast enumeration for Objective-C.
13165 * c-common.h (objc_finish_foreach_loop): New.
13166 * stub-objc.c (objc_finish_foreach_loop): New.
13167
1ebe4b4f
JM
131682010-10-05 Joseph Myers <joseph@codesourcery.com>
13169
13170 * c-common.h (struct diagnostic_context): Don't declare here.
13171 (c_common_initialize_diagnostics): Declare using
13172 diagnostic_context typedef.
13173 * c-opts.c (c_common_handle_option): Pass global_dc to
13174 handle_generated_option.
13175
d4d24ba4
JM
131762010-10-04 Joseph Myers <joseph@codesourcery.com>
13177
13178 * c-opts.c (c_common_handle_option): Pass &global_options_set to
13179 handle_generated_option.
13180
478a1c5b
ILT
131812010-10-03 Ian Lance Taylor <iant@google.com>
13182
13183 * c.opt (-fplan9-extensions): New option.
13184
82a1c2fe
FXC
131852010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13186
13187 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
13188 Remove.
13189 (c_cpp_builtins): Call functions from cppbuiltin.c instead
13190 of duplicating code.
13191
92902b1b
IS
131922010-09-30 Iain Sandoe <iains@gcc.gnu.org>
13193
13194 * c-common.c: Add two new entries for @optional
13195 and @required keywords.
13196
13197 merge from FSF 'apple/trunk' branch.
3f8257db 13198 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
13199
13200 Radar 4386773
13201 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
13202 objective-c keywords.
13203 (objc_set_method_opt): New declaration.
13204 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 13205
46625112
JM
132062010-09-30 Joseph Myers <joseph@codesourcery.com>
13207
13208 * c-common.c (handle_optimize_attribute): Pass &global_options to
13209 cl_optimization_save and cl_optimization_restore.
13210 * c-opts.c (c_common_handle_option): Pass &global_options to
13211 handle_generated_option.
13212 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
13213 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
13214 &global_options to cl_optimization_restore.
13215
49b91f05
NP
132162010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
13217
13218 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
13219 Objective-C/Objective-C++ keywords.
13220
13ed556f 132212010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 13222
9faeb493
UB
13223 Merge from 'apple/trunk' branch on FSF servers.
13224
3f8257db 13225 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
13226
13227 Radar 4281748
13228 * c-common.h (objc_check_global_decl): New declaration.
13229 * stub-objc.c (objc_check_global_decl): New stub.
13230
f0036cca
JM
132312010-09-29 Joseph Myers <joseph@codesourcery.com>
13232
13233 * c.opt: Don't use VarExists.
13234
e3339d0f
JM
132352010-09-29 Joseph Myers <joseph@codesourcery.com>
13236
13237 * c-common.c (c_cpp_error): Update names of diagnostic_context
13238 members.
13239 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
13240 cl_optimization members.
13241 * c-opts.c (warning_as_error_callback, c_common_handle_option,
13242 sanitize_cpp_opts, finish_options): Update names of cpp_options
13243 members.
13244
1973201f
NP
132452010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
13246
13247 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
13248 (objc_is_reserved_word): Removed.
13249 * c-common.c: Updated comments.
13250 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
13251 objc_is_reserved_word.
13252 * stub-objc.c (objc_is_reserved_word): Removed.
13253
f7e71da5
IS
132542010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13255
9faeb493 13256 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
13257 include attributes.
13258 (objc_start_method_definition): Likewise.
13259 (objc_build_keyword_decl): Likewise.
13260 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
13261 (objc_start_method_definition): Likewise.
13262 (objc_build_keyword_decl): Likewise.
13263
c165dca7
IS
132642010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13265
13266 * c-common.h (objc_start_class_interface): Adjust prototype.
13267 (objc_start_category_interface): Likewise.
13268 (objc_start_protocol): Likewise.
13269 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
13270 (objc_start_class_interface): Likewise.
13271 (objc_start_category_interface): Likewise.
13272
7458026b
ILT
132732010-09-27 Ian Lance Taylor <iant@google.com>
13274
13275 * c-common.c (c_common_attribute_table): Add no_split_stack.
13276 (handle_no_split_stack_attribute): New static function.
13277
b581b85b
NP
132782010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
13279
9faeb493 13280 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 13281
3f8257db 13282 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 13283
9faeb493 13284 Radar 4229905
b581b85b
NP
13285 * c-common.h (objc_have_common_type): New declaration.
13286 * stub-objc.c (objc_have_common_type): New stub.
13287
13288 2005-06-22 Ziemowit Laski <zlaski@apple.com>
13289
13290 Radar 4154928
13291 * c-common.h (objc_common_type): New prototype.
9faeb493 13292 * stub-objc.c (objc_common_type): New stub.
b581b85b 13293
46a4da10
JH
132942010-09-24 Jan Hubicka <jh@suse.cz>
13295
13296 * c-common.c (handle_leaf_attribute): New function.
13297 (struct attribute_spec c_common_att): Add leaf.
13298
e200444e
JM
132992010-09-22 Joseph Myers <joseph@codesourcery.com>
13300
13301 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
13302 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
13303 -dump, -dump=, -imacros, -imacros=, -include, -include=,
13304 -include-barrier, -include-directory, -include-directory=,
13305 -include-directory-after, -include-directory-after=,
13306 -include-prefix, -include-prefix=, -include-with-prefix,
13307 -include-with-prefix=, -include-with-prefix-after,
13308 -include-with-prefix-after=, -include-with-prefix-before,
13309 -include-with-prefix-before=, -no-integrated-cpp,
13310 -no-line-commands, -no-standard-includes, -no-warnings, -output,
13311 -output=, -pedantic, -pedantic-errors, -preprocess,
13312 -print-missing-file-dependencies, -trace-includes, -traditional,
13313 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
13314 -user-dependencies, -verbose, -write-dependencies,
13315 -write-user-dependencies, no-integrated-cpp, traditional): New.
13316
29a80ea6
NP
133172010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13318
13319 PR objc/23710
ac1fc2fc
NP
13320 * c-common.h (objc_start_method_definition): Return bool instead
13321 of void.
13322 * stub-objc.c (objc_start_method_definition): Return bool instead
13323 of void.
13324
133252010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13326
13327 PR objc/25965
13328 * c-common.h (objc_get_interface_ivars): New declaration.
13329 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 13330
de621752
ILT
133312010-09-15 Ian Lance Taylor <iant@google.com>
13332
13333 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 13334 messages. Remove period at end of warning message.
de621752 13335
ba885ec5
NS
133362010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13337
13338 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
13339 (handle_alias_attribute): ... here.
13340 (handle_ifunc_attribute): New.
13341
c5ee1358
MM
133422010-09-06 Mark Mitchell <mark@codesourcery.com>
13343
13344 * c-common.h (do_warn_double_promotion): Declare.
13345 * c-common.c (do_warn_double_promotion): Define.
13346
0a0b3574
MM
133472010-09-05 Mark Mitchell <mark@codesourcery.com>
13348
13349 * c.opt (Wdouble-promotion): New.
13350
d1779886
JM
133512010-09-02 Joseph Myers <joseph@codesourcery.com>
13352
13353 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
13354 fvtable-thunks, fxref): Mark no longer supported in help text.
13355
2d2bd949
JM
133562010-09-02 Joseph Myers <joseph@codesourcery.com>
13357
13358 * c.opt (Wimport, fall-virtual, falt-external-templates,
13359 fdefault-inline, fenum-int-equiv, fexternal-templates,
13360 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
13361 fname-mangling-version-, fnew-abi, fnonnull-objects,
13362 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
13363 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
13364 applicable.
13365 (fhandle-exceptions): Mark with Alias and Warn.
13366 * c-opts.c (c_common_handle_option): Don't handle options marked
13367 as ignored.
13368
5de8299c
JM
133692010-09-02 Joseph Myers <joseph@codesourcery.com>
13370
13371 * c.opt (Wcomments, Werror-implicit-function-declaration,
13372 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
13373 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
13374 aliases.
13375 * c-common.c (option_codes): Use OPT_Wcomment instead of
13376 OPT_Wcomments.
13377 * c-opts.c (warning_as_error_callback, c_common_handle_option):
13378 Don't handle options marked as aliases.
13379
0ceb0201
RG
133802010-08-25 Richard Guenther <rguenther@suse.de>
13381
13382 * c-common.c (c_common_get_alias_set): Remove special
13383 handling for pointers.
13384
ac47786e
NF
133852010-08-20 Nathan Froyd <froydnj@codesourcery.com>
13386
13387 * c-common.c: Use FOR_EACH_VEC_ELT.
13388 * c-gimplify.c: Likewise.
13389 * c-pragma.c: Likewise.
13390
c878765b
JM
133912010-08-16 Joseph Myers <joseph@codesourcery.com>
13392
13393 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
13394 RejectDriver.
13395 (MMDX): Change back to MMD. Mark NoDriverArg instead of
13396 RejectDriver.
13397 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
13398 instead of OPT_MDX and OPT_MMDX.
13399
603349bf
JM
134002010-08-16 Joseph Myers <joseph@codesourcery.com>
13401
13402 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
13403
644fa7ac
JM
134042010-08-12 Joseph Myers <joseph@codesourcery.com>
13405
13406 * c.opt (MD, MMD): Change to MDX and MMDX.
13407 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
13408
481e1176
JM
134092010-08-11 Joseph Myers <joseph@codesourcery.com>
13410
13411 * c-opts.c (c_common_handle_option): Call handle_generated_option
13412 instead of handle_option.
13413
ac8dc9f7
NF
134142010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13415
13416 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
13417 (maybe_apply_renaming_pragma): Delete unneeded declarations.
13418
4f8c876d
NF
134192010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13420
13421 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
13422 (pending_redefine_extname): Change type to a VEC.
13423 (add_to_renaming_pragma_list): Update for new type of
13424 pending_redefine_extname.
ac8dc9f7 13425 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 13426
3b0c690e
AC
134272010-08-04 Arnaud Charlet <charlet@adacore.com>
13428
13429 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
13430 visited.
13431 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
13432 decide whether a type has already been declared/seen.
13433 Do not go to the original type.
13434 (dump_nested_types): New parameter forward.
13435 Generate forward declaration if needed and mark type as visited.
13436 (print_ada_declaration): Call dump_nested_types if not already done.
13437 Mark types as visited.
13438
1890bccc
JM
134392010-08-03 Joseph Myers <joseph@codesourcery.com>
13440
13441 * c.opt (-print-pch-checksum): Remove option.
13442 * c-opts.c (c_common_handle_option): Don't handle
13443 OPT_print_pch_checksum.
13444
5f20c657
JM
134452010-07-27 Joseph Myers <joseph@codesourcery.com>
13446
13447 * c-common.h (c_common_handle_option): Update prototype and return
13448 value type.
13449 * c-opts.c (c_common_handle_option): Update prototype and return
13450 value type. Update calls to handle_option and
13451 enable_warning_as_error.
13452
f551f80c
JJ
134532010-07-27 Jakub Jelinek <jakub@redhat.com>
13454
13455 PR c/45079
13456 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
13457
61ff2bdc
JM
134582010-07-27 Joseph Myers <joseph@codesourcery.com>
13459
13460 * c-common.h (c_common_missing_argument): Remove.
13461 * c-opts.c (c_common_missing_argument): Remove.
13462 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
13463 idirafter, imacros, include, isysroot, isystem, iquote): Add
13464 MissingArgError.
13465 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13466
7a9bf9a4
JM
134672010-07-27 Joseph Myers <joseph@codesourcery.com>
13468
13469 * c-common.h (c_common_option_lang_mask,
13470 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13471 New.
13472 (c_common_init_options): Update prototype.
13473 * c-opts.c (c_common_option_lang_mask): New.
13474 (c_common_initialize_diagnostics): Split out of
13475 c_common_init_options.
13476 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13477 New.
13478 (c_common_init_options): Update prototype. Use decoded options in
13479 search for -lang-asm.
13480
910ad8de
NF
134812010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13482
13483 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13484 * c-format.c: Likewise.
13485
718f9c0f
MLI
134862010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13487
13488 * c-common.h: Include diagnostic-core.h. Error if already
13489 included.
13490 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13491
4d451982
MLI
134922010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13493
adfac8df 13494 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13495 Do not include expr.h
13496 (vector_mode_valid_p): Move here.
13497
119fe915
SB
134982010-06-21 DJ Delorie <dj@redhat.com>
13499
13500 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13501 allow these pragmas anywhere.
13502
135032010-06-14 Jakub Jelinek <jakub@redhat.com>
13504
13505 PR bootstrap/44509
13506 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13507 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13508 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13509 ggc_strdup instead of xstrdup.
13510
135112010-06-10 Jakub Jelinek <jakub@redhat.com>
13512
13513 * c-cppbuiltin.c: Include cpp-id-data.h.
13514 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13515 (lazy_hex_fp_value): New function.
13516 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13517
6662d794
MLI
135182010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13519
13520 * c-gimplify.c: Do not include tree-flow.h
13521
38f8b050
JR
135222010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13523
13524 PR other/44034
13525 * c-common.c: Rename targetm member:
13526 targetm.enum_va_list -> targetm.enum_va_list_p
13527
9589f23e
AS
135282010-06-28 Anatoly Sokolov <aesok@post.ru>
13529
13530 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13531
3b06d379
SB
135322010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13533
13534 * c-cppbuiltin.c: Do not include except.h.
13535
d166d4c3
AK
135362010-06-24 Andi Kleen <ak@linux.intel.com>
13537
9faeb493
UB
13538 * c-common.c (warn_for_omitted_condop): New.
13539 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13540
70cb8be6
JM
135412010-06-21 Joseph Myers <joseph@codesourcery.com>
13542
13543 * c.opt (lang-objc): Remove.
13544 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13545
a4c97feb
JR
135462010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13547
13548 * c-opts.c: Include "tm_p.h".
13549
6e2f1956
JM
135502010-06-20 Joseph Myers <joseph@codesourcery.com>
13551
13552 * c-common.c (parse_optimize_options): Update call to
13553 decode_options.
13554
bc87224e
NF
135552010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13556
13557 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13558 new type of types_used_by_cur_var_decl.
13559
b49cf425
JR
135602010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13561
13562 PR bootstrap/44512
13563 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13564 for C++ standard compliance.
13565
59f9c2ed
JM
135662010-06-16 Jason Merrill <jason@redhat.com>
13567
13568 * c.opt: Add -Wnoexcept.
13569
33766b66
RG
135702010-06-16 Richard Guenther <rguenther@suse.de>
13571
13572 PR c/44555
13573 * c-common.c (c_common_truthvalue_conversion): Remove
13574 premature and wrong optimization concering ADDR_EXPRs.
13575
eff7e30c
AC
135762010-06-15 Arnaud Charlet <charlet@adacore.com>
13577
13578 * c-ada-spec.c (dump_sloc): Remove column info.
13579 (is_simple_enum): New function.
13580 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13581 enum types when relevant.
13582
6312e84d
MLI
135832010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13584
9faeb493 13585 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13586 location.
13587
1cb42611
JM
135882010-06-10 Joseph Myers <joseph@codesourcery.com>
13589
13590 * c-opts.c (c_common_handle_option): Don't handle
13591 OPT_fshow_column.
13592
a9429e29
LB
135932010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13594
13595 * c-pragma.c (push_alignment): Use typed GC allocation.
13596 (handle_pragma_push_options): Likewise.
13597
13598 * c-common.c (parse_optimize_options): Likewise.
13599
13600 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13601 option.
13602
5498f011
JM
136032010-06-07 Joseph Myers <joseph@codesourcery.com>
13604
13605 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13606 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13607 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13608 flag_signed_bitfields, warn_strict_null_sentinel,
13609 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13610 flag_gen_declaration, flag_no_gnu_keywords,
13611 flag_implement_inlines, flag_implicit_templates,
13612 flag_implicit_inline_templates, flag_optional_diags,
13613 flag_elide_constructors, flag_default_inline, flag_rtti,
13614 flag_conserve_space, flag_access_control, flag_check_new,
13615 flag_new_for_scope, flag_weak, flag_working_directory,
13616 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13617 flag_enforce_eh_specs, flag_threadsafe_statics,
13618 flag_pretty_templates): Remove.
13619 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13620 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13621 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13622 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13623 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13624 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13625 flag_no_gnu_keywords, flag_implement_inlines,
13626 flag_implicit_templates, flag_implicit_inline_templates,
13627 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13628 flag_rtti, flag_conserve_space, flag_access_control,
13629 flag_check_new, flag_new_for_scope, flag_weak,
13630 flag_working_directory, flag_use_cxa_atexit,
13631 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13632 flag_threadsafe_statics, flag_pretty_templates,
13633 warn_strict_null_sentinel): Remove.
13634 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13635 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13636 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13637 fimplicit-inline-templates, fimplicit-templates,
13638 flax-vector-conversions, fms-extensions, fnil-receivers,
13639 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13640 frtti, fshort-double, fshort-enums, fshort-wchar,
13641 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13642 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13643 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13644 gen-decls, undef): Use Var.
13645 (fdefault-inline, foptional-diags): Document as doing nothing.
13646 * c-opts.c (c_common_handle_option): Remove cases for options now
13647 using Var. Mark ignored options as such.
13648
39dabefd
SB
136492010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13650
9faeb493 13651 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13652 * c-common.def: Likewise.
13653 * c-common.h: Likewise.
13654 * c-cppbuiltin.c: Likewise.
13655 * c-dump.c: Likewise.
13656 * c-format.c: Likewise.
13657 * c-format.h : Likewise.
13658 * c-gimplify.c: Likewise.
13659 * c-lex.c: Likewise.
13660 * c-omp.c: Likewise.
13661 * c.opt: Likewise.
13662 * c-opts.c: Likewise.
13663 * c-pch.c: Likewise.
13664 * c-ppoutput.c: Likewise.
13665 * c-pragma.c: Likewise.
13666 * c-pragma.h: Likewise.
13667 * c-pretty-print.c: Likewise.
13668 * c-pretty-print.h: Likewise.
13669 * c-semantics.c: Likewise.
13670 * stub-objc.c: Likewise.
13671
13672 * c-common.c: Include gt-c-family-c-common.h.
13673 * c-pragma.c: Include gt-c-family-c-pragma.h.
13674\f
877e3c2a 13675Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13676
13677Copying and distribution of this file, with or without modification,
13678are permitted in any medium without royalty provided the copyright
13679notice and this notice are preserved.
This page took 4.773381 seconds and 5 git commands to generate.