]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
c++: C++23 operator[] allows default arguments
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
83f2f228
GA
12022-09-03 Jakub Jelinek <jakub@redhat.com>
2
3 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
4 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
5 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
6 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
7
c64b0947
GA
82022-09-02 David Malcolm <dmalcolm@redhat.com>
9
10 PR c/90885
11 * c-common.h (check_for_xor_used_as_pow): New decl.
12 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
13 * c-warn.cc (check_for_xor_used_as_pow): New.
14 * c.opt (Wxor-used-as-pow): New.
15
bb0a1556
GA
162022-09-01 Jason Merrill <jason@redhat.com>
17
18 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
19 char8_t.
20 (braced_list_to_string): Check for char-sized elements.
21
222022-09-01 Jakub Jelinek <jakub@redhat.com>
23
24 PR c++/106655
25 * c.opt (-Winvalid-utf8): New warning.
26 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
27 Set cpp_opts->cpp_input_charset_explicit.
28 (c_common_post_options): If -finput-charset=UTF-8 is explicit
29 in C++23, enable -Winvalid-utf8 by default and if -pedantic
30 or -pedantic-errors, make it a pedwarn.
31
542c60c4
GA
322022-08-31 Joseph Myers <joseph@codesourcery.com>
33
34 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
35 for LABEL_DECL.
36 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
37 decl_attributes.
38 * c-common.h (do_case, c_add_case_label): Update declarations.
39 * c-lex.cc (c_common_has_attribute): For C, produce a result of
40 201910 for fallthrough and 202106 for maybe_unused.
41
16f542d6
GA
422022-08-26 Marek Polacek <polacek@redhat.com>
43
44 PR c++/81159
45 * c.opt (Wself-move): New option.
46
472022-08-26 Jakub Jelinek <jakub@redhat.com>
48
49 * c-common.cc (check_builtin_function_arguments): Handle
50 BUILT_IN_ISSIGNALING.
51
522022-08-26 Jakub Jelinek <jakub@redhat.com>
53
54 PR c++/106648
55 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
56 __cpp_named_character_escapes to 202207L.
57
5d4389dc
GA
582022-08-25 Marek Polacek <polacek@redhat.com>
59
60 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
61 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
62 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
63 (struct c_common_resword): Resize the disable member.
64 (D_C2X): Add.
65 (nullptr_node): Define.
66 (nullptr_type_node): Define.
67 (NULLPTR_TYPE_P): Define.
68 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
69 NULLPTR_TYPE.
70 (c_pretty_printer::direct_abstract_declarator): Likewise.
71 (c_pretty_printer::constant): Likewise.
72
47a61e65
GA
732022-08-16 Tom Honermann <tom@honermann.net>
74
75 PR c++/106423
76 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
77 diagnostics in C++20 and later.
78 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
79
5cd525f0
GA
802022-08-11 Marek Polacek <polacek@redhat.com>
81
82 PR middle-end/102633
83 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
84 suppress_warning here.
85
5f17badb
GA
862022-08-08 Tom Honermann <tom@honermann.net>
87
88 PR preprocessor/106426
89 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
90 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
91
922022-08-08 Tom Honermann <tom@honermann.net>
93
94 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
95 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
96 enabled.
97 * c-opts.cc (c_common_post_options): Set flag_char8_t if
98 targeting C2x.
99
4a7274dd
GA
1002022-07-31 Lewis Hyatt <lhyatt@gmail.com>
101
102 PR c++/66290
103 * c-common.h: Rename global done_lexing to
104 override_libcpp_locations.
105 * c-common.cc (c_cpp_diagnostic): Likewise.
106 * c-opts.cc (c_common_finish): Set override_libcpp_locations
107 (formerly done_lexing) immediately prior to calling cpp_finish ().
108
1e2c5f4c
GA
1092022-07-27 Lewis Hyatt <lhyatt@gmail.com>
110
111 * c-ppoutput.cc (token_streamer::stream): Update input_location
112 prior to streaming each token.
113
0e6fa997
GA
1142022-07-23 Immad Mir <mirimmad@outlook.com>
115
116 * c-attribs.cc: (c_common_attribute_table): add three new attributes
117 namely: fd_arg, fd_arg_read and fd_arg_write.
118 (handle_fd_arg_attribute): New.
119
bdc7b765
GA
1202022-07-15 Marek Polacek <polacek@redhat.com>
121
122 PR c++/104477
123 * c-common.cc (c_common_reswords): Add
124 __reference_constructs_from_temporary and
125 __reference_converts_from_temporary.
126 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
127 RID_REF_CONVERTS_FROM_TEMPORARY.
128
1292022-07-15 Jonathan Wakely <jwakely@redhat.com>
130
131 * c-format.cc (class range_label_for_format_type_mismatch):
132 Adjust to new label_text API.
133
c72d4714
GA
1342022-07-11 Lewis Hyatt <lhyatt@gmail.com>
135
136 PR preprocessor/106252
137 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
138 option argument prior to verifying the option was found.
139
6345c414
GA
1402022-07-07 David Malcolm <dmalcolm@redhat.com>
141
142 * c-format.cc (range_label_for_format_type_mismatch::get_text):
143 Update for removal of label_text::maybe_free in favor of automatic
144 memory management.
145
4bc92c3b
GA
1462022-07-06 Lewis Hyatt <lhyatt@gmail.com>
147
148 PR preprocessor/53920
149 PR c++/53431
150 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
151 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
152 (c_pp_stream_token): Declare.
153 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
154 pragmas to...
155 (should_output_pragmas): ...here. New function.
156 (token_streamer::stream): Support handling early pragmas.
157 (do_line_change): Likewise.
158 (c_pp_stream_token): New function.
159 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
160 (pragma_diagnostic_lex_normal): New function. Moved logic for
161 interpreting GCC diagnostic pragmas here.
162 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
163 directly from libcpp.
164 (handle_pragma_diagnostic): Refactor into helper function...
165 (handle_pragma_diagnostic_impl): ...here. New function.
166 (handle_pragma_diagnostic_early): New function.
167 (handle_pragma_diagnostic_early_pp): New function.
168 (struct pragma_ns_name): Renamed to...
169 (struct pragma_pp_data): ...this. Add new "early_handler" member.
170 (c_register_pragma_1): Support early pragmas in the preprocessor.
171 (c_register_pragma_with_early_handler): New function.
172 (c_register_pragma): Support the new early handlers in struct
173 internal_pragma_handler.
174 (c_register_pragma_with_data): Likewise.
175 (c_register_pragma_with_expansion): Likewise.
176 (c_register_pragma_with_expansion_and_data): Likewise.
177 (c_invoke_early_pragma_handler): New function.
178 (c_pp_invoke_early_pragma_handler): New function.
179 (init_pragma): Add early pragma support for diagnostic pragmas.
180 * c-pragma.h (struct internal_pragma_handler): Add new early handler
181 members.
182 (c_register_pragma_with_early_handler): Declare.
183 (c_invoke_early_pragma_handler): Declare.
184 (c_pp_invoke_early_pragma_handler): Declare.
185
d1f3a3ff
GA
1862022-07-05 Marek Polacek <polacek@redhat.com>
187
188 PR c++/105626
189 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
190 u8 strings.
191
ed974488
GA
1922022-07-01 Marek Polacek <polacek@redhat.com>
193
194 PR c++/106111
195 * c-common.h (enum rid): Update RID_LAST_CXX20.
196
976196b3
GA
1972022-06-30 Jonathan Wakely <jwakely@redhat.com>
198
199 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
200 names.
201
84c2131d
GA
2022022-06-24 Jason Merrill <jason@redhat.com>
203
204 PR c++/87729
205 PR c++/20423
206 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
207
4390e7bf
GA
2082022-06-18 Jakub Jelinek <jakub@redhat.com>
209
210 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
211 Use flag_sanitize_trap & SANITIZE_??? instead of
212 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
213 and flag_sanitize_trap differs for them, emit __builtin_trap only
214 for the comparison where trap is requested.
215 (ubsan_instrument_vla, ubsan_instrument_return): Use
216 lag_sanitize_trap & SANITIZE_??? instead of
217 flag_sanitize_undefined_trap_on_error.
218
c3642271
GA
2192022-06-13 Jason Merrill <jason@redhat.com>
220
221 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
222
d9176e64
GA
2232022-05-27 Marek Polacek <polacek@redhat.com>
224
225 PR c/90658
226 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
227
2282022-05-27 Jakub Jelinek <jakub@redhat.com>
229
230 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
231
57f2ce6a
GA
2322022-05-20 David Malcolm <dmalcolm@redhat.com>
233
234 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
235 and "override".
236 * c-pretty-print.h: Likewise.
237
1cda629f
GA
2382022-05-18 Marek Polacek <polacek@redhat.com>
239
240 PR c/105131
241 * c.opt (Wenum-int-mismatch): New.
242
2432022-05-18 Marek Polacek <polacek@redhat.com>
244
245 PR c++/105497
246 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
247 enumerator when it was marked with attribute unused.
248
2492022-05-18 Eric Botcazou <ebotcazou@adacore.com>
250
251 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
252 floating-point complex types.
253 <POINTER_TYPE>: Do not use limited_with clause if the designated
254 type is a scalar type.
255
3d9439b1
GA
2562022-05-17 Jakub Jelinek <jakub@redhat.com>
257
258 * c-omp.cc (c_finish_omp_depobj): Handle
259 OMP_CLAUSE_DEPEND_INOUTSET.
260
702bd11f
GA
2612022-05-16 Jason Merrill <jason@redhat.com>
262
263 PR c/105492
264 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
265 here.
266
2672022-05-16 Martin Liska <mliska@suse.cz>
268
269 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
270 (c_common_nodes_and_builtins): Likewise.
271 * c-format.cc (check_tokens): Likewise.
272 (check_plain): Likewise.
273 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
274 (init_pragma): Likewise.
275 * known-headers.cc (get_string_macro_hint): Likewise.
276 (get_stdlib_header_for_name): Likewise.
277 * c-attribs.cc: Likewise.
278
9df4ffe4
GA
2792022-05-13 Richard Biener <rguenther@suse.de>
280
281 * c-omp.cc: Remove gimple-fold.h include.
282
49ace834
GA
2832022-05-12 Jakub Jelinek <jakub@redhat.com>
284
285 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
286 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
287 if null_pointer_node.
288
d0d513b5
GA
2892022-05-11 Martin Liska <mliska@suse.cz>
290
291 PR target/105355
292 * c-opts.cc (c_common_handle_option): Change option name.
293 * c.opt: Remove Joined and use Separate option.
294
bd022ff9
GA
2952022-05-09 Alex Coplan <alex.coplan@arm.com>
296
297 * c-common.h (get_dump_info): Delete.
298 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
299 from the global dump_manager instead of the (now obsolete)
300 get_dump_info.
301 * c-opts.cc (original_dump_file): Delete.
302 (original_dump_flags): Delete.
303 (c_common_parse_file): Switch to using global dump_manager to
304 manage the original dump file; fix leak of dump file.
305 (get_dump_info): Delete.
306
a1947c92
GA
3072022-05-07 Marek Polacek <polacek@redhat.com>
308
309 PR c++/101833
310 PR c++/47634
311 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
312 with FN being either a function declaration or function type. Use
313 maybe_adjust_arg_pos_for_attribute.
314 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
315 check_function_format.
316 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
317 (positional_argument): Adjust.
318 * c-format.cc (get_constant): Rename to ...
319 (validate_constant): ... this. Take EXPR by reference. Return bool
320 instead of tree.
321 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
322 return value of validate_constant.
323 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
324 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
325 (check_function_format): Adjust a parameter name.
326 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
327
3e7db517
GA
3282022-05-04 Marek Polacek <polacek@redhat.com>
329
330 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
331 char to int.
332
95874f95
GA
3332022-04-30 Jason Merrill <jason@redhat.com>
334
335 PR c/100545
336 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
337 and typedef.
338 * c-common.cc (set_underlying_type): Add assert.
339
01ad093b
GA
3402022-04-26 Patrick Palka <ppalka@redhat.com>
341
342 PR c++/105304
343 * c-common.cc (verify_tree) [restart]: Move up to before the
344 NULL test.
345
da066c42
GA
3462022-04-11 Jakub Jelinek <jakub@redhat.com>
347
348 PR c++/105186
349 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
350 and __int%d__ builtin types, initialize corresponding ridpointers
351 entry.
352
150ab50f
GA
3532022-03-30 Marek Polacek <polacek@redhat.com>
354
355 PR c++/101030
356 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
357 conversion_warning when OP1 is null.
358
3592022-03-30 Thomas Schwinge <thomas@codesourcery.com>
360
361 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
362 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
363 option properties.
364
3652022-03-30 Thomas Schwinge <thomas@codesourcery.com>
366
367 * c.opt (Wuse-after-free): Remove.
368
3692022-03-30 Thomas Schwinge <thomas@codesourcery.com>
370
371 * c.opt (Warray-bounds): Remove.
372
d2906412
GA
3732022-03-26 Thomas Schwinge <thomas@codesourcery.com>
374
375 * c.opt: Properly quote comment.
376
31e989a2
GA
3772022-03-25 Eric Botcazou <ebotcazou@adacore.com>
378
379 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
380 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
381 the referenced type instead. Deal with the anonymous original type
382 of a typedef'ed type. In the actual access case, follow the chain
383 of external subtypes.
384 <TYPE_DECL>: Tidy up control flow.
385
d156bb87
GA
3862022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
387
388 * c-ada-spec.cc: Change array length
389
d7f00da1
GA
3902022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
391
392 * c-common.cc (c_family_tests): Call the new tests.
393 * c-common.h (c_diagnostic_tests): Declare.
394 (c_opt_problem_cc_tests): Likewise.
395
3962022-03-19 Jakub Jelinek <jakub@redhat.com>
397
398 PR c++/101515
399 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
400 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
401 be printed.
402
9fc8f278
GA
4032022-03-16 Christophe Lyon <christophe.lyon@arm.com>
404 Roger Sayle <roger@nextmovesoftware.com>
405
406 PR c/98198
407 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
408
4092022-03-16 Patrick Palka <ppalka@redhat.com>
410
411 PR c++/96780
412 * c.opt: Add -ffold-simple-inlines.
413
b9756c08
GA
4142022-03-13 Tobias Burnus <tobias@codesourcery.com>
415
416 * c-target.def (check_string_object_format_arg): Fix description typo.
417
57eeedda
GA
4182022-03-12 Thomas Schwinge <thomas@codesourcery.com>
419
420 PR other/65095
421 * c-common.h (c_omp_map_clause_name): Remove.
422 * c-omp.cc (c_omp_map_clause_name): Remove.
423
8cc4f9cd
GA
4242022-03-09 Jakub Jelinek <jakub@redhat.com>
425
426 PR c/104711
427 * c-opts.cc (c_common_post_options): Don't enable
428 -Wshift-negative-value from -Wextra for C++20 or later.
429 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
430 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
431 instead of TYPE_UNSIGNED.
432
e6533e2e
GA
4332022-03-07 Jakub Jelinek <jakub@redhat.com>
434
435 * c-attribs.cc: Fix up duplicated word issue in a comment.
436
12d4552e
GA
4372022-03-01 Martin Liska <mliska@suse.cz>
438
439 PR ipa/104533
440 * c-attribs.cc (handle_target_clones_attribute): Use
441 get_target_clone_attr_len and report warning soon.
442
0bdb0498
GA
4432022-02-17 Jonathan Wakely <jwakely@redhat.com>
444
445 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
446 (handle_pragma_weak): Likewise.
447 (handle_pragma_scalar_storage_order): Likewise.
448 (handle_pragma_redefine_extname): Likewise.
449 (handle_pragma_visibility): Likewise.
450 (handle_pragma_diagnostic): Likewise.
451 (handle_pragma_target): Likewise.
452 (handle_pragma_optimize): Likewise.
453 (handle_pragma_push_options): Likewise.
454 (handle_pragma_pop_options): Likewise.
455 (handle_pragma_reset_options): Likewise.
456 (handle_pragma_message): Likewise.
457 (handle_pragma_float_const_decimal64): Likewise.
458
cb3afcd2
GA
4592022-02-16 Jakub Jelinek <jakub@redhat.com>
460
461 PR c/104531
462 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
463 build_binary_op with LT_EXPR and only if that doesn't return
464 error_mark_node call build_modify_expr.
465
4662022-02-16 Jakub Jelinek <jakub@redhat.com>
467
468 PR c/104510
469 * c-common.cc (shorten_compare): Convert original arguments to
470 the original *restype_ptr when mixing binary and decimal float.
471
1f8a09d2
GA
4722022-02-14 Richard Biener <rguenther@suse.de>
473
474 PR c/104505
475 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
476 internal function calls.
477
e8d68f0a
GA
4782022-02-11 Richard Biener <rguenther@suse.de>
479
480 * c-attribs.cc (c_common_attribute_table): Add entry for
481 vector_mask.
482 (handle_vector_mask_attribute): New.
483
a645583d
GA
4842022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
485
486 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
487 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
488 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
489
3adf509f
GA
4902022-02-09 Jason Merrill <jason@redhat.com>
491
492 * c-cppbuiltin.cc (c_cpp_builtins): Update values
493 of __cpp_constexpr and __cpp_concepts for C++20.
494
bb99171b
GA
4952022-01-24 Marek Polacek <polacek@redhat.com>
496
497 PR preprocessor/104030
498 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
499
9dd44357
GA
5002022-01-21 Jakub Jelinek <jakub@redhat.com>
501
502 PR c++/104148
503 * c-common.h (check_function_arguments_recurse): Add for_format
504 arg.
505 * c-common.cc (check_function_nonnull): Pass false to
506 check_function_arguments_recurse's last argument.
507 (check_function_arguments_recurse): Add for_format argument,
508 if true, don't stop on warning_suppressed_p.
509 * c-format.cc (check_format_info): Pass true to
510 check_function_arguments_recurse's last argument.
511
fe1ad141
GA
5122022-01-19 David Malcolm <dmalcolm@redhat.com>
513
514 * c-common.cc (c_common_c_tests): Rename to...
515 (c_common_cc_tests): ...this.
516 (c_family_tests): Update calls for .c to .cc renaming.
517 * c-common.h (c_format_c_tests): Rename to...
518 (c_format_cc_tests): ...this.
519 (c_indentation_c_tests): Rename to...
520 (c_indentation_cc_tests): ...this.
521 (c_pretty_print_c_tests): Rename to...
522 (c_pretty_print_cc_tests): ...this.
523 * c-format.cc (c_format_c_tests): Rename to...
524 (c_format_cc_tests): ...this.
525 * c-indentation.cc (c_indentation_c_tests): Rename to...
526 (c_indentation_cc_tests): ...this.
527 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
528 (c_pretty_print_cc_tests): ...this.
529
fc829782
GA
5302022-01-17 Martin Liska <mliska@suse.cz>
531
532 * c-ada-spec.cc: Rename .c names to .cc.
533 * c-ada-spec.h: Likewise.
534 * c-common.cc (c_build_vec_convert): Likewise.
535 (warning_candidate_p): Likewise.
536 * c-common.h (enum rid): Likewise.
537 (build_real_imag_expr): Likewise.
538 (finish_label_address_expr): Likewise.
539 (c_get_substring_location): Likewise.
540 (c_build_bind_expr): Likewise.
541 (conflict_marker_get_final_tok_kind): Likewise.
542 (c_parse_error): Likewise.
543 (check_missing_format_attribute): Likewise.
544 (invalid_array_size_error): Likewise.
545 (warn_for_multistatement_macros): Likewise.
546 (build_attr_access_from_parms): Likewise.
547 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
548 * c-format.cc: Likewise.
549 * c-gimplify.cc (c_gimplify_expr): Likewise.
550 * c-indentation.h: Likewise.
551 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
552 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
553 * c-opts.cc (c_common_post_options): Likewise.
554 (set_std_cxx23): Likewise.
555 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
556 * c-pretty-print.h: Likewise.
557
5582022-01-17 Martin Liska <mliska@suse.cz>
559
560 * c-ada-spec.c: Moved to...
561 * c-ada-spec.cc: ...here.
562 * c-attribs.c: Moved to...
563 * c-attribs.cc: ...here.
564 * c-common.c: Moved to...
565 * c-common.cc: ...here.
566 * c-cppbuiltin.c: Moved to...
567 * c-cppbuiltin.cc: ...here.
568 * c-dump.c: Moved to...
569 * c-dump.cc: ...here.
570 * c-format.c: Moved to...
571 * c-format.cc: ...here.
572 * c-gimplify.c: Moved to...
573 * c-gimplify.cc: ...here.
574 * c-indentation.c: Moved to...
575 * c-indentation.cc: ...here.
576 * c-lex.c: Moved to...
577 * c-lex.cc: ...here.
578 * c-omp.c: Moved to...
579 * c-omp.cc: ...here.
580 * c-opts.c: Moved to...
581 * c-opts.cc: ...here.
582 * c-pch.c: Moved to...
583 * c-pch.cc: ...here.
584 * c-ppoutput.c: Moved to...
585 * c-ppoutput.cc: ...here.
586 * c-pragma.c: Moved to...
587 * c-pragma.cc: ...here.
588 * c-pretty-print.c: Moved to...
589 * c-pretty-print.cc: ...here.
590 * c-semantics.c: Moved to...
591 * c-semantics.cc: ...here.
592 * c-ubsan.c: Moved to...
593 * c-ubsan.cc: ...here.
594 * c-warn.c: Moved to...
595 * c-warn.cc: ...here.
596 * cppspec.c: Moved to...
597 * cppspec.cc: ...here.
598 * stub-objc.c: Moved to...
599 * stub-objc.cc: ...here.
600
9248ee41
GA
6012022-01-15 Martin Sebor <msebor@redhat.com>
602
603 PR c/63272
604 * c.opt (-Wdangling-pointer): New option.
605
6062022-01-15 Martin Sebor <msebor@redhat.com>
607
608 PR tree-optimization/80532
609 * c.opt (-Wuse-after-free): New options.
610
617db51d
GA
6112022-01-14 David Malcolm <dmalcolm@redhat.com>
612
613 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
614 (handle_tainted_args_attribute): New.
615
ad3f0d08
GA
6162022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
617 Jason Merrill <jason@redhat.com>
618
619 PR c++/70417
620 * c.opt: Added -Wmissing-template-keyword.
621
6222022-01-13 Richard Biener <rguenther@suse.de>
623
624 PR c/104002
625 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
626
02a8a01b
GA
6272022-01-12 Martin Liska <mliska@suse.cz>
628
629 PR target/103804
630 * c-attribs.c (handle_optimize_attribute): Do not call
631 cl_optimization_compare if we seen an error.
632
01a254e3
GA
6332022-01-11 Jakub Jelinek <jakub@redhat.com>
634
635 PR c/101537
636 PR c/103881
637 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
638 and BIT_XOR_EXPR.
639
d9450aa0
GA
6402022-01-10 Richard Biener <rguenther@suse.de>
641
642 PR middle-end/101530
643 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
644 in a TARGET_EXPR to force a temporary.
645
11ce8d04
GA
6462022-01-06 Marek Polacek <polacek@redhat.com>
647
648 PR c++/103758
649 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
650 diagnostic messages.
651 (handle_pragma_diagnostic): Likewise.
652
a4ae8c37
GA
6532022-01-03 Marek Polacek <polacek@redhat.com>
654
655 PR c++/103758
656 * c-format.c (check_tokens): Accept "decl-specifier*".
657
6582022-01-03 Jakub Jelinek <jakub@redhat.com>
659
660 PR c++/103600
661 * c-attribs.c (handle_non_overlapping_attribute): New function.
662 (c_common_attribute_table): Add "non overlapping" attribute.
663
84790a9d
GA
6642021-12-30 Jakub Jelinek <jakub@redhat.com>
665
666 PR c++/103012
667 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
668 cpp_define_unused/cpp_undef calls with forced token locations
669 BUILTINS_LOCATION.
670
d1e111da
GA
6712021-12-27 Patrick Palka <ppalka@redhat.com>
672
673 PR c++/103700
674 * c-common.c (pointer_int_sum): When quiet, return
675 error_mark_node for an incomplete pointed-to type and don't
676 call size_in_bytes_loc.
677
2554e2da
GA
6782021-12-17 Jason Merrill <jason@redhat.com>
679
680 PR c++/103681
681 * c-opts.c (c_common_post_options): Update defaults.
682
774269aa
GA
6832021-12-16 Martin Liska <mliska@suse.cz>
684
685 PR target/103709
686 * c-pragma.c (handle_pragma_pop_options): Do not check
687 global options modification when an error is seen in parsing
688 of options (pragmas or attributes).
689
c8dcf64b
GA
6902021-12-12 Jonathan Wakely <jwakely@redhat.com>
691
692 * known-headers.cc: Define INCLUDE_MEMORY instead of
693 INCLUDE_UNIQUE_PTR.
694 * name-hint.h: Likewise.
695 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
696
4b4839e3
GA
6972021-12-09 Jakub Jelinek <jakub@redhat.com>
698
699 PR pch/71934
700 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
701 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
702
03a9bd05
GA
7032021-12-03 Jakub Jelinek <jakub@redhat.com>
704
705 PR pch/71934
706 * c-pch.c (struct c_pch_validity): Remove pch_init member.
707 (pch_init): Don't initialize v.pch_init.
708 (c_common_valid_pch): Don't warn and punt if .text addresses change.
709
40fa651e
GA
7102021-12-01 Jason Merrill <jason@redhat.com>
711
712 PR c++/103310
713 * c.opt: Add -fconstexpr-fp-except.
714
87cd82c8
GA
7152021-11-29 Richard Biener <rguenther@suse.de>
716
717 * c-format.c (check_format_string): Remove spurious
718 gcc_unreachable.
719
7202021-11-29 Richard Biener <rguenther@suse.de>
721
722 * c-opts.c (c_common_post_options): Remove unreachable return.
723 * c-pragma.c (handle_pragma_target): Likewise.
724 (handle_pragma_optimize): Likewise.
725
091ccc06
GA
7262021-11-25 Jakub Jelinek <jakub@redhat.com>
727
728 PR c++/102611
729 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
730 default for C++23 regardless of warn_deprecated.
731 * c-cppbuiltin.c (c_cpp_builtins): Predefine
732 __cpp_multidimensional_subscript=202110L for C++23.
733
e1d43592
GA
7342021-11-23 Martin Sebor <msebor@redhat.com>
735
736 PR middle-end/88232
737 * c.opt: Add -Winfinite-recursion.
738
9c077398
GA
7392021-11-19 Martin Sebor <msebor@redhat.com>
740
741 PR c++/33925
742 PR c/102867
743 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
744 and improve handling tof defined symbols.
745
7462021-11-19 Martin Liska <mliska@suse.cz>
747
748 Revert:
749 2021-11-18 Martin Liska <mliska@suse.cz>
750
751 * c-gimplify.c (genericize_c_loop): Use option directly.
752
483092d3
GA
7532021-11-18 Matthias Kretz <m.kretz@gsi.de>
754
755 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
756 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
757
7582021-11-18 Martin Liska <mliska@suse.cz>
759
760 * c-gimplify.c (genericize_c_loop): Use option directly.
761
280d2838
GA
7622021-11-17 Martin Uecker <uecker@gcc.gnu.org>
763
764 PR c/91038
765 PR c/29970
766 * c-common.c (pointer_int_sum): Make sure pointer expressions
767 are evaluated first when the size expression depends on for
768 variably-modified types.
769
7702021-11-17 Marek Polacek <polacek@redhat.com>
771
772 PR preprocessor/103026
773 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
774
6b1695f4
GA
7752021-11-16 Jason Merrill <jason@redhat.com>
776
777 * c-common.c (release_tree_vector): Only cache vecs smaller than
778 16 elements.
779
e2b57363
GA
7802021-11-15 Jason Merrill <jason@redhat.com>
781
782 * c.opt: Add -fimplicit-constexpr.
783 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
784 * c-opts.c (c_common_post_options): Disable below C++14.
785
7862021-11-15 Jakub Jelinek <jakub@redhat.com>
787
788 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
789 Duplicate to both OMP_TARGET and OMP_TEAMS.
790
8d36a0d2
GA
7912021-11-10 Marek Polacek <polacek@redhat.com>
792
793 PR c++/101940
794 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
795 ignored_attributes.
796
c9b1334e
GA
7972021-11-09 David Malcolm <dmalcolm@redhat.com>
798
799 * c-pragma.c (GCC_BAD_AT): New macro.
800 (GCC_BAD2_AT): New macro.
801 (handle_pragma_pack): Use the location of the pertinent token when
802 issuing diagnostics about invalid constants/actions, and trailing
803 junk.
804 (handle_pragma_target): Likewise for non-string "GCC option".
805 (handle_pragma_message): Likewise for trailing junk.
806
18ae471f
GA
8072021-11-03 Joseph Myers <joseph@codesourcery.com>
808
809 PR c/103031
810 * c-common.c (convert_and_check): Add argument init_const. Call
811 convert_init if init_const.
812 * c-common.h (convert_and_check): Update prototype.
813 (convert_init): New prototype.
814
cf82e8d9
GA
8152021-11-01 David Malcolm <dmalcolm@redhat.com>
816
817 * c-lex.c (c_lex_with_flags): When complaining about non-printable
818 CPP_OTHER tokens, set the "escape on output" flag.
819
04a2cf3f
GA
8202021-10-27 Jakub Jelinek <jakub@redhat.com>
821
822 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
823 POINTER_PLUS_EXPR.
824 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
825 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
826
8272021-10-27 Jakub Jelinek <jakub@redhat.com>
828
829 PR c++/102854
830 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
831 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
832 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
833 conversions temporarily clear the 3rd bit from d->kind while walking
834 subtrees.
835 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
836 if possibly non-rectangular.
837
ae5c5406
GA
8382021-10-21 Jakub Jelinek <jakub@redhat.com>
839
840 PR middle-end/64888
841 * c-omp.c (c_omp_predefined_variable): Return true also for
842 ubsan_create_data created artificial variables.
843
5d5885c9
GA
8442021-10-14 Joseph Myers <joseph@codesourcery.com>
845
846 * c-format.c (printf_length_specs, scanf_length_specs)
847 (print_char_table, scan_char_table): Support DFP formats for C2X.
848 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
849 (T2X_D32, T2X_D64, T2X_D128): New macros.
850
8512021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
852
853 * c-omp.c (c_omp_check_context_selector): Rename to
854 omp_check_context_selector and move to omp-general.c.
855 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
856 move to omp-general.c.
857
52055987
GA
8582021-10-12 Joseph Myers <joseph@codesourcery.com>
859
860 * c-format.c (print_char_table): Add %b and %B formats.
861 (scan_char_table): Add %b format.
862 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
863 (T2X_UPD, T2X_UIM): New macros.
864
8652021-10-12 Jakub Jelinek <jakub@redhat.com>
866
867 * c-omp.c (c_finish_omp_atomic): Use
868 clear_padding_type_may_have_padding_p.
869
ce6eec39
GA
8702021-10-08 Martin Liska <mliska@suse.cz>
871
872 * c-opts.c (c_common_post_options): Use new macro
873 OPTION_SET_P.
874
50e20ee6
GA
8752021-10-07 Martin Liska <mliska@suse.cz>
876
877 * c-common.c (parse_optimize_options): Make
878 save_opt_decoded_options a pointer type.
879
57c7ec62
GA
8802021-10-06 Jakub Jelinek <jakub@redhat.com>
881
882 PR tree-optimization/102571
883 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
884 padding, but the non-padding bits are contiguous set of bytes
885 by adjusting the memcmp call arguments instead of emitting
886 __builtin_clear_padding and then comparing all the type's bytes.
887
8882021-10-06 Jakub Jelinek <jakub@redhat.com>
889
890 PR c++/102612
891 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
892 __cpp_constexpr to 202110L rather than 201907L.
893
da9c5f78
GA
8942021-10-04 Marek Polacek <polacek@redhat.com>
895
896 PR c++/97573
897 * c-common.h (do_warn_array_compare): Declare.
898 * c-warn.c (do_warn_array_compare): New.
899 * c.opt (Warray-compare): New option.
900
e3e07b89
GA
9012021-10-02 Iain Sandoe <iain@sandoe.co.uk>
902
903 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
904 NULL, this is not needed.
905
9d116bcc
GA
9062021-10-01 Martin Sebor <msebor@redhat.com>
907
908 PR c/102103
909 * c-common.c (decl_with_nonnull_addr_p): Handle members.
910 Check and perform warning suppression.
911 (c_common_truthvalue_conversion): Enhance warning suppression.
912
9132021-10-01 Martin Liska <mliska@suse.cz>
914
915 PR target/102552
916 * c-common.c (parse_optimize_options): decoded_options[0] is
917 used for program name, so merged_decoded_options should also
918 respect that.
919
9202021-10-01 Jakub Jelinek <jakub@redhat.com>
921 Richard Biener <rguenther@suse.de>
922
923 PR sanitizer/102515
924 * c-ubsan.c (ubsan_instrument_division): Check the right
925 flag_sanitize_recover bit, depending on which sanitization
926 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
927 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
928 and SANITIZE_DIVIDE is enabled, neither check is known
929 to be false and flag_sanitize_recover bits for those two
930 aren't the same, emit both __ubsan_handle_divrem_overflow
931 and __ubsan_handle_divrem_overflow_abort calls.
932
9332021-10-01 Martin Liska <mliska@suse.cz>
934
935 * c-common.c (parse_optimize_options): Combine optimize
936 options with what was provided on the command line.
937
9382021-10-01 Jakub Jelinek <jakub@redhat.com>
939
940 * c-omp.c (c_omp_split_clauses): Also copy
941 OMP_CLAUSE_ORDER_REPRODUCIBLE.
942
cf966403
GA
9432021-09-27 Martin Liska <mliska@suse.cz>
944
945 * c-opts.c (c_common_init_options_struct): Set also
946 x_flag_default_complex_method.
947
e4777439
GA
9482021-09-22 Jakub Jelinek <jakub@redhat.com>
949
950 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
951
62498024
GA
9522021-09-20 Matthias Kretz <m.kretz@gsi.de>
953
954 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
955 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
956 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
957 __ROUNDING_MATH__ according to the new optimization flags.
958
cf74e7b5
GA
9592021-09-18 Jakub Jelinek <jakub@redhat.com>
960
961 * c-omp.c (c_omp_split_clauses): Split order clause also to
962 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
963
0a4cb439
GA
9642021-09-17 Jakub Jelinek <jakub@redhat.com>
965
966 * c-omp.c (c_finish_omp_atomic): Avoid creating
967 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
968 create_tmp_var and add a zero initializer to TARGET_EXPRs that
969 had NULL initializer. When omitting operands after v = x,
970 use type of v rather than type of x. Fix type of vtmp
971 TARGET_EXPR.
972
07985c47
GA
9732021-09-13 Jason Merrill <jason@redhat.com>
974
975 * c.opt: Add -Winterference-size.
976 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
977 and __GCC_CONSTRUCTIVE_SIZE.
978
a26206ec
GA
9792021-09-10 Jakub Jelinek <jakub@redhat.com>
980
981 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
982 * c-omp.c: Include gimple-fold.h.
983 (c_finish_omp_atomic): Add r and weak arguments. Add support for
984 OpenMP 5.1 atomics.
985
f84e2f0b
GA
9862021-09-09 qing zhao <qing.zhao@oracle.com>
987
988 * c-attribs.c (handle_uninitialized_attribute): New function.
989 (c_common_attribute_table): Add "uninitialized" attribute.
990
b6db7cd4
GA
9912021-09-08 liuhongt <hongtao.liu@intel.com>
992
993 * c-common.c (excess_precision_mode_join): Update below comments.
994 (c_ts18661_flt_eval_method): Set excess_precision_type to
995 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
996 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
997 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
998 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
999
b2748138
GA
10002021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
1001
1002 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
1003
7b739540
GA
10042021-09-03 Eric Botcazou <ebotcazou@adacore.com>
1005
1006 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
1007 and -gnatwu warning for the package specification.
1008
e11c6046
GA
10092021-09-01 Iain Sandoe <iain@sandoe.co.uk>
1010
1011 * c-attribs.c (handle_unavailable_attribute): New.
1012
1e2f030b
GA
10132021-08-30 Jason Merrill <jason@redhat.com>
1014
1015 * c.opt: Add -Wmissing-requires.
1016
85d77ac4
GA
10172021-08-25 Lewis Hyatt <lhyatt@gmail.com>
1018
1019 PR other/93067
1020 * c-opts.c (c_common_input_charset_cb): New function.
1021 (c_common_post_options): Call new function
1022 diagnostic_initialize_input_context().
1023
7c9e1645
GA
10242021-08-20 Tobias Burnus <tobias@codesourcery.com>
1025
1026 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
1027 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
1028 "di" and "u", respecitively; fill with BADLEN to match
1029 size of 'types'.
1030 (get_init_dynamic_hwi): Split off from ...
1031 (init_dynamic_diag_info): ... here. Call it.
1032 (init_dynamic_gfc_info): Call it.
1033
10342021-08-20 Jakub Jelinek <jakub@redhat.com>
1035
1036 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
1037 * c-pragma.c (omp_pragmas): Add error directive.
1038 * c-omp.c (omp_directives): Uncomment error directive entry.
1039
6e529985
GA
10402021-08-18 Jakub Jelinek <jakub@redhat.com>
1041
1042 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
1043 * c-pragma.c (omp_pragmas): Add nothing directive.
1044 * c-omp.c (omp_directives): Uncomment nothing directive entry.
1045
2d14d64b
GA
10462021-08-17 Jakub Jelinek <jakub@redhat.com>
1047
1048 PR c++/101539
1049 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
1050 * c-common.c (c_common_reswords): Add __is_layout_compatible.
1051
10522021-08-17 Matt Jacobson <mhjacobson@me.com>
1053
1054 * c-opts.c (c_common_post_options): Default to
1055 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
1056
10572021-08-17 Jakub Jelinek <jakub@redhat.com>
1058
1059 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
1060 * c-pragma.c (omp_pragmas): Add scope construct.
1061 * c-omp.c (omp_directives): Uncomment scope directive entry.
1062
9d1d9fc8
GA
10632021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
1064
1065 * c-cppbuiltin.c (c_cpp_builtins): Define
1066 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
1067
72be20e2
GA
10682021-08-12 Jakub Jelinek <jakub@redhat.com>
1069
1070 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
1071 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
1072 * c-pragma.c (omp_pragmas_simd): Add masked construct.
1073 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
1074 enumerator.
1075 (c_finish_omp_masked): Declare.
1076 * c-omp.c (c_finish_omp_masked): New function.
1077 (c_omp_split_clauses): Handle combined masked constructs.
1078
4d17ca1b
GA
10792021-07-30 Jakub Jelinek <jakub@redhat.com>
1080
1081 PR c++/101539
1082 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
1083 * c-common.c (c_common_reswords): Add
1084 __is_pointer_interconvertible_base_of.
1085
10862021-07-29 Richard Biener <rguenther@suse.de>
1087
1088 PR c/101512
1089 * c-common.c (c_common_mark_addressable_vec): Look through
1090 C_MAYBE_CONST_EXPR even if not at the toplevel.
1091
af3f12e6
GA
10922021-07-27 Martin Sebor <msebor@redhat.com>
1093
1094 PR c/101585
1095 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
1096
ead235f6
GA
10972021-07-23 Jakub Jelinek <jakub@redhat.com>
1098
1099 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
1100 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
1101 and later.
1102
11032021-07-23 Jakub Jelinek <jakub@redhat.com>
1104
1105 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
1106 PRAGMA_OMP__LAST_ enumerators.
1107
419c6c68
GA
11082021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1109 Joseph Myers <joseph@codesourcery.com>
1110 Cesar Philippidis <cesar@codesourcery.com>
1111
1112 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
1113
92d45509
GA
11142021-07-20 Martin Sebor <msebor@redhat.com>
1115
1116 * c-common.c (c_build_shufflevector): Adjust by-value argument to
1117 by-const-reference.
1118 * c-common.h (c_build_shufflevector): Same.
1119
87277b6a
GA
11202021-07-16 Andrew Pinski <apinski@marvell.com>
1121
1122 PR c/101453
1123 * c-common.c (parse_optimize_options): Use the correct
1124 size for buffer.
1125
d97d71a1
GA
11262021-07-15 Martin Sebor <msebor@redhat.com>
1127
1128 PR c/101289
1129 PR c/97548
1130 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
1131
c4fee1c6
GA
11322021-07-14 Jason Merrill <jason@redhat.com>
1133
1134 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
1135
6fba0eea
GA
11362021-07-06 Martin Sebor <msebor@redhat.com>
1137
1138 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
1139 (gcc_cdiag_char_table): Same.
1140 (gcc_cxxdiag_char_table): Same.
1141
7a60a6e8
GA
11422021-07-02 Jakub Jelinek <jakub@redhat.com>
1143
1144 * c-common.h (enum c_omp_directive_kind): New enum.
1145 (struct c_omp_directive): New type.
1146 (c_omp_categorize_directive): Declare.
1147 * c-omp.c (omp_directives): New variable.
1148 (c_omp_categorize_directive): New function.
1149
bea7c16a
GA
11502021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1151
1152 * c-ada-spec.c (packed_layout): New global variable.
1153 (dump_ada_declaration): Set it upon seeing a packed record type.
1154 Do not put the "aliased" keyword if it is set.
1155 (dump_ada_structure): Add Pack aspect if it is set and clear it.
1156
11572021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1158
1159 * c-ada-spec.c (check_name): Rename into...
1160 (check_type_name_conflict): ...this. Minor tweak.
1161 (dump_ada_function_declaration): Adjust to above renaming.
1162 (dump_ada_array_domains): Fix oversight.
1163 (dump_ada_declaration): Call check_type_name_conflict for variables.
1164
90708f87
GA
11652021-06-25 Martin Sebor <msebor@redhat.com>
1166
1167 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
1168 (c_common_truthvalue_conversion): Replace direct uses of
1169 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
1170 copy_no_warning.
1171 (check_function_arguments_recurse): Same.
1172 * c-gimplify.c (c_gimplify_expr): Same.
1173 * c-warn.c (overflow_warning): Same.
1174 (warn_logical_operator): Same.
1175 (warn_if_unused_value): Same.
1176 (do_warn_unused_parameter): Same.
1177
9aa8327e
GA
11782021-06-24 Jakub Jelinek <jakub@redhat.com>
1179
1180 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
1181 C_ORT_OMP_TARGET.
1182 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
1183 combined target constructs also add map (always, tofrom:) clause.
1184
ede6c356
GA
11852021-06-15 Robin Dapp <rdapp@linux.ibm.com>
1186
1187 * c-attribs.c (common_handle_aligned_attribute): Remove short
1188 circuit and dead code.
1189
8dc48181
GA
11902021-06-14 Jonathan Wakely <jwakely@redhat.com>
1191
1192 PR c++/101052
1193 * known-headers.cc (get_stdlib_header_for_name): Add known
1194 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
1195 exit, and getenv.
1196
8b8c3912
GA
11972021-06-12 Jason Merrill <jason@redhat.com>
1198
1199 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
1200
f16f65f8
GA
12012021-06-11 Jakub Jelinek <jakub@redhat.com>
1202
1203 PR c++/100974
1204 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
1205 -std=c++2b for P1938R3 consteval if support.
1206
4f625f47
GA
12072021-06-09 Jason Merrill <jason@redhat.com>
1208
1209 PR c++/100879
1210 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
1211 warning.
1212
438aac59
GA
12132021-06-07 Martin Liska <mliska@suse.cz>
1214
1215 * c-target.def: Split long lines and replace them
1216 with '\n\'.
1217
600f90cb
GA
12182021-06-04 Martin Sebor <msebor@redhat.com>
1219
1220 PR c/100783
1221 * c-attribs.c (positional_argument): Bail on erroneous types.
1222
12232021-06-04 Martin Sebor <msebor@redhat.com>
1224
1225 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1226 for element presence.
1227
440c8a0a
GA
12282021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1229
1230 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1231 (dump_ada_decl_name): Likewise.
1232 (dump_anonymous_type_name): Remove parent parameter and adjust.
1233 (dump_sloc): Minor tweak.
1234 (dump_ada_array_type): Remove type parameter and adjust.
1235 (dump_ada_enum_type): Remove parent parameter and adjust.
1236 (dump_ada_node): Adjust calls to above functions.
1237 (dumped_anonymous_types): New global variable.
1238 (dump_nested_types_1): Rename into...
1239 (dump_nested_types): ...this.
1240 (dump_nested_type): Remove parent and dumped_types parameters.
1241 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1242 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1243 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1244
12452021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1246
1247 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1248 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1249
12502021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1251
1252 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1253 (htable_t): New typedef.
1254 (overloaded_names): Use it.
1255 (add_name): New function.
1256 (init_overloaded_names): Use add_name to populate the table and add
1257 special cases for sigaction and stat.
1258 (overloaded_name_p): Rename into...
1259 (overloading_index): ...this. Do not initialize overloaded_names table
1260 here. Return the index or zero.
1261 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1262 but add an overloading suffix instead.
1263 (dump_ada_specs): Initialize overloaded_names tables here.
1264
b75978d1
GA
12652021-06-01 Martin Liska <mliska@suse.cz>
1266
1267 PR other/100759
1268 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1269 to a situation where we are not in processing of an optimize
1270 pragma.
1271 * c-pragma.c (handle_pragma_pop_options): Restore target
1272 options.
1273
ee682192
GA
12742021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1275
1276 PR testsuite/100749
1277 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1278
12792021-05-31 Richard Biener <rguenther@suse.de>
1280
1281 PR c++/88601
1282 * c-common.c: Include tree-vector-builder.h and
1283 vec-perm-indices.h.
1284 (c_common_reswords): Add __builtin_shufflevector.
1285 (c_build_shufflevector): New funtion.
1286 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1287 (c_build_shufflevector): Declare.
1288
48166757
GA
12892021-05-28 Jakub Jelinek <jakub@redhat.com>
1290
1291 PR middle-end/99928
1292 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1293 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1294
12952021-05-28 Tobias Burnus <tobias@codesourcery.com>
1296
1297 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1298
2bc6dace
GA
12992021-05-25 Martin Liska <mliska@suse.cz>
1300
1301 PR tree-optimization/92860
1302 PR target/99592
1303 * c-attribs.c (handle_optimize_attribute): Save target node
1304 before calling parse_optimize_options and save it in case
1305 it changes.
1306 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1307 (handle_pragma_pop_options): Likewise here.
1308
13092021-05-25 Martin Liska <mliska@suse.cz>
1310
1311 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1312
13132021-05-25 Jakub Jelinek <jakub@redhat.com>
1314
1315 PR middle-end/99928
1316 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1317 combined with simd and not with taskloop or for.
1318
2832d51b
GA
13192021-05-21 Jakub Jelinek <jakub@redhat.com>
1320
1321 PR middle-end/99928
1322 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1323 on firstprivate clause copy going to target construct, and for
1324 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1325
ea34e2ed
GA
13262021-05-20 Jonathan Wakely <jwakely@redhat.com>
1327
1328 * c.opt (Wc++11-extensions, Wc++14-extensions)
1329 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1330 options.
1331
13322021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1333
1334 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1335
13362021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1337
1338 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1339 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1340 (pch_init): Renamed member.
1341 (c_common_valid_pch): Adjust access to debug_type_names.
1342
65f32e5d
GA
13432021-05-19 Martin Sebor <msebor@redhat.com>
1344
1345 PR c/100619
1346 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1347 bounds.
1348
a8daf9a1
GA
13492021-05-18 Richard Biener <rguenther@suse.de>
1350
1351 PR c/100547
1352 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1353 Reword existing nunit diagnostic.
1354
a7ffc1ef
GA
13552021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1356
1357 * c-common.c (braced_list_to_string): Return CTOR unchanged
1358 if host and target character sizes don't match.
1359
87a7d10c
GA
13602021-05-14 Martin Liska <mliska@suse.cz>
1361
1362 * c.opt: Add Warning keyword for 2 options.
1363
f9af11c7
GA
13642021-05-13 Martin Liska <mliska@suse.cz>
1365
1366 PR middle-end/100504
1367 * c-attribs.c (handle_target_clones_attribute): Expect a string
1368 argument to target_clone argument.
1369
037e3661
GA
13702021-05-11 Joseph Myers <joseph@codesourcery.com>
1371
1372 * c-lex.c (interpret_float): Handle digit separators for C2X.
1373
aa891c56
GA
13742021-05-10 Martin Liska <mliska@suse.cz>
1375
1376 * c-ada-spec.c (print_destructor): Use startswith
1377 function instead of strncmp.
1378 (dump_ada_declaration): Likewise.
1379 * c-common.c (disable_builtin_function): Likewise.
1380 (def_builtin_1): Likewise.
1381 * c-format.c (check_tokens): Likewise.
1382 (check_plain): Likewise.
1383 (convert_format_name_to_system_name): Likewise.
1384
e4ff4ffb
GA
13852021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1386
1387 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1388 complex divide
1389
c0fa3f2f
GA
13902021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1391 Nathan Sidwell <nathan@codesourcery.com>
1392 Tom de Vries <vries@codesourcery.com>
1393 Julian Brown <julian@codesourcery.com>
1394 Kwok Cheung Yeung <kcy@codesourcery.com>
1395
1396 * c.opt (Wopenacc-parallelism): New.
1397
6e81e015
GA
13982021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1399
1400 * c.opt (fopenacc-kernels=): Remove.
1401
019a9220
GA
14022021-04-08 Jakub Jelinek <jakub@redhat.com>
1403
1404 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1405 occured -> occurred.
1406 (check_alignment_of_packed_member): Fix a comment typo,
1407 memeber -> member.
1408 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1409 and onless -> unless.
1410 (warn_parm_array_mismatch): Fix comment typos, declaratation
1411 -> declaration and woud -> would. Fix up comment indentation.
1412
14132021-04-08 Martin Sebor <msebor@redhat.com>
1414
1415 PR middle-end/99883
1416 * c.opt (Wmismatched-new-delete): Correct spelling.
1417
b1da9916
GA
14182021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1419
1420 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1421 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1422 enumeral types use again the type name for the enumeration constants.
1423 (dump_ada_node): Adjust call to dump_ada_enum_type.
1424 (dump_nested_type): Likewise.
1425
f1607029
GA
14262021-04-01 Jason Merrill <jason@redhat.com>
1427
1428 PR c++/98481
1429 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1430
4493b1c1
GA
14312021-03-25 Jakub Jelinek <jakub@redhat.com>
1432
1433 PR c++/99565
1434 * c-warn.c (do_warn_duplicated_branches): Pass also
1435 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1436
6af7b307
GA
14372021-03-20 Jakub Jelinek <jakub@redhat.com>
1438
1439 PR debug/99230
1440 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1441
ceae9533
GA
14422021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1443
1444 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1445 after entering the separate class package, if any.
1446
67f10d28
GA
14472021-03-04 Richard Biener <rguenther@suse.de>
1448
1449 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1450 Handle ERROR_MARK.
1451
14522021-03-04 Jakub Jelinek <jakub@redhat.com>
1453
1454 PR c/99325
1455 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1456 (token_streamer::stream) Likewise.
1457 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1458 UNKNOWN_LOCATION.
1459
f3641ac7
GA
14602021-03-03 Jakub Jelinek <jakub@redhat.com>
1461
1462 PR c/99324
1463 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1464 instead of mark_addressable. Fix a comment typo -
1465 neutrallly -> neutrally.
1466
2c83c3fb
GA
14672021-02-28 Jakub Jelinek <jakub@redhat.com>
1468
1469 PR c/99304
1470 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1471 message - refernced -> referenced. Remove superfluous space before
1472 closing paren of function calls.
1473
daa68844
GA
14742021-02-25 Nathan Sidwell <nathan@acm.org>
1475
1476 PR c++/99166
1477 * c.opt (-flang-info-module-cmi): Renamed option.
1478
50352c6c
GA
14792021-02-19 Nathan Sidwell <nathan@acm.org>
1480
1481 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1482
bf81237e
GA
14832021-02-18 H.J. Lu <hjl.tools@gmail.com>
1484
1485 PR target/99113
1486 * c-attribs.c (c_common_attribute_table): Add the "retain"
1487 attribute.
1488 (handle_retain_attribute): New function.
1489
0e804ce3
GA
14902021-02-16 Marek Polacek <polacek@redhat.com>
1491
1492 PR c++/99062
1493 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1494 alignment argument is non-negative. Tweak a warning message.
1495
fab095da
GA
14962021-02-12 Martin Sebor <msebor@redhat.com>
1497
1498 PR c/99055
1499 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1500 print_generic_expr_to_str.
1501
4b37c3ea
GA
15022021-02-10 Richard Biener <rguenther@suse.de>
1503
1504 * c-common.c (parse_optimize_options): Free decoded_options.
1505
a19dd5e6
GA
15062021-02-04 emsr <3dw4rd@verizon.net>
1507
1508 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1509
9faaa807
GA
15102021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1511
1512 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1513 * c-lex.c (interpret_integer): Set node type for size literal.
1514
85d04a2e
GA
15152021-01-28 Jakub Jelinek <jakub@redhat.com>
1516
1517 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1518 draft from description.
1519 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1520
e62bb7f0
GA
15212021-01-26 Paul Fee <paul.f.fee@gmail.com>
1522
1523 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1524 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1525 and -std=gnu++2b
1526 * c-opts.c (set_std_cxx23): New.
1527 (c_common_handle_option): Set options when -std=c++23 is enabled.
1528 (c_common_post_options): Adjust comments.
1529 (set_std_cxx20): Likewise.
1530
161e4c08
GA
15312021-01-25 Martin Sebor <msebor@redhat.com>
1532
1533 PR c++/98646
1534 * c-common.c (check_nonnull_arg): Adjust warning text.
1535
4c9bcd5c
GA
15362021-01-17 Martin Sebor <msebor@redhat.com>
1537
1538 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1539 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1540
59cf67d1
GA
15412021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1542
1543 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1544 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1545
2f7f0d32
GA
15462021-01-15 Jakub Jelinek <jakub@redhat.com>
1547
1548 PR tree-optimization/98597
1549 * c-pretty-print.c: Include options.h.
1550 (c_fold_indirect_ref_for_warn): New function.
1551 (print_mem_ref): Use it. If it returns something that has compatible
1552 type and is TBAA compatible with zero offset, print it and return,
1553 otherwise print it using offsetof syntax or array ref syntax. Fix up
1554 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1555 argument has pointer to array type. Print pointers using the standard
1556 formatting.
1557
6851dda2
GA
15582021-01-12 Martin Sebor <msebor@redhat.com>
1559
1560 PR c/98597
1561 PR c/98592
1562 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1563 has pointer type. Remove redundant code. Avoid calling
1564 gimple_canonical_types_compatible_p.
1565
7d187e4f
GA
15662021-01-07 Martin Sebor <msebor@redhat.com>
1567
1568 PR middle-end/98578
1569 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1570 Avoid assuming acces type's size is constant. Correct condition
1571 guarding the printing of a parenthesis.
1572
942ae5be
GA
15732021-01-06 Martin Sebor <msebor@redhat.com>
1574
1575 PR c++/95768
1576 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1577 SSA_NAMEs print VLA names and GIMPLE defining statements.
1578 (print_mem_ref): New function.
1579 (c_pretty_printer::unary_expression): Call it.
1580
15812021-01-06 Richard Biener <rguenther@suse.de>
1582
1583 PR tree-optimization/95582
1584 * c-attribs.c (c_common_attribute_table): Add entry for
1585 signed_bool_precision.
1586 (handle_signed_bool_precision_attribute): New.
1587
8daa719b
GA
15882020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1589
1590 * c.opt: Add -stdlib= option and enumerations for
1591 libstdc++ and libc++.
1592
eefe499f
GA
15932020-12-16 Martin Liska <mliska@suse.cz>
1594
1595 * c.opt: Remove usage of Report.
1596
d52945ce
GA
15972020-12-14 Martin Sebor <msebor@redhat.com>
1598
1599 PR middle-end/98166
1600 PR c++/57111
1601 PR middle-end/98160
1602 * c-attribs.c (maybe_add_noinline): New function.
1603 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1604 Implicitly add attribute noinline to functions not declared inline
1605 and warn on those.
1606
ca2bd949
GA
16072020-12-09 Tobias Burnus <tobias@codesourcery.com>
1608
1609 * c-pragma.c (omp_pragmas): Add 'allocate'.
1610 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1611
f6e8e279
GA
16122020-12-08 Jakub Jelinek <jakub@redhat.com>
1613
1614 PR c++/98187
1615 * c-pragma.c (omp_pragmas): Remove "master".
1616 (omp_pragmas_simd): Add "master".
1617
bc8a7013
GA
16182020-12-07 Marek Polacek <polacek@redhat.com>
1619
1620 PR c++/98126
1621 * c-common.c (verify_tree_lim_r): New function.
1622 (verify_sequence_points): Use it. Use nullptr instead of 0.
1623
b8dd0ef7
GA
16242020-12-03 Martin Sebor <msebor@redhat.com>
1625
1626 PR c++/90629
1627 PR middle-end/94527
1628 * c-attribs.c (handle_dealloc_attribute): New function.
1629 (handle_malloc_attribute): Handle argument forms of attribute.
1630 * c.opt (-Wmismatched-dealloc): New option.
1631 (-Wmismatched-new-delete): New option.
1632
16332020-12-03 Jakub Jelinek <jakub@redhat.com>
1634
1635 PR libstdc++/93121
1636 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1637 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1638
e0f5e792
GA
16392020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
1640
1641 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1642 {__GNUC_EXECUTION_CHARSET_NAME} and
1643 _WIDE_EXECUTION_CHARSET_NAME} macros.
1644
16452020-12-01 Nathan Sidwell <nathan@acm.org>
1646
1647 * c-common.c (module, import, export): New internal tokens (with
1648 trailing space).
1649 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1650 them.
1651 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1652 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1653
16542020-12-01 Nathan Sidwell <nathan@acm.org>
1655
1656 * c-opts.c (c_common_init_options): Ask for module dependencies.
1657 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1658 * c-pch.c (c_common_valid_pch): ... does not play with C++
1659 modules.
1660 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1661 options.
1662 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1663 (fmodule-only, fmodule-mapper, fmodule-lazy)
1664 (fmodule-version-ignore, Winvalid-imported-macros)
1665 (flang-info-include-translate, flang-info-include-translate-not):
1666 New options
1667
5fbf0ecb
GA
16682020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1669
1670 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1671 (dump_ada_structure): Also deal with convention, unchecked union and
1672 bit-field for nested types. In the latter case, print an Alignment
1673 aspect along with the Pack aspect.
1674
360258da
GA
16752020-11-25 Martin Sebor <msebor@redhat.com>
1676
1677 PR bootstrap/94982
1678 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1679 -Wformat-diag.
1680
1e2c9a27
GA
16812020-11-24 Martin Sebor <msebor@redhat.com>
1682
1683 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1684
8e6198d0
GA
16852020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1686
1687 * c-attribs.c (handle_special_var_sec_attribute): New.
1688 (handle_noinit_attribute): Remove.
1689 (attr_noinit_exclusions): Rename to...
1690 (attr_section_exclusions): ...this, and add "persistent" attribute
1691 exclusion.
1692 (c_common_attribute_table): Add "persistent" attribute.
1693
7a97e2fc
GA
16942020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1695
1696 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1697 Treat opaque types like other types.
1698 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1699 supported types.
1700
82e5048e
GA
17012020-11-20 Martin Sebor <msebor@redhat.com>
1702
1703 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1704 with fewer arguments.
1705
17062020-11-20 Martin Sebor <msebor@redhat.com>
1707
1708 PR middle-end/97879
1709 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1710 Error out on invalid modes.
1711
17122020-11-20 Jakub Jelinek <jakub@redhat.com>
1713
1714 PR libstdc++/88101
1715 * c-common.c (check_builtin_function_arguments): Handle
1716 BUILT_IN_CLEAR_PADDING.
1717
25bb75f8
GA
17182020-11-18 Nathan Sidwell <nathan@acm.org>
1719
1720 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1721
4dabb037
GA
17222020-11-17 Nathan Sidwell <nathan@acm.org>
1723
1724 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1725 after newly-added CTI_MODULE_HWM.
1726
17272020-11-17 Joseph Myers <joseph@codesourcery.com>
1728
1729 * c-cppbuiltin.c (builtin_define_float_constants): Define
1730 "*_IS_IEC_60559__" macros.
1731
17322020-11-17 Nathan Sidwell <nathan@acm.org>
1733
1734 * c-lex.c: #include "langhooks.h".
1735 (cb_undef): Maybe call preprocess_undef lang hook.
1736 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1737 lang hook.
1738 (push_command_line_include): Maybe call preprocess_main_file lang
1739 hook.
1740 (cb_file_change): Likewise.
1741 * c-ppoutput.c: #include "langhooks.h.
1742 (scan_translation_unit): Maybe call preprocess_token lang hook.
1743 (class do_streamer): New, derive from token_streamer.
1744 (directives_only_cb): Data pointer is do_streamer, call
1745 preprocess_token lang hook.
1746 (scan_translation_unit_directives_only): Use do_streamer.
1747 (print_line_1): Move src_line recording to after string output.
1748 (cb_undef): Maybe call preprocess_undef lang hook.
1749
17502020-11-17 Nathan Sidwell <nathan@acm.org>
1751
1752 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1753 code duplicating that functionality.
1754
17552020-11-17 Jakub Jelinek <jakub@redhat.com>
1756
1757 PR c/90628
1758 * c-common.c (check_builtin_function_arguments)
1759 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1760 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1761 for more builtins and argument positions.
1762
29c5d9ce
GA
17632020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1764
1765 PR objc/97854
1766 * stub-objc.c: Include c-common.h to declare enum rid.
1767
77f67db2
GA
17682020-11-13 Jakub Jelinek <jakub@redhat.com>
1769
1770 PR c++/63287
1771 * c-cppbuiltin.c: Include configargs.h.
1772 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1773 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1774 "single".
1775
17762020-11-13 Gergö Barany <gergo@codesourcery.com>
1777 Thomas Schwinge <thomas@codesourcery.com>
1778
1779 * c.opt (fopenacc-kernels): Add.
1780
17812020-11-13 Jason Merrill <jason@redhat.com>
1782
1783 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1784
17852020-11-13 Piotr H. Dabrowski <phd@phd.re>
1786
1787 PR c++/91318
1788 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1789
17902020-11-13 Martin Liska <mliska@suse.cz>
1791
1792 * c-attribs.c (build_attr_access_from_parms): Format properly.
1793
17942020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1795
1796 PR objc/90707
1797 * c-common.c (c_common_reswords): null_unspecified, nullable,
1798 nonnull, null_resettable: New keywords.
1799 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1800 RID_NONNULL, RID_NULL_RESETTABLE: New.
1801 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1802 ranges accepted for property attributes.
1803 * c-attribs.c (handle_objc_nullability_attribute): New.
1804 * c-objc.h (enum objc_property_attribute_group): Add
1805 OBJC_PROPATTR_GROUP_NULLABLE.
1806 (enum objc_property_attribute_kind):Add
1807 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1808 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1809
18102020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1811
1812 PR objc/77404
1813 * c-attribs.c (handle_objc_root_class_attribute): New
1814 * c-objc.h (objc_start_class_interface): Add a location
1815 value for the position of the class name.
1816 * c.opt: Add Wobjc-root-class.
1817 * stub-objc.c (objc_start_class_interface): Add a location
1818 value for the position of the class name.
1819
a5a11525
GA
18202020-11-12 Joseph Myers <joseph@codesourcery.com>
1821
1822 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1823 Allow scope for C. Handle standard attributes for C. Do not
1824 accept unscoped attributes if std_syntax and not handled as
1825 standard attributes.
1826 * c-common.h (c_common_has_attribute): Update prototype.
1827
18282020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1829
1830 PR pch/86674
1831 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1832 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1833
0f5f9ed5
GA
18342020-11-11 Patrick Palka <ppalka@redhat.com>
1835
1836 PR c++/88115
1837 * c-opts.c (c_common_post_options): Update latest_abi_version.
1838
bb622641
GA
18392020-11-10 Jakub Jelinek <jakub@redhat.com>
1840
1841 PR c/97748
1842 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1843 to false.
1844 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1845 recursively and just return true instead of warning if it is true.
1846 Handle COMPLEX_EXPR.
1847
18482020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1849
1850 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1851 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1852 (c_omp_adjust_map_clauses): New function.
1853
2bee28dd
GA
18542020-11-09 Marek Polacek <polacek@redhat.com>
1855
1856 DR 1914
1857 * c-common.c (attribute_fallthrough_p): Tweak the warning
1858 message.
1859
18602020-11-09 Patrick Palka <ppalka@redhat.com>
1861
1862 * c-pragma.c (handle_pragma_diagnostic): Split the
1863 unknown-option -Wpragmas diagnostic into a warning and a
1864 subsequent note containing a spelling suggestion. Avoid
1865 computing the suggestion if -Wpragmas warnings are being
1866 suppressed.
1867
18682020-11-09 Patrick Palka <ppalka@redhat.com>
1869
1870 PR testsuite/97117
1871 * c-indentation.c (get_visual_column): Remove location_t
1872 parameter. Move the column-tracking diagnostic code from here
1873 to ...
1874 (should_warn_for_misleading_indentation): ... here, before the
1875 early exit for when the loci are not all distinct. Don't pass a
1876 location_t argument to get_visual_column.
1877 (assert_get_visual_column_succeeds): Don't pass a location_t
1878 argument to get_visual_column.
1879 (assert_get_visual_column_fails): Likewise.
1880
fb95de7a
GA
18812020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1882
1883 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1884 of keywords accepted in @property attribute contexts.
1885 * c-objc.h (enum objc_property_attribute_group): Add
1886 OBJC_PROPATTR_GROUP_CLASS.
1887 (enum objc_property_attribute_kind): Add
1888 OBJC_PROPERTY_ATTR_CLASS.
1889
2da7ee05
GA
18902020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1891
1892 * c-common.c (c_common_reswords): Add 'atomic' property
1893 attribute.
1894 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1895 property attributes.
1896
18972020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1898
1899 * c-attribs.c (handle_nsobject_attribute): New.
1900 * c.opt: Add WNSObject-attribute.
1901
44cab2d8
GA
19022020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1903
1904 * c-objc.h (enum objc_property_attribute_group): New
1905 (enum objc_property_attribute_kind): New.
1906 (OBJC_PROPATTR_GROUP_MASK): New.
1907 (struct property_attribute_info): Small class encapsulating
1908 parser output from property attributes.
1909 (objc_prop_attr_kind_for_rid): New
1910 (objc_add_property_declaration): Simplify interface.
1911 * stub-objc.c (enum rid): Dummy type.
1912 (objc_add_property_declaration): Simplify interface.
1913 (objc_prop_attr_kind_for_rid): New.
1914
19152020-11-06 Nathan Sidwell <nathan@acm.org>
1916
1917 * c-ada-spec.c (collect_ada_nodes): Rename
1918 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1919 (collect_ada_node): Likewise.
1920 (dump_forward_type): Likewise.
1921 * c-common.c (set_underlying_type): Rename
1922 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1923 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1924
19252020-11-06 Jakub Jelinek <jakub@redhat.com>
1926
1927 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1928
0cfd9109
GA
19292020-11-05 Marek Polacek <polacek@redhat.com>
1930
1931 PR c++/97675
1932 * c.opt (Wexceptions): New option.
1933
19342020-11-05 Marek Polacek <polacek@redhat.com>
1935
1936 PR c++/25814
1937 * c.opt (Wvexing-parse): New option.
1938
35c125cb
GA
19392020-11-04 Jakub Jelinek <jakub@redhat.com>
1940
1941 PR c++/97670
1942 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1943 underlying decl to clear in the allocate_head bitmap.
1944
19452020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1946
1947 * c-objc.h (objc_non_constant_expr_p): New.
1948 * stub-objc.c (objc_non_constant_expr_p): New.
1949
fd2325ea
GA
19502020-11-03 Nathan Sidwell <nathan@acm.org>
1951
1952 * c.opt (MQ,MT): Reword description to be make-agnostic.
1953
88ce3d5f
GA
19542020-11-02 Nathan Sidwell <nathan@acm.org>
1955
1956 * c-opts.c (c_common_post_options): Move var decl to its
1957 initialization point.
1958
19592020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1960
1961 * c-lex.c (c_lex_with_flags): When combining '@' with a
1962 keyword for Objective-C, combine the location ranges too.
1963
19642020-10-30 Qing Zhao <qing.zhao@oracle.com>
1965 H.J.Lu <hjl.tools@gmail.com>
1966
1967 * c-attribs.c (c_common_attribute_table): Add new attribute
1968 zero_call_used_regs.
1969 (handle_zero_call_used_regs_attribute): New function.
1970
e93aae4a
GA
19712020-10-28 Marek Polacek <polacek@redhat.com>
1972
1973 PR c++/97573
1974 * c-opts.c (c_common_post_options): In C++20, turn on
1975 -Wdeprecated-enum-enum-conversion and
1976 -Wdeprecated-enum-float-conversion.
1977 * c.opt (Wdeprecated-enum-enum-conversion,
1978 Wdeprecated-enum-float-conversion): New options.
1979 (Wenum-conversion): Allow for C++ too.
1980
19812020-10-28 Jakub Jelinek <jakub@redhat.com>
1982
1983 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1984 * c-omp.c: Include bitmap.h.
1985 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1986
f19e7c8d
GA
19872020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1988
1989 * c-common.c (__is_nothrow_assignable): New.
1990 (__is_nothrow_constructible): Likewise.
1991 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1992 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1993
efe71fcc
GA
19942020-10-23 Jan Hubicka <hubicka@ucw.cz>
1995
1996 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1997
19982020-10-23 Marek Polacek <polacek@redhat.com>
1999
2000 PR c++/91741
2001 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
2002 (c_common_init_ts): Likewise.
2003 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
2004 * c-common.h (maybe_warn_sizeof_array_div): Declare.
2005 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
2006 (maybe_warn_sizeof_array_div): New function.
2007 * c.opt (Wsizeof-array-div): New option.
2008
20092020-10-23 Martin Sebor <msebor@redhat.com>
2010
2011 PR c/97463
2012 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
2013
56ddd5e2
GA
20142020-10-22 Martin Liska <mliska@suse.cz>
2015
2016 PR c/94722
2017 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
2018 (handle_stack_protect_attribute): Add error message for a
2019 no_stack_protector function.
2020
20212020-10-22 Martin Liska <mliska@suse.cz>
2022
2023 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
2024
20252020-10-22 Jan Hubicka <hubicka@ucw.cz>
2026
2027 * c-gimplify.c: Include tree-nested.h
2028 (c_genericize): Update for new nested function info.
2029
b2698c21
GA
20302020-10-14 Martin Sebor <msebor@redhat.com>
2031
2032 PR c/97413
2033 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
2034 bounds in an extra list.
2035
7e9282ae
GA
20362020-10-05 Richard Biener <rguenther@suse.de>
2037 Jakub Jelinek <jakub@redhat.com>
2038
2039 PR c++/97197
2040 * c-pretty-print.c: Include langhooks.h.
2041 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
2042 expression.
2043 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
2044 unary_expression.
2045 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
2046
660bfe61
GA
20472020-09-30 Martin Sebor <msebor@redhat.com>
2048
2049 PR middle-end/97189
2050 * c-attribs.c (append_access_attr): Use the function declaration
2051 location for a warning about an attribute access argument.
2052
93bca37c
GA
20532020-09-29 Marek Polacek <polacek@redhat.com>
2054
2055 PR c++/94695
2056 * c.opt (Wrange-loop-construct): New option.
2057
82b77dee
GA
20582020-09-23 Martin Sebor <msebor@redhat.com>
2059
2060 PR c/97131
2061 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
2062
20632020-09-23 Marek Polacek <polacek@redhat.com>
2064
2065 PR c/97125
2066 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
2067 after loops and other structured control constructs have been lowered.
2068
521d2711
GA
20692020-09-22 Jakub Jelinek <jakub@redhat.com>
2070
2071 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
2072 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
2073
44135373
GA
20742020-09-21 Marek Polacek <polacek@redhat.com>
2075
2076 * c.opt (Wctad-maybe-unsupported): New option.
2077
2fe5b7d1
GA
20782020-09-19 Martin Sebor <msebor@redhat.com>
2079
2080 PR c/50584
2081 * c-common.h (warn_parm_array_mismatch): Declare new function.
2082 (has_attribute): Move declaration of an existing function.
2083 (build_attr_access_from_parms): Declare new function.
2084 * c-warn.c (parm_array_as_string): Define new function.
2085 (plus_one): Define new function.
2086 (warn_parm_ptrarray_mismatch): Define new function.
2087 (warn_parm_array_mismatch): Define new function.
2088 (vla_bound_parm_decl): New function.
2089 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
2090 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
2091 qualifiers here...
2092 (c_pretty_printer::direct_abstract_declarator): ...but instead print
2093 them in brackets here. Also print [static]. Strip extraneous
2094 expressions from VLA bounds.
2095
20962020-09-19 Martin Sebor <msebor@redhat.com>
2097
2098 PR c/50584
2099 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
2100 (handle_argspec_attribute): New function.
2101 (get_argument, get_argument_type): New functions.
2102 (append_access_attrs): Add overload. Handle internal attribute
2103 representation in addition to external.
2104 (handle_access_attribute): Handle internal attribute representation
2105 in addition to external.
2106 (build_attr_access_from_parms): New function.
2107
21082020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2109
2110 * c-gimplify.c (genericize_c_loop): Rewrite to match
2111 c_finish_loop in c-typeck.c.
2112
21132020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2114
2115 * c-common.c (c_block_may_fallthrough): New, split from
2116 cxx_block_may_fallthrough in the cp front end.
2117 (c_common_init_ts): Move handling of loop and switch-related
2118 statements here from the cp front end.
2119 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
2120 cp front end.
2121 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
2122 * c-common.h (c_block_may_fallthru): Declare.
2123 (bc_state_t): Move here from cp front end.
2124 (save_bc_state, restore_bc_state): Declare.
2125 (c_genericize_control_stmt): Declare.
2126 (WHILE_COND, WHILE_BODY): Likewise.
2127 (DO_COND, DO_BODY): Likewise.
2128 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
2129 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
2130 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
2131 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
2132 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
2133 * c-dump.c (dump_stmt): Copy from cp front end.
2134 (c_dump_tree): Move code to handle structured loop and switch
2135 tree nodes here from cp front end.
2136 * c-gimplify.c: Adjust includes.
2137 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
2138 cp front end.
2139 (save_bc_state, restore_bc_state): New functions using old code
2140 from cp front end.
2141 (get_bc_label, expr_loc_or_loc): Move from cp front end.
2142 (genericize_c_loop): Move from cp front end.
2143 (genericize_for_stmt, genericize_while_stmt): Likewise.
2144 (genericize_do_stmt, genericize_switch_stmt): Likewise.
2145 (genericize_continue_stmt, genericize_break_stmt): Likewise.
2146 (genericize_omp_for_stmt): Likewise.
2147 (c_genericize_control_stmt): New function using code split from
2148 cp front end.
2149 (c_genericize_control_r): New.
2150 (c_genericize): Call walk_tree with c_genericize_control_r.
2151 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
2152 structured loop and switch tree nodes here from cp front end.
2153
2aad20c0
GA
21542020-09-17 Patrick Palka <ppalka@redhat.com>
2155
2156 PR c/80076
2157 * c-indentation.c (should_warn_for_misleading_indentation): Move
2158 declarations of local variables closer to their first use.
2159 Handle virtual token locations by resolving them to their
2160 respective macro expansion points. If all three tokens are
2161 produced from the same macro expansion, then instead use their
2162 loci within the macro definition.
2163
ecde1b0a
GA
21642020-09-16 Martin Sebor <msebor@redhat.com>
2165
2166 PR c/78666
2167 PR c/96126
2168 * c-attribs.c (validate_attr_args): New function.
2169 (validate_attr_arg): Same.
2170 (handle_section_attribute): Call it. Introduce a local variable.
2171 (handle_alloc_size_attribute): Same.
2172 (handle_alloc_align_attribute): Same.
2173
50a71cd0
GA
21742020-09-14 Jakub Jelinek <jakub@redhat.com>
2175
2176 * c-attribs.c (handle_optimize_attribute): Adjust
2177 cl_optimization_save, cl_optimization_restore and
2178 build_optimization_node callers.
2179 * c-pragma.c (handle_pragma_optimize): Adjust
2180 build_optimization_node caller.
2181 (handle_pragma_push_options): Adjust
2182 build_optimization_node and build_target_option_node callers.
2183 (handle_pragma_pop_options, handle_pragma_reset_options):
2184 Adjust cl_optimization_restore callers.
2185
8f7ea26a
GA
21862020-08-28 Martin Sebor <msebor@redhat.com>
2187
2188 * c.opt (Wstringop-overread): New option.
2189
a6493809
GA
21902020-08-11 Jakub Jelinek <jakub@redhat.com>
2191
2192 PR c/96545
2193 * c-common.c (get_atomic_generic_size): Require that first argument's
2194 type points to a complete type and use tree_fits_uhwi_p instead of
2195 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
2196
48cc2e46
GA
21972020-07-31 Martin Sebor <msebor@redhat.com>
2198
2199 PR c++/96003
2200 * c-common.c (check_function_arguments_recurse): Return early when
2201 no-warning bit is set.
2202
22032020-07-31 Richard Biener <rguenther@suse.de>
2204
2205 PR debug/96383
2206 * c-common.h (c_common_finalize_early_debug): Declare.
2207 * c-common.c: Include debug.h.
2208 (c_common_finalize_early_debug): finalize_early_debug langhook
2209 implementation generating debug for extern declarations.
2210
e71dab87
GA
22112020-07-27 Nathan Sidwell <nathan@acm.org>
2212
2213 * c-common.c (try_to_locate_new_include_insertion_point): Use
2214 strcmp, not pointer equality.
2215
ae2e0bc1
GA
22162020-07-25 Martin Sebor <msebor@redhat.com>
2217
2218 PR c++/96310
2219 * c-common.c (check_nonnull_arg): Print note only when warning was
2220 issued.
2221
3ea9abca
GA
22222020-07-22 Tobias Burnus <tobias@codesourcery.com>
2223
2224 * c-omp.c (c_finish_omp_critical): Check for no name but
2225 nonzero hint provided.
2226
0933f508
GA
22272020-07-20 Jason Merrill <jason@redhat.com>
2228
2229 * c-cppbuiltin.c (c_cpp_builtins): Update
2230 __cpp_nontype_template_args for C++20.
2231
22322020-07-20 Martin Sebor <msebor@redhat.com>
2233
2234 PR c/96249
2235 * c.opt: Remove stray text.
2236
8ca07a30
GA
22372020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2238
2239 PR other/86904
2240 * c-indentation.c (should_warn_for_misleading_indentation): Get
2241 global tabstop from the new source.
2242 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2243 is now a common option.
2244 * c.opt: Likewise.
2245
a82c4c4c 22462020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2247
2248 * c.opt (Wscalar-storage-order): Add explicit variable.
2249
f60ee68d
GA
22502020-07-07 Nathan Sidwell <nathan@acm.org>
2251
2252 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2253 cpp_read_main_file.
2254 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2255 maps. Force token position to line_table's highest line.
2256 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2257 (cb_define): Always increment source line.
2258
4077d74c
GA
22592020-07-06 Martin Sebor <msebor@redhat.com>
2260
2261 PR c++/95984
2262 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2263 to stub lambda objects with null this pointer.
2264 (check_nonnull_arg): Handle C++ nullptr.
2265
b5f24739
GA
22662020-07-02 Jason Merrill <jason@redhat.com>
2267 Jakub Jelinek <jakub@redhat.com>
2268
2269 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2270
46fbb6c6
GA
22712020-06-30 Jakub Jelinek <jakub@redhat.com>
2272
2273 PR c++/95963
2274 * c-common.c (check_function_arguments_recurse): Don't crash on
2275 calls to internal functions.
2276
69273534
GA
22772020-06-28 Martin Sebor <msebor@redhat.com>
2278
2279 PR c++/86568
2280 * c-common.c (struct nonnull_arg_ctx): Add members.
2281 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2282 C++ member functions specially. Consider the this pointer implicitly
2283 nonnull.
2284 (check_nonnull_arg): Use location of argument when available.
2285 (check_function_arguments): Use nonnull_arg_ctx as argument.
2286
9a33c41f
GA
22872020-06-27 Jakub Jelinek <jakub@redhat.com>
2288
2289 PR middle-end/95903
2290 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2291 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2292 smaller precision intop operands separately.
2293
c9c05f73
GA
22942020-06-26 Marek Polacek <polacek@redhat.com>
2295
2296 * c-opts.c (c_common_init_options): Default to gnu++17.
2297
aff95ee7
GA
22982020-06-17 Jonathan Wakely <jwakely@redhat.com>
2299
bd0a89dc 2300 PR c/95378
aff95ee7
GA
2301 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2302 pointer arguments.
2303
56638b9b
GA
23042020-06-16 Jakub Jelinek <jakub@redhat.com>
2305
2306 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2307 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2308 idx members.
2309 (c_omp_is_loop_iterator): New function.
2310 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2311 if outer loop iterator is present. Perform duplicate checking through
2312 hash_set in the function rather than expecting caller to do that.
2313 Pass NULL instead of d->ppset to walk_tree_1.
2314 (c_omp_check_nonrect_loop_iv): New function.
2315 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2316 non-rectangular loop forms, diagnose multiple associated loops with
2317 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2318 (c_omp_check_loop_iv_exprs): Likewise.
2319
ec6ffbb9
GA
23202020-06-10 Martin Liska <mliska@suse.cz>
2321
2322 PR tree-optimization/92860
2323 * c-attribs.c (handle_optimize_attribute):
2324 Save global options and compare it after parsing of function
2325 attribute.
2326 * c-pragma.c (opt_stack::saved_global_options): New field.
2327 (handle_pragma_push_options): Save global_options.
2328 (handle_pragma_pop_options): Compare them after pop.
2329
b952c2cf
GA
23302020-06-09 Jakub Jelinek <jakub@redhat.com>
2331
2332 PR c/95580
2333 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2334 case when MEM_REF's first argument has type pointer to incomplete type.
2335
1a59f3db
GA
23362020-06-05 Jason Merrill <jason@redhat.com>
2337
2338 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2339 operand to POINTER_PLUS_EXPR.
2340
3add3425
GA
23412020-06-04 Martin Sebor <msebor@redhat.com>
2342
2343 PR middle-end/10138
2344 PR middle-end/95136
2345 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2346 (handle_access_attribute): Same.
2347
9a5b7438
GA
23482020-06-03 Mark Wielaard <mark@klomp.org>
2349
2350 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2351 New function.
2352 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2353 New function declaration.
2354
23552020-06-03 Mark Wielaard <mark@klomp.org>
2356
2357 * known-headers.cc (get_string_macro_hint): New function.
2358 (get_stdlib_header_for_name): Use get_string_macro_hint.
2359 (get_c_stdlib_header_for_string_macro_name): New function.
2360 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2361 New function declaration.
2362
23632020-06-03 Tobias Burnus <tobias@codesourcery.com>
2364
2365 * c-common.h (c_omp_predetermined_mapping): Declare.
2366 * c-omp.c (c_omp_predetermined_mapping): New.
2367
af114c38
MW
23682020-05-22 Mark Wielaard <mark@klomp.org>
2369
2370 * known-headers.cc (get_stdlib_header_for_name): Add a new
2371 stdlib_hint array for stdbool and stdint.
2372
45c50b6a
MW
23732020-05-22 Mark Wielaard <mark@klomp.org>
2374
2375 * known-headers.cc (get_stdlib_header_for_name): Return
2376 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2377 flag_isoc99.
2378
c22027a0
NS
23792020-05-20 Nathan Sidwell <nathan@acm.org>
2380
38a4db21
NS
2381 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2382
c22027a0
NS
2383 * c-common.c (try_to_locate_new_include_insertion_point): Use
2384 strcmp to compare filenames.
2385 * c-lex.c (init_c_lex): Move declaration to initialization.
2386 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2387 deferred count loop.
2388
29f0e90d
JM
23892020-05-15 Jason Merrill <jason@redhat.com>
2390
2391 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2392
b04445d4
JM
23932020-05-13 Jason Merrill <jason@redhat.com>
2394
2395 * c.opt (std=c++20): Make c++2a the alias.
2396 (std=gnu++20): Likewise.
2397 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2398 * c-opts.c: Adjust.
2399 * c-cppbuiltin.c: Adjust.
2400 * c-ubsan.c: Adjust.
2401 * c-warn.c: Adjust.
2402
11dd3be5
EB
24032020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2404
2405 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2406
b224c376
NS
24072020-05-08 Nathan Sidwell <nathan@acm.org>
2408
2409 Reimplement directives only processing.
2410 * c-ppoutput.c (token_streamer): Ne.
2411 (directives_only_cb): New. Swallow ...
2412 (print_lines_directives_only): ... this.
2413 (scan_translation_unit_directives_only): Reimplment using the
2414 published interface.
2415
f1d94677
MP
24162020-05-07 Marek Polacek <polacek@redhat.com>
2417
2418 * c-format.c (badwords): Add "nonstatic".
2419
9b95bb52
JJ
2420202-05-07 Jakub Jelinek <jakub@redhat.com>
2421
2422 PR c/94968
2423 * c-common.c (speculation_safe_value_resolve_params): Return false if
2424 error_operand_p (val2).
2425 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2426 Remove extraneous semicolon.
2427
530b4409 24282020-05-06 qing zhao <qing.zhao@oracle.com>
2429
2430 PR c/94230
2431 * c-indentation.c (get_visual_column): Add a hint to use the new
2432 -flarge-source-files option.
2433
b776bdca
SSF
24342020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2435
2436 * c-attribs.c (handle_vector_size_attribute): Add attribute
2437 nonnull for argument args in order to silence warning of
2438 uninitialized variable usage. Since this is local to the
2439 compilation unit and thus cannot be checked at call sides by the
2440 compiler, added an assert statement in order to verify this.
2441
6607bdd9
L
24422020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2443
2444 PR target/93492
2445 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2446 value to USHRT_MAX (65535).
2447
691eeb65
JJ
24482020-04-29 Jakub Jelinek <jakub@redhat.com>
2449
2450 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2451
26d76be7
JJ
24522020-04-27 Jakub Jelinek <jakub@redhat.com>
2453
2454 PR c/94755
2455 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2456 fncode == BUILT_IN_NONE before initialization of first_param.
2457
7291b2ed
MP
24582020-04-23 Marek Polacek <polacek@redhat.com>
2459
2460 PR c++/94733
2461 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2462 TREE_PURPOSE.
2463
58a29af8
PP
24642020-04-14 Patrick Palka <ppalka@redhat.com>
2465
2466 PR c++/85278
2467 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2468 ampersand if it's an rvalue reference type.
2469
09f04139
MS
24702020-04-13 Martin Sebor <msebor@redhat.com>
2471
2472 PR c/92326
2473 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2474 printing array bound for flexible array members.
2475
ee26baf4
IS
24762020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2477
2478 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2479 define, per n4861.
2480
75efe9cb
RB
24812020-04-02 Richard Biener <rguenther@suse.de>
2482
2483 PR c/94392
2484 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2485 for -O2 and C++11 or newer.
2486
75defde9
PP
24872020-03-28 Patrick Palka <ppalka@redhat.com>
2488
2489 * c.opt: Add -fconcepts-diagnostics-depth.
2490
52f24a9e
MS
24912020-03-27 Martin Sebor <msebor@redhat.com>
2492
2493 PR c++/94346
2494 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2495 to decl_attributes. Make handling of different kinds of entities
2496 more robust.
2497
ccacf77b
MS
24982020-03-27 Martin Sebor <msebor@redhat.com>
2499
2500 PR c++/94098
2501 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2502 here.
2503
ca6c7225
JJ
25042020-03-23 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR c++/91993
2507 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2508 result being COMPOUND_EXPRs, skip to ultimate rhs.
2509
1aa22b19
RS
25102020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2511
2512 PR middle-end/94072
2513 * c-common.c (c_common_type_for_mode): Before using a registered
2514 built-in type, check that the vectorness of the type matches
2515 the vectorness of the mode.
2516
700d4cb0
JJ
25172020-03-17 Jakub Jelinek <jakub@redhat.com>
2518
2519 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2520 issue in a diagnostic message.
2521
b408e010
LH
25222020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2523
2524 * c.opt: Avoid redundancy in the help text.
2525
e78e50d5
MP
25262020-03-02 Marek Polacek <polacek@redhat.com>
2527
2528 PR c++/93958 - add missing -std=gnu++20.
2529 * c.opt: Add -std=gnu++20.
2530
649e1741
MS
25312020-03-01 Martin Sebor <msebor@redhat.com>
2532
2533 PR c++/92721
2534 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2535 (handle_access_attribute): Same.
2536
7b60f3ba
JJ
25372020-02-25 Jakub Jelinek <jakub@redhat.com>
2538
2539 PR c/93858
2540 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2541 "did you mean" hint in diagnostics.
2542
fb260504
JM
25432020-02-15 Jason Merrill <jason@redhat.com>
2544
2545 * c.opt: Add -std=c++20.
2546
1d757b09
EB
25472020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2548
2549 * c-ada-spec.c: Include bitmap.h.
2550 (dump_ada_double_name): Rename into...
2551 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2552 (dump_ada_array_type): Adjust to above renaming. Robustify.
2553 (dump_nested_types_1): New function copied from... Add dumped_types
2554 parameter and pass it down to dump_nested_type.
2555 (dump_nested_types): ...this. Remove parent parameter. Just call
2556 dump_nested_types_1 on an automatic bitmap.
2557 (dump_nested_type): Add dumped_types parameter.
2558 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2559 Adjust recursive calls and adjust to above renaming.
2560 (dump_ada_declaration): Adjust call to dump_nested_types.
2561 Tidy up and adjust to above renaming.
2562 (dump_ada_specs): Initialize and release bitmap obstack.
2563
0cc575e4
MS
25642020-02-10 Martin Sebor <msebor@redhat.com>
2565
2566 PR c/93640
2567 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2568
a59aa302
JJ
25692020-02-10 Jakub Jelinek <jakub@redhat.com>
2570
2571 PR other/93641
2572 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2573 Remove useless extra test.
2574
e464fc90
TB
25752020-02-03 Julian Brown <julian@codesourcery.com>
2576 Tobias Burnus <tobias@codesourcery.com>
2577
2578 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2579
e3b6c052
JM
25802020-01-29 Jason Merrill <jason@redhat.com>
2581
2582 PR c++/89357
2583 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2584
6d00f052
JM
25852020-01-23 Jason Merrill <jason@redhat.com>
2586
2587 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2588
8a990ffa
MS
25892020-01-23 Martin Sebor <msebor@redhat.com>
2590
2591 PR c/84919
2592 * c-common.c (check_function_arguments): Avoid overlap checking
2593 of sprintf functions.
2594
55b7df8b
JM
25952020-01-22 Jason Merrill <jason@redhat.com>
2596
2597 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2598 PR c++/40752
2599 * c-warn.c (conversion_warning): Check operands only after checking
2600 the whole expression. Don't check second operand of + for sign.
2601
c77074d0
JM
26022020-01-21 Jason Merrill <jason@redhat.com>
2603 Manuel López-Ibáñez <manu@gcc.gnu.org>
2604
2605 PR c++/40752 - useless -Wconversion with short +=.
2606 * c.opt (-Warith-conversion): New.
2607 * c-warn.c (conversion_warning): Recurse for operands of
2608 operators. Only warn about the whole expression with
2609 -Warith-conversion.
2610
731dbfc3
JM
26112020-01-21 Jason Merrill <jason@redhat.com>
2612
2613 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2614 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2615
ad1a3914
NS
26162020-01-20 Nathan Sidwell <nathan@acm.org>
2617
2618 PR preprocessor/80005
2619 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2620
49789fd0
IS
26212020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2622
2623 * c-common.c (co_await, co_yield, co_return): New.
2624 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2625 RID_CO_RETURN): New enumeration values.
2626 (D_CXX_COROUTINES): Bit to identify coroutines are active.
2627 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2628 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2629 * c.opt (fcoroutines): New command-line switch.
2630
4bc1899b
DM
26312020-01-10 David Malcolm <dmalcolm@redhat.com>
2632
2633 * c-format.c (local_event_ptr_node): New.
2634 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2635 (init_dynamic_diag_info): Initialize local_event_ptr_node.
2636 * c-format.h (T_EVENT_PTR): New define.
2637
f25e33fa
MS
26382020-01-10 Martin Sebor <msebor@redhat.com>
2639
2640 PR c/93132
2641 * c-attribs.c (append_access_attrs): Validate against the translated
2642 access string rather than the human-readable representation.
2643
8d9254fc
JJ
26442020-01-01 Jakub Jelinek <jakub@redhat.com>
2645
2646 Update copyright years.
2647
39292e25
EB
26482019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2649
2650 * c-ada-spec.h (decl_sloc): Delete.
2651 * c-ada-spec.c (decl_sloc): Make static.
2652
519d7496
JB
26532019-12-19 Julian Brown <julian@codesourcery.com>
2654
2655 * c-common.h (c_omp_map_clause_name): Add prototype.
2656 * c-omp.c (c_omp_map_clause_name): New function.
2657 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2658 PRAGMA_OACC_CLAUSE_DETACH.
2659
a6163563
JB
26602019-12-19 Julian Brown <julian@codesourcery.com>
2661 Maciej W. Rozycki <macro@codesourcery.com>
2662 Tobias Burnus <tobias@codesourcery.com>
2663 Thomas Schwinge <thomas@codesourcery.com>
2664
2665 * c-pragma.h (pragma_omp_clause): Add
2666 PRAGMA_OACC_CLAUSE_NO_CREATE.
2667
e8f1ade2
MS
26682019-12-17 Martin Sebor <msebor@redhat.com>
2669
2670 PR c++/61339
2671 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2672
368877a1
DM
26732019-12-11 David Malcolm <dmalcolm@redhat.com>
2674
2675 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2676 implementation.
2677 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2678
d68f5d45
DM
26792019-12-09 David Malcolm <dmalcolm@redhat.com>
2680
2681 * c-format.c (range_label_for_format_type_mismatch::get_text):
2682 Replace label_text ctor called with true with label_text::take.
2683
d3e28653
DM
26842019-12-09 David Malcolm <dmalcolm@redhat.com>
2685
2686 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2687 initial newline from expected outputs.
2688 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2689 call to diagnostic_show_locus.
2690
abd6d8cc
JJ
26912019-12-06 Jakub Jelinek <jakub@redhat.com>
2692
2693 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2694 now.
2695
7906797e
MP
26962019-12-05 Marek Polacek <polacek@redhat.com>
2697 Jakub Jelinek <jakub@redhat.com>
2698
2699 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2700 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2701
5c04da88
MP
27022019-12-05 Marek Polacek <polacek@redhat.com>
2703
2704 PR c++/92271 - make __is_same alias for __is_same_as.
2705 * c-common.c: Add __is_same, an alias for __is_same_as.
2706
43aae289
MP
27072019-12-03 Marek Polacek <polacek@redhat.com>
2708
2709 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2710 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2711 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2712
d7ddfbcb
JH
27132019-11-30 Jan Hubicka <hubicka@ucw.cz>
2714
2715 * c-attribs.c (handle_symver_attribute): New function
2716 (c_common_attributes): Add symver.
2717
65ef05d0
RS
27182019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2719
2720 * c-common.c (pointer_int_sum): Use verify_type_context to check
2721 whether the target allows pointer arithmetic for the types involved.
2722 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2723 to check whether the target allows sizeof and alignof operations
2724 for the types involved.
2725
1a291106
JM
27262019-11-27 Jason Merrill <jason@redhat.com>
2727
2728 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2729
05d6cb1a
JJ
27302019-11-26 Jakub Jelinek <jakub@redhat.com>
2731
2732 PR c++/61414
2733 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2734 ENUMERAL_TYPEs.
2735
5b8d9367
JM
27362019-11-25 Joseph Myers <joseph@codesourcery.com>
2737
2738 PR c/91985
2739 * c-common.c (c_common_type_for_mode): Handle decimal
2740 floating-point types being NULL_TREE.
2741 * c-format.c (get_format_for_type_1): Handle specified types being
2742 NULL_TREE.
2743 * c-lex.c (interpret_float): Give an error for decimal
2744 floating-point constants when decimal floating-point not
2745 supported.
2746
1fbf51cb
JJ
27472019-11-23 Jakub Jelinek <jakub@redhat.com>
2748
2749 PR middle-end/83859
2750 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2751 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2752 group warning with inform together.
2753 (handle_access_attribute): Formatting fix.
2754
761df906
JJ
27552019-11-22 Jakub Jelinek <jakub@redhat.com>
2756
bdaf8be1
JJ
2757 PR c/90677
2758 * c-common.h (identifier_global_tag): Declare.
2759 * c-format.c (get_pointer_to_named_type): Renamed to ...
2760 (get_named_type): ... this. Use identifier_global_tag instead of
2761 identifier_global_value, handle the return value being a TYPE_P.
2762 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2763 to call get_named_type instead. Formatting fixes.
2764
c2ecce6d 2765 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2766 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2767 and __cpp_generic_lambdas for -std=c++2a. Define
2768 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2769 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2770 __cpp_concepts for -std=c++2a.
2771
54aa6b58
MS
27722019-11-22 Martin Sebor <msebor@redhat.com>
2773
2774 PR middle-end/83859
2775 * c-attribs.c (handle_access_attribute): New function.
2776 (c_common_attribute_table): Add new attribute.
2777 (get_argument_type): New function.
2778 (append_access_attrs): New function.
2779 (get_nonnull_operand): Rename...
2780 (get_attribute_operand): ...to this.
2781 * c-common.c (get_nonnull_operand): Rename...
2782 (get_attribute_operand): ...to this.
2783
6c80b1b5
JM
27842019-11-21 Joseph Myers <joseph@codesourcery.com>
2785
2786 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2787 of warning.
2788
192961ff
JM
27892019-11-19 Joseph Myers <joseph@codesourcery.com>
2790
2791 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2792 warning for standard attributes mixed with fallthrough attributes.
2793
f8aea5e3
JM
27942019-11-15 Joseph Myers <joseph@codesourcery.com>
2795
2796 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2797 * c-common.h (handle_fallthrough_attribute): Declare.
2798
2cc94aa8
JM
27992019-11-15 Joseph Myers <joseph@codesourcery.com>
2800
2801 * c-attribs.c (handle_deprecated_attribute): Remove static.
2802 * c-common.h (handle_deprecated_attribute): Declare.
2803
7c5890cc
JM
28042019-11-14 Joseph Myers <joseph@codesourcery.com>
2805
2806 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2807 char for C.
2808
b2417b59
JJ
28092019-11-14 Jakub Jelinek <jakub@redhat.com>
2810
d0ec7c93
JJ
2811 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2812 valid vendors.
2813
b2417b59
JJ
2814 * c-omp.c (c_omp_check_context_selector): Handle name lists
2815 containing string literals. Don't diagnose atomic_default_mem_order
2816 with multiple props.
2817
00be2a5f
JM
28182019-11-13 Joseph Myers <joseph@codesourcery.com>
2819
2820 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2821 NORM_MAX constants. Update call to get_max_float.
2822 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2823 constants.
2824
2dbad62d
EB
28252019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2826
2827 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2828 (dump_forward_type): Do not generate a declaration for function types.
2829 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2830 of the component type if it is declared in another file.
2831
6ed76044
ML
28322019-11-12 Martin Liska <mliska@suse.cz>
2833
2834 * c-opts.c (c_common_post_options):
2835 Use SET_OPTION_IF_UNSET.
2836
62aee289
MR
28372019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2838 Frederik Harwath <frederik@codesourcery.com>
2839
2840 gcc/c-family/
2841 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2842 constant.
2843 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2844
f486280c
RS
28452019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2846
2847 * c-common.h (gnu_vector_type_p): New function.
2848 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2849 vectors to satisfy gnu_vector_type_p.
2850 (c_build_vec_convert): Likewise __builtin_convertvector.
2851 (convert_vector_to_array_for_subscript): Likewise when applying
2852 implicit vector to array conversion.
2853 (scalar_to_vector): Likewise when converting vector-scalar
2854 operations to vector-vector operations.
2855
017c6491
JM
28562019-11-08 Joseph Myers <joseph@codesourcery.com>
2857
2858 * c.opt (Wold-style-definition): Initialize to -1.
2859 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2860 to flag_isoc2x if not set explicitly.
2861
c01bd174
JM
28622019-11-07 Joseph Myers <joseph@codesourcery.com>
2863
2864 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2865
0df65305
JM
28662019-11-05 Jason Merrill <jason@redhat.com>
2867
2868 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2869 -fconcepts.
2870
e0c866dd
KK
28712019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2872
2873 * c-opts.c (c_common_post_options): Update
2874 latest_abi_version.
2875
f968ef9b
JJ
28762019-11-02 Jakub Jelinek <jakub@redhat.com>
2877
d0c464d2
JJ
2878 * c-common.h (c_omp_get_context_selector): Remove.
2879 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2880 and renamed to omp_get_context_selector.
2881
917dd789
JJ
2882 * c-omp.c (c_omp_mark_declare_variant): Use
2883 omp_context_selector_set_compare.
2884
f968ef9b
JJ
2885 PR c++/88335 - Implement P1073R3: Immediate functions
2886 * c-common.h (enum rid): Add RID_CONSTEVAL.
2887 * c-common.c (c_common_reswords): Add consteval.
2888
5f6705b7
JJ
28892019-11-01 Martin Sebor <msebor@redhat.com>
2890
2891 PR middle-end/91679
2892 PR middle-end/91647
2893 PR middle-end/91463
2894 PR middle-end/92312
2895 * c-pretty-print.c (direct_abstract_declarator): Print
2896 bound in zero-length arrays.
2897 * c.opt (-Wzero-length-bounds): New option.
2898
43f1814c
NS
28992019-10-30 Nathan Sidwell <nathan@acm.org>
2900
2901 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2902 macros.
2903
ad1539d5
MS
29042019-10-28 Martin Sebor <msebor@redhat.com>
2905
2906 PR c/66970
2907 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2908 even when only preprocessing.
2909 * c-common.h (names_builtin_p): Declare new function.
2910 * c-lex.c (init_c_lex): Set has_builtin.
2911 (c_common_has_builtin): Define a new function.
2912 * c-ppoutput.c (init_pp_output): Set has_builtin.
2913
135df52c
JJ
29142019-10-24 Jakub Jelinek <jakub@redhat.com>
2915
2916 * c-common.h (c_omp_context_selector_matches): Remove.
2917 * c-omp.c (c_omp_context_selector_matches): Remove.
2918 * c-attribs.c (c_common_attribute_table): Add
2919 "omp declare target {host,nohost,block}" attributes.
2920
8ad0c477
JM
29212019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2922
2923 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2924
56898e43
RS
29252019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2926
2927 * c-common.h (user_facing_original_type_p): Declare.
2928 * c-common.c: Include c-spellcheck.h.
2929 (user_facing_original_type_p): New function.
2930
20de9568
JJ
29312019-10-12 Jakub Jelinek <jakub@redhat.com>
2932
2933 * c-common.h (c_omp_mark_declare_variant,
2934 c_omp_context_selector_matches): Declare.
2935 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2936 and hsa-common.h.
2937 (c_omp_get_context_selector): Support second argument NULL.
2938 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2939 functions.
2940 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2941 attribute, add "omp declare variant base" and
2942 "omp declare variant variant" attributes.
2943
175a85b2
JM
29442019-10-11 Joseph Myers <joseph@codesourcery.com>
2945
2946 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2947 CppReason(CPP_W_C11_C2X_COMPAT).
2948
fe2bc27c
JM
29492019-10-11 Joseph Myers <joseph@codesourcery.com>
2950
2951 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2952 _Decimal64 and _Decimal128.
2953
27dfdc0f
JM
29542019-10-10 Joseph Myers <joseph@codesourcery.com>
2955
2956 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2957 types if DFP not supported.
2958
94e7f906
JJ
29592019-10-10 Jakub Jelinek <jakub@redhat.com>
2960
2961 * c-common.h (c_omp_check_context_selector,
2962 c_omp_get_context_selector): Declare.
2963 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2964 in diagnostic message.
2965 (c_omp_check_context_selector, c_omp_get_context_selector): New
2966 functions.
2967 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2968 attribute.
2969 (handle_omp_declare_variant_attribute): New function.
2970
a7160771
MS
29712019-10-09 Martin Sebor <msebor@redhat.com>
2972
2973 PR tree-optimization/90879
2974 * c.opt (-Wstring-compare): New option.
2975
cb57504a
JM
29762019-10-08 Andrew Sutton <asutton@lock3software.com>
2977 Jason Merrill <jason@redhat.com>
2978
2979 Update the concepts implementation to conform to the C++20
2980 specification, improve compile times, and generally clean up
2981 the implementation.
2982
2983 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2984 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2985 * c.opt: Add -Wconcepts-ts.
2986 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2987 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2988 (set_std_cxx2a): Enable concepts by default.
2989
fbb2a6dc
JM
29902019-10-08 Joseph Myers <joseph@codesourcery.com>
2991
2992 * c-opts.c (c_common_post_options): Set
2993 -fno-fp-int-builtin-inexact for C2X.
2994
8e007055
JJ
29952019-10-05 Jakub Jelinek <jakub@redhat.com>
2996
2997 PR c++/91369 - Implement P0784R7: constexpr new
2998 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2999 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
3000
843f104d
JM
30012019-10-04 Joseph Myers <joseph@codesourcery.com>
3002
3003 PR c/82752
3004 * c-format.c (C_STD_VER): Handle C2x.
3005 (C_STD_NAME): Likewise.
3006 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
3007 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
3008 modifier allowed and 'p' flag.
3009 * c-format.h (enum format_std_version): Add STD_C2X.
3010 (struct format_char_info): Mention 'p' in comment on flags2.
3011
e9c9a142
DM
30122019-10-01 David Malcolm <dmalcolm@redhat.com>
3013
3014 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
3015 calling diagnostic_show_locus, rather than destroying it afterwards.
3016
7552c36a
JJ
30172019-10-01 Jakub Jelinek <jakub@redhat.com>
3018
3019 PR c++/91925
3020 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
3021 with NULL DECL_FIELD_OFFSET.
3022
8209db25
RS
30232019-10-01 Richard Sandiford <richard.sandiford@arm.com>
3024
3025 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
3026 has a type name, use it in preference to the __vector syntax.
3027
9343bf99
RS
30282019-09-30 Richard Sandiford <richard.sandiford@arm.com>
3029
3030 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
3031 two spaces between a comma and "...".
3032
59bc434a
JJ
30332019-09-27 Jakub Jelinek <jakub@redhat.com>
3034
3035 PR c++/88203
3036 * c-common.h (c_omp_predefined_variable): Declare.
3037 * c-omp.c (c_omp_predefined_variable): New function.
3038 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
3039 for predefined variables.
3040
c6447c20
RS
30412019-09-27 Richard Sandiford <richard.sandiford@arm.com>
3042
3043 * c-common.h (build_function_call_vec): Take the original
3044 function decl as an optional final parameter.
3045 (check_builtin_function_arguments): Take the original function decl.
3046 * c-common.c (check_builtin_function_arguments): Likewise.
3047 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
3048 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
3049
c4438114
JM
30502019-09-15 Jason Merrill <jason@redhat.com>
3051
3052 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
3053 fold_for_warn in "|| mask" warning.
3054
68a57628
ML
30552019-09-10 Martin Liska <mliska@suse.cz>
3056
3057 * c.opt: Use newly added WarnRemoved.
3058
f48ef52e
ML
30592019-09-09 Martin Liska <mliska@suse.cz>
3060
3061 * c.opt: Update comment of removed
3062 options that are preserved only for backward
3063 compatibility.
3064
67f6e649
ML
30652019-09-06 Martin Liska <mliska@suse.cz>
3066
3067 PR c++/91125
3068 * c-common.c: Remove definition of flag_use_repository.
3069 * c-common.h: Likewise.
3070 * c-opts.c (c_common_handle_option):
3071 Do not handle OPT_frepo option.
3072 * c.opt: Mark the option with Deprecated.
3073
db9d2274
MP
30742019-09-04 Marek Polacek <polacek@redhat.com>
3075
3076 * c.opt (fdeduce-init-list): Ignored.
3077
68e2c199
PK
30782019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3079
3080 PR c/78736
3081 * c.opt (Wenum-conversion): New option.
3082
7a4418a5
JL
30832019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3084
3085 * c-attribs.c (handle_section_attribute): Call the
3086 handle_generic_attribute target hook after performing target
3087 independent processing.
3088 (handle_noinit_attribute): Likewise.
3089
5f76ab15
ILT
30902019-09-03 Ian Lance Taylor <iant@golang.org>
3091
3092 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
3093 when using -fgo-dump-spec.
3094
ae0d3f6a
ML
30952019-09-02 Martin Liska <mliska@suse.cz>
3096
3097 PR c++/91155
3098 * c-common.c (fname_as_string): Use cxx_printable_name for
3099 __PRETTY_FUNCTION__ same as was used before r265711.
3100
8a902edb
MP
31012019-08-28 Marek Polacek <polacek@redhat.com>
3102
3103 Implement P1152R4: Deprecating some uses of volatile.
3104 PR c++/91361
3105 * c-opts.c (c_common_post_options): Enable -Wvolatile by
3106 default for C++2a, unless -Wno-deprecated.
3107 * c.opt (Wvolatile): New warning.
3108
4742dbe7
MP
31092019-08-28 Marek Polacek <polacek@redhat.com>
3110
3111 PR c++/91360 - Implement C++20 P1143R2: constinit.
3112 * c-common.c (c_common_reswords): Add constinit and __constinit.
3113 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
3114 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
3115 RID_LAST_CXX20.
3116 (D_CXX20): Define.
3117 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
3118 * c-format.c (cxx_keywords): Add "constinit".
3119 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
3120
6a074892
JJ
31212019-08-27 Jakub Jelinek <jakub@redhat.com>
3122
3123 PR c++/91415
3124 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
3125 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
3126 like COMPOUND_EXPR rather than normal expression.
3127
22f8849d
IS
31282019-08-23 Iain Sandoe <iain@sandoe.co.uk>
3129
3130 PR pch/61250
3131 * c-lex.c (c_lex_with_flags): Don't call
3132 c_common_no_more_pch () from here.
3133
df375b03
JJ
31342019-08-23 Jakub Jelinek <jakub@redhat.com>
3135
3136 PR middle-end/91283
3137 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
3138 instead of flag_excess_precision_cmdline.
3139 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
3140 * c-opts.c (c_common_post_options): Likewise.
3141
14b7950f
MS
31422019-08-22 Martin Sebor <msebor@redhat.com>
3143
3144 PR middle-end/91490
3145 * c-common.c (braced_list_to_string): Add argument and overload.
3146 Handle flexible length arrays and unions.
3147
8bb2ee59
EB
31482019-08-21 Eric Botcazou <ebotcazou@adacore.com>
3149
3150 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
3151 function declarations where arguments are missing. Rename variables.
3152
21c1e205
RB
31532019-08-15 Richard Biener <rguenther@suse.de>
3154
3155 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
3156 enabled, define __SIZETYPE__.
3157
f0033821
CL
31582019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
3159
3160 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
3161 exclusion with "section" attribute.
3162 (attr_noinit_exclusions): New table.
3163 (handle_noinit_attribute): New function.
3164
4d732405
RS
31652019-08-13 Richard Sandiford <richard.sandiford@arm.com>
3166
3167 PR middle-end/91421
3168 * c-common.c (resolve_overloaded_builtin): Use
3169 copy_decl_built_in_function.
3170
51ad8481
MS
31712019-08-13 Martin Sebor <msebor@redhat.com>
3172
3173 PR c/80619
3174 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
3175 (asm_fprintf_length_spec): Same.
3176 * c-format.h (format_lengths): Add FMT_LEN_w.
3177
77eb117f
JJ
31782019-08-10 Jakub Jelinek <jakub@redhat.com>
3179
3180 * c-pragma.h (enum pragma_omp_clause): Add
3181 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
3182
398e3feb
JJ
31832019-08-07 Jakub Jelinek <jakub@redhat.com>
3184
3185 * c-pragma.h (enum pragma_omp_clause): Add
3186 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
3187 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
3188 enumeration value.
3189
ab574db6
MP
31902019-08-05 Marek Polacek <polacek@redhat.com>
3191
3192 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
3193 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
3194 default for C++2a, unless -Wno-deprecated.
3195 * c.opt (Wcomma-subscript): New warning.
3196
554a530f
JJ
31972019-07-20 Jakub Jelinek <jakub@redhat.com>
3198
3199 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
3200 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
3201 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
3202 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
3203 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
3204 constructs with the loop construct.
3205
1a888209
JJ
32062019-07-13 Jakub Jelinek <jakub@redhat.com>
3207
3208 PR c/91149
3209 * c-omp.c (c_omp_split_clauses): Fix a pasto in
3210 OMP_CLAUSE_REDUCTION_TASK handling.
3211
1fdd6f04
JJ
32122019-07-12 Jakub Jelinek <jakub@redhat.com>
3213
3214 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
3215 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
3216
99b1c316
MS
32172019-07-09 Martin Sebor <msebor@redhat.com>
3218
3219 PR c++/61339
1fdd6f04 3220 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
3221 and others to class.
3222 * c-pretty-print.h: Same.
3223
6c1dae73
MS
32242019-07-09 Martin Sebor <msebor@redhat.com>
3225
3226 PR c++/61339
3227 * c-format.c (check_argument_type): Change class-key from class to
3228 struct and vice versa to match convention and avoid -Wclass-is-pod
3229 and -Wstruct-no-pod.
3230 * c-pretty-print.h: Same.
3231
8ba6ea87
ML
32322019-07-03 Martin Liska <mliska@suse.cz>
3233
3234 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3235 dead assignemts.
3236
83eb9522
JJ
32372019-07-03 Jakub Jelinek <jakub@redhat.com>
3238
3239 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3240 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3241 with OMP_PARALLEL.
3242
1c6ffbab
QZ
32432019-07-02 qing zhao <qing.zhao@oracle.com>
3244
3245 PR preprocessor/90581
3246 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3247 * c.opt: Add new option -fmax-include-depth.
3248
7ffc7de5
JM
32492019-06-26 Jason Merrill <jason@redhat.com>
3250
3251 PR c++/55442 - memory-hog with highly recursive constexpr.
3252 * c.opt (fconstexpr-loop-limit): New.
3253
361af3e4
JJ
32542019-06-25 Jakub Jelinek <jakub@redhat.com>
3255
3256 PR sanitizer/90954
3257 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3258 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3259
ab20d992
JJ
32602019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3261
3262 * c-common.c (c_common_nodes_and_builtins): Define
3263 alternate "__intN__" name for "__intN" types.
3264
f4af4019
JH
32652019-06-24 Jan Hubicka <jh@suse.cz>
3266
3267 * c-common.c (braced_lists_to_strings): Check that
3268 type is array or integer prior checking string flag.
3269
da9e9b57
MB
32702019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3271
3272 PR c++/90875 - added -Wswitch-outside-range option
3273 * c.opt (Wswitch-outside-range): Added new option.
3274 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3275
3f3d6a6f
MP
32762019-06-21 Marek Polacek <polacek@redhat.com>
3277
3278 PR c++/90953 - ICE with -Wmissing-format-attribute.
3279 * c-common.c (check_function_arguments_recurse): Use
3280 get_attribute_name.
3281 (check_missing_format_attribute): Likewise.
3282
1bf32c11
MP
32832019-06-19 Marek Polacek <polacek@redhat.com>
3284
3285 PR c++/60364 - noreturn after first decl not diagnosed.
3286 * c-attribs.c (handle_noreturn_attribute): No longer static.
3287 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3288 Declare.
3289 * c-format.c (check_function_format): Use get_attribute_name.
3290
a04c0734
MS
32912019-06-19 Martin Sebor <msebor@redhat.com>
3292
3293 PR translation/90156
3294 * c-format.c (function_format_info::format_type): Adjust type.
3295 (function_format_info::is_raw): New member.
3296 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3297 (decode_format_attr): Adjust call to decode_format_type.
3298 Avoid a redundant call to convert_format_name_to_system_name.
3299 Avoid abbreviating the word "arguments" in a diagnostic.
3300 (format_warning_substr): New function.
3301 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3302 (finish_dollar_format_checking): Same.
3303 (check_format_info): Same.
3304 (struct baltoks_t): New.
3305 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3306 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3307 functions.
3308 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3309 maybe_diag_unbalanced_tokens.
3310 (handle_format_attribute): Spell out the word "arguments" in
3311 a diagnostic.
3312
d3786ebb
MB
33132019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3314
3315 PR c++/90449 - add -Winaccessible-base option.
3316 * c.opt (Winaccessible-base): New option.
3317
bf38f7e9
JJ
33182019-06-10 Jakub Jelinek <jakub@redhat.com>
3319
3320 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3321 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3322 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3323 combined/composite constructs where it is not allowed. Copy over
3324 OMP_CLAUSE_REDUCTION_INSCAN.
3325
0ecf545c
MS
33262019-06-05 Martin Sebor <msebor@redhat.com>
3327
3328 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3329 (handle_alias_ifunc_attribute): Same.
3330 (handle_copy_attribute): Same.
3331 (handle_weakref_attribute): Same.
3332 (handle_nonnull_attribute): Same.
3333 * c-warn.c (warn_for_sign_compare): Same.
3334 (warn_for_restrict): Same.
3335 * c.opt: Same.
3336
36b34127
MS
33372019-06-05 Martin Sebor <msebor@redhat.com>
3338
3339 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3340 * c.opt (-Wformat-diag): Remove a spurious period.
3341
357a352f
JJ
33422019-05-29 Jakub Jelinek <jakub@redhat.com>
3343
3344 PR c/90628
3345 * c-common.c (check_builtin_function_arguments)
3346 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3347 as last argument.
3348
2b8235ea
EB
33492019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3350
3351 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3352
6d86ddc4
ML
33532019-05-22 Martin Liska <mliska@suse.cz>
3354
3355 PR lto/90500
3356 * c-attribs.c (handle_copy_attribute): Do not copy
3357 target_clones attribute.
3358
419ba5b9
EB
33592019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3360
3361 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3362 * c-ada-spec.c (print_assignment_operator): New function.
3363 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3364 assignment operators declared as methods and filter out the others.
3365
e03436e7
TS
33662019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3367
3368 PR c/89433
3369 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3370 "omp declare target".
3371
a9c697b8
MS
33722019-05-16 Martin Sebor <msebor@redhat.com>
3373
ab20d992
JJ
3374 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3375 keywords, operators, and types in diagnostics.
3376 (handle_scalar_storage_order_attribute): Same.
3377 (handle_mode_attribute): Same.
3378 (handle_visibility_attribute): Same.
3379 (handle_assume_aligned_attribute): Same.
3380 (handle_no_split_stack_attribute): Same.
3381 * c-common.c (shorten_compare): Same.
3382 (c_common_truthvalue_conversion): Same.
3383 (cb_get_source_date_epoch): Same.
3384 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3385 in diagnostics.
3386 (interpret_float): Same.
3387 * c-omp.c (c_finish_omp_for): Same.
3388 * c-opts.c (c_common_post_options): Same.
3389 * c-pch.c (c_common_pch_pragma): Same.
3390 * c-pragma.c (pop_alignment): Same.
3391 (handle_pragma_pack): Same.
3392 (apply_pragma_weak): Same.
3393 (handle_pragma_weak): Same.
3394 (handle_pragma_scalar_storage_order): Same.
3395 (handle_pragma_redefine_extname): Same.
3396 (add_to_renaming_pragma_list): Same.
3397 (maybe_apply_renaming_pragma): Same.
3398 (push_visibility): Same.
3399 (handle_pragma_visibility): Same.
3400 (handle_pragma_optimize): Same.
3401 (handle_pragma_message): Same.
3402 * c-warn.c (warn_for_omitted_condop): Same.
3403 (lvalue_error): Same.
a9c697b8 3404
6b943512
RB
34052019-05-15 Richard Biener <rguenther@suse.de>
3406
3407 PR c/90474
3408 * c-common.c (c_common_mark_addressable_vec): Also mark
3409 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3410 c_mark_addressable.
ab20d992 3411
b744fc85
NS
34122019-05-06 Nathan Sidwell <nathan@acm.org>
3413
3414 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3415
598f50d7
NS
34162019-04-30 Nathan Sidwell <nathan@acm.org>
3417
3418 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3419
5bcc5a3b
ML
34202019-04-30 Martin Liska <mliska@suse.cz>
3421
3422 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3423 for unknown options.
3424
e78a87f7
RS
34252019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3426
3427 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3428 the pointer target rather than the pointer itself.
3429
c280b7ee
JJ
34302019-04-19 Jakub Jelinek <jakub@redhat.com>
3431
3432 PR c/89888
3433 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3434 arguments.
3435 (c_do_switch_warnings): Remove outside_range_p argument.
3436 * c-common.c (check_case_bounds): Removed.
3437 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3438 Don't call check_case_bounds. Fold low_value as well as high_value.
3439 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3440 Check for case labels outside of range of original type here and
3441 adjust them.
3442
8e8225e6
JJ
34432019-04-12 Jakub Jelinek <jakub@redhat.com>
3444
63b8a166
JJ
3445 PR translation/90041
3446 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3447 in the Warn diagnostics.
3448
8e8225e6
JJ
3449 PR c/89946
3450 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3451 function comment. Warn if arguments of the attribute are not positive
3452 integer constants.
3453
53a3f614
EB
34542019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3455
3456 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3457 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3458
22be5873
EB
34592019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3460
3461 * c-ada-spec.c (is_float128): New predicate extracted from...
3462 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3463 <REAL_TYPE>: ...here. Call it.
3464
34facf20
DM
34652019-04-05 David Malcolm <dmalcolm@redhat.com>
3466
3467 PR c/89985
3468 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3469 auto_diagnostic_group. Guard inform calls by result of
3470 warning_at call.
3471
05564120
MP
34722019-04-05 Marek Polacek <polacek@redhat.com>
3473
ab20d992 3474 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3475 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3476 of RHS.
3477
7a506c3c
JM
34782019-04-03 Jason Merrill <jason@redhat.com>
3479
3480 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3481 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3482
ddeae8c8
MS
34832019-04-01 Martin Sebor <msebor@redhat.com>
3484
3485 PR c/89685
3486 * c-attribs.c (handle_copy_attribute): Handle references and
3487 non-constant expressions.
3488
a15ffa22
JJ
34892019-03-22 Jakub Jelinek <jakub@redhat.com>
3490
3491 PR c++/87481
3492 * c.opt (-fconstexpr-ops-limit=): New option.
3493
36a3a7a3
JJ
34942019-03-21 Jakub Jelinek <jakub@redhat.com>
3495
3496 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3497 template param.
3498
bec1da64
MS
34992019-03-19 Martin Sebor <msebor@redhat.com>
3500
3501 PR tree-optimization/89688
3502 * c-common.c (braced_list_to_string): Make static.
3503 (braced_lists_to_strings): Define new function.
3504 * c-common.h (braced_list_to_string): Remove.
3505 (braced_lists_to_strings): Declare.
3506
1fe61adf
ML
35072019-03-12 Martin Liska <mliska@suse.cz>
3508
3509 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3510
93964ebd
ML
35112019-03-11 Martin Liska <mliska@suse.cz>
3512
3513 * c-opts.c (c_common_post_options): Wrap apostrophes
3514 in gcc internal format with %'.
3515
a3f9f006
ML
35162019-03-11 Martin Liska <mliska@suse.cz>
3517
3518 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3519 in a string format message and fix GNU coding style.
3520 * c-common.c (vector_types_convertible_p): Likewise.
3521 (c_build_vec_perm_expr): Likewise.
3522 * c-indentation.c (get_visual_column): Likewise.
3523 * c-opts.c (c_common_handle_option): Likewise.
3524 (c_common_post_options): Likewise.
3525 (sanitize_cpp_opts): Likewise.
3526 * c-pch.c (c_common_pch_pragma): Likewise.
3527 * c-pragma.c (handle_pragma_pack): Likewise.
3528
1db01ff9
JJ
35292019-03-08 Jakub Jelinek <jakub@redhat.com>
3530
3531 PR tree-optimization/89550
3532 * c-common.c (c_common_truthvalue_conversion): Only set
3533 TREE_NO_WARNING if warning_at returned true.
3534 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3535
ba790e6f
JJ
35362019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3537 Martin Sebor <msebor@gmail.com>
3538
3539 * c.opt (Wmissing-attributes): Clean up doc string.
3540
7da73ba7
JJ
35412019-02-25 Jakub Jelinek <jakub@redhat.com>
3542
3543 PR c/89495
3544 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3545 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3546 checking.
3547
921bb9d1
RB
35482019-02-22 Richard Biener <rguenther@suse.de>
3549
3550 * c-pch.c (no_checksum): Remove.
3551 (pch_init): Remove assertion that executable_checksum is not
3552 all zero.
3553 (c_common_valid_pch): Likewise.
3554
e2ebb05c
MS
35552019-02-18 Martin Sebor <msebor@redhat.com>
3556
3557 PR middle-end/89294
3558 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3559
3fe53000
DM
35602019-02-16 David Malcolm <dmalcolm@redhat.com>
3561
3562 PR c++/88680
3563 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3564 implementing -Wtype-limits.
3565
28a8cef1
MS
35662019-02-11 Martin Sebor <msebor@redhat.com>
3567
3568 PR c++/87996
3569 * c-common.c (invalid_array_size_error): New function.
3570 (valid_array_size_p): Call it. Handle size as well as type.
3571 * c-common.h (valid_constant_size_p): New function.
3572 (enum cst_size_error): New type.
3573
ec2be203
DM
35742019-01-31 David Malcolm <dmalcolm@redhat.com>
3575
3576 PR c/89122
3577 * known-headers.cc (get_stdlib_header_for_name): Add
3578 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3579
8936f047
JJ
35802019-01-31 Jakub Jelinek <jakub@redhat.com>
3581
3582 PR libstdc++/88170
3583 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3584 a C cast in pp_c_flag_gnu_v3 mode.
3585
6a335b96
JJ
35862019-01-29 Jakub Jelinek <jakub@redhat.com>
3587
3588 PR c/86125
3589 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3590 builtin_structptr_types types even for C.
3591
2a06eba5
BE
35922019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3593
3594 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3595 when rhs is of array type correctly. Fix handling of nested structures.
3596 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3597 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3598 type casts within nested compound expressions.
3599
18a23298
JJ
36002019-01-22 Jakub Jelinek <jakub@redhat.com>
3601
3602 PR middle-end/88968
3603 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3604 variable after using BIT_FIELD_REF.
3605
420183d9
L
36062019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3607
3608 PR c/51628
3609 PR c/88664
3610 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3611 Remove the boolean argument.
3612 * c-warn.c (check_address_of_packed_member): Renamed to ...
3613 (check_address_or_pointer_of_packed_member): This. Also
3614 warn pointer conversion.
3615 (check_and_warn_address_of_packed_member): Renamed to ...
3616 (check_and_warn_address_or_pointer_of_packed_member): This.
3617 Also warn pointer conversion.
3618 (warn_for_address_or_pointer_of_packed_member): Remove the
3619 boolean argument. Don't check pointer conversion here.
3620
99063eee
RS
36212019-01-15 Richard Sandiford <richard.sandiford@arm.com>
3622
3623 PR inline-asm/52813
3624 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3625
a30d0196
JJ
36262019-01-14 Jakub Jelinek <jakub@redhat.com>
3627
3628 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3629 and __cpp_nontype_template_parameter_auto. Add a comment that
3630 __cpp_template_auto is deprecated.
3631
2d91f79d
TH
36322019-01-14 Tom Honermann <tom@honermann.net>
3633
3634 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3635 * c-common.c (c_common_reswords): Add char8_t.
3636 (fix_string_type): Use char8_t for the type of u8 string literals.
3637 (c_common_get_alias_set): char8_t doesn't alias.
3638 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3639 C++.
3640 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3641 (keyword_begins_type_specifier): Add RID_CHAR8.
3642 * c-common.h (rid): Add RID_CHAR8.
3643 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3644 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3645 Define char8_type_node and char8_array_type_node.
3646 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3647 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3648 (c_cpp_builtins): Predefine __cpp_char8_t.
3649 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3650 CPP_UTF8STRING.
3651 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3652 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3653 targeting C++2a.
3654 * c.opt: Add the -fchar8_t command line option.
3655
23db6ced
MS
36562019-01-14 Martin Sebor <msebor@redhat.com>
3657
3658 PR target/88638
3659 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3660 and issue errors if it fails.
3661 * c-common.h (valid_format_string_type_p): Declare.
3662 * c-format.c (valid_stringptr_type_p): Rename...
3663 (valid_format_string_type_p): ...to this and make extern.
3664 (handle_format_arg_attribute): Adjust to new name.
3665 (check_format_string): Same.
3666
234c3818
L
36672019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3668
3669 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3670 Replace "may may" with "may" in warning message.
3671
d8fcab68
JJ
36722019-01-07 Jakub Jelinek <jakub@redhat.com>
3673
3674 PR c++/85052
3675 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3676 (c_build_vec_convert): Declare.
3677 * c-common.c (c_build_vec_convert): New function.
3678
29d24852
MS
36792019-01-04 Martin Sebor <msebor@redhat.com>
3680
3681 PR c/88546
3682 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3683 Handle C++ empty throw specification and C11 _Noreturn.
3684 (has_attribute): Also handle C11 _Noreturn.
3685
9069a4c9
MS
36862019-01-04 Martin Sebor <msebor@redhat.com>
3687
3688 PR c/88363
3689 * c-attribs.c (positional_argument): Also accept enumerated types.
3690
a5544970
JJ
36912019-01-01 Jakub Jelinek <jakub@redhat.com>
3692
3693 Update copyright years.
3694
da77eace
L
36952018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3696
3697 PR c/51628
3698 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3699 * c-warn.c (check_alignment_of_packed_member): New function.
3700 (check_address_of_packed_member): Likewise.
3701 (check_and_warn_address_of_packed_member): Likewise.
3702 (warn_for_address_or_pointer_of_packed_member): Likewise.
3703 * c.opt: Add -Wno-address-of-packed-member.
3704
573767d4
DM
37052018-12-20 David Malcolm <dmalcolm@redhat.com>
3706
3707 PR c++/87504
3708 * c-warn.c (get_outermost_macro_expansion): New function.
3709 (spelled_the_same_p): Use it to unwind the macro expansions, and
3710 compare the outermost macro in each nested expansion, rather than
3711 the innermost.
3712
a14feb3c
DM
37132018-12-19 David Malcolm <dmalcolm@redhat.com>
3714
3715 PR c++/87504
3716 * c-common.h (warn_tautological_cmp): Convert 1st param from
3717 location_t to const op_location_t &.
3718 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3719 when testing for INTEGER_CST.
3720 (warn_tautological_bitwise_comparison): Convert 1st param from
3721 location_t to const op_location_t &; use it to build a
3722 binary_op_rich_location, and use this.
3723 (spelled_the_same_p): New function.
3724 (warn_tautological_cmp): Convert 1st param from location_t to
3725 const op_location_t &. Warn for macro expansions if
3726 spelled_the_same_p. Use binary_op_rich_location.
3727
dfd7fdca
DM
37282018-12-19 David Malcolm <dmalcolm@redhat.com>
3729
3730 PR c++/43064
3731 PR c++/43486
3732 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3733 (verify_tree): Handle location wrappers.
3734 (c_common_truthvalue_conversion): Strip any location wrapper.
3735 Handle CONST_DECL.
3736 (fold_offsetof): Strip any location wrapper.
3737 (complete_array_type): Likewise for initial_value.
3738 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3739 index before checking for INTEGER_CST.
3740 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3741 print parentheses around location wrappers.
3742 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3743 before checking for INTEGER_CST.
3744 (warn_tautological_bitwise_comparison): Call
3745 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3746 before checking for INTEGER_CST.
3747 (readonly_error): Strip any location wrapper.
3748 (warn_array_subscript_with_type_char): Strip location wrappers
3749 before checking for INTEGER_CST. Use the location of the index if
3750 available.
3751
5c8b3702
JM
37522018-12-06 Jason Merrill <jason@redhat.com>
3753
3754 PR c++/88136 - -Wdeprecated-copy false positives
3755 * c.opt (Wdeprecated-copy-dtor): New.
3756 (Wdeprecated-copy): Move to -Wextra.
3757
673670da
MS
37582018-11-29 Martin Sebor <msebor@redhat.com>
3759
3760 PR c/88172
3761 PR testsuite/88208
3762 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3763 alignments to values less than the target requires.
3764 (has_attribute): For attribute aligned consider both the attribute
3765 and the alignment bits.
3766 * c-common.c (c_init_attributes): Optionally issue a warning for
3767 zero alignment.
3768
04864ec8
MS
37692018-11-28 Martin Sebor <msebor@redhat.com>
3770
3771 PR c/88065
3772 PR c/87297
3773 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3774 or destination is an error.
3775
ace83db0
JJ
37762018-11-28 Jakub Jelinek <jakub@redhat.com>
3777
3778 PR c++/88215
3779 * c-ubsan.c: Include langhooks.h.
3780 (ubsan_instrument_division): Change gcc_assert that main variants
3781 of op0 and op1 types are equal to gcc_checking_assert that the
3782 main variants are compatible types.
3783
da193a27
EB
37842018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3785
3786 * c-ada-spec.c: Include stringpool.h.
3787 (has_static_fields): Return false for incomplete types.
3788 (is_tagged_type): Likewise.
3789 (has_nontrivial_methods): Likewise.
3790 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3791 (struct overloaded_name_hash): New structure.
3792 (struct overloaded_name_hasher): Likewise.
3793 (overloaded_names): New global variable.
3794 (init_overloaded_names): New static function.
3795 (overloaded_name_p): New predicate.
3796 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3797 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3798 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3799 Remove always-true condition and dump forward types.
3800 (dump_ada_specs): Delete overloaded_names.
3801
98f08eb8
MS
38022018-11-20 Martin Sebor <msebor@redhat.com>
3803
3804 * c-attribs.c (type_for_vector_size): New function.
3805 (type_valid_for_vector_size): Same.
3806 (handle_vector_size_attribute): Move code to the functions above
3807 and call them.
3808 (validate_attribute, has_attribute): New functions.
3809 * c-common.h (has_attribute): Declare.
3810 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3811 * c-common.c (c_common_resword): Same.
3812
2674fa47
JM
38132018-11-16 Jason Merrill <jason@redhat.com>
3814
3815 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3816 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3817
258b3854
JJ
38182018-11-16 Jakub Jelinek <jakub@redhat.com>
3819
3820 PR middle-end/87854
3821 * c-common.c (fix_string_type): Reject string literals larger than
3822 TYPE_MAX_VALUE (ssizetype) bytes.
3823
1d249509
MS
38242018-11-15 Martin Sebor <msebor@redhat.com>
3825
3826 PR c++/87541
3827 PR c++/87542
3828 * c-attribs.c (positional_argument): New function.
3829 (handle_alloc_size_attribute): Use it and simplify.
3830 (handle_alloc_align_attribute): Same.
3831 (handle_assume_aligned_attribute): Same.
3832 (handle_nonnull_attribute): Same.
3833 * c-common.c (check_function_arguments): Pass fntype to
3834 check_function_format.
3835 * c-common.h (check_function_format): Add an argument.
3836 (PosArgFlags, positional_argument): Declare new type and function.
3837 * c-format.c (decode_format_attr): Add arguments.
3838 (check_format_string, get_constant): Same.
3839 (convert_format_name_to_system_name): Adjust.
3840
478dd60d
DM
38412018-11-15 David Malcolm <dmalcolm@redhat.com>
3842
3843 PR other/19165
3844 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3845
8cca0163
JJ
38462018-11-14 Jakub Jelinek <jakub@redhat.com>
3847
8ee09943
JJ
3848 P1236R1 - Signed integers are two's complement
3849 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3850 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3851 with in-range second operand well defined for -std=c++2a.
3852
8cca0163
JJ
3853 PR other/88007
3854 * c-common.c (parse_optimize_options): Allocate option string from
3855 opts_obstack rather than as GC memory. Move the allocation after
3856 warning for invalid option.
3857
620e594b
DM
38582018-11-13 David Malcolm <dmalcolm@redhat.com>
3859
3860 * c-common.c (c_get_substring_location): Update for renaming of
3861 get_source_location_for_substring to get_location_within_string.
3862 * c-lex.c: Replace "source_location" with "location_t".
3863 * c-opts.c: Likewise.
3864 * c-ppoutput.c: Likewise.
3865
f9731de3
MS
38662018-11-13 Martin Sebor <msebor@redhat.com>
3867
3868 PR middle-end/81824
3869 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3870 (handle_tls_model_attribute): Improve diagnostics.
3871
e4bd6d5e
JM
38722018-11-12 Jason Merrill <jason@redhat.com>
3873
a6bb6b07
JM
3874 * c-cppbuiltin.c (c_cpp_builtins): Define
3875 __cpp_impl_destroying_delete.
3876
e4bd6d5e
JM
3877 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3878 __cpp_conditional_explicit.
3879
79a2c428
MS
38802018-11-09 Martin Sebor <msebor@redhat.com>
3881
3882 PR middle-end/81824
3883 * c-attribs.c (handle_copy_attribute): New function.
3884
4c7bd361
MS
38852018-11-09 Martin Sebor <msebor@redhat.com>
3886
3887 PR c/87795
3888 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3889
28567c40
JJ
38902018-11-08 Jakub Jelinek <jakub@redhat.com>
3891
3892 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3893 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3894 enum omp_memory_order MEMORY_ORDER.
3895 (c_finish_omp_flush): Add MO argument.
3896 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3897 (c_finish_omp_for): Add FINAL_P argument.
3898 * c-omp.c: Include memmodel.h.
3899 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3900 OMP_TASKGROUP_CLAUSES to it.
3901 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3902 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3903 instead of OMP_ATOMIC_SEQ_CST.
3904 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3905 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3906 __atomic_thread_fence call with the given value.
3907 (check_omp_for_incr_expr): Formatting fixes.
3908 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3909 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3910 is not constant expression 1 or -1. Transform NE_EXPR loops
3911 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3912 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3913 loops too.
3914 (c_omp_split_clauses): Add support for combined
3915 #pragma omp parallel master and
3916 #pragma omp {,parallel }master taskloop{, simd} constructs.
3917 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3918 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3919 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3920 (c_omp_predetermined_sharing): Don't return
3921 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3922 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3923 PRAGMA_OMP_REQUIRES.
3924 * c-pragma.h (enum pragma_kind): Likewise.
3925 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3926 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3927
204839e7
DM
39282018-11-08 David Malcolm <dmalcolm@redhat.com>
3929
3930 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3931
d8010ee4
DM
39322018-11-08 David Malcolm <dmalcolm@redhat.com>
3933
3934 * c-format.c (local_cgraph_node_ptr_node): New variable.
3935 (gcc_dump_printf_char_table): Add entry for %C.
3936 (get_pointer_to_named_type): New function, taken from the handling
3937 code for "gimple *" from...
3938 (init_dynamic_diag_info): ...here. Add handling for
3939 "cgraph_node *".
3940 * c-format.h (T_CGRAPH_NODE): New.
3941
4be5c72c
JM
39422018-10-19 Jason Merrill <jason@redhat.com>
3943
3944 * c-cppbuiltin.c (c_cpp_builtins): Add
3945 __cpp_nontype_template_parameter_class.
3946
f3f6029d
NS
39472018-10-31 Nathan Sidwell <nathan@acm.org>
3948
ab5324fb
NS
3949 * c-opts.c (c_finish_options): Force command line macro
3950 location. Refactor to avoid repeating main debug hook.
3951 (push_command_line_include): Clarify comment.
3952
f3f6029d
NS
3953 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3954
91e3ec29
MS
39552018-10-30 Martin Sebor <msebor@redhat.com>
3956
3957 PR middle-end/87041
3958 * c-format.c (check_format_types): Avoid diagnosing null pointer
3959 arguments to printf-family of functions.
3960
b5ff4f5c
MP
39612018-10-30 Marek Polacek <polacek@redhat.com>
3962
3963 Implement P0892R2, explicit(bool).
3964 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3965
7e2de6df
DM
39662018-10-29 David Malcolm <dmalcolm@redhat.com>
3967
3968 * name-hint.h (name_hint::take_deferred): New member function.
3969
b2bf438c
DM
39702018-10-29 David Malcolm <dmalcolm@redhat.com>
3971
3972 PR c++/56856
3973 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3974 argument.
3975 (check_function_restrict): Rename param "argarray" to
3976 "unfolded_argarray", and make a copy named "argarray", calling
3977 fold_for_warn on each argument.
3978 (check_function_arguments): Add note about responsibility for
3979 folding the arguments.
3980
9f936c86
JM
39812018-10-17 Joseph Myers <joseph@codesourcery.com>
3982
3983 * c-common.c (flag_isoc2x): New variable.
3984 * c-common.h (clk_c): Update comment to reference C2X.
3985 (flag_isoc99, flag_isoc11): Update comments to reference future
3986 standard versions in general.
3987 (flag_isoc2x): Declare.
3988 * c-opts.c (set_std_c2x): New function.
3989 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3990 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3991 flag_isoc2x to 0.
3992 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3993
7a8a92c4
JM
39942018-10-17 Joseph Myers <joseph@codesourcery.com>
3995
3996 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3997 (std=iso9899:2018): Document C17 as published in 2018.
3998
4dc003ff
CL
39992018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
4000
4001 PR c++/87364
4002 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
4003
79371671
WW
40042018-10-11 Will Wray <wjwray@gmail.com>
4005
4006 PR c++/87364
4007 * c-pretty-print.h (pp_c_type_cast): Prototype.
4008 (pp_c_integer_constant): Likewise.
4009 * c-pretty-print.c (pp_c_type_cast): No longer static.
4010 (pp_c_integer_constant): Likewise.
4011 (pp_c_enumeration_constant): Fix loop termination when finding
4012 name of constant. No longer returns a value. Call
4013 pp_c_integer_constant.
4014 (c_pretty_printer::constant): Update for changes to
4015 pp_c_enumeration_constant.
4016
46c62690
JJ
40172018-10-11 Jakub Jelinek <jakub@redhat.com>
4018
4019 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
4020 for no_unique_address.
4021
c24300ba
DM
40222018-10-09 David Malcolm <dmalcolm@redhat.com>
4023
4024 * c-common.c (c_option_controlling_cpp_error): Rename to...
4025 (c_option_controlling_cpp_diagnostic): ...this, and convert
4026 "reason" from int to enum.
4027 (c_cpp_error): Rename to...
4028 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4029 * c-common.h (c_cpp_error): Rename to...
4030 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4031 * c-opts.c (c_common_init_options): Update for renaming.
4032
8656dafa
RS
40332018-10-08 Richard Sandiford <richard.sandiford@arm.com>
4034
4035 PR c/87286
4036 * c-common.c (vector_types_compatible_elements_p): Use
4037 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
4038
8cff0652
VK
40392018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
4040
4041 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
4042 to generate constructor destructor priority warning.
4043 * c.opt (-Wprio-ctor-dtor): New option.
4044
bedf03a2
JM
40452018-10-01 Jason Merrill <jason@redhat.com>
4046
4047 * c-lex.c (c_common_has_attribute): Add no_unique_address.
4048
6cc430c1
EB
40492018-10-01 Eric Botcazou <ebotcazou@adacore.com>
4050
4051 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
4052 (dump_ada_node): Add const keyword.
4053
87677ac7
ML
40542018-09-25 Martin Liska <mliska@suse.cz>
4055
4056 * c-common.c (c_common_truthvalue_conversion):
4057 Remove Pascal from documentation.
4058
518196cb
EB
40592018-09-21 Eric Botcazou <ebotcazou@adacore.com>
4060
4061 * c-ada-spec.c: Include diagnostic.h.
4062 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
4063
a599af84
MP
40642018-09-19 Marek Polacek <polacek@redhat.com>
4065
4066 * c.opt (Wclass-conversion): New.
4067
9c4a4b3c
DM
40682018-09-17 David Malcolm <dmalcolm@redhat.com>
4069
4070 * c-format.c (range_label_for_format_type_mismatch::get_text):
4071 Update for new param.
4072
c896ecfe
DM
40732018-09-17 David Malcolm <dmalcolm@redhat.com>
4074
4075 * c-format.c (format_warning_at_char): Update for introduction of
4076 format_string_diagnostic_t.
4077 (format_type_warning): Likewise.
4078
80c6d1f4
MJ
40792018-09-17 Martin Jambor <mjambor@suse.cz>
4080
4081 PR c/63886
4082 * c.opt (Wabsolute-value): New.
4083
6d900107
BE
40842018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
4085
4086 * c-common.c (complete_flexible_array_elts): New helper function.
4087 * c-common.h (complete_flexible_array_elts): Declare.
4088
b5764229
BE
40892018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4090
4091 * c-common.c (braced_list_to_string): Remove eval parameter.
4092 Add some more checks. Always create zero-terminated STRING_CST.
4093 * c-common.h (braced_list_to_string): Adjust prototype.
4094
85204e23
DM
40952018-08-27 David Malcolm <dmalcolm@redhat.com>
4096
4097 PR 87091
4098 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
4099 to a tri-state.
4100 (maybe_suggest_missing_token_insertion): Likewise.
4101 (maybe_add_include_fixit): Add param "override_location". If set,
4102 and source-printing is enabled, then override the rich_location's
4103 primary location with that of the insertion point for the fix-it
4104 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
4105 * c-common.h (extern void maybe_add_include_fixit): Add bool
4106 param.
4107 * c-format.c (selftest::test_type_mismatch_range_labels): Update
4108 for conversion of show_caret_p to a tri-state.
4109 * c-warn.c (warn_for_restrict): Likewise.
4110 * known-headers.cc
4111 (suggest_missing_header::~suggest_missing_header): Update call to
4112 maybe_add_include_fixit to suggest overriding the location, as it
4113 is for a note.
4114
3d78e008
ML
41152018-08-27 Martin Liska <mliska@suse.cz>
4116
4117 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
4118 fndecl_built_in_p and remove check for FUNCTION_DECL if
4119 possible.
3d78e008
ML
4120 (check_builtin_function_arguments): Likewise.
4121 (reject_gcc_builtin): Likewise.
4122 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
4123
b5be6d0c
MP
41242018-08-26 Marek Polacek <polacek@redhat.com>
4125
4126 PR c++/87029, Implement -Wredundant-move.
4127 * c.opt (Wredundant-move): New option.
4128
79ca9c35
MP
41292018-08-21 Marek Polacek <polacek@redhat.com>
4130
4131 PR c++/86981, Implement -Wpessimizing-move.
4132 * c.opt (Wpessimizing-move): New option.
4133
097f82ec
DM
41342018-08-20 David Malcolm <dmalcolm@redhat.com>
4135
4136 PR other/84889
4137 * c-attribs.c (common_handle_aligned_attribute): Add
4138 auto_diagnostic_group instance.
4139 * c-indentation.c (warn_for_misleading_indentation): Likewise.
4140 * c-opts.c (c_common_post_options): Likewise.
4141 * c-warn.c (warn_logical_not_parentheses): Likewise.
4142 (warn_duplicated_cond_add_or_warn): Likewise.
4143 (warn_for_multistatement_macros): Likewise.
4144
3fb558b1
NS
41452018-08-20 Nathan Sidwell <nathan@acm.org>
4146
4147 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
4148 access.
4149
800c0e98
NS
41502018-08-17 Nathan Sidwell <nathan@acm.org>
4151
4152 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
4153 field.
4154 (laxy_hex_fp_value_count): Make unsigned.
4155 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
4156 manipulate the macro.
4157 (builtin_defin_with_hex_fp_value): Adjust callback name, use
4158 cpp_define_lazily.
4159
6f795a92
DM
41602018-08-17 David Malcolm <dmalcolm@redhat.com>
4161
4162 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
4163 (gcc_dump_printf_length_specs): New.
4164 (gcc_dump_printf_flag_pairs): New.
4165 (gcc_dump_printf_flag_specs): New.
4166 (gcc_dump_printf_char_table): New.
4167 (format_types_orig): Add entry for "gcc_dump_printf".
4168 (init_dynamic_diag_info): Set up length_char_specs and
4169 conversion_specs for gcc_dump_printf_format_type.
4170 (handle_format_attribute): Handle gcc_dump_printf_format_type.
4171
c5d725c0
NS
41722018-08-17 Nathan Sidwell <nathan@acm.org>
4173
10f04917
NS
4174 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
4175
c5d725c0
NS
4176 * c-ada-spec.c: Don't #include "cpp-id-data.h"
4177 * c-cppbuiltin.c: Likewise.
4178
c0c12356
ML
41792018-08-17 Martin Liska <mliska@suse.cz>
4180
4181 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
4182 Ignore/Deprecated flag. Warning is done automatically for
4183 Deprecated flags.
c0c12356 4184
10fcc142
DM
41852018-08-16 David Malcolm <dmalcolm@redhat.com>
4186
4187 PR c++/70693
4188 * c-common.c (selftest::c_family_tests): Call
4189 selftest::c_indentation_c_tests.
4190 * c-common.h (selftest::c_indentation_c_tests): New decl.
4191 * c-indentation.c: Include "selftest.h".
4192 (next_tab_stop): Add "tab_width" param, rather than accessing
4193 cpp_opts.
4194 (get_visual_column): Likewise. Clarify comment. Bulletproof
4195 against reading past the end of the line.
4196 (get_first_nws_vis_column): Add "tab_width" param.
4197 (detect_intervening_unindent): Likewise.
4198 (should_warn_for_misleading_indentation): Read tab width from
4199 cpp_opts and pass around.
4200 (selftest::test_next_tab_stop): New test.
4201 (selftest::assert_get_visual_column_succeeds): New function.
4202 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
4203 (selftest::assert_get_visual_column_fails): New function.
4204 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
4205 (selftest::test_get_visual_column): New test.
4206 (selftest::c_indentation_c_tests): New function.
4207
3f6677f4
NS
42082018-08-16 Nathan Sidwell <nathan@acm.org>
4209
4210 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
4211 (store_ada_macro): Likewise.
4212 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
4213 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
4214
96e6ae57
DM
42152018-08-15 David Malcolm <dmalcolm@redhat.com>
4216
4217 * c-format.c: Include "selftest-diagnostic.h" and
4218 "gcc-rich-location.h".
4219 (format_warning_at_char): Pass NULL for new label params of
4220 format_warning_va.
4221 (class indirection_suffix): New class.
4222 (class range_label_for_format_type_mismatch): New class.
4223 (format_type_warning): Move logic for generating "*" suffix to
4224 class indirection_suffix. Create "fmt_label" and "param_label"
4225 to show their types, and pass them to the
4226 format_warning_at_substring calls.
4227 (selftest::test_type_mismatch_range_labels): New test.
4228 (selftest::c_format_c_tests): Call it.
4229
23aa9f7c
MS
42302018-08-13 Martin Sebor <msebor@redhat.com>
4231
4232 PR tree-optimization/71625
4233 * c-common.c (braced_list_to_string): New function.
4234 * c-common.h (braced_list_to_string): Declare it.
4235
f10a9135
NS
42362018-08-08 Nathan Sidwell <nathan@acm.org>
4237
4238 * c-common.c (try_to_locate_new_include_inertion_point): Use
4239 linemap_included_from_linemap.
4240 * c-lex.c (fe_file_change): Use linemap_included_from.
4241 * c-ppoutput.c (pp_file_change): Likewise.
4242
8a45b051
MS
42432018-08-01 Martin Sebor <msebor@redhat.com>
4244
4245 PR tree-optimization/86650
ab20d992 4246 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4247 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4248 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4249 * c-format.h (T89_G): Update to be "gimple *" rather than
4250 "gcall *".
4251 (local_gcall_ptr_node): Rename...
4252 (local_gimple_ptr_node): ...to this.
4253
e540ccc0
DM
42542018-07-31 David Malcolm <dmalcolm@redhat.com>
4255
4256 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4257 table entries for gcc_diag_char_table, and the 'Z' entry from
4258 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4259 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4260 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4261 adding missing "Z" for this table. Remove erroneous "G" and "K"
4262 entries.
4263 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4264 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4265 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4266
425fc685
RE
42672018-07-31 Richard Earnshaw <rearnsha@arm.com>
4268
4269 * c-common.c (speculation_safe_resolve_call): New function.
4270 (speculation_safe_resolve_params): New function.
4271 (speculation_safe_resolve_return): New function.
4272 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4273 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4274 __HAVE_SPECULATION_SAFE_VALUE.
4275
181463c2
DM
42762018-07-20 David Malcolm <dmalcolm@redhat.com>
4277
4278 * c-common.c (c_cpp_error): Remove redundant "line_table"
4279 parameter from call to rich_location::set_range.
4280 (maybe_suggest_missing_token_insertion): Likewise.
4281
0d7f9065
MS
42822018-07-20 Martin Sebor <msebor@redhat.com>
4283
4284 PR middle-end/82063
ab20d992 4285 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4286
00abf86c
MS
42872018-07-20 Martin Sebor <msebor@redhat.com>
4288
4289 PR middle-end/82063
4290 * c-common.h (c_common_handle_option): Change function argument
4291 to HOST_WIDE_INT.
4292 * c-opts.c (c_common_init_options): Same.
4293 (c_common_handle_option): Same. Remove special handling of
4294 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4295 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4296 options to take a HOST_WIDE_INT argument and accept a byte-size
4297 suffix. Initialize.
4298 (-Wvla-larger-than): Same.
4299 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4300 (-Wno-vla-larger-than): Same.
4301
9b452033
JJ
43022018-07-12 Jakub Jelinek <jakub@redhat.com>
4303
4304 * c-attribs.c (c_common_attribute_table): Add
4305 "omp declare target implicit" attribute.
4306
cd0762f3
RB
43072018-07-12 Richard Biener <rguenther@suse.de>
4308
4309 PR c/86453
4310 * c-attribs.c (handle_packed_attribute): Do not build a variant
4311 type with TYPE_PACKED, instead ignore the attribute if we may
4312 not apply to the original type.
4313
0b27c3ed
JJ
43142018-07-10 Jakub Jelinek <jakub@redhat.com>
4315
4316 PR c++/86443
4317 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4318 to contain TREE_LIST for both the original class iterator and the
4319 "last" helper var.
4320
e730a0ef
EB
43212018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4322
4323 * c-ada-spec.c (to_ada_name): Remove index parameter.
4324 (pp_ada_tree_identifier): Likewise.
4325 (dump_ada_macros): Adjust call to to_ada_name.
4326 (struct overloaded_name_hash): Delete.
4327 (struct overloaded_name_hasher): Likewise.
4328 (overloaded_names): Likewise.
4329 (compute_overloading_index): Likewise.
4330 (dump_ada_decl_name): Do not call compute_overloading_index and
4331 adjust calls to pp_ada_tree_identifier.
4332 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4333 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4334 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4335 (dump_ada_enum_type): Remove type and display_convention parameters.
4336 Adjust calls to pp_ada_tree_identifier.
4337 (dump_ada_node): Likewise and for dump_ada_structure.
4338 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4339 and tidy up.
4340 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4341 syntax.
4342 (print_constructor): Adjust call to pp_ada_tree_identifier.
4343 (print_destructor): Likewise.
4344 (dump_ada_declaration): Switch to aspect syntax.
4345 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4346 parameter with nested parameter.
4347 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4348 (dump_ada_specs): Do not delete overloaded_names table.
4349
8de583fc
PB
43502018-07-06 Peter Bergner <bergner@linux.ibm.com>
4351
4352 PR target/86324
e730a0ef 4353 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4354 target hook.
4355
09cff37b
NS
43562018-07-05 Nathan Sidwell <nathan@acm.org>
4357
4358 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4359 NO_IMPLICIT_EXTERN_C.
4360
98086b2b
ML
43612018-06-28 Martin Liska <mliska@suse.cz>
4362
4363 * cppspec.c: Include opt-suggestions.h.
4364
ab20d992
JJ
43652018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4366 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4367 Cesar Philippidis <cesar@codesourcery.com>
4368
4369 * c-pragma.h (enum pragma_omp_clause): Add
4370 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4371 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4372
f41b7612
JJ
43732018-06-20 Jakub Jelinek <jakub@redhat.com>
4374
4375 PR c++/86210
4376 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4377 comment.
4378
4252ccd7
MS
43792018-06-18 Martin Sebor <msebor@redhat.com>
4380
4381 PR middle-end/85602
4382 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4383 nonstring.
4384
e197e64e
KV
43852018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4386
4387 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4388
34a7a230
JM
43892018-06-13 Jason Merrill <jason@redhat.com>
4390
5cef3733
JM
4391 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4392 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4393 handling.
4394
34a7a230
JM
4395 PR c++/86094 - wrong code with defaulted move ctor.
4396 * c-opts.c (c_common_post_options): Bump the current ABI version to
4397 13. Set warn_abi_version and flag_abi_compat_version to the current
4398 version rather than 0. Fix defaulting flag_abi_compat_version from
4399 warn_abi_version.
4400
bb0f14ae
MS
44012018-06-12 Martin Sebor <msebor@redhat.com>
4402
4403 PR c/85931
4404 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4405 sizeof source and destination yields the same value.
4406
3713f2e2
ML
44072018-06-12 Martin Liska <mliska@suse.cz>
4408
4409 * c.opt: Make MPX-related options as Deprecated.
4410
4af78ef8
DM
44112018-06-08 David Malcolm <dmalcolm@redhat.com>
4412
4413 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4414 rather than 0.
4415
31db0fe0
ML
44162018-06-08 Martin Liska <mliska@suse.cz>
4417
4418 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4419 for MPX (macros, related functions, fields in cgraph_node, ...).
4420 (handle_bnd_legacy): Likewise.
4421 (handle_bnd_instrument): Likewise.
4422 * c.opt: Likewise.
4423
fe16acf2
JJ
44242018-06-06 Jakub Jelinek <jakub@redhat.com>
4425
4426 PR c++/86068
4427 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4428 __cpp_transactional_memory to 201500 instead of 210500.
4429
4dbdb49b
JM
44302018-06-06 Jason Merrill <jason@redhat.com>
4431
4432 PR c++/85710 - ICE with -Wmemset-elt-size.
4433 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4434
f8ad043f
JM
44352018-06-01 Jason Merrill <jason@redhat.com>
4436
4437 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4438 201703.
4439
abc24d93
EB
44402018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4441
4442 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4443 declaration for a typedef independently of whether the declaration of
4444 the subtype is generated.
4445
d258f4aa
MS
44462018-05-31 Martin Sebor <msebor@redhat.com>
4447
4448 PR c/82063
4449 * c.opt (-Wno-alloc-size-larger-than): New option.
4450
b67b9225
DP
44512018-04-22 David Pagan <dave.pagan@oracle.com>
4452
4453 PR c/55976
4454 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4455 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4456 differentiate between default (no option), -Wreturn-type, and
4457 -Wno-return-type.
4458
04eb9c55
JM
44592018-05-29 Jason Merrill <jason@redhat.com>
4460
4461 * c.opt (Winit-list-lifetime): New flag.
4462
b0c31bc6
BE
44632018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4464
4465 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4466 splay_tree_delete_pointers.
4467
44284983
JJ
44682018-05-26 Jakub Jelinek <jakub@redhat.com>
4469
4470 PR bootstrap/85921
4471 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4472 noinline variable to workaround broken kernel headers.
4473
b46b715d
JM
44742018-05-18 Jason Merrill <jason@redhat.com>
4475
4476 * c.opt (Wdeprecated-copy): New flag.
4477
40659769
ML
44782018-05-17 Martin Liska <mliska@suse.cz>
4479
4480 * c-warn.c (overflow_warning): Do not use
4481 space in between 'G_' and '('.
4482
403962ea
JM
44832018-05-09 Jason Merrill <jason@redhat.com>
4484
4485 * c-common.c (valid_array_size_p): Add complain parameter.
4486 * c-common.h: ...which defaults to true.
4487
1c9ee609
JJ
44882018-05-11 Jakub Jelinek <jakub@redhat.com>
4489
4490 PR c/85696
4491 * c-omp.c (c_omp_predetermined_sharing): Return
4492 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4493
19916065
ML
44942018-05-11 Martin Liska <mliska@suse.cz>
4495
92a285c1 4496 PR sanitizer/85556
19916065
ML
4497 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4498 TREE_LIST values.
4499
79e7b1fe
JJ
45002018-05-10 Jakub Jelinek <jakub@redhat.com>
4501
4502 PR c++/85662
4503 * c-common.h (fold_offsetof_1): Removed.
4504 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4505 CTX argument defaulted to ERROR_MARK.
4506 * c-common.c (fold_offsetof_1): Renamed to ...
4507 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4508 argument, convert the pointer constant to TYPE and use size_binop
4509 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4510 a pointer type. Adjust recursive calls.
4511
86c12f76
EB
45122018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4513
4514 PR c++/85400
4515 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4516
ee336e84
NS
45172018-05-07 Nathan Sidwell <nathan@acm.org>
4518
4519 * c.opt (ffor-scope): Remove functionality, issue warning.
4520
6c072e21
NS
45212018-05-03 Nathan Sidwell <nathan@acm.org>
4522
4523 * c.opt (ffriend-injection): Remove functionality, issue warning.
4524
2cc7d3a7
DM
45252018-05-01 David Malcolm <dmalcolm@redhat.com>
4526
4527 PR c/84258
4528 * c-format.c (struct format_check_results): Add field
4529 "number_non_char".
4530 (check_format_info): Initialize it, and warn if encountered.
4531 (check_format_arg): Distinguish between wide char and
4532 everything else when detecting arrays of non-char.
4533
7761dfbe
DM
45342018-04-30 David Malcolm <dmalcolm@redhat.com>
4535
4536 * c-format.c (get_corrected_substring): Update for
4537 location_get_source_line returning a char_span. Use a char_span
4538 when handling the prefix of the correction.
4539 * c-indentation.c (get_visual_column): Update for
4540 location_get_source_line returning a char_span.
4541 (get_first_nws_vis_column): Likewise.
4542
62e98ef1
DM
45432018-03-29 David Malcolm <dmalcolm@redhat.com>
4544
4545 PR c++/84269
4546 * known-headers.cc (get_stdlib_header_for_name): Add various names
4547 from <assert.h>, <string.h>, and <memory.h>; add more names from
4548 <stdio.h>.
4549
a7dea617
JJ
45502018-03-27 Jakub Jelinek <jakub@redhat.com>
4551
4552 PR c++/85061
4553 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4554 get_base_address of the second operand is a VAR_P, rather than the
4555 operand itself, and use gcc_checking_assert instead of gcc_assert.
4556
889a3a30
MP
45572018-03-23 Marek Polacek <polacek@redhat.com>
4558
4559 PR c++/85045
4560 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4561 <case RDIV_EXPR>: Tweak condition.
4562
452154b9
EB
45632018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4564
4565 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4566
63ecb626
JJ
45672018-03-16 Jakub Jelinek <jakub@redhat.com>
4568
ce811fc4
JJ
4569 PR c/84909
4570 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4571 diagnostics.
4572
63ecb626
JJ
4573 PR c/84910
4574 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4575 diagnostics.
4576
a1295eec
RB
45772018-03-16 Richard Biener <rguenther@suse.de>
4578
4579 PR c/84873
4580 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4581 unshare the possibly folded expression.
4582
919674fb
RB
45832018-03-15 Richard Biener <rguenther@suse.de>
4584
4585 PR c/84873
4586 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4587
f99309b2
MS
45882018-03-13 Martin Sebor <msebor@redhat.com>
4589
4590 PR tree-optimization/84725
4591 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4592 with all three narrow character types, including their qualified forms.
4593
e9b9fa4c
MS
45942018-03-12 Martin Sebor <msebor@redhat.com>
4595
4596 PR tree-optimization/83456
ab20d992 4597 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4598 Restore checking of bounded built-in functions.
4599 (check_function_arguments): Also return the result
4600 of warn_for_restrict.
ab20d992
JJ
4601 * c-common.c (check_function_restrict): Return bool.
4602 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4603
0805d020
MP
46042018-03-02 Marek Polacek <polacek@redhat.com>
4605
4606 PR c++/84171
4607 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4608 is erroneous.
4609
ed2a2f08
TS
46102018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4611
4612 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4613 function".
4614
90abdde0
MP
46152018-03-01 Marek Polacek <polacek@redhat.com>
4616
4617 PR c++/84639
4618 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4619 alignment in computation.
4620
c6db43fa
EB
46212018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4622
4623 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4624 <REAL_TYPE>: Deal specifically with _Float128/__float128.
4625
9e25c7ed
EB
46262018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4627
4628 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4629 (is_char_array): Take a type instead of a declaration.
4630 (dump_ada_array_type): Likewise.
4631 (is_simple_enum): Minor tweak.
4632 (dump_ada_enum_type): New function extracted from...
4633 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
4634 <INTEGER_TYPE>: Remove unreachable code.
4635 <RECORD_TYPE>: Likewise. Minor tweaks.
4636 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4637 <ENUMERAL_TYPE>: New case.
4638 <RECORD_TYPE>: Factor out common code.
4639 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4640 Minor tweaks. Deal with enumeral types.
4641 (dump_ada_structure): Minor tweaks.
4642
09de3550
EB
46432018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4644
4645 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4646 address for incomplete structures.
4647 (dump_forward_type): Do not bail out for incomplete structures.
4648 (dump_ada_declaration): Do not special-case incomplete structures
4649 for subtypes. Dump them as null records for types.
4650
095d8d4b
EB
46512018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4652
4653 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4654 (is_char_array): Fix formatting.
4655 (dump_template_types): Likewise.
4656 (dump_generic_ada_node): Rename into...
4657 (dump_ada_node): ...this.
4658 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4659 incomplete structures and not for empty structures. Do not use it
4660 when forward declarations are needed.
4661 (dump_forward_type): New function.
4662 (dump_nested_types): Remove FORWARD parameter. Do not consider
4663 TREE_VISITED and do not generate a forward declaration. Only dump
4664 original nested types for nested declaration.
4665 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4666 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4667 <RECORD_TYPE>: Do not consider TREE_VISITED.
4668 (dump_ada_declaration): Use booleans and fix formatting throughout.
4669 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4670 Call dump_forward_type instead of dump_nested_types for a typedef.
4671 Remove superfluous check and adjust call to dump_nested_types.
4672 <POINTER_TYPE>: Call dump_forward_type and fall through.
4673 (dump_ada_struct_decl): Rename into...
4674 (dump_ada_structure): ...this. Do not special-case empty structures.
4675
d4cfd486
MS
46762018-02-27 Martin Sebor <msebor@redhat.com>
4677
4678 PR c++/83871
4679 * c.opt (-Wmissing-attributes): New option.
4680
b22dbd03
ML
46812018-02-21 Martin Liska <mliska@suse.cz>
4682
4683 * c.opt (Wcatch-value=): Add IntegerRange.
4684
883dfe2a
JM
46852018-02-15 Jason Merrill <jason@redhat.com>
4686
4687 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4688
0444aa9c
NS
46892018-02-09 Nathan Sidwell <nathan@acm.org>
4690
4691 PR c/84293
4692 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4693 arg.
4694 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4695 arg. Adjust.
4696
cea71f0a
MS
46972018-02-09 Martin Sebor <msebor@redhat.com>
4698
4699 PR lto/84212
4700 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4701 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4702 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4703 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4704 (-Wuninitialized): Same.
4705
8c8b7be5
EB
47062018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4707
4708 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4709 keyword for components.
4710
7c30b12a
PC
47112018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4712
4713 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4714
eece7fe5
JK
47152018-02-02 Julia Koval <julia.koval@intel.com>
4716
4717 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4718
7d07a93a
MP
47192018-01-29 Marek Polacek <polacek@redhat.com>
4720
4721 PR c/83966
4722 * c-format.c (check_function_format): Check current_function_decl.
4723
53723269
JJ
47242018-01-27 Jakub Jelinek <jakub@redhat.com>
4725
4726 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4727 argument.
4728 (LAZY_HEX_FP_VALUES_CNT): Define.
4729 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4730 values rather than just 12.
4731 (builtin_define_with_hex_fp_value): Likewise.
4732
7365279f
BK
47332018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4734
92a285c1
ML
4735 PR other/70268
4736 * c.opt (-fmacro-prefix-map): New option.
4737 * c-opts.c (c_common_handle_option): Handle it.
4738 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4739 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4740
bb9869d5
DM
47412018-01-17 David Malcolm <dmalcolm@redhat.com>
4742
4743 PR c++/83814
4744 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4745
68dc87c3
EB
47462018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4747
4748 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4749 Skip 'f' and 'F' characters if it is true.
4750 (store_ada_macro): Minor tweak.
4751 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4752 <CPP_WSTRING>: Likewise.
4753 <CPP_STRING>: Output '&' in the buffer if not the first string.
4754 <CPP_NUMBER>: Adjust calls to dump_number.
4755
9a004410
DM
47562018-01-10 David Malcolm <dmalcolm@redhat.com>
4757
4758 PR c++/43486
4759 * c-common.c: Include "selftest.h".
4760 (get_atomic_generic_size): Perform the test for integral type
4761 before the range test for any integer constant, fixing indentation
4762 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4763 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4764 (selftest::test_fold_for_warn): New function.
4765 (selftest::c_common_c_tests): New function.
4766 (selftest::c_family_tests): Call it, and
4767 selftest::c_pretty_print_c_tests.
4768 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4769 * c-format.c (check_format_arg): Convert VAR_P check to a
4770 fold_for_warn.
4771 * c-pretty-print.c: Include "selftest.h".
4772 (pp_c_cast_expression): Don't print casts for location wrappers.
4773 (selftest::assert_c_pretty_printer_output): New function.
4774 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4775 (selftest::test_location_wrappers): New function.
4776 (selftest::c_pretty_print_c_tests): New function.
4777 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4778
5c0caeb3
RS
47792018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4780 Alan Hayward <alan.hayward@arm.com>
4781 David Sherwood <david.sherwood@arm.com>
4782
4783 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4784
73a699ae
RS
47852018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4786 Alan Hayward <alan.hayward@arm.com>
4787 David Sherwood <david.sherwood@arm.com>
4788
4789 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4790 as polynomial.
4791
928686b1
RS
47922018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4793 Alan Hayward <alan.hayward@arm.com>
4794 David Sherwood <david.sherwood@arm.com>
4795
4796 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4797 (convert_vector_to_array_for_subscript): Handle polynomial
4798 TYPE_VECTOR_SUBPARTS.
4799 (c_common_type_for_mode): Check valid_vector_subparts_p.
4800 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4801 VECTOR_CST_NELTS.
4802
85ec4feb
JJ
48032018-01-03 Jakub Jelinek <jakub@redhat.com>
4804
4805 Update copyright years.
4806
170a8bd6 48072017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4808 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4809
4810 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4811 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4812
ab20d992 48132017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4814
4815 PR debug/83527
4816 PR debug/83419
4817 * c-semantics.c (only_debug_stmts_after_p): New.
4818 (pop_stmt_list): Clear side effects in debug-only stmt list.
4819 Check for single nondebug stmt followed by debug stmts only.
4820
c12d20d4
AO
48212017-12-21 Alexandre Oliva <aoliva@redhat.com>
4822
4823 PR debug/83419
4824 * c-semantics.c (pop_stmt_list): Propagate side effects from
4825 single nondebug stmt to container list.
4826
01512446
JJ
48272017-12-19 Jakub Jelinek <jakub@redhat.com>
4828
4829 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4830 conditions with typical order conditions.
4831
82cfbd01
MP
48322017-12-18 Marek Polacek <polacek@redhat.com>
4833
4834 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4835 not in effect.
4836
99da11ec
MS
48372017-12-17 Martin Sebor <msebor@redhat.com>
4838
4839 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4840 an error for attribute warn_if_not_aligned.
4841
cc8bea0a
MS
48422017-12-16 Martin Sebor <msebor@redhat.com>
4843
4844 PR tree-optimization/78918
4845 * c-common.c (check_function_restrict): Avoid checking built-ins.
4846 * c.opt (-Wrestrict): Include in -Wall.
4847
4849deb1
JJ
48482017-12-15 Jakub Jelinek <jakub@redhat.com>
4849
4850 * c-attribs.c (c_common_attribute_table,
4851 c_common_format_attribute_table): Swap affects_type_identity
4852 and handler fields, adjust comments.
4853
c65e18d3
BE
48542017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4855
4856 * c.opt (Wcast-function-type): New warning option.
4857 * c-lex.c (get_fileinfo): Avoid warning.
4858 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4859
2004617a
QZ
48602017-12-14 Qing Zhao <qing.zhao@oracle.com>
4861
7365279f 4862 PR middle_end/79538
2004617a
QZ
4863 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4864 Adjust the size of buf1 and buf2, add a new buf to avoid
4865 format-overflow warning.
4866
ab20d992 48672017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4868
4869 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4870 subsequent statement list.
4871
5d9ae53d
MS
48722017-12-07 Martin Sebor <msebor@redhat.com>
4873
4874 PR c/81544
4875 PR c/81566
4876 * c-attribs.c (attr_aligned_exclusions): New array.
4877 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4878 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4879 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4880 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4881 (attr_warn_unused_result_exclusions): Same.
4882 (handle_hot_attribute, handle_cold_attribute): Simplify.
4883 (handle_const_attribute): Warn on function returning void.
4884 (handle_pure_attribute): Same.
4885 (handle_aligned_attribute): Diagnose conflicting attribute
4886 specifications.
4887 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4888
c79144f8
DM
48892017-12-06 David Malcolm <dmalcolm@redhat.com>
4890
4891 PR c/83236
4892 * c-common.c (selftest::c_family_tests): Call
4893 selftest::c_spellcheck_cc_tests.
4894 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4895 * c-spellcheck.cc: Include "selftest.h".
4896 (name_reserved_for_implementation_p): New function.
4897 (should_suggest_as_macro_p): New function.
4898 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4899 should_suggest_as_macro_p and call it.
4900 (selftest::test_name_reserved_for_implementation_p): New function.
4901 (selftest::c_spellcheck_cc_tests): New function.
4902 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4903
613bc14f
DM
49042017-12-06 David Malcolm <dmalcolm@redhat.com>
4905
4906 * c-spellcheck.cc: New file, taken from macro-handling code in
4907 spellcheck-tree.c.
4908 * c-spellcheck.h: New file, taken from macro-handling code in
4909 spellcheck-tree.h.
4910
e76c7157
JJ
49112017-12-01 Jakub Jelinek <jakub@redhat.com>
4912
4913 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4914 attribute.
4915 (handle_simd_attribute): Don't check for "cilk simd function"
4916 attribute. Reindent, formatting changes.
4917
b0da4034
JK
49182017-11-30 Julia Koval <julia.koval@intel.com>
4919
4920 * c-common.h (inv_list): Remove.
4921
058f0b9e
JJ
49222017-11-28 Jakub Jelinek <jakub@redhat.com>
4923
4924 PR sanitizer/81275
4925 * c-common.c (c_switch_covers_all_cases_p_1,
4926 c_switch_covers_all_cases_p): New functions.
4927 * c-common.h (c_switch_covers_all_cases_p): Declare.
4928
5e9d6aa4 49292017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4930 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4931
4932 * array-notation-common.c: Delete.
4933 * c-cilkplus.c: Ditto.
4934 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4935 * c-common.def (ARRAY_NOTATION_REF): Remove.
4936 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4937 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4938 c_validate_cilk_plus_loop, cilkplus_an_parts,
4939 cilk_ignorable_spawn_rhs_op,
4940 cilk_recognize_spawn): Remove.
4941 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4942 * c-omp.c: Remove CILK_SIMD check.
4943 * c-pragma.c: Ditto.
4944 * c-pragma.h: Remove CILK related pragmas.
4945 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4946 ARRAY_NOTATION_REF condition.
4947 (c_pretty_printer::expression): Ditto.
4948 * c.opt (fcilkplus): Remove.
4949 * cilk.c: Delete.
4950
1af4ebf5
MG
49512017-11-21 Marc Glisse <marc.glisse@inria.fr>
4952
4953 * c-pretty-print.c (pp_c_additive_expression,
4954 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4955
d44ed508
JJ
49562017-11-21 Jakub Jelinek <jakub@redhat.com>
4957
7d2f0f9b
JJ
4958 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4959
d44ed508
JJ
4960 PR c++/83059
4961 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4962 instead of tree_to_uhwi, formatting fix.
4963
26edace6
DM
49642017-11-20 David Malcolm <dmalcolm@redhat.com>
4965
4966 PR c/81404
4967 * known-headers.cc: New file, based on material from c/c-decl.c.
4968 (suggest_missing_header): Copied as-is.
4969 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4970 heavily edited to add C++ support. Add some knowledge about
4971 <limits.h>, <stdint.h>, and <wchar.h>.
4972 * known-headers.h: Likewise.
4973
6c7a259b
DM
49742017-11-20 David Malcolm <dmalcolm@redhat.com>
4975
4976 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4977 (lookup_name_fuzzy): Likewise. Convert return type from
4978 const char * to name_hint. Add location_t param.
4979 * name-hint.h: New header.
4980
f9c59f7e
JJ
49812017-11-19 Jakub Jelinek <jakub@redhat.com>
4982
4983 PR c/66618
4984 PR c/69960
4985 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4986
1e39313a
JM
49872017-11-16 Joseph Myers <joseph@codesourcery.com>
4988
4989 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4990 expected publication date of C17.
4991 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4992
3ca0dc60
JM
49932017-11-15 Joseph Myers <joseph@codesourcery.com>
4994
4995 PR c/81156
4996 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4997 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4998
025d57f0
MS
49992017-11-10 Martin Sebor <msebor@redhat.com>
5000
5001 PR c/81117
5002 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
5003 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
5004 * c.opt (-Wstringop-truncation): New option.
5005
1b6fa695
ML
50062017-11-06 Martin Liska <mliska@suse.cz>
5007
5008 PR middle-end/82404
5009 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
5010 FE.
5011 * c.opt: Set default value of warn_return_type.
5012
64a5912c
DM
50132017-10-31 David Malcolm <dmalcolm@redhat.com>
5014
5015 * c-common.c (binary_op_error): Update for renaming of
5016 error_at_rich_loc.
5017 (c_parse_error): Likewise.
5018 * c-warn.c (warn_logical_not_parentheses): Likewise for
5019 renaming of inform_at_rich_loc.
5020 (warn_for_restrict): Likewise for renaming of
5021 warning_at_rich_loc_n.
5022
c76dc9c3
JM
50232017-10-30 Joseph Myers <joseph@codesourcery.com>
5024
5025 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
5026 * c-opts.c (set_std_c17): New function.
5027 (c_common_init_options): Use gnu17 as default C version.
5028 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
5029
ee5fd23a
MM
50302017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5031
5032 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
5033 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5034 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
5035 __FP_FAST_FMA<N>X.
5036
d1047465
MP
50372017-10-23 Marek Polacek <polacek@redhat.com>
5038
5039 PR c/82681
5040 * c-warn.c (warnings_for_convert_and_check): Fix typos.
5041
9e878cf1
EB
50422017-10-19 Eric Botcazou <ebotcazou@adacore.com>
5043
5044 * c-common.c (check_builtin_function_arguments): Also check arguments
5045 of __builtin_alloca_with_align_and_max.
5046
89b6abbb
DM
50472017-10-17 David Malcolm <dmalcolm@redhat.com>
5048
5049 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
5050 rather than NULL to format_warning_va.
5051 (check_format_types): Likewise when calling format_type_warning.
5052 Remove code to extract source_ranges and source_range * in favor
5053 of just a location_t.
5054 (format_type_warning): Convert source_range * param to a
5055 location_t.
5056
39382c09
JJ
50572017-10-13 Jakub Jelinek <jakub@redhat.com>
5058
5059 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
5060 [LR]SHIFT_EXPR.
5061
62e1c678
DM
50622017-10-12 David Malcolm <dmalcolm@redhat.com>
5063
5064 * c-common.c (enum missing_token_insertion_kind): New enum.
5065 (get_missing_token_insertion_kind): New function.
5066 (maybe_suggest_missing_token_insertion): New function.
5067 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
5068
b90c9338
NS
50692017-10-11 Nathan Sidwell <nathan@acm.org>
5070
5071 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
5072 (c_common_handle_option): Update incpath_kind names.
5073
3a266bcd
ML
50742017-10-11 Martin Liska <mliska@suse.cz>
5075
5076 PR sanitizer/82490
5077 * c-attribs.c (handle_no_sanitize_attribute): Report directly
5078 Wattributes warning.
5079
8e6cdc90
RS
50802017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
5081
5082 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
5083 operating on trees as wide_ints.
5084 * c-common.c (pointer_int_sum): Likewise.
5085 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5086 * c-warn.c (match_case_to_enum_1): Likewise.
5087 (c_do_switch_warnings): Likewise.
5088 (maybe_warn_shift_overflow): Likewise.
5089
802b38c9
JJ
50902017-10-10 Jakub Jelinek <jakub@redhat.com>
5091
5092 PR c/82437
5093 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
5094 instead of wide_int::from.
5095
4e34b338
JJ
50962017-10-06 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR c/82437
5099 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5100 using to_widest use wide_int with the larger of the two precisions.
5101
4bc4b2b4
BE
51022017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5103
5104 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
5105 functions.
5106
a1488398
RS
51072017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
5108
5109 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
5110 when combining the original unconverted comparison operands.
5111
01c9fb68
JJ
51122017-09-29 Jakub Jelinek <jakub@redhat.com>
5113
5114 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
5115 attribute.
5116
6e3e8419
EB
51172017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5118
5119 * c-ada-spec.c (to_ada_name): Add index parameter.
5120 (pp_ada_tree_identifier): Likewise.
5121 (dump_ada_macros): Adjust call to to_ada_name.
5122 (struct overloaded_name_hash): New type.
5123 (struct overloaded_name_hasher): Likewise.
5124 (overloaded_names): New hash table.
5125 (compute_overloading_index): New function.
5126 (dump_ada_decl_name): Call it and pass the result to
5127 pp_ada_tree_identifier.
5128 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5129 (dump_ada_function_declaration): Likewise.
5130 (dump_generic_ada_node): Likewise.
5131 (print_constructor): Likewise.
5132 (print_destructor): Likewise.
5133 (dump_ada_specs): Delete overloaded_names table.
5134
79310774
EB
51352017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5136
5137 * c-ada-spec.c (max_ada_macros): Move around.
5138 (store_ada_macro_index): Likewise.
5139 (source_file): Rename into...
5140 (macro_source_file): ...this.
5141 (count_ada_macro): Move around.
5142 (store_ada_macro): Likewise.
5143 (compare_macro): Likewise.
5144 (print_ada_macros): Merge in...
5145 (dump_ada_macros): ...this.
5146 (source_file_base): Rename into...
5147 (current_source_file): ...this.
5148 (print_comment): Move around.
5149 (dump_ada_nodes): Call dump_ada_declaration directly.
5150 (struct with): Change type of limited field to bool.
5151 (append_withs): Change type of limited_access parameter to bool.
5152 (pp_ada_tree_identifie): Likewise.
5153 (dump_ada_decl_nam): Likewise.
5154 (dump_generic_ada_node): Likewise. Do not print the return type.
5155 (to_ada_name): Change type of space_found parameter to bool.
5156 (dump_ada_function_declaration): Return void and change type of
5157 parameters to bool. Also print the return type for a function.
5158 (print_ada_methods): Rename into...
5159 (dump_ada_methods): ...this.
5160 (print_ada_declaration): Rename into ...
5161 (dump_ada_declaration): ...this. Do not print the return type.
5162 (print_ada_struct_decl): Rename into...
5163 (dump_ada_struct_decl): ...this.
5164
7d386d45
JJ
51652017-09-29 Jakub Jelinek <jakub@redhat.com>
5166
5167 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
5168 rather than DECL_INITIAL.
5169 (common_handle_aligned_attribute): Likewise.
5170
ab20d992 51712017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
5172
5173 * c.opt (gen-decls): Add RejectNegative.
5174
026a79f7
AS
51752017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
5176 Jakub Jelinek <jakub@redhat.com>
5177
5178 Add support for -std=c++2a.
5179 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
5180 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
5181 * c-opts.c (set_std_cxx2a): New.
5182 (c_common_handle_option): Set options when -std=c++2a is enabled.
5183 (c_common_post_options): Adjust comments.
5184 (set_std_cxx14, set_std_cxx17): Likewise.
5185
4a8ca690
EB
51862017-09-15 Eric Botcazou <ebotcazou@adacore.com>
5187
5188 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
5189 message for non-uniform endianness and issue a warning in C++.
5190
7b936140
JJ
51912017-09-15 Jakub Jelinek <jakub@redhat.com>
5192
5193 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
5194 (Wc++17-compat): Change from undocumented alias to option.
5195 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
5196 change C++1z to C++17 in description.
5197 (std=c++1z, std=gnu++1z): Change from option to undocumented
5198 deprecated alias.
5199 (std=c++17, std=gnu++17): Change from undocumented alias to option.
5200 Adjust description.
5201 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
5202 * c-opts.c (set_std_cxx1z): Rename to ...
5203 (set_std_cxx17): ... this.
5204 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
5205 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 5206 caller.
7b936140
JJ
5207 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
5208 comments.
5209
12263f13
L
52102017-09-12 H.J. Lu <hongjiu.lu@intel.com>
5211
5212 * c-attribs.c (common_handle_aligned_attribute): Don't warn
5213 function alignment if warn_if_not_aligned_p is true.
5214
6836632e
NS
52152017-09-12 Nathan Sidwell <nathan@acm.org>
5216
5217 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
5218 resort_sorted_fields): Move to c/c-decl.c.
5219 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
5220 (struct sorted_fields_type): Move to c/c-lang.h.
5221
019bf9ad
JW
52222017-09-09 Jonathan Wakely <jwakely@redhat.com>
5223
5224 PR c++/81852
5225 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5226
bc7fe952
MP
52272017-09-04 Marek Polacek <polacek@redhat.com>
5228
5229 PR c/81783
5230 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5231 (warn_tautological_cmp): Call it.
5232
ab20d992 52332017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5234
5235 * c-opts.c (c_common_finish): Write dependency information even if
5236 there are errors.
5237
d2e05fcb
JJ
52382017-09-01 Jakub Jelinek <jakub@redhat.com>
5239
5240 PR c/81887
5241 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5242 (omp_pragmas_simd): ... here.
5243 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5244 create new clauses list containing just simd clause.
5245
18e2a8b8
RS
52462017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5247 Alan Hayward <alan.hayward@arm.com>
5248 David Sherwood <david.sherwood@arm.com>
5249
5250 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5251 into scalar_mode_supported_p call.
5252 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5253
16d22000
RS
52542017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5255 Alan Hayward <alan.hayward@arm.com>
5256 David Sherwood <david.sherwood@arm.com>
5257
5258 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5259 for the mode iterator.
5260
b397965c
RS
52612017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5262 Alan Hayward <alan.hayward@arm.com>
5263 David Sherwood <david.sherwood@arm.com>
5264
5265 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5266 * c-common.c (c_build_vec_perm_expr): Likewise.
5267
357b7604
RS
52682017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5269 Alan Hayward <alan.hayward@arm.com>
5270 David Sherwood <david.sherwood@arm.com>
5271
5272 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5273
e05c94ba
RS
52742017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5275 Alan Hayward <alan.hayward@arm.com>
5276 David Sherwood <david.sherwood@arm.com>
5277
5278 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5279 before calling targetm.addr_space.valid_pointer_mode.
5280
5c20c4af
RS
52812017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5282 Alan Hayward <alan.hayward@arm.com>
5283 David Sherwood <david.sherwood@arm.com>
5284
5285 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5286
c94843d2 52872017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5288 Alan Hayward <alan.hayward@arm.com>
5289 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5290
5291 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5292 iterators.
5293 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5294
4e10a5a7
RS
52952017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5296 Alan Hayward <alan.hayward@arm.com>
5297 David Sherwood <david.sherwood@arm.com>
5298
5299 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5300 case statements.
5301
130fcab0
ML
53022017-08-29 Martin Liska <mliska@suse.cz>
5303
5304 PR other/39851
5305 * c-common.c (parse_optimize_options): Add argument to function
5306 call.
5307 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5308
14e18d71
DM
53092017-08-24 David Malcolm <dmalcolm@redhat.com>
5310
5311 * c-lex.c (interpret_float): Use token location
5312 when building an EXCESS_PRECISION_EXPR.
5313
2f687306
DM
53142017-08-21 David Malcolm <dmalcolm@redhat.com>
5315
5316 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5317 it to check_function_format.
5318 * c-common.h (check_function_arguments): Add vec<location_t> *
5319 param.
5320 (check_function_format): Likewise.
5321 * c-format.c (struct format_check_context): Add field "arglocs".
5322 (check_function_format): Add param "arglocs"; pass it to
5323 check_format_info.
ab20d992 5324 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5325 new field of format_ctx.
5326 (check_format_arg): Pass format_ctx->arglocs to new param of
5327 check_format_info_main.
5328 (class argument_parser): New field "arglocs".
5329 (argument_parser::argument_parser): Add "arglocs_" param and use
5330 it to initialize new field.
5331 (argument_parser::check_argument_type): Pass new arglocs field to
5332 check_format_types.
5333 (check_format_info_main): Add param "arglocs", and use it when
5334 constructing arg_parser.
5335 (check_format_types): Add param "arglocs"; use it if non-NULL when
5336 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5337
00aa1fa2
L
53382017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5339
5340 PR c/53037
5341 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5342 (c_common_attribute_table): Add warn_if_not_aligned.
5343 (handle_aligned_attribute): Renamed to ...
5344 (common_handle_aligned_attribute): Remove argument, name, and add
5345 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5346 (handle_aligned_attribute): New.
5347 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5348
27be025d
MS
53492017-08-14 Martin Sebor <msebor@redhat.com>
5350
5351 PR c/81117
5352 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5353 (handle_nonstring_attribute): New function.
5354
da67acb9
MS
53552017-08-14 Martin Sebor <msebor@redhat.com>
5356
5357 PR c/81117
5358 * c-format.h (T89_G): New macro.
5359 * c-format.c (local_gcall_ptr_node): New variable.
5360 (init_dynamic_diag_info): Initialize it.
5361
a8b522b4
ML
53622017-08-11 Martin Liska <mliska@suse.cz>
5363
5364 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5365 TARGET_SUPPORTS_ALIASES.
5366
32129a17
DM
53672017-08-10 David Malcolm <dmalcolm@redhat.com>
5368
5369 * c-common.c (c_parse_error): Add rich_location * param, using it
5370 rather implicitly using input_location.
5371 * c-common.h (c_parse_error): Add rich_location * param.
5372
30af3a2b
MP
53732017-08-09 Marek Polacek <polacek@redhat.com>
5374
5375 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5376 (c_common_truthvalue_conversion): Likewise.
5377 * c-omp.c (c_finish_omp_atomic): Likewise.
5378 * c-common.h (build_binary_op): Update declaration.
5379
314e6352
ML
53802017-08-08 Martin Liska <mliska@suse.cz>
5381
5382 * c-ada-spec.c: Include header files.
5383 * c-ubsan.c: Likewise.
5384 * c-warn.c: Likewise.
5385
56b5041c
JJ
53862017-08-07 Jakub Jelinek <jakub@redhat.com>
5387
5388 PR c/69389
5389 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5390
db440138
EB
53912017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5392
5393 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5394 (print_ada_methods): Likewise.
5395 (print_ada_declaration): Likewise.
5396
577eec56
ML
53972017-08-07 Martin Liska <mliska@suse.cz>
5398
5399 * array-notation-common.c: Add new includes.
5400 * c-format.c( handle_format_attribute): Canonicalize a format
5401 function name.
5402 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5403 attribute.
5404 * c-pretty-print.c: Add new include.
5405
b854df3c
EB
54062017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5407
5408 * c-ada-spec.c (has_static_fields): Look only into variables.
5409 (print_constructor): Add TYPE parameter and use it for the name.
5410 (print_destructor): Likewise.
5411 (print_ada_declaration): Adjust to new constructor/destructor names.
5412 Adjust calls to print_constructor and print_destructor.
5413 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5414 Look only into variables in the final loop.
5415
9f2cb25e
EB
54162017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5417
5418 * c-ada-spec.c (has_static_fields): Look only into fields.
5419 (dump_generic_ada_node): Small tweak.
5420 (dump_nested_types): Look only into fields.
5421 (print_ada_declaration): Look only into methods. Small tweak.
5422 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5423
f4bcd9eb
EB
54242017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5425
5426 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5427 (dump_ada_function_declaration): Likewise.
5428 (dump_generic_ada_node): Likewise.
5429 (print_ada_declaration): Add support for const-qualified variables.
5430
f34ebeb2
ML
54312017-07-31 Martin Liska <mliska@suse.cz>
5432
5433 PR sanitize/81530
5434 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5435 Guard condition with flag_sanitize_p also with current_function_decl
5436 non-null equality.
5437 (ubsan_maybe_instrument_reference_or_call): Likewise.
5438
218e5d04
UB
54392017-07-30 Uros Bizjak <ubizjak@gmail.com>
5440
5441 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5442
942047f2
EB
54432017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5444
5445 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5446 for enumeral types.
5447 (print_ada_declaration): Add missing guard for record types.
5448
a40ff0ae
JJ
54492017-07-27 Jakub Jelinek <jakub@redhat.com>
5450
5451 PR c/45784
5452 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5453 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5454 new COMPOUND_EXPRs around the rhs of the comparison.
5455
06bd22f6
MP
54562017-07-27 Marek Polacek <polacek@redhat.com>
5457
5458 PR c/81417
5459 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5460 the types.
5461
036ea399
JJ
54622017-07-27 Jakub Jelinek <jakub@redhat.com>
5463
5464 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5465 (handle_noipa_attribute): New function.
5466
417ca011
TD
54672017-07-07 Torsten Duwe <duwe@suse.de>
5468
5469 * c-attribs.c (c_common_attribute_table): Add entry for
5470 "patchable_function_entry".
5471
5aaa8fb4
NS
54722017-07-20 Nathan Sidwell <nathan@acm.org>
5473
5474 Remove TYPE_METHODS.
5475 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5476 dump_ada_template, print_ada_methods,
5477 print_ada_declaration): Member fns are on TYPE_FIELDS.
5478
ff22eb12
NS
54792017-07-18 Nathan Sidwell <nathan@acm.org>
5480
5481 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5482
eea77d1f
DM
54832017-07-14 David Malcolm <dmalcolm@redhat.com>
5484
5485 * c-common.c (try_to_locate_new_include_insertion_point): New
5486 function.
5487 (per_file_includes_t): New typedef.
5488 (added_includes_t): New typedef.
5489 (added_includes): New variable.
5490 (maybe_add_include_fixit): New function.
5491 * c-common.h (maybe_add_include_fixit): New decl.
5492
281ac396
MS
54932017-07-10 Martin Sebor <msebor@redhat.com>
5494
5495 PR other/81345
5496 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5497
b6f43128
DM
54982017-07-06 David Malcolm <dmalcolm@redhat.com>
5499
5500 * c-common.c (selftest::c_family_tests): New.
5501 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5502 (selftest::c_family_tests): New decl.
5503
efbf55b0
MP
55042017-07-04 Marek Polacek <polacek@redhat.com>
5505
5506 PR c/81231
5507 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5508 types.
5509
6c86bd88
MP
55102017-07-04 Marek Polacek <polacek@redhat.com>
5511
5512 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5513
17a7218b
ML
55142017-06-28 Martin Liska <mliska@suse.cz>
5515
5516 PR ipa/81128
5517 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5518 to a function declaration.
5519
63010089
ML
55202017-06-28 Martin Liska <mliska@suse.cz>
5521
5522 PR driver/79659
5523 * c.opt: Add IntegerRange to various options.
5524
3e2becc4
MP
55252017-06-26 Marek Polacek <polacek@redhat.com>
5526
5527 PR c/80116
5528 * c-common.h (warn_for_multistatement_macros): Declare.
5529 * c-warn.c: Include "c-family/c-indentation.h".
5530 (warn_for_multistatement_macros): New function.
5531 * c.opt (Wmultistatement-macros): New option.
5532 * c-indentation.c (guard_tinfo_to_string): No longer static.
5533 Change the parameter type to "enum rid". Handle RID_SWITCH.
5534 * c-indentation.h (guard_tinfo_to_string): Declare.
5535
2db9b7cd
MG
55362017-06-23 Marc Glisse <marc.glisse@inria.fr>
5537
5538 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5539
c3684b7b
MS
55402017-06-15 Martin Sebor <msebor@redhat.com>
5541
5542 PR c++/80560
5543 * c.opt (-Wclass-memaccess): New option.
5544
e72c4afd
BK
55452017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5546
5547 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5548
8a516588
MP
55492017-06-13 Marek Polacek <polacek@redhat.com>
5550
5551 PR objc/80949
5552 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5553 branches is null.
5554
45b2222a
ML
55552017-06-13 Martin Liska <mliska@suse.cz>
5556
5557 PR sanitize/78204
5558 * c-attribs.c (add_no_sanitize_value): New function.
5559 (handle_no_sanitize_attribute): Likewise.
5560 (handle_no_sanitize_address_attribute): Use the function.
5561 (handle_no_sanitize_thread_attribute): New function.
5562 (handle_no_address_safety_analysis_attribute): Use
5563 add_no_sanitize_value.
5564 (handle_no_sanitize_undefined_attribute): Likewise.
5565 * c-common.h: Declare new functions.
5566 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5567 (ubsan_instrument_shift): Likewise.
5568 (ubsan_instrument_bounds): Likewise.
5569 (ubsan_maybe_instrument_array_ref): Likewise.
5570 (ubsan_maybe_instrument_reference_or_call): Likewise.
5571
a01f151f
JM
55722017-06-11 Jason Merrill <jason@redhat.com>
5573
5574 * c-ada-spec.c, c-pragma.c: Use id_equal.
5575
3de4ac6d
MP
55762017-06-04 Marek Polacek <polacek@redhat.com>
5577
5578 PR c/80919
5579 * c-format.c (matching_type_p): Return false if any of the types
5580 requires structural equality.
5581
2474f48f
MS
55822017-06-02 Martin Sebor <msebor@redhat.com>
5583
5584 PR c/80892
5585 * c-warn.c (conversion_warning): Use -Wconversion for integer
5586 conversion and -Wfloat-conversion for floating one.
5587
40ffd95f
BE
55882017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5589
5590 * c.opt (Wsizeof-pointer-div): New warning option.
5591
3fa4634c
VR
55922017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5593
5594 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5595 (Wcatch-value=1): Enable by -Wall.
5596
f012c8ef
DM
55972017-05-30 David Malcolm <dmalcolm@redhat.com>
5598
5599 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5600 format_chars.
5601 * c.opt (fdiagnostics-show-template-tree): New option.
5602 (felide-type): New option.
5603
63dbcd13
VR
56042017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5605
5606 * c.opt (Wcatch-value=): New C++ warning flag.
5607
be136b5c
NS
56082017-05-24 Nathan Sidwell <nathan@acm.org>
5609
5610 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5611 const casts to avoid warning.
5612
3cd211af
MS
56132017-05-24 Martin Sebor <msebor@redhat.com>
5614
5615 PR c/80731
5616 * c-common.h (unsafe_conversion_p): Add a function argument.
5617 * c-common.c (unsafe_conversion_p): Same.
5618 Add type names and values to diagnostics.
5619 (scalar_to_vector): Adjust.
5620 * c-warn.c (constant_expression_error): Add a function argument.
5621 Add type names and values to diagnostics.
5622 (conversion_warning): Add a function argument.
5623 Add type names and values to diagnostics.
5624 (warnings_for_convert_and_check): Same.
5625
1ff7be5a
JM
56262017-05-19 Jason Merrill <jason@redhat.com>
5627
5628 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5629 enumerators.
5630
ff502317
BE
56312017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5632
5633 * c-format.c (locus): Move out of function scope,
5634 add GTY attribute.
5635
2a8a8d7b
NS
56362017-05-19 Nathan Sidwell <nathan@acm.org>
5637
5638 * c-opts.c (class_dump_file, class_dump_flags): Delete.
5639 (c_common_parse_file): Remove class dump handling.
5640 (get_dump_info): Likewise.
5641
39aac208
RB
56422017-05-19 Richard Biener <rguenther@suse.de>
5643
5644 PR c++/80593
5645 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5646 to alias-set zero memory.
5647
6ecd2339
BE
56482017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5649
5650 * c-format.c (local_tree_type_node): Add GTY attribute.
5651
6574d78e
MP
56522017-05-18 Marek Polacek <polacek@redhat.com>
5653
5654 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5655 (c_common_fixed_point_type_for_size): Likewise.
5656 (c_common_type_for_mode): Likewise.
5657 (shorten_compare): Likewise.
5658 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5659 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5660
e3455240
MP
56612017-05-18 Marek Polacek <polacek@redhat.com>
5662
5663 * c-common.c (self_promoting_args_p): Change the return type to bool.
5664 Use false/true instead of 0/1.
5665 * c-common.h (self_promoting_args_p): Update.
5666
3fa8871b
MP
56672017-05-17 Marek Polacek <polacek@redhat.com>
5668
5669 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5670 * c-warn.c: Likewise.
5671
b42cc3ca
VV
56722017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5673
5674 Implement new C++ intrinsics __is_assignable and __is_constructible.
5675 * c-common.c (__is_assignable, __is_constructible): New.
5676 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5677
1a817418
ML
56782017-05-17 Martin Liska <mliska@suse.cz>
5679
5680 * c-common.h: Introduce dump_flags_t type and
5681 use it instead of int type.
5682 * c-gimplify.c (c_genericize): Likewise.
5683 * c-opts.c: Likewise.
5684
b2fa0a8b
MP
56852017-05-17 Marek Polacek <polacek@redhat.com>
5686
5687 * c-common.c (c_save_expr): Remove.
5688 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5689 * c-common.h (c_save_expr): Remove declaration.
5690
31c2d57d
VR
56912017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5692
5693 PR c/35441
5694 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5695 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5696 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5697 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5698 RDIV_EXPR.
5699 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5700
684f84de
MP
57012017-05-09 Marek Polacek <polacek@redhat.com>
5702
5703 PR c/80525
5704 * c-warn.c (unwrap_c_maybe_const): New.
5705 (warn_logical_operator): Call it.
5706
641da50a
NS
57072017-05-09 Nathan Sidwell <nathan@acm.org>
5708
5709 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5710 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5711
631238ac
MS
57122017-05-08 Martin Sebor <msebor@redhat.com>
5713
5714 PR translation/80280
5715 * c-format.h (struct format_flag_spec): Add new member.
5716 (T89_T): New macro.
5717 * c-format.c (local_tree_type_node): New global.
5718 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5719 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5720 (strfmon_flag_specs): Likewise.
5721 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5722 with distinct quoting properties.
5723 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5724 (flag_chars_t::validate): Add argument and handle bad quoting.
5725 (check_format_info_main): Handle quoting problems.
5726 (init_dynamic_diag_info): Simplify.
5727
49f0c04c
JM
57282017-05-08 Jason Merrill <jason@redhat.com>
5729
5730 * c-opts.c (c_common_post_options): Update defaults for
5731 flag_abi_version and flag_abi_compat_version.
5732
56d35585
DM
57332017-05-05 David Malcolm <dmalcolm@redhat.com>
5734
5735 * c-common.c (c_cpp_error): Replace report_diagnostic
5736 with diagnostic_report_diagnostic.
5737
0f2c4a8f
MS
57382017-05-04 Martin Sebor <msebor@redhat.com>
5739
5740 PR translation/80280
5741 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5742 (handle_weakref_attribute): Same.
5743
6fe63fb4
NS
57442017-05-03 Nathan Sidwell <nathan@acm.org>
5745
5746 Canonicalize canonical type hashing
5747 * c-common.c (complete_array_type): Use type_hash_canon.
5748
815d9cc6
XR
57492017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5750
92a285c1 5751 PR c++/80038
815d9cc6
XR
5752 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5753 prototype.
5754 (cilk_install_body_pedigree_operations): Likewise.
5755 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5756 detatched.
5757 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5758 (cilk_install_body_pedigree_operations): Likewise.
5759 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5760 unwrapping.
5761
f8a36447
JJ
57622017-04-27 Jakub Jelinek <jakub@redhat.com>
5763
5764 PR c++/80534
5765 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5766 flag on non-aggregate element types.
5767
7c145456
BE
57682017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5769
5770 * c-common.c (c_type_hasher, type_hash_table): Remove.
5771 (c_common_get_alias_set): Remove unreachable code.
5772 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5773
c3cbcd45
VR
57742017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5775
5776 * c.opt (Wextra-semi): New C++ warning flag.
5777
8a59d466
JJ
57782017-04-20 Jakub Jelinek <jakub@redhat.com>
5779
5780 PR middle-end/80423
5781 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5782
8487c9a5
JJ
57832017-04-18 Jakub Jelinek <jakub@redhat.com>
5784
5785 PR middle-end/79788
5786 PR middle-end/80375
5787 * c-common.c (c_common_type_for_mode): Don't handle
5788 widest_*_literal_type_node here.
5789 c_common_signed_or_unsigned_type): Likewise.
5790 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5791 to *intTI_type_node or *intDI_type_node depending on whether
5792 TImode is supported by the target or not.
5793
3ee0fb02
ML
57942017-04-10 Martin Liska <mliska@suse.cz>
5795
5796 PR sanitizer/80350
5797 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5798 doing an UBSAN check.
5799
5764ee3c
JW
58002017-04-03 Jonathan Wakely <jwakely@redhat.com>
5801
5802 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5803
6f3af356
JJ
58042017-03-31 Jakub Jelinek <jakub@redhat.com>
5805
5806 PR c++/79572
5807 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5808 tree *.
5809 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5810 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5811 REFERENCE_TYPE.
5812
f6a7a9d5
DM
58132017-03-31 David Malcolm <dmalcolm@redhat.com>
5814
5815 PR documentation/78732
5816 * c.opt (Wendif-labels): Fix description to refer to
5817 #else rather than #elif.
5818
af88f557
JJ
58192017-03-31 Jakub Jelinek <jakub@redhat.com>
5820
5821 PR libstdc++/80251
5822 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5823 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5824
a9e4a1a5
JJ
58252017-03-27 Jakub Jelinek <jakub@redhat.com>
5826
5827 PR middle-end/80162
5828 * c-common.c (c_common_mark_addressable_vec): Don't set
5829 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5830
3f01b620
MS
58312017-03-21 Martin Sebor <msebor@redhat.com>
5832
5833 PR c++/79548
5834 * c-common.c (set_underlying_type): Mark type used only when
5835 original del is declared unused.
5836
2f6f187a
DM
58372017-03-10 David Malcolm <dmalcolm@redhat.com>
5838
5839 PR translation/79848
5840 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5841 "%qs".
5842
a02fa805
DM
58432017-03-10 David Malcolm <dmalcolm@redhat.com>
5844
5845 PR c/79921
5846 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5847 from inform's message, so that xgettext can locate it.
5848
822a132c
MP
58492017-03-09 Marek Polacek <polacek@redhat.com>
5850
5851 PR c++/79962
5852 PR c++/79984
5853 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5854 conversion to the attribute list.
5855
bba81f1c
ML
58562017-03-09 Martin Liska <mliska@suse.cz>
5857
5858 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5859
108154ff
JM
58602017-03-03 Jason Merrill <jason@redhat.com>
5861
5862 * c.opt (Wnoexcept-type): New.
5863
eb0e7c34
RB
58642017-03-02 Richard Biener <rguenther@suse.de>
5865
5866 PR c/79756
5867 * c-common.c (c_common_mark_addressable_vec): Look through
5868 C_MAYBE_CONST_EXPR.
5869
9453ba0a
ML
58702017-02-28 Martin Liska <mliska@suse.cz>
5871
5872 * c.opt: Replace space with tabular for options of <number>
5873 type.
5874
6a825afe
ML
58752017-02-28 Martin Liska <mliska@suse.cz>
5876
5877 * c.opt: Fix --help=option -Q for options which are of
5878 an enum type.
5879
4227c9ad
JJ
58802017-02-24 Jakub Jelinek <jakub@redhat.com>
5881
5882 PR c++/79588
5883 * c-common.c (check_function_restrict): New function.
5884 (check_function_arguments): Add FNDECL argument. Call
5885 check_function_restrict if -Wrestrict.
5886 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5887 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5888 * c-common.h (check_function_arguments): Add FNDECL argument.
5889 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5890
59909673
EB
58912017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5892
5893 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5894 treatment of parameters with pointer-to-tagged type and tidy up.
5895 (print_ada_methods): Remove the special treatment of C++ static member
5896 functions.
5897
54dcd526
ML
58982017-02-22 Martin Liska <mliska@suse.cz>
5899
5900 * c.opt: Replace inequality signs with square brackets
5901 for -Wnornalized.
5902
00bc9de3
JJ
59032017-02-21 Jakub Jelinek <jakub@redhat.com>
5904
5905 PR c++/79641
5906 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5907 preserve quals.
5908
97fcf744
JM
59092017-02-17 Joseph Myers <joseph@codesourcery.com>
5910
5911 * c-cppbuiltin.c (builtin_define_float_constants): Define
5912 __DECIMAL_DIG__ to the value for long double.
5913
c7545f1c
MP
59142017-02-15 Marek Polacek <polacek@redhat.com>
5915
5916 PR c/79515
5917 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5918 conversion has occured.
5919
c2e84327
DM
59202017-01-24 David Malcolm <dmalcolm@redhat.com>
5921
5922 * c-common.c (c_common_reswords): Add "__RTL".
5923 * c-common.h (enum rid): Add RID_RTL.
5924
2ebd93e1
MP
59252017-01-20 Marek Polacek <polacek@redhat.com>
5926
5927 PR c/64279
5928 * c-common.h (do_warn_duplicated_branches_r): Declare.
5929 * c-gimplify.c (c_genericize): Walk the function tree calling
5930 do_warn_duplicated_branches_r.
5931 * c-warn.c (expr_from_macro_expansion_r): New.
5932 (do_warn_duplicated_branches): New.
5933 (do_warn_duplicated_branches_r): New.
5934 * c.opt (Wduplicated-branches): New option.
5935
0d80ab91
DM
59362017-01-17 David Malcolm <dmalcolm@redhat.com>
5937
5938 PR c++/71497
5939 * c-indentation.c (warn_for_misleading_indentation): Use the past
5940 subjunctive in the note.
5941
7f991c36
AH
59422017-01-17 Aldy Hernandez <aldyh@redhat.com>
5943
5944 PR c/79116
5945 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5946 start type to integer_type.
5947
1c70261c
JJ
59482017-01-16 Jakub Jelinek <jakub@redhat.com>
5949
5950 PR driver/49726
5951 * c.opt (gen-decls): Add Driver flag.
5952
1ddca3f3
PC
59532017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5954
5955 Revert:
5956 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5957
5958 PR c++/71737
5959 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5960
7d2f3f1d
PC
59612017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5962
5963 PR c++/71737
5964 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5965
bce6f760
MS
59662017-01-12 Martin Sebor <msebor@redhat.com>
5967
5968 (-Wformat-overflow): ...to this.
5969
bf5fbf46
MS
59702017-01-11 Martin Sebor <msebor@redhat.com>
5971
5972 PR c/78768
5973 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5974 Also enable for LTO.
5975
e363df3f
JM
59762017-01-10 Jason Merrill <jason@redhat.com>
5977
5978 Implement P0195R2, C++17 variadic using.
5979 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5980
bd2c6270
JJ
59812017-01-09 Jakub Jelinek <jakub@redhat.com>
5982
5983 PR translation/79019
5984 PR translation/79020
5985 * c.opt (Wnormalized=): Fix typo in description.
5986
efcc8d38
MS
59872017-01-08 Martin Sebor <msebor@redhat.com>
5988
5989 PR middle-end/77708
5990 * c.opt (-Wformat-truncation): New option.
5991
ab20d992 59922017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5993
5994 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5995 value to unsigned short to fit in 4 hex digits without
5996 warnings.
5997
4e89adf9
EB
59982017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5999
6000 * c.opt (fsso-struct): Add 'native' value.
6001
cd445b54
ML
60022017-01-05 Martin Liska <mliska@suse.cz>
6003
6004 PR pch/78970
6005 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
6006 header.
6007
a9342885
MP
60082017-01-04 Marek Polacek <polacek@redhat.com>
6009
6010 PR c++/64767
6011 * c.opt (Wpointer-compare): New option.
6012
fc73e60c
JJ
60132017-01-04 Jakub Jelinek <jakub@redhat.com>
6014
6015 PR driver/78957
6016 * c.opt (fsso-struct=): Add RejectNegative.
6017
cbe34bb5
JJ
60182017-01-01 Jakub Jelinek <jakub@redhat.com>
6019
6020 Update copyright years.
6021
d4a6c0ea
ML
60222016-12-29 Martin Liska <mliska@suse.cz>
6023
6024 PR c/78933
6025 * c.opt (strong-eval-order): Add RejectNegative keyword.
6026
67a5ad7c
JM
60272016-12-22 Jason Merrill <jason@redhat.com>
6028
6029 Implement P0522R0, matching of template template arguments.
6030 * c-cppbuiltin.c (c_cpp_builtins): Define
6031 __cpp_template_template_args.
6032
0dba7960
JJ
60332016-12-21 Jakub Jelinek <jakub@redhat.com>
6034
6035 PR bootstrap/78817
6036 * c-common.c (struct nonnull_arg_ctx): New type.
6037 (check_function_nonnull): Return bool instead of void. Use
6038 nonnull_arg_ctx as context rather than just location_t.
6039 (check_nonnull_arg): Adjust for the new context type, set
6040 warned_p to true if a warning has been diagnosed.
6041 (check_function_arguments): Return bool instead of void.
6042 * c-common.h (check_function_arguments): Adjust prototype.
6043
31bfc9b9
JM
60442016-12-21 Jason Merrill <jason@redhat.com>
6045
6046 * c.opt (-fnew-ttp-matching): New flag.
6047 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
6048
629b3d75
MJ
60492016-12-14 Martin Jambor <mjambor@suse.cz>
6050
6051 * c-omp.c: Include omp-general.h instead of omp-low.h.
6052 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
6053 name.
6054
474da67e
MS
60552016-12-14 Martin Sebor <msebor@redhat.com>
6056
6057 PR c/17308
6058 * c-common.c (check_nonnull_arg): Disable when optimization
6059 is enabled.
6060
fe366b87
MP
60612016-12-12 Marek Polacek <polacek@redhat.com>
6062
6063 PR c++/78647
6064 * c-common.c (attribute_fallthrough_p): Return false for
6065 error_mark_node.
6066
8bd9f164
MS
60672016-12-08 Martin Sebor <msebor@redhat.com>
6068
6069 PR c/78284
6070 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
6071
060162e0
MS
60722016-12-08 Martin Sebor <msebor@redhat.com>
6073
6074 PR c/78165
92a285c1
ML
6075 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
6076 suffix.
060162e0 6077
ee92e7ba
MS
60782016-12-07 Martin Sebor <msebor@redhat.com>
6079
6080 PR c/53562
6081 PR middle-end/77784
6082 PR middle-end/78149
6083 PR middle-end/78138
6084 * c.opt (-Wstringop-overflow): New option.
6085
84b0769e
MO
60862016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
6087
6088 * c-attribs.c (asan odr indicator): New attribute.
6089 (handle_asan_odr_indicator_attribute): New function.
6090
7fa6a965
PK
60912016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6092
6093 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
6094 ptrdiff_type_node;
6095
56d8ffc1
JG
60962016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6097
6098 * c-common.c (excess_precision_mode_join): New.
6099 (c_ts18661_flt_eval_method): New.
6100 (c_c11_flt_eval_method): Likewise.
6101 (c_flt_eval_method): Likewise.
6102 * c-common.h (excess_precision_mode_join): New.
6103 (c_flt_eval_method): Likewise.
6104 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
6105 (cpp_iec_559_value): Call it.
6106 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
6107 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
6108 __FLT_EVAL_METHOD_TS_18661_3__.
6109
04f0fcf7
JG
61102016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6111
6112 * c-opts.c (c_common_post_options): Add logic to handle the default
6113 case for -fpermitted-flt-eval-methods.
6114
fb2675cb
PB
61152016-11-23 Paolo Bonzini <bonzini@gnu.org>
6116
6117 * c.opt (Wexpansion-to-defined): New.
6118
ec1c5694
JJ
61192016-11-23 Jakub Jelinek <jakub@redhat.com>
6120
6121 PR target/78451
6122 * c-pragma.c (handle_pragma_target): Don't replace
6123 current_target_pragma, but chainon the new args to the current one.
6124
730c9e75
NS
61252016-11-22 Nathan Sidwell <nathan@acm.org>
6126
6127 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 6128 indentation and formatting.
730c9e75 6129
89990732
MS
61302016-11-21 Martin Sebor <msebor@redhat.com>
6131
6132 * c.opt (-fprintf-return-value): Enable by default.
6133
48330c93
BE
61342016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6135
6136 PR c++/71973
6137 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
6138 * c-common.c (c_common_nodes_and_builtins): Initialize
6139 const_tm_ptr_type_node.
6140
0d939c95
MP
61412016-11-16 Marek Polacek <polacek@redhat.com>
6142
6143 PR c/78285
6144 * c-common.c (c_add_case_label): Turn error_at calls into inform.
6145
8e745a17
JJ
61462016-11-14 Jakub Jelinek <jakub@redhat.com>
6147
6148 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
6149
1ee62b92 61502016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
6151 Richard Biener <rguenther@suse.de>
6152
6153 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
6154 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
6155 * c.opt (fgimple): New option.
1ee62b92 6156
22b15758
UB
61572016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6158
6159 PR c/35503
6160 * c-common.h (warn_for_restrict): Declare.
6161 * c-warn.c: Include gcc-rich-location.h.
6162 (warn_for_restrict): New function.
6163 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
6164 (gcc_cdiag_char_table): Likewise.
6165 (gcc_cxxdiag_char_table): Likewise.
6166 * c.opt (Wrestrict): New option.
6167
4be719cd
EB
61682016-11-13 Eric Botcazou <ebotcazou@adacore.com>
6169
6170 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
6171 for nested types only if the type is a record or union and dump SLOC.
6172
4a826ca6
JM
61732016-11-09 Jason Merrill <jason@redhat.com>
6174
6175 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
6176
2e955d50
JJ
61772016-11-09 Jakub Jelinek <jakub@redhat.com>
6178
6179 * c-ubsan.c (ubsan_instrument_shift): Handle split
6180 -fsanitize=shift-base and -fsanitize=shift-exponent.
6181
51dc6603
JM
61822016-11-07 Jason Merrill <jason@redhat.com>
6183
6184 * c.opt (Wc++1z-compat): New.
6185 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
6186
6dc4a604
ML
61872016-11-07 Martin Liska <mliska@suse.cz>
6188
6189 * c-warn.c (warn_for_unused_label): Save all labels used
6190 in goto or in &label.
6191
b302001e
JM
61922016-11-03 Jason Merrill <jason@redhat.com>
6193
6194 * c-cppbuiltin.c (c_cpp_builtins): Correct
6195 __cpp_inheriting_constructors.
6196
31f7f784
JM
61972016-11-01 Jason Merrill <jason@redhat.com>
6198
2bc78e3c
JM
6199 * c-cppbuiltin.c (c_cpp_builtins): Update
6200 __cpp_inheriting_constructors.
6201
31f7f784
JM
6202 * c.opt (-fnew-inheriting-ctors): New.
6203 * c-opts.c: Default to on for ABI 11+.
6204
dcb466ec
JJ
62052016-10-31 Jakub Jelinek <jakub@redhat.com>
6206
6207 PR c++/77948
6208 * c.opt (fext-numeric-literals): Add Var and Init.
6209 * c-opts.c (c_common_handle_option): Don't clear
6210 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
6211 (c_common_post_options): Clear it here if not set
6212 explicitly.
6213
52e1b91e
AH
62142016-10-28 Aldy Hernandez <aldyh@redhat.com>
6215
6216 PR debug/77773
6217 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
6218 if NULL.
6219
e16f1cc7
JJ
62202016-10-25 Jakub Jelinek <jakub@redhat.com>
6221
6222 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6223 * c-common.c (c_common_reswords): Add __builtin_launder.
6224
f8348061
BE
62252016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6226
6227 * c-common.c (c_common_truthvalue_conversion): Warn for
6228 multiplications in boolean context. Fix the quoting of '<<' and '<'
6229 in the shift warning.
6230
eff89e01
BE
62312016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6232
6233 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6234
24bc7bf4
JM
62352016-10-20 Jason Merrill <jason@redhat.com>
6236
6237 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6238
4c712374
BE
62392016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6240
6241 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6242 integer shift ops in boolean context.
6243
62442016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6245
6246 * c.opt (Walloca): New.
6247 (Walloca-larger-than=): New.
6248 (Wvla-larger-than=): New.
6249
8fa18c06
MP
62502016-10-17 Marek Polacek <polacek@redhat.com>
6251
6252 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6253 Return immediately when finding a match.
6254 (warn_tautological_cmp): Remove a boolean variable that is no longer
6255 needed.
6256
b12b1915
MP
62572016-10-17 Marek Polacek <polacek@redhat.com>
6258
6259 * c-attribs.c: New file.
6260 * c-common.c: Move attributes handling to c-attribs.c.
6261 (get_nonnull_operand): No longer static.
6262 * c-common.h: Move the declarations from c-attribs.c to its own section.
6263
2045acd9
JM
62642016-10-14 Jason Merrill <jason@redhat.com>
6265
6266 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6267 and __cpp_deduction_guides.
6268
14a2c9aa
JM
62692016-10-13 Jason Merrill <jason@redhat.com>
6270
6271 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6272
4d0cdd0c
TP
62732016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6274
6275 * c-cppbuiltin.c: Include memmodel.h.
6276 * c-opts.c: Likewise.
6277 * c-pragma.c: Likewise.
6278 * c-warn.c: Likewise.
6279
70f6d5e1
JJ
62802016-10-12 Jakub Jelinek <jakub@redhat.com>
6281
6282 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6283 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6284 * c-opts.c (sanitize_cpp_opts): Initialize
6285 cpp_opts->cpp_warn_implicit_fallthrough.
6286
78f61294
MP
62872016-10-11 Marek Polacek <polacek@redhat.com>
6288
6289 * c-common.c (warning_candidate_p): Change the return type to bool
6290 and return true/false instead of 1/0.
6291 (vector_mode_valid_p): Likewise.
6292
038b5cc0
MP
62932016-10-11 Marek Polacek <polacek@redhat.com>
6294
6295 * c-common.c (fold_for_warn): No longer static.
6296 (bool_promoted_to_int_p): Likewise.
6297 (c_common_get_narrower): Likewise.
6298 (constant_expression_warning): Move to c-warn.c.
6299 (constant_expression_error): Likewise.
6300 (overflow_warning): Likewise.
6301 (warn_logical_operator): Likewise.
6302 (find_array_ref_with_const_idx_r): Likewise.
6303 (warn_tautological_cmp): Likewise.
6304 (expr_has_boolean_operands_p): Likewise.
6305 (warn_logical_not_parentheses): Likewise.
6306 (warn_if_unused_value): Likewise.
6307 (strict_aliasing_warning): Likewise.
6308 (sizeof_pointer_memaccess_warning): Likewise.
6309 (check_main_parameter_types): Likewise.
6310 (conversion_warning): Likewise.
6311 (warnings_for_convert_and_check): Likewise.
6312 (match_case_to_enum_1): Likewise.
6313 (match_case_to_enum): Likewise.
6314 (c_do_switch_warnings): Likewise.
6315 (warn_for_omitted_condop): Likewise.
6316 (readonly_error): Likewise.
6317 (lvalue_error): Likewise.
6318 (invalid_indirection_error): Likewise.
6319 (warn_array_subscript_with_type_char): Likewise.
6320 (warn_about_parentheses): Likewise.
6321 (warn_for_unused_label): Likewise.
6322 (warn_for_div_by_zero): Likewise.
6323 (warn_for_memset): Likewise.
6324 (warn_for_sign_compare): Likewise.
6325 (do_warn_double_promotion): Likewise.
6326 (do_warn_unused_parameter): Likewise.
6327 (record_locally_defined_typedef): Likewise.
6328 (maybe_record_typedef_use): Likewise.
6329 (maybe_warn_unused_local_typedefs): Likewise.
6330 (maybe_warn_bool_compare): Likewise.
6331 (maybe_warn_shift_overflow): Likewise.
6332 (warn_duplicated_cond_add_or_warn): Likewise.
6333 (diagnose_mismatched_attributes): Likewise.
6334 * c-common.h: Move the declarations from c-warn.c to its own section.
6335 * c-warn.c: New file.
6336
627be19f
JM
63372016-10-08 Jason Merrill <jason@redhat.com>
6338
6339 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6340 into COND_EXPR in C++.
6341
7bad794a
JJ
63422016-10-08 Jakub Jelinek <jakub@redhat.com>
6343
6344 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6345 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6346 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6347
be845b04
JJ
63482016-10-07 Jakub Jelinek <jakub@redhat.com>
6349
6350 Implement LWG2296 helper intrinsic
6351 * c-common.h (enum rid): Add RID_ADDRESSOF.
6352 * c-common.c (c_common_reswords): Add __builtin_addressof.
6353
c09c4992
BE
63542016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6355
6356 PR c++/77700
6357 * c-common.c (c_common_truthvalue_conversion): Warn also for
6358 suspicious enum values in boolean context.
6359
342cfb3e
JJ
63602016-10-06 Jakub Jelinek <jakub@redhat.com>
6361
6362 Implement P0258R2 - helper for C++17
6363 std::has_unique_object_representations trait
6364 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6365 * c-common.c (c_common_reswords): Add
6366 __has_unique_object_representations.
6367
2e69f143
JJ
63682016-10-05 Jakub Jelinek <jakub@redhat.com>
6369
6370 PR sanitizer/66343
6371 * c-ubsan.c (ubsan_instrument_return): Don't call
6372 initialize_sanitizer_builtins here.
6373
700fff34
BE
63742016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6375
6376 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6377 conditional expression in boolean context when only one arm is
6378 non-boolean.
6379
9563bfcd
JJ
63802016-10-05 Jakub Jelinek <jakub@redhat.com>
6381
04a32443
JJ
6382 PR sanitizer/77823
6383 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6384 is not integral.
6385
9563bfcd
JJ
6386 * c-common.c (c_common_reswords): Update comment for C++11.
6387
f1644724
JM
63882016-10-04 Jason Merrill <jason@redhat.com>
6389
6390 * c-common.c (make_tree_vector_from_ctor): New.
6391 * c-common.h: Declare it.
6392
5a79befb
JJ
63932016-10-04 Jakub Jelinek <jakub@redhat.com>
6394
6395 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6396 __LIBGCC_JCR_SECTION_NAME__.
6397
1633d3b9
BE
63982016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6399
6400 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6401 left shift in boolean context.
6402
a2c6e7f2
JJ
64032016-09-29 Jakub Jelinek <jakub@redhat.com>
6404
6405 Implement P0001R1 - C++17 removal of register storage class specifier
6406 * c.opt (Wregister): New warning.
6407 * c-opts.c (c_common_post_options): Enable -Wregister by
6408 default for C++17.
6409
75304c87
JG
64102016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6411
6412 * c-opts.c (c_common_post_options): Remove special case for
6413 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6414 in C++.
6415
bbfac6da
JJ
64162016-09-27 Jakub Jelinek <jakub@redhat.com>
6417
6e39060a
JJ
6418 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6419 -std=c++1z.
6420
bbfac6da
JJ
6421 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6422
e73cf9a2
TP
64232016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6424
6425 * c-common.c: Include memmodel.h.
6426
c6147dc4
MP
64272016-09-26 Marek Polacek <polacek@redhat.com>
6428
6429 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6430
81fea426
MP
64312016-09-26 Marek Polacek <polacek@redhat.com>
6432
6433 PR c/7652
6434 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6435 (handle_fallthrough_attribute): New function.
6436 (attribute_fallthrough_p): New function.
6437 * c-common.h (attribute_fallthrough_p): Declare.
6438
9a2300e9
MP
64392016-09-24 Marek Polacek <polacek@redhat.com>
6440
6441 PR c/77490
6442 * c.opt (Wbool-operation): New.
6443
a09e9e35
BE
64442016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6445
6446 * c-common.c (c_common_truthvalue_conversion): Inhibit
6447 Wint-in-bool-context warning with from_macro_definition_at.
6448 Mention the expression will always evaluate to true.
6449
d43b4ccc
MS
64502016-09-21 Martin Sebor <msebor@redhat.com>
6451
6452 PR bootstrap/77676
6453 * c.opt (fprintf-return-value): Temporarily initialize to zero
6454 to unblock bootstrap failures.
6455
2e1c20b1
JJ
64562016-09-21 Jakub Jelinek <jakub@redhat.com>
6457
6458 PR c++/77651
6459 * c.opt (Waligned-new=): Add RejectNegative.
6460 (faligned-new=): Likewise. Spelling fix - change
6461 aligned_new_threshhold to aligned_new_threshold.
6462 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6463 to aligned_new_threshold.
6464
88d0c3f0
MS
64652016-09-20 Martin Sebor <msebor@redhat.com>
6466
6467 PR middle-end/49905
6468 * c.opt: Add -Wformat-length and -fprintf-return-value.
6469
144a96e4
BE
64702016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6471
6472 PR c++/77434
6473 * c.opt (Wint-in-bool-context): New warning.
6474 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6475 constants in boolean context.
6476
63012d9a
JM
64772016-09-19 Joseph Myers <joseph@codesourcery.com>
6478
6479 * c-common.c (max_align_t_align): Also consider alignment of
6480 float128_type_node.
6481
931388ce
JM
64822016-09-15 Jason Merrill <jason@redhat.com>
6483
6484 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6485 DECL_EXTERNAL.
6486
38711381
JM
64872016-09-14 Jason Merrill <jason@redhat.com>
6488
6489 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6490 limit FIELD_DECL, either.
6491
e51fbec3
MP
64922016-09-14 Marek Polacek <polacek@redhat.com>
6493
6494 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6495 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6496 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6497
254830ba
DM
64982016-09-13 David Malcolm <dmalcolm@redhat.com>
6499
6500 * c-common.c (warn_logical_not_parentheses): Replace
6501 rich_location::add_fixit_insert calls with add_fixit_insert_before
6502 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6503
42763690
JM
65042016-09-13 Jason Merrill <jason@redhat.com>
6505 Tom de Vries <tom@codesourcery.com>
6506
6507 PR c++/77427
6508 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6509
9453eee9
JM
65102016-09-13 Jason Merrill <jason@redhat.com>
6511
6512 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6513 limit types at all.
6514
e96809e3
JM
65152016-09-12 Jason Merrill <jason@redhat.com>
6516
6517 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6518 bit/byte confusion, allow large alignment for types.
6519
54dcdb88
BE
65202016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6521
6522 PR c++/77496
6523 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6524
d1463eb9
DM
65252016-09-12 David Malcolm <dmalcolm@redhat.com>
6526
6527 PR c/72858
6528 * c-format.c (argument_parser::check_argument_type): Add params
6529 "type_start" and "conversion_char". Use the former to generate
6530 offset_to_type_start and pass it and conversion_char to
6531 check_format_types.
6532 (check_format_info_main): Capture the start of the type
6533 information as "type_start", and pass it an format_char
6534 to arg_parser.check_argument_type.
6535 (check_format_types): Provide an example in the leading comment.
6536 Add params "offset_to_type_start" and "conversion_char"; pass
6537 them to format_type_warning calls.
6538 (test_get_modifier_for_format_len): Likewise.
6539 (matching_type_p): New function.
6540 (get_format_for_type): Add param "conversion_char" and move
6541 implementation into...
6542 (get_format_for_type_1): ...new function, called twice.
6543 Use new function matching_type_p rather than checking for
6544 TYPE_CANONICAL equality.
6545 (get_corrected_substring): New function.
6546 (format_type_warning): Provide an example in the leading comment.
6547 Add params "offset_to_type_start" and "conversion_char". Replace
6548 call to get_format_for_type with call to get_corrected_substring
6549 and move rejection of hints for widths/precisions there.
6550 (assert_format_for_type_streq): Add param "conversion_char".
6551 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6552 (test_get_format_for_type_printf): Add conversion chars to the
6553 tests, adding coverage for various combinations of integer
6554 vs double conversions, and for preserving octal and hexadecimal
6555 conversions.
6556 (test_get_format_for_type_scanf): Add conversion chars to the
6557 tests.
6558
5b28efbb
TV
65592016-09-10 Tom de Vries <tom@codesourcery.com>
6560
6561 PR C/71602
6562 * c-common.c (build_va_arg): Handle more strict
6563 targetm.canonical_va_list_type. Replace first argument type error with
6564 assert.
6565
3f0177e7
MS
65662016-09-09 Martin Sebor <msebor@redhat.com>
6567
6568 PR c/77520
6569 PR c/77521
6570 * c-format.c (argument_parser::find_format_char_info): Use %qc
6571 format directive unconditionally.
6572
af63ba4b
JM
65732016-09-09 Jason Merrill <jason@redhat.com>
6574
6575 Implement C++17 new of over-aligned types.
6576 * c.opt: Add -faligned-new and -Waligned-new.
6577 * c-common.c (max_align_t_align): Split out from...
6578 (cxx_fundamental_alignment_p): ...here.
6579 * c-common.h: Declare it.
6580 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6581
c65248cb
JM
65822016-09-09 Joseph Myers <joseph@codesourcery.com>
6583
6584 * c-cppbuiltin.c (builtin_define_type_width): New function.
6585 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6586 macros.
6587
e5106e27
DM
65882016-09-07 David Malcolm <dmalcolm@redhat.com>
6589
6590 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6591 a POINTER_TYPE.
6592 (substring_loc::get_location): Move to substring-locations.c,
6593 keeping implementation as...
6594 (c_get_substring_location): New function, from the above, reworked
6595 to use accessors rather than member lookup.
6596 * c-common.h (class substring_loc): Move to substring-locations.h,
6597 replacing with a forward decl.
6598 (c_get_substring_location): New decl.
6599 * c-format.c: Include "substring-locations.h".
6600 (format_warning_va): Move to substring-locations.c.
6601 (format_warning_at_substring): Likewise.
6602
ab20d992 66032016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6604
6605 PR c/77336
6606 * c-format.c (check_function_format): Avoid issuing warnings for
6607 functions unless they call format functions with non-constant
6608 format strings.
6609
b772a565
RB
66102016-09-06 Richard Biener <rguenther@suse.de>
6611
6612 PR c/77450
6613 * c-common.c (c_common_mark_addressable_vec): Handle
6614 COMPOUND_LITERAL_EXPR.
6615
25ff5dd3
MP
66162016-09-05 Marek Polacek <polacek@redhat.com>
6617
6618 PR c/77423
6619 * c-common.c (bool_promoted_to_int_p): New function.
6620 (expr_has_boolean_operands_p): New function.
6621 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6622 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6623
21234eb5
TV
66242016-09-04 Tom de Vries <tom@codesourcery.com>
6625
6626 revert:
6627 2016-08-29 Tom de Vries <tom@codesourcery.com>
6628
6629 * c-common.c (build_va_arg): Replace first argument type error
6630 with assert.
6631
9dc5773f
JJ
66322016-09-02 Jakub Jelinek <jakub@redhat.com>
6633
6634 PR c/65467
6635 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6636 (c_finish_omp_for): Reject _Atomic qualified iterators.
6637
66382016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
6639
6640 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6641 size to guarantee it fits the output of the formatted function
6642 regardless of its arguments.
6643
295844f6
MP
66442016-09-01 Marek Polacek <polacek@redhat.com>
6645
6646 PR c/7652
6647 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6648 FALLTHRU comments.
6649
3d06b6f2
MP
66502016-08-29 Marek Polacek <polacek@redhat.com>
6651
6652 PR c/77292
6653 * c-common.c (warn_logical_not_parentheses): Don't warn for
6654 a comparison or a logical operator.
6655
34cedad5
TV
66562016-08-29 Tom de Vries <tom@codesourcery.com>
6657
6658 * c-common.c (build_va_arg): Fix type comparison assert.
6659
f162d717
TV
66602016-08-29 Tom de Vries <tom@codesourcery.com>
6661
6662 * c-common.c (build_va_arg): Replace first argument type error
6663 with assert.
6664
ba9bbd6f
TV
66652016-08-29 Tom de Vries <tom@codesourcery.com>
6666
6667 PR c/77398
6668 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6669 with error_mark_node as va_list instead of with illegal va_list.
6670
ebef225f
MP
66712016-08-25 Marek Polacek <polacek@redhat.com>
6672 David Malcolm <dmalcolm@redhat.com>
6673
6674 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6675 * c-common.h (warn_logical_not_parentheses): Update declaration.
6676
b00e6e75
MP
66772016-08-22 Marek Polacek <polacek@redhat.com>
6678
6679 PR c++/77321
6680 * c-common.c (warn_for_memset): Check type for null.
6681
6dc198e3
JM
66822016-08-22 Joseph Myers <joseph@codesourcery.com>
6683
14ec014e 6684 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6685 _FloatNx types for suffixes for built-in functions.
6686
c65699ef
JM
66872016-08-19 Joseph Myers <joseph@codesourcery.com>
6688
6689 PR c/32187
6690 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6691 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6692 (RID_FLOAT128X): New enum rid values.
6693 (CASE_RID_FLOATN_NX): New macro.
6694 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6695 keywords.
6696 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6697 corresponding complex types.
6698 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6699 _FloatNx and corresponding complex types.
6700 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6701 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6702 and _FloatNx types for the widest type for determining
6703 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6704 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6705 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6706 and _FloatNx types.
6707 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6708 constants.
6709 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6710 _FloatNx types.
6711
cc015f3a
DM
67122016-08-18 David Malcolm <dmalcolm@redhat.com>
6713
6714 * c-opts.c (c_diagnostic_finalizer): Update for change to
6715 diagnostic_show_locus.
6716
cb18fd07
DM
67172016-08-18 David Malcolm <dmalcolm@redhat.com>
6718
6719 * c-common.c: Include "spellcheck.h".
6720 (cb_get_suggestion): New function.
6721 * c-common.h (cb_get_suggestion): New decl.
6722 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6723 cb_get_suggestion.
6724
a76989dc
MP
67252016-08-18 Marek Polacek <polacek@redhat.com>
6726
6727 PR c/71514
6728 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6729 and pointer-to-VLA.
6730
65e736c0
DM
67312016-08-16 David Malcolm <dmalcolm@redhat.com>
6732
6733 PR c/72857
6734 * c-common.c (substring_loc::get_range): Rename to...
6735 (substring_loc::get_location): ...this, converting param from a
6736 source_range * to a location_t *. Call
6737 get_source_location_for_substring rather than
6738 get_source_range_for_substring, and pass in m_caret_idx.
6739 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6740 (substring_loc::get_range): Replace with...
6741 (substring_loc::get_location): ...this.
6742 (substring_loc::set_caret_index): New method.
6743 (substring_loc): Add field m_caret_idx.
6744 * c-format.c (format_warning_va): Update for above changes.
6745 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6746 clashing with type name.
6747 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6748 (check_argument_type): Likewise.
6749 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6750 Use a copy when emitting warnings, setting the caret index from TYPE.
6751
7e1dde14 67522016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6753 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6754
6755 * c-ada-spec.c (dump_number): New function.
6756 (handle_escape_character): Likewise.
6757 (print_ada_macros): Add handling of constant integers and strings.
6758
191816a3
MP
67592016-08-12 Marek Polacek <polacek@redhat.com>
6760
6761 PR c/7652
6762 * c-common.c (scalar_to_vector): Adjust fall through comment.
6763 * c-opts.c (c_common_handle_option): Likewise.
6764 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6765 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6766 fall through comment.
6767 * cilk.c (extract_free_variables): Add FALLTHRU.
6768
452df4a4
JM
67692016-08-10 Jason Merrill <jason@redhat.com>
6770
6771 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6772
f3365c12
JM
67732016-08-09 Jason Merrill <jason@redhat.com>
6774
6775 * c-common.c (c_common_attribute_table): vector_size affects type
6776 identity.
6777
f0bc3323
MP
67782016-08-09 Marek Polacek <polacek@redhat.com>
6779
6780 PR c/7652
6781 * c-ada-spec.c (dump_generic_ada_node): Add return.
6782
98e5a19a
JM
67832016-08-09 Jason Merrill <jason@redhat.com>
6784
6785 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6786 C++17 constexpr lambdas.
6787
895aa8e1
DM
67882016-08-08 David Malcolm <dmalcolm@redhat.com>
6789
6790 PR c/64955
6791 * c-common.h (selftest::c_format_c_tests): New declaration.
6792 (selftest::run_c_tests): New declaration.
6793 * c-format.c: Include "selftest.h.
6794 (format_warning_va): Add param "corrected_substring" and use
6795 it to add a replacement fix-it hint.
6796 (format_warning_at_substring): Likewise.
6797 (format_warning_at_char): Update for new param of
6798 format_warning_va.
6799 (argument_parser::check_argument_type): Pass "fki" to
6800 check_format_types.
6801 (check_format_types): Add param "fki" and pass it to
6802 format_type_warning.
6803 (deref_n_times): New function.
6804 (get_modifier_for_format_len): New function.
6805 (selftest::test_get_modifier_for_format_len): New function.
6806 (get_format_for_type): New function.
6807 (format_type_warning): Add param "fki" and use it to attempt
6808 to provide hints for argument types when calling
6809 format_warning_at_substring.
6810 (selftest::get_info): New function.
6811 (selftest::assert_format_for_type_streq): New function.
6812 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6813 (selftest::test_get_format_for_type_printf): New function.
6814 (selftest::test_get_format_for_type_scanf): New function.
6815 (selftest::c_format_c_tests): New function.
6816
e52ed3fe
DM
68172016-08-08 David Malcolm <dmalcolm@redhat.com>
6818
6819 PR c/52952
6820 * c-format.c: Include "diagnostic.h".
6821 (location_column_from_byte_offset): Delete.
6822 (location_from_offset): Delete.
6823 (format_warning_va): New function.
6824 (format_warning_at_substring): New function.
6825 (format_warning_at_char): New function.
6826 (check_format_arg): Capture location of format_tree and pass to
6827 check_format_info_main.
6828 (argument_parser): Add fields "start_of_this_format" and
6829 "format_string_cst".
6830 (flag_chars_t::validate): Add param "format_string_cst". Convert
6831 warning_at call using location_from_offset to call to
6832 format_warning_at_char.
6833 (argument_parser::argument_parser): Add param "format_string_cst_"
6834 and use use it to initialize field "format_string_cst".
6835 Initialize new field "start_of_this_format".
6836 (argument_parser::read_format_flags): Convert warning_at call
6837 using location_from_offset to a call to format_warning_at_char.
6838 (argument_parser::read_any_format_left_precision): Likewise.
6839 (argument_parser::read_any_format_precision): Likewise.
6840 (argument_parser::read_any_other_modifier): Likewise.
6841 (argument_parser::find_format_char_info): Likewise, in three places.
6842 (argument_parser::parse_any_scan_set): Likewise, in one place.
6843 (argument_parser::handle_conversions): Likewise, in two places.
6844 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6845 and use it to make a substring_loc. Pass the latter to
6846 check_format_types.
6847 (check_format_info_main): Add params "fmt_param_loc" and
6848 "format_string_cst". Convert warning_at calls using
6849 location_from_offset to calls to format_warning_at_char. Pass the
6850 new params to the arg_parser ctor. Pass "format_string_cst" to
6851 flag_chars.validate. Pass "fmt_param_loc" to
6852 arg_parser.check_argument_type.
6853 (check_format_types): Convert first param from a location_t
6854 to a const substring_loc & and rename to "fmt_loc". Attempt
6855 to extract the range of the relevant parameter and pass it
6856 to format_type_warning.
6857 (format_type_warning): Convert first param from a location_t
6858 to a const substring_loc & and rename to "fmt_loc". Add
6859 params "param_range" and "type". Replace calls to warning_at
6860 with calls to format_warning_at_substring.
6861
1c4d457e
DM
68622016-08-08 David Malcolm <dmalcolm@redhat.com>
6863
6864 * c-format.c (class flag_chars_t): New class.
6865 (struct length_modifier): New struct.
6866 (class argument_parser): New class.
6867 (flag_chars_t::flag_chars_t): New ctor.
6868 (flag_chars_t::has_char_p): New method.
6869 (flag_chars_t::add_char): New method.
6870 (flag_chars_t::validate): New method.
6871 (flag_chars_t::get_alloc_flag): New method.
6872 (flag_chars_t::assignment_suppression_p): New method.
6873 (argument_parser::argument_parser): New ctor.
6874 (argument_parser::read_any_dollar): New method.
6875 (argument_parser::read_format_flags): New method.
6876 (argument_parser::read_any_format_width): New method.
6877 (argument_parser::read_any_format_left_precision): New method.
6878 (argument_parser::read_any_format_precision): New method.
6879 (argument_parser::handle_alloc_chars): New method.
6880 (argument_parser::read_any_length_modifier): New method.
6881 (argument_parser::read_any_other_modifier): New method.
6882 (argument_parser::find_format_char_info): New method.
6883 (argument_parser::validate_flag_pairs): New method.
6884 (argument_parser::give_y2k_warnings): New method.
6885 (argument_parser::parse_any_scan_set): New method.
6886 (argument_parser::handle_conversions): New method.
6887 (argument_parser::check_argument_type): New method.
6888 (check_format_info_main): Introduce classes argument_parser
6889 and flag_chars_t, moving the code within the loop into methods
6890 of these classes. Make various locals "const".
6891
88fa5555
DM
68922016-08-05 David Malcolm <dmalcolm@redhat.com>
6893
6894 * c-common.c: Include "substring-locations.h".
6895 (get_cpp_ttype_from_string_type): New function.
6896 (g_string_concat_db): New global.
6897 (substring_loc::get_range): New method.
6898 * c-common.h (g_string_concat_db): New declaration.
6899 (class substring_loc): New class.
6900 * c-lex.c (lex_string): When concatenating strings, capture the
6901 locations of all tokens using a new obstack, and record the
6902 concatenation locations within g_string_concat_db.
6903 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6904 on the ggc-heap.
6905
78169471
MP
69062016-07-29 Marek Polacek <polacek@redhat.com>
6907
638fc14f
MP
6908 PR c/71926
6909 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6910 parentheses warning.
6911
78169471
MP
6912 PR c/71574
6913 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6914
1225d6b1
ML
69152016-07-28 Martin Liska <mliska@suse.cz>
6916
6917 PR gcov-profile/68025
6918 * c-common.c (handle_no_profile_instrument_function_attribute):
6919
ec1e2a40
BE
69202016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6921
6922 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6923 BITS_PER_UNIT_LOG.
6924
5ec2cd9f
JM
69252016-07-25 Jason Merrill <jason@redhat.com>
6926
6927 PR c++/65970
6928 * c.opt (fconstexpr-loop-limit): New.
6929
9dc5773f 69302016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6931
6932 PR c++/71675
6933 * c-common.c (resolve_overloaded_builtin): Avoid converting
6934 __atomic_compare_exchange_n return type to that of what its
6935 first argument points to.
6936
e3fe09c1
UB
69372016-07-22 Uros Bizjak <ubizjak@gmail.com>
6938
6939 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6940 ~(unsigned HOST_WIDE_INT) 0.
6941
bc91c436
ML
69422016-07-22 Martin Liska <mliska@suse.cz>
6943
6944 PR gcov-profile/69028
6945 PR gcov-profile/62047
6946 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6947 to the current_function_decl.
6948
451dcc66
JM
69492016-07-21 Jason Merrill <jason@redhat.com>
6950
6951 PR c++/65168
6952 * c-common.c (c_common_truthvalue_conversion): Check
6953 c_inhibit_evaluation_warnings for warning about address of
6954 reference.
6955
de6a69ee
DM
69562016-07-20 David Malcolm <dmalcolm@redhat.com>
6957
6958 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6959 const char *.
6960
d022c55a
JM
69612016-07-15 Jason Merrill <jason@redhat.com>
6962
6963 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6964
ddbbcb19
JJ
69652016-07-15 Jakub Jelinek <jakub@redhat.com>
6966
6967 PR c/71858
6968 * c-common.h (enum lookup_name_fuzzy_kind): Add
6969 FUZZY_LOOKUP_FUNCTION_NAME.
6970
d0cf395a
JM
69712016-07-08 Jason Merrill <jason@redhat.com>
6972
6973 P0145: Refining Expression Order for C++.
6974 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6975 * c-opts.c: Adjust.
6976
98d44e93
MT
69772016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6978
6979 PR c++/71214
6980 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6981
f9d8d994
TS
69822016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6983
6984 * c-pragma.h (enum pragma_kind): Rename
6985 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6986 users.
6987
4aa83879
RB
69882016-06-29 Richard Biener <rguenther@suse.de>
6989
6990 PR middle-end/71002
6991 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6992
a25bd9e6
JM
69932016-06-24 Jason Merrill <jason@redhat.com>
6994
6995 P0145R2: Refining Expression Order for C++.
6996 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6997 MODIFY_EXPR.
6998
a86451b9
JJ
69992016-06-24 Jakub Jelinek <jakub@redhat.com>
7000
7001 * c-common.c (check_builtin_function_arguments): Require last
7002 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
7003 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
7004 if the last argument is pointer to enumerated or boolean type.
7005
1a4f11c8
DM
70062016-06-22 David Malcolm <dmalcolm@redhat.com>
7007
7008 PR c/70339
7009 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
7010 (lookup_name_fuzzy): New prototype.
7011
fe55692c
JDA
70122016-06-21 John David Anglin <danglin@gcc.gnu.org>
7013
7014 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
7015
4eb24e01
JM
70162016-06-14 Jason Merrill <jason@redhat.com>
7017
7018 P0145R2: Refining Expression Order for C++.
7019 * c.opt (fargs-in-order): New.
7020 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
7021
ef7cf206
JJ
70222016-06-13 Jakub Jelinek <jakub@redhat.com>
7023
0dda258b
JJ
7024 PR sanitizer/71498
7025 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
7026 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
7027
ef7cf206
JJ
7028 PR preprocessor/71183
7029 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
7030 to cb_get_source_date_epoch.
7031
50b15873
JJ
70322016-06-10 Jakub Jelinek <jakub@redhat.com>
7033
7034 PR c/68657
7035 * c.opt (Wpsabi): Add Warning flag.
7036
4d926e34
MS
70372016-06-10 Martin Sebor <msebor@redhat.com>
7038
7039 PR c/71392
14ec014e 7040 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
7041 the nonnull attribute in type-generic builtins.
7042
e01b4e16
MS
70432016-06-09 Martin Sebor <msebor@redhat.com>
7044
7045 PR c/70883
7046 * c-common.c (builtin_function_validate_nargs): Make text of error
7047 message consistent with others like it.
7048
44a845ca
MS
70492016-06-08 Martin Sebor <msebor@redhat.com>
7050 Jakub Jelinek <jakub@redhat.com>
7051
7052 PR c++/70507
7053 PR c/68120
7054 * c-common.c (check_builtin_function_arguments): Handle
7055 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
7056
a80a7051
RB
70572016-06-08 Richard Biener <rguenther@suse.de>
7058
7059 * c-common.c (parse_optimize_options): Improve diagnostic messages.
7060
bfd67b47
RB
70612016-06-07 Richard Biener <rguenther@suse.de>
7062
7063 PR c/61564
7064 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
7065 options and warn about others.
7066
15c98b2e
ES
70672016-06-01 Eduard Sanou <dhole@openmailbox.org>
7068
7069 * c-common.c (get_source_date_epoch): Rename to
7070 cb_get_source_date_epoch.
7071 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
7072 message when the parsing fails. Use error_at instead of fatal_error.
7073 * c-common.h (get_source_date_epoch): Rename to
7074 cb_get_source_date_epoch.
7075 * c-common.h (cb_get_source_date_epoch): Prototype.
7076 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
7077 * c-common.h (c_omp_region_type): Remove trailing comma.
7078 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
7079 * c-lex.c (c_lex_with_flags): Remove initialization of
7080 pfile->source_date_epoch.
7081
00631022
JJ
70822016-05-30 Jakub Jelinek <jakub@redhat.com>
7083
7084 PR c++/71349
7085 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
7086 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
7087 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
7088 instead of C_OMP_CLAUSE_SPLIT_FOR.
7089
f17a223d
RB
70902016-05-24 Richard Biener <rguenther@suse.de>
7091
7092 PR middle-end/70434
7093 PR c/69504
7094 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
7095 (convert_vector_to_array_for_subscript): ... this.
7096 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
7097 VIEW_CONVERT_EXPR to an array type. Rename to ...
7098 (convert_vector_to_array_for_subscript): ... this.
7099
4f2e1536
MP
71002016-05-12 Marek Polacek <polacek@redhat.com>
7101
7102 PR c/70756
7103 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
7104 size_in_bytes and pass LOC to it.
7105
d6e83a8d
MM
71062016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
7107
7108 PR c/43651
7109 * c.opt (Wduplicate-decl-specifier): New option.
7110
5c3a10fb
MP
71112016-05-11 Marek Polacek <polacek@redhat.com>
7112
7113 PR c++/71024
7114 * c-common.c (diagnose_mismatched_attributes): New function.
7115 * c-common.h (diagnose_mismatched_attributes): Declare.
7116
deef7113
MP
71172016-05-04 Marek Polacek <polacek@redhat.com>
7118
7119 * c.opt (Wdangling-else): New option.
7120
79ce98bc
MP
71212016-05-03 Marek Polacek <polacek@redhat.com>
7122
7123 PR c/70859
7124 * c-common.c (builtin_function_validate_nargs): Add location
7125 parameter. Use it.
7126 (check_builtin_function_arguments): Add location and arguments
7127 parameters. Use them.
7128 * c-common.h (check_builtin_function_arguments): Update declaration.
7129
381cdae4
RB
71302016-05-03 Richard Biener <rguenther@suse.de>
7131
7132 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
7133 allow call args to gimplify to SSA names.
7134
1d793c34
MP
71352016-05-03 Marek Polacek <polacek@redhat.com>
7136
7137 * c-common.h (enum c_omp_region_type): Remove stray comma.
7138
77886428
CP
71392016-05-02 Cesar Philippidis <cesar@codesourcery.com>
7140
7141 * c-common.h (enum c_omp_region_type): Define.
7142
697e0b28
RS
71432016-05-02 Richard Sandiford <richard.sandiford@arm.com>
7144
7145 * c-common.c (shorten_compare): Use wi::to_wide.
7146
e7ff0319
CP
71472016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7148
7149 PR middle-end/70626
7150 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
7151 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
7152 reduction clauses in acc parallel loops.
7153
2fff3db8
MP
71542016-04-29 Marek Polacek <polacek@redhat.com>
7155
7156 PR c/70852
7157 * c-common.c (warn_for_memset): Check domain before accessing it.
7158
509063eb
DV
71592016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7160
7161 PR/69089
7162 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
7163 "aligned" attribute.
7164
b632761d
JM
71652016-04-28 Jason Merrill <jason@redhat.com>
7166
7167 * c-lex.c (c_common_has_attribute): Handle nodiscard.
7168
174f6622
ES
71692016-04-28 Eduard Sanou <dhole@openmailbox.org>
7170 Matthias Klose <doko@debian.org>
7171
7172 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 7173 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
7174 handling.
7175 * c-common.h (get_source_date_epoch): Prototype.
7176 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
7177
6bc2bb18
RB
71782015-04-27 Ryan Burn <contact@rnburn.com>
7179
7180 PR c++/69024
7181 PR c++/68997
7182 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
7183 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
7184 external linkage.
7185 (cilk_detect_and_unwrap): Corresponding changes.
7186 (extract_free_variables): Don't extract free variables from
7187 AGGR_INIT_EXPR slot.
7188 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
7189 (cilk_recognize_spawn): Likewise.
7190
c1e1f433
BS
71912016-04-27 Bernd Schmidt <bschmidt@redhat.com>
7192
7193 * c.opt (Wmemset-elt-size): New option.
7194 * c-common.c (warn_for_memset): New function.
7195 * c-common.h (warn_for_memset): Declare.
7196
d067e05f
JM
71972016-04-25 Jason Merrill <jason@redhat.com>
7198
7199 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
7200 No longer static.
7201 * c-common.h: Declare it.
7202 * c-lex.c (c_common_has_attribute): Add maybe_unused.
7203
9aa36ae5
JM
72042016-04-22 Jason Merrill <jason@redhat.com>
7205
7206 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
7207
477d4906
IV
72082016-04-20 Ilya Verbin <ilya.verbin@intel.com>
7209
7210 PR c++/69363
7211 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
7212 * c-common.h (c_finish_cilk_clauses): Remove declaration.
7213
fe37c7af
MM
72142016-04-18 Michael Matz <matz@suse.de>
7215
7216 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
7217 and SET_DECL_ALIGN.
7218
23f2660f
EB
72192016-04-17 Eric Botcazou <ebotcazou@adacore.com>
7220
7221 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7222 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7223 to incomplete types.
7224 (dump_nested_type): Remove redundant tests and tidy up.
7225 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7226 a type which is the typedef of an original type.
7227
1e77281b
MP
72282016-04-15 Marek Polacek <polacek@redhat.com>
7229
7230 PR c/70651
7231 * c-common.c (build_va_arg): Change two asserts into errors and return
7232 error_mark_node.
7233
b3a77f21
MP
72342016-04-13 Marek Polacek <polacek@redhat.com>
7235
7236 PR c++/70639
7237 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7238 for switch statements, too.
7239
322b8466
JM
72402016-03-28 Jason Merrill <jason@redhat.com>
7241
7242 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7243
fbdb6baf
MP
72442016-03-23 Marek Polacek <polacek@redhat.com>
7245
7246 PR c++/69884
7247 * c.opt (Wignored-attributes): New option.
7248
5c240f4d
DM
72492016-03-22 David Malcolm <dmalcolm@redhat.com>
7250
7251 PR c/69993
7252 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7253 diagnostic text, reversing the order of the warning and note so
7254 that they appear in source order.
7255
14ba7b28
MP
72562016-03-17 Marek Polacek <polacek@redhat.com>
7257
7258 PR c/69407
7259 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7260 operations.
7261
08a1cadc
JM
72622016-03-14 Jason Merrill <jason@redhat.com>
7263
2aaeea19
JM
7264 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7265
08a1cadc
JM
7266 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7267
c06d25bb
RB
72682016-03-09 Richard Biener <rguenther@suse.de>
7269
7270 PR c/70143
7271 * c-common.c (strict_aliasing_warning): Add back
7272 alias_sets_conflict_p check.
7273
80aac5c8
JM
72742016-03-08 Jason Merrill <jason@redhat.com>
7275
7276 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7277
64b23c13
DM
72782016-03-04 David Malcolm <dmalcolm@redhat.com>
7279
7280 PR c/68187
7281 * c-indentation.c (get_visual_column): Move code to determine next
7282 tab stop to...
7283 (next_tab_stop): ...this new function.
7284 (line_contains_hash_if): Delete function.
7285 (detect_preprocessor_logic): Delete function.
7286 (get_first_nws_vis_column): New function.
7287 (detect_intervening_unindent): New function.
7288 (should_warn_for_misleading_indentation): Replace call to
7289 detect_preprocessor_logic with a call to
7290 detect_intervening_unindent.
7291
729526f5
DM
72922016-03-04 David Malcolm <dmalcolm@redhat.com>
7293
7294 PR c/68187
7295 * c-indentation.c (should_warn_for_misleading_indentation): When
7296 suppressing warnings about cases where the guard and body are on
7297 the same column, only use the first non-whitespace column in place
7298 of the guard token column when dealing with "else" clauses.
7299 When rejecting aligned BODY and NEXT, loosen the requirement
7300 from equality with the first non-whitespace of guard to simply
7301 that they not be indented relative to it.
7302
e9a35493
RB
73032016-03-04 Richard Biener <rguenther@suse.de>
7304
7305 PR c++/70054
7306 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7307 instead of alias_sets_conflict_p.
7308
1be56bc5
MP
73092016-03-01 Marek Polacek <polacek@redhat.com>
7310
7311 PR c++/69795
7312 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7313 any DECL.
7314
35886f0b
MS
73152016-02-22 Martin Sebor <msebor@redhat.com>
7316
7317 PR middle-end/69780
7318 * c-common.c (check_builtin_function_arguments): Validate and
7319 reject invalid arguments to __builtin_alloca_with_align.
7320
4246c8da
MW
73212016-02-20 Mark Wielaard <mjw@redhat.com>
7322
7323 PR c/28901
7324 * c.opt (Wunused-const-variable): Turn into Alias for...
7325 (Wunused-const-variable=): New option.
7326
268be88c
BE
73272016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7328
7329 PR c++/69865
7330 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7331 here...
7332 (c_common_init_options): ...to here.
7333 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7334
871b3f47
JJ
73352016-02-19 Jakub Jelinek <jakub@redhat.com>
7336
7337 PR c++/69826
7338 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7339 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7340 flag_preprocess_only.
7341
bf14eba2
JJ
73422016-02-16 Jakub Jelinek <jakub@redhat.com>
7343
7344 PR c/69835
7345 * c.opt (Wnonnull-compare): Enable for -Wall.
7346
ba6b3795
JJ
73472016-02-15 Jakub Jelinek <jakub@redhat.com>
7348
7349 PR c++/69797
7350 * c-common.c (sync_resolve_size): Diagnose too few arguments
7351 even when params is non-NULL empty vector.
7352
a011cd92
BS
73532016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7354
7355 PR target/60410
7356 * c.opt (fshort-double): Remove.
7357
46cb9332
MS
73582016-02-05 Martin Sebor <msebor@redhat.com>
7359
7360 PR c++/69662
7361 * c.opt (Warning options): Update -Wplacement-new to take
7362 an optional argument.
7363
e1b81f2b
JJ
73642016-02-01 Jakub Jelinek <jakub@redhat.com>
7365
7366 PR preprocessor/69543
7367 PR c/69558
7368 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7369 instead of loc to control_warning_option.
7370
b6adbb9f
NS
73712016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7372
7373 * c.opt (fopenacc-dim=): New option.
7374
5d70666e
RB
73752016-01-27 Ryan Burn <contact@rnburn.com>
7376
7377 PR cilkplus/69267
7378 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7379 gimplify_arg. Removed superfluous post_p argument.
7380 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7381 superfluous post_p argument.
7382 * c-gimplify.c (c_gimplify_expr): Likewise.
7383
01e1dea3
DM
73842016-01-26 David Malcolm <dmalcolm@redhat.com>
7385
7386 PR other/69006
7387 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7388 pp_newline_and_flush with pp_flush.
7389
9f04a53e
MS
73902016-01-20 Martin Sebor <msebor@redhat.com>
7391
7392 PR c/69405
7393 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7394 an incompatible argument when the argument isn't a valid tree node.
7395
7f26f7df
JM
73962016-01-18 Jason Merrill <jason@redhat.com>
7397
7398 PR c++/68767
7399 * c-common.c (check_function_arguments_recurse): Fold the whole
7400 COND_EXPR, not just the condition.
7401
f62bf092
TV
74022016-01-18 Tom de Vries <tom@codesourcery.com>
7403
7404 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7405 classify as loop clause.
7406
e0a575ff
JJ
74072016-01-15 Jakub Jelinek <jakub@redhat.com>
7408
7409 PR bootstrap/68271
7410 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7411 C++ FE no longer has limit on number of pragmas.
7412
74132015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7414
7415 PR c++/69048
7416 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7417 to add missing cleanup point.
b6e3db06 7418
c7df95d8
DM
74192016-01-14 David Malcolm <dmalcolm@redhat.com>
7420
7421 PR c++/68819
7422 * c-indentation.c (get_visual_column): Add location_t param.
7423 Handle the column number being zero by effectively disabling the
7424 warning, with an "inform".
7425 (should_warn_for_misleading_indentation): Add location_t argument
7426 for all uses of get_visual_column.
7427
21efdd80
PP
74282016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7429
7430 PR c++/69029
7431 * c-indentation.c (should_warn_for_misleading_indentation):
7432 Don't warn about do-while statements.
7433
7a127fa7
MS
74342016-01-07 Martin Sebor <msebor@redhat.com>
7435
7436 PR c/68966
7437 * c-common.c (sync_resolve_size): Reject first argument when it's
7438 a pointer to _Bool.
7439
c589e975
DM
74402016-01-05 David Malcolm <dmalcolm@redhat.com>
7441
7442 PR c/69122
7443 * c-indentation.c (get_visual_column): Remove default argument.
7444 (should_warn_for_misleading_indentation): For the multiline case,
7445 update call to get_visual_column for next_stmt_exploc so that it
7446 captures the location of the first non-whitespace character in the
7447 relevant line. Don't issue warnings if there is non-whitespace
7448 before the next statement.
7449
818ab71a
JJ
74502016-01-04 Jakub Jelinek <jakub@redhat.com>
7451
7452 Update copyright years.
7453
745e411d
DM
74542015-12-21 David Malcolm <dmalcolm@redhat.com>
7455
7456 * c-common.c (binary_op_error): Convert first param from
7457 location_t to rich_location * and use it when emitting an error.
7458 * c-common.h (binary_op_error): Convert first param from
7459 location_t to rich_location *.
7460
de67c4c3
DM
74612015-12-16 David Malcolm <dmalcolm@redhat.com>
7462
7463 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7464 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7465
4a38b02b
IV
74662015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7467
7468 * c-common.c (c_common_attribute_table): Handle "omp declare target
7469 link" attribute.
7470
54d62f51
JJ
74712015-12-14 Jakub Jelinek <jakub@redhat.com>
7472
7473 PR c/68833
7474 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7475
8d4227c8
TB
74762014-12-12 Tobias Burnus <burnus@net-b.de>
7477
7478 PR fortran/68815
7479 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7480 specifiers (%d, %i,%u and %c).
7481
f6069ccc
DM
74822015-12-10 David Malcolm <dmalcolm@redhat.com>
7483
7484 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7485
63bbf46d
JJ
74862015-12-08 Jakub Jelinek <jakub@redhat.com>
7487
7488 PR c/48088
7489 PR c/68657
7490 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7491 * c-pragma.c (handle_pragma_diagnostic): Adjust
7492 control_warning_option caller.
7493
f79520bb
DM
74942015-12-07 David Malcolm <dmalcolm@redhat.com>
7495
7496 * c-common.c (c_cpp_error): Update for change to
7497 rich_location::set_range.
7498
b3d5bc62
JJ
74992015-12-04 Paolo Bonzini <bonzini@gnu.org>
7500
7501 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7502 shifting 1 out of the sign bit.
7503
75042015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7505
7506 * c-common.c (c_common_attribute_table[]): Update max arguments
7507 count for "simd" attribute.
7508 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7509
6eb4a537
JJ
75102015-12-03 Jakub Jelinek <jakub@redhat.com>
7511
7512 PR preprocessor/57580
7513 * c-ppoutput.c (print): Change printed field to bool.
7514 Move src_file last for smaller padding.
7515 (init_pp_output): Set print.printed to false instead of 0.
7516 (scan_translation_unit): Fix up formatting. Set print.printed
7517 to true after printing something other than newline.
7518 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7519 (maybe_print_line_1): Set print.printed to false instead of 0.
7520 (print_line_1): Likewise.
7521 (do_line_change): Set print.printed to true instead of 1.
7522 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7523 dump_macro): Set print.printed to false after printing newline.
7524
4250754e
JM
75252015-12-02 Jason Merrill <jason@redhat.com>
7526
f479b43d
JM
7527 * c-common.c (fold_for_warn): New.
7528 (warn_logical_operator, warn_tautological_cmp)
7529 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7530
4250754e
JM
7531 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7532 (c_fully_fold_internal, decl_constant_value_for_optimization):
7533 Move to c/c-fold.c.
7534 * c-common.h: Don't declare decl_constant_value_for_optimization.
7535
e9e32ee6
JM
75362015-12-02 Joseph Myers <joseph@codesourcery.com>
7537
7538 PR c/68162
7539 * c-common.h (c_build_qualified_type): Add extra default
7540 arguments.
7541
37d5ad46
JB
75422015-12-01 Julian Brown <julian@codesourcery.com>
7543 Cesar Philippidis <cesar@codesourcery.com>
7544 James Norris <James_Norris@mentor.com>
7545
7546 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7547 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7548 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7549
f07862c7
EB
75502015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7551
7552 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7553 (decl_sloc_common): Delete and move bulk of processing to...
7554 (decl_sloc): ...here.
7555 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7556 (dump_ada_double_name): Remove S parameter and compute the suffix.
7557 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7558 element type and deal with an anonymous one.
7559 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7560 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7561 and remove reference to QUAL_UNION_TYPE.
7562 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7563 (dump_nested_type): ...here. New function extracted from above.
7564 Generate a full declaration for anonymous element type of arrays.
7565 (print_ada_declaration): Really skip anonymous declarations. Remove
7566 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7567 Clean up processing of declarations of array types and objects.
7568 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7569 Remove obsolete code and tidy up.
7570
75c8aac3
JH
75712015-11-29 Jan Hubicka <hubicka@ucw.cz>
7572
7573 PR c/67581
7574 * c-common.c (handle_transparent_union_attribute): Update
7575 also type variants.
7576
b58d3df2
ML
75772015-11-27 Martin Liska <mliska@suse.cz>
7578
7579 PR c++/68312
7580 * array-notation-common.c (cilkplus_extract_an_triplets):
7581 Release vector of vectors.
7582 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7583
89a01fcf
EB
75842015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7585
7586 PR c++/68527
7587 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7588 (print_ada_struct_decl): Likewise.
7589
cc5c5226
IZ
75902015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7591
7592 PR c++/68001
7593 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7594 * cilk.c (recognize_spawn): Determine location in a more precise
7595 way.
7596
269adb9d
JM
75972015-11-19 Jason Merrill <jason@redhat.com>
7598
7599 * c-common.c (shorten_compare): But look through macros from
7600 system headers.
7601
d0eccfcd
JM
76022015-11-18 Jason Merrill <jason@redhat.com>
7603
7604 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7605 non-constant operand comes from a macro.
7606
3e44547c
JM
76072015-11-17 Jason Merrill <jason@redhat.com>
7608
7609 PR bootstrap/68346
7610 * c-common.c (warn_tautological_cmp): Fold before checking for
7611 constants.
7612
0f62c7a0
MP
76132015-11-16 Marek Polacek <polacek@redhat.com>
7614
7615 PR c++/68362
7616 * c-common.c (check_case_bounds): Fold low and high cases.
7617
a868811e
MP
76182015-11-16 Marek Polacek <polacek@redhat.com>
7619
7620 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7621 * c-common.c (c_common_get_alias_set): Likewise.
7622 (handle_visibility_attribute): Likewise.
7623
fff77217
KY
76242015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
7625
7626 * c-common.c (handle_simd_attribute): New.
7627 (struct attribute_spec): Add entry for "simd".
7628 (handle_simd_attribute): New.
7629
269e63b7
KT
76302015-11-13 Kai Tietz <ktietz70@googlemail.com>
7631
7632 * c-lex.c (interpret_float): Use fold_convert.
7633
ebedc9a3
DM
76342015-11-13 David Malcolm <dmalcolm@redhat.com>
7635
7636 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7637 and store it on the result.
7638 * c-opts.c (c_common_init_options): Set
7639 global_dc->colorize_source_p.
7640
6e232ba4
JN
76412015-11-12 James Norris <jnorris@codesourcery.com>
7642 Joseph Myers <joseph@codesourcery.com>
7643
7365279f 7644 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7645 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7646 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7647 PRAGMA_OACC_CLAUSE_LINK.
7648
e78bede6
MP
76492015-11-11 Marek Polacek <polacek@redhat.com>
7650
7651 PR c/68107
7652 PR c++/68266
7653 * c-common.c (valid_array_size_p): New function.
7654 * c-common.h (valid_array_size_p): Declare.
7655
3f8257db 76562015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7657
7658 PR bootstrap/68271
7659 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7660
69f293c9
AM
76612015-11-11 Andrew MacLeod <amacleod@redhat.com>
7662
7663 * array-notation-common.c: Remove unused header files.
7664 * c-ada-spec.c: Likewise.
7665 * c-cilkplus.c: Likewise.
7666 * c-common.c: Likewise.
7667 * c-cppbuiltin.c: Likewise.
7668 * c-dump.c: Likewise.
7669 * c-format.c: Likewise.
7670 * c-gimplify.c: Likewise.
7671 * c-indentation.c: Likewise.
7672 * c-lex.c: Likewise.
7673 * c-omp.c: Likewise.
7674 * c-opts.c: Likewise.
7675 * c-pch.c: Likewise.
7676 * c-ppoutput.c: Likewise.
7677 * c-pragma.c: Likewise.
7678 * c-pretty-print.c: Likewise.
7679 * c-semantics.c: Likewise.
7680 * c-ubsan.c: Likewise.
7681 * cilk.c: Likewise.
7682 * stub-objc.c: Likewise.
7683
3a40d81d
NS
76842015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7685 Cesar Philippidis <cesar@codesourcery.com>
7686 James Norris <jnorris@codesourcery.com>
7687 Julian Brown <julian@codesourcery.com>
7688 Nathan Sidwell <nathan@codesourcery.com>
7689
7690 * c-pragma.c (oacc_pragmas): Add "routine".
7691 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7692
ee45a32d
EB
76932015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7694
7695 * c-common.c (c_common_attributes): Add scalar_storage_order.
7696 (handle_scalar_storage_order_attribute): New function.
7697 * c-pragma.c (global_sso): New variable.
7698 (maybe_apply_pragma_scalar_storage_order): New function.
7699 (handle_pragma_scalar_storage_order): Likewise.
7700 (init_pragma): Register scalar_storage_order.
7701 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7702 * c.opt (Wscalar-storage-order): New warning.
7703 (fsso-struct=): New option.
7704
eb11eb15
MS
77052015-11-08 Martin Sebor <msebor@redhat.com>
7706
7707 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7708
0aad0198
RS
77092015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7710
7711 * c-common.c: Don't undef DEF_BUILTIN.
7712
8a645150
DM
77132015-11-06 David Malcolm <dmalcolm@redhat.com>
7714
7715 * c-common.c (c_cpp_error): Convert parameter from location_t to
7716 rich_location *. Eliminate the "column_override" parameter and
7717 the call to diagnostic_override_column.
7718 Update the "done_lexing" clause to set range 0
7719 on the rich_location, rather than overwriting a location_t.
7720 * c-common.h (c_cpp_error): Convert parameter from location_t to
7721 rich_location *. Eliminate the "column_override" parameter.
7722
7a5e4956
CP
77232015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7724 Thomas Schwinge <thomas@codesourcery.com>
7725 James Norris <jnorris@codesourcery.com>
7726
7727 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7728 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7729 clauses with parallel and kernels and loops.
7730 * c-pragma.h (enum pragma_omp_clause): Add entries for
7731 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7732 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7733 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7734 INDEPENDENT,SEQ}.
7735 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7736
e2f5cc96
MS
77372015-11-05 Martin Sebor <msebor@redhat.com>
7738
7739 PR c++/67942
7740 * c.opt (-Wplacement-new): New option.
7741
e01d41e5
JJ
77422015-11-05 Jakub Jelinek <jakub@redhat.com>
7743
7744 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7745 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7746 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7747 save_expr or create_tmp_var* if TEST is true.
7748 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7749 Don't call add_stmt here.
7750 (struct c_omp_check_loop_iv_data): New type.
7751 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7752 c_omp_check_loop_iv_exprs): New functions.
7753 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7754 distribute.
7755 (c_omp_declare_simd_clauses_to_numbers): Change
7756 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7757 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7758 from numbers to PARM_DECLs.
7759
595278be
MM
77602015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7761
7762 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7763 flag_checking.
7764
3f8257db 77652015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7766
7767 PR c++-common/67882
b3d5bc62
JJ
7768 * c-common.h (fold_offsetof_1): Add argument.
7769 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7770 offsetof expressions that reference elements past the end of
7771 an array.
7772
4bf9e5a8
TS
77732015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7774 Chung-Lin Tang <cltang@codesourcery.com>
7775
7776 * c-pragma.c (oacc_pragmas): Add "atomic".
7777 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7778
3b1661a9
ES
77792015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7780
7781 * c-common.c (handle_target_clones_attribute): New.
7782 (c_common_attribute_table): Add handle_target_clones_attribute.
7783 (handle_always_inline_attribute): Add check on target_clones attribute.
7784 (handle_target_attribute): Ditto.
7785
2adfab87
AM
77862015-10-29 Andrew MacLeod <amacleod@redhat.com>
7787
7788 * array-notation-common.c: Reorder #include's and remove duplicates.
7789 * c-ada-spec.c: Likewise.
7790 * c-cilkplus.c: Likewise.
7791 * c-common.c: Likewise.
7792 * c-cppbuiltin.c: Likewise.
7793 * c-dump.c: Likewise.
7794 * c-format.c: Likewise.
7795 * c-gimplify.c: Likewise.
7796 * c-indentation.c: Likewise.
7797 * c-lex.c: Likewise.
7798 * c-omp.c: Likewise.
7799 * c-opts.c: Likewise.
7800 * c-pch.c: Likewise.
7801 * c-ppoutput.c: Likewise.
7802 * c-pragma.c: Likewise.
7803 * c-pretty-print.c: Likewise.
7804 * c-semantics.c: Likewise.
7805 * c-ubsan.c: Likewise.
7806 * cilk.c: Likewise.
7807 * stub-objc.c: Likewise.
7808
d90ec4f2
JM
78092015-10-28 Jason Merrill <jason@redhat.com>
7810
7811 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7812
88bae6f4
TS
78132015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7814 James Norris <jnorris@codesourcery.com>
7815 Cesar Philippidis <cesar@codesourcery.com>
7816
7817 PR c/64765
7818 PR c/64880
7819 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7820 * c-omp.c (c_oacc_split_loop_clauses): New function.
7821
b1726d6c
MS
78222015-10-21 Martin Sebor <msebor@redhat.com>
7823
7824 PR driver/68043
7825 * c.opt: End each sentence that describes an option with a period.
7826
fa60eeb9
MP
78272015-10-20 Marek Polacek <polacek@redhat.com>
7828
7829 * array-notation-common.c (is_cilkplus_vector_p): Define.
7830 * c-common.h (is_cilkplus_vector_p): Declare.
7831
95979049
MP
78322015-10-20 Marek Polacek <polacek@redhat.com>
7833
7834 * c.opt (std=gnu++11): Do not describe as experimental.
7835 (std=gnu++14): Likewise.
7836
2a9fb712
JM
78372015-10-19 Jason Merrill <jason@redhat.com>
7838
7839 * c-cppbuiltin.c (c_cpp_builtins): Define
7840 __cpp_nontype_template_args.
7841
13b380a3
JM
78422015-10-19 Jason Merrill <jason@redhat.com>
7843
7844 * c-cppbuiltin.c (c_cpp_builtins): Define
7845 __cpp_enumerator_attributes, __cpp_fold_expressions,
7846 __cpp_unicode_characters.
7847
d9a6bd32
JJ
78482015-10-13 Jakub Jelinek <jakub@redhat.com>
7849 Aldy Hernandez <aldyh@redhat.com>
7850
7851 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7852 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7853 (c_define_builtins): Likewise.
7854 * c-common.h (enum c_omp_clause_split): Add
7855 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7856 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7857 (c_finish_omp_for): Add ORIG_DECLV argument.
7858 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7859 201511 instead of 201307.
7860 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7861 OMP_CRITICAL_CLAUSES to it.
7862 (c_finish_omp_ordered): Add CLAUSES argument, set
7863 OMP_ORDERED_CLAUSES to it.
7864 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7865 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7866 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7867 constructs and new OpenMP 4.5 clauses. Clear
7868 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7869 verification code.
7870 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7871 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7872 (enum pragma_omp_clause): Add
7873 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7874 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7875
624d31fe
RS
78762015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7877
7878 * c-lex.c (interpret_float): Use real_equal instead of
7879 REAL_VALUES_EQUAL.
7880
b8fd7909
JM
78812015-10-04 Jason Merrill <jason@redhat.com>
7882
7883 Implement N4514, C++ Extensions for Transactional Memory.
7884 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7885 (c_common_attribute_table): Add transaction_safe_dynamic.
7886 transaction_safe now affects type identity.
7887 (handle_tm_attribute): Handle transaction_safe_dynamic.
7888 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7889 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7890 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7891 (D_TRANSMEM): New.
7892 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7893 * c-pretty-print.c (pp_c_attributes_display): Don't print
7894 transaction_safe in C++.
7895
12651878
MP
78962015-10-02 Marek Polacek <polacek@redhat.com>
7897
7898 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7899
3e3b8d63
MP
79002015-10-02 Marek Polacek <polacek@redhat.com>
7901
7902 PR c/64249
7903 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7904 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7905 * c.opt (Wduplicated-cond): New option.
7906
0d1a8f75
JM
79072015-10-01 Joseph Myers <joseph@codesourcery.com>
7908
7909 * c.opt (std=c11): Do not describe as experimental.
7910 (std=gnu11): Likewise.
7911 (std=iso9899:2011): Likewise.
7912
3e32ee19
NS
79132015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7914
7915 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7916 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7917
974348ee
MP
79182015-09-25 Marek Polacek <polacek@redhat.com>
7919
7920 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7921 (ubsan_instrument_shift): Likewise.
7922
15dbc1a6
MP
79232015-09-25 Marek Polacek <polacek@redhat.com>
7924
7925 PR sanitizer/64906
7926 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7927
6b95d7cc
PP
79282015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7929
7930 * c-indentation.c (should_warn_for_misleading_indentation):
7931 Compare next_stmt_vis_column with guard_line_first_nws instead
7932 of with guard_line_vis_column.
7933
c1822f9c
MLI
79342015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7935
7936 PR c/49654
7937 PR c/49655
7938 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7939 options and options not valid for the current language.
7940
d5398058
PP
79412015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7942
7943 * c-indentation.c (should_warn_for_misleading_indentation):
7944 Float out and consolidate the calls to get_visual_column that
7945 are passed guard_exploc as an argument. Compare
7946 next_stmt_vis_column with guard_line_first_nws instead of with
7947 body_line_first_nws.
7948
6b333269
NS
79492015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7950
7951 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7952 Wnamespaces): New C++ warnings.
7953
a75f1574
JM
79542015-09-22 Jason Merrill <jason@redhat.com>
7955
7956 * c-common.h (abi_compat_version_crosses): New.
7957 (warn_abi_version): Declare.
7958 * c-common.c: Define it.
7959 * c-opts.c (c_common_post_options): Handle it.
7960 flag_abi_compat_version defaults to 8.
7961
bdaaa8b7
VV
79622015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7963
7964 Complete the implementation of N4230, Nested namespace definition.
7965 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7966 __cpp_nested_namespace_definitions.
7967
eaa797e8
MLI
79682015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7969
7970 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7971
c4914de6
MLI
79722015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7973
7974 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7975 when warning.
7976 * c-pragma.h (pragma_lex): Add optional loc argument.
7977
fcb87c50
MM
79782015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7979
7980 * c-format.c (check_format_arg): Adjust to use common block size in all
7981 object pools.
7982
31bdd08a
DM
79832015-09-15 David Malcolm <dmalcolm@redhat.com>
7984
7985 * c-format.c (location_from_offset): Update for change in
7986 signature of location_get_source_line.
7987 * c-indentation.c (get_visual_column): Likewise.
7988 (line_contains_hash_if): Likewise.
7989
aa9f4b4c
MP
79902015-09-14 Marek Polacek <polacek@redhat.com>
7991
7992 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7993 setting various warnings.
7994
aa256c4a
MP
79952015-09-14 Marek Polacek <polacek@redhat.com>
7996
7997 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7998 a negative value.
7999
0f876f22
MW
80002015-09-11 Mark Wielaard <mjw@redhat.com>
8001
8002 PR c/28901
8003 * c.opt (Wunused-variable): Option from common.opt.
8004 (Wunused-const-variable): New option.
8005
273aa49e
PC
80062015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8007
8008 PR c++/53184
8009 * c.opt ([Wsubobject-linkage]): Add.
8010
1807ffc1
MS
80112015-09-03 Martin Sebor <msebor@redhat.com>
8012
8013 PR c/66516
8014 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
8015 functions.
8016 * c-common.c (reject_gcc_builtin): Define.
8017
38942840
BI
80182015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
8019
8020 PR middle-end/60586
8021 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
8022 prototype.
8023 * c-gimplify.c (c_gimplify_expr): Added a call to the function
8024 cilk_gimplify_call_params_in_spawned_fn.
8025 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
8026 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
8027 unwrapping.
8028
c316b5e4
MP
80292015-08-25 Marek Polacek <polacek@redhat.com>
8030
8031 PR middle-end/67330
8032 * c-common.c (handle_weak_attribute): Don't check whether the
8033 visibility can be changed here.
8034
584a7c46
MLI
80352015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8036
8037 * c-lex.c (c_lex_with_flags): Use explicit locations.
8038
a79683d5
TS
80392015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8040
8041 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
8042 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
8043
61717a45
FXC
80442015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8045
8046 PR middle-end/36757
8047 * c-common.c (check_builtin_function_arguments): Add check
8048 for BUILT_IN_SIGNBIT argument.
8049
329524f5
PC
80502015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
8051
8052 PR c++/67160
8053 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
8054 in c++1z mode.
8055
4ee55665
MP
80562015-08-17 Marek Polacek <polacek@redhat.com>
8057
8058 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
8059 with whitespaces before qualifier names.
8060
b893e375
MP
80612015-08-12 Marek Polacek <polacek@redhat.com>
8062
8063 PR c++/55095
8064 * c-common.c (maybe_warn_shift_overflow): Properly handle
8065 left-shifting 1 into the sign bit.
8066
c2d89095
MLI
80672015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8068
8069 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
8070
971e17ff
AS
80712015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
8072 Braden Obrzut <admin@maniacsvault.net>
8073 Jason Merrill <jason@redhat.com>
8074
8075 Add C++ Concepts TS support.
8076 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
8077 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
8078 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
8079 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
8080 * c-opts.c (set_std_cxx1z): Set flag_concepts.
8081 * c.opt (fconcepts): New.
8082
b3d5bc62
JJ
80832015-08-02 Martin Sebor <msebor@redhat.com>
8084
8085 * c.opt (-Wframe-address): New warning option.
8086
8ebca419
PP
80872015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8088
8089 * c-indentation.c (should_warn_for_misleading_indentation):
8090 Improve heuristics.
8091
1a1e101f
PP
80922015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8093
8094 * c-indentation.c (get_visual_column): Add parameter first_nws,
8095 use it. Update comment documenting the function.
8096 (is_first_nonwhitespace_on_line): Remove.
8097 (should_warn_for_misleading_indentation): Replace usage of
8098 of is_first_nonwhitespace_on_line with get_visual_column.
8099
992118a1
PP
81002015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8101
8102 * c-indentation.h (struct token_indent_info): Define.
8103 (get_token_indent_info): Define.
8104 (warn_for_misleading_information): Declare.
8105 * c-common.h (warn_for_misleading_information): Remove.
8106 * c-identation.c (warn_for_misleading_indentation):
8107 Change declaration to take three token_indent_infos. Adjust
8108 accordingly.
8109 * c-identation.c (should_warn_for_misleading_indentation):
8110 Likewise. Bail out early if the body is a compound statement.
8111 (guard_tinfo_to_string): Define.
8112
e8fa3817
JM
81132015-07-30 Jason Merrill <jason@redhat.com>
8114
8115 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
8116 '*' for reference decay.
8117
173864e8
MP
81182015-07-30 Marek Polacek <polacek@redhat.com>
8119
8120 * c-common.c (warn_tautological_cmp): Bail for float types.
8121
f2afe6dd
MP
81222015-07-27 Marek Polacek <polacek@redhat.com>
8123
8124 PR bootstrap/67030
8125 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
8126
05b28fd6
MP
81272015-07-27 Marek Polacek <polacek@redhat.com>
8128
8129 PR c++/66555
8130 PR c/54979
8131 * c-common.c (find_array_ref_with_const_idx_r): New function.
8132 (warn_tautological_cmp): New function.
8133 * c-common.h (warn_tautological_cmp): Declare.
8134 * c.opt (Wtautological-compare): New option.
8135
5a5062b8
MP
81362015-07-23 Marek Polacek <polacek@redhat.com>
8137
8138 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
8139 (ubsan_instrument_shift): Likewise.
8140
dc891fe7
MP
81412015-07-23 Marek Polacek <polacek@redhat.com>
8142
8143 PR sanitizer/66908
8144 * c-ubsan.c: Include gimplify.h.
8145 (ubsan_instrument_division): Unshare OP0 and OP1.
8146 (ubsan_instrument_shift): Likewise.
8147
451b5e48
MP
81482015-07-20 Marek Polacek <polacek@redhat.com>
8149 Richard Sandiford <richard.sandiford@arm.com>
8150
8151 PR c++/55095
8152 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
8153 Use EXPR_LOC_OR_LOC.
8154 (maybe_warn_shift_overflow): New function.
8155 * c-common.h (maybe_warn_shift_overflow): Declare.
8156 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
8157 * c.opt (Wshift-overflow): New option.
8158
fb0b2914
ML
81592015-07-16 Martin Liska <mliska@suse.cz>
8160
8161 * c-format.c (static void check_format_info_main): Use
8162 object_allocator instead of pool_allocator.
8163 (check_format_arg): Likewise.
8164 (check_format_info_main): Likewise.
8165
903f5c23
AM
81662015-07-15 Andrew MacLeod <amacleod@redhat.com>
8167
8168 * c-opts.c: Remove multiline #include comment.
8169
026c3cfd
AH
81702015-07-12 Aldy Hernandez <aldyh@redhat.com>
8171
8172 * c-common.c: Fix double word typos.
8173
bb49ee66
EB
81742015-07-10 Eric Botcazou <ebotcazou@adacore.com>
8175
8176 * c-ada-spec.h (cpp_operation): Revert latest change.
8177 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
8178 constructors and destructors.
8179
1916bcb5
AM
81802015-07-09 Andrew MacLeod <amacleod@redhat.com>
8181
8182 * c-common.h: Adjust includes for flags.h changes.
8183 * stub-objc.c: Likewise.
026c3cfd 8184
a9dcd529
EB
81852015-07-08 Eric Botcazou <ebotcazou@adacore.com>
8186
8187 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
8188 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
8189
b03b462f
JJ
81902015-07-08 Jakub Jelinek <jakub@redhat.com>
8191
8192 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
8193 are to be removed, return NULL rather than original clauses list.
8194
c7131fb2
AM
81952015-07-07 Andrew MacLeod <amacleod@redhat.com>
8196
8197 * array-notation-common.c: Adjust includes.
8198 * c-ada-spec.c: Likewise.
8199 * c-cilkplus.c: Likewise.
8200 * c-common.h: Likewise.
8201 * c-cppbuiltin.c: Likewise.
8202 * c-dump.c: Likewise.
8203 * c-format.c: Likewise.
8204 * c-gimplify.c: Likewise.
8205 * c-indentation.c: Likewise.
8206 * c-lex.c: Likewise.
8207 * c-omp.c: Likewise.
8208 * c-opts.c: Likewise.
8209 * c-pch.c: Likewise.
8210 * c-ppoutput.c: Likewise.
8211 * c-pragma.c: Likewise.
8212 * c-pretty-print.c: Likewise.
8213 * c-semantics.c: Likewise.
8214 * c-ubsan.c: Likewise.
8215 * cilk.c: Likewise.
8216 * stub-objc.c: Likewise.
8217
2a7fb83f
EB
82182015-07-07 Eric Botcazou <ebotcazou@adacore.com>
8219
8220 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
8221 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8222
a03c9bf1
JM
82232015-07-01 Jason Merrill <jason@redhat.com>
8224
36a85135
JM
8225 * c-common.h (D_CXX11): Rename from D_CXX0X.
8226 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8227 * c-common.c: Adjust.
8228
e7fa68d5
JM
8229 * c-opts.c (c_common_post_options): Default to C++14.
8230
a03c9bf1
JM
8231 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8232
fe95b036
ESR
82332015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8234
8235 Implement N4197 - Adding u8 character literals
b3d5bc62 8236 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8237 CPP_CHAR.
b3d5bc62 8238 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8239 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8240 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8241 and CPP_UTF8CHAR tokens.
8242 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8243
da2e71c9
MLI
82442015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8245
8246 PR fortran/66605
8247 * c-common.c (do_warn_unused_parameter): Move here.
8248 * c-common.h (do_warn_unused_parameter): Declare.
8249
b155cfd9
MP
82502015-06-29 Marek Polacek <polacek@redhat.com>
8251
8252 PR c/66322
8253 * c-common.c (check_case_bounds): Add bool * parameter. Set
8254 OUTSIDE_RANGE_P.
8255 (c_add_case_label): Add bool * parameter. Pass it down to
8256 check_case_bounds.
8257 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8258 warning here.
8259 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8260 declarations.
8261
31521951
MP
82622015-06-27 Marek Polacek <polacek@redhat.com>
8263
8264 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8265 or VECTOR_INTEGER_TYPE_P throughout.
8266 * c-gimplify.c: Likewise.
8267
22d03525
MP
82682015-06-26 Marek Polacek <polacek@redhat.com>
8269
8270 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8271 * c-common.c (c_fully_fold_internal): Likewise.
8272 (c_alignof_expr): Likewise.
8273 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8274 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8275 * cilk.c (create_parm_list): Likewise.
22d03525 8276
af05e6e5
MP
82772015-06-26 Marek Polacek <polacek@redhat.com>
8278
8279 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8280
f0889939
AM
82812015-06-25 Andrew MacLeod <amacleod@redhat.com>
8282
8283 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8284 * c-gimplify.c: Likewise.
8285 * c-pragma.c: Likewise.
8286 * c-ubsan.c: Likewise.
8287 * cilk.c: Likewise.
8288
ca752f39
RS
82892015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8290
8291 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8292 ggc_hasher.
8293
16a16ec7
AM
82942015-06-25 Andrew MacLeod <amacleod@redhat.com>
8295
8296 * cilk.c: Move calls.h after tm.h in the include chain.
8297
0ae9bd27
MP
82982015-06-25 Marek Polacek <polacek@redhat.com>
8299
8300 * array-notation-common.c: Use VAR_P throughout.
8301 * c-ada-spec.c: Likewise.
8302 * c-common.c: Likewise.
8303 * c-format.c: Likewise.
8304 * c-gimplify.c: Likewise.
8305 * c-omp.c: Likewise.
8306 * c-pragma.c: Likewise.
8307 * c-pretty-print.c: Likewise.
8308 * cilk.c: Likewise.
8309
62f9079a
MP
83102015-06-25 Marek Polacek <polacek@redhat.com>
8311
8312 * cilk.c (extract_free_variables): Use is_global_var.
8313
0fa16060
RS
83142015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8315
8316 * c-common.c: Don't include target-def.h.
8317
a68ae2e1
MP
83182015-06-23 Marek Polacek <polacek@redhat.com>
8319
8320 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8321 when comparing INTEGER_CSTs.
8322
c6a2f2d9
PMR
83232015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8324
8325 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8326 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8327 (dump_ada_template): Skip partially specialized types.
8328
6b4db501
MM
83292015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8330
8331 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8332 swapping.
8333
abb226c9
AM
83342015-06-17 Andrew MacLeod <amacleod@redhat.com>
8335
8336 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8337 * c-ada-spec.c: Likewise.
8338 * c-cilkplus.c: Likewise.
8339 * c-common.c: Likewise.
8340 * c-common.h: Likewise.
8341 * c-cppbuiltin.c: Likewise.
8342 * c-dump.c: Likewise.
8343 * c-format.c: Likewise.
8344 * c-gimplify.c: Likewise.
8345 * c-indentation.c: Likewise.
8346 * c-lex.c: Likewise.
8347 * c-omp.c: Likewise.
8348 * c-opts.c: Likewise.
8349 * c-pch.c: Likewise.
8350 * c-ppoutput.c: Likewise.
8351 * c-pragma.c: Likewise.
8352 * c-pretty-print.c: Likewise.
8353 * c-semantics.c: Likewise.
8354 * c-ubsan.c: Likewise.
8355 * cilk.c: Likewise.
8356 * stub-objc.c: Likewise.
8357
076fecad
PP
83582015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8359
8360 PR c++/65168
8361 * c-common.c (c_common_truthvalue_conversion): Warn when
8362 converting an address of a reference to a truth value.
8363
13fdf2e2
AM
83642015-06-08 Andrew MacLeod <amacleod@redhat.com>
8365
8366 * array-notation-common.c : Adjust include files.
8367 * c-ada-spec.c : Likewise.
8368 * c-cilkplus.c : Likewise.
8369 * c-common.c : Likewise.
8370 * c-common.h : Likewise.
8371 * c-cppbuiltin.c : Likewise.
8372 * c-dump.c : Likewise.
8373 * c-format.c : Likewise.
8374 * c-gimplify.c : Likewise.
8375 * c-indentation.c : Likewise.
8376 * c-lex.c : Likewise.
8377 * c-omp.c : Likewise.
8378 * c-opts.c : Likewise.
8379 * c-pch.c : Likewise.
8380 * c-ppoutput.c : Likewise.
8381 * c-pragma.c : Likewise.
8382 * c-pretty-print.c : Likewise.
8383 * c-semantics.c : Likewise.
8384 * c-ubsan.c : Likewise.
8385 * cilk.c : Likewise.
8386 * stub-objc.c : Likewise.
8387
a1661b90
MP
83882015-06-08 Marek Polacek <polacek@redhat.com>
8389
8390 PR c/66415
8391 * c-format.c (location_from_offset): Return LOC if LINE is null.
8392
d7438551
AH
83932015-06-05 Aldy Hernandez <aldyh@redhat.com>
8394
8395 * c-common.h (c_parse_final_cleanups): New prototype.
8396 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8397
b3d5bc62
JJ
83982015-06-04 Sriraman Tallam <tmsriram@google.com>
8399
8400 * c-common.c (noplt): New attribute.
8401 (handle_noplt_attribute): New handler.
8402
ecb9f223
AM
84032015-06-04 Andrew MacLeod <amacleod@redhat.com>
8404
8405 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8406 * c-ada-spec.c: Likewise.
8407 * c-cilkplus.c: Likewise.
8408 * c-common.c: Likewise.
8409 * c-common.h: Likewise.
8410 * c-cppbuiltin.c: Likewise.
8411 * c-dump.c: Likewise.
8412 * c-format.c: Likewise.
8413 * c-gimplify.c: Likewise.
8414 * c-indentation.c: Likewise.
8415 * c-lex.c: Likewise.
8416 * c-omp.c: Likewise.
8417 * c-opts.c: Likewise.
8418 * c-pch.c: Likewise.
8419 * c-ppoutput.c: Likewise.
8420 * c-pragma.c: Likewise.
8421 * c-pretty-print.c: Likewise.
8422 * c-semantics.c: Likewise.
8423 * c-ubsan.c: Likewise.
8424 * cilk.c: Likewise.
8425 * stub-objc.c: Likewise.
8426
6ac48155
DM
84272015-06-02 David Malcolm <dmalcolm@redhat.com>
8428
8429 PR c/66220:
8430 * c-indentation.c (should_warn_for_misleading_indentation): Use
8431 expand_location rather than expand_location_to_spelling_point.
8432 Don't warn if the guarding statement is more indented than the
8433 next/body stmts.
8434
773ce42e
DM
84352015-06-02 David Malcolm <dmalcolm@redhat.com>
8436
8437 * c-indentation.c (warn_for_misleading_indentation): Bail out
8438 immediately if -Wmisleading-indentation isn't enabled.
8439
4fef8379
ML
84402015-06-01 Martin Liska <mliska@suse.cz>
8441
8442 * c-format.c (check_format_arg):Use new type-based pool allocator.
8443 (check_format_info_main) Likewise.
8444
1edfb384
EB
84452015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8446
8447 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8448 (has_nontrivial_methods): Likewise.
8449
9677ef52
MP
84502015-05-25 Marek Polacek <polacek@redhat.com>
8451
8452 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8453
fd5c817a
MP
84542015-05-22 Marek Polacek <polacek@redhat.com>
8455
8456 PR c/47043
8457 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8458
a2f45fe6 84592015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8460
8461 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8462 STACK_GROWS_DOWNWARD.
8463
a2f45fe6 84642015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8465
8466 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8467 STACK_GROWS_DOWNWARD rather than if it is defined.
8468
0fee2ac2 84692015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8470
0fee2ac2
MLI
8471 PR c/52952
8472 * c-format.c (location_column_from_byte_offset): New.
8473 (location_from_offset): New.
8474 (struct format_wanted_type): Add offset_loc field.
8475 (check_format_info): Move handling of location for extra arguments
8476 closer to the point of warning.
8477 (check_format_info_main): Pass the result of location_from_offset
8478 to warning_at.
8479 (format_type_warning): Pass the result of location_from_offset
8480 to warning_at.
8481
cf4ef6f7
MP
84822015-05-20 Marek Polacek <polacek@redhat.com>
8483
8484 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8485
3a65ee74
MP
84862015-05-20 Marek Polacek <polacek@redhat.com>
8487
8488 * c-ada-spec.c (dump_sloc): Use DECL_P.
8489
21b634ae
MP
84902015-05-20 Marek Polacek <polacek@redhat.com>
8491
8492 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8493 * c-common.c: Likewise.
8494
0e50b624
DM
84952015-05-19 David Malcolm <dmalcolm@redhat.com>
8496
8497 * c-common.h (fe_file_change): Strengthen param from
8498 const line_map * to const line_map_ordinary *.
8499 (pp_file_change): Likewise.
8500 * c-lex.c (fe_file_change): Likewise.
8501 (cb_define): Use linemap_check_ordinary when invoking
8502 SOURCE_LINE.
8503 (cb_undef): Likewise.
8504 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8505 invoking cb_file_change.
8506 (c_finish_options): Likewise.
8507 (push_command_line_include): Likewise.
8508 (cb_file_change): Strengthen param "new_map" from
8509 const line_map * to const line_map_ordinary *.
8510 * c-ppoutput.c (cb_define): Likewise for local "map".
8511 (pp_file_change): Likewise for param "map" and local "from".
8512
fab27f52
MM
85132015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8514
8515 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8516
2fe1d762
TV
85172015-05-18 Tom de Vries <tom@codesourcery.com>
8518
8519 * c-common.c (build_va_arg_1): New function.
8520 (build_va_arg): Add address operator to va_list operand if necessary.
8521
7a37fa90
MM
85222015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8523
8524 PR c/48956
8525 * c-common.c (int_safely_convertible_to_real_p): Define.
8526 (unsafe_conversion_p): Check conversions involving complex types.
8527 (conversion_warning): Add new warning message for conversions which
8528 discard imaginary component.
8529 * c-common.h: (enum conversion_safety): Add new enumerator for such
8530 conversions.
8531
3aa3c9fc
MP
85322015-05-14 Marek Polacek <polacek@redhat.com>
8533
8534 PR c/66066
8535 PR c/66127
8536 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8537 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8538 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8539 use it. If FOR_INT_CONST, require that all evaluated operands be
8540 INTEGER_CSTs.
8541
c3388e62
DM
85422015-05-12 David Malcolm <dmalcolm@redhat.com>
8543
8544 * c-common.h (warn_for_misleading_indentation): New prototype.
8545 * c-indentation.c: New file.
8546 * c.opt (Wmisleading-indentation): New option.
8547
c7b38fd5
TV
85482015-05-12 Tom de Vries <tom@codesourcery.com>
8549
8550 PR tree-optimization/66010
8551 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8552
381bf11e
JM
85532015-05-09 Jason Merrill <jason@redhat.com>
8554
edff0c06
JM
8555 * c-opts.c (c_common_post_options): Also clear
8556 cpp_opts->cpp_warn_cxx11_compat.
8557
129211bc
JM
8558 * c-common.h (enum cxx_dialect): Add cxx_unset.
8559 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8560 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8561
381bf11e
JM
8562 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8563 (std=gnu++0x): Mark as Undocumented.
8564 (std=gnu++1y): Add deprecated message.
8565
fe191308
JM
85662015-05-08 Jason Merrill <jason@redhat.com>
8567
765189ff
JM
8568 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8569 * c-opts.c: Adjust.
8570
fe191308
JM
8571 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8572
755e528f
MP
85732015-05-08 Marek Polacek <polacek@redhat.com>
8574
8575 PR c/64918
8576 * c.opt (Woverride-init-side-effects): New option.
8577
0173bd2a
MP
85782015-05-07 Marek Polacek <polacek@redhat.com>
8579
8580 PR c/65179
8581 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8582 negative value.
8583 * c.opt (Wshift-negative-value): New option.
8584 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8585 when -Wextra and C99/C++11 mode.
8586
e0f0d3b9
MP
85872015-05-07 Marek Polacek <polacek@redhat.com>
8588 Martin Uecker <uecker@eecs.berkeley.edu>
8589
8590 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8591 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8592
8243e2a9
JM
85932015-05-05 Jason Merrill <jason@redhat.com>
8594
8595 * c.opt (Wterminate): New.
8596
577cd070
MP
85972015-04-30 Marek Polacek <polacek@redhat.com>
8598
8599 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8600 require that the non-constant be of a boolean type.
8601
0373796b
JT
86022015-04-29 Josh Triplett <josh@joshtriplett.org>
8603
e0f0d3b9
MP
8604 * c-common.c (handle_section_attribute): Refactor to reduce
8605 nesting and distinguish between error cases.
0373796b 8606
716c0ba6
MP
86072015-04-29 Marek Polacek <polacek@redhat.com>
8608
8609 PR c/64610
8610 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8611 with 0/1.
8612
8848828b
JJ
86132015-04-29 Jakub Jelinek <jakub@redhat.com>
8614
8615 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8616 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8617 HOST_BITS_PER_WIDE_INT.
8618
ecd0e562
TV
86192015-04-28 Tom de Vries <tom@codesourcery.com>
8620
8621 PR tree-optimization/65887
8622 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8623
2a877204 86242015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 8625 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
8626
8627 * c-ada-spec.c (in_function): Delete.
8628 (dump_generic_ada_node): Do not change in_function and remove the
8629 redundant code dealing with it.
8630 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
8631 (print_ada_methods): Output the static member functions in a nested
8632 package after the regular methods as well as associated renamings.
8633
4853031e
MP
86342015-04-24 Marek Polacek <polacek@redhat.com>
8635
8636 PR c/65830
8637 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8638 and OPT_Wshift_count_overflow.
8639
8c2b7f79
MP
8640 PR c/63357
8641 * c-common.c (warn_logical_operator): Warn if the operands have the
8642 same expressions.
8643
b8787813
MP
86442015-04-24 Marek Polacek <polacek@redhat.com>
8645
8646 PR c/61534
8647 * c-common.c (warn_logical_operator): Bail if either operand comes
8648 from a macro expansion.
8649
8fba1830
BRF
86502015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8651
8652 PR target/55143
8653 * c-common.c (c_default_pointer_mode): Add definition.
8654 * c-common.h (c_default_pointer_mode): Add declaration.
8655
17958621
JJ
86562015-03-11 Jakub Jelinek <jakub@redhat.com>
8657
8658 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8659 on record_builtin_type argument.
8660
7ccb1a11
JJ
86612015-03-10 Jakub Jelinek <jakub@redhat.com>
8662
8663 PR c/65120
8664 * c-common.c (warn_logical_not_parentheses): Don't warn for
8665 !x == 0 or !x != 0.
8666
04fd785e
MP
86672015-03-07 Marek Polacek <polacek@redhat.com>
8668
8669 PR sanitizer/65280
8670 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8671 before trying to figure out whether we have a flexible array member.
8672
a4e26206 86732015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8674 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8675
8676 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8677
0d2489f4
EB
86782015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8679
8680 PR ada/65319
8681 * c-ada-spec.c (print_destructor): Remove obsolete code.
8682
83ed54d7
EB
86832015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8684
8685 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8686 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8687 DECL_TEMPLATE_RESULT emulations.
8688 (dump_ada_template)): Add guard for TYPE_METHODS.
8689
7631f0e2
MP
86902015-02-27 Marek Polacek <polacek@redhat.com>
8691
8692 PR c/65040
8693 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8694
d1783ae5
KT
86952015-02-27 Kai Tietz <ktietz@redhat.com>
8696
8697 PR c/35330
8698 * c-pragma.c (handle_pragma_weak): Do not try to create
8699 weak/alias of declarations not being function, or variable
8700 declarations.
8701
56a9f6bc
TS
87022015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8703
8704 PR libgomp/64625
8705 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8706 Remove macros.
8707 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8708
3d5cb23d
MP
87092015-02-16 Marek Polacek <polacek@redhat.com>
8710
8711 PR c/65066
8712 * c-format.c (check_format_types): Handle null param.
8713
fa008882
MP
87142015-02-13 Marek Polacek <polacek@redhat.com>
8715
8716 PR c/65040
8717 * c-format.c (check_format_types): Don't warn about different
8718 signedness if the original value is in the range of WANTED_TYPE.
8719
785f21af
JM
87202015-02-12 Jason Merrill <jason@redhat.com>
8721
8722 PR c++/64956
8723 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8724 to the current highest version.
8725 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8726
4886ec8e
JJ
87272015-02-04 Jakub Jelinek <jakub@redhat.com>
8728
8729 PR c/64824
8730 PR c/64868
8731 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8732 instead of RDIV_EXPR. Use build_binary_op instead of
8733 build2_loc.
8734
40fecdd6
JM
87352015-01-30 Joseph Myers <joseph@codesourcery.com>
8736
8737 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8738 to pass input_location as first argument.
8739
a0c88d06
TV
87402015-01-23 Tom de Vries <tom@codesourcery.com>
8741
8742 PR libgomp/64672
8743 * c.opt (fopenacc): Mark as LTO option.
8744
1506ae0e
TV
87452015-01-23 Tom de Vries <tom@codesourcery.com>
8746
8747 PR libgomp/64707
8748 * c.opt (fopenmp): Mark as LTO option.
8749
31be63ab
JJ
87502015-01-21 Jakub Jelinek <jakub@redhat.com>
8751
8752 PR c/63307
b1726d6c 8753 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8754 (compare_decls): Fix up formatting.
8755
87562015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8757
8758 PR c/63307
8759 * cilk.c: Include vec.h.
8760 (struct cilk_decls): New structure.
8761 (wrapper_parm_cb): Split this function to...
8762 (fill_decls_vec): ...this...
8763 (create_parm_list): ...and this.
8764 (compare_decls): New function.
8765 (for_local_cb): Remove.
8766 (wrapper_local_cb): Ditto.
8767 (build_wrapper_type): For now first traverse and fill vector of
8768 declarations then sort it and then deal with sorted vector.
8769 (cilk_outline): Ditto.
8770 (declare_one_free_variable): Ditto.
8771
6875457f
JM
87722015-01-21 Jason Merrill <jason@redhat.com>
8773
8774 PR c++/64629
8775 * c-format.c (check_format_arg): Call decl_constant_value.
8776
185c9e56
ML
87772015-01-19 Martin Liska <mliska@suse.cz>
8778
8779 * c-common.c (handle_noicf_attribute): New function.
8780
41dbbb37
TS
87812015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8782 Bernd Schmidt <bernds@codesourcery.com>
8783 James Norris <jnorris@codesourcery.com>
8784 Cesar Philippidis <cesar@codesourcery.com>
8785 Ilmir Usmanov <i.usmanov@samsung.com>
8786 Jakub Jelinek <jakub@redhat.com>
8787
8788 * c.opt (fopenacc): New option.
8789 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8790 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8791 New macros.
8792 * c-common.h (c_finish_oacc_wait): New prototype.
8793 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8794 (c_finish_oacc_wait): New function.
8795 * c-pragma.c (oacc_pragmas): New variable.
8796 (c_pp_lookup_pragma, init_pragma): Handle it.
8797 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8798 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8799 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8800 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8801 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8802 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8803 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8804 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8805 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8806 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8807 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8808 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8809 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8810 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8811 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8812 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8813 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8814 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8815 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8816 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8817 PRAGMA_OACC_CLAUSE_WORKER.
8818
3f8257db 88192015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8820
8821 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8822 for the new option fstack-protector_explicit.
8823 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8824 (handle_stack_protect_attribute): New function.
8825
3f8257db 88262015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8827
8828 * c.opt: New option -Warray-bounds=.
8829
adfac8df
JJ
88302015-01-09 Michael Collison <michael.collison@linaro.org>
8831
8832 * array-notation-common.c: Include hash-set.h, machmode.h,
8833 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8834 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8835 * c-ada-spec.c: Ditto.
8836 * c-cilkplus.c: Ditto.
8837 * c-common.c: Include input.h due to flattening of tree.h.
8838 Define macro GCC_C_COMMON_C.
8839 * c-common.h: Flatten tree.h header files into c-common.h.
8840 Remove include of tree-core.h.
8841 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8842 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8843 fold-const.h, wide-int.h, and inchash.h due to
8844 flattening of tree.h.
8845 * c-dump.c: Ditto.
8846 * c-format.c: Flatten tree.h header files into c-common.h.
8847 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8848 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8849 fold-const.h, wide-int.h, and inchash.h due to
8850 flattening of tree.h.
8851 * c-dump.c: Include hash-set.h, machmode.h,
8852 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8853 fold-const.h, wide-int.h, and inchash.h due to
8854 flattening of tree.h.
8855 * c-format.c: Include hash-set.h, machmode.h,
8856 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8857 fold-const.h, wide-int.h, inchash.h and real.h due to
8858 flattening of tree.h.
8859 * c-gimplify.c: Include hash-set.h, machmode.h,
8860 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8861 fold-const.h, wide-int.h, and inchash.h due to
8862 flattening of tree.h.
8863 * cilk.c: Ditto.
8864 * c-lex.c: Ditto.
8865 * c-omp.c: Ditto.
8866 * c-opts.c: Ditto.
8867 * c-pch.c: Ditto.
8868 * c-ppoutput.c: Ditto.
8869 * c-pragma.c: Ditto.
8870 * c-pretty-print.c: Ditto.
8871 * c-semantics.c: Ditto.
8872 * c-ubsan.c: Ditto.
8873 * stub-objc.c: Ditto.
8874
f5481fc4
JM
88752015-01-08 Jason Merrill <jason@redhat.com>
8876
8877 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8878 do_ubsan_in_current_function.
8879 (ubsan_maybe_instrument_reference_or_call): Likewise.
8880 * c-ubsan.h: Declare it.
8881
de35aa66
MS
88822015-01-08 Mike Stump <mikestump@comcast.net>
8883
8884 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8885
4a9a42ab
MP
88862015-01-07 Marek Polacek <polacek@redhat.com>
8887
8888 PR c/64440
8889 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8890 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8891
2f42e5de
TS
88922015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8893
8894 PR c++/31397
8895 * c.opt (Wsuggest-override): New option.
8896
5624e564
JJ
88972015-01-05 Jakub Jelinek <jakub@redhat.com>
8898
8899 Update copyright years.
8900
5bd012f8
MP
89012015-01-05 Marek Polacek <polacek@redhat.com>
8902
8903 PR c/64423
8904 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8905 parameter. Use it.
8906 * c-common.h (warn_array_subscript_with_type_char): Update
8907 declaration.
8908
a7fa8d18
ESR
89092014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8910
8911 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8912 Control macro with flag_sized_deallocation.
8913
3f8257db 89142014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8915
8916 * c.opt (Wdiscarded-array-qualifiers): New option.
8917
1f8d3e84
JJ
89182014-12-19 Jakub Jelinek <jakub@redhat.com>
8919
8920 PR preprocessor/63831
8921 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8922 and __has_cpp_attribute here.
8923 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8924 c_common_has_attribute.
8925 * c-common.h (c_common_has_attribute): New prototype.
8926 * c-lex.c (init_c_lex): Set cb->has_attribute to
8927 c_common_has_attribute instead of cb_has_attribute.
8928 (get_token_no_padding): New function.
8929 (cb_has_attribute): Renamed to ...
8930 (c_common_has_attribute): ... this. No longer static. Use
8931 get_token_no_padding, require ()s, don't build TREE_LIST
8932 unnecessarily, fix up formatting, adjust diagnostics, call
8933 init_attributes.
8934
20b06add
JM
89352014-12-15 Jason Merrill <jason@redhat.com>
8936
8937 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8938 (-Wsized-deallocation): New.
8939 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8940 to on in C++14 and up.
8941
94a073b2
JM
89422014-12-11 Jason Merrill <jason@redhat.com>
8943
acaa5911
JM
8944 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8945
94a073b2
JM
8946 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8947 we aren't complaining about VLAs.
8948
7fb66c15
MP
89492014-12-06 Marek Polacek <polacek@redhat.com>
8950
8951 PR tree-optimization/64183
8952 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8953 shift-expression if it is integer_type_node. Use types_compatible_p.
8954
b731b390
JJ
89552014-11-29 Jakub Jelinek <jakub@redhat.com>
8956
8957 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8958 last argument from create_tmp_var_raw and create_tmp_var calls.
8959 * cilk.c (gimplify_cilk_spawn): Likewise.
8960 * c-omp.c (c_finish_omp_atomic): Likewise.
8961
6a4da643
MP
89622014-11-28 Marek Polacek <polacek@redhat.com>
8963
8964 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8965 instead of unsigned_type_node.
8966
541e35a6
MP
89672014-11-28 Marek Polacek <polacek@redhat.com>
8968
8969 PR c/63862
8970 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8971 to op1_utype.
8972 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8973 expression to unsigned_type_node.
8974
dcc97066
MW
89752014-11-20 Mark Wielaard <mjw@redhat.com>
8976
8977 PR debug/38757
8978 * c-opts.c (set_std_c89): Set lang_hooks.name.
8979 (set_std_c99): Likewise.
8980 (set_std_c11): Likewise.
8981 (set_std_cxx98): Likewise.
8982 (set_std_cxx11): Likewise.
8983 (set_std_cxx14): Likewise.
8984 (set_std_cxx1z): Likewise.
8985
aa7da51a
JJ
89862014-11-21 Jakub Jelinek <jakub@redhat.com>
8987
8988 PR target/63764
8989 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8990 return type to bool.
009a3480 8991 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8992 (convert_vector_to_pointer_for_subscript): Change return type to
8993 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8994 and copy it into a TARGET_EXPR and use that instead of *vecp
8995 directly.
8996
538dd0b7
DM
89972014-11-19 David Malcolm <dmalcolm@redhat.com>
8998
8999 Merger of git branch "gimple-classes-v2-option-3".
9000 * ChangeLog.gimple-classes: New.
9001 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
9002 from being just a vec<gimple> to a vec<gbind *>.
9003
c39a5e99
JJ
90042014-11-18 Jakub Jelinek <jakub@redhat.com>
9005
9006 PR sanitizer/63813
9007 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
9008 argument to ptype, set type to TREE_TYPE (ptype). Don't call
9009 get_pointer_alignment for non-pointers. Use ptype, or if it is
9010 reference type, corresponding pointer type, as type of kind
9011 argument.
9012 (ubsan_maybe_instrument_reference,
9013 ubsan_maybe_instrument_member_call): Adjust callers.
9014
8537a4a9
MP
90152014-11-15 Marek Polacek <polacek@redhat.com>
9016
9017 PR middle-end/63884
9018 * array-notation-common.c (is_sec_implicit_index_fn): Return false
9019 for NULL fndecl.
9020 (extract_array_notation_exprs): Return for NULL node.
9021
2079956a
JM
90222014-11-12 Joseph Myers <joseph@codesourcery.com>
9023
9024 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
9025 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
9026
1304953e
JJ
90272014-11-12 Jakub Jelinek <jakub@redhat.com>
9028
9029 PR c/59708
9030 * c-common.c (check_builtin_function_arguments): Handle
9031 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
9032
e5e44252
AK
90332014-11-10 Andi Kleen <ak@linux.intel.com>
9034
9035 PR c/60804
9036 * c-common.h (check_no_cilk): Declare.
9037 * cilk.c (get_error_location): New function.
9038 (check_no_cilk): Dito.
9039
e64b984d
AK
90402014-11-10 Andi Kleen <ak@linux.intel.com>
9041
9042 * cilk.c (recognize_spawn): Use expression location
9043 for error message.
9044
13c21655
PC
90452014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
9046
9047 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
9048
42fd12b1
ESR
90492014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
9050
9051 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
9052 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9053 (__cpp_range_based_for, __cpp_initializer_lists,
9054 __cpp_delegating_constructors, __cpp_nsdmi,
9055 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
9056 for C++11; (__cpp_attribute_deprecated): Remove in favor of
9057 __has_cpp_attribute.
9058 * c-lex.c (cb_has_attribute): New callback CPP function;
9059 (init_c_lex): Set has_attribute callback.
9060
6f450181
RB
90612014-11-04 Richard Biener <rguenther@suse.de>
9062
9063 * c-common.c (shorten_compare): Do not shorten mixed
9064 DFP and non-DFP compares.
9065
26f0e1d6
ESR
90662014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9067
9068 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
9069 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
9070 Commentary and rearrangement of tests.
9071 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
9072 Commentary and rearrangement of tests.
ab20d992 9073 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
9074 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
9075
ef4bddc2
RS
90762014-10-29 Richard Sandiford <richard.sandiford@arm.com>
9077
9078 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
9079 enum from machine_mode.
9080
c582198b
AM
90812014-10-28 Andrew MacLeod <amacleod@redhat.com>
9082
adfac8df
JJ
9083 * c-common.c: Adjust include files.
9084 * c-gimplify.c: Ditto.
9085 * cilk.c: Ditto.
9086 * c-pragma.c: Ditto.
9087 * c-ubsan.c: Ditto.
c582198b 9088
60393bbc
AM
90892014-10-27 Andrew MacLeod <amacleod@redhat.com>
9090
9091 * c-gimplify.c: Adjust include files.
9092
d723bb7c
MLI
90932014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
9094
9095 PR c++/53061
9096 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
9097 c_common_initialize_diagnostics.
9098 * c-common.h: Likewise.
9099
90f3520e
MP
91002014-10-24 Marek Polacek <polacek@redhat.com>
9101
9102 PR c/56980
9103 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
9104 print "struct"/"union"/"enum" for typedefed names.
9105
59d7607a
MP
91062014-10-23 Marek Polacek <polacek@redhat.com>
9107
9108 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
9109 in unsigned type.
9110
d95a2703
JJ
91112014-10-22 Jakub Jelinek <jakub@redhat.com>
9112 Yury Gribov <y.gribov@samsung.com>
9113
9114 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9115 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
9116 instead of flag_sanitize_recover as bool flag.
9117
8e6ef852
KY
91182014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
9119
9120 * cilk.c: Revert previous change.
9121
948cf550
IZ
91222014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
9123
9124 PR c/63307
9125 * cilk.c: Include vec.h.
9126 (struct cilk_decls): New structure.
9127 (wrapper_parm_cb): Split this function to...
9128 (fill_decls_vec): ...this...
9129 (create_parm_list): ...and this.
9130 (compare_decls): New function.
9131 (for_local_cb): Remove.
9132 (wrapper_local_cb): Ditto.
9133 (build_wrapper_type): For now first traverse and fill vector of
9134 declarations then sort it and then deal with sorted vector.
9135 (cilk_outline): Ditto.
9136 (declare_one_free_variable): Ditto.
9137
92574c7c
MP
91382014-10-17 Marek Polacek <polacek@redhat.com>
9139
9140 * c-opts.c (c_common_post_options): Set warn_implicit_int.
9141 * c.opt (Wimplicit-int): Initialize to -1.
9142
83685514
AM
91432014-10-16 Andrew MacLeod <amacleod@redhat.com>
9144
9145 * c-pragma.c: Adjust include files.
9146 * c-semantics.c: Likewise.
9147
5b8300ea
DD
91482014-10-16 DJ Delorie <dj@redhat.com>
9149
9150 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
9151 multiples of bytes.
9152
5f83e90b
JM
91532014-10-14 Jason Merrill <jason@redhat.com>
9154
9155 PR c++/63455
9156 * c-common.h (CPP_PREPARSED_EXPR): New.
9157 (N_CP_TTYPES): Adjust.
9158
d73326ca
MP
91592014-10-15 Marek Polacek <polacek@redhat.com>
9160
9161 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
9162
78a7c317
DD
91632014-10-14 DJ Delorie <dj@redhat.com>
9164
9165 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
9166 types, not just __int128.
9167 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
9168 types, not just __int128.
9169 (cpp_atomic_builtins): Round pointer sizes up.
9170 (type_suffix): Use type precision, not specific types.
9171 * c-common.c (c_common_reswords): Remove __int128 special case.
9172 (c_common_type_for_size): Check for all __intN types, not just
9173 __int128.
9174 (c_common_type_for_mode): Likewise.
9175 (c_common_signed_or_unsigned_type): Likewise.
9176 (c_build_bitfield_integer_type): Likewise.
9177 (c_common_nodes_and_builtins): Likewise.
9178 (keyword_begins_type_specifier): Likewise.
9179 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
9180 __intN variants.
9181
2a22f99c
TS
91822014-10-12 Trevor Saunders <tsaunders@mozilla.com>
9183
9184 * c-common.c: Use hash_table instead of hashtab.
9185
2a8ef767
ESR
91862014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
9187
adfac8df 9188 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
9189 C++11 section.
9190
3c9aabbd
MG
91912014-10-03 Marc Glisse <marc.glisse@inria.fr>
9192
9193 PR c++/54427
9194 PR c++/57198
9195 PR c++/58845
9196 * c-common.c (warn_logical_operator): Punt for vectors.
9197
a15f7cb8
ESR
91982014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9199
9200 Implement SD-6: SG10 Feature Test Recommendations
9201 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
9202 macros and the __has_header macro.
9203
8d0cf15e
JM
92042014-09-30 Jason Merrill <jason@redhat.com>
9205
dd5d5481
JM
9206 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
9207 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
9208 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9209
b752325e
JM
9210 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
9211 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9212
8d0cf15e
JM
9213 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
9214 * c-common.c (c_common_reswords): Remove __is_convertible_to.
9215
083e891e
MP
92162014-09-24 Marek Polacek <polacek@redhat.com>
9217
9218 PR c/61405
9219 PR c/53874
9220 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
9221
7861b648
AK
92222014-09-23 Andi Kleen <ak@linux.intel.com>
9223
9224 * c-common.c (handle_no_reorder_attribute): New function.
9225 (c_common_attribute_table): Add no_reorder attribute.
9226
9a79452d
JM
92272014-09-22 Joseph Myers <joseph@codesourcery.com>
9228
9229 * c-cppbuiltin.c (c_cpp_builtins): Define
9230 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9231 modes.
9232
dd69f047
JM
92332014-09-18 Joseph Myers <joseph@codesourcery.com>
9234
9235 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9236 for supported floating-point modes.
9237
737a4826
MLI
92382014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9239
9240 * c.opt (Wpsabi): Use LangEnabledBy.
9241 * c-opts.c (c_common_handle_option): Do not handle here.
9242
8cc4b7a2
JM
92432014-09-12 Joseph Myers <joseph@codesourcery.com>
9244
9245 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9246 macros for floating-point modes.
9247
179b5a55
MG
92482014-09-11 Marc Glisse <marc.glisse@inria.fr>
9249
9250 PR target/58757
9251 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9252 __*_DENORM_MIN__ without denormals.
9253
570a11fe
JJ
92542014-09-10 Jakub Jelinek <jakub@redhat.com>
9255
9256 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9257 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9258 ubsan_create_data callers.
9259 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9260 index is constant or BIT_AND_EXPR with constant mask and is
9261 small enough for the bound.
9262 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9263 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9264
b559c810
MLI
92652014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9266
9267 * c.opt: Add CppReason to various flags.
9268 (Wdate-time): Re-sort.
9269 * c-common.c: Include c-common.h earlier.
9270 (struct reason_option_codes_t): Delete.
9271 (c_option_controlling_cpp_error): Prefix global type and struct
9272 with cpp_.
9273
1ef33fd4
MLI
92742014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9275
9276 * c.opt (Wnormalized): New.
9277 (Wnormalized=): Use Enum and Reject Negative.
9278 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9279
66bb34c0
JM
92802014-09-08 Joseph Myers <joseph@codesourcery.com>
9281
9282 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9283 digits of floating-point modes if -fbuilding-libgcc.
9284
53d68b9f
JM
92852014-09-05 Joseph Myers <joseph@codesourcery.com>
9286
9287 * c-cppbuiltin.c (c_cpp_builtins): Also define
9288 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9289 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9290 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9291 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9292 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9293 __LIBGCC_STACK_GROWS_DOWNWARD__,
9294 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9295 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9296 __LIBGCC_DWARF_FRAME_REGISTERS__,
9297 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9298 __LIBGCC_STACK_POINTER_REGNUM__ and
9299 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9300 (builtin_define_with_value): Handle backslash-escaping in string
9301 macro values.
9302
f65586dc
RB
93032014-09-05 Richard Biener <rguenther@suse.de>
9304
9305 PR middle-end/63148
9306 * c-format.c (check_format_arg): Properly handle
9307 effectively signed POINTER_PLUS_EXPR offset.
9308
2b71f4a4
MLI
93092014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9310
9311 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9312 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9313 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9314 and Init.
9315 * c-opts.c (c_common_handle_option): Do not handle here.
9316 (sanitize_cpp_opts): Likewise.
9317 * c-common.c (struct reason_option_codes_t): Handle
9318 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9319
d2e4feca
MP
93202014-09-03 Marek Polacek <polacek@redhat.com>
9321
9322 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9323
9a771876
JJ
93242014-09-02 Jakub Jelinek <jakub@redhat.com>
9325 Balaji V. Iyer <balaji.v.iyer@intel.com>
9326 Igor Zamyatin <igor.zamyatin@intel.com>
9327
9328 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9329 * c-common.c (c_common_reswords): Added _Cilk_for.
9330 * c-common.h (enum rid): Added RID_CILK_FOR.
9331 (cilk_for_number_of_iterations): Add declaration.
9332 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9333 CILK_FOR.
9334 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9335 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9336
81b5d104
MLI
93372014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9338
9339 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9340 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9341 Wundef): Use CPP, Var and Init.
9342 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9343
b753b37b
MLI
93442014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9345
9346 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9347 * c-opts.c (c_common_handle_option): Do not handle here.
9348
028aee17
JM
93492014-08-25 Jason Merrill <jason@redhat.com>
9350
9351 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9352 -std=c++14 and -std=gnu++14, rather than the reverse.
9353 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9354 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9355 * c-common.h (cxx_dialect): Remove cxx1y.
9356
e4276ba5
ESR
93572014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9358
9359 * c-common.h (enum cxx_dialect): Add cxx14.
9360 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9361 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9362 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9363
a545cacd
JM
93642014-08-22 Jason Merrill <jason@redhat.com>
9365
9366 * c.opt (std=gnu++17): Fix alias.
9367
59ea0364
MP
93682014-08-22 Marek Polacek <polacek@redhat.com>
9369
9370 PR c++/62199
9371 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9372 check for vector types. Drop LHS argument.
9373 * c-common.h (warn_logical_not_parentheses): Adjust.
9374
596e808c
MLI
93752014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9376
9377 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9378 (Wmultichar): Likewise.
9379 (Wdate-time): Use C-family languages instead of Common. Use CPP
9380 and Var.
9381 * c-opts.c (c_common_handle_option): Do not handle the above
9382 options here.
9383 (sanitize_cpp_opts): Likewise.
9384
18767f65
MLI
93852014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9386
9387 PR fortran/44054
9388 * c-opts.c: Include tree-diagnostics.h.
9389 (c_diagnostic_finalizer): New.
9390 (c_common_initialize_diagnostics): Use it.
9391
b4413594
MLI
93922014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9393
9394 PR preprocessor/51303
9395 * c-common.c (struct reason_option_codes_t option_codes):
9396 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9397
43f9a13c
MLI
93982014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9399
9400 PR c/60975
9401 PR c/53063
9402 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9403 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9404 (c_common_post_options): Call init_global_opts_from_cpp.
9405 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9406
04159acf
MP
94072014-08-19 Marek Polacek <polacek@redhat.com>
9408
9409 PR c++/62153
9410 * c-common.c (maybe_warn_bool_compare): New function.
9411 * c-common.h (maybe_warn_bool_compare): Declare.
9412 * c.opt (Wbool-compare): New option.
9413
35aff4fb
MP
94142014-08-19 Marek Polacek <polacek@redhat.com>
9415
9416 * c.opt (Wc99-c11-compat): New option.
9417
177cce46
MP
94182014-08-19 Marek Polacek <polacek@redhat.com>
9419
9420 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9421 to warn_c90_c99_compat.
9422 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9423 to -1.
9424
6ae9194f
MLI
94252014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9426 Steven Bosscher <steven@gcc.gnu.org>
9427
9428 PR c/52952
9429 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9430 format_check_results.
9431 (check_function_format): Use true and add comment for boolean
9432 argument.
9433 (finish_dollar_format_checking): Use explicit location when warning.
9434 (check_format_info): Likewise.
9435 (check_format_arg): Set extra_arg_loc and format_string_loc.
9436 (check_format_info_main): Use explicit location when warning.
9437 (check_format_types): Pass explicit location.
9438 (format_type_warning): Likewise.
9439
8e54f6d3
MLI
94402014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9441
9442 PR fortran/44054
9443 * c-format.c: Handle Fortran flags.
9444
cd4e76fc
IZ
94452014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9446
9447 PR other/61962
9448 * array-notation-common.c (find_rank): Added handling for other
9449 types of references.
9450
f3bede71
MP
94512014-08-10 Marek Polacek <polacek@redhat.com>
9452
9453 PR c/51849
9454 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9455 * c.opt (Wc90-c99-compat): Add option.
9456
9f25a338
TS
94572014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9458
9459 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9460
62e4eb35
MP
94612014-08-03 Marek Polacek <polacek@redhat.com>
9462
ab20d992 9463 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9464 (c_add_case_label): Pass loc to check_case_value.
9465
b787e7a2
TS
94662014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9467
9468 * cilk.c: Use hash_map instead of pointer_map.
9469
6e2830c3
TS
94702014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9471
9472 * c-gimplify.c: Use hash_set instead of pointer_set.
9473
a7ee52fb
IZ
94742014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9475
9476 PR middle-end/61455
9477 * array-notation-common.c (extract_array_notation_exprs): Handling
9478 of DECL_EXPR added.
9479
944fa280
JJ
94802014-08-01 Jakub Jelinek <jakub@redhat.com>
9481
9482 * c-common.h (min_align_of_type): Removed prototype.
9483 * c-common.c (min_align_of_type): Removed.
9484 * c-ubsan.h (ubsan_maybe_instrument_reference,
9485 ubsan_maybe_instrument_member_call): New prototypes.
9486 * c-ubsan.c: Include stor-layout.h and builtins.h.
9487 (ubsan_maybe_instrument_reference_or_call,
9488 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9489 functions.
9490
b4dfdc11
MG
94912014-07-31 Marc Glisse <marc.glisse@inria.fr>
9492
9493 PR c++/60517
9494 * c.opt (-Wreturn-local-addr): Move to common.opt.
9495
a41844e5
JM
94962014-07-30 Jason Merrill <jason@redhat.com>
9497
9498 PR c++/61659
9499 PR c++/61687
9500 Revert:
9501 * c.opt (-fuse-all-virtuals): New.
9502
976d5a22
TT
95032014-07-30 Tom Tromey <tromey@redhat.com>
9504
9505 PR c/59855
9506 * c.opt (Wdesignated-init): New option.
9507 * c-common.c (c_common_attribute_table): Add "designated_init".
9508 (handle_designated_init): New function.
9509
cdc94aca
MP
95102014-07-24 Marek Polacek <polacek@redhat.com>
9511
9512 PR c/57653
9513 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9514
f41373b6
DS
95152014-07-16 Dodji Seketeli <dodji@redhat.com>
9516
9517 PR preprocessor/60723 - missing system-ness marks for macro tokens
9518 * c-ppoutput.c (struct print::prev_was_system_token): New data
9519 member.
9520 (init_pp_output): Initialize it.
9521 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9522 (do_line_change): Return a flag saying if a line marker was
9523 emitted or not.
9524 (scan_translation_unit): Detect if the system-ness of the token we
9525 are about to emit is different from the one of the previously
9526 emitted token. If so, emit a line marker. Avoid emitting useless
9527 adjacent line markers. Avoid emitting line markers for tokens
9528 originating from the expansion of built-in macros.
9529 (scan_translation_unit_directives_only): Adjust.
9530
4d661eaa
MP
95312014-07-15 Marek Polacek <polacek@redhat.com>
9532
9533 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9534 TYPE_MAX_VALUE is NULL.
9535
b108f48f
JJ
95362014-07-14 Jakub Jelinek <jakub@redhat.com>
9537
9538 PR middle-end/61294
9539 * c.opt (Wmemset-transposed-args): New warning.
9540
c0221884
JM
95412014-07-10 Jason Merrill <jason@redhat.com>
9542
9543 PR c++/61659
9544 PR c++/61687
9545 * c.opt (-fuse-all-virtuals): New.
9546
63dfbb95
RB
95472014-07-09 Richard Biener <rguenther@suse.de>
9548
9549 PR c-family/61741
9550 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9551 using unsigned arithmetic if overflow does not wrap instead of
9552 if overflow is undefined.
9553
773ec47f
MP
95542014-07-06 Marek Polacek <polacek@redhat.com>
9555
9556 PR c/6940
9557 * c.opt (Wsizeof-array-argument): New option.
9558
00a7ba58
JJ
95592014-07-03 Jakub Jelinek <jakub@redhat.com>
9560
b1726d6c 9561 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9562 comments->count <= 1, as comments->entries might be NULL.
9563
52ec0ea3
MP
95642014-07-01 Marek Polacek <polacek@redhat.com>
9565
9566 * c.opt (Wint-conversion): New option.
9567
d5c3d343
MP
95682014-07-01 Marek Polacek <polacek@redhat.com>
9569
9570 PR c/58286
9571 * c.opt (Wincompatible-pointer-types): New option.
9572
6e7ceb17
PC
95732014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9574
9575 PR c++/51400
9576 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9577 Do not discard TYPE_QUALS of type.
9578
da73100b
JM
95792014-06-26 Jason Merrill <jason@redhat.com>
9580
9581 * c-common.h (enum cxx_dialect): Add cxx1z.
9582 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9583 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9584
08eedf75
TJ
95852014-06-26 Teresa Johnson <tejohnson@google.com>
9586
9587 * c-common.h (get_dump_info): Declare.
9588 * c-gimplify.c (c_genericize): Use saved dump files.
9589 * c-opts.c (c_common_parse_file): Begin and end dumps
9590 once around parsing invocation.
9591 (get_dump_info): New function.
9592
7b56b2f8
MP
95932014-06-23 Marek Polacek <polacek@redhat.com>
9594 Andrew MacLeod <amacleod@redhat.com>
9595
9596 PR c/61553
9597 * c-common.c (get_atomic_generic_size): Don't segfault if the
9598 type doesn't have a size.
9599
0e37a2f3
MP
96002014-06-20 Marek Polacek <polacek@redhat.com>
9601
9602 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9603 (ubsan_walk_array_refs_r): New function.
9604 (c_genericize): Instrument array bounds.
9605 * c-ubsan.c: Include "internal-fn.h".
9606 (ubsan_instrument_division): Mark instrumented arrays as having
9607 side effects. Adjust ubsan_type_descriptor call.
9608 (ubsan_instrument_shift): Likewise.
9609 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9610 (ubsan_instrument_bounds): New function.
9611 (ubsan_array_ref_instrumented_p): New function.
9612 (ubsan_maybe_instrument_array_ref): New function.
9613 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9614 (ubsan_array_ref_instrumented_p): Declare.
9615 (ubsan_maybe_instrument_array_ref): Declare.
9616
96172014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9618
9619 PR lto/61123
9620 * c.opt (fshort-enums): Add to LTO.
9621 * c.opt (fshort-wchar): Likewise.
9622
5c3d09f7
MP
96232014-06-16 Marek Polacek <polacek@redhat.com>
9624
9625 PR c/60439
9626 * c.opt (Wswitch-bool): Add Var.
9627
9cf32741
JJ
96282014-06-12 Jakub Jelinek <jakub@redhat.com>
9629
9630 PR middle-end/61486
9631 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9632 #pragma omp target teams or
9633 #pragma omp {,target }teams distribute simd.
9634
62984918
JM
96352014-06-12 Jason Merrill <jason@redhat.com>
9636
9637 * c.opt (Wabi=, fabi-compat-version): New.
9638 * c-opts.c (c_common_handle_option): Handle -Wabi=.
9639 (c_common_post_options): Handle flag_abi_compat_version default.
9640 Disallow -fabi-compat-version=1.
9641 * c-common.h (abi_version_crosses): New.
9642
f961457f
JH
96432014-06-11 Jan Hubicka <hubicka@ucw.cz>
9644
adfac8df 9645 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9646 section names that are no longer trees.
9647
92d28cbb
JJ
96482014-06-10 Jakub Jelinek <jakub@redhat.com>
9649
9650 PR fortran/60928
9651 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9652 (omp_pragmas): ... back here.
9653
742938c9
MP
96542014-06-05 Marek Polacek <polacek@redhat.com>
9655
9656 PR c/49706
9657 * c-common.c (warn_logical_not_parentheses): New function.
9658 * c-common.h (warn_logical_not_parentheses): Declare.
9659 * c.opt (Wlogical-not-parentheses): New option.
9660
9d548dfb
MP
96612014-06-04 Marek Polacek <polacek@redhat.com>
9662
9663 PR c/30020
9664 * c-common.c (check_case_bounds): Add location parameter.
9665 Use it.
9666 (c_add_case_label): Pass loc to check_case_bounds.
9667
fedfecef
MP
96682014-06-03 Marek Polacek <polacek@redhat.com>
9669
9670 PR c/60439
9671 * c.opt (Wswitch-bool): New option.
9672
f6a7cffc
TS
96732014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9674
040d18b6
TS
9675 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9676 Remove prototypes.
9677 (record_types_used_by_current_var_decl): Move prototype to where
9678 it belongs.
9679
f6a7cffc
TS
9680 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9681 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9682 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9683
632f2871
RS
96842014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9685
9686 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9687 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9688 void_zero_node.
9689 * c-pretty-print.c (pp_c_void_constant): New function.
9690 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9691 (c_pretty_printer::expression): Handle VOID_CST.
9692 * cilk.c (extract_free_variables): Likewise.
9693 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9694 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9695
766090c2
TS
96962014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9697
9698 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9699 * c-pragma.c (push_alignment): Adjust.
9700 (handle_pragma_push_options): Likewise.
9701
661a0813
MP
97022014-05-09 Marek Polacek <polacek@redhat.com>
9703
9704 PR c/50459
9705 * c-common.c (check_user_alignment): Return -1 if alignment is error
9706 node.
9707 (handle_aligned_attribute): Don't call default_conversion on
9708 FUNCTION_DECLs.
9709 (handle_vector_size_attribute): Likewise.
9710 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9711 (handle_sentinel_attribute): Call default_conversion and allow even
9712 integral types as an argument.
9713
2793eeab
MP
97142014-05-08 Marek Polacek <polacek@redhat.com>
9715
9716 PR c/61053
9717 * c-common.c (min_align_of_type): New function factored out from...
9718 (c_sizeof_or_alignof_type): ...here.
9719 * c-common.h (min_align_of_type): Declare.
9720
f827930a
MP
97212014-05-08 Marek Polacek <polacek@redhat.com>
9722
9723 PR c/61077
9724 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9725 parameter type of main.
9726
ca49b74e
DD
97272014-05-07 DJ Delorie <dj@redhat.com>
9728
9729 * c-cppbuiltin.c (print_bits_of_hex): New.
9730 (builtin_define_type_minmax): Print values using hex so as not to
9731 require a pre-computed list of string values.
9732
1d60af08
KZ
97332014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9734 Mike Stump <mikestump@comcast.net>
9735 Richard Sandiford <rdsandiford@googlemail.com>
9736
9737 * c-ada-spec.c: Include wide-int.h.
9738 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9739 (dump_generic_ada_node): Use wide-int interfaces.
9740 * c-common.c: Include wide-int-print.h.
9741 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9742 (pointer_int_sum): Use wide-int interfaces.
9743 (c_common_nodes_and_builtins): Use make_int_cst.
9744 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9745 (handle_alloc_size_attribute): Use wide-int interfaces.
9746 (get_nonnull_operand): Likewise.
9747 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9748 * c-lex.c: Include wide-int.h.
9749 (narrowest_unsigned_type): Take a widest_int rather than two
9750 HOST_WIDE_INTs.
9751 (narrowest_signed_type): Likewise.
9752 (interpret_integer): Update accordingly. Use wide-int interfaces.
9753 (lex_charconst): Use wide-int interfaces.
9754 * c-pretty-print.c: Include wide-int.h.
9755 (pp_c_integer_constant): Use wide-int interfaces.
9756 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9757 INT_CST_LT_UNSIGNED.
9758
b15458be
RB
97592014-05-06 Richard Biener <rguenther@suse.de>
9760
9761 * c-opts.c (c_common_post_options): For -freestanding,
9762 -fno-hosted and -fno-builtin disable pattern recognition
9763 if not enabled explicitely.
9764
6577374e
MP
97652014-05-02 Marek Polacek <polacek@redhat.com>
9766
9767 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9768
d00887e8
MP
97692014-05-01 Marek Polacek <polacek@redhat.com>
9770
9771 PR c/43245
9772 * c.opt (Wdiscarded-qualifiers): Add.
9773
f8ed5150
MP
97742014-04-30 Marek Polacek <polacek@redhat.com>
9775
9776 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9777 INT_MIN / -1 sanitization only for integer types.
9778
45484dcf
MP
97792014-04-25 Marek Polacek <polacek@redhat.com>
9780
9781 PR c/18079
9782 * c-common.c (handle_noinline_attribute): Warn if the attribute
9783 conflicts with always_inline attribute.
9784 (handle_always_inline_attribute): Warn if the attribute conflicts
9785 with noinline attribute.
9786
38e514c0
MP
97872014-04-25 Marek Polacek <polacek@redhat.com>
9788
9789 PR c/60156
9790 * c-common.c (check_main_parameter_types): Warn about variadic main.
9791
44875f92
MS
97922014-04-24 Mike Stump <mikestump@comcast.net>
9793
9794 * c.opt (Wshadow-ivar): Default to on.
9795
dcaaa5a0
DP
97962014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9797
9798 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9799
c07d7c02
MP
98002014-04-23 Marek Polacek <polacek@redhat.com>
9801
9802 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9803
1c33c9b7
JJ
98042014-04-22 Jakub Jelinek <jakub@redhat.com>
9805
9806 PR sanitizer/60275
9807 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9808 if flag_sanitize_undefined_trap_on_error.
9809 (ubsan_instrument_division, ubsan_instrument_shift,
9810 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9811 if !flag_sanitize_recover.
9812
793c625f
MG
98132014-04-22 Marc Glisse <marc.glisse@inria.fr>
9814
9815 PR libstdc++/43622
9816 * c-common.c (registered_builtin_types): Make non-static.
9817 * c-common.h (registered_builtin_types): Declare.
9818
b0f1bf36 98192014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9820 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9821
9822 PR c/60819
9823 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9824 apply may-alias the scalar pointer type when applicable.
9825
3b07fa4a
IZ
98262014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9827
9828 PR middle-end/60467
9829 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9830 as possible argument for Cilk_spawn.
9831
cbbd2b1c
TB
98322014-04-11 Tobias Burnus <burnus@net-b.de>
9833
9834 PR c/60194
9835 * c.opt (Wformat-signedness): Add
9836 * c-format.c(check_format_types): Use it.
9837
6415bd5d
JM
98382014-04-11 Jason Merrill <jason@redhat.com>
9839
9840 PR c++/57926
9841 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9842 default_conversion for an array argument.
9843
6525783a
MP
98442014-04-08 Marek Polacek <polacek@redhat.com>
9845
9846 PR sanitizer/60745
9847 * c-ubsan.c: Include asan.h.
9848 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9849
880a467b
NS
98502014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9851
9852 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9853
7b59ff2d
MP
98542014-04-02 Marek Polacek <polacek@redhat.com>
9855
9856 * c-common.h (c_expand_expr): Remove declaration.
9857
8edbfaa6
JJ
98582014-03-28 Jakub Jelinek <jakub@redhat.com>
9859
9860 PR c++/60689
9861 * c-common.c (add_atomic_size_parameter): When creating new
9862 params vector, push the size argument first.
9863
07d72e1d
JJ
98642014-03-26 Jakub Jelinek <jakub@redhat.com>
9865
9866 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9867 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9868 ubsan_create_data callers.
9869
b35e0fa0
JJ
98702014-03-22 Jakub Jelinek <jakub@redhat.com>
9871
9872 PR debug/60603
9873 * c-opts.c (c_finish_options): Restore cb_file_change call to
9874 <built-in>.
9875
39a1ebb3
JJ
98762014-03-13 Jakub Jelinek <jakub@redhat.com>
9877
9878 PR middle-end/36282
9879 * c-pragma.c (apply_pragma_weak): Only look at
9880 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9881 DECL_ASSEMBLER_NAME_SET_P (decl).
9882 (maybe_apply_pending_pragma_weaks): Exit early if
9883 vec_safe_is_empty (pending_weaks) rather than only when
9884 !pending_weaks.
9885 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9886 set assembler name back to NULL afterwards.
9887
a07f6ed2
JM
98882014-03-11 Jason Merrill <jason@redhat.com>
9889
9890 * c.opt: Add -std=gnu++14.
9891
75b107f5
IB
98922014-03-11 Ian Bolton <ian.bolton@arm.com>
9893
9894 * c-opts.c (c_common_post_options): Don't override
9895 -ffp-contract=fast if unsafe-math-optimizations is on.
9896
f42c637e
PM
98972014-03-08 Paulo Matos <paulo@matos-sorge.com>
9898
22b15758 9899 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9900
70e24808
JM
99012014-03-07 Jason Merrill <jason@redhat.com>
9902
9903 * c.opt: Add -std=c++14.
9904
3af9c5e9
MP
99052014-03-06 Marek Polacek <polacek@redhat.com>
9906
9907 PR c/60197
9908 * cilk.c (contains_cilk_spawn_stmt): New function.
9909 (contains_cilk_spawn_stmt_walker): Likewise.
9910 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9911 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9912
b3bdf019
JJ
99132014-03-03 Jakub Jelinek <jakub@redhat.com>
9914
9915 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9916 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9917 even when flag_preprocess_only.
9918
ca7e759d
JM
99192014-02-26 Jason Merrill <jason@redhat.com>
9920
9921 PR c++/59231
9922 PR c++/11586
9923 * c-common.c (shorten_compare): Don't check
9924 c_inhibit_evaluation_warnings.
9925
28e41874
JJ
99262014-02-19 Jakub Jelinek <jakub@redhat.com>
9927
cca615af
JJ
9928 PR c/37743
9929 * c-common.c (c_common_nodes_and_builtins): When initializing
9930 c_uint{16,32,64}_type_node, also set corresponding
9931 uint{16,32,64}_type_node to the same value.
9932
28e41874
JJ
9933 PR c++/60267
9934 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9935 for PRAGMA_IVDEP if flag_preprocess_only.
9936
c2bf53a1
JJ
99372014-02-12 Jakub Jelinek <jakub@redhat.com>
9938
9939 PR c/60101
9940 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9941 if false, add ADD itself, rather than vice versa.
9942 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9943 copy. For SAVE_EXPR, only call merge_tlist once.
9944
8fcbce72
JJ
99452014-02-08 Jakub Jelinek <jakub@redhat.com>
9946
9947 PR middle-end/60092
9948 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9949 and tree_to_uhwi.
9950 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9951 functions.
9952 (c_common_attribute_table): Add alloc_align and assume_aligned
9953 attributes.
9954
0a756a3f
MP
99552014-02-06 Marek Polacek <polacek@redhat.com>
9956
9957 PR c/60087
9958 * c-common.c (warn_for_sign_compare): Call warning_at with location
9959 instead of warning.
9960
7ec4847a
MP
99612014-02-05 Marek Polacek <polacek@redhat.com>
9962
9963 PR c/53123
9964 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9965 statement.
9966
66f20604
MP
99672014-02-04 Marek Polacek <polacek@redhat.com>
9968
9969 PR c/60036
9970 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9971 SAVE_EXPR.
9972
5d77fb19
MG
99732014-02-03 Marc Glisse <marc.glisse@inria.fr>
9974
9975 PR c++/53017
9976 PR c++/59211
9977 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9978 handle_vector_size_attribute, handle_nonnull_attribute): Call
9979 default_conversion on the attribute argument.
9980 (handle_nonnull_attribute): Increment the argument number.
9981
81e5eca8
MP
99822014-01-31 Marek Polacek <polacek@redhat.com>
9983
9984 PR c/59963
9985 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9986 build_function_call_vec.
9987 (resolve_overloaded_builtin): Likewise.
9988 * c-common.h (build_function_call_vec): Adjust declaration.
9989
68fca595
MP
99902014-01-30 Marek Polacek <polacek@redhat.com>
9991
9992 PR c/59940
9993 * c-common.h (unsafe_conversion_p): Adjust declaration.
9994 (warnings_for_convert_and_check): Likewise.
9995 (convert_and_check): Likewise.
9996 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9997 expansion_point_location_if_in_system_header on it.
9998 (warnings_for_convert_and_check): Add location parameter. Call
9999 expansion_point_location_if_in_system_header on it. Use it.
10000 (convert_and_check): Add location parameter. Use it.
10001 (conversion_warning): Likewise.
10002 (c_add_case_label): Adjust convert_and_check calls.
10003 (scalar_to_vector): Adjust unsafe_conversion_p calls.
10004
b72271b9
BI
100052014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
10006
10007 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
10008 flag_cilkplus.
10009 * c-pragma.c (init_pragma): Likewise.
10010 * c.opt: Likewise.
10011
393e8e8b
MP
100122014-01-23 Marek Polacek <polacek@redhat.com>
10013
10014 PR c/59846
10015 * c-common.c (shorten_compare): Add location_t parameter.
10016 * c-common.h (shorten_binary_op): Adjust declaration.
10017
f04dda30
MP
100182014-01-23 Marek Polacek <polacek@redhat.com>
10019
10020 PR c/58346
10021 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
10022 * c-common.h: Declare it.
10023
621955cb
EB
100242014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10025
10026 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
10027 * c-ada-spec.c (dump_ads): Likewise.
10028 (cpp_check): Likewise.
10029 (dump_ada_specs): Likewise.
10030
100312014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
10032
10033 PR c++/49718
10034 * c-common.c (handle_no_instrument_function_attribute): Allow
10035 no_instrument_function attribute in class member
10036 definition/declaration.
10037
241f845a
JJ
100382014-01-15 Jakub Jelinek <jakub@redhat.com>
10039
10040 PR c/58943
10041 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
10042 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
10043 being COMPOUND_EXPR.
10044 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
10045 operand a SAVE_EXPR and second MODIFY_EXPR.
10046
e83b8e2e
JJ
100472014-01-09 Jakub Jelinek <jakub@redhat.com>
10048
10049 PR target/58115
10050 * c-pch.c (c_common_write_pch): Call
10051 prepare_target_option_nodes_for_pch.
10052
23a5b65a
RS
100532014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10054
10055 Update copyright years
10056
f9030485
RS
100572014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10058
10059 * array-notation-common.c, c-cilkplus.c: Use the standard form for
10060 the copyright notice.
10061
f2aa696b
EB
100622013-12-28 Eric Botcazou <ebotcazou@adacore.com>
10063
10064 * c-ada-spec.c (print_constructor): New function.
10065 (print_destructor): Retrieve the origin of the destructor.
10066 (print_ada_declaration): Revamp handling of constructors/destructors.
10067
3f8257db 100682013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
10069 Bill Maddox <maddox@google.com>
10070 Jason Merrill <jason@redhat.com>
10071
10072 * c.opt: Add -fdeclone-ctor-dtor.
10073 * c-opts.c (c_common_post_options): Default to on iff -Os.
10074
41958c28
BI
100752013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
10076
10077 * c-common.c (c_common_attribute_table): Added "cilk simd function"
10078 attribute.
10079 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 10080 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
10081 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
10082 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
10083 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
10084 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
10085 PRAGMA_CILK_CLAUSE_UNIFORM.
10086
b1726d6c 10087
12893402
BI
100882013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
10089
10090 * cilk.c (cilk_outline): Made this function non-static.
10091 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
10092 (create_cilk_wrapper): Added a new parameter: a function pointer.
10093 (c_install_body_w_frame_cleanup): Remove
10094 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
10095 * c-common.h (cilk_outline): New prototype.
10096 (gimplify_cilk_spawn): Removed two parameters.
10097 (cilk_install_body_with_frame_cleanup): New prototype.
10098 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
10099 CILK_SPAWN_STMT case.
10100
085b42ed
BS
101012013-12-11 Bernd Schmidt <bernds@codesourcery.com>
10102
2ce064c3
BS
10103 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
10104
085b42ed
BS
10105 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
10106 (int_array_type_node): Remove.
10107 * c-common.c (c_common_nodes_and_builtins): Don't build it.
10108
9e36c9ed
MP
101092013-12-05 Marek Polacek <polacek@redhat.com>
10110
10111 PR c/52023
10112 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
10113 [ADJUST_FIELD_ALIGN].
10114
296674db
JM
101152013-12-04 Joseph Myers <joseph@codesourcery.com>
10116
10117 PR c/52023
10118 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
10119 and check field alignment if set.
10120 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
10121 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
10122
b1726d6c 101232013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
10124 Marek Polacek <polacek@redhat.com>
10125
10126 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
10127 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
10128
d7947e19
L
101292013-11-29 H.J. Lu <hongjiu.lu@intel.com>
10130
10131 PR c/59309
10132 * cilk.c (gimplify_cilk_spawn): Properly handle function without
10133 arguments.
10134
fad7652e
JJ
101352013-11-29 Jakub Jelinek <jakub@redhat.com>
10136
10137 PR c/59280
10138 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
10139 goto invalid. If it is error_mark_node, don't issue further
10140 diagnostics.
10141
8b5e1202
SO
101422013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
10143
10144 * c.opt (Wopenmp-simd): New.
10145
0a508bb6
JJ
101462013-11-22 Jakub Jelinek <jakub@redhat.com>
10147
10148 * c-ubsan.h (ubsan_instrument_return): New prototype.
10149 * c-ubsan.c (ubsan_instrument_return): New function.
10150
2fb9a547
AM
101512013-11-22 Andrew MacLeod <amacleod@redhat.com>
10152
10153 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
10154 * c-gimplify.c: Likewise.
10155 * cilk.c: Likewise.
2fb9a547 10156
8400e75e
DM
101572013-11-22 David Malcolm <dmalcolm@redhat.com>
10158
10159 * c-common.c (unsafe_conversion_p): Remove use of
10160 EXPR_LOC_OR_HERE macro.
10161 (conversion_warning): Likewise.
10162 (warnings_for_convert_and_check): Likewise.
10163 (warn_for_collisions_1): Likewise.
10164 (shorten_compare): Likewise, and remove use of in_system_header
10165 macro, using the location from the former.
10166 * c-lex.c (dump_one_header): Remove use of input_filename macro.
10167 (cb_def_pragma): Remove use of in_system_header macro.
10168 (lex_string): Likewise.
10169 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10170
eb1ce453
KZ
101712013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10172 Mike Stump <mikestump@comcast.net>
10173 Richard Sandiford <rdsandiford@googlemail.com>
10174
10175 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
10176 instead of TREE_INT_CST_LOW, in cases where there is a protecting
10177 tree_fits_shwi_p or tree_fits_uhwi_p.
10178 (dump_generic_ada_node): Likewise.
10179 * c-format.c (check_format_arg): Likewise.
10180 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10181
6b3b8c27
KZ
101822013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10183
10184 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
10185
49b0aa18
JC
101862013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
10187
10188 PR c/53001
10189 * c-common.c (unsafe_conversion_p): Make this function
10190 return an enumeration with more detail.
10191 (conversion_warning): Use the new return type of
10192 unsafe_conversion_p to separately warn either about conversions
10193 that lower floating point number precision or about the other
10194 kinds of conversions.
10195 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
10196 (unsafe_conversion_p): switching return type to
10197 conversion_safety enumeration.
49b0aa18
JC
10198 * c.opt: Adding new warning -Wfloat-conversion and
10199 enabling it with -Wconversion.
10200
b826515a
BS
102012013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
10202
8e745a17
JJ
10203 * c-opts.c: Include plugin.h.
10204 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 10205
b9a55b13
MP
102062013-11-19 Marek Polacek <polacek@redhat.com>
10207
10208 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
10209 call.
10210 (ubsan_instrument_shift): Likewise.
10211 (ubsan_instrument_vla): Likewise.
10212
7d362f6c
RS
102132013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10214
10215 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
10216 cast to unsigned type.
10217
386b1f1f
RS
102182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10219
10220 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
10221 tree_low_cst.
10222 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10223 rather than tree_low_cst.
10224
ae7e9ddd
RS
102252013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10226
10227 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10228 tree_to_uhwi throughout.
10229
9439e9a1
RS
102302013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10231
10232 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10233 tree_low_cst (..., 0) with tree_to_shwi throughout.
10234
cc269bb6
RS
102352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10236
10237 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10238 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10239
9541ffee
RS
102402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10241
10242 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10243 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10244
c02065fc
AH
102452013-11-15 Aldy Hernandez <aldyh@redhat.com>
10246
10247 * c-cilkplus.c: New file.
10248 * c-common.c (readonly_error): Add location argument.
10249 * c-common.h (readonly_error): Same.
10250 (c_finish_cilk_clauses): Protoize.
10251 (c_check_cilk_loop): Same.
10252 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10253 Do not fail on error_mark_node.
10254 Abstract increment canonicalization to here...
10255 (c_omp_for_incr_canonicalize_ptr): New.
10256 c-pragma.c (init_pragma): Register "simd" pragma.
10257 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10258 (enum pragma_cilk_clause): New.
10259
9cc65f15
RS
102602013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10261
10262 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10263 wchar_type and host_integerp checks.
10264
18f429e2
AM
102652013-11-14 Andrew MacLeod <amacleod@redhat.com>
10266
10267 * c-common.c: Likewise.
10268 * c-gimplify.c: Likewise.
10269 * cilk.c: Likewise.
10270
d8a2d370
DN
102712013-11-14 Diego Novillo <dnovillo@google.com>
10272
10273 * c-common.c: Include fold-const.h.
10274 Include stor-layout.h.
10275 Include calls.h.
10276 Include stringpool.h.
10277 Include attribs.h.
10278 Include varasm.h.
10279 Include trans-mem.h.
10280 * c-cppbuiltin.c: Include stor-layout.h.
10281 Include stringpool.h.
10282 * c-format.c: Include stringpool.h.
10283 * c-lex.c: Include stringpool.h.
10284 Include stor-layout.h.
10285 * c-pragma.c: Include stringpool.h.
10286 Include attribs.h.
10287 Include varasm.h.
10288 Include gcc-symtab.h.
10289 * c-pretty-print.c: Include stor-layout.h.
10290 Include attribs.h.
10291 * cilk.c: Include stringpool.h.
10292 Include calls.h.
10293
38b7bc7f
JM
102942013-11-13 Joseph Myers <joseph@codesourcery.com>
10295
10296 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10297 * c-common.c (c_common_reswords): Add __auto_type.
10298 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10299
45b0be94
AM
103002013-11-12 Andrew MacLeod <amacleod@redhat.com>
10301
18f429e2
AM
10302 * c-common.c: Include gimplify.h.
10303 * c-gimplify.c: Likewise.
10304 * cilk.c: Likewise.
10305 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10306 * c-ubsan.c: Don't include gimple.h.
45b0be94 10307
582d9b50
JM
103082013-11-12 Joseph Myers <joseph@codesourcery.com>
10309
10310 * c-common.c (c_common_reswords): Add _Thread_local.
10311
6b28e197
JM
103122013-11-09 Joseph Myers <joseph@codesourcery.com>
10313
10314 * c-common.c (atomic_size_supported_p): New function.
10315 (resolve_overloaded_atomic_exchange)
10316 (resolve_overloaded_atomic_compare_exchange)
10317 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10318 Use it instead of comparing size with a local list of sizes.
10319
267bac10
JM
103202013-11-07 Andrew MacLeod <amacleod@redhat.com>
10321 Joseph Myers <joseph@codesourcery.com>
10322
10323 * c-common.h (enum rid): Add RID_ATOMIC.
10324 * c-common.c (c_common_reswords): Add _Atomic.
10325 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10326 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10327 * c-format.c (check_format_types): Check for extra _Atomic
10328 qualifiers in format argument.
10329 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10330 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10331
5157b91e
TB
103322013-11-06 Tobias Burnus <burnus@net-b.de>
10333
10334 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10335
6dbe0958
JM
103362013-11-06 Joseph Myers <joseph@codesourcery.com>
10337
10338 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10339 standards modes.
10340 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10341 to mean lack of IEEE 754 support.
10342
e8ff5196
TB
103432013-11-05 Tobias Burnus <burnus@net-b.de>
10344
10345 * c.opt (-Wdate-time): New option
10346 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10347
254a0760
JM
103482013-11-05 Joseph Myers <joseph@codesourcery.com>
10349
10350 * c-cppbuiltin.c (cpp_iec_559_value): Test
10351 flag_excess_precision_cmdline not flag_excess_precision.
10352
6d7f7e0a
TB
103532013-11-05 Tobias Burnus <burnus@net-b.de>
10354
10355 * c.opt (fopenmp-simd): New option.
10356 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10357 (omp_pragmas): ... this new struct.
10358 (c_pp_lookup_pragma): Also walk omp_pragmas.
10359 (init_pragma): Init pragmas for -fopenmp-simd.
10360
55a7f02f
MP
103612013-11-04 Marek Polacek <polacek@redhat.com>
10362
10363 PR c++/58979
10364 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10365
9193fb05
JM
103662013-11-04 Joseph Myers <joseph@codesourcery.com>
10367
10368 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10369 New functions.
10370 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10371
94159ecf
EB
103722013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10373
10374 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10375 (dump_ada_specs): Adjust prototype of second callback.
10376 * c-ada-spec.c (cpp_check): New global variable.
10377 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10378 (print_generic_ada_decl): Likewise.
10379 (has_static_fields): Change return type to bool and add guard.
10380 (has_nontrivial_methods): New predicate.
10381 (is_tagged_type): Change return type to bool.
10382 (separate_class_package): Call has_nontrivial_methods.
10383 (pp_ada_tree_identifier): Minor tweaks.
10384 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10385 (dump_ada_array_domains): Likewise.
10386 (dump_ada_array_type): Likewise.
10387 (dump_template_types): Remove cpp_check parameter and do not pass it to
10388 dump_generic_ada_node.
10389 (dump_ada_template): Likewise.
10390 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10391 recursively.
10392 (print_ada_methods): Change return type to integer. Remove cpp_check
10393 parameter and do not pass it down.
10394 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10395 dump_generic_ada_node.
10396 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10397 accessing methods.
10398 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10399 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10400 value of print_ada_methods.
10401 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10402 Set cpp_check to it before invoking dump_ada_nodes.
10403 (dump_ada_specs): Likewise.
10404
b906f4ca
MP
104052013-11-03 Marek Polacek <polacek@redhat.com>
10406
10407 * c-ubsan.c: Don't include hash-table.h.
10408 (ubsan_instrument_vla): New function.
10409 * c-ubsan.h: Declare it.
10410
5e20cdc9
DM
104112013-10-31 David Malcolm <dmalcolm@redhat.com>
10412
10413 Automated part of renaming of symtab_node_base to symtab_node.
10414
10415 Patch autogenerated by rename_symtab.py from
10416 https://github.com/davidmalcolm/gcc-refactoring-scripts
10417 revision 58bb219cc090b2f4516a9297d868c245495ee622
10418
10419 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10420 symtab_node_base to symtab_node.
10421
7057e645
ESR
104222013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10423
8e745a17 10424 Implement C++14 digit separators.
7057e645
ESR
10425 * c-lex.c (interpret_float): Remove digit separators from scratch string
10426 before building real literal.
10427
193ea7bc
JJ
104282013-10-30 Jakub Jelinek <jakub@redhat.com>
10429
10430 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10431
939b37da
BI
104322013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10433
10434 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10435 fields.
10436 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10437 enabled.
10438 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10439 (insert_cilk_frame): New prototype.
10440 (cilk_init_builtins): Likewise.
10441 (gimplify_cilk_spawn): Likewise.
10442 (c_cilk_install_body_w_frame_cleanup): Likewise.
10443 (cilk_detect_spawn_and_unwrap): Likewise.
10444 (cilk_set_spawn_marker): Likewise.
10445 (build_cilk_sync): Likewise.
10446 (build_cilk_spawn): Likewise.
10447 * cilk.c: New file.
10448
67348ccc
DM
104492013-10-29 David Malcolm <dmalcolm@redhat.com>
10450
10451 Patch autogenerated by refactor_symtab.py from
10452 https://github.com/davidmalcolm/gcc-refactoring-scripts
10453 revision 58bb219cc090b2f4516a9297d868c245495ee622
10454
10455 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10456 to a true class hierarchy.
10457 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10458
d570872d
RS
104592013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10460
10461 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10462
98906124
JL
104632013-10-26 Jeff Law <law@redhat.com>
10464
adfac8df
JJ
10465 * c-common.c (c_define_builtins): Remove mudflap support.
10466 * c.opt: Ignore and warn for mudflap options.
98906124 10467
d73749df 104682013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10469
10470 PR other/33426
10471 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10472 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10473
3f04b1bb
JM
104742013-10-23 Jason Merrill <jason@redhat.com>
10475
10476 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10477
acf0174b
JJ
104782013-10-11 Jakub Jelinek <jakub@redhat.com>
10479
acd15a28
JJ
10480 * c-common.h (omp_clause_mask::operator !=): New method.
10481 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10482 instead of if (mask & something) tests everywhere.
10483
acf0174b
JJ
10484 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10485 201307 instead of 201107.
10486 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10487 (c_common_attribute_table): Add "omp declare target" and
10488 "omp declare simd" attributes.
10489 (handle_omp_declare_target_attribute,
10490 handle_omp_declare_simd_attribute): New functions.
10491 * c-omp.c: Include c-pragma.h.
10492 (c_finish_omp_taskgroup): New function.
10493 (c_finish_omp_atomic): Add swapped argument, if true,
10494 build the operation first with rhs, lhs arguments and use NOP_EXPR
10495 build_modify_expr.
10496 (c_finish_omp_for): Add code argument, pass it down to make_code.
10497 (c_omp_split_clauses): New function.
10498 (c_split_parallel_clauses): Removed.
10499 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10500 c_omp_declare_simd_clauses_to_decls): New functions.
10501 * c-common.h (omp_clause_mask): New type.
10502 (OMP_CLAUSE_MASK_1): Define.
10503 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10504 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10505 omp_clause_mask::operator |, omp_clause_mask::operator &,
10506 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10507 omp_clause_mask::operator ==): New methods.
10508 (enum c_omp_clause_split): New.
10509 (c_finish_omp_taskgroup): New prototype.
10510 (c_finish_omp_atomic): Add swapped argument.
10511 (c_finish_omp_for): Add code argument.
10512 (c_omp_split_clauses): New prototype.
10513 (c_split_parallel_clauses): Removed.
10514 (c_omp_declare_simd_clauses_to_numbers,
10515 c_omp_declare_simd_clauses_to_decls): New prototypes.
10516 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10517 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10518 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10519 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10520 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10521 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10522 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10523 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10524 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10525 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10526 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10527 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10528 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10529 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10530 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10531 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10532 PRAGMA_OMP_CLAUSE_UNIFORM.
10533
826cacfe
MG
105342013-10-09 Marc Glisse <marc.glisse@inria.fr>
10535
10536 PR tree-optimization/20318
10537 * c-common.c (handle_returns_nonnull_attribute): New function.
10538 (c_common_attribute_table): Add returns_nonnull.
10539
2284b034
MG
105402013-10-03 Marc Glisse <marc.glisse@inria.fr>
10541
10542 PR c++/19476
10543 * c.opt (fcheck-new): Move to common.opt.
10544
b56e9788
MP
105452013-09-25 Marek Polacek <polacek@redhat.com>
10546 Jakub Jelinek <jakub@redhat.com>
10547
10548 PR sanitizer/58413
10549 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10550 an expression if we can prove it is correct.
10551 (ubsan_instrument_division): Likewise. Remove unnecessary
10552 check.
10553
ce6923c5
MP
105542013-09-18 Marek Polacek <polacek@redhat.com>
10555
10556 PR sanitizer/58411
10557 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10558 Declare it.
10559 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10560
fb5610fb
IS
105612013-09-14 Iain Sandoe <iain@codesourcery.com>
10562
10563 PR target/48094
10564 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10565 fobjc-gc, freplace-objc-classes): Accept for LTO.
10566
88b0e79e
JC
105672013-09-13 Jacek Caban <jacek@codeweavers.com>
10568
10569 * c-target.def: New hook
10570
c9b0866a
PC
105712013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10572
10573 PR c++/43452
10574 * c.opt (Wdelete-incomplete): Add.
10575
0af94e6f
JR
105762013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10577
10578 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10579 (vector_types_compatible_elements_p): New function.
10580 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10581 declaration.
10582 (vector_types_compatible_elements_p): Declare.
10583
7c26172c
GDR
105842013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10585
10586 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10587 a virtual member function.
10588 (pp_simple_type_specifier): Remove.
10589 (pp_c_type_specifier): Likewise.
10590 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10591 Rename from pp_c_type_specifier. Adjust.
10592 (c_pretty_printer::c_pretty_printer): Do not assign to
10593 simple_type_specifier.
10594
20059c8b
GDR
105952013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10596
10597 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10598 member function.
10599 (c_pretty_printer::storage_class_specifier): Likewise.
10600 (c_pretty_printer::initializer): Likewise.
10601 (pp_declaration): Remove.
10602 (pp_declaration_specifiers): Likewise.
10603 (pp_abstract_declarator): Likewise.
10604 (pp_declarator): Likewise.
10605 (pp_type_id): Likewise.
10606 (pp_statement): Likewise.
10607 (pp_constant): Likewise.
10608 (pp_id_expression): Likewise.
10609 (pp_primary_expression): Likewise.
10610 (pp_unary_expression): Likewise.
10611 (pp_multiplicative_expression): Likewise.
10612 (pp_conditional_expression): Likewise.
10613 (pp_assignment_expression): Likewise.
10614 (pp_expression): Likewise.
10615 (pp_c_type_id): Likewise.
10616 (pp_c_storage_class_specifier): Likewise.
10617 * c-pretty-print.c (pp_c_type_cast): Tidy.
10618 (pp_c_pointer): Likewise.
10619 (pp_c_type_specifier): Likewise.
10620 (pp_c_parameter_type_list): Likewise.
10621 (pp_c_function_definition): Likewise.
10622 (pp_c_init_declarator): Likewise.
10623 (pp_c_initializer_list): Likewise.
10624 (pp_c_constructor_elts): Likewise.
10625 (c_pretty_printer::direct_abstract_declarator): Likewise.
10626 (c_pretty_printer::declaration_specifiers): Likewise.
10627 (c_pretty_printer::primary_expression): Likewise.
10628 (c_pretty_printer::postfix_expression): Likewise.
10629 (c_pretty_printer::type_id): Rename from pp_c_type_id.
10630 (c_pretty_printer::storage_class_specifier): Rename from
10631 pp_c_storage_class_specifier.
10632 (c_pretty_printer::initializer): Rename from pp_c_initializer.
10633 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10634 storage_class_specifier, initializer, offset_list, flags.
10635
de5a5fa1
MP
106362013-08-30 Marek Polacek <polacek@redhat.com>
10637
10638 * c-ubsan.c: New file.
10639 * c-ubsan.h: New file.
10640
8f0e4d72
GDR
106412013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10642
10643 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10644 member function.
10645 (c_pretty_printer::declaration_specifiers): Likewise.
10646 (c_pretty_printer::declarator): Likewise.
10647 (c_pretty_printer::abstract_declarator): Likewise.
10648 (c_pretty_printer::direct_abstract_declarator): Likewise.
10649 (c_pretty_printer::direct_declarator): Likewise.
10650 (c_pretty_printer::function_specifier): Likewise.
10651 (pp_declaration): Adjust.
10652 (pp_declaration_specifiers): Likewise.
10653 (pp_abstract_declarator): Likewise.
10654 (pp_direct_declarator): Likewise.
10655 (pp_function_specifier): Likewise.
10656 (pp_direct_abstract_declarator): Remove as unused.
10657 (pp_c_declaration): Remove.
10658 (pp_c_declaration_specifiers): Likewise.
10659 (pp_c_declarator): Likewise.
10660 (pp_c_direct_declarator): Likewise.
10661 (pp_c_function_specifier): Likewise.
10662 (pp_c_direct_abstract_declarator): Likewise.
10663 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10664 from pp_c_abstract_declarator. Adjust.
ab20d992 10665 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10666 pp_c_direct_abstract_declarator. Adjust.
10667 (c_pretty_printer::function_specifier): Rename from
10668 pp_c_function_specifier. Adjust.
10669 (c_pretty_printer::declaration_specifiers): Rename from
10670 pp_c_declaration_specifiers. Adjust.
10671 (c_pretty_printer::direct_declarator): Rename from
10672 pp_c_direct_declarator. Adjust.
10673 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10674 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10675 (c_pretty_printer::c_pretty_printer): Do not assign to
10676 declaration, declaration_specifiers, declarator,
10677 direct_declarator, direct_abstract_declarator, function_specifier.
10678
00d34d3a
GDR
106792013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10680
10681 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10682 virtual member function.
10683 (c_pretty_printer::multiplicative_expression): Likewise.
10684 (c_pretty_printer::conditional_expression): Likewise.
10685 (c_pretty_printer::assignment_expression): Likewise.
10686 (c_pretty_printer::expression): Likewise.
10687 (pp_unary_expression): Adjust.
10688 (pp_multiplicative_expression): Likewise.
10689 (pp_assignment_expression): Likewise.
10690 (pp_conditional_expression): Likewise.
10691 (pp_expression): Likewise.
10692 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10693 from pp_c_unary_expression. Adjust.
10694 (c_pretty_printer::multiplicative_expression): Rename from
10695 pp_c_multiplicative_expression. Adjust.
10696 (c_pretty_printer::conditional_expression): Rename from
10697 pp_c_conditional_expression. Adjust.
10698 (c_pretty_printer::assignment_expression): Rename from
10699 pp_c_assignment_expression. Adjust.
10700 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10701 (c_pretty_printer::c_pretty_printer): Do not assign to
10702 unary_expression, multiplicative_expression,
10703 conditional_expression, expression.
10704
fb22178f
GDR
107052013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10706
10707 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10708 virtual member function.
10709 (pp_postfix_expression): Adjust.
10710 (pp_c_postfix_expression): Remove.
10711 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10712 from pp_c_postfix_expression. Adjust.
10713 (c_pretty_printer::c_pretty_printer): Do not assign to
10714 postfix_expression.
10715
7ecc2600
GDR
107162013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10717
10718 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10719 virtua member function.
10720 (pp_primary_expression): Adjust.
10721 (pp_c_primary_expression): Remove.
10722 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10723 from pp_c_primary_expression. Adjust.
10724 (pp_c_initializer_list): Use pp_primary_expression.
10725 (c_pretty_printer::c_pretty_printer): Do not assign to
10726 primary_expression.
10727
0691175f
GDR
107282013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10729
10730 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10731 * c-pretty-print.c (M_): Remove.
10732 (c_pretty_printer::translate_string): Define.
10733 (pp_c_type_specifier): Use it.
10734 (pp_c_primary_expression): Likewise.
10735 (pp_c_expression): Likewise.
10736
66dfe4c4
GDR
107372013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10738
10739 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10740 virtual function.
10741 (pp_c_id_expression): Remove.
10742 (pp_id_expression): Adjust.
10743 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10744 pp_c_id_expression. Adjust.
10745 (pp_c_postfix_expression): Use pp_id_expression.
10746 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10747
ca43e9d5
GDR
107482013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10749
10750 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10751 member function.
10752 (pp_constant): Adjust.
10753 (pp_c_constant): Remove.
10754 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10755 pp_c_constant. Adjust.
10756 (pp_c_constant)
10757 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10758 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10759
da6ca2b5
GDR
107602013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10761
10762 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10763 (c_pretty_printer::c_pretty_printer): Declare.
10764 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10765 c_pretty_printer_init. Adjust.
10766 (print_c_tree): Do not call c_pretty_printer_init.
10767 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10768
65a372f4
AC
107692013-08-09 Arnaud Charlet <charlet@adacore.com>
10770
10771 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10772
fd9b0f32
PC
107732013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10774
10775 PR c++/58080
10776 * c-common.c (pointer_int_sum): Add bool parameter.
10777 * c-common.h (pointer_int_sum): Adjust declaration.
10778
e0aec1e9
GDR
107792013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10780
10781 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10782 c_pretty_printer variable.
10783
b066401f
GDR
107842013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10785
10786 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10787 (pp_base): Remove.
10788 (pp_c_base): Likewise. Adjust users.
10789 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10790 (pp_c_whitespace): Do not call pp_base.
10791 (pp_c_left_paren): Likewise.
10792 (pp_c_right_paren): Likewise.
10793 (pp_c_left_brace): Likewise.
10794 (pp_c_right_brace): Likewise.
10795 (pp_c_left_bracket): Likewise.
10796 (pp_c_right_bracket): Likewise.
10797 (pp_c_dot): Likewise.
10798 (pp_c_ampersand): Likewise.
10799 (pp_c_star): Likewise.
10800 (pp_c_arrow): Likewise.
10801 (pp_c_semicolon): Likewise.
10802 (pp_c_complement): Likewise.
10803 (pp_c_exclamation): Likewise.
10804 (pp_c_direct_declarator): Likewise.
10805 (pp_c_ws_string): Likewise.
10806 (pp_c_identifier): Likewise.
10807 (pp_c_statement): Likewise.
10808 (print_c_tree): Likewise.
10809
65e5a578
ESR
108102013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10811
10812 PR c++/58072
10813 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10814 provide useful error strings.
10815
137a1a27
GDR
108162013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10817
10818 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10819 printer functions instead of pp_string or operators and punctuators.
10820 (dump_generic_ada_node): Likewise.
10821 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10822 (pp_c_relational_expression): Likewise.
10823 (pp_c_logical_or_expression): Likewise.
10824
07838b13
GDR
108252013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10826
10827 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10828 functions instead of pp_character.
10829 (pp_ada_tree_identifier): Likewise.
10830 (dump_ada_double_name): Likewise.
10831 (dump_ada_function_declaration): Likewise.
10832 (dump_ada_array_domains): Likewise.
10833 (dump_template_types): Likewise.
10834 (dump_generic_ada_node): Likewise.
10835 (print_ada_declaration): Likewise.
10836 (print_ada_struct_decl): Likewise.
10837 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10838
433cc7b0
TT
108392013-07-23 Tom Tromey <tromey@redhat.com>
10840
10841 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10842 * c-common.c (c_common_reswords): Add _Generic.
10843
688010ba
OB
108442013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10845
10846 * c-common.c: Fix typos.
10847 * c-common.h: Likewise.
10848
2a99e5e6
LL
108492013-07-13 Lubos Lunak <l.lunak@suse.cz>
10850
10851 PR c++/55203
10852 * c-common.c (c_common_attribute_table): Add warn_unused.
10853 (handle_warn_unused_attribute): New.
10854
c26302d5
JJ
108552013-07-10 Jakub Jelinek <jakub@redhat.com>
10856
10857 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10858 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10859
dfeadaa0
PC
108602013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10861
10862 PR c++/57869
10863 * c.opt: Add Wconditionally-supported.
10864
6a2fa4b2
GS
108652013-07-08 Graham Stott <graham.stott@btinternet.com>
10866
adfac8df 10867 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10868 unused variables l_length and l_node.
10869
ecdbd01a 108702013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10871
10872 PR c/57821
10873 * c-common.c (complete_array_type): Delay folding first index
10874 like other indices. When folding, check for index overflow.
10875
bedc293e
MG
108762013-06-27 Marc Glisse <marc.glisse@inria.fr>
10877
10878 PR c++/57509
10879 * c-common.h (c_build_vec_perm_expr): New complain argument.
10880 * c-common.c (c_build_vec_perm_expr): Likewise.
10881 Use save_expr also in C++.
10882
604b2bfc
GDR
108832013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10884
10885 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10886 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10887 * c-opts.c (c_common_post_options): Likewise.
10888
dfeadaa0 108892013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10890
10891 * array-notation-common.c (length_mismatch_in_expr): Changed the
10892 parameter type's from a dynamic array to a vec_tree. Also removed
10893 the size parameters.
10894 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10895 the change above.
10896
2ce86d2e
BI
108972013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10898
10899 * c-common.h (struct cilkplus_an_parts): New structure.
10900 (struct cilkplus_an_loop_parts): Likewise.
10901 (cilkplus_extract_an_triplets): New prototype.
10902 (fix_sec_implicit_args): Likewise.
10903 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10904 (fix_sec_implicit_args): Likewise.
604b2bfc 10905
07a6825b
BI
109062013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10907
10908 * array-notation-common.c (find_inv_trees): Removed an unwanted
10909 typecasting.
10910 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10911 enum rid to enum tree_code.
10912
08346abd
JH
109132013-06-11 Jan Hubicka <jh@suse.cz>
10914
10915 * c-common.c (handle_alias_ifunc_attribute): Do not set
10916 DECL_EXTERNAL for weakref variables.
10917 * c-pragma.c (handle_pragma_weak): Make sure aliases
10918 are not declared as external.
10919
d60f1706
BI
109202013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10921
10922 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10923 function from c/c-array-notation.c.
10924 (is_cilkplus_reduce_builtin): Likewise.
10925 (find_rank): Likewise.
10926 (extract_array_notation_exprs): Likewise.
10927 (replace_array_notations): Likewise.
10928 (find_inv_trees): Likewise.
10929 (replace_inv_trees): Likewise.
10930 (contains_array_notation_expr): Likewise.
10931 (find_correct_array_notation_type): Likewise.
10932 * c-common.h (struct inv_list): Moved this struct from the file
10933 c/c-array-notation.c and added a new field called additional tcodes.
10934 (length_mismatch_in_expr_p): New prototype.
10935 (is_cilkplus_reduce_builtin): Likewise.
10936 (find_rank): Likewise.
10937 (extract_array_notation_exprs): Likewise.
10938 (replace_array_notation): Likewise.
10939 (find_inv_trees): Likewise.
10940 (replace_inv_trees): Likewise.
10941 (find_correct_array_notation_type): Likewise.
dfeadaa0 10942
36536d79
BI
109432013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10944
10945 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10946 function array_notation_init_builtins is called.
10947 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10948 * c-common.def (ARRAY_NOTATION_REF): New tree.
10949 * c-common.h (build_array_notation_expr): New function declaration.
10950 (build_array_notation_ref): Likewise.
10951 (extract_sec_implicit_index_arg): New extern declaration.
10952 (is_sec_implicit_index_fn): Likewise.
10953 (ARRAY_NOTATION_CHECK): New define.
10954 (ARRAY_NOTATION_ARRAY): Likewise.
10955 (ARRAY_NOTATION_START): Likewise.
10956 (ARRAY_NOTATION_LENGTH): Likewise.
10957 (ARRAY_NOTATION_STRIDE): Likewise.
10958 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10959 ARRAY_NOTATION_REF.
10960 (pp_c_expression): Likewise.
10961 * c.opt (flag_enable_cilkplus): New flag.
10962 * array-notation-common.c: New file.
10963
f7716d57
JJ
109642013-05-14 Jakub Jelinek <jakub@redhat.com>
10965
10966 PR c++/57274
10967 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10968
a5e0cd1d
MG
109692013-05-10 Marc Glisse <marc.glisse@inria.fr>
10970
10971 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10972 vectors.
10973
f6bc1c4a
HS
109742013-05-07 Han Shen <shenhan@google.com>
10975
10976 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10977
3f12f6e9
SKS
109782013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10979
10980 * c-common.c (check_user_alignment): Emit error for negative values.
10981
61949153
PC
109822013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10983
10984 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10985
e93e18e9
PC
109862013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10987
10988 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10989 __GXX_EXPERIMENTAL_CXX1Y__.
10990
44d90fe1 109912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10992 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10993
10994 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10995 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10996 to simply use OPT_Wpointer_arith.
10997 (c_sizeof_or_alignof_type): Likewise.
10998
13f39b2e
PC
109992013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11000
11001 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
11002
4b84d650
JJ
110032013-04-12 Jakub Jelinek <jakub@redhat.com>
11004
11005 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
11006 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
11007 specifiers.
11008
fb037b5d
SB
110092013-04-07 Steven Bosscher <steven@gcc.gnu.org>
11010
11011 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
11012
4e856798
PC
110132013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
11014
11015 * c-common.c (pointer_int_sum): Remove dead code.
11016
4b1baac8
RS
110172013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
11018
11019 PR middle-end/56524
11020 * c-common.c (handle_optimize_attribute): Don't call
11021 save_optabs_if_changed.
11022
0b50e654
JJ
110232013-03-05 Jakub Jelinek <jakub@redhat.com>
11024
11025 PR middle-end/56461
11026 * c-pch.c (pch_init): Free target_validity at the end.
11027
48c41403
JJ
110282013-03-04 Jakub Jelinek <jakub@redhat.com>
11029
11030 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
11031
e664c61c
KS
110322013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
11033 Jakub Jelinek <jakub@redhat.com>
11034
11035 PR sanitizer/56454
11036 * c-common.c (handle_no_sanitize_address_attribute): New function.
11037 (c_common_attribute_table): Add no_sanitize_address attribute.
11038 (handle_no_address_safety_analysis_attribute): Add
11039 no_sanitize_address attribute, not no_address_safety_analysis
11040 attribute.
11041
a475fd3d 110422013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
11043
11044 PR target/52555
11045 * c-common.c (handle_optimize_attribute): Call
11046 save_optabs_if_changed.
11047
f6007d99
JJ
110482013-02-18 Jakub Jelinek <jakub@redhat.com>
11049 Steven Bosscher <steven@gcc.gnu.org>
11050
11051 PR pch/54117
11052 * c-opts.c (c_common_post_options): If debug info is enabled
11053 and non-dwarf*, refuse to load PCH files and when writing PCH
11054 file warn.
11055
cf35e2b1
JJ
110562013-02-05 Jakub Jelinek <jakub@redhat.com>
11057
11058 PR middle-end/56167
11059 * c-common.c (handle_error_attribute): Fix condition.
11060
32887460
JJ
110612013-01-30 Jakub Jelinek <jakub@redhat.com>
11062
11063 PR c++/55742
11064 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
11065
5af057d8
JM
110662013-01-18 Jason Merrill <jason@redhat.com>
11067
11068 PR target/54908
11069 * c.opt (-fextern-tls-init): New.
11070 * c-opts.c (c_common_post_options): Handle it.
11071
cc83c823
JJ
110722013-01-09 Jakub Jelinek <jakub@redhat.com>
11073
11074 PR c/48418
11075 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
11076 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
11077 and is either negative or bigger or equal to type precision
11078 of the first operand.
11079
a859517f
MP
110802012-12-03 Marek Polacek <polacek@redhat.com>
11081
11082 PR c/55570
11083 * c-common.c (check_user_alignment): Swap order of tests,
11084 check TREE_CODE first.
11085
2d7aa578
ESR
110862012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
11087
11088 PR c++/52654
11089 * c-common.h (overflow_type): New enum.
11090 (build_userdef_literal): Add overflow_type argument.
11091 (tree_userdef_literal): Add overflow_type.
11092 (USERDEF_LITERAL_OVERFLOW): New access macro.
11093 * c-common.c (build_userdef_literal): Add overflow_type
11094 argument.
11095 * c-lex.c (c_lex_with_flags): Add overflow_type to
11096 build_userdef_literal calls.
11097 (interpret_integer, interpret_float): Add overflow_type argument.
11098
cc3c4f62
RB
110992012-11-28 Richard Biener <rguenther@suse.de>
11100
11101 PR c/35634
11102 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11103 here and use a type with proper overflow behavior for types that would
11104 need to be promoted for the arithmetic.
11105
77bc5132
JJ
111062012-11-23 Jakub Jelinek <jakub@redhat.com>
11107
11108 PR sanitizer/55435
11109 * c-common.c (handle_no_address_safety_analysis_attribute): New
11110 function.
11111 (c_common_attribute_table): Add no_address_safety_analysis.
11112
5dc99c46
SB
111132012-11-16 Simon Baldwin <simonb@google.com>
11114
11115 * c.opt: Add f[no-]canonical-system-headers.
11116 * c-opts.c (c_common_handle_option): Handle
11117 OPT_fcanonical_system_headers.
11118
a4a0016d
ESR
111192012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
11120
11121 PR c++/54413
11122 * c-opts.c (c_common_handle_option): Set new flags.
11123 * c.opt: Describe new flags.
11124
7dbb85a7
JM
111252012-11-09 Jason Merrill <jason@redhat.com>
11126
11127 * c.opt (Wabi-tag): New.
11128
ad7bac31
AK
111292012-11-09 Andi Kleen <ak@linux.intel.com>
11130
11131 PR 55139
11132 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 11133 MEMMODEL_MASK
ad7bac31 11134
7332899a
MLI
111352012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11136
11137 PR c/53063
11138 * c.opt (Wformat): Make it Alias Wformat=1.
11139 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
11140 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
11141 LangEnabledBy.
11142 (Wformat=): RejectNegative. Use LangEnabledBy.
11143 (Wnonnull): Use LangEnabledBy.
11144 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
11145 * c-format.c (set_Wformat): Delete.
11146 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
11147 (maybe_read_dollar_number): Likewise.
11148 (avoid_dollar_number): Likewise.
11149 (finish_dollar_format_checking): Likewise.
11150 (check_format_info): Likewise.
11151 (check_format_info_main): Likewise.
11152 (check_format_types): Likewise.
11153 (format_type_warning): Likewise.
11154 * c-common.c (int): Likewise.
11155 (check_function_sentinel): Likewise.
8e745a17 11156 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 11157
34a180a6
MLI
111582012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11159
11160 PR c/53063
11161 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
11162 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
11163 Use LangEnabledBy.
11164 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
11165 common.opt.
11166 (Wvariadic-macros): Init(1).
11167 * c-opts.c (c_common_handle_option): Do not handle them
11168 explicitly.
11169 (c_common_post_options): Likewise.
11170 (sanitize_cpp_opts): warn_unused_macros is now
11171 cpp_warn_unused_macros.
11172 (push_command_line_include): Likewise.
11173 * c-common.c (warn_unknown_pragmas): Do not define.
11174 * c-common.h (warn_unknown_pragmas): Do not declare.
11175
3f46d6a5
MLI
111762012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11177
11178 PR c/51294
11179 * c-common.c (conversion_warning): Handle conditional expressions.
11180
880661a4
JW
111812012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
11182
11183 PR c++/54930
11184 * c.opt (Wreturn_local_addr): Define new option.
11185
4514a96b
JM
111862012-10-25 Jason Merrill <jason@redhat.com>
11187
f14edc1a
JM
11188 * c.opt (Wvirtual-move-assign): New.
11189
4514a96b
JM
11190 * c.opt (Winherited-variadic-ctor): New.
11191
93100c6b
MG
111922012-10-25 Marc Glisse <marc.glisse@inria.fr>
11193
11194 PR c++/54427
11195 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
11196
1efcb8c6
JM
111972012-10-23 Joseph Myers <joseph@codesourcery.com>
11198
11199 * c-common.h (pch_cpp_save_state): Declare.
11200 * c-target.def (c_preinclude): New hook.
11201 * c-opts.c (done_preinclude): New.
11202 (push_command_line_include): Handle default preincluded header.
11203 (cb_file_change): Call pch_cpp_save_state when calling
11204 push_command_line_include.
11205 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
11206 (pch_cpp_save_state): New.
11207 (pch_init): Call pch_cpp_save_state conditionally, instead of
11208 calling cpp_save_state.
11209
4a0ae68e
MLI
112102012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
11211
11212 PR c/53063
11213 PR c/40989
11214 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
11215 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
11216 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
11217 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
11218 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
11219 * c-opts.c (c_common_handle_option): Remove explicit handling from
11220 here.
11221 (c_common_post_options): Likewise.
11222
67e4210b
EB
112232012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11224
11225 * c-ada-spec.c (LOCATION_COL): Delete.
11226 (compare_location): New function.
11227 (compare_node): Use it.
11228 (compare_comment): Likewise.
11229
65d4f2cd
MLI
112302012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11231
11232 PR c/53063
11233 PR c/40989
11234 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11235 * c-opts.c (c_common_handle_option): Do not set them here. Add
11236 comment.
11237 (c_common_post_options): Likewise.
11238
909881cb
EB
112392012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11240
11241 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11242 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11243 Remove POINTER_TYPE handling, add large unsigned handling and use
11244 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11245
3a785c97
JJ
112462012-10-12 Jakub Jelinek <jakub@redhat.com>
11247
11248 PR c/54381
11249 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11250 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11251 locs and array of 3 trees instead of just single loc and single
11252 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11253 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11254 For *cmp* builtins that take two sources strings report warnings
11255 about first and second source, not about destination and source.
11256
5e54f81d
MG
112572012-10-12 Marc Glisse <marc.glisse@inria.fr>
11258
11259 PR c++/53055
11260 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11261
f5b02f1e
EB
112622012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11263
11264 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11265 declaring something coming from another file.
11266
b46dbc6c
AC
112672012-10-10 Arnaud Charlet <charlet@adacore.com>
11268
f5b02f1e 11269 PR ada/54845
b46dbc6c
AC
11270 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11271
5d9de0d0
PC
112722012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11273
11274 PR c++/54194
11275 * c-common.c (warn_about_parentheses): Add location_t parameter;
11276 use EXPR_LOC_OR_LOC.
11277 * c-common.h: Update declaration.
11278
a212e43f
MG
112792012-10-09 Marc Glisse <marc.glisse@inria.fr>
11280
11281 PR c++/54427
11282 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11283 more operations. Make error messages optional.
11284 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11285 (scalar_to_vector): Declare.
11286
b1db7f91
JM
112872012-10-08 Jason Merrill <jason@redhat.com>
11288
11289 * c-common.c (c_common_reswords): Add thread_local.
11290
e28d52cf
DS
112912012-10-08 Dodji Seketeli <dodji@redhat.com>
11292
11293 PR c++/53528 C++11 attribute support
11294 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11295 new functions.
11296 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11297 static function.
11298 (handle_aligned_attribute): In choose strictest alignment
11299 among many. Use new check_cxx_fundamental_alignment_constraints.
11300 (handle_transparent_union_attribute): In c++11 attribute syntax,
11301 don't look through typedefs.
11302
3b78de56
AC
113032012-10-04 Arnaud Charlet <charlet@adacore.com>
11304
11305 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11306 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11307 out of dumpfile.h.
11308
6040bb5f
DC
113092012-09-25 Dehao Chen <dehao@google.com>
11310
11311 PR middle-end/54645
3b78de56 11312 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11313 map when read in the pch.
11314
3f8257db 113152012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11316
11317 * c-ada-spec.c: Style fixes.
11318
3f8257db 113192012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11320
11321 * c.opt (-fada-spec-parent): Define new command line switch.
11322 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11323 is specified, generate binding spec as a child of the specified unit.
11324
0ccb505d
PC
113252012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11326 Manuel López-Ibáñez <manu@gcc.gnu.org>
11327
11328 PR c++/53210
11329 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11330
c583af79
AC
113312012-08-23 Arnaud Charlet <charlet@adacore.com>
11332
11333 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11334 for pointers, and add missing Convention C pragma.
11335 (print_ada_struct_decl): Add missing aliased keyword.
11336 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11337
1a4049e7
JJ
113382012-08-17 Jakub Jelinek <jakub@redhat.com>
11339
11340 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11341 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11342 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11343 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11344 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11345
70b5e7dc
RG
113462012-08-10 Richard Guenther <rguenther@suse.de>
11347
11348 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11349
f8923f7e
SB
113502012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11351
11352 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11353 instead of separate pp_newline and pp_flush.
11354 (print_c_tree): Likewise.
11355
e45abe1f
RH
113562012-07-26 Richard Henderson <rth@redhat.com>
11357
11358 * c-common.c (handle_hot_attribute): Allow labels.
11359 (handle_cold_attribute): Likewise.
11360
332f1d24
JJ
113612012-07-20 Jakub Jelinek <jakub@redhat.com>
11362
11363 PR c++/28656
11364 * c-common.c (check_function_nonnull): Handle multiple nonnull
11365 attributes properly.
11366
7ee2468b
SB
113672012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11368
11369 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11370 * c-ada-spec.c: Likewise.
11371 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11372
ee7b28eb
SB
113732012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11374
11375 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11376 Remove code conditional on it.
11377
6bdf3519
SB
113782012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11379
11380 * c-gimplify.c: Do not include basic-block.h.
11381 * c-common.c: Do not include linfuncs.h.
11382
532aafad
SB
113832012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11384
11385 * c-common.h: Include tree.h.
11386
8d0d1915
JM
113872012-07-02 Jason Merrill <jason@redhat.com>
11388
11389 PR c++/53524
11390 * c-common.c (get_priority): Call default_conversion.
11391
fbc873ad
UB
113922012-07-01 Uros Bizjak <ubizjak@gmail.com>
11393
11394 * c-pch.c (c_common_write_pch): Remove unused variables.
11395
d4a10d0a
SB
113962012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11397
11398 * cppspec.c: Moved from gcc/ to here.
11399
6f3a2e23
KT
114002012-06-27 Kai Tietz <ktietz@redhat.com>
11401
11402 PR preprocessor/37215
11403 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11404
8ca92d04
SB
114052012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11406
11407 * c-common.h (c_common_print_pch_checksum): Remove.
11408 * c-pch.c: Do not include output.h.
11409 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11410 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11411 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11412 (struct c_pch_header): Remove.
11413 (get_ident): Update gpch version.
11414 (pch_init): Do not print executable_checksum to asm_out_file.
11415 Do not fail if there is no asm_out_file to read back from. Set
11416 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11417 (c_common_write_pch): Verify that nothing was written to asm_out_file
11418 since pch_init was called. Do not write a c_pch_header, and do not
11419 copy from asm_out_file to the PCH.
11420 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11421 the content of asm_out_file from the PCH.
11422 (c_common_print_pch_checksum): Remove.
11423 * c-opts.c (c_common_init): Print out executable_checksum directly.
11424
70f42967
SB
114252012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11426
11427 * c-target.def (objc_declare_unresolved_class_reference,
11428 objc_declare_class_definition): Add new hooks.
11429
a8781821
SB
114302012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11431
11432 * c-lex.c: Do not include output.h.
11433 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11434 Remove uses of ASM_OUTPUT_IDENT.
11435
9e1a8dd1
RR
114362012-06-15 Marc Glisse <marc.glisse@inria.fr>
11437
11438 PR c++/51033
11439 * c-common.h (c_build_vec_perm_expr): Move decl here.
11440 * c-common.c (c_build_vec_perm_expr): Move definition
11441 here.
11442
6f07a821
SB
114432012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11444
11445 * c.opt (fconserve-space): Turn into a no-op.
11446
9faeb493 114472012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11448
11449 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11450 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11451 both the start and end of the function.
11452
a4b7d13c
SB
114532012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11454
11455 * c-common.c: Do not include output.h.
11456 * c-pragma.c: Likewise.
11457
c265f413
SA
114582012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11459
11460 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11461 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11462 (lang_decl_name): Handle namespace decls.
11463
be7a421e
SB
114642012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11465
11466 * c-ada-spec.c: Do not include output.h.
11467 * c-semantics.c: Likewise.
11468
65de6659
JM
114692012-05-29 Joseph Myers <joseph@codesourcery.com>
11470
11471 * c-common.c: Fix typo.
11472
ca5f4331
MM
114732012-05-29 Michael Matz <matz@suse.de>
11474
11475 * c-common.h (c_expand_decl): Remove prototype.
11476
4f7f7aca
MLI
114772012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11478
11479 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11480 * c-opts.c (c_common_handle_option): Remove code handling
11481 warn_missing_braces.
11482
4a792f9b
PC
114832012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11484
11485 PR c++/25137
11486 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11487 -Wmissing_braces.
11488
650dc14a
DS
114892012-05-22 Dodji Seketeli <dodji@redhat.com>
11490
11491 PR c++/53322
11492 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11493
9b095bf1
MLI
114942012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11495
11496 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11497 * c-opts.c (c_common_handle_option): Do not handle explicitly
11498 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11499
0b2c4be5
DS
115002012-05-16 Dodji Seketeli <dodji@redhat.com>
11501
11502 PR preprocessor/7263
ab20d992 11503 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11504 to cpp_classify_number. For diagnostics, use the precise location
11505 instead of the global input_location.
11506
a1bde5af
PC
115072012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11508
d02924ef 11509 PR c++/11856
a1bde5af
PC
11510 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11511
d1ede5f4
BS
115122012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11513
a1bde5af 11514 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11515
f2bc201f
MLI
115162012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11517
11518 PR 53063
11519 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11520 Wreorder): Use LangEnabledBy.
11521 * c-opts.c (c_common_handle_option): Do not enable them
11522 explicitly. Call lang-specific generated functions.
11523 (c_common_post_options): Do not set them here.
11524
95744782
MLI
115252012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11526
11527 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11528 Wmissing-field-initializers,Wmissing-parameter-type,
11529 Wold-style-declaration,Woverride-init): Use EnabledBy.
11530 * c-opts.c (c_common_post_options): Do not set here explicitly.
11531
7d5a5747
MLI
115322012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11533
11534 PR 53063
11535 * c-opts.c (c_common_handle_option): Use handle_generated_option
11536 to enable sub-options.
11537
5a3c9cf2
PC
115382012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11539
11540 PR c++/53158
11541 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11542
3ac8781c
RG
115432012-05-10 Richard Guenther <rguenther@suse.de>
11544
11545 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11546 adjust commentary about TYPE_IS_SIZETYPE types.
11547
1e537948
MLI
115482012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11549
11550 PR c++/53261
11551 * c-common.c (warn_logical_operator): Check that argument of
11552 integer_zerop is not NULL.
11553
f2c4a785
MLI
115542012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11555
11556 PR c/43772
11557 * c-common.c (warn_logical_operator): Do not warn if either side
11558 is already true or false.
11559
50f305ca
MLI
115602012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11561
11562 PR c/51712
11563 * c-common.c (expr_original_type): New.
11564 (shorten_compare): Do not warn for enumeration types.
11565
0c3641b0
MLI
115662012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11567
11568 * c.opt (fpermissive): Add Var(flag_permissive).
11569
7edaa4d2
MG
115702012-04-30 Marc Glisse <marc.glisse@inria.fr>
11571
11572 PR c++/51033
11573 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11574 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11575
b9c8da34
DS
115762012-04-30 Dodji Seketeli <dodji@redhat.com>
11577
11578 Add -Wvarargs option
ab20d992 11579 * c.opt (Wvarargs): Define new option.
b9c8da34 11580
e6c69da0
MLI
115812012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11582
11583 * c-common.c (check_function_arguments): Replace
11584 Wmissing-format-attribute with Wsuggest-attribute=format.
11585
90137d8f
MLI
115862012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11587
11588 * c.opt (Wsuggest-attribute=format): New. Alias of
11589 Wmissing-format-attribute.
11590 * c-format.c (decode_format_type): Replace
11591 Wmissing-format-attribute with Wsuggest-attribute=format.
11592 (check_function_format): Likewise.
11593
9faeb493 115942012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11595
11596 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11597 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11598 * c.opt: Add Wliteral-suffix.
11599
c1771a20
MLI
116002012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11601
11602 PR c/44774
11603 * c.opt (Wpedantic): New.
11604 (pedantic): Alias Wpedantic.
11605 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11606 (c_common_post_options): Likewise.
11607 (sanitize_cpp_opts): Likewise.
11608 * c-lex.c (interpret_float): Likewise.
11609 * c-format.c (check_format_types): Likewise.
11610 * c-common.c (pointer_int_sum): Likewise.
11611 (c_sizeof_or_alignof_type): Likewise.
11612 (c_add_case_label): Likewise.
11613 (c_do_switch_warnings): Likewise.
11614 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11615
04b391c1
JM
116162012-04-15 Jason Merrill <jason@redhat.com>
11617
11618 PR c++/52818
11619 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11620 (C_STD_NAME): Distinguish between C++98 and C++11.
11621
ac868f29
EB
116222012-04-11 Eric Botcazou <ebotcazou@adacore.com>
11623
11624 PR target/52624
11625 * c-common.h (uint16_type_node): Rename into...
11626 (c_uint16_type_node): ...this.
11627 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11628 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11629
fd4116f4
MLI
116302012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
11631
11632 * c-common.c (warn_if_unused_value): Move definition to here.
11633 * c-common.h (warn_if_unused_value): Move declaration to here.
11634
573ac65e
WB
116352012-03-23 William Bader <williambader@hotmail.com>
11636
11637 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11638
552b8185
JM
116392012-03-20 Jason Merrill <jason@redhat.com>
11640
11641 * c-common.h (enum cxx_dialect): Add cxx1y.
11642 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11643 test.
11644 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11645 * c-opts.c (c_common_post_options): Likewise.
11646 (set_std_cxx1y): New.
11647 (c_common_handle_option): Call it.
11648 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11649
04398fa8
PC
116502012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11651
11652 PR c++/14710
11653 * c.opt ([Wuseless-cast]): Add.
11654
d2a12ae7
RG
116552012-03-16 Richard Guenther <rguenther@suse.de>
11656
11657 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11658
a12bf402
MLI
116592012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11660
11661 PR c++/44783
11662 * c.opt (ftemplate-backtrace-limit) Add.
11663
5c30094f
RO
116642012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11665
11666 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11667 handling.
11668 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11669 (init_pragma): Don't register extern_prefix.
11670
21fa2faf
RG
116712012-03-12 Richard Guenther <rguenther@suse.de>
11672
11673 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11674 (builtin_type_for_size): Likewise.
11675
e3793c6f
JJ
116762012-02-13 Jakub Jelinek <jakub@redhat.com>
11677
11678 PR c++/52215
11679 * c-common.c (sync_resolve_params): Don't decide whether to convert
11680 or not based on TYPE_SIZE comparison, convert whenever arg_type
11681 is unsigned INTEGER_TYPE.
11682
93286335
PC
116832012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11684
11685 PR c/52118
11686 * c.opt ([Wunused-local-typedefs]): Fix description.
11687
7a421706
MS
116882012-01-24 Mike Stump <mikestump@comcast.net>
11689
11690 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11691 exactly.
11692
ba9b1f11
RG
116932012-01-18 Richard Guenther <rguenther@suse.de>
11694
11695 * c-opts.c (c_common_post_options): Reset LTO flags if
11696 we are about to generate a PCH.
11697
465406be
PC
116982012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11699
11700 PR c++/51777
11701 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11702 use pp_unsigned_wide_integer.
11703
aee15221
RG
117042012-01-10 Richard Guenther <rguenther@suse.de>
11705
11706 PR middle-end/51806
11707 * c-opts.c (c_common_handle_option): Move -Werror handling
11708 to language independent code.
11709
5720c0dc
RG
117102012-01-05 Richard Guenther <rguenther@suse.de>
11711
11712 PR middle-end/51764
11713 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11714 from common.opt.
11715
73ac190a
PC
117162011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11717
11718 PR c++/51316
11719 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11720 of array types with an unknown bound.
11721
48b0b196
JM
117222011-12-20 Joseph Myers <joseph@codesourcery.com>
11723
11724 * c-common.c (flag_isoc99): Update comment to refer to C11.
11725 (flag_isoc1x): Change to flag_isoc11.
11726 * c-common.h (flag_isoc99): Update comment to refer to C11.
11727 (flag_isoc1x): Change to flag_isoc11.
11728 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11729 C11.
11730 * c-opts.c (set_std_c1x): Change to set_std_c11.
11731 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11732 Call set_std_c11.
11733 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11734 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11735 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11736 standard.
11737 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11738 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11739 (std=gnu1x): Make alias of std=gnu11.
11740
d58d6eb5
JM
117412011-12-19 Jason Merrill <jason@redhat.com>
11742
11743 PR c++/51228
11744 * c-common.c (handle_transparent_union_attribute): Check the first
11745 field if the type is complete.
11746
b3908fcc
JW
117472011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11748
11749 PR libstdc++/51365
11750 * c-common.c (RID_IS_FINAL): Add.
11751 * c-common.h (RID_IS_FINAL): Add.
11752
fea3ca91
IS
117532011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11754
11755 * c.opt (fgnu-runtime): Provide full description.
11756 (fnext-runtime): Likewise.
11757 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11758
62bad7cd
AM
117592011-11-28 Andrew MacLeod <amacleod@redhat.com>
11760
11761 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11762 predefines in one place. Add LOCK_FREE predefines.
11763 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11764 new func.
11765
c466c4ff
AM
117662011-11-24 Andrew MacLeod <amacleod@redhat.com>
11767
11768 PR c/51256
9faeb493 11769 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11770 conditions
9faeb493
UB
11771 (resolve_overloaded_atomic_exchange,
11772 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11773 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11774 error_mark_node for error conditions.
9faeb493 11775
a5952633
RG
117762011-11-08 Richard Guenther <rguenther@suse.de>
11777
11778 PR middle-end/51010
ab20d992 11779 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11780
0a35513e
AH
117812011-11-07 Richard Henderson <rth@redhat.com>
11782 Aldy Hernandez <aldyh@redhat.com>
11783 Torvald Riegel <triegel@redhat.com>
11784
11785 Merged from transactional-memory.
11786
11787 * c-common.c (handle_tm_wrap_attribute,
11788 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11789 (struct c_common_reswords): Added __transaction* keywords.
11790 (struct c_common_attribute_table): Added transaction* and tm_regparm
11791 attributes.
11792 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11793 masks.
11794 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11795 find_tm_attribute): Declare.
11796
6d87092d
JM
117972011-11-07 Jason Merrill <jason@redhat.com>
11798
11799 PR c++/35688
11800 * c-common.c, c-common.h: Revert yesterday's changes.
11801
8e7860a1
JM
118022011-11-06 Jason Merrill <jason@redhat.com>
11803
11804 PR c++/35688
11805 * c-common.c (decl_has_visibility_attr): Split out from...
11806 (c_determine_visibility): ...here.
11807 * c-common.h: Declare it.
11808
d19fa6b5
JM
118092011-11-06 Joseph Myers <joseph@codesourcery.com>
11810
11811 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11812 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11813 type.
11814 (check_user_alignment): New. Split out of
11815 handle_aligned_attribute. Disallow integer constants with
11816 noninteger types. Conditionally allow zero.
11817 (handle_aligned_attribute): Use check_user_alignment.
11818 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11819
86951993
AM
118202011-11-06 Andrew MacLeod <amacleod@redhat.com>
11821 Richard Henderson <rth@redhat.com>
11822
11823 Merged from cxx-mem-model.
11824
11825 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11826 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11827 parameters that are the same type size.
11828 (get_atomic_generic_size): New. Find size of generic
11829 atomic function parameters and do typechecking.
11830 (add_atomic_size_parameter): New. Insert size into parameter list.
11831 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11832 either __atomic_exchange_n or external library call.
9faeb493 11833 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11834 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11835 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11836 __atomic_load_n or an external library call.
11837 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11838 __atomic_store_n or an external library call.
11839 (resolve_overloaded_builtin): Handle new __atomic builtins.
11840
cf9e9959
EB
118412011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11842
11843 PR c++/50608
11844 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11845 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11846 <INDIRECT_REF>: Return the argument.
11847 <ARRAY_REF>: Remove special code for negative offset.
11848 Call fold_build_pointer_plus instead of size_binop.
11849 (fold_offsetof): Remove STOP_REF argument and adjust.
11850 * c-common.h (fold_offsetof_1): Declare.
11851 (fold_offsetof): Remove STOP_REF argument.
11852
25339f10
JM
118532011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11854
11855 PR c++/50810
11856 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11857 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11858 Wnarrowing for C++0x and C++98.
11859 * c.opt ([Wnarrowing]): Update.
11860
89401152
PC
118612011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11862
11863 PR c++/44277
11864 * c.opt: Add Wzero-as-null-pointer-constant.
11865
97e3ad20
JM
118662011-10-31 Jason Merrill <jason@redhat.com>
11867
15694fdd
JM
11868 * c.opt (-fdeduce-init-list): Off by default.
11869
97e3ad20
JM
11870 PR c++/50920
11871 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11872 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11873 and -Wc++11-compat.
11874 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11875
fb9120e3
RAV
118762011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11877
11878 PR c++/30066
11879 * c.opt (fvisibility-inlines-hidden): Description change.
11880
3ce4f9e4
ESR
118812011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11882
11883 Implement C++11 user-defined literals.
11884 * c-common.c (build_userdef_literal): New.
11885 * c-common.def: New tree code.
11886 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11887 * c-lex.c (interpret_float): Add suffix parm.
11888 (c_lex_with_flags): Build literal tokens.
11889
5f53c243
PC
118902011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11891
11892 PR c++/50841
11893 Revert:
11894 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11895
11896 PR c++/50810
11897 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11898 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11899 Wnarrowing for C++0x and C++98.
11900 * c.opt ([Wnarrowing]): Update.
11901
263734e1
PC
119022011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11903
11904 PR c++/50810
11905 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11906 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11907 Wnarrowing for C++0x and C++98.
11908 * c.opt ([Wnarrowing]): Update.
11909
d2e312d7
PC
119102011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11911
11912 PR c++/45385
11913 * c-common.c (conversion_warning): Remove code looking for
11914 artificial operands.
11915
d17687f6
DS
119162011-10-18 Dodji Seketeli <dodji@redhat.com>
11917
11918 PR bootstrap/50760
11919 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11920 !NO_IMPLICIT_EXTERN_C.
d17687f6 11921
fc8396e9
PC
119222011-10-17 Michael Spertus <mike_spertus@symantec.com>
11923
11924 * c-common.c (c_common_reswords): Add __bases,
11925 __direct_bases.
11926 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11927
119282011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11929
11930 PR c++/50757
11931 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11932
847e697a
TT
119332011-10-15 Tom Tromey <tromey@redhat.com>
11934 Dodji Seketeli <dodji@redhat.com>
11935
11936 * c.opt (fdebug-cpp): New option.
11937 * c-opts.c (c_common_handle_option): Handle the option.
11938 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11939 output stream in parameter. Factorized from ...
11940 (maybe_print_line): ... this. Dump location debug information when
11941 -fdebug-cpp is in effect.
11942 (print_line_1): New static function. Takes an output stream in
11943 parameter. Factorized from ...
11944 (print_line): ... here. Dump location information when -fdebug-cpp
11945 is in effect.
11946 (scan_translation_unit): Dump location information when
11947 -fdebug-cpp is in effect.
11948
92582b75
TT
119492011-10-15 Tom Tromey <tromey@redhat.com>
11950 Dodji Seketeli <dodji@redhat.com>
11951
11952 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11953 without argument.
11954 * c-opts.c (c_common_handle_option)<case
11955 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11956 cases. Handle -ftrack-macro-expansion with and without argument.
11957
46427374
TT
119582011-10-15 Tom Tromey <tromey@redhat.com>
11959 Dodji Seketeli <dodji@redhat.com>
11960
11961 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11962 (print_line, cb_define, do_line_change): Adjust to avoid touching
11963 the internals of struct line_map. Use the public API instead.
11964 * c-pch.c (c_common_read_pch): Likewise.
11965 * c-lex.c (fe_file_change): Likewise.
11966
fc8396e9
PC
119672011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11968
11969 PR c++/17212
11970 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11971
119722011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11973
11974 PR c++/33067
11975 * c-pretty-print.c (pp_c_floating_constant): Output
11976 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11977
e79983f4
MM
119782011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11979
11980 * c-common.c (def_builtin_1): Delete old interface with two
11981 parallel arrays to hold standard builtin declarations, and replace
11982 it with a function based interface that can support creating
11983 builtins on the fly in the future. Change all uses, and poison
11984 the old names. Make sure 0 is not a legitimate builtin index.
11985 * c-omp.c (c_finish_omp_barrier): Ditto.
11986 (c_finish_omp_taskwait): Ditto.
11987 (c_finish_omp_flush): Ditto.
11988
6637388f
TG
119892011-10-11 Tristan Gingold <gingold@adacore.com>
11990
11991 * c.opt: (fallow-parameterless-variadic-functions): New.
11992
3797cb21
DS
119932011-09-08 Dodji Seketeli <dodji@redhat.com>
11994
11995 PR c++/33255 - Support -Wunused-local-typedefs warning
11996 * c-common.h (struct c_language_function::local_typedefs): New
11997 field.
9faeb493
UB
11998 (record_locally_defined_typedef, maybe_record_typedef_use)
11999 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 12000 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
12001 (maybe_record_typedef_use)
12002 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
12003 * c.opt: Declare new -Wunused-local-typedefs flag.
12004
693ddb1b
EB
120052011-09-06 Eric Botcazou <ebotcazou@adacore.com>
12006
12007 PR middle-end/50266
12008 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
12009 computations.
12010
830c740f
RG
120112011-09-05 Richard Guenther <rguenther@suse.de>
12012
12013 * c-common.c (complete_array_type): Use ssize_int (-1) instead
12014 of integer_minus_one_node for empty array upper bounds.
12015
892a371f
DS
120162011-08-28 Dodji Seketeli <dodji@redhat.com>
12017
12018 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
12019 it's the first time it's being called on this main TU.
12020
0e3fdb48
RB
120212011-08-24 Richard Guenther <rguenther@suse.de>
12022
12023 PR c/49396
12024 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
12025
120262011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
12027
12028 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
12029 defined in cpp_init_builtins and c_cpp_builtins.
12030
d4a83c10
JM
120312011-08-19 Joseph Myers <joseph@codesourcery.com>
12032
12033 * c-common.c (c_common_reswords): Add __builtin_complex.
12034 * c-common.h (RID_BUILTIN_COMPLEX): New.
12035
bbceee64
JM
120362011-08-18 Joseph Myers <joseph@codesourcery.com>
12037
12038 * c-common.c (c_common_reswords): Add _Noreturn.
12039 (keyword_is_function_specifier): Handle RID_NORETURN.
12040 * c-common.h (RID_NORETURN): New.
12041
3f8257db 120422011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
12043
12044 * c-common.c (unsafe_conversion_p): New function. Check if it is
12045 unsafe to convert an expression to the type.
12046 (conversion_warning): Adjust, use unsafe_conversion_p.
12047 * c-common.h (unsafe_conversion_p): New function declaration.
12048
20906c66
JJ
120492011-08-02 Jakub Jelinek <jakub@redhat.com>
12050
12051 * c-common.h (c_finish_omp_atomic): Adjust prototype.
12052 (c_finish_omp_taskyield): New prototype.
12053 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
12054 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
12055 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
12056 or RHS1 have side-effects, evaluate those too in the right spot,
12057 if it is a decl and LHS is also a decl, error out if they
12058 aren't the same.
12059 (c_finish_omp_taskyield): New function.
12060 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
12061 * c-pragma.c (omp_pragmas): Add taskyield.
12062 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
12063 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
12064 PRAGMA_OMP_CLAUSE_MERGEABLE.
12065
770e5a2e
DS
120662011-07-25 Dodji Seketeli <dodji@redhat.com>
12067
12068 * c-common.h (set_underlying_type): Remove parm name from
12069 declaration.
12070
1baae426
RG
120712011-07-25 Romain Geissler <romain.geissler@gmail.com>
12072
12073 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 12074
fcb21722
JM
120752011-07-22 Jason Merrill <jason@redhat.com>
12076
76f86d00
JM
12077 PR c++/49793
12078 * c.opt (Wnarrowing): New.
12079
3a636414
JM
12080 PR c++/30112
12081 * c-common.h: Declare c_linkage_bindings.
12082 * c-pragma.c (handle_pragma_redefine_extname): Use it.
12083
fcb21722
JM
12084 PR c++/49813
12085 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
12086 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
12087 as flag_isoc99 for 'restrict'.
12088 (pp_c_specifier_qualifier_list): Likewise for _Complex.
12089
02614448
ILT
120902011-07-21 Ian Lance Taylor <iant@google.com>
12091
12092 PR middle-end/49705
12093 * c-common.c (c_disable_warnings): New static function.
12094 (c_enable_warnings): New static function.
12095 (c_fully_fold_internal): Change local unused_p to bool. Call
12096 c_disable_warnings and c_enable_warnings rather than change
12097 c_inhibit_evaluation_warnings.
12098
34429675
JM
120992011-07-20 Jason Merrill <jason@redhat.com>
12100
12101 PR c++/6709 (DR 743)
12102 PR c++/42603 (DR 950)
12103 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
12104 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
12105 (CPP_DECLTYPE): New.
12106 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
12107
5d49b6a7
RG
121082011-07-19 Richard Guenther <rguenther@suse.de>
12109
12110 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
12111 * c-omp.c (c_finish_omp_for): Likewise.
12112
e84a58ff
EB
121132011-07-12 Eric Botcazou <ebotcazou@adacore.com>
12114
12115 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
12116 body on the next line.
12117
329af3c7
JM
121182011-07-08 Jason Merrill <jason@redhat.com>
12119
4063e61b
JM
12120 PR c++/45437
12121 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
12122
329af3c7
JM
12123 PR c++/49673
12124 * c-common.c (c_apply_type_quals_to_decl): Don't check
12125 TYPE_NEEDS_CONSTRUCTING.
12126
1a072294
RG
121272011-07-06 Richard Guenther <rguenther@suse.de>
12128
12129 * c-common.c (c_common_nodes_and_builtins):
12130 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
12131
fce5dddd
RG
121322011-07-05 Richard Guenther <rguenther@suse.de>
12133
12134 * c-common.c (c_common_nodes_and_builtins): Build all common
12135 tree nodes first.
12136
45d439ac
JJ
121372011-06-27 Jakub Jelinek <jakub@redhat.com>
12138
56300785
JJ
12139 * c-common.h (c_tree_chain_next): New static inline function.
12140
45d439ac
JJ
12141 * c-common.c (check_builtin_function_arguments): Handle
12142 BUILT_IN_ASSUME_ALIGNED.
12143
e0a8ecf2
AM
121442011-06-21 Andrew MacLeod <amacleod@redhat.com>
12145
12146 * c-common.c: Add sync_ or SYNC__ to builtin names.
12147 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
12148
121492011-06-20 Pierre Vittet <piervit@pvittet.com>
12150
12151 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
12152 handler.
12153 (gen_pragma_handler): New union.
12154 (internal_pragma_handler): New type.
12155 (c_register_pragma_with_data)
12156 (c_register_pragma_with_expansion_and_data): New functions.
12157
12158 * c-pragma.c (registered_pragmas, c_register_pragma_1)
12159 (c_register_pragma, c_register_pragma_with_expansion)
12160 (c_invoke_pragma_handler): Changed to work with
12161 internal_pragma_handler.
12162 (c_register_pragma_with_data)
12163 (c_register_pragma_with_expansion_and_data): New functions.
12164
677f3fa8
JM
121652011-06-14 Joseph Myers <joseph@codesourcery.com>
12166
12167 * c-common.c: Include common/common-target.h.
12168 (handle_section_attribute): Use
12169 targetm_common.have_named_sections.
12170 * c-cppbuiltin.c: Include common/common-target.h.
12171 (c_cpp_builtins): Use targetm_common.except_unwind_info.
12172
d7fc8c14
RG
121732011-06-10 Richard Guenther <rguenther@suse.de>
12174
12175 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
12176 to print a IDENTIFIER_NODE.
12177
10e48e39
RO
121782011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12179 Joseph Myers <joseph@codesourcery.com>
12180
12181 * c.opt (fbuilding-libgcc): New option.
12182 * c-cppbuiltin.c (c_cpp_builtins): Define
12183 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
12184
6976ae51
JM
121852011-06-07 Jason Merrill <jason@redhat.com>
12186
3ff60975
JM
12187 * c-common.c (max_tinst_depth): Lower default to 900.
12188
6976ae51
JM
12189 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
12190
009db074
RG
121912011-06-07 Richard Guenther <rguenther@suse.de>
12192
12193 * c-common.c (c_common_nodes_and_builtins): Do not set
12194 size_type_node or call set_sizetype.
12195
b4592b92
DS
121962011-06-07 Dodji Seketeli <dodji@redhat.com>
12197
12198 PR debug/49130
12199 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 12200 type when using pointer comparison to compare types.
b4592b92 12201
014ab419
JW
122022011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
12203
12204 * c.opt: Add -Wdelete-non-virtual-dtor.
12205 * c-opts.c (c_common_handle_option): Include it in -Wall.
12206
4f60111f
NF
122072011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
12208
12209 PR bootstrap/49190
12210
12211 Revert:
12212 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12213
12214 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12215 not tree_common.
12216
4cc4f2f4
JJ
122172011-05-27 Jakub Jelinek <jakub@redhat.com>
12218
12219 PR c++/49165
12220 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
12221 C++ don't call c_common_truthvalue_conversion on void type arms.
12222
38e01f9e
NF
122232011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12224
12225 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12226 (stmt_list_stack): Define.
12227 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12228 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12229
92e948a8
NF
122302011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12231
12232 * c-common.c (warning_candidate_p): Check for BLOCKs.
12233
a2fc3e63
NF
122342011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12235
12236 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12237 not tree_common.
12238
0957c029
JJ
122392011-05-25 Jakub Jelinek <jakub@redhat.com>
12240
12241 * c-common.c (def_fn_type): Remove extra va_end.
12242
828fb3ba
JM
122432011-05-23 Jason Merrill <jason@redhat.com>
12244
12245 PR c++/48106
12246 * c-common.c (c_common_get_narrower): New.
12247 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12248
dde05067
NF
122492011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12250
12251 * c-common.h (check_function_arguments): Tweak prototype of
12252 check_function_arguments.
12253 * c-common.c (check_function_arguments): Likewise. Adjust
12254 calls to check_function_nonnull, check_function_format, and
12255 check_function_sentinel.
12256 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12257 separate attributes and typelist arguments. Use
12258 FOREACH_FUNCTION_ARGS to iterate over argument types.
12259
3c0d13bf
PC
122602011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12261
12262 * c-common.c (c_common_reswords): Reorder.
12263 * c-common.h (rid): Likewise.
12264
8242dd04
NF
122652011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12266
12267 * c-common.c (def_fn_type): Don't call build_function_type, call
12268 build_function_type_array or build_varargs_function_type_array
12269 instead.
12270 (c_common_nodes_and_builtins): Likewise.
12271
3d528853
NF
122722011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12273
12274 * c-common.c (c_add_case_label): Omit the loc argument to
12275 build_case_label.
12276 * c-common.h (build_case_label): Remove.
12277 * c-semantics.c (build_case_label): Remove.
12278
a04a722b
JM
122792011-05-05 Joseph Myers <joseph@codesourcery.com>
12280
12281 * c-objc.h (objc_start_method_definition): Update prototype.
12282 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12283
e19a18d4
NF
122842011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12285
12286 * c-common.c (check_main_parameter_types): Reindent. Don't use
12287 TYPE_ARG_TYPES directly.
12288 (handle_nonnull_attribute): Likewise.
12289 (sync_resolve_params): Likewise.
12290 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12291 to check_format_string.
12292 (handle_format_attribute): Likewise.
12293 (check_format_string): Take a function type to examine instead of
12294 a type list. Use a function_arg_iterator to step through argument
12295 types.
12296
c62c040f
RG
122972011-05-04 Richard Guenther <rguenther@suse.de>
12298
12299 * c-common.c (fix_string_type): Use size_int for index type bounds.
12300 (start_fname_decls): Do not pass NULL to build_int_cst.
12301 (c_init_attributes): Likewise.
12302 * c-lex.c (c_lex_with_flags): Likewise.
12303
c12ff9d8
JM
123042011-04-27 Jason Merrill <jason@redhat.com>
12305
12306 * c-common.c (make_tree_vector_from_list): New.
12307 * c-common.h: Declare it.
12308
304dfbe3
RG
123092011-04-26 Richard Guenther <rguenther@suse.de>
12310
12311 PR preprocessor/48248
12312 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12313 for output size with -P.
12314
3c0d13bf
PC
123152011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12316
12317 * c-common.c (struct c_common_resword): Add __underlying_type.
12318 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12319
04695783
JM
123202011-04-20 Jim Meyering <meyering@redhat.com>
12321
12322 * c-format.c (init_dollar_format_checking): Remove useless
12323 if-before-free.
12324
0dc33c3c
NP
123252011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12326
12327 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12328 (objc_detect_field_duplicates): New.
0dc33c3c 12329 * stub-objc.c: Likewise.
3c0d13bf 12330
c59633d9
NP
123312011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12332
12333 * stub-objc.c (objc_declare_protocols): Renamed to
12334 objc_declare_protocol.
12335 * c-objc.h: Likewise.
3c0d13bf 12336
32dabdaf
NP
123372011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12338
12339 * stub-objc.c (objc_declare_class): Updated argument name.
12340
81f653d6
NF
123412011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12342
12343 * c-common.h (c_common_init_ts): Declare.
12344 * c-common.c (c_common_init_ts): Define.
12345
eb345401
NP
123462011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12347
12348 * c-objc.h (objc_build_message_expr): Updated prototype.
12349 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12350
a358e188
MJ
123512011-04-12 Martin Jambor <mjambor@suse.cz>
12352
12353 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12354 of cgraph_node.
12355
e6313a78
RG
123562011-04-11 Richard Guenther <rguenther@suse.de>
12357
12358 * c-common.c (complete_array_type): Build a range type of
12359 proper type.
12360
dcf0c47e
NF
123612011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12362
12363 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12364 (handle_type_generic_attribute): Likewise.
12365
1ee44b26
JM
123662011-04-07 Jason Merrill <jason@redhat.com>
12367
12368 PR c++/48450
12369 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12370 conversion from C++0x scoped enum.
12371
acce4e77
JM
123722011-04-06 Joseph Myers <joseph@codesourcery.com>
12373
12374 * c-target-def.h: New file.
12375 * c-target.def: New file.
12376 * c-target.h: New file.
12377 * c-common.c (targetcm): Don't define here.
12378 * c-common.h (default_handle_c_option): Declare.
12379 * c-format.c: Include c-target.h instead of target.h.
12380 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12381 include tm.h.
12382 (default_handle_c_option): Move from targhooks.c.
12383
e2eefb55
JJ
123842011-03-29 Jakub Jelinek <jakub@redhat.com>
12385
12386 PR preprocessor/48248
12387 * c-ppoutput.c (print): Add src_file field.
12388 (init_pp_output): Initialize it.
12389 (maybe_print_line): Don't optimize by adding up to 8 newlines
12390 if map->to_file and print.src_file are different file.
12391 (print_line): Update print.src_file.
12392
ba78087b
KT
123932011-03-25 Kai Tietz <ktietz@redhat.com>
12394
12395 * c-ada-spec.c (compare_comment): Use filename_cmp
12396 instead of strcmp for filename.
12397
0edf1bb2
JL
123982011-03-25 Jeff Law <law@redhat.com>
12399
adfac8df 12400 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12401
c7dc8804
JM
124022011-03-25 Jason Merrill <jason@redhat.com>
12403
12404 * c.opt: Add -std=c++03.
12405
d1d879b1
EB
124062011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12407
12408 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12409
3f8257db 124102011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12411
12412 PR target/12171
5050afdf
KT
12413 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12414 Display allowed attributes for function pointer types.
12415 (pp_c_attributes_display): New function to display
12416 attributes having affects_type_identity flag set to true.
12417 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12418
62d784f7
KT
12419 * c-common.c (c_common_attribute_table):
12420 Add new element.
12421 (c_common_format_attribute_table): Likewise.
12422
82d37118
JM
124232011-03-18 Jason Merrill <jason@redhat.com>
12424
49a000c3
JM
12425 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12426 * c-common.h: Don't declare it here.
12427 * c-common.c: Or define it here.
12428 * c-opts.c (c_common_handle_option): Or set it here.
12429
82d37118
JM
12430 PR c++/35315
12431 * c-common.c (handle_transparent_union_attribute): Don't
12432 make a duplicate type in C++.
12433
17bc631c
JM
124342011-03-15 Jason Merrill <jason@redhat.com>
12435
12436 * c-common.c (max_constexpr_depth): New.
12437 * c-common.h: Declare it.
12438 * c-opts.c (c_common_handle_option): Set it.
12439 * c.opt (fconstexpr-depth): New option.
12440
1b9b91a6
JM
124412011-03-11 Jason Merrill <jason@redhat.com>
12442
f231b5ff
JM
12443 * c-common.c (attribute_takes_identifier_p): Add missing const.
12444
1b9b91a6
JM
12445 PR c++/46803
12446 * c-common.c (attribute_takes_identifier_p): Assume that an
12447 unknown attribute takes an identifier.
12448
a19e4d44
NF
124492011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12450
12451 PR c/47786
12452 * c-common.c (c_type_hash): Call list_length instead of iterating
12453 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12454
982d62f6
JJ
124552011-02-19 Jakub Jelinek <jakub@redhat.com>
12456
12457 PR c/47809
12458 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12459
0a256240
NP
124602011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12461
12462 * c.opt (fobjc-abi-version=) New.
12463 (fobjc-nilcheck): New.
12464
ba9e6dd5
NF
124652011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12466
12467 PR c++/46890
12468 * c-common.h (keyword_is_decl_specifier): Declare.
12469 * c-common.c (keyword_is_decl_specifier): Define.
12470 (keyword_is_function_specifier): New function.
12471
7273813a
JJ
124722011-01-26 Jakub Jelinek <jakub@redhat.com>
12473
12474 PR c/47473
12475 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12476 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12477 REAL_TYPE.
12478
908ef79b
AC
124792011-01-26 Arnaud Charlet <charlet@adacore.com>
12480
12481 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12482
237e9384
JJ
124832011-01-26 Jakub Jelinek <jakub@redhat.com>
12484
12485 PR pch/47430
12486 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12487 after init_c_lex if pch_file is set.
12488
47ea1edf
DK
124892011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12490
d4dba752 12491 PR c++/43601
47ea1edf
DK
12492 * c.opt (-fkeep-inline-dllexport): New switch.
12493
2aa9c6ae
RG
124942011-01-12 Richard Guenther <rguenther@suse.de>
12495
12496 PR middle-end/32511
12497 * c-common.c (handle_weak_attribute): Warn instead of error
12498 on declaring an inline function weak.
12499
7bd11157
TT
125002011-01-05 Tom Tromey <tromey@redhat.com>
12501
12502 * c-common.h (lvalue_error): Update.
12503 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12504 not error.
12505
0e66e494 125062010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12507
b4f588c4
NP
12508 PR objc/47075
12509 * c-objc.h (objc_finish_message_expr): Added argument to
12510 prototype.
12511
f4da8dce
NF
125122010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12513
12514 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12515 Use prototype_p.
12516
46270f14
NP
125172010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12518
12519 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12520 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12521
4816c593
NF
125222010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12523
12524 * c-common.h (readonly_error): Declare.
12525 * c-common.c (readonly_error): Define.
12526
7a6daeb0
NF
125272010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12528
12529 * c-common.h (invalid_indirection_error): Declare.
12530 * c-common.c (invalid_indirection_error): Define.
12531
892f6119
RG
125322010-12-03 Richard Guenther <rguenther@suse.de>
12533
12534 PR c/46745
12535 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12536 (pp_c_unary_expression): Likewise.
12537 (pp_c_expression): Likewise.
12538
6c39e757
NP
125392010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12540
12541 * c-common.h (objc_finish_function): New.
12542 (objc_non_volatilized_type): Removed.
12543 (objc_type_quals_match): Removed.
12544 * stub-objc.c (objc_finish_function): New.
12545 (objc_non_volatilized_type): Removed.
12546 (objc_type_quals_match): Removed.
9faeb493 12547
7c475d11
JM
125482010-11-30 Joseph Myers <joseph@codesourcery.com>
12549
12550 * c-common.h (parse_optimize_options): Declare.
12551 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12552 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12553
71f3e391
JM
125542010-11-29 Joseph Myers <joseph@codesourcery.com>
12555
12556 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12557 GET_ENVIRONMENT.
12558 * c-pch.c (O_BINARY): Don't define here.
12559 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12560
d5fabb58
JM
125612010-11-25 Joseph Myers <joseph@codesourcery.com>
12562
12563 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12564 targetm.except_unwind_info.
12565
299404a1
JM
125662010-11-23 Joseph Myers <joseph@codesourcery.com>
12567
12568 * c-opts.c (c_common_handle_option): Pass location to
12569 set_struct_debug_option.
12570
c98cd5bf
JM
125712010-11-23 Joseph Myers <joseph@codesourcery.com>
12572
12573 * c-common.c (visibility_options): Move from ../opts.c.
12574 * c-common.h (struct visibility_flags, visibility_options):
12575 Declare here.
12576 * c-opts.c (finish_options): Rename to c_finish_options.
12577 (c_common_init): Update call to finish_options.
12578
a9546771
NP
125792010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12580
12581 PR objc/34033
12582 * c-lex.c (lex_string): Check that each string in an Objective-C
12583 string concat sequence starts with either one or zero '@', and
12584 that there are no spurious '@' signs at the end.
12585
24a57808
JM
125862010-11-20 Joseph Myers <joseph@codesourcery.com>
12587
12588 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12589 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12590 HANDLE_PRAGMA_VISIBILITY.
12591 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12592 HANDLE_PRAGMA_VISIBILITY): Don't define.
12593 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12594
a9aa2c3a
NF
125952010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12596
12597 PR c++/16189
12598 PR c++/36888
12599 PR c++/45331
12600 * c-common.h (keyword_begins_type_specifier): Declare.
12601 (keyword_is_storage_class_specifier): Declare.
12602 (keyword_is_type_qualifier): Declare.
12603 * c-common.c (keyword_begins_type_specifier): New function.
12604 (keyword_is_storage_class_specifier): New function.
12605 (keyword_is_type_qualifier): Declare.
12606
5386338c
JM
126072010-11-19 Joseph Myers <joseph@codesourcery.com>
12608
12609 PR c/46547
12610 * c-common.c (in_late_binary_op): Define.
12611 (c_common_truthvalue_conversion): Check in_late_binary_op before
12612 calling c_save_expr.
12613 * c-common.h (in_late_binary_op): Declare.
12614
69ccdddb
JM
126152010-11-19 Joseph Myers <joseph@codesourcery.com>
12616
12617 * c-opts.c (c_common_handle_option): Update calls to
12618 set_struct_debug_option.
12619
6b192a09
NP
126202010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
12621
12622 * c-common.h (objc_declare_protocols): Added additional argument.
12623 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 12624
fb52b50a
NF
126252010-11-18 Nathan Froyd <froydnj@codesourcery.com>
12626
12627 PR c/33193
12628 * c-common.h (build_real_imag_expr): Declare.
12629 * c-semantics.c (build_real_imag_expr): Define.
12630
b37421c6
JM
126312010-11-17 Joseph Myers <joseph@codesourcery.com>
12632
12633 * c-opts.c (c_common_parse_file): Take no arguments.
12634 * c-common.h (c_common_parse_file): Update prototype.
12635
07078664
JJ
126362010-11-16 Jakub Jelinek <jakub@redhat.com>
12637
12638 PR c++/46401
12639 * c-common.c (warning_candidate_p): Don't track non-const calls
12640 or STRING_CSTs.
12641
c6a13190
ILT
126422010-11-15 Ian Lance Taylor <iant@google.com>
12643
12644 * c-lex.c (init_c_lex): Set macro debug callbacks if
12645 flag_dump_go_spec is set.
12646
925e8657
NP
126472010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12648
12649 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12650 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12651
bb0a9581
NF
126522010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12653
12654 PR preprocessor/45038
12655 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12656 dialects.
12657
c5fa0890
JM
126582010-11-12 Joseph Myers <joseph@codesourcery.com>
12659
12660 * c-common.h (c_family_lang_mask): Declare.
12661 * c-opts.c (c_family_lang_mask): Make extern.
12662 * c-pragma.c (handle_pragma_diagnostic): Use
12663 control_warning_option.
12664
a4d8c676
JM
126652010-11-12 Joseph Myers <joseph@codesourcery.com>
12666
12667 * c-common.c (parse_optimize_options): Update call to
12668 decode_options.
12669 * c-common.h (c_common_handle_option): Update prototype.
12670 * c-opts.c (c_common_handle_option): Take location_t parameter and
12671 pass it to other functions.
12672
f954bd2c
JM
126732010-11-11 Joseph Myers <joseph@codesourcery.com>
12674
12675 * c-opts.c (warning_as_error_callback): Remove.
12676 (c_common_initialize_diagnostics): Don't call
12677 register_warning_as_error_callback.
12678 (c_common_handle_option): Handle -Werror=normalized= here.
12679
d8a07487
JM
126802010-11-10 Joseph Myers <joseph@codesourcery.com>
12681
12682 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12683 in diagnostic.
12684 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12685 letter.
12686 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12687 Remove trailing '.' from diagnostics.
12688 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12689
d5478783
JM
126902010-11-10 Joseph Myers <joseph@codesourcery.com>
12691
12692 * c-common.c (parse_optimize_options): Pass global_dc to
12693 decode_options.
12694 * c-opts.c (c_common_handle_option): Pass &global_options to
12695 set_Wstrict_aliasing.
12696 * c.opt (v): Don't mark Common or document here.
12697
91ebb981
IS
126982010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12699
12700 PR target/44981
12701 * c-format.c (format_type): New type gcc_objc_string_format_type.
12702 (valid_stringptr_type_p): New.
12703 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12704 (check_format_string): Pass expected type, use
91ebb981
IS
12705 valid_stringptr_type_p (), check that the format string types are
12706 consistent with the format specification.
12707 (decode_format_attr): Warn if NSString is used outside objective-c.
12708 (format_types_orig): Add NSString.
12709 (format_name): New.
12710 (format_flags): New.
12711 (check_format_arg): Handle format strings requiring an external parser.
12712 first_target_format_type: New variable.
12713 (handle_format_attribute): Set up first_target_format_type, pass the
12714 expected format arg string type to check_format_string().
ab20d992 12715 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12716 * stub-objc.c (objc_string_ref_type_p): New.
12717 (objc_check_format_arg): New.
12718
bede2adc
NP
127192010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12720
9faeb493 12721 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12722 * c-common.h (objc_build_class_component_ref): New.
12723 * stub-objc.c (objc_build_class_component_ref): New.
12724
9a179d01
NP
127252010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12726
12727 * c.opt (Wproperty-assign-default): New option.
12728
22d8d616
NP
127292010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12730
12731 Implemented -fobjc-std=objc1 flag.
12732 * c.opt (fobjc-std=objc1): New option.
12733
2debdb4f
NP
127342010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12735
12736 Implemented format and noreturn attributes for Objective-C methods.
12737 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12738 attribute for Objective-C methods.
12739
ec52b111
JM
127402010-10-31 Jason Merrill <jason@redhat.com>
12741
12742 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12743 EXPR_LOC_OR_HERE.
12744
46a88c12
NP
127452010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12746
12747 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12748 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12749 (objc_add_property_declaration): Removed arguments for copies and
12750 ivar.
12751 (objc_build_getter_call): Renamed to
12752 objc_maybe_build_component_ref.
12753 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12754 (objc_is_property_ref): New.
12755 * c-common.c (c_common_reswords): Removed copies and ivar.
12756 * stub-objc.c (objc_add_property_declaration): Removed arguments
12757 for copies and ivar.
12758 (objc_build_getter_call): Renamed to
12759 objc_maybe_build_component_ref.
12760 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12761 (objc_is_property_ref): New.
9faeb493 12762
1e4bf85b
AC
127632010-10-29 Arnaud Charlet <charlet@adacore.com>
12764 Matthew Gingell <gingell@adacore.com>
12765
12766 * c-ada-spec.c (separate_class_package): New function.
12767 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12768 name of their enclosing package.
12769 (print_ada_declaration): Use separate_class_package.
12770
81f0bab2
JM
127712010-10-27 Jason Merrill <jason@redhat.com>
12772
2b08f2c5
JM
12773 * c-common.c (c_common_reswords): Add __is_literal_type.
12774 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12775
81f0bab2
JM
12776 * c-common.c (check_case_value): Remove special C++ code.
12777
200290f2
NP
127782010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12779
12780 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12781 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12782 and RID_LAST_PATTR.
12783 (objc_add_property_declaration): Added additional arguments.
12784 (objc_property_attribute_kind): Removed.
12785 (objc_set_property_attr): Removed.
12786 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12787 copy and nonatomic.
12788 * stub-objc.c (objc_add_property_declaration): Added additional
12789 arguments.
12790 (objc_set_property_attr): Removed.
9faeb493 12791
f614132b
NP
127922010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12793
12794 * c-common.h (objc_add_property_variable): Renamed to
12795 objc_add_property_declaration. Added location argument.
12796 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12797
b8a18805
NP
127982010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12799
12800 * c-common.h (objc_maybe_printable_name): New.
12801 * stub-objc.c (objc_maybe_printable_name): New.
12802
3f8257db
JJ
128032010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12804 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12805
12806 * c-common.h (c_common_mark_addressable_vec): Declare.
12807 * c-common.c (c_common_mark_addressable_vec): New function.
12808
249a82c4
NP
128092010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12810
12811 * c-common.h (objc_set_method_type): Removed.
12812 (objc_add_method_declaration): Added boolean argument.
12813 (objc_start_method_definition): Same change.
12814 (objc_build_method_signature): Same change.
12815 * stub-objc.c (objc_set_method_type): Removed.
12816 (objc_add_method_declaration): Added boolean argument.
12817 (objc_start_method_definition): Same change.
12818 (objc_build_method_signature): Same change.
12819
977e30bc
NP
128202010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12821
12822 * c-common.h (finish_file): Removed.
12823 (objc_write_global_declarations): New.
12824 * c-opts.c (c_common_parse_file): Do not call finish_file.
12825 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12826
da57d1b9
NP
128272010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12828
12829 Implemented parsing @synthesize and @dynamic for
12830 Objective-C/Objective-C++.
12831 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12832 (objc_add_synthesize_declaration): New.
12833 (objc_add_dynamic_declaration): New.
12834 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12835 * stub-objc.c (objc_add_synthesize_declaration): New.
12836 (objc_add_dynamic_declaration): New.
9faeb493 12837
0069111f
MM
128382010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12839
12840 PR target/46041
12841 * c-cppbuiltin.c (mode_has_fma): Move function here from
12842 builtins.c. Don't use the fma optab, instead just use the
12843 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12844 using -save-temps.
12845
e426b47b
NP
128462010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12847
12848 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12849
3f8257db 12850 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12851
9faeb493 12852 Radar 4330422
e426b47b
NP
12853 * c-common.h (objc_non_volatilized_type): New declaration
12854 * stub-objc.c (objc_non_volatilized_type): New stub.
12855
90fbfdc3
NP
128562010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12857
e426b47b 12858 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12859
ab20d992 12860 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12861
9faeb493 12862 Radar 4133425
90fbfdc3 12863 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12864 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12865
c37d8c30
IS
128662010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12867
12868 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12869 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12870 (objc_ivar_visibility_kind): New enum.
12871 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12872 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12873 visibility enum.
12874
1b1562a5
MM
128752010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12876
12877 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12878 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12879 has the appropriate fma builtins.
12880 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12881
668ea4b1
IS
128822010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12883
1b1562a5 12884 merge from FSF apple 'trunk' branch.
3f8257db 12885 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12886
668ea4b1
IS
12887 Radars 4436866, 4505126, 4506903, 4517826
12888 * c-common.c (c_common_resword): Define @property and its attributes.
12889 * c-common.h: Define property attribute enum entries.
12890 (OBJC_IS_PATTR_KEYWORD): New.
12891 (objc_property_attribute_kind): New enum.
12892 Declare objc_set_property_attr (), objc_add_property_variable (),
12893 objc_build_getter_call () and objc_build_setter_call ().
12894 * stub-objc.c (objc_set_property_attr): New stub.
12895 (objc_add_property_variable): Likewise.
12896 (objc_build_getter_call): Likewise.
12897 (objc_build_setter_call) Likewise.
1b1562a5 12898
a1178b30
IS
128992010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12900
1b1562a5 12901 merge from FSF apple 'trunk' branch.
ab20d992 12902 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12903
12904 Radar 3803157 (method attributes)
12905 * c-common.c (handle_deprecated_attribute): Recognize
12906 objc methods as valid declarations.
12907 * c-common.h: Declare objc_method_decl ().
1b1562a5 12908 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12909
a75bfaa6
JM
129102010-10-08 Joseph Myers <joseph@codesourcery.com>
12911
12912 * c-common.c (parse_optimize_options): Call
12913 decode_cmdline_options_to_array_default_mask before
12914 decode_options. Update arguments to decode_options.
12915 * c-common.h (c_common_init_options_struct): Declare.
12916 * c-opts.c (c_common_init_options_struct): New. Split out from
12917 c_common_init_options.
12918
f05b9d93
NP
129192010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12920
12921 Implemented fast enumeration for Objective-C.
12922 * c-common.h (objc_finish_foreach_loop): New.
12923 * stub-objc.c (objc_finish_foreach_loop): New.
12924
1ebe4b4f
JM
129252010-10-05 Joseph Myers <joseph@codesourcery.com>
12926
12927 * c-common.h (struct diagnostic_context): Don't declare here.
12928 (c_common_initialize_diagnostics): Declare using
12929 diagnostic_context typedef.
12930 * c-opts.c (c_common_handle_option): Pass global_dc to
12931 handle_generated_option.
12932
d4d24ba4
JM
129332010-10-04 Joseph Myers <joseph@codesourcery.com>
12934
12935 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12936 handle_generated_option.
12937
478a1c5b
ILT
129382010-10-03 Ian Lance Taylor <iant@google.com>
12939
12940 * c.opt (-fplan9-extensions): New option.
12941
82a1c2fe
FXC
129422010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12943
12944 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12945 Remove.
12946 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12947 of duplicating code.
12948
92902b1b
IS
129492010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12950
12951 * c-common.c: Add two new entries for @optional
12952 and @required keywords.
12953
12954 merge from FSF 'apple/trunk' branch.
3f8257db 12955 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12956
12957 Radar 4386773
12958 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12959 objective-c keywords.
12960 (objc_set_method_opt): New declaration.
12961 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12962
46625112
JM
129632010-09-30 Joseph Myers <joseph@codesourcery.com>
12964
12965 * c-common.c (handle_optimize_attribute): Pass &global_options to
12966 cl_optimization_save and cl_optimization_restore.
12967 * c-opts.c (c_common_handle_option): Pass &global_options to
12968 handle_generated_option.
12969 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12970 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12971 &global_options to cl_optimization_restore.
12972
49b91f05
NP
129732010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12974
12975 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12976 Objective-C/Objective-C++ keywords.
12977
13ed556f 129782010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12979
9faeb493
UB
12980 Merge from 'apple/trunk' branch on FSF servers.
12981
3f8257db 12982 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12983
12984 Radar 4281748
12985 * c-common.h (objc_check_global_decl): New declaration.
12986 * stub-objc.c (objc_check_global_decl): New stub.
12987
f0036cca
JM
129882010-09-29 Joseph Myers <joseph@codesourcery.com>
12989
12990 * c.opt: Don't use VarExists.
12991
e3339d0f
JM
129922010-09-29 Joseph Myers <joseph@codesourcery.com>
12993
12994 * c-common.c (c_cpp_error): Update names of diagnostic_context
12995 members.
12996 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12997 cl_optimization members.
12998 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12999 sanitize_cpp_opts, finish_options): Update names of cpp_options
13000 members.
13001
1973201f
NP
130022010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
13003
13004 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
13005 (objc_is_reserved_word): Removed.
13006 * c-common.c: Updated comments.
13007 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
13008 objc_is_reserved_word.
13009 * stub-objc.c (objc_is_reserved_word): Removed.
13010
f7e71da5
IS
130112010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13012
9faeb493 13013 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
13014 include attributes.
13015 (objc_start_method_definition): Likewise.
13016 (objc_build_keyword_decl): Likewise.
13017 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
13018 (objc_start_method_definition): Likewise.
13019 (objc_build_keyword_decl): Likewise.
13020
c165dca7
IS
130212010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13022
13023 * c-common.h (objc_start_class_interface): Adjust prototype.
13024 (objc_start_category_interface): Likewise.
13025 (objc_start_protocol): Likewise.
13026 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
13027 (objc_start_class_interface): Likewise.
13028 (objc_start_category_interface): Likewise.
13029
7458026b
ILT
130302010-09-27 Ian Lance Taylor <iant@google.com>
13031
13032 * c-common.c (c_common_attribute_table): Add no_split_stack.
13033 (handle_no_split_stack_attribute): New static function.
13034
b581b85b
NP
130352010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
13036
9faeb493 13037 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 13038
3f8257db 13039 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 13040
9faeb493 13041 Radar 4229905
b581b85b
NP
13042 * c-common.h (objc_have_common_type): New declaration.
13043 * stub-objc.c (objc_have_common_type): New stub.
13044
13045 2005-06-22 Ziemowit Laski <zlaski@apple.com>
13046
13047 Radar 4154928
13048 * c-common.h (objc_common_type): New prototype.
9faeb493 13049 * stub-objc.c (objc_common_type): New stub.
b581b85b 13050
46a4da10
JH
130512010-09-24 Jan Hubicka <jh@suse.cz>
13052
13053 * c-common.c (handle_leaf_attribute): New function.
13054 (struct attribute_spec c_common_att): Add leaf.
13055
e200444e
JM
130562010-09-22 Joseph Myers <joseph@codesourcery.com>
13057
13058 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
13059 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
13060 -dump, -dump=, -imacros, -imacros=, -include, -include=,
13061 -include-barrier, -include-directory, -include-directory=,
13062 -include-directory-after, -include-directory-after=,
13063 -include-prefix, -include-prefix=, -include-with-prefix,
13064 -include-with-prefix=, -include-with-prefix-after,
13065 -include-with-prefix-after=, -include-with-prefix-before,
13066 -include-with-prefix-before=, -no-integrated-cpp,
13067 -no-line-commands, -no-standard-includes, -no-warnings, -output,
13068 -output=, -pedantic, -pedantic-errors, -preprocess,
13069 -print-missing-file-dependencies, -trace-includes, -traditional,
13070 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
13071 -user-dependencies, -verbose, -write-dependencies,
13072 -write-user-dependencies, no-integrated-cpp, traditional): New.
13073
29a80ea6
NP
130742010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13075
13076 PR objc/23710
ac1fc2fc
NP
13077 * c-common.h (objc_start_method_definition): Return bool instead
13078 of void.
13079 * stub-objc.c (objc_start_method_definition): Return bool instead
13080 of void.
13081
130822010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13083
13084 PR objc/25965
13085 * c-common.h (objc_get_interface_ivars): New declaration.
13086 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 13087
de621752
ILT
130882010-09-15 Ian Lance Taylor <iant@google.com>
13089
13090 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 13091 messages. Remove period at end of warning message.
de621752 13092
ba885ec5
NS
130932010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13094
13095 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
13096 (handle_alias_attribute): ... here.
13097 (handle_ifunc_attribute): New.
13098
c5ee1358
MM
130992010-09-06 Mark Mitchell <mark@codesourcery.com>
13100
13101 * c-common.h (do_warn_double_promotion): Declare.
13102 * c-common.c (do_warn_double_promotion): Define.
13103
0a0b3574
MM
131042010-09-05 Mark Mitchell <mark@codesourcery.com>
13105
13106 * c.opt (Wdouble-promotion): New.
13107
d1779886
JM
131082010-09-02 Joseph Myers <joseph@codesourcery.com>
13109
13110 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
13111 fvtable-thunks, fxref): Mark no longer supported in help text.
13112
2d2bd949
JM
131132010-09-02 Joseph Myers <joseph@codesourcery.com>
13114
13115 * c.opt (Wimport, fall-virtual, falt-external-templates,
13116 fdefault-inline, fenum-int-equiv, fexternal-templates,
13117 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
13118 fname-mangling-version-, fnew-abi, fnonnull-objects,
13119 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
13120 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
13121 applicable.
13122 (fhandle-exceptions): Mark with Alias and Warn.
13123 * c-opts.c (c_common_handle_option): Don't handle options marked
13124 as ignored.
13125
5de8299c
JM
131262010-09-02 Joseph Myers <joseph@codesourcery.com>
13127
13128 * c.opt (Wcomments, Werror-implicit-function-declaration,
13129 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
13130 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
13131 aliases.
13132 * c-common.c (option_codes): Use OPT_Wcomment instead of
13133 OPT_Wcomments.
13134 * c-opts.c (warning_as_error_callback, c_common_handle_option):
13135 Don't handle options marked as aliases.
13136
0ceb0201
RG
131372010-08-25 Richard Guenther <rguenther@suse.de>
13138
13139 * c-common.c (c_common_get_alias_set): Remove special
13140 handling for pointers.
13141
ac47786e
NF
131422010-08-20 Nathan Froyd <froydnj@codesourcery.com>
13143
13144 * c-common.c: Use FOR_EACH_VEC_ELT.
13145 * c-gimplify.c: Likewise.
13146 * c-pragma.c: Likewise.
13147
c878765b
JM
131482010-08-16 Joseph Myers <joseph@codesourcery.com>
13149
13150 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
13151 RejectDriver.
13152 (MMDX): Change back to MMD. Mark NoDriverArg instead of
13153 RejectDriver.
13154 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
13155 instead of OPT_MDX and OPT_MMDX.
13156
603349bf
JM
131572010-08-16 Joseph Myers <joseph@codesourcery.com>
13158
13159 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
13160
644fa7ac
JM
131612010-08-12 Joseph Myers <joseph@codesourcery.com>
13162
13163 * c.opt (MD, MMD): Change to MDX and MMDX.
13164 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
13165
481e1176
JM
131662010-08-11 Joseph Myers <joseph@codesourcery.com>
13167
13168 * c-opts.c (c_common_handle_option): Call handle_generated_option
13169 instead of handle_option.
13170
ac8dc9f7
NF
131712010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13172
13173 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
13174 (maybe_apply_renaming_pragma): Delete unneeded declarations.
13175
4f8c876d
NF
131762010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13177
13178 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
13179 (pending_redefine_extname): Change type to a VEC.
13180 (add_to_renaming_pragma_list): Update for new type of
13181 pending_redefine_extname.
ac8dc9f7 13182 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 13183
3b0c690e
AC
131842010-08-04 Arnaud Charlet <charlet@adacore.com>
13185
13186 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
13187 visited.
13188 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
13189 decide whether a type has already been declared/seen.
13190 Do not go to the original type.
13191 (dump_nested_types): New parameter forward.
13192 Generate forward declaration if needed and mark type as visited.
13193 (print_ada_declaration): Call dump_nested_types if not already done.
13194 Mark types as visited.
13195
1890bccc
JM
131962010-08-03 Joseph Myers <joseph@codesourcery.com>
13197
13198 * c.opt (-print-pch-checksum): Remove option.
13199 * c-opts.c (c_common_handle_option): Don't handle
13200 OPT_print_pch_checksum.
13201
5f20c657
JM
132022010-07-27 Joseph Myers <joseph@codesourcery.com>
13203
13204 * c-common.h (c_common_handle_option): Update prototype and return
13205 value type.
13206 * c-opts.c (c_common_handle_option): Update prototype and return
13207 value type. Update calls to handle_option and
13208 enable_warning_as_error.
13209
f551f80c
JJ
132102010-07-27 Jakub Jelinek <jakub@redhat.com>
13211
13212 PR c/45079
13213 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
13214
61ff2bdc
JM
132152010-07-27 Joseph Myers <joseph@codesourcery.com>
13216
13217 * c-common.h (c_common_missing_argument): Remove.
13218 * c-opts.c (c_common_missing_argument): Remove.
13219 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
13220 idirafter, imacros, include, isysroot, isystem, iquote): Add
13221 MissingArgError.
13222 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13223
7a9bf9a4
JM
132242010-07-27 Joseph Myers <joseph@codesourcery.com>
13225
13226 * c-common.h (c_common_option_lang_mask,
13227 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13228 New.
13229 (c_common_init_options): Update prototype.
13230 * c-opts.c (c_common_option_lang_mask): New.
13231 (c_common_initialize_diagnostics): Split out of
13232 c_common_init_options.
13233 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13234 New.
13235 (c_common_init_options): Update prototype. Use decoded options in
13236 search for -lang-asm.
13237
910ad8de
NF
132382010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13239
13240 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13241 * c-format.c: Likewise.
13242
718f9c0f
MLI
132432010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13244
13245 * c-common.h: Include diagnostic-core.h. Error if already
13246 included.
13247 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13248
4d451982
MLI
132492010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13250
adfac8df 13251 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13252 Do not include expr.h
13253 (vector_mode_valid_p): Move here.
13254
119fe915
SB
132552010-06-21 DJ Delorie <dj@redhat.com>
13256
13257 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13258 allow these pragmas anywhere.
13259
132602010-06-14 Jakub Jelinek <jakub@redhat.com>
13261
13262 PR bootstrap/44509
13263 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13264 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13265 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13266 ggc_strdup instead of xstrdup.
13267
132682010-06-10 Jakub Jelinek <jakub@redhat.com>
13269
13270 * c-cppbuiltin.c: Include cpp-id-data.h.
13271 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13272 (lazy_hex_fp_value): New function.
13273 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13274
6662d794
MLI
132752010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13276
13277 * c-gimplify.c: Do not include tree-flow.h
13278
38f8b050
JR
132792010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13280
13281 PR other/44034
13282 * c-common.c: Rename targetm member:
13283 targetm.enum_va_list -> targetm.enum_va_list_p
13284
9589f23e
AS
132852010-06-28 Anatoly Sokolov <aesok@post.ru>
13286
13287 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13288
3b06d379
SB
132892010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13290
13291 * c-cppbuiltin.c: Do not include except.h.
13292
d166d4c3
AK
132932010-06-24 Andi Kleen <ak@linux.intel.com>
13294
9faeb493
UB
13295 * c-common.c (warn_for_omitted_condop): New.
13296 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13297
70cb8be6
JM
132982010-06-21 Joseph Myers <joseph@codesourcery.com>
13299
13300 * c.opt (lang-objc): Remove.
13301 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13302
a4c97feb
JR
133032010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13304
13305 * c-opts.c: Include "tm_p.h".
13306
6e2f1956
JM
133072010-06-20 Joseph Myers <joseph@codesourcery.com>
13308
13309 * c-common.c (parse_optimize_options): Update call to
13310 decode_options.
13311
bc87224e
NF
133122010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13313
13314 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13315 new type of types_used_by_cur_var_decl.
13316
b49cf425
JR
133172010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13318
13319 PR bootstrap/44512
13320 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13321 for C++ standard compliance.
13322
59f9c2ed
JM
133232010-06-16 Jason Merrill <jason@redhat.com>
13324
13325 * c.opt: Add -Wnoexcept.
13326
33766b66
RG
133272010-06-16 Richard Guenther <rguenther@suse.de>
13328
13329 PR c/44555
13330 * c-common.c (c_common_truthvalue_conversion): Remove
13331 premature and wrong optimization concering ADDR_EXPRs.
13332
eff7e30c
AC
133332010-06-15 Arnaud Charlet <charlet@adacore.com>
13334
13335 * c-ada-spec.c (dump_sloc): Remove column info.
13336 (is_simple_enum): New function.
13337 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13338 enum types when relevant.
13339
6312e84d
MLI
133402010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13341
9faeb493 13342 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13343 location.
13344
1cb42611
JM
133452010-06-10 Joseph Myers <joseph@codesourcery.com>
13346
13347 * c-opts.c (c_common_handle_option): Don't handle
13348 OPT_fshow_column.
13349
a9429e29
LB
133502010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13351
13352 * c-pragma.c (push_alignment): Use typed GC allocation.
13353 (handle_pragma_push_options): Likewise.
13354
13355 * c-common.c (parse_optimize_options): Likewise.
13356
13357 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13358 option.
13359
5498f011
JM
133602010-06-07 Joseph Myers <joseph@codesourcery.com>
13361
13362 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13363 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13364 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13365 flag_signed_bitfields, warn_strict_null_sentinel,
13366 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13367 flag_gen_declaration, flag_no_gnu_keywords,
13368 flag_implement_inlines, flag_implicit_templates,
13369 flag_implicit_inline_templates, flag_optional_diags,
13370 flag_elide_constructors, flag_default_inline, flag_rtti,
13371 flag_conserve_space, flag_access_control, flag_check_new,
13372 flag_new_for_scope, flag_weak, flag_working_directory,
13373 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13374 flag_enforce_eh_specs, flag_threadsafe_statics,
13375 flag_pretty_templates): Remove.
13376 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13377 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13378 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13379 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13380 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13381 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13382 flag_no_gnu_keywords, flag_implement_inlines,
13383 flag_implicit_templates, flag_implicit_inline_templates,
13384 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13385 flag_rtti, flag_conserve_space, flag_access_control,
13386 flag_check_new, flag_new_for_scope, flag_weak,
13387 flag_working_directory, flag_use_cxa_atexit,
13388 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13389 flag_threadsafe_statics, flag_pretty_templates,
13390 warn_strict_null_sentinel): Remove.
13391 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13392 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13393 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13394 fimplicit-inline-templates, fimplicit-templates,
13395 flax-vector-conversions, fms-extensions, fnil-receivers,
13396 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13397 frtti, fshort-double, fshort-enums, fshort-wchar,
13398 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13399 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13400 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13401 gen-decls, undef): Use Var.
13402 (fdefault-inline, foptional-diags): Document as doing nothing.
13403 * c-opts.c (c_common_handle_option): Remove cases for options now
13404 using Var. Mark ignored options as such.
13405
39dabefd
SB
134062010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13407
9faeb493 13408 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13409 * c-common.def: Likewise.
13410 * c-common.h: Likewise.
13411 * c-cppbuiltin.c: Likewise.
13412 * c-dump.c: Likewise.
13413 * c-format.c: Likewise.
13414 * c-format.h : Likewise.
13415 * c-gimplify.c: Likewise.
13416 * c-lex.c: Likewise.
13417 * c-omp.c: Likewise.
13418 * c.opt: Likewise.
13419 * c-opts.c: Likewise.
13420 * c-pch.c: Likewise.
13421 * c-ppoutput.c: Likewise.
13422 * c-pragma.c: Likewise.
13423 * c-pragma.h: Likewise.
13424 * c-pretty-print.c: Likewise.
13425 * c-pretty-print.h: Likewise.
13426 * c-semantics.c: Likewise.
13427 * stub-objc.c: Likewise.
13428
13429 * c-common.c: Include gt-c-family-c-common.h.
13430 * c-pragma.c: Include gt-c-family-c-pragma.h.
13431\f
877e3c2a 13432Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13433
13434Copying and distribution of this file, with or without modification,
13435are permitted in any medium without royalty provided the copyright
13436notice and this notice are preserved.
This page took 4.69283 seconds and 5 git commands to generate.