]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
libstdc++: Add missing runtime exception to licence notice
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
25aeb922
GA
12022-09-06 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/106836
4 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
5
83f2f228
GA
62022-09-03 Jakub Jelinek <jakub@redhat.com>
7
8 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
9 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
10 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
11 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
12
c64b0947
GA
132022-09-02 David Malcolm <dmalcolm@redhat.com>
14
15 PR c/90885
16 * c-common.h (check_for_xor_used_as_pow): New decl.
17 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
18 * c-warn.cc (check_for_xor_used_as_pow): New.
19 * c.opt (Wxor-used-as-pow): New.
20
bb0a1556
GA
212022-09-01 Jason Merrill <jason@redhat.com>
22
23 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
24 char8_t.
25 (braced_list_to_string): Check for char-sized elements.
26
272022-09-01 Jakub Jelinek <jakub@redhat.com>
28
29 PR c++/106655
30 * c.opt (-Winvalid-utf8): New warning.
31 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
32 Set cpp_opts->cpp_input_charset_explicit.
33 (c_common_post_options): If -finput-charset=UTF-8 is explicit
34 in C++23, enable -Winvalid-utf8 by default and if -pedantic
35 or -pedantic-errors, make it a pedwarn.
36
542c60c4
GA
372022-08-31 Joseph Myers <joseph@codesourcery.com>
38
39 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
40 for LABEL_DECL.
41 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
42 decl_attributes.
43 * c-common.h (do_case, c_add_case_label): Update declarations.
44 * c-lex.cc (c_common_has_attribute): For C, produce a result of
45 201910 for fallthrough and 202106 for maybe_unused.
46
16f542d6
GA
472022-08-26 Marek Polacek <polacek@redhat.com>
48
49 PR c++/81159
50 * c.opt (Wself-move): New option.
51
522022-08-26 Jakub Jelinek <jakub@redhat.com>
53
54 * c-common.cc (check_builtin_function_arguments): Handle
55 BUILT_IN_ISSIGNALING.
56
572022-08-26 Jakub Jelinek <jakub@redhat.com>
58
59 PR c++/106648
60 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
61 __cpp_named_character_escapes to 202207L.
62
5d4389dc
GA
632022-08-25 Marek Polacek <polacek@redhat.com>
64
65 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
66 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
67 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
68 (struct c_common_resword): Resize the disable member.
69 (D_C2X): Add.
70 (nullptr_node): Define.
71 (nullptr_type_node): Define.
72 (NULLPTR_TYPE_P): Define.
73 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
74 NULLPTR_TYPE.
75 (c_pretty_printer::direct_abstract_declarator): Likewise.
76 (c_pretty_printer::constant): Likewise.
77
47a61e65
GA
782022-08-16 Tom Honermann <tom@honermann.net>
79
80 PR c++/106423
81 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
82 diagnostics in C++20 and later.
83 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
84
5cd525f0
GA
852022-08-11 Marek Polacek <polacek@redhat.com>
86
87 PR middle-end/102633
88 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
89 suppress_warning here.
90
5f17badb
GA
912022-08-08 Tom Honermann <tom@honermann.net>
92
93 PR preprocessor/106426
94 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
95 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
96
972022-08-08 Tom Honermann <tom@honermann.net>
98
99 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
100 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
101 enabled.
102 * c-opts.cc (c_common_post_options): Set flag_char8_t if
103 targeting C2x.
104
4a7274dd
GA
1052022-07-31 Lewis Hyatt <lhyatt@gmail.com>
106
107 PR c++/66290
108 * c-common.h: Rename global done_lexing to
109 override_libcpp_locations.
110 * c-common.cc (c_cpp_diagnostic): Likewise.
111 * c-opts.cc (c_common_finish): Set override_libcpp_locations
112 (formerly done_lexing) immediately prior to calling cpp_finish ().
113
1e2c5f4c
GA
1142022-07-27 Lewis Hyatt <lhyatt@gmail.com>
115
116 * c-ppoutput.cc (token_streamer::stream): Update input_location
117 prior to streaming each token.
118
0e6fa997
GA
1192022-07-23 Immad Mir <mirimmad@outlook.com>
120
121 * c-attribs.cc: (c_common_attribute_table): add three new attributes
122 namely: fd_arg, fd_arg_read and fd_arg_write.
123 (handle_fd_arg_attribute): New.
124
bdc7b765
GA
1252022-07-15 Marek Polacek <polacek@redhat.com>
126
127 PR c++/104477
128 * c-common.cc (c_common_reswords): Add
129 __reference_constructs_from_temporary and
130 __reference_converts_from_temporary.
131 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
132 RID_REF_CONVERTS_FROM_TEMPORARY.
133
1342022-07-15 Jonathan Wakely <jwakely@redhat.com>
135
136 * c-format.cc (class range_label_for_format_type_mismatch):
137 Adjust to new label_text API.
138
c72d4714
GA
1392022-07-11 Lewis Hyatt <lhyatt@gmail.com>
140
141 PR preprocessor/106252
142 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
143 option argument prior to verifying the option was found.
144
6345c414
GA
1452022-07-07 David Malcolm <dmalcolm@redhat.com>
146
147 * c-format.cc (range_label_for_format_type_mismatch::get_text):
148 Update for removal of label_text::maybe_free in favor of automatic
149 memory management.
150
4bc92c3b
GA
1512022-07-06 Lewis Hyatt <lhyatt@gmail.com>
152
153 PR preprocessor/53920
154 PR c++/53431
155 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
156 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
157 (c_pp_stream_token): Declare.
158 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
159 pragmas to...
160 (should_output_pragmas): ...here. New function.
161 (token_streamer::stream): Support handling early pragmas.
162 (do_line_change): Likewise.
163 (c_pp_stream_token): New function.
164 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
165 (pragma_diagnostic_lex_normal): New function. Moved logic for
166 interpreting GCC diagnostic pragmas here.
167 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
168 directly from libcpp.
169 (handle_pragma_diagnostic): Refactor into helper function...
170 (handle_pragma_diagnostic_impl): ...here. New function.
171 (handle_pragma_diagnostic_early): New function.
172 (handle_pragma_diagnostic_early_pp): New function.
173 (struct pragma_ns_name): Renamed to...
174 (struct pragma_pp_data): ...this. Add new "early_handler" member.
175 (c_register_pragma_1): Support early pragmas in the preprocessor.
176 (c_register_pragma_with_early_handler): New function.
177 (c_register_pragma): Support the new early handlers in struct
178 internal_pragma_handler.
179 (c_register_pragma_with_data): Likewise.
180 (c_register_pragma_with_expansion): Likewise.
181 (c_register_pragma_with_expansion_and_data): Likewise.
182 (c_invoke_early_pragma_handler): New function.
183 (c_pp_invoke_early_pragma_handler): New function.
184 (init_pragma): Add early pragma support for diagnostic pragmas.
185 * c-pragma.h (struct internal_pragma_handler): Add new early handler
186 members.
187 (c_register_pragma_with_early_handler): Declare.
188 (c_invoke_early_pragma_handler): Declare.
189 (c_pp_invoke_early_pragma_handler): Declare.
190
d1f3a3ff
GA
1912022-07-05 Marek Polacek <polacek@redhat.com>
192
193 PR c++/105626
194 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
195 u8 strings.
196
ed974488
GA
1972022-07-01 Marek Polacek <polacek@redhat.com>
198
199 PR c++/106111
200 * c-common.h (enum rid): Update RID_LAST_CXX20.
201
976196b3
GA
2022022-06-30 Jonathan Wakely <jwakely@redhat.com>
203
204 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
205 names.
206
84c2131d
GA
2072022-06-24 Jason Merrill <jason@redhat.com>
208
209 PR c++/87729
210 PR c++/20423
211 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
212
4390e7bf
GA
2132022-06-18 Jakub Jelinek <jakub@redhat.com>
214
215 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
216 Use flag_sanitize_trap & SANITIZE_??? instead of
217 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
218 and flag_sanitize_trap differs for them, emit __builtin_trap only
219 for the comparison where trap is requested.
220 (ubsan_instrument_vla, ubsan_instrument_return): Use
221 lag_sanitize_trap & SANITIZE_??? instead of
222 flag_sanitize_undefined_trap_on_error.
223
c3642271
GA
2242022-06-13 Jason Merrill <jason@redhat.com>
225
226 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
227
d9176e64
GA
2282022-05-27 Marek Polacek <polacek@redhat.com>
229
230 PR c/90658
231 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
232
2332022-05-27 Jakub Jelinek <jakub@redhat.com>
234
235 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
236
57f2ce6a
GA
2372022-05-20 David Malcolm <dmalcolm@redhat.com>
238
239 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
240 and "override".
241 * c-pretty-print.h: Likewise.
242
1cda629f
GA
2432022-05-18 Marek Polacek <polacek@redhat.com>
244
245 PR c/105131
246 * c.opt (Wenum-int-mismatch): New.
247
2482022-05-18 Marek Polacek <polacek@redhat.com>
249
250 PR c++/105497
251 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
252 enumerator when it was marked with attribute unused.
253
2542022-05-18 Eric Botcazou <ebotcazou@adacore.com>
255
256 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
257 floating-point complex types.
258 <POINTER_TYPE>: Do not use limited_with clause if the designated
259 type is a scalar type.
260
3d9439b1
GA
2612022-05-17 Jakub Jelinek <jakub@redhat.com>
262
263 * c-omp.cc (c_finish_omp_depobj): Handle
264 OMP_CLAUSE_DEPEND_INOUTSET.
265
702bd11f
GA
2662022-05-16 Jason Merrill <jason@redhat.com>
267
268 PR c/105492
269 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
270 here.
271
2722022-05-16 Martin Liska <mliska@suse.cz>
273
274 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
275 (c_common_nodes_and_builtins): Likewise.
276 * c-format.cc (check_tokens): Likewise.
277 (check_plain): Likewise.
278 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
279 (init_pragma): Likewise.
280 * known-headers.cc (get_string_macro_hint): Likewise.
281 (get_stdlib_header_for_name): Likewise.
282 * c-attribs.cc: Likewise.
283
9df4ffe4
GA
2842022-05-13 Richard Biener <rguenther@suse.de>
285
286 * c-omp.cc: Remove gimple-fold.h include.
287
49ace834
GA
2882022-05-12 Jakub Jelinek <jakub@redhat.com>
289
290 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
291 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
292 if null_pointer_node.
293
d0d513b5
GA
2942022-05-11 Martin Liska <mliska@suse.cz>
295
296 PR target/105355
297 * c-opts.cc (c_common_handle_option): Change option name.
298 * c.opt: Remove Joined and use Separate option.
299
bd022ff9
GA
3002022-05-09 Alex Coplan <alex.coplan@arm.com>
301
302 * c-common.h (get_dump_info): Delete.
303 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
304 from the global dump_manager instead of the (now obsolete)
305 get_dump_info.
306 * c-opts.cc (original_dump_file): Delete.
307 (original_dump_flags): Delete.
308 (c_common_parse_file): Switch to using global dump_manager to
309 manage the original dump file; fix leak of dump file.
310 (get_dump_info): Delete.
311
a1947c92
GA
3122022-05-07 Marek Polacek <polacek@redhat.com>
313
314 PR c++/101833
315 PR c++/47634
316 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
317 with FN being either a function declaration or function type. Use
318 maybe_adjust_arg_pos_for_attribute.
319 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
320 check_function_format.
321 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
322 (positional_argument): Adjust.
323 * c-format.cc (get_constant): Rename to ...
324 (validate_constant): ... this. Take EXPR by reference. Return bool
325 instead of tree.
326 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
327 return value of validate_constant.
328 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
329 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
330 (check_function_format): Adjust a parameter name.
331 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
332
3e7db517
GA
3332022-05-04 Marek Polacek <polacek@redhat.com>
334
335 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
336 char to int.
337
95874f95
GA
3382022-04-30 Jason Merrill <jason@redhat.com>
339
340 PR c/100545
341 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
342 and typedef.
343 * c-common.cc (set_underlying_type): Add assert.
344
01ad093b
GA
3452022-04-26 Patrick Palka <ppalka@redhat.com>
346
347 PR c++/105304
348 * c-common.cc (verify_tree) [restart]: Move up to before the
349 NULL test.
350
da066c42
GA
3512022-04-11 Jakub Jelinek <jakub@redhat.com>
352
353 PR c++/105186
354 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
355 and __int%d__ builtin types, initialize corresponding ridpointers
356 entry.
357
150ab50f
GA
3582022-03-30 Marek Polacek <polacek@redhat.com>
359
360 PR c++/101030
361 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
362 conversion_warning when OP1 is null.
363
3642022-03-30 Thomas Schwinge <thomas@codesourcery.com>
365
366 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
367 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
368 option properties.
369
3702022-03-30 Thomas Schwinge <thomas@codesourcery.com>
371
372 * c.opt (Wuse-after-free): Remove.
373
3742022-03-30 Thomas Schwinge <thomas@codesourcery.com>
375
376 * c.opt (Warray-bounds): Remove.
377
d2906412
GA
3782022-03-26 Thomas Schwinge <thomas@codesourcery.com>
379
380 * c.opt: Properly quote comment.
381
31e989a2
GA
3822022-03-25 Eric Botcazou <ebotcazou@adacore.com>
383
384 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
385 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
386 the referenced type instead. Deal with the anonymous original type
387 of a typedef'ed type. In the actual access case, follow the chain
388 of external subtypes.
389 <TYPE_DECL>: Tidy up control flow.
390
d156bb87
GA
3912022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
392
393 * c-ada-spec.cc: Change array length
394
d7f00da1
GA
3952022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
396
397 * c-common.cc (c_family_tests): Call the new tests.
398 * c-common.h (c_diagnostic_tests): Declare.
399 (c_opt_problem_cc_tests): Likewise.
400
4012022-03-19 Jakub Jelinek <jakub@redhat.com>
402
403 PR c++/101515
404 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
405 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
406 be printed.
407
9fc8f278
GA
4082022-03-16 Christophe Lyon <christophe.lyon@arm.com>
409 Roger Sayle <roger@nextmovesoftware.com>
410
411 PR c/98198
412 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
413
4142022-03-16 Patrick Palka <ppalka@redhat.com>
415
416 PR c++/96780
417 * c.opt: Add -ffold-simple-inlines.
418
b9756c08
GA
4192022-03-13 Tobias Burnus <tobias@codesourcery.com>
420
421 * c-target.def (check_string_object_format_arg): Fix description typo.
422
57eeedda
GA
4232022-03-12 Thomas Schwinge <thomas@codesourcery.com>
424
425 PR other/65095
426 * c-common.h (c_omp_map_clause_name): Remove.
427 * c-omp.cc (c_omp_map_clause_name): Remove.
428
8cc4f9cd
GA
4292022-03-09 Jakub Jelinek <jakub@redhat.com>
430
431 PR c/104711
432 * c-opts.cc (c_common_post_options): Don't enable
433 -Wshift-negative-value from -Wextra for C++20 or later.
434 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
435 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
436 instead of TYPE_UNSIGNED.
437
e6533e2e
GA
4382022-03-07 Jakub Jelinek <jakub@redhat.com>
439
440 * c-attribs.cc: Fix up duplicated word issue in a comment.
441
12d4552e
GA
4422022-03-01 Martin Liska <mliska@suse.cz>
443
444 PR ipa/104533
445 * c-attribs.cc (handle_target_clones_attribute): Use
446 get_target_clone_attr_len and report warning soon.
447
0bdb0498
GA
4482022-02-17 Jonathan Wakely <jwakely@redhat.com>
449
450 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
451 (handle_pragma_weak): Likewise.
452 (handle_pragma_scalar_storage_order): Likewise.
453 (handle_pragma_redefine_extname): Likewise.
454 (handle_pragma_visibility): Likewise.
455 (handle_pragma_diagnostic): Likewise.
456 (handle_pragma_target): Likewise.
457 (handle_pragma_optimize): Likewise.
458 (handle_pragma_push_options): Likewise.
459 (handle_pragma_pop_options): Likewise.
460 (handle_pragma_reset_options): Likewise.
461 (handle_pragma_message): Likewise.
462 (handle_pragma_float_const_decimal64): Likewise.
463
cb3afcd2
GA
4642022-02-16 Jakub Jelinek <jakub@redhat.com>
465
466 PR c/104531
467 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
468 build_binary_op with LT_EXPR and only if that doesn't return
469 error_mark_node call build_modify_expr.
470
4712022-02-16 Jakub Jelinek <jakub@redhat.com>
472
473 PR c/104510
474 * c-common.cc (shorten_compare): Convert original arguments to
475 the original *restype_ptr when mixing binary and decimal float.
476
1f8a09d2
GA
4772022-02-14 Richard Biener <rguenther@suse.de>
478
479 PR c/104505
480 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
481 internal function calls.
482
e8d68f0a
GA
4832022-02-11 Richard Biener <rguenther@suse.de>
484
485 * c-attribs.cc (c_common_attribute_table): Add entry for
486 vector_mask.
487 (handle_vector_mask_attribute): New.
488
a645583d
GA
4892022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
490
491 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
492 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
493 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
494
3adf509f
GA
4952022-02-09 Jason Merrill <jason@redhat.com>
496
497 * c-cppbuiltin.cc (c_cpp_builtins): Update values
498 of __cpp_constexpr and __cpp_concepts for C++20.
499
bb99171b
GA
5002022-01-24 Marek Polacek <polacek@redhat.com>
501
502 PR preprocessor/104030
503 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
504
9dd44357
GA
5052022-01-21 Jakub Jelinek <jakub@redhat.com>
506
507 PR c++/104148
508 * c-common.h (check_function_arguments_recurse): Add for_format
509 arg.
510 * c-common.cc (check_function_nonnull): Pass false to
511 check_function_arguments_recurse's last argument.
512 (check_function_arguments_recurse): Add for_format argument,
513 if true, don't stop on warning_suppressed_p.
514 * c-format.cc (check_format_info): Pass true to
515 check_function_arguments_recurse's last argument.
516
fe1ad141
GA
5172022-01-19 David Malcolm <dmalcolm@redhat.com>
518
519 * c-common.cc (c_common_c_tests): Rename to...
520 (c_common_cc_tests): ...this.
521 (c_family_tests): Update calls for .c to .cc renaming.
522 * c-common.h (c_format_c_tests): Rename to...
523 (c_format_cc_tests): ...this.
524 (c_indentation_c_tests): Rename to...
525 (c_indentation_cc_tests): ...this.
526 (c_pretty_print_c_tests): Rename to...
527 (c_pretty_print_cc_tests): ...this.
528 * c-format.cc (c_format_c_tests): Rename to...
529 (c_format_cc_tests): ...this.
530 * c-indentation.cc (c_indentation_c_tests): Rename to...
531 (c_indentation_cc_tests): ...this.
532 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
533 (c_pretty_print_cc_tests): ...this.
534
fc829782
GA
5352022-01-17 Martin Liska <mliska@suse.cz>
536
537 * c-ada-spec.cc: Rename .c names to .cc.
538 * c-ada-spec.h: Likewise.
539 * c-common.cc (c_build_vec_convert): Likewise.
540 (warning_candidate_p): Likewise.
541 * c-common.h (enum rid): Likewise.
542 (build_real_imag_expr): Likewise.
543 (finish_label_address_expr): Likewise.
544 (c_get_substring_location): Likewise.
545 (c_build_bind_expr): Likewise.
546 (conflict_marker_get_final_tok_kind): Likewise.
547 (c_parse_error): Likewise.
548 (check_missing_format_attribute): Likewise.
549 (invalid_array_size_error): Likewise.
550 (warn_for_multistatement_macros): Likewise.
551 (build_attr_access_from_parms): Likewise.
552 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
553 * c-format.cc: Likewise.
554 * c-gimplify.cc (c_gimplify_expr): Likewise.
555 * c-indentation.h: Likewise.
556 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
557 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
558 * c-opts.cc (c_common_post_options): Likewise.
559 (set_std_cxx23): Likewise.
560 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
561 * c-pretty-print.h: Likewise.
562
5632022-01-17 Martin Liska <mliska@suse.cz>
564
565 * c-ada-spec.c: Moved to...
566 * c-ada-spec.cc: ...here.
567 * c-attribs.c: Moved to...
568 * c-attribs.cc: ...here.
569 * c-common.c: Moved to...
570 * c-common.cc: ...here.
571 * c-cppbuiltin.c: Moved to...
572 * c-cppbuiltin.cc: ...here.
573 * c-dump.c: Moved to...
574 * c-dump.cc: ...here.
575 * c-format.c: Moved to...
576 * c-format.cc: ...here.
577 * c-gimplify.c: Moved to...
578 * c-gimplify.cc: ...here.
579 * c-indentation.c: Moved to...
580 * c-indentation.cc: ...here.
581 * c-lex.c: Moved to...
582 * c-lex.cc: ...here.
583 * c-omp.c: Moved to...
584 * c-omp.cc: ...here.
585 * c-opts.c: Moved to...
586 * c-opts.cc: ...here.
587 * c-pch.c: Moved to...
588 * c-pch.cc: ...here.
589 * c-ppoutput.c: Moved to...
590 * c-ppoutput.cc: ...here.
591 * c-pragma.c: Moved to...
592 * c-pragma.cc: ...here.
593 * c-pretty-print.c: Moved to...
594 * c-pretty-print.cc: ...here.
595 * c-semantics.c: Moved to...
596 * c-semantics.cc: ...here.
597 * c-ubsan.c: Moved to...
598 * c-ubsan.cc: ...here.
599 * c-warn.c: Moved to...
600 * c-warn.cc: ...here.
601 * cppspec.c: Moved to...
602 * cppspec.cc: ...here.
603 * stub-objc.c: Moved to...
604 * stub-objc.cc: ...here.
605
9248ee41
GA
6062022-01-15 Martin Sebor <msebor@redhat.com>
607
608 PR c/63272
609 * c.opt (-Wdangling-pointer): New option.
610
6112022-01-15 Martin Sebor <msebor@redhat.com>
612
613 PR tree-optimization/80532
614 * c.opt (-Wuse-after-free): New options.
615
617db51d
GA
6162022-01-14 David Malcolm <dmalcolm@redhat.com>
617
618 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
619 (handle_tainted_args_attribute): New.
620
ad3f0d08
GA
6212022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
622 Jason Merrill <jason@redhat.com>
623
624 PR c++/70417
625 * c.opt: Added -Wmissing-template-keyword.
626
6272022-01-13 Richard Biener <rguenther@suse.de>
628
629 PR c/104002
630 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
631
02a8a01b
GA
6322022-01-12 Martin Liska <mliska@suse.cz>
633
634 PR target/103804
635 * c-attribs.c (handle_optimize_attribute): Do not call
636 cl_optimization_compare if we seen an error.
637
01a254e3
GA
6382022-01-11 Jakub Jelinek <jakub@redhat.com>
639
640 PR c/101537
641 PR c/103881
642 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
643 and BIT_XOR_EXPR.
644
d9450aa0
GA
6452022-01-10 Richard Biener <rguenther@suse.de>
646
647 PR middle-end/101530
648 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
649 in a TARGET_EXPR to force a temporary.
650
11ce8d04
GA
6512022-01-06 Marek Polacek <polacek@redhat.com>
652
653 PR c++/103758
654 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
655 diagnostic messages.
656 (handle_pragma_diagnostic): Likewise.
657
a4ae8c37
GA
6582022-01-03 Marek Polacek <polacek@redhat.com>
659
660 PR c++/103758
661 * c-format.c (check_tokens): Accept "decl-specifier*".
662
6632022-01-03 Jakub Jelinek <jakub@redhat.com>
664
665 PR c++/103600
666 * c-attribs.c (handle_non_overlapping_attribute): New function.
667 (c_common_attribute_table): Add "non overlapping" attribute.
668
84790a9d
GA
6692021-12-30 Jakub Jelinek <jakub@redhat.com>
670
671 PR c++/103012
672 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
673 cpp_define_unused/cpp_undef calls with forced token locations
674 BUILTINS_LOCATION.
675
d1e111da
GA
6762021-12-27 Patrick Palka <ppalka@redhat.com>
677
678 PR c++/103700
679 * c-common.c (pointer_int_sum): When quiet, return
680 error_mark_node for an incomplete pointed-to type and don't
681 call size_in_bytes_loc.
682
2554e2da
GA
6832021-12-17 Jason Merrill <jason@redhat.com>
684
685 PR c++/103681
686 * c-opts.c (c_common_post_options): Update defaults.
687
774269aa
GA
6882021-12-16 Martin Liska <mliska@suse.cz>
689
690 PR target/103709
691 * c-pragma.c (handle_pragma_pop_options): Do not check
692 global options modification when an error is seen in parsing
693 of options (pragmas or attributes).
694
c8dcf64b
GA
6952021-12-12 Jonathan Wakely <jwakely@redhat.com>
696
697 * known-headers.cc: Define INCLUDE_MEMORY instead of
698 INCLUDE_UNIQUE_PTR.
699 * name-hint.h: Likewise.
700 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
701
4b4839e3
GA
7022021-12-09 Jakub Jelinek <jakub@redhat.com>
703
704 PR pch/71934
705 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
706 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
707
03a9bd05
GA
7082021-12-03 Jakub Jelinek <jakub@redhat.com>
709
710 PR pch/71934
711 * c-pch.c (struct c_pch_validity): Remove pch_init member.
712 (pch_init): Don't initialize v.pch_init.
713 (c_common_valid_pch): Don't warn and punt if .text addresses change.
714
40fa651e
GA
7152021-12-01 Jason Merrill <jason@redhat.com>
716
717 PR c++/103310
718 * c.opt: Add -fconstexpr-fp-except.
719
87cd82c8
GA
7202021-11-29 Richard Biener <rguenther@suse.de>
721
722 * c-format.c (check_format_string): Remove spurious
723 gcc_unreachable.
724
7252021-11-29 Richard Biener <rguenther@suse.de>
726
727 * c-opts.c (c_common_post_options): Remove unreachable return.
728 * c-pragma.c (handle_pragma_target): Likewise.
729 (handle_pragma_optimize): Likewise.
730
091ccc06
GA
7312021-11-25 Jakub Jelinek <jakub@redhat.com>
732
733 PR c++/102611
734 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
735 default for C++23 regardless of warn_deprecated.
736 * c-cppbuiltin.c (c_cpp_builtins): Predefine
737 __cpp_multidimensional_subscript=202110L for C++23.
738
e1d43592
GA
7392021-11-23 Martin Sebor <msebor@redhat.com>
740
741 PR middle-end/88232
742 * c.opt: Add -Winfinite-recursion.
743
9c077398
GA
7442021-11-19 Martin Sebor <msebor@redhat.com>
745
746 PR c++/33925
747 PR c/102867
748 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
749 and improve handling tof defined symbols.
750
7512021-11-19 Martin Liska <mliska@suse.cz>
752
753 Revert:
754 2021-11-18 Martin Liska <mliska@suse.cz>
755
756 * c-gimplify.c (genericize_c_loop): Use option directly.
757
483092d3
GA
7582021-11-18 Matthias Kretz <m.kretz@gsi.de>
759
760 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
761 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
762
7632021-11-18 Martin Liska <mliska@suse.cz>
764
765 * c-gimplify.c (genericize_c_loop): Use option directly.
766
280d2838
GA
7672021-11-17 Martin Uecker <uecker@gcc.gnu.org>
768
769 PR c/91038
770 PR c/29970
771 * c-common.c (pointer_int_sum): Make sure pointer expressions
772 are evaluated first when the size expression depends on for
773 variably-modified types.
774
7752021-11-17 Marek Polacek <polacek@redhat.com>
776
777 PR preprocessor/103026
778 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
779
6b1695f4
GA
7802021-11-16 Jason Merrill <jason@redhat.com>
781
782 * c-common.c (release_tree_vector): Only cache vecs smaller than
783 16 elements.
784
e2b57363
GA
7852021-11-15 Jason Merrill <jason@redhat.com>
786
787 * c.opt: Add -fimplicit-constexpr.
788 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
789 * c-opts.c (c_common_post_options): Disable below C++14.
790
7912021-11-15 Jakub Jelinek <jakub@redhat.com>
792
793 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
794 Duplicate to both OMP_TARGET and OMP_TEAMS.
795
8d36a0d2
GA
7962021-11-10 Marek Polacek <polacek@redhat.com>
797
798 PR c++/101940
799 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
800 ignored_attributes.
801
c9b1334e
GA
8022021-11-09 David Malcolm <dmalcolm@redhat.com>
803
804 * c-pragma.c (GCC_BAD_AT): New macro.
805 (GCC_BAD2_AT): New macro.
806 (handle_pragma_pack): Use the location of the pertinent token when
807 issuing diagnostics about invalid constants/actions, and trailing
808 junk.
809 (handle_pragma_target): Likewise for non-string "GCC option".
810 (handle_pragma_message): Likewise for trailing junk.
811
18ae471f
GA
8122021-11-03 Joseph Myers <joseph@codesourcery.com>
813
814 PR c/103031
815 * c-common.c (convert_and_check): Add argument init_const. Call
816 convert_init if init_const.
817 * c-common.h (convert_and_check): Update prototype.
818 (convert_init): New prototype.
819
cf82e8d9
GA
8202021-11-01 David Malcolm <dmalcolm@redhat.com>
821
822 * c-lex.c (c_lex_with_flags): When complaining about non-printable
823 CPP_OTHER tokens, set the "escape on output" flag.
824
04a2cf3f
GA
8252021-10-27 Jakub Jelinek <jakub@redhat.com>
826
827 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
828 POINTER_PLUS_EXPR.
829 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
830 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
831
8322021-10-27 Jakub Jelinek <jakub@redhat.com>
833
834 PR c++/102854
835 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
836 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
837 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
838 conversions temporarily clear the 3rd bit from d->kind while walking
839 subtrees.
840 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
841 if possibly non-rectangular.
842
ae5c5406
GA
8432021-10-21 Jakub Jelinek <jakub@redhat.com>
844
845 PR middle-end/64888
846 * c-omp.c (c_omp_predefined_variable): Return true also for
847 ubsan_create_data created artificial variables.
848
5d5885c9
GA
8492021-10-14 Joseph Myers <joseph@codesourcery.com>
850
851 * c-format.c (printf_length_specs, scanf_length_specs)
852 (print_char_table, scan_char_table): Support DFP formats for C2X.
853 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
854 (T2X_D32, T2X_D64, T2X_D128): New macros.
855
8562021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
857
858 * c-omp.c (c_omp_check_context_selector): Rename to
859 omp_check_context_selector and move to omp-general.c.
860 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
861 move to omp-general.c.
862
52055987
GA
8632021-10-12 Joseph Myers <joseph@codesourcery.com>
864
865 * c-format.c (print_char_table): Add %b and %B formats.
866 (scan_char_table): Add %b format.
867 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
868 (T2X_UPD, T2X_UIM): New macros.
869
8702021-10-12 Jakub Jelinek <jakub@redhat.com>
871
872 * c-omp.c (c_finish_omp_atomic): Use
873 clear_padding_type_may_have_padding_p.
874
ce6eec39
GA
8752021-10-08 Martin Liska <mliska@suse.cz>
876
877 * c-opts.c (c_common_post_options): Use new macro
878 OPTION_SET_P.
879
50e20ee6
GA
8802021-10-07 Martin Liska <mliska@suse.cz>
881
882 * c-common.c (parse_optimize_options): Make
883 save_opt_decoded_options a pointer type.
884
57c7ec62
GA
8852021-10-06 Jakub Jelinek <jakub@redhat.com>
886
887 PR tree-optimization/102571
888 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
889 padding, but the non-padding bits are contiguous set of bytes
890 by adjusting the memcmp call arguments instead of emitting
891 __builtin_clear_padding and then comparing all the type's bytes.
892
8932021-10-06 Jakub Jelinek <jakub@redhat.com>
894
895 PR c++/102612
896 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
897 __cpp_constexpr to 202110L rather than 201907L.
898
da9c5f78
GA
8992021-10-04 Marek Polacek <polacek@redhat.com>
900
901 PR c++/97573
902 * c-common.h (do_warn_array_compare): Declare.
903 * c-warn.c (do_warn_array_compare): New.
904 * c.opt (Warray-compare): New option.
905
e3e07b89
GA
9062021-10-02 Iain Sandoe <iain@sandoe.co.uk>
907
908 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
909 NULL, this is not needed.
910
9d116bcc
GA
9112021-10-01 Martin Sebor <msebor@redhat.com>
912
913 PR c/102103
914 * c-common.c (decl_with_nonnull_addr_p): Handle members.
915 Check and perform warning suppression.
916 (c_common_truthvalue_conversion): Enhance warning suppression.
917
9182021-10-01 Martin Liska <mliska@suse.cz>
919
920 PR target/102552
921 * c-common.c (parse_optimize_options): decoded_options[0] is
922 used for program name, so merged_decoded_options should also
923 respect that.
924
9252021-10-01 Jakub Jelinek <jakub@redhat.com>
926 Richard Biener <rguenther@suse.de>
927
928 PR sanitizer/102515
929 * c-ubsan.c (ubsan_instrument_division): Check the right
930 flag_sanitize_recover bit, depending on which sanitization
931 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
932 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
933 and SANITIZE_DIVIDE is enabled, neither check is known
934 to be false and flag_sanitize_recover bits for those two
935 aren't the same, emit both __ubsan_handle_divrem_overflow
936 and __ubsan_handle_divrem_overflow_abort calls.
937
9382021-10-01 Martin Liska <mliska@suse.cz>
939
940 * c-common.c (parse_optimize_options): Combine optimize
941 options with what was provided on the command line.
942
9432021-10-01 Jakub Jelinek <jakub@redhat.com>
944
945 * c-omp.c (c_omp_split_clauses): Also copy
946 OMP_CLAUSE_ORDER_REPRODUCIBLE.
947
cf966403
GA
9482021-09-27 Martin Liska <mliska@suse.cz>
949
950 * c-opts.c (c_common_init_options_struct): Set also
951 x_flag_default_complex_method.
952
e4777439
GA
9532021-09-22 Jakub Jelinek <jakub@redhat.com>
954
955 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
956
62498024
GA
9572021-09-20 Matthias Kretz <m.kretz@gsi.de>
958
959 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
960 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
961 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
962 __ROUNDING_MATH__ according to the new optimization flags.
963
cf74e7b5
GA
9642021-09-18 Jakub Jelinek <jakub@redhat.com>
965
966 * c-omp.c (c_omp_split_clauses): Split order clause also to
967 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
968
0a4cb439
GA
9692021-09-17 Jakub Jelinek <jakub@redhat.com>
970
971 * c-omp.c (c_finish_omp_atomic): Avoid creating
972 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
973 create_tmp_var and add a zero initializer to TARGET_EXPRs that
974 had NULL initializer. When omitting operands after v = x,
975 use type of v rather than type of x. Fix type of vtmp
976 TARGET_EXPR.
977
07985c47
GA
9782021-09-13 Jason Merrill <jason@redhat.com>
979
980 * c.opt: Add -Winterference-size.
981 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
982 and __GCC_CONSTRUCTIVE_SIZE.
983
a26206ec
GA
9842021-09-10 Jakub Jelinek <jakub@redhat.com>
985
986 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
987 * c-omp.c: Include gimple-fold.h.
988 (c_finish_omp_atomic): Add r and weak arguments. Add support for
989 OpenMP 5.1 atomics.
990
f84e2f0b
GA
9912021-09-09 qing zhao <qing.zhao@oracle.com>
992
993 * c-attribs.c (handle_uninitialized_attribute): New function.
994 (c_common_attribute_table): Add "uninitialized" attribute.
995
b6db7cd4
GA
9962021-09-08 liuhongt <hongtao.liu@intel.com>
997
998 * c-common.c (excess_precision_mode_join): Update below comments.
999 (c_ts18661_flt_eval_method): Set excess_precision_type to
1000 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1001 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
1002 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
1003 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
1004
b2748138
GA
10052021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
1006
1007 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
1008
7b739540
GA
10092021-09-03 Eric Botcazou <ebotcazou@adacore.com>
1010
1011 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
1012 and -gnatwu warning for the package specification.
1013
e11c6046
GA
10142021-09-01 Iain Sandoe <iain@sandoe.co.uk>
1015
1016 * c-attribs.c (handle_unavailable_attribute): New.
1017
1e2f030b
GA
10182021-08-30 Jason Merrill <jason@redhat.com>
1019
1020 * c.opt: Add -Wmissing-requires.
1021
85d77ac4
GA
10222021-08-25 Lewis Hyatt <lhyatt@gmail.com>
1023
1024 PR other/93067
1025 * c-opts.c (c_common_input_charset_cb): New function.
1026 (c_common_post_options): Call new function
1027 diagnostic_initialize_input_context().
1028
7c9e1645
GA
10292021-08-20 Tobias Burnus <tobias@codesourcery.com>
1030
1031 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
1032 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
1033 "di" and "u", respecitively; fill with BADLEN to match
1034 size of 'types'.
1035 (get_init_dynamic_hwi): Split off from ...
1036 (init_dynamic_diag_info): ... here. Call it.
1037 (init_dynamic_gfc_info): Call it.
1038
10392021-08-20 Jakub Jelinek <jakub@redhat.com>
1040
1041 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
1042 * c-pragma.c (omp_pragmas): Add error directive.
1043 * c-omp.c (omp_directives): Uncomment error directive entry.
1044
6e529985
GA
10452021-08-18 Jakub Jelinek <jakub@redhat.com>
1046
1047 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
1048 * c-pragma.c (omp_pragmas): Add nothing directive.
1049 * c-omp.c (omp_directives): Uncomment nothing directive entry.
1050
2d14d64b
GA
10512021-08-17 Jakub Jelinek <jakub@redhat.com>
1052
1053 PR c++/101539
1054 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
1055 * c-common.c (c_common_reswords): Add __is_layout_compatible.
1056
10572021-08-17 Matt Jacobson <mhjacobson@me.com>
1058
1059 * c-opts.c (c_common_post_options): Default to
1060 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
1061
10622021-08-17 Jakub Jelinek <jakub@redhat.com>
1063
1064 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
1065 * c-pragma.c (omp_pragmas): Add scope construct.
1066 * c-omp.c (omp_directives): Uncomment scope directive entry.
1067
9d1d9fc8
GA
10682021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
1069
1070 * c-cppbuiltin.c (c_cpp_builtins): Define
1071 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
1072
72be20e2
GA
10732021-08-12 Jakub Jelinek <jakub@redhat.com>
1074
1075 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
1076 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
1077 * c-pragma.c (omp_pragmas_simd): Add masked construct.
1078 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
1079 enumerator.
1080 (c_finish_omp_masked): Declare.
1081 * c-omp.c (c_finish_omp_masked): New function.
1082 (c_omp_split_clauses): Handle combined masked constructs.
1083
4d17ca1b
GA
10842021-07-30 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR c++/101539
1087 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
1088 * c-common.c (c_common_reswords): Add
1089 __is_pointer_interconvertible_base_of.
1090
10912021-07-29 Richard Biener <rguenther@suse.de>
1092
1093 PR c/101512
1094 * c-common.c (c_common_mark_addressable_vec): Look through
1095 C_MAYBE_CONST_EXPR even if not at the toplevel.
1096
af3f12e6
GA
10972021-07-27 Martin Sebor <msebor@redhat.com>
1098
1099 PR c/101585
1100 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
1101
ead235f6
GA
11022021-07-23 Jakub Jelinek <jakub@redhat.com>
1103
1104 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
1105 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
1106 and later.
1107
11082021-07-23 Jakub Jelinek <jakub@redhat.com>
1109
1110 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
1111 PRAGMA_OMP__LAST_ enumerators.
1112
419c6c68
GA
11132021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1114 Joseph Myers <joseph@codesourcery.com>
1115 Cesar Philippidis <cesar@codesourcery.com>
1116
1117 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
1118
92d45509
GA
11192021-07-20 Martin Sebor <msebor@redhat.com>
1120
1121 * c-common.c (c_build_shufflevector): Adjust by-value argument to
1122 by-const-reference.
1123 * c-common.h (c_build_shufflevector): Same.
1124
87277b6a
GA
11252021-07-16 Andrew Pinski <apinski@marvell.com>
1126
1127 PR c/101453
1128 * c-common.c (parse_optimize_options): Use the correct
1129 size for buffer.
1130
d97d71a1
GA
11312021-07-15 Martin Sebor <msebor@redhat.com>
1132
1133 PR c/101289
1134 PR c/97548
1135 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
1136
c4fee1c6
GA
11372021-07-14 Jason Merrill <jason@redhat.com>
1138
1139 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
1140
6fba0eea
GA
11412021-07-06 Martin Sebor <msebor@redhat.com>
1142
1143 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
1144 (gcc_cdiag_char_table): Same.
1145 (gcc_cxxdiag_char_table): Same.
1146
7a60a6e8
GA
11472021-07-02 Jakub Jelinek <jakub@redhat.com>
1148
1149 * c-common.h (enum c_omp_directive_kind): New enum.
1150 (struct c_omp_directive): New type.
1151 (c_omp_categorize_directive): Declare.
1152 * c-omp.c (omp_directives): New variable.
1153 (c_omp_categorize_directive): New function.
1154
bea7c16a
GA
11552021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1156
1157 * c-ada-spec.c (packed_layout): New global variable.
1158 (dump_ada_declaration): Set it upon seeing a packed record type.
1159 Do not put the "aliased" keyword if it is set.
1160 (dump_ada_structure): Add Pack aspect if it is set and clear it.
1161
11622021-07-01 Eric Botcazou <ebotcazou@adacore.com>
1163
1164 * c-ada-spec.c (check_name): Rename into...
1165 (check_type_name_conflict): ...this. Minor tweak.
1166 (dump_ada_function_declaration): Adjust to above renaming.
1167 (dump_ada_array_domains): Fix oversight.
1168 (dump_ada_declaration): Call check_type_name_conflict for variables.
1169
90708f87
GA
11702021-06-25 Martin Sebor <msebor@redhat.com>
1171
1172 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
1173 (c_common_truthvalue_conversion): Replace direct uses of
1174 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
1175 copy_no_warning.
1176 (check_function_arguments_recurse): Same.
1177 * c-gimplify.c (c_gimplify_expr): Same.
1178 * c-warn.c (overflow_warning): Same.
1179 (warn_logical_operator): Same.
1180 (warn_if_unused_value): Same.
1181 (do_warn_unused_parameter): Same.
1182
9aa8327e
GA
11832021-06-24 Jakub Jelinek <jakub@redhat.com>
1184
1185 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
1186 C_ORT_OMP_TARGET.
1187 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
1188 combined target constructs also add map (always, tofrom:) clause.
1189
ede6c356
GA
11902021-06-15 Robin Dapp <rdapp@linux.ibm.com>
1191
1192 * c-attribs.c (common_handle_aligned_attribute): Remove short
1193 circuit and dead code.
1194
8dc48181
GA
11952021-06-14 Jonathan Wakely <jwakely@redhat.com>
1196
1197 PR c++/101052
1198 * known-headers.cc (get_stdlib_header_for_name): Add known
1199 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
1200 exit, and getenv.
1201
8b8c3912
GA
12022021-06-12 Jason Merrill <jason@redhat.com>
1203
1204 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
1205
f16f65f8
GA
12062021-06-11 Jakub Jelinek <jakub@redhat.com>
1207
1208 PR c++/100974
1209 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
1210 -std=c++2b for P1938R3 consteval if support.
1211
4f625f47
GA
12122021-06-09 Jason Merrill <jason@redhat.com>
1213
1214 PR c++/100879
1215 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
1216 warning.
1217
438aac59
GA
12182021-06-07 Martin Liska <mliska@suse.cz>
1219
1220 * c-target.def: Split long lines and replace them
1221 with '\n\'.
1222
600f90cb
GA
12232021-06-04 Martin Sebor <msebor@redhat.com>
1224
1225 PR c/100783
1226 * c-attribs.c (positional_argument): Bail on erroneous types.
1227
12282021-06-04 Martin Sebor <msebor@redhat.com>
1229
1230 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
1231 for element presence.
1232
440c8a0a
GA
12332021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1234
1235 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
1236 (dump_ada_decl_name): Likewise.
1237 (dump_anonymous_type_name): Remove parent parameter and adjust.
1238 (dump_sloc): Minor tweak.
1239 (dump_ada_array_type): Remove type parameter and adjust.
1240 (dump_ada_enum_type): Remove parent parameter and adjust.
1241 (dump_ada_node): Adjust calls to above functions.
1242 (dumped_anonymous_types): New global variable.
1243 (dump_nested_types_1): Rename into...
1244 (dump_nested_types): ...this.
1245 (dump_nested_type): Remove parent and dumped_types parameters.
1246 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
1247 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
1248 (dump_ada_specs): Initialize and free dumped_anonymous_types.
1249
12502021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1251
1252 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
1253 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
1254
12552021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1256
1257 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
1258 (htable_t): New typedef.
1259 (overloaded_names): Use it.
1260 (add_name): New function.
1261 (init_overloaded_names): Use add_name to populate the table and add
1262 special cases for sigaction and stat.
1263 (overloaded_name_p): Rename into...
1264 (overloading_index): ...this. Do not initialize overloaded_names table
1265 here. Return the index or zero.
1266 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
1267 but add an overloading suffix instead.
1268 (dump_ada_specs): Initialize overloaded_names tables here.
1269
b75978d1
GA
12702021-06-01 Martin Liska <mliska@suse.cz>
1271
1272 PR other/100759
1273 * c-attribs.c (handle_optimize_attribute): Limit sanity check
1274 to a situation where we are not in processing of an optimize
1275 pragma.
1276 * c-pragma.c (handle_pragma_pop_options): Restore target
1277 options.
1278
ee682192
GA
12792021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
1280
1281 PR testsuite/100749
1282 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
1283
12842021-05-31 Richard Biener <rguenther@suse.de>
1285
1286 PR c++/88601
1287 * c-common.c: Include tree-vector-builder.h and
1288 vec-perm-indices.h.
1289 (c_common_reswords): Add __builtin_shufflevector.
1290 (c_build_shufflevector): New funtion.
1291 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
1292 (c_build_shufflevector): Declare.
1293
48166757
GA
12942021-05-28 Jakub Jelinek <jakub@redhat.com>
1295
1296 PR middle-end/99928
1297 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
1298 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
1299
13002021-05-28 Tobias Burnus <tobias@codesourcery.com>
1301
1302 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
1303
2bc6dace
GA
13042021-05-25 Martin Liska <mliska@suse.cz>
1305
1306 PR tree-optimization/92860
1307 PR target/99592
1308 * c-attribs.c (handle_optimize_attribute): Save target node
1309 before calling parse_optimize_options and save it in case
1310 it changes.
1311 * c-pragma.c (handle_pragma_target): Similarly for pragma.
1312 (handle_pragma_pop_options): Likewise here.
1313
13142021-05-25 Martin Liska <mliska@suse.cz>
1315
1316 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
1317
13182021-05-25 Jakub Jelinek <jakub@redhat.com>
1319
1320 PR middle-end/99928
1321 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
1322 combined with simd and not with taskloop or for.
1323
2832d51b
GA
13242021-05-21 Jakub Jelinek <jakub@redhat.com>
1325
1326 PR middle-end/99928
1327 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
1328 on firstprivate clause copy going to target construct, and for
1329 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
1330
ea34e2ed
GA
13312021-05-20 Jonathan Wakely <jwakely@redhat.com>
1332
1333 * c.opt (Wc++11-extensions, Wc++14-extensions)
1334 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
1335 options.
1336
13372021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1338
1339 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
1340
13412021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
1342
1343 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
1344 * c-pch.c (struct c_pch_validity): Use type uint32_t.
1345 (pch_init): Renamed member.
1346 (c_common_valid_pch): Adjust access to debug_type_names.
1347
65f32e5d
GA
13482021-05-19 Martin Sebor <msebor@redhat.com>
1349
1350 PR c/100619
1351 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
1352 bounds.
1353
a8daf9a1
GA
13542021-05-18 Richard Biener <rguenther@suse.de>
1355
1356 PR c/100547
1357 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
1358 Reword existing nunit diagnostic.
1359
a7ffc1ef
GA
13602021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
1361
1362 * c-common.c (braced_list_to_string): Return CTOR unchanged
1363 if host and target character sizes don't match.
1364
87a7d10c
GA
13652021-05-14 Martin Liska <mliska@suse.cz>
1366
1367 * c.opt: Add Warning keyword for 2 options.
1368
f9af11c7
GA
13692021-05-13 Martin Liska <mliska@suse.cz>
1370
1371 PR middle-end/100504
1372 * c-attribs.c (handle_target_clones_attribute): Expect a string
1373 argument to target_clone argument.
1374
037e3661
GA
13752021-05-11 Joseph Myers <joseph@codesourcery.com>
1376
1377 * c-lex.c (interpret_float): Handle digit separators for C2X.
1378
aa891c56
GA
13792021-05-10 Martin Liska <mliska@suse.cz>
1380
1381 * c-ada-spec.c (print_destructor): Use startswith
1382 function instead of strncmp.
1383 (dump_ada_declaration): Likewise.
1384 * c-common.c (disable_builtin_function): Likewise.
1385 (def_builtin_1): Likewise.
1386 * c-format.c (check_tokens): Likewise.
1387 (check_plain): Likewise.
1388 (convert_format_name_to_system_name): Likewise.
1389
e4ff4ffb
GA
13902021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
1391
1392 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
1393 complex divide
1394
c0fa3f2f
GA
13952021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1396 Nathan Sidwell <nathan@codesourcery.com>
1397 Tom de Vries <vries@codesourcery.com>
1398 Julian Brown <julian@codesourcery.com>
1399 Kwok Cheung Yeung <kcy@codesourcery.com>
1400
1401 * c.opt (Wopenacc-parallelism): New.
1402
6e81e015
GA
14032021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1404
1405 * c.opt (fopenacc-kernels=): Remove.
1406
019a9220
GA
14072021-04-08 Jakub Jelinek <jakub@redhat.com>
1408
1409 * c-warn.c (do_warn_double_promotion): Fix comment typo,
1410 occured -> occurred.
1411 (check_alignment_of_packed_member): Fix a comment typo,
1412 memeber -> member.
1413 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
1414 and onless -> unless.
1415 (warn_parm_array_mismatch): Fix comment typos, declaratation
1416 -> declaration and woud -> would. Fix up comment indentation.
1417
14182021-04-08 Martin Sebor <msebor@redhat.com>
1419
1420 PR middle-end/99883
1421 * c.opt (Wmismatched-new-delete): Correct spelling.
1422
b1da9916
GA
14232021-04-05 Eric Botcazou <ebotcazou@adacore.com>
1424
1425 * c-ada-spec.c (is_simple_enum): Minor tweaks.
1426 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
1427 enumeral types use again the type name for the enumeration constants.
1428 (dump_ada_node): Adjust call to dump_ada_enum_type.
1429 (dump_nested_type): Likewise.
1430
f1607029
GA
14312021-04-01 Jason Merrill <jason@redhat.com>
1432
1433 PR c++/98481
1434 * c-opts.c (c_common_post_options): Bump latest_abi_version.
1435
4493b1c1
GA
14362021-03-25 Jakub Jelinek <jakub@redhat.com>
1437
1438 PR c++/99565
1439 * c-warn.c (do_warn_duplicated_branches): Pass also
1440 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
1441
6af7b307
GA
14422021-03-20 Jakub Jelinek <jakub@redhat.com>
1443
1444 PR debug/99230
1445 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
1446
ceae9533
GA
14472021-03-05 Eric Botcazou <ebotcazou@adacore.com>
1448
1449 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
1450 after entering the separate class package, if any.
1451
67f10d28
GA
14522021-03-04 Richard Biener <rguenther@suse.de>
1453
1454 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
1455 Handle ERROR_MARK.
1456
14572021-03-04 Jakub Jelinek <jakub@redhat.com>
1458
1459 PR c/99325
1460 * c-ppoutput.c (print): Change src_line type from int to unsigned.
1461 (token_streamer::stream) Likewise.
1462 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
1463 UNKNOWN_LOCATION.
1464
f3641ac7
GA
14652021-03-03 Jakub Jelinek <jakub@redhat.com>
1466
1467 PR c/99324
1468 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
1469 instead of mark_addressable. Fix a comment typo -
1470 neutrallly -> neutrally.
1471
2c83c3fb
GA
14722021-02-28 Jakub Jelinek <jakub@redhat.com>
1473
1474 PR c/99304
1475 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
1476 message - refernced -> referenced. Remove superfluous space before
1477 closing paren of function calls.
1478
daa68844
GA
14792021-02-25 Nathan Sidwell <nathan@acm.org>
1480
1481 PR c++/99166
1482 * c.opt (-flang-info-module-cmi): Renamed option.
1483
50352c6c
GA
14842021-02-19 Nathan Sidwell <nathan@acm.org>
1485
1486 * c.opt (flang-info-module-read, flang-info-module-read=): New.
1487
bf81237e
GA
14882021-02-18 H.J. Lu <hjl.tools@gmail.com>
1489
1490 PR target/99113
1491 * c-attribs.c (c_common_attribute_table): Add the "retain"
1492 attribute.
1493 (handle_retain_attribute): New function.
1494
0e804ce3
GA
14952021-02-16 Marek Polacek <polacek@redhat.com>
1496
1497 PR c++/99062
1498 * c-attribs.c (handle_assume_aligned_attribute): Check that the
1499 alignment argument is non-negative. Tweak a warning message.
1500
fab095da
GA
15012021-02-12 Martin Sebor <msebor@redhat.com>
1502
1503 PR c/99055
1504 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
1505 print_generic_expr_to_str.
1506
4b37c3ea
GA
15072021-02-10 Richard Biener <rguenther@suse.de>
1508
1509 * c-common.c (parse_optimize_options): Free decoded_options.
1510
a19dd5e6
GA
15112021-02-04 emsr <3dw4rd@verizon.net>
1512
1513 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
1514
9faaa807
GA
15152021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
1516
1517 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1518 * c-lex.c (interpret_integer): Set node type for size literal.
1519
85d04a2e
GA
15202021-01-28 Jakub Jelinek <jakub@redhat.com>
1521
1522 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1523 draft from description.
1524 (-std=c++2b): Fix a pasto, 2020 -> 2023.
1525
e62bb7f0
GA
15262021-01-26 Paul Fee <paul.f.fee@gmail.com>
1527
1528 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1529 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1530 and -std=gnu++2b
1531 * c-opts.c (set_std_cxx23): New.
1532 (c_common_handle_option): Set options when -std=c++23 is enabled.
1533 (c_common_post_options): Adjust comments.
1534 (set_std_cxx20): Likewise.
1535
161e4c08
GA
15362021-01-25 Martin Sebor <msebor@redhat.com>
1537
1538 PR c++/98646
1539 * c-common.c (check_nonnull_arg): Adjust warning text.
1540
4c9bcd5c
GA
15412021-01-17 Martin Sebor <msebor@redhat.com>
1542
1543 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1544 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1545
59cf67d1
GA
15462021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1547
1548 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1549 Redefine PRAGMA_OACC_CLAUSE_DETACH.
1550
2f7f0d32
GA
15512021-01-15 Jakub Jelinek <jakub@redhat.com>
1552
1553 PR tree-optimization/98597
1554 * c-pretty-print.c: Include options.h.
1555 (c_fold_indirect_ref_for_warn): New function.
1556 (print_mem_ref): Use it. If it returns something that has compatible
1557 type and is TBAA compatible with zero offset, print it and return,
1558 otherwise print it using offsetof syntax or array ref syntax. Fix up
1559 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1560 argument has pointer to array type. Print pointers using the standard
1561 formatting.
1562
6851dda2
GA
15632021-01-12 Martin Sebor <msebor@redhat.com>
1564
1565 PR c/98597
1566 PR c/98592
1567 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1568 has pointer type. Remove redundant code. Avoid calling
1569 gimple_canonical_types_compatible_p.
1570
7d187e4f
GA
15712021-01-07 Martin Sebor <msebor@redhat.com>
1572
1573 PR middle-end/98578
1574 * c-pretty-print.c (print_mem_ref): Strip array from access type.
1575 Avoid assuming acces type's size is constant. Correct condition
1576 guarding the printing of a parenthesis.
1577
942ae5be
GA
15782021-01-06 Martin Sebor <msebor@redhat.com>
1579
1580 PR c++/95768
1581 * c-pretty-print.c (c_pretty_printer::primary_expression): For
1582 SSA_NAMEs print VLA names and GIMPLE defining statements.
1583 (print_mem_ref): New function.
1584 (c_pretty_printer::unary_expression): Call it.
1585
15862021-01-06 Richard Biener <rguenther@suse.de>
1587
1588 PR tree-optimization/95582
1589 * c-attribs.c (c_common_attribute_table): Add entry for
1590 signed_bool_precision.
1591 (handle_signed_bool_precision_attribute): New.
1592
8daa719b
GA
15932020-12-24 Iain Sandoe <iain@sandoe.co.uk>
1594
1595 * c.opt: Add -stdlib= option and enumerations for
1596 libstdc++ and libc++.
1597
eefe499f
GA
15982020-12-16 Martin Liska <mliska@suse.cz>
1599
1600 * c.opt: Remove usage of Report.
1601
d52945ce
GA
16022020-12-14 Martin Sebor <msebor@redhat.com>
1603
1604 PR middle-end/98166
1605 PR c++/57111
1606 PR middle-end/98160
1607 * c-attribs.c (maybe_add_noinline): New function.
1608 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
1609 Implicitly add attribute noinline to functions not declared inline
1610 and warn on those.
1611
ca2bd949
GA
16122020-12-09 Tobias Burnus <tobias@codesourcery.com>
1613
1614 * c-pragma.c (omp_pragmas): Add 'allocate'.
1615 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1616
f6e8e279
GA
16172020-12-08 Jakub Jelinek <jakub@redhat.com>
1618
1619 PR c++/98187
1620 * c-pragma.c (omp_pragmas): Remove "master".
1621 (omp_pragmas_simd): Add "master".
1622
bc8a7013
GA
16232020-12-07 Marek Polacek <polacek@redhat.com>
1624
1625 PR c++/98126
1626 * c-common.c (verify_tree_lim_r): New function.
1627 (verify_sequence_points): Use it. Use nullptr instead of 0.
1628
b8dd0ef7
GA
16292020-12-03 Martin Sebor <msebor@redhat.com>
1630
1631 PR c++/90629
1632 PR middle-end/94527
1633 * c-attribs.c (handle_dealloc_attribute): New function.
1634 (handle_malloc_attribute): Handle argument forms of attribute.
1635 * c.opt (-Wmismatched-dealloc): New option.
1636 (-Wmismatched-new-delete): New option.
1637
16382020-12-03 Jakub Jelinek <jakub@redhat.com>
1639
1640 PR libstdc++/93121
1641 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1642 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1643
e0f5e792
GA
16442020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
1645
1646 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1647 {__GNUC_EXECUTION_CHARSET_NAME} and
1648 _WIDE_EXECUTION_CHARSET_NAME} macros.
1649
16502020-12-01 Nathan Sidwell <nathan@acm.org>
1651
1652 * c-common.c (module, import, export): New internal tokens (with
1653 trailing space).
1654 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1655 them.
1656 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1657 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1658
16592020-12-01 Nathan Sidwell <nathan@acm.org>
1660
1661 * c-opts.c (c_common_init_options): Ask for module dependencies.
1662 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1663 * c-pch.c (c_common_valid_pch): ... does not play with C++
1664 modules.
1665 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1666 options.
1667 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1668 (fmodule-only, fmodule-mapper, fmodule-lazy)
1669 (fmodule-version-ignore, Winvalid-imported-macros)
1670 (flang-info-include-translate, flang-info-include-translate-not):
1671 New options
1672
5fbf0ecb
GA
16732020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1674
1675 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1676 (dump_ada_structure): Also deal with convention, unchecked union and
1677 bit-field for nested types. In the latter case, print an Alignment
1678 aspect along with the Pack aspect.
1679
360258da
GA
16802020-11-25 Martin Sebor <msebor@redhat.com>
1681
1682 PR bootstrap/94982
1683 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1684 -Wformat-diag.
1685
1e2c9a27
GA
16862020-11-24 Martin Sebor <msebor@redhat.com>
1687
1688 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1689
8e6198d0
GA
16902020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1691
1692 * c-attribs.c (handle_special_var_sec_attribute): New.
1693 (handle_noinit_attribute): Remove.
1694 (attr_noinit_exclusions): Rename to...
1695 (attr_section_exclusions): ...this, and add "persistent" attribute
1696 exclusion.
1697 (c_common_attribute_table): Add "persistent" attribute.
1698
7a97e2fc
GA
16992020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1700
1701 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1702 Treat opaque types like other types.
1703 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1704 supported types.
1705
82e5048e
GA
17062020-11-20 Martin Sebor <msebor@redhat.com>
1707
1708 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1709 with fewer arguments.
1710
17112020-11-20 Martin Sebor <msebor@redhat.com>
1712
1713 PR middle-end/97879
1714 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1715 Error out on invalid modes.
1716
17172020-11-20 Jakub Jelinek <jakub@redhat.com>
1718
1719 PR libstdc++/88101
1720 * c-common.c (check_builtin_function_arguments): Handle
1721 BUILT_IN_CLEAR_PADDING.
1722
25bb75f8
GA
17232020-11-18 Nathan Sidwell <nathan@acm.org>
1724
1725 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1726
4dabb037
GA
17272020-11-17 Nathan Sidwell <nathan@acm.org>
1728
1729 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1730 after newly-added CTI_MODULE_HWM.
1731
17322020-11-17 Joseph Myers <joseph@codesourcery.com>
1733
1734 * c-cppbuiltin.c (builtin_define_float_constants): Define
1735 "*_IS_IEC_60559__" macros.
1736
17372020-11-17 Nathan Sidwell <nathan@acm.org>
1738
1739 * c-lex.c: #include "langhooks.h".
1740 (cb_undef): Maybe call preprocess_undef lang hook.
1741 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1742 lang hook.
1743 (push_command_line_include): Maybe call preprocess_main_file lang
1744 hook.
1745 (cb_file_change): Likewise.
1746 * c-ppoutput.c: #include "langhooks.h.
1747 (scan_translation_unit): Maybe call preprocess_token lang hook.
1748 (class do_streamer): New, derive from token_streamer.
1749 (directives_only_cb): Data pointer is do_streamer, call
1750 preprocess_token lang hook.
1751 (scan_translation_unit_directives_only): Use do_streamer.
1752 (print_line_1): Move src_line recording to after string output.
1753 (cb_undef): Maybe call preprocess_undef lang hook.
1754
17552020-11-17 Nathan Sidwell <nathan@acm.org>
1756
1757 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1758 code duplicating that functionality.
1759
17602020-11-17 Jakub Jelinek <jakub@redhat.com>
1761
1762 PR c/90628
1763 * c-common.c (check_builtin_function_arguments)
1764 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1765 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1766 for more builtins and argument positions.
1767
29c5d9ce
GA
17682020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1769
1770 PR objc/97854
1771 * stub-objc.c: Include c-common.h to declare enum rid.
1772
77f67db2
GA
17732020-11-13 Jakub Jelinek <jakub@redhat.com>
1774
1775 PR c++/63287
1776 * c-cppbuiltin.c: Include configargs.h.
1777 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1778 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1779 "single".
1780
17812020-11-13 Gergö Barany <gergo@codesourcery.com>
1782 Thomas Schwinge <thomas@codesourcery.com>
1783
1784 * c.opt (fopenacc-kernels): Add.
1785
17862020-11-13 Jason Merrill <jason@redhat.com>
1787
1788 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1789
17902020-11-13 Piotr H. Dabrowski <phd@phd.re>
1791
1792 PR c++/91318
1793 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1794
17952020-11-13 Martin Liska <mliska@suse.cz>
1796
1797 * c-attribs.c (build_attr_access_from_parms): Format properly.
1798
17992020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1800
1801 PR objc/90707
1802 * c-common.c (c_common_reswords): null_unspecified, nullable,
1803 nonnull, null_resettable: New keywords.
1804 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1805 RID_NONNULL, RID_NULL_RESETTABLE: New.
1806 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1807 ranges accepted for property attributes.
1808 * c-attribs.c (handle_objc_nullability_attribute): New.
1809 * c-objc.h (enum objc_property_attribute_group): Add
1810 OBJC_PROPATTR_GROUP_NULLABLE.
1811 (enum objc_property_attribute_kind):Add
1812 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1813 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1814
18152020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1816
1817 PR objc/77404
1818 * c-attribs.c (handle_objc_root_class_attribute): New
1819 * c-objc.h (objc_start_class_interface): Add a location
1820 value for the position of the class name.
1821 * c.opt: Add Wobjc-root-class.
1822 * stub-objc.c (objc_start_class_interface): Add a location
1823 value for the position of the class name.
1824
a5a11525
GA
18252020-11-12 Joseph Myers <joseph@codesourcery.com>
1826
1827 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1828 Allow scope for C. Handle standard attributes for C. Do not
1829 accept unscoped attributes if std_syntax and not handled as
1830 standard attributes.
1831 * c-common.h (c_common_has_attribute): Update prototype.
1832
18332020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1834
1835 PR pch/86674
1836 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1837 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1838
0f5f9ed5
GA
18392020-11-11 Patrick Palka <ppalka@redhat.com>
1840
1841 PR c++/88115
1842 * c-opts.c (c_common_post_options): Update latest_abi_version.
1843
bb622641
GA
18442020-11-10 Jakub Jelinek <jakub@redhat.com>
1845
1846 PR c/97748
1847 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1848 to false.
1849 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1850 recursively and just return true instead of warning if it is true.
1851 Handle COMPLEX_EXPR.
1852
18532020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1854
1855 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1856 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1857 (c_omp_adjust_map_clauses): New function.
1858
2bee28dd
GA
18592020-11-09 Marek Polacek <polacek@redhat.com>
1860
1861 DR 1914
1862 * c-common.c (attribute_fallthrough_p): Tweak the warning
1863 message.
1864
18652020-11-09 Patrick Palka <ppalka@redhat.com>
1866
1867 * c-pragma.c (handle_pragma_diagnostic): Split the
1868 unknown-option -Wpragmas diagnostic into a warning and a
1869 subsequent note containing a spelling suggestion. Avoid
1870 computing the suggestion if -Wpragmas warnings are being
1871 suppressed.
1872
18732020-11-09 Patrick Palka <ppalka@redhat.com>
1874
1875 PR testsuite/97117
1876 * c-indentation.c (get_visual_column): Remove location_t
1877 parameter. Move the column-tracking diagnostic code from here
1878 to ...
1879 (should_warn_for_misleading_indentation): ... here, before the
1880 early exit for when the loci are not all distinct. Don't pass a
1881 location_t argument to get_visual_column.
1882 (assert_get_visual_column_succeeds): Don't pass a location_t
1883 argument to get_visual_column.
1884 (assert_get_visual_column_fails): Likewise.
1885
fb95de7a
GA
18862020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1887
1888 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1889 of keywords accepted in @property attribute contexts.
1890 * c-objc.h (enum objc_property_attribute_group): Add
1891 OBJC_PROPATTR_GROUP_CLASS.
1892 (enum objc_property_attribute_kind): Add
1893 OBJC_PROPERTY_ATTR_CLASS.
1894
2da7ee05
GA
18952020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1896
1897 * c-common.c (c_common_reswords): Add 'atomic' property
1898 attribute.
1899 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1900 property attributes.
1901
19022020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1903
1904 * c-attribs.c (handle_nsobject_attribute): New.
1905 * c.opt: Add WNSObject-attribute.
1906
44cab2d8
GA
19072020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1908
1909 * c-objc.h (enum objc_property_attribute_group): New
1910 (enum objc_property_attribute_kind): New.
1911 (OBJC_PROPATTR_GROUP_MASK): New.
1912 (struct property_attribute_info): Small class encapsulating
1913 parser output from property attributes.
1914 (objc_prop_attr_kind_for_rid): New
1915 (objc_add_property_declaration): Simplify interface.
1916 * stub-objc.c (enum rid): Dummy type.
1917 (objc_add_property_declaration): Simplify interface.
1918 (objc_prop_attr_kind_for_rid): New.
1919
19202020-11-06 Nathan Sidwell <nathan@acm.org>
1921
1922 * c-ada-spec.c (collect_ada_nodes): Rename
1923 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1924 (collect_ada_node): Likewise.
1925 (dump_forward_type): Likewise.
1926 * c-common.c (set_underlying_type): Rename
1927 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1928 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1929
19302020-11-06 Jakub Jelinek <jakub@redhat.com>
1931
1932 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1933
0cfd9109
GA
19342020-11-05 Marek Polacek <polacek@redhat.com>
1935
1936 PR c++/97675
1937 * c.opt (Wexceptions): New option.
1938
19392020-11-05 Marek Polacek <polacek@redhat.com>
1940
1941 PR c++/25814
1942 * c.opt (Wvexing-parse): New option.
1943
35c125cb
GA
19442020-11-04 Jakub Jelinek <jakub@redhat.com>
1945
1946 PR c++/97670
1947 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1948 underlying decl to clear in the allocate_head bitmap.
1949
19502020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1951
1952 * c-objc.h (objc_non_constant_expr_p): New.
1953 * stub-objc.c (objc_non_constant_expr_p): New.
1954
fd2325ea
GA
19552020-11-03 Nathan Sidwell <nathan@acm.org>
1956
1957 * c.opt (MQ,MT): Reword description to be make-agnostic.
1958
88ce3d5f
GA
19592020-11-02 Nathan Sidwell <nathan@acm.org>
1960
1961 * c-opts.c (c_common_post_options): Move var decl to its
1962 initialization point.
1963
19642020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1965
1966 * c-lex.c (c_lex_with_flags): When combining '@' with a
1967 keyword for Objective-C, combine the location ranges too.
1968
19692020-10-30 Qing Zhao <qing.zhao@oracle.com>
1970 H.J.Lu <hjl.tools@gmail.com>
1971
1972 * c-attribs.c (c_common_attribute_table): Add new attribute
1973 zero_call_used_regs.
1974 (handle_zero_call_used_regs_attribute): New function.
1975
e93aae4a
GA
19762020-10-28 Marek Polacek <polacek@redhat.com>
1977
1978 PR c++/97573
1979 * c-opts.c (c_common_post_options): In C++20, turn on
1980 -Wdeprecated-enum-enum-conversion and
1981 -Wdeprecated-enum-float-conversion.
1982 * c.opt (Wdeprecated-enum-enum-conversion,
1983 Wdeprecated-enum-float-conversion): New options.
1984 (Wenum-conversion): Allow for C++ too.
1985
19862020-10-28 Jakub Jelinek <jakub@redhat.com>
1987
1988 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1989 * c-omp.c: Include bitmap.h.
1990 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1991
f19e7c8d
GA
19922020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1993
1994 * c-common.c (__is_nothrow_assignable): New.
1995 (__is_nothrow_constructible): Likewise.
1996 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1997 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1998
efe71fcc
GA
19992020-10-23 Jan Hubicka <hubicka@ucw.cz>
2000
2001 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
2002
20032020-10-23 Marek Polacek <polacek@redhat.com>
2004
2005 PR c++/91741
2006 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
2007 (c_common_init_ts): Likewise.
2008 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
2009 * c-common.h (maybe_warn_sizeof_array_div): Declare.
2010 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
2011 (maybe_warn_sizeof_array_div): New function.
2012 * c.opt (Wsizeof-array-div): New option.
2013
20142020-10-23 Martin Sebor <msebor@redhat.com>
2015
2016 PR c/97463
2017 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
2018
56ddd5e2
GA
20192020-10-22 Martin Liska <mliska@suse.cz>
2020
2021 PR c/94722
2022 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
2023 (handle_stack_protect_attribute): Add error message for a
2024 no_stack_protector function.
2025
20262020-10-22 Martin Liska <mliska@suse.cz>
2027
2028 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
2029
20302020-10-22 Jan Hubicka <hubicka@ucw.cz>
2031
2032 * c-gimplify.c: Include tree-nested.h
2033 (c_genericize): Update for new nested function info.
2034
b2698c21
GA
20352020-10-14 Martin Sebor <msebor@redhat.com>
2036
2037 PR c/97413
2038 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
2039 bounds in an extra list.
2040
7e9282ae
GA
20412020-10-05 Richard Biener <rguenther@suse.de>
2042 Jakub Jelinek <jakub@redhat.com>
2043
2044 PR c++/97197
2045 * c-pretty-print.c: Include langhooks.h.
2046 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
2047 expression.
2048 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
2049 unary_expression.
2050 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
2051
660bfe61
GA
20522020-09-30 Martin Sebor <msebor@redhat.com>
2053
2054 PR middle-end/97189
2055 * c-attribs.c (append_access_attr): Use the function declaration
2056 location for a warning about an attribute access argument.
2057
93bca37c
GA
20582020-09-29 Marek Polacek <polacek@redhat.com>
2059
2060 PR c++/94695
2061 * c.opt (Wrange-loop-construct): New option.
2062
82b77dee
GA
20632020-09-23 Martin Sebor <msebor@redhat.com>
2064
2065 PR c/97131
2066 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
2067
20682020-09-23 Marek Polacek <polacek@redhat.com>
2069
2070 PR c/97125
2071 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
2072 after loops and other structured control constructs have been lowered.
2073
521d2711
GA
20742020-09-22 Jakub Jelinek <jakub@redhat.com>
2075
2076 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
2077 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
2078
44135373
GA
20792020-09-21 Marek Polacek <polacek@redhat.com>
2080
2081 * c.opt (Wctad-maybe-unsupported): New option.
2082
2fe5b7d1
GA
20832020-09-19 Martin Sebor <msebor@redhat.com>
2084
2085 PR c/50584
2086 * c-common.h (warn_parm_array_mismatch): Declare new function.
2087 (has_attribute): Move declaration of an existing function.
2088 (build_attr_access_from_parms): Declare new function.
2089 * c-warn.c (parm_array_as_string): Define new function.
2090 (plus_one): Define new function.
2091 (warn_parm_ptrarray_mismatch): Define new function.
2092 (warn_parm_array_mismatch): Define new function.
2093 (vla_bound_parm_decl): New function.
2094 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
2095 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
2096 qualifiers here...
2097 (c_pretty_printer::direct_abstract_declarator): ...but instead print
2098 them in brackets here. Also print [static]. Strip extraneous
2099 expressions from VLA bounds.
2100
21012020-09-19 Martin Sebor <msebor@redhat.com>
2102
2103 PR c/50584
2104 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
2105 (handle_argspec_attribute): New function.
2106 (get_argument, get_argument_type): New functions.
2107 (append_access_attrs): Add overload. Handle internal attribute
2108 representation in addition to external.
2109 (handle_access_attribute): Handle internal attribute representation
2110 in addition to external.
2111 (build_attr_access_from_parms): New function.
2112
21132020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2114
2115 * c-gimplify.c (genericize_c_loop): Rewrite to match
2116 c_finish_loop in c-typeck.c.
2117
21182020-09-19 Sandra Loosemore <sandra@codesourcery.com>
2119
2120 * c-common.c (c_block_may_fallthrough): New, split from
2121 cxx_block_may_fallthrough in the cp front end.
2122 (c_common_init_ts): Move handling of loop and switch-related
2123 statements here from the cp front end.
2124 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
2125 cp front end.
2126 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
2127 * c-common.h (c_block_may_fallthru): Declare.
2128 (bc_state_t): Move here from cp front end.
2129 (save_bc_state, restore_bc_state): Declare.
2130 (c_genericize_control_stmt): Declare.
2131 (WHILE_COND, WHILE_BODY): Likewise.
2132 (DO_COND, DO_BODY): Likewise.
2133 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
2134 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
2135 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
2136 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
2137 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
2138 * c-dump.c (dump_stmt): Copy from cp front end.
2139 (c_dump_tree): Move code to handle structured loop and switch
2140 tree nodes here from cp front end.
2141 * c-gimplify.c: Adjust includes.
2142 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
2143 cp front end.
2144 (save_bc_state, restore_bc_state): New functions using old code
2145 from cp front end.
2146 (get_bc_label, expr_loc_or_loc): Move from cp front end.
2147 (genericize_c_loop): Move from cp front end.
2148 (genericize_for_stmt, genericize_while_stmt): Likewise.
2149 (genericize_do_stmt, genericize_switch_stmt): Likewise.
2150 (genericize_continue_stmt, genericize_break_stmt): Likewise.
2151 (genericize_omp_for_stmt): Likewise.
2152 (c_genericize_control_stmt): New function using code split from
2153 cp front end.
2154 (c_genericize_control_r): New.
2155 (c_genericize): Call walk_tree with c_genericize_control_r.
2156 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
2157 structured loop and switch tree nodes here from cp front end.
2158
2aad20c0
GA
21592020-09-17 Patrick Palka <ppalka@redhat.com>
2160
2161 PR c/80076
2162 * c-indentation.c (should_warn_for_misleading_indentation): Move
2163 declarations of local variables closer to their first use.
2164 Handle virtual token locations by resolving them to their
2165 respective macro expansion points. If all three tokens are
2166 produced from the same macro expansion, then instead use their
2167 loci within the macro definition.
2168
ecde1b0a
GA
21692020-09-16 Martin Sebor <msebor@redhat.com>
2170
2171 PR c/78666
2172 PR c/96126
2173 * c-attribs.c (validate_attr_args): New function.
2174 (validate_attr_arg): Same.
2175 (handle_section_attribute): Call it. Introduce a local variable.
2176 (handle_alloc_size_attribute): Same.
2177 (handle_alloc_align_attribute): Same.
2178
50a71cd0
GA
21792020-09-14 Jakub Jelinek <jakub@redhat.com>
2180
2181 * c-attribs.c (handle_optimize_attribute): Adjust
2182 cl_optimization_save, cl_optimization_restore and
2183 build_optimization_node callers.
2184 * c-pragma.c (handle_pragma_optimize): Adjust
2185 build_optimization_node caller.
2186 (handle_pragma_push_options): Adjust
2187 build_optimization_node and build_target_option_node callers.
2188 (handle_pragma_pop_options, handle_pragma_reset_options):
2189 Adjust cl_optimization_restore callers.
2190
8f7ea26a
GA
21912020-08-28 Martin Sebor <msebor@redhat.com>
2192
2193 * c.opt (Wstringop-overread): New option.
2194
a6493809
GA
21952020-08-11 Jakub Jelinek <jakub@redhat.com>
2196
2197 PR c/96545
2198 * c-common.c (get_atomic_generic_size): Require that first argument's
2199 type points to a complete type and use tree_fits_uhwi_p instead of
2200 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
2201
48cc2e46
GA
22022020-07-31 Martin Sebor <msebor@redhat.com>
2203
2204 PR c++/96003
2205 * c-common.c (check_function_arguments_recurse): Return early when
2206 no-warning bit is set.
2207
22082020-07-31 Richard Biener <rguenther@suse.de>
2209
2210 PR debug/96383
2211 * c-common.h (c_common_finalize_early_debug): Declare.
2212 * c-common.c: Include debug.h.
2213 (c_common_finalize_early_debug): finalize_early_debug langhook
2214 implementation generating debug for extern declarations.
2215
e71dab87
GA
22162020-07-27 Nathan Sidwell <nathan@acm.org>
2217
2218 * c-common.c (try_to_locate_new_include_insertion_point): Use
2219 strcmp, not pointer equality.
2220
ae2e0bc1
GA
22212020-07-25 Martin Sebor <msebor@redhat.com>
2222
2223 PR c++/96310
2224 * c-common.c (check_nonnull_arg): Print note only when warning was
2225 issued.
2226
3ea9abca
GA
22272020-07-22 Tobias Burnus <tobias@codesourcery.com>
2228
2229 * c-omp.c (c_finish_omp_critical): Check for no name but
2230 nonzero hint provided.
2231
0933f508
GA
22322020-07-20 Jason Merrill <jason@redhat.com>
2233
2234 * c-cppbuiltin.c (c_cpp_builtins): Update
2235 __cpp_nontype_template_args for C++20.
2236
22372020-07-20 Martin Sebor <msebor@redhat.com>
2238
2239 PR c/96249
2240 * c.opt: Remove stray text.
2241
8ca07a30
GA
22422020-07-14 Lewis Hyatt <lhyatt@gmail.com>
2243
2244 PR other/86904
2245 * c-indentation.c (should_warn_for_misleading_indentation): Get
2246 global tabstop from the new source.
2247 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
2248 is now a common option.
2249 * c.opt: Likewise.
2250
a82c4c4c 22512020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
2252
2253 * c.opt (Wscalar-storage-order): Add explicit variable.
2254
f60ee68d
GA
22552020-07-07 Nathan Sidwell <nathan@acm.org>
2256
2257 * c-opts.c (c_common_post_options): Add 'injecting' arg to
2258 cpp_read_main_file.
2259 (c_finish_options): Add linemap_line_start calls for builtin and cmd
2260 maps. Force token position to line_table's highest line.
2261 * c-ppoutput.c (print_line_1): Refactor, print line zero.
2262 (cb_define): Always increment source line.
2263
4077d74c
GA
22642020-07-06 Martin Sebor <msebor@redhat.com>
2265
2266 PR c++/95984
2267 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
2268 to stub lambda objects with null this pointer.
2269 (check_nonnull_arg): Handle C++ nullptr.
2270
b5f24739
GA
22712020-07-02 Jason Merrill <jason@redhat.com>
2272 Jakub Jelinek <jakub@redhat.com>
2273
2274 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
2275
46fbb6c6
GA
22762020-06-30 Jakub Jelinek <jakub@redhat.com>
2277
2278 PR c++/95963
2279 * c-common.c (check_function_arguments_recurse): Don't crash on
2280 calls to internal functions.
2281
69273534
GA
22822020-06-28 Martin Sebor <msebor@redhat.com>
2283
2284 PR c++/86568
2285 * c-common.c (struct nonnull_arg_ctx): Add members.
2286 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
2287 C++ member functions specially. Consider the this pointer implicitly
2288 nonnull.
2289 (check_nonnull_arg): Use location of argument when available.
2290 (check_function_arguments): Use nonnull_arg_ctx as argument.
2291
9a33c41f
GA
22922020-06-27 Jakub Jelinek <jakub@redhat.com>
2293
2294 PR middle-end/95903
2295 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
2296 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
2297 smaller precision intop operands separately.
2298
c9c05f73
GA
22992020-06-26 Marek Polacek <polacek@redhat.com>
2300
2301 * c-opts.c (c_common_init_options): Default to gnu++17.
2302
aff95ee7
GA
23032020-06-17 Jonathan Wakely <jwakely@redhat.com>
2304
bd0a89dc 2305 PR c/95378
aff95ee7
GA
2306 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
2307 pointer arguments.
2308
56638b9b
GA
23092020-06-16 Jakub Jelinek <jakub@redhat.com>
2310
2311 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
2312 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
2313 idx members.
2314 (c_omp_is_loop_iterator): New function.
2315 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
2316 if outer loop iterator is present. Perform duplicate checking through
2317 hash_set in the function rather than expecting caller to do that.
2318 Pass NULL instead of d->ppset to walk_tree_1.
2319 (c_omp_check_nonrect_loop_iv): New function.
2320 (c_omp_check_loop_iv): Use it. Fill in new members, allow
2321 non-rectangular loop forms, diagnose multiple associated loops with
2322 the same iterator. Pass NULL instead of &pset to walk_tree_1.
2323 (c_omp_check_loop_iv_exprs): Likewise.
2324
ec6ffbb9
GA
23252020-06-10 Martin Liska <mliska@suse.cz>
2326
2327 PR tree-optimization/92860
2328 * c-attribs.c (handle_optimize_attribute):
2329 Save global options and compare it after parsing of function
2330 attribute.
2331 * c-pragma.c (opt_stack::saved_global_options): New field.
2332 (handle_pragma_push_options): Save global_options.
2333 (handle_pragma_pop_options): Compare them after pop.
2334
b952c2cf
GA
23352020-06-09 Jakub Jelinek <jakub@redhat.com>
2336
2337 PR c/95580
2338 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
2339 case when MEM_REF's first argument has type pointer to incomplete type.
2340
1a59f3db
GA
23412020-06-05 Jason Merrill <jason@redhat.com>
2342
2343 * c-pretty-print.c (pp_c_additive_expression): Handle negative
2344 operand to POINTER_PLUS_EXPR.
2345
3add3425
GA
23462020-06-04 Martin Sebor <msebor@redhat.com>
2347
2348 PR middle-end/10138
2349 PR middle-end/95136
2350 * c-attribs.c (append_access_attrs): Handle attr_access::none.
2351 (handle_access_attribute): Same.
2352
9a5b7438
GA
23532020-06-03 Mark Wielaard <mark@klomp.org>
2354
2355 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
2356 New function.
2357 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
2358 New function declaration.
2359
23602020-06-03 Mark Wielaard <mark@klomp.org>
2361
2362 * known-headers.cc (get_string_macro_hint): New function.
2363 (get_stdlib_header_for_name): Use get_string_macro_hint.
2364 (get_c_stdlib_header_for_string_macro_name): New function.
2365 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
2366 New function declaration.
2367
23682020-06-03 Tobias Burnus <tobias@codesourcery.com>
2369
2370 * c-common.h (c_omp_predetermined_mapping): Declare.
2371 * c-omp.c (c_omp_predetermined_mapping): New.
2372
af114c38
MW
23732020-05-22 Mark Wielaard <mark@klomp.org>
2374
2375 * known-headers.cc (get_stdlib_header_for_name): Add a new
2376 stdlib_hint array for stdbool and stdint.
2377
45c50b6a
MW
23782020-05-22 Mark Wielaard <mark@klomp.org>
2379
2380 * known-headers.cc (get_stdlib_header_for_name): Return
2381 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
2382 flag_isoc99.
2383
c22027a0
NS
23842020-05-20 Nathan Sidwell <nathan@acm.org>
2385
38a4db21
NS
2386 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
2387
c22027a0
NS
2388 * c-common.c (try_to_locate_new_include_insertion_point): Use
2389 strcmp to compare filenames.
2390 * c-lex.c (init_c_lex): Move declaration to initialization.
2391 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
2392 deferred count loop.
2393
29f0e90d
JM
23942020-05-15 Jason Merrill <jason@redhat.com>
2395
2396 * c-opts.c (set_std_cxx20): Set flag_coroutines.
2397
b04445d4
JM
23982020-05-13 Jason Merrill <jason@redhat.com>
2399
2400 * c.opt (std=c++20): Make c++2a the alias.
2401 (std=gnu++20): Likewise.
2402 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
2403 * c-opts.c: Adjust.
2404 * c-cppbuiltin.c: Adjust.
2405 * c-ubsan.c: Adjust.
2406 * c-warn.c: Adjust.
2407
11dd3be5
EB
24082020-05-12 Eric Botcazou <ebotcazou@adacore.com>
2409
2410 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2411
b224c376
NS
24122020-05-08 Nathan Sidwell <nathan@acm.org>
2413
2414 Reimplement directives only processing.
2415 * c-ppoutput.c (token_streamer): Ne.
2416 (directives_only_cb): New. Swallow ...
2417 (print_lines_directives_only): ... this.
2418 (scan_translation_unit_directives_only): Reimplment using the
2419 published interface.
2420
f1d94677
MP
24212020-05-07 Marek Polacek <polacek@redhat.com>
2422
2423 * c-format.c (badwords): Add "nonstatic".
2424
9b95bb52
JJ
2425202-05-07 Jakub Jelinek <jakub@redhat.com>
2426
2427 PR c/94968
2428 * c-common.c (speculation_safe_value_resolve_params): Return false if
2429 error_operand_p (val2).
2430 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
2431 Remove extraneous semicolon.
2432
530b4409 24332020-05-06 qing zhao <qing.zhao@oracle.com>
2434
2435 PR c/94230
2436 * c-indentation.c (get_visual_column): Add a hint to use the new
2437 -flarge-source-files option.
2438
b776bdca
SSF
24392020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2440
2441 * c-attribs.c (handle_vector_size_attribute): Add attribute
2442 nonnull for argument args in order to silence warning of
2443 uninitialized variable usage. Since this is local to the
2444 compilation unit and thus cannot be checked at call sides by the
2445 compiler, added an assert statement in order to verify this.
2446
6607bdd9
L
24472020-05-01 H.J. Lu <hongjiu.lu@intel.com>
2448
2449 PR target/93492
2450 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
2451 value to USHRT_MAX (65535).
2452
691eeb65
JJ
24532020-04-29 Jakub Jelinek <jakub@redhat.com>
2454
2455 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
2456
26d76be7
JJ
24572020-04-27 Jakub Jelinek <jakub@redhat.com>
2458
2459 PR c/94755
2460 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
2461 fncode == BUILT_IN_NONE before initialization of first_param.
2462
7291b2ed
MP
24632020-04-23 Marek Polacek <polacek@redhat.com>
2464
2465 PR c++/94733
2466 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
2467 TREE_PURPOSE.
2468
58a29af8
PP
24692020-04-14 Patrick Palka <ppalka@redhat.com>
2470
2471 PR c++/85278
2472 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
2473 ampersand if it's an rvalue reference type.
2474
09f04139
MS
24752020-04-13 Martin Sebor <msebor@redhat.com>
2476
2477 PR c/92326
2478 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
2479 printing array bound for flexible array members.
2480
ee26baf4
IS
24812020-04-13 Iain Sandoe <iain@sandoe.co.uk>
2482
2483 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
2484 define, per n4861.
2485
75efe9cb
RB
24862020-04-02 Richard Biener <rguenther@suse.de>
2487
2488 PR c/94392
2489 * c-opts.c (c_common_post_options): Enable -ffinite-loops
2490 for -O2 and C++11 or newer.
2491
75defde9
PP
24922020-03-28 Patrick Palka <ppalka@redhat.com>
2493
2494 * c.opt: Add -fconcepts-diagnostics-depth.
2495
52f24a9e
MS
24962020-03-27 Martin Sebor <msebor@redhat.com>
2497
2498 PR c++/94346
2499 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
2500 to decl_attributes. Make handling of different kinds of entities
2501 more robust.
2502
ccacf77b
MS
25032020-03-27 Martin Sebor <msebor@redhat.com>
2504
2505 PR c++/94098
2506 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
2507 here.
2508
ca6c7225
JJ
25092020-03-23 Jakub Jelinek <jakub@redhat.com>
2510
2511 PR c++/91993
2512 * c-warn.c (warnings_for_convert_and_check): For expr and/or
2513 result being COMPOUND_EXPRs, skip to ultimate rhs.
2514
1aa22b19
RS
25152020-03-20 Richard Sandiford <richard.sandiford@arm.com>
2516
2517 PR middle-end/94072
2518 * c-common.c (c_common_type_for_mode): Before using a registered
2519 built-in type, check that the vectorness of the type matches
2520 the vectorness of the mode.
2521
700d4cb0
JJ
25222020-03-17 Jakub Jelinek <jakub@redhat.com>
2523
2524 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2525 issue in a diagnostic message.
2526
b408e010
LH
25272020-03-15 Lewis Hyatt <lhyatt@gmail.com>
2528
2529 * c.opt: Avoid redundancy in the help text.
2530
e78e50d5
MP
25312020-03-02 Marek Polacek <polacek@redhat.com>
2532
2533 PR c++/93958 - add missing -std=gnu++20.
2534 * c.opt: Add -std=gnu++20.
2535
649e1741
MS
25362020-03-01 Martin Sebor <msebor@redhat.com>
2537
2538 PR c++/92721
2539 * c-attribs.c (append_access_attrs): Correctly handle attribute.
2540 (handle_access_attribute): Same.
2541
7b60f3ba
JJ
25422020-02-25 Jakub Jelinek <jakub@redhat.com>
2543
2544 PR c/93858
2545 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2546 "did you mean" hint in diagnostics.
2547
fb260504
JM
25482020-02-15 Jason Merrill <jason@redhat.com>
2549
2550 * c.opt: Add -std=c++20.
2551
1d757b09
EB
25522020-02-14 Eric Botcazou <ebotcazou@adacore.com>
2553
2554 * c-ada-spec.c: Include bitmap.h.
2555 (dump_ada_double_name): Rename into...
2556 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
2557 (dump_ada_array_type): Adjust to above renaming. Robustify.
2558 (dump_nested_types_1): New function copied from... Add dumped_types
2559 parameter and pass it down to dump_nested_type.
2560 (dump_nested_types): ...this. Remove parent parameter. Just call
2561 dump_nested_types_1 on an automatic bitmap.
2562 (dump_nested_type): Add dumped_types parameter.
2563 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2564 Adjust recursive calls and adjust to above renaming.
2565 (dump_ada_declaration): Adjust call to dump_nested_types.
2566 Tidy up and adjust to above renaming.
2567 (dump_ada_specs): Initialize and release bitmap obstack.
2568
0cc575e4
MS
25692020-02-10 Martin Sebor <msebor@redhat.com>
2570
2571 PR c/93640
2572 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2573
a59aa302
JJ
25742020-02-10 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR other/93641
2577 * c-format.c (check_plain): Fix up last argument of strncasecmp.
2578 Remove useless extra test.
2579
e464fc90
TB
25802020-02-03 Julian Brown <julian@codesourcery.com>
2581 Tobias Burnus <tobias@codesourcery.com>
2582
2583 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2584
e3b6c052
JM
25852020-01-29 Jason Merrill <jason@redhat.com>
2586
2587 PR c++/89357
2588 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2589
6d00f052
JM
25902020-01-23 Jason Merrill <jason@redhat.com>
2591
2592 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2593
8a990ffa
MS
25942020-01-23 Martin Sebor <msebor@redhat.com>
2595
2596 PR c/84919
2597 * c-common.c (check_function_arguments): Avoid overlap checking
2598 of sprintf functions.
2599
55b7df8b
JM
26002020-01-22 Jason Merrill <jason@redhat.com>
2601
2602 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2603 PR c++/40752
2604 * c-warn.c (conversion_warning): Check operands only after checking
2605 the whole expression. Don't check second operand of + for sign.
2606
c77074d0
JM
26072020-01-21 Jason Merrill <jason@redhat.com>
2608 Manuel López-Ibáñez <manu@gcc.gnu.org>
2609
2610 PR c++/40752 - useless -Wconversion with short +=.
2611 * c.opt (-Warith-conversion): New.
2612 * c-warn.c (conversion_warning): Recurse for operands of
2613 operators. Only warn about the whole expression with
2614 -Warith-conversion.
2615
731dbfc3
JM
26162020-01-21 Jason Merrill <jason@redhat.com>
2617
2618 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2619 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2620
ad1a3914
NS
26212020-01-20 Nathan Sidwell <nathan@acm.org>
2622
2623 PR preprocessor/80005
2624 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2625
49789fd0
IS
26262020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2627
2628 * c-common.c (co_await, co_yield, co_return): New.
2629 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2630 RID_CO_RETURN): New enumeration values.
2631 (D_CXX_COROUTINES): Bit to identify coroutines are active.
2632 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2633 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2634 * c.opt (fcoroutines): New command-line switch.
2635
4bc1899b
DM
26362020-01-10 David Malcolm <dmalcolm@redhat.com>
2637
2638 * c-format.c (local_event_ptr_node): New.
2639 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2640 (init_dynamic_diag_info): Initialize local_event_ptr_node.
2641 * c-format.h (T_EVENT_PTR): New define.
2642
f25e33fa
MS
26432020-01-10 Martin Sebor <msebor@redhat.com>
2644
2645 PR c/93132
2646 * c-attribs.c (append_access_attrs): Validate against the translated
2647 access string rather than the human-readable representation.
2648
8d9254fc
JJ
26492020-01-01 Jakub Jelinek <jakub@redhat.com>
2650
2651 Update copyright years.
2652
39292e25
EB
26532019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2654
2655 * c-ada-spec.h (decl_sloc): Delete.
2656 * c-ada-spec.c (decl_sloc): Make static.
2657
519d7496
JB
26582019-12-19 Julian Brown <julian@codesourcery.com>
2659
2660 * c-common.h (c_omp_map_clause_name): Add prototype.
2661 * c-omp.c (c_omp_map_clause_name): New function.
2662 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2663 PRAGMA_OACC_CLAUSE_DETACH.
2664
a6163563
JB
26652019-12-19 Julian Brown <julian@codesourcery.com>
2666 Maciej W. Rozycki <macro@codesourcery.com>
2667 Tobias Burnus <tobias@codesourcery.com>
2668 Thomas Schwinge <thomas@codesourcery.com>
2669
2670 * c-pragma.h (pragma_omp_clause): Add
2671 PRAGMA_OACC_CLAUSE_NO_CREATE.
2672
e8f1ade2
MS
26732019-12-17 Martin Sebor <msebor@redhat.com>
2674
2675 PR c++/61339
2676 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2677
368877a1
DM
26782019-12-11 David Malcolm <dmalcolm@redhat.com>
2679
2680 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2681 implementation.
2682 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2683
d68f5d45
DM
26842019-12-09 David Malcolm <dmalcolm@redhat.com>
2685
2686 * c-format.c (range_label_for_format_type_mismatch::get_text):
2687 Replace label_text ctor called with true with label_text::take.
2688
d3e28653
DM
26892019-12-09 David Malcolm <dmalcolm@redhat.com>
2690
2691 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2692 initial newline from expected outputs.
2693 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2694 call to diagnostic_show_locus.
2695
abd6d8cc
JJ
26962019-12-06 Jakub Jelinek <jakub@redhat.com>
2697
2698 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2699 now.
2700
7906797e
MP
27012019-12-05 Marek Polacek <polacek@redhat.com>
2702 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2705 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2706
5c04da88
MP
27072019-12-05 Marek Polacek <polacek@redhat.com>
2708
2709 PR c++/92271 - make __is_same alias for __is_same_as.
2710 * c-common.c: Add __is_same, an alias for __is_same_as.
2711
43aae289
MP
27122019-12-03 Marek Polacek <polacek@redhat.com>
2713
2714 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2715 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2716 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2717
d7ddfbcb
JH
27182019-11-30 Jan Hubicka <hubicka@ucw.cz>
2719
2720 * c-attribs.c (handle_symver_attribute): New function
2721 (c_common_attributes): Add symver.
2722
65ef05d0
RS
27232019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2724
2725 * c-common.c (pointer_int_sum): Use verify_type_context to check
2726 whether the target allows pointer arithmetic for the types involved.
2727 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2728 to check whether the target allows sizeof and alignof operations
2729 for the types involved.
2730
1a291106
JM
27312019-11-27 Jason Merrill <jason@redhat.com>
2732
2733 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2734
05d6cb1a
JJ
27352019-11-26 Jakub Jelinek <jakub@redhat.com>
2736
2737 PR c++/61414
2738 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2739 ENUMERAL_TYPEs.
2740
5b8d9367
JM
27412019-11-25 Joseph Myers <joseph@codesourcery.com>
2742
2743 PR c/91985
2744 * c-common.c (c_common_type_for_mode): Handle decimal
2745 floating-point types being NULL_TREE.
2746 * c-format.c (get_format_for_type_1): Handle specified types being
2747 NULL_TREE.
2748 * c-lex.c (interpret_float): Give an error for decimal
2749 floating-point constants when decimal floating-point not
2750 supported.
2751
1fbf51cb
JJ
27522019-11-23 Jakub Jelinek <jakub@redhat.com>
2753
2754 PR middle-end/83859
2755 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2756 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2757 group warning with inform together.
2758 (handle_access_attribute): Formatting fix.
2759
761df906
JJ
27602019-11-22 Jakub Jelinek <jakub@redhat.com>
2761
bdaf8be1
JJ
2762 PR c/90677
2763 * c-common.h (identifier_global_tag): Declare.
2764 * c-format.c (get_pointer_to_named_type): Renamed to ...
2765 (get_named_type): ... this. Use identifier_global_tag instead of
2766 identifier_global_value, handle the return value being a TYPE_P.
2767 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2768 to call get_named_type instead. Formatting fixes.
2769
c2ecce6d 2770 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2771 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2772 and __cpp_generic_lambdas for -std=c++2a. Define
2773 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2774 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2775 __cpp_concepts for -std=c++2a.
2776
54aa6b58
MS
27772019-11-22 Martin Sebor <msebor@redhat.com>
2778
2779 PR middle-end/83859
2780 * c-attribs.c (handle_access_attribute): New function.
2781 (c_common_attribute_table): Add new attribute.
2782 (get_argument_type): New function.
2783 (append_access_attrs): New function.
2784 (get_nonnull_operand): Rename...
2785 (get_attribute_operand): ...to this.
2786 * c-common.c (get_nonnull_operand): Rename...
2787 (get_attribute_operand): ...to this.
2788
6c80b1b5
JM
27892019-11-21 Joseph Myers <joseph@codesourcery.com>
2790
2791 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2792 of warning.
2793
192961ff
JM
27942019-11-19 Joseph Myers <joseph@codesourcery.com>
2795
2796 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2797 warning for standard attributes mixed with fallthrough attributes.
2798
f8aea5e3
JM
27992019-11-15 Joseph Myers <joseph@codesourcery.com>
2800
2801 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2802 * c-common.h (handle_fallthrough_attribute): Declare.
2803
2cc94aa8
JM
28042019-11-15 Joseph Myers <joseph@codesourcery.com>
2805
2806 * c-attribs.c (handle_deprecated_attribute): Remove static.
2807 * c-common.h (handle_deprecated_attribute): Declare.
2808
7c5890cc
JM
28092019-11-14 Joseph Myers <joseph@codesourcery.com>
2810
2811 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2812 char for C.
2813
b2417b59
JJ
28142019-11-14 Jakub Jelinek <jakub@redhat.com>
2815
d0ec7c93
JJ
2816 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2817 valid vendors.
2818
b2417b59
JJ
2819 * c-omp.c (c_omp_check_context_selector): Handle name lists
2820 containing string literals. Don't diagnose atomic_default_mem_order
2821 with multiple props.
2822
00be2a5f
JM
28232019-11-13 Joseph Myers <joseph@codesourcery.com>
2824
2825 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2826 NORM_MAX constants. Update call to get_max_float.
2827 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2828 constants.
2829
2dbad62d
EB
28302019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2831
2832 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2833 (dump_forward_type): Do not generate a declaration for function types.
2834 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2835 of the component type if it is declared in another file.
2836
6ed76044
ML
28372019-11-12 Martin Liska <mliska@suse.cz>
2838
2839 * c-opts.c (c_common_post_options):
2840 Use SET_OPTION_IF_UNSET.
2841
62aee289
MR
28422019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2843 Frederik Harwath <frederik@codesourcery.com>
2844
2845 gcc/c-family/
2846 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2847 constant.
2848 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2849
f486280c
RS
28502019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2851
2852 * c-common.h (gnu_vector_type_p): New function.
2853 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2854 vectors to satisfy gnu_vector_type_p.
2855 (c_build_vec_convert): Likewise __builtin_convertvector.
2856 (convert_vector_to_array_for_subscript): Likewise when applying
2857 implicit vector to array conversion.
2858 (scalar_to_vector): Likewise when converting vector-scalar
2859 operations to vector-vector operations.
2860
017c6491
JM
28612019-11-08 Joseph Myers <joseph@codesourcery.com>
2862
2863 * c.opt (Wold-style-definition): Initialize to -1.
2864 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2865 to flag_isoc2x if not set explicitly.
2866
c01bd174
JM
28672019-11-07 Joseph Myers <joseph@codesourcery.com>
2868
2869 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2870
0df65305
JM
28712019-11-05 Jason Merrill <jason@redhat.com>
2872
2873 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2874 -fconcepts.
2875
e0c866dd
KK
28762019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2877
2878 * c-opts.c (c_common_post_options): Update
2879 latest_abi_version.
2880
f968ef9b
JJ
28812019-11-02 Jakub Jelinek <jakub@redhat.com>
2882
d0c464d2
JJ
2883 * c-common.h (c_omp_get_context_selector): Remove.
2884 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2885 and renamed to omp_get_context_selector.
2886
917dd789
JJ
2887 * c-omp.c (c_omp_mark_declare_variant): Use
2888 omp_context_selector_set_compare.
2889
f968ef9b
JJ
2890 PR c++/88335 - Implement P1073R3: Immediate functions
2891 * c-common.h (enum rid): Add RID_CONSTEVAL.
2892 * c-common.c (c_common_reswords): Add consteval.
2893
5f6705b7
JJ
28942019-11-01 Martin Sebor <msebor@redhat.com>
2895
2896 PR middle-end/91679
2897 PR middle-end/91647
2898 PR middle-end/91463
2899 PR middle-end/92312
2900 * c-pretty-print.c (direct_abstract_declarator): Print
2901 bound in zero-length arrays.
2902 * c.opt (-Wzero-length-bounds): New option.
2903
43f1814c
NS
29042019-10-30 Nathan Sidwell <nathan@acm.org>
2905
2906 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2907 macros.
2908
ad1539d5
MS
29092019-10-28 Martin Sebor <msebor@redhat.com>
2910
2911 PR c/66970
2912 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2913 even when only preprocessing.
2914 * c-common.h (names_builtin_p): Declare new function.
2915 * c-lex.c (init_c_lex): Set has_builtin.
2916 (c_common_has_builtin): Define a new function.
2917 * c-ppoutput.c (init_pp_output): Set has_builtin.
2918
135df52c
JJ
29192019-10-24 Jakub Jelinek <jakub@redhat.com>
2920
2921 * c-common.h (c_omp_context_selector_matches): Remove.
2922 * c-omp.c (c_omp_context_selector_matches): Remove.
2923 * c-attribs.c (c_common_attribute_table): Add
2924 "omp declare target {host,nohost,block}" attributes.
2925
8ad0c477
JM
29262019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2927
2928 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2929
56898e43
RS
29302019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2931
2932 * c-common.h (user_facing_original_type_p): Declare.
2933 * c-common.c: Include c-spellcheck.h.
2934 (user_facing_original_type_p): New function.
2935
20de9568
JJ
29362019-10-12 Jakub Jelinek <jakub@redhat.com>
2937
2938 * c-common.h (c_omp_mark_declare_variant,
2939 c_omp_context_selector_matches): Declare.
2940 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2941 and hsa-common.h.
2942 (c_omp_get_context_selector): Support second argument NULL.
2943 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2944 functions.
2945 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2946 attribute, add "omp declare variant base" and
2947 "omp declare variant variant" attributes.
2948
175a85b2
JM
29492019-10-11 Joseph Myers <joseph@codesourcery.com>
2950
2951 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2952 CppReason(CPP_W_C11_C2X_COMPAT).
2953
fe2bc27c
JM
29542019-10-11 Joseph Myers <joseph@codesourcery.com>
2955
2956 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2957 _Decimal64 and _Decimal128.
2958
27dfdc0f
JM
29592019-10-10 Joseph Myers <joseph@codesourcery.com>
2960
2961 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2962 types if DFP not supported.
2963
94e7f906
JJ
29642019-10-10 Jakub Jelinek <jakub@redhat.com>
2965
2966 * c-common.h (c_omp_check_context_selector,
2967 c_omp_get_context_selector): Declare.
2968 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2969 in diagnostic message.
2970 (c_omp_check_context_selector, c_omp_get_context_selector): New
2971 functions.
2972 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2973 attribute.
2974 (handle_omp_declare_variant_attribute): New function.
2975
a7160771
MS
29762019-10-09 Martin Sebor <msebor@redhat.com>
2977
2978 PR tree-optimization/90879
2979 * c.opt (-Wstring-compare): New option.
2980
cb57504a
JM
29812019-10-08 Andrew Sutton <asutton@lock3software.com>
2982 Jason Merrill <jason@redhat.com>
2983
2984 Update the concepts implementation to conform to the C++20
2985 specification, improve compile times, and generally clean up
2986 the implementation.
2987
2988 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2989 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2990 * c.opt: Add -Wconcepts-ts.
2991 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2992 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2993 (set_std_cxx2a): Enable concepts by default.
2994
fbb2a6dc
JM
29952019-10-08 Joseph Myers <joseph@codesourcery.com>
2996
2997 * c-opts.c (c_common_post_options): Set
2998 -fno-fp-int-builtin-inexact for C2X.
2999
8e007055
JJ
30002019-10-05 Jakub Jelinek <jakub@redhat.com>
3001
3002 PR c++/91369 - Implement P0784R7: constexpr new
3003 * c-cppbuiltin.c (c_cpp_builtins): Predefine
3004 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
3005
843f104d
JM
30062019-10-04 Joseph Myers <joseph@codesourcery.com>
3007
3008 PR c/82752
3009 * c-format.c (C_STD_VER): Handle C2x.
3010 (C_STD_NAME): Likewise.
3011 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
3012 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
3013 modifier allowed and 'p' flag.
3014 * c-format.h (enum format_std_version): Add STD_C2X.
3015 (struct format_char_info): Mention 'p' in comment on flags2.
3016
e9c9a142
DM
30172019-10-01 David Malcolm <dmalcolm@redhat.com>
3018
3019 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
3020 calling diagnostic_show_locus, rather than destroying it afterwards.
3021
7552c36a
JJ
30222019-10-01 Jakub Jelinek <jakub@redhat.com>
3023
3024 PR c++/91925
3025 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
3026 with NULL DECL_FIELD_OFFSET.
3027
8209db25
RS
30282019-10-01 Richard Sandiford <richard.sandiford@arm.com>
3029
3030 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
3031 has a type name, use it in preference to the __vector syntax.
3032
9343bf99
RS
30332019-09-30 Richard Sandiford <richard.sandiford@arm.com>
3034
3035 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
3036 two spaces between a comma and "...".
3037
59bc434a
JJ
30382019-09-27 Jakub Jelinek <jakub@redhat.com>
3039
3040 PR c++/88203
3041 * c-common.h (c_omp_predefined_variable): Declare.
3042 * c-omp.c (c_omp_predefined_variable): New function.
3043 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
3044 for predefined variables.
3045
c6447c20
RS
30462019-09-27 Richard Sandiford <richard.sandiford@arm.com>
3047
3048 * c-common.h (build_function_call_vec): Take the original
3049 function decl as an optional final parameter.
3050 (check_builtin_function_arguments): Take the original function decl.
3051 * c-common.c (check_builtin_function_arguments): Likewise.
3052 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
3053 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
3054
c4438114
JM
30552019-09-15 Jason Merrill <jason@redhat.com>
3056
3057 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
3058 fold_for_warn in "|| mask" warning.
3059
68a57628
ML
30602019-09-10 Martin Liska <mliska@suse.cz>
3061
3062 * c.opt: Use newly added WarnRemoved.
3063
f48ef52e
ML
30642019-09-09 Martin Liska <mliska@suse.cz>
3065
3066 * c.opt: Update comment of removed
3067 options that are preserved only for backward
3068 compatibility.
3069
67f6e649
ML
30702019-09-06 Martin Liska <mliska@suse.cz>
3071
3072 PR c++/91125
3073 * c-common.c: Remove definition of flag_use_repository.
3074 * c-common.h: Likewise.
3075 * c-opts.c (c_common_handle_option):
3076 Do not handle OPT_frepo option.
3077 * c.opt: Mark the option with Deprecated.
3078
db9d2274
MP
30792019-09-04 Marek Polacek <polacek@redhat.com>
3080
3081 * c.opt (fdeduce-init-list): Ignored.
3082
68e2c199
PK
30832019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3084
3085 PR c/78736
3086 * c.opt (Wenum-conversion): New option.
3087
7a4418a5
JL
30882019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3089
3090 * c-attribs.c (handle_section_attribute): Call the
3091 handle_generic_attribute target hook after performing target
3092 independent processing.
3093 (handle_noinit_attribute): Likewise.
3094
5f76ab15
ILT
30952019-09-03 Ian Lance Taylor <iant@golang.org>
3096
3097 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
3098 when using -fgo-dump-spec.
3099
ae0d3f6a
ML
31002019-09-02 Martin Liska <mliska@suse.cz>
3101
3102 PR c++/91155
3103 * c-common.c (fname_as_string): Use cxx_printable_name for
3104 __PRETTY_FUNCTION__ same as was used before r265711.
3105
8a902edb
MP
31062019-08-28 Marek Polacek <polacek@redhat.com>
3107
3108 Implement P1152R4: Deprecating some uses of volatile.
3109 PR c++/91361
3110 * c-opts.c (c_common_post_options): Enable -Wvolatile by
3111 default for C++2a, unless -Wno-deprecated.
3112 * c.opt (Wvolatile): New warning.
3113
4742dbe7
MP
31142019-08-28 Marek Polacek <polacek@redhat.com>
3115
3116 PR c++/91360 - Implement C++20 P1143R2: constinit.
3117 * c-common.c (c_common_reswords): Add constinit and __constinit.
3118 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
3119 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
3120 RID_LAST_CXX20.
3121 (D_CXX20): Define.
3122 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
3123 * c-format.c (cxx_keywords): Add "constinit".
3124 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
3125
6a074892
JJ
31262019-08-27 Jakub Jelinek <jakub@redhat.com>
3127
3128 PR c++/91415
3129 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
3130 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
3131 like COMPOUND_EXPR rather than normal expression.
3132
22f8849d
IS
31332019-08-23 Iain Sandoe <iain@sandoe.co.uk>
3134
3135 PR pch/61250
3136 * c-lex.c (c_lex_with_flags): Don't call
3137 c_common_no_more_pch () from here.
3138
df375b03
JJ
31392019-08-23 Jakub Jelinek <jakub@redhat.com>
3140
3141 PR middle-end/91283
3142 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
3143 instead of flag_excess_precision_cmdline.
3144 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
3145 * c-opts.c (c_common_post_options): Likewise.
3146
14b7950f
MS
31472019-08-22 Martin Sebor <msebor@redhat.com>
3148
3149 PR middle-end/91490
3150 * c-common.c (braced_list_to_string): Add argument and overload.
3151 Handle flexible length arrays and unions.
3152
8bb2ee59
EB
31532019-08-21 Eric Botcazou <ebotcazou@adacore.com>
3154
3155 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
3156 function declarations where arguments are missing. Rename variables.
3157
21c1e205
RB
31582019-08-15 Richard Biener <rguenther@suse.de>
3159
3160 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
3161 enabled, define __SIZETYPE__.
3162
f0033821
CL
31632019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
3164
3165 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
3166 exclusion with "section" attribute.
3167 (attr_noinit_exclusions): New table.
3168 (handle_noinit_attribute): New function.
3169
4d732405
RS
31702019-08-13 Richard Sandiford <richard.sandiford@arm.com>
3171
3172 PR middle-end/91421
3173 * c-common.c (resolve_overloaded_builtin): Use
3174 copy_decl_built_in_function.
3175
51ad8481
MS
31762019-08-13 Martin Sebor <msebor@redhat.com>
3177
3178 PR c/80619
3179 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
3180 (asm_fprintf_length_spec): Same.
3181 * c-format.h (format_lengths): Add FMT_LEN_w.
3182
77eb117f
JJ
31832019-08-10 Jakub Jelinek <jakub@redhat.com>
3184
3185 * c-pragma.h (enum pragma_omp_clause): Add
3186 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
3187
398e3feb
JJ
31882019-08-07 Jakub Jelinek <jakub@redhat.com>
3189
3190 * c-pragma.h (enum pragma_omp_clause): Add
3191 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
3192 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
3193 enumeration value.
3194
ab574db6
MP
31952019-08-05 Marek Polacek <polacek@redhat.com>
3196
3197 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
3198 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
3199 default for C++2a, unless -Wno-deprecated.
3200 * c.opt (Wcomma-subscript): New warning.
3201
554a530f
JJ
32022019-07-20 Jakub Jelinek <jakub@redhat.com>
3203
3204 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
3205 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
3206 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
3207 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
3208 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
3209 constructs with the loop construct.
3210
1a888209
JJ
32112019-07-13 Jakub Jelinek <jakub@redhat.com>
3212
3213 PR c/91149
3214 * c-omp.c (c_omp_split_clauses): Fix a pasto in
3215 OMP_CLAUSE_REDUCTION_TASK handling.
3216
1fdd6f04
JJ
32172019-07-12 Jakub Jelinek <jakub@redhat.com>
3218
3219 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
3220 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
3221
99b1c316
MS
32222019-07-09 Martin Sebor <msebor@redhat.com>
3223
3224 PR c++/61339
1fdd6f04 3225 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
3226 and others to class.
3227 * c-pretty-print.h: Same.
3228
6c1dae73
MS
32292019-07-09 Martin Sebor <msebor@redhat.com>
3230
3231 PR c++/61339
3232 * c-format.c (check_argument_type): Change class-key from class to
3233 struct and vice versa to match convention and avoid -Wclass-is-pod
3234 and -Wstruct-no-pod.
3235 * c-pretty-print.h: Same.
3236
8ba6ea87
ML
32372019-07-03 Martin Liska <mliska@suse.cz>
3238
3239 * c-common.c (try_to_locate_new_include_insertion_point): Remove
3240 dead assignemts.
3241
83eb9522
JJ
32422019-07-03 Jakub Jelinek <jakub@redhat.com>
3243
3244 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
3245 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
3246 with OMP_PARALLEL.
3247
1c6ffbab
QZ
32482019-07-02 qing zhao <qing.zhao@oracle.com>
3249
3250 PR preprocessor/90581
3251 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
3252 * c.opt: Add new option -fmax-include-depth.
3253
7ffc7de5
JM
32542019-06-26 Jason Merrill <jason@redhat.com>
3255
3256 PR c++/55442 - memory-hog with highly recursive constexpr.
3257 * c.opt (fconstexpr-loop-limit): New.
3258
361af3e4
JJ
32592019-06-25 Jakub Jelinek <jakub@redhat.com>
3260
3261 PR sanitizer/90954
3262 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
3263 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
3264
ab20d992
JJ
32652019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3266
3267 * c-common.c (c_common_nodes_and_builtins): Define
3268 alternate "__intN__" name for "__intN" types.
3269
f4af4019
JH
32702019-06-24 Jan Hubicka <jh@suse.cz>
3271
3272 * c-common.c (braced_lists_to_strings): Check that
3273 type is array or integer prior checking string flag.
3274
da9e9b57
MB
32752019-06-21 Matthew Beliveau <mbelivea@redhat.com>
3276
3277 PR c++/90875 - added -Wswitch-outside-range option
3278 * c.opt (Wswitch-outside-range): Added new option.
3279 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
3280
3f3d6a6f
MP
32812019-06-21 Marek Polacek <polacek@redhat.com>
3282
3283 PR c++/90953 - ICE with -Wmissing-format-attribute.
3284 * c-common.c (check_function_arguments_recurse): Use
3285 get_attribute_name.
3286 (check_missing_format_attribute): Likewise.
3287
1bf32c11
MP
32882019-06-19 Marek Polacek <polacek@redhat.com>
3289
3290 PR c++/60364 - noreturn after first decl not diagnosed.
3291 * c-attribs.c (handle_noreturn_attribute): No longer static.
3292 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
3293 Declare.
3294 * c-format.c (check_function_format): Use get_attribute_name.
3295
a04c0734
MS
32962019-06-19 Martin Sebor <msebor@redhat.com>
3297
3298 PR translation/90156
3299 * c-format.c (function_format_info::format_type): Adjust type.
3300 (function_format_info::is_raw): New member.
3301 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
3302 (decode_format_attr): Adjust call to decode_format_type.
3303 Avoid a redundant call to convert_format_name_to_system_name.
3304 Avoid abbreviating the word "arguments" in a diagnostic.
3305 (format_warning_substr): New function.
3306 (avoid_dollar_number): Quote dollar sign in a diagnostic.
3307 (finish_dollar_format_checking): Same.
3308 (check_format_info): Same.
3309 (struct baltoks_t): New.
3310 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
3311 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
3312 functions.
3313 (check_format_info_main): Call check_plain. Use baltoks_t. Call
3314 maybe_diag_unbalanced_tokens.
3315 (handle_format_attribute): Spell out the word "arguments" in
3316 a diagnostic.
3317
d3786ebb
MB
33182019-06-11 Matthew Beliveau <mbelivea@redhat.com>
3319
3320 PR c++/90449 - add -Winaccessible-base option.
3321 * c.opt (Winaccessible-base): New option.
3322
bf38f7e9
JJ
33232019-06-10 Jakub Jelinek <jakub@redhat.com>
3324
3325 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
3326 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
3327 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
3328 combined/composite constructs where it is not allowed. Copy over
3329 OMP_CLAUSE_REDUCTION_INSCAN.
3330
0ecf545c
MS
33312019-06-05 Martin Sebor <msebor@redhat.com>
3332
3333 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
3334 (handle_alias_ifunc_attribute): Same.
3335 (handle_copy_attribute): Same.
3336 (handle_weakref_attribute): Same.
3337 (handle_nonnull_attribute): Same.
3338 * c-warn.c (warn_for_sign_compare): Same.
3339 (warn_for_restrict): Same.
3340 * c.opt: Same.
3341
36b34127
MS
33422019-06-05 Martin Sebor <msebor@redhat.com>
3343
3344 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
3345 * c.opt (-Wformat-diag): Remove a spurious period.
3346
357a352f
JJ
33472019-05-29 Jakub Jelinek <jakub@redhat.com>
3348
3349 PR c/90628
3350 * c-common.c (check_builtin_function_arguments)
3351 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
3352 as last argument.
3353
2b8235ea
EB
33542019-05-23 Eric Botcazou <ebotcazou@adacore.com>
3355
3356 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
3357
6d86ddc4
ML
33582019-05-22 Martin Liska <mliska@suse.cz>
3359
3360 PR lto/90500
3361 * c-attribs.c (handle_copy_attribute): Do not copy
3362 target_clones attribute.
3363
419ba5b9
EB
33642019-05-21 Eric Botcazou <ebotcazou@adacore.com>
3365
3366 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
3367 * c-ada-spec.c (print_assignment_operator): New function.
3368 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
3369 assignment operators declared as methods and filter out the others.
3370
e03436e7
TS
33712019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3372
3373 PR c/89433
3374 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
3375 "omp declare target".
3376
a9c697b8
MS
33772019-05-16 Martin Sebor <msebor@redhat.com>
3378
ab20d992
JJ
3379 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
3380 keywords, operators, and types in diagnostics.
3381 (handle_scalar_storage_order_attribute): Same.
3382 (handle_mode_attribute): Same.
3383 (handle_visibility_attribute): Same.
3384 (handle_assume_aligned_attribute): Same.
3385 (handle_no_split_stack_attribute): Same.
3386 * c-common.c (shorten_compare): Same.
3387 (c_common_truthvalue_conversion): Same.
3388 (cb_get_source_date_epoch): Same.
3389 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
3390 in diagnostics.
3391 (interpret_float): Same.
3392 * c-omp.c (c_finish_omp_for): Same.
3393 * c-opts.c (c_common_post_options): Same.
3394 * c-pch.c (c_common_pch_pragma): Same.
3395 * c-pragma.c (pop_alignment): Same.
3396 (handle_pragma_pack): Same.
3397 (apply_pragma_weak): Same.
3398 (handle_pragma_weak): Same.
3399 (handle_pragma_scalar_storage_order): Same.
3400 (handle_pragma_redefine_extname): Same.
3401 (add_to_renaming_pragma_list): Same.
3402 (maybe_apply_renaming_pragma): Same.
3403 (push_visibility): Same.
3404 (handle_pragma_visibility): Same.
3405 (handle_pragma_optimize): Same.
3406 (handle_pragma_message): Same.
3407 * c-warn.c (warn_for_omitted_condop): Same.
3408 (lvalue_error): Same.
a9c697b8 3409
6b943512
RB
34102019-05-15 Richard Biener <rguenther@suse.de>
3411
3412 PR c/90474
3413 * c-common.c (c_common_mark_addressable_vec): Also mark
3414 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
3415 c_mark_addressable.
ab20d992 3416
b744fc85
NS
34172019-05-06 Nathan Sidwell <nathan@acm.org>
3418
3419 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
3420
598f50d7
NS
34212019-04-30 Nathan Sidwell <nathan@acm.org>
3422
3423 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
3424
5bcc5a3b
ML
34252019-04-30 Martin Liska <mliska@suse.cz>
3426
3427 * c-pragma.c (handle_pragma_diagnostic): Provide hints
3428 for unknown options.
3429
e78a87f7
RS
34302019-04-26 Richard Sandiford <richard.sandiford@arm.com>
3431
3432 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
3433 the pointer target rather than the pointer itself.
3434
c280b7ee
JJ
34352019-04-19 Jakub Jelinek <jakub@redhat.com>
3436
3437 PR c/89888
3438 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
3439 arguments.
3440 (c_do_switch_warnings): Remove outside_range_p argument.
3441 * c-common.c (check_case_bounds): Removed.
3442 (c_add_case_label): Remove orig_type and outside_range_p arguments.
3443 Don't call check_case_bounds. Fold low_value as well as high_value.
3444 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
3445 Check for case labels outside of range of original type here and
3446 adjust them.
3447
8e8225e6
JJ
34482019-04-12 Jakub Jelinek <jakub@redhat.com>
3449
63b8a166
JJ
3450 PR translation/90041
3451 * c.opt (-fhandle-exceptions): Use %< and %> around option names
3452 in the Warn diagnostics.
3453
8e8225e6
JJ
3454 PR c/89946
3455 * c-attribs.c (handle_patchable_function_entry_attribute): Add
3456 function comment. Warn if arguments of the attribute are not positive
3457 integer constants.
3458
53a3f614
EB
34592019-04-09 Eric Botcazou <ebotcazou@adacore.com>
3460
3461 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
3462 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
3463
22be5873
EB
34642019-04-07 Eric Botcazou <ebotcazou@adacore.com>
3465
3466 * c-ada-spec.c (is_float128): New predicate extracted from...
3467 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
3468 <REAL_TYPE>: ...here. Call it.
3469
34facf20
DM
34702019-04-05 David Malcolm <dmalcolm@redhat.com>
3471
3472 PR c/89985
3473 * c-warn.c (check_address_or_pointer_of_packed_member): Add
3474 auto_diagnostic_group. Guard inform calls by result of
3475 warning_at call.
3476
05564120
MP
34772019-04-05 Marek Polacek <polacek@redhat.com>
3478
ab20d992 3479 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
3480 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
3481 of RHS.
3482
7a506c3c
JM
34832019-04-03 Jason Merrill <jason@redhat.com>
3484
3485 PR c++/86586 - -fcompare-debug=-Wsign-compare.
3486 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
3487
ddeae8c8
MS
34882019-04-01 Martin Sebor <msebor@redhat.com>
3489
3490 PR c/89685
3491 * c-attribs.c (handle_copy_attribute): Handle references and
3492 non-constant expressions.
3493
a15ffa22
JJ
34942019-03-22 Jakub Jelinek <jakub@redhat.com>
3495
3496 PR c++/87481
3497 * c.opt (-fconstexpr-ops-limit=): New option.
3498
36a3a7a3
JJ
34992019-03-21 Jakub Jelinek <jakub@redhat.com>
3500
3501 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
3502 template param.
3503
bec1da64
MS
35042019-03-19 Martin Sebor <msebor@redhat.com>
3505
3506 PR tree-optimization/89688
3507 * c-common.c (braced_list_to_string): Make static.
3508 (braced_lists_to_strings): Define new function.
3509 * c-common.h (braced_list_to_string): Remove.
3510 (braced_lists_to_strings): Declare.
3511
1fe61adf
ML
35122019-03-12 Martin Liska <mliska@suse.cz>
3513
3514 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3515
93964ebd
ML
35162019-03-11 Martin Liska <mliska@suse.cz>
3517
3518 * c-opts.c (c_common_post_options): Wrap apostrophes
3519 in gcc internal format with %'.
3520
a3f9f006
ML
35212019-03-11 Martin Liska <mliska@suse.cz>
3522
3523 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3524 in a string format message and fix GNU coding style.
3525 * c-common.c (vector_types_convertible_p): Likewise.
3526 (c_build_vec_perm_expr): Likewise.
3527 * c-indentation.c (get_visual_column): Likewise.
3528 * c-opts.c (c_common_handle_option): Likewise.
3529 (c_common_post_options): Likewise.
3530 (sanitize_cpp_opts): Likewise.
3531 * c-pch.c (c_common_pch_pragma): Likewise.
3532 * c-pragma.c (handle_pragma_pack): Likewise.
3533
1db01ff9
JJ
35342019-03-08 Jakub Jelinek <jakub@redhat.com>
3535
3536 PR tree-optimization/89550
3537 * c-common.c (c_common_truthvalue_conversion): Only set
3538 TREE_NO_WARNING if warning_at returned true.
3539 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3540
ba790e6f
JJ
35412019-02-25 Sandra Loosemore <sandra@codesourcery.com>
3542 Martin Sebor <msebor@gmail.com>
3543
3544 * c.opt (Wmissing-attributes): Clean up doc string.
3545
7da73ba7
JJ
35462019-02-25 Jakub Jelinek <jakub@redhat.com>
3547
3548 PR c/89495
3549 * c-format.c (maybe_read_dollar_number): Compute nargnum in
3550 HOST_WIDE_INT type to avoid overflows and change overflow_flag
3551 checking.
3552
921bb9d1
RB
35532019-02-22 Richard Biener <rguenther@suse.de>
3554
3555 * c-pch.c (no_checksum): Remove.
3556 (pch_init): Remove assertion that executable_checksum is not
3557 all zero.
3558 (c_common_valid_pch): Likewise.
3559
e2ebb05c
MS
35602019-02-18 Martin Sebor <msebor@redhat.com>
3561
3562 PR middle-end/89294
3563 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3564
3fe53000
DM
35652019-02-16 David Malcolm <dmalcolm@redhat.com>
3566
3567 PR c++/88680
3568 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3569 implementing -Wtype-limits.
3570
28a8cef1
MS
35712019-02-11 Martin Sebor <msebor@redhat.com>
3572
3573 PR c++/87996
3574 * c-common.c (invalid_array_size_error): New function.
3575 (valid_array_size_p): Call it. Handle size as well as type.
3576 * c-common.h (valid_constant_size_p): New function.
3577 (enum cst_size_error): New type.
3578
ec2be203
DM
35792019-01-31 David Malcolm <dmalcolm@redhat.com>
3580
3581 PR c/89122
3582 * known-headers.cc (get_stdlib_header_for_name): Add
3583 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3584
8936f047
JJ
35852019-01-31 Jakub Jelinek <jakub@redhat.com>
3586
3587 PR libstdc++/88170
3588 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3589 a C cast in pp_c_flag_gnu_v3 mode.
3590
6a335b96
JJ
35912019-01-29 Jakub Jelinek <jakub@redhat.com>
3592
3593 PR c/86125
3594 * c-common.c (c_common_nodes_and_builtins): Build type variants for
3595 builtin_structptr_types types even for C.
3596
2a06eba5
BE
35972019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3598
3599 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3600 when rhs is of array type correctly. Fix handling of nested structures.
3601 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3602 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3603 type casts within nested compound expressions.
3604
18a23298
JJ
36052019-01-22 Jakub Jelinek <jakub@redhat.com>
3606
3607 PR middle-end/88968
3608 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3609 variable after using BIT_FIELD_REF.
3610
420183d9
L
36112019-01-18 H.J. Lu <hongjiu.lu@intel.com>
3612
3613 PR c/51628
3614 PR c/88664
3615 * c-common.h (warn_for_address_or_pointer_of_packed_member):
3616 Remove the boolean argument.
3617 * c-warn.c (check_address_of_packed_member): Renamed to ...
3618 (check_address_or_pointer_of_packed_member): This. Also
3619 warn pointer conversion.
3620 (check_and_warn_address_of_packed_member): Renamed to ...
3621 (check_and_warn_address_or_pointer_of_packed_member): This.
3622 Also warn pointer conversion.
3623 (warn_for_address_or_pointer_of_packed_member): Remove the
3624 boolean argument. Don't check pointer conversion here.
3625
99063eee
RS
36262019-01-15 Richard Sandiford <richard.sandiford@arm.com>
3627
3628 PR inline-asm/52813
3629 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3630
a30d0196
JJ
36312019-01-14 Jakub Jelinek <jakub@redhat.com>
3632
3633 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3634 and __cpp_nontype_template_parameter_auto. Add a comment that
3635 __cpp_template_auto is deprecated.
3636
2d91f79d
TH
36372019-01-14 Tom Honermann <tom@honermann.net>
3638
3639 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3640 * c-common.c (c_common_reswords): Add char8_t.
3641 (fix_string_type): Use char8_t for the type of u8 string literals.
3642 (c_common_get_alias_set): char8_t doesn't alias.
3643 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3644 C++.
3645 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3646 (keyword_begins_type_specifier): Add RID_CHAR8.
3647 * c-common.h (rid): Add RID_CHAR8.
3648 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3649 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3650 Define char8_type_node and char8_array_type_node.
3651 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3652 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3653 (c_cpp_builtins): Predefine __cpp_char8_t.
3654 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3655 CPP_UTF8STRING.
3656 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3657 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3658 targeting C++2a.
3659 * c.opt: Add the -fchar8_t command line option.
3660
23db6ced
MS
36612019-01-14 Martin Sebor <msebor@redhat.com>
3662
3663 PR target/88638
3664 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3665 and issue errors if it fails.
3666 * c-common.h (valid_format_string_type_p): Declare.
3667 * c-format.c (valid_stringptr_type_p): Rename...
3668 (valid_format_string_type_p): ...to this and make extern.
3669 (handle_format_arg_attribute): Adjust to new name.
3670 (check_format_string): Same.
3671
234c3818
L
36722019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3673
3674 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3675 Replace "may may" with "may" in warning message.
3676
d8fcab68
JJ
36772019-01-07 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR c++/85052
3680 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3681 (c_build_vec_convert): Declare.
3682 * c-common.c (c_build_vec_convert): New function.
3683
29d24852
MS
36842019-01-04 Martin Sebor <msebor@redhat.com>
3685
3686 PR c/88546
3687 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3688 Handle C++ empty throw specification and C11 _Noreturn.
3689 (has_attribute): Also handle C11 _Noreturn.
3690
9069a4c9
MS
36912019-01-04 Martin Sebor <msebor@redhat.com>
3692
3693 PR c/88363
3694 * c-attribs.c (positional_argument): Also accept enumerated types.
3695
a5544970
JJ
36962019-01-01 Jakub Jelinek <jakub@redhat.com>
3697
3698 Update copyright years.
3699
da77eace
L
37002018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3701
3702 PR c/51628
3703 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3704 * c-warn.c (check_alignment_of_packed_member): New function.
3705 (check_address_of_packed_member): Likewise.
3706 (check_and_warn_address_of_packed_member): Likewise.
3707 (warn_for_address_or_pointer_of_packed_member): Likewise.
3708 * c.opt: Add -Wno-address-of-packed-member.
3709
573767d4
DM
37102018-12-20 David Malcolm <dmalcolm@redhat.com>
3711
3712 PR c++/87504
3713 * c-warn.c (get_outermost_macro_expansion): New function.
3714 (spelled_the_same_p): Use it to unwind the macro expansions, and
3715 compare the outermost macro in each nested expansion, rather than
3716 the innermost.
3717
a14feb3c
DM
37182018-12-19 David Malcolm <dmalcolm@redhat.com>
3719
3720 PR c++/87504
3721 * c-common.h (warn_tautological_cmp): Convert 1st param from
3722 location_t to const op_location_t &.
3723 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3724 when testing for INTEGER_CST.
3725 (warn_tautological_bitwise_comparison): Convert 1st param from
3726 location_t to const op_location_t &; use it to build a
3727 binary_op_rich_location, and use this.
3728 (spelled_the_same_p): New function.
3729 (warn_tautological_cmp): Convert 1st param from location_t to
3730 const op_location_t &. Warn for macro expansions if
3731 spelled_the_same_p. Use binary_op_rich_location.
3732
dfd7fdca
DM
37332018-12-19 David Malcolm <dmalcolm@redhat.com>
3734
3735 PR c++/43064
3736 PR c++/43486
3737 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3738 (verify_tree): Handle location wrappers.
3739 (c_common_truthvalue_conversion): Strip any location wrapper.
3740 Handle CONST_DECL.
3741 (fold_offsetof): Strip any location wrapper.
3742 (complete_array_type): Likewise for initial_value.
3743 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3744 index before checking for INTEGER_CST.
3745 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3746 print parentheses around location wrappers.
3747 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3748 before checking for INTEGER_CST.
3749 (warn_tautological_bitwise_comparison): Call
3750 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3751 before checking for INTEGER_CST.
3752 (readonly_error): Strip any location wrapper.
3753 (warn_array_subscript_with_type_char): Strip location wrappers
3754 before checking for INTEGER_CST. Use the location of the index if
3755 available.
3756
5c8b3702
JM
37572018-12-06 Jason Merrill <jason@redhat.com>
3758
3759 PR c++/88136 - -Wdeprecated-copy false positives
3760 * c.opt (Wdeprecated-copy-dtor): New.
3761 (Wdeprecated-copy): Move to -Wextra.
3762
673670da
MS
37632018-11-29 Martin Sebor <msebor@redhat.com>
3764
3765 PR c/88172
3766 PR testsuite/88208
3767 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3768 alignments to values less than the target requires.
3769 (has_attribute): For attribute aligned consider both the attribute
3770 and the alignment bits.
3771 * c-common.c (c_init_attributes): Optionally issue a warning for
3772 zero alignment.
3773
04864ec8
MS
37742018-11-28 Martin Sebor <msebor@redhat.com>
3775
3776 PR c/88065
3777 PR c/87297
3778 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3779 or destination is an error.
3780
ace83db0
JJ
37812018-11-28 Jakub Jelinek <jakub@redhat.com>
3782
3783 PR c++/88215
3784 * c-ubsan.c: Include langhooks.h.
3785 (ubsan_instrument_division): Change gcc_assert that main variants
3786 of op0 and op1 types are equal to gcc_checking_assert that the
3787 main variants are compatible types.
3788
da193a27
EB
37892018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3790
3791 * c-ada-spec.c: Include stringpool.h.
3792 (has_static_fields): Return false for incomplete types.
3793 (is_tagged_type): Likewise.
3794 (has_nontrivial_methods): Likewise.
3795 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3796 (struct overloaded_name_hash): New structure.
3797 (struct overloaded_name_hasher): Likewise.
3798 (overloaded_names): New global variable.
3799 (init_overloaded_names): New static function.
3800 (overloaded_name_p): New predicate.
3801 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3802 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3803 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3804 Remove always-true condition and dump forward types.
3805 (dump_ada_specs): Delete overloaded_names.
3806
98f08eb8
MS
38072018-11-20 Martin Sebor <msebor@redhat.com>
3808
3809 * c-attribs.c (type_for_vector_size): New function.
3810 (type_valid_for_vector_size): Same.
3811 (handle_vector_size_attribute): Move code to the functions above
3812 and call them.
3813 (validate_attribute, has_attribute): New functions.
3814 * c-common.h (has_attribute): Declare.
3815 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3816 * c-common.c (c_common_resword): Same.
3817
2674fa47
JM
38182018-11-16 Jason Merrill <jason@redhat.com>
3819
3820 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3821 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3822
258b3854
JJ
38232018-11-16 Jakub Jelinek <jakub@redhat.com>
3824
3825 PR middle-end/87854
3826 * c-common.c (fix_string_type): Reject string literals larger than
3827 TYPE_MAX_VALUE (ssizetype) bytes.
3828
1d249509
MS
38292018-11-15 Martin Sebor <msebor@redhat.com>
3830
3831 PR c++/87541
3832 PR c++/87542
3833 * c-attribs.c (positional_argument): New function.
3834 (handle_alloc_size_attribute): Use it and simplify.
3835 (handle_alloc_align_attribute): Same.
3836 (handle_assume_aligned_attribute): Same.
3837 (handle_nonnull_attribute): Same.
3838 * c-common.c (check_function_arguments): Pass fntype to
3839 check_function_format.
3840 * c-common.h (check_function_format): Add an argument.
3841 (PosArgFlags, positional_argument): Declare new type and function.
3842 * c-format.c (decode_format_attr): Add arguments.
3843 (check_format_string, get_constant): Same.
3844 (convert_format_name_to_system_name): Adjust.
3845
478dd60d
DM
38462018-11-15 David Malcolm <dmalcolm@redhat.com>
3847
3848 PR other/19165
3849 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3850
8cca0163
JJ
38512018-11-14 Jakub Jelinek <jakub@redhat.com>
3852
8ee09943
JJ
3853 P1236R1 - Signed integers are two's complement
3854 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3855 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3856 with in-range second operand well defined for -std=c++2a.
3857
8cca0163
JJ
3858 PR other/88007
3859 * c-common.c (parse_optimize_options): Allocate option string from
3860 opts_obstack rather than as GC memory. Move the allocation after
3861 warning for invalid option.
3862
620e594b
DM
38632018-11-13 David Malcolm <dmalcolm@redhat.com>
3864
3865 * c-common.c (c_get_substring_location): Update for renaming of
3866 get_source_location_for_substring to get_location_within_string.
3867 * c-lex.c: Replace "source_location" with "location_t".
3868 * c-opts.c: Likewise.
3869 * c-ppoutput.c: Likewise.
3870
f9731de3
MS
38712018-11-13 Martin Sebor <msebor@redhat.com>
3872
3873 PR middle-end/81824
3874 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3875 (handle_tls_model_attribute): Improve diagnostics.
3876
e4bd6d5e
JM
38772018-11-12 Jason Merrill <jason@redhat.com>
3878
a6bb6b07
JM
3879 * c-cppbuiltin.c (c_cpp_builtins): Define
3880 __cpp_impl_destroying_delete.
3881
e4bd6d5e
JM
3882 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3883 __cpp_conditional_explicit.
3884
79a2c428
MS
38852018-11-09 Martin Sebor <msebor@redhat.com>
3886
3887 PR middle-end/81824
3888 * c-attribs.c (handle_copy_attribute): New function.
3889
4c7bd361
MS
38902018-11-09 Martin Sebor <msebor@redhat.com>
3891
3892 PR c/87795
3893 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3894
28567c40
JJ
38952018-11-08 Jakub Jelinek <jakub@redhat.com>
3896
3897 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3898 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3899 enum omp_memory_order MEMORY_ORDER.
3900 (c_finish_omp_flush): Add MO argument.
3901 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3902 (c_finish_omp_for): Add FINAL_P argument.
3903 * c-omp.c: Include memmodel.h.
3904 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3905 OMP_TASKGROUP_CLAUSES to it.
3906 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3907 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3908 instead of OMP_ATOMIC_SEQ_CST.
3909 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3910 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3911 __atomic_thread_fence call with the given value.
3912 (check_omp_for_incr_expr): Formatting fixes.
3913 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3914 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3915 is not constant expression 1 or -1. Transform NE_EXPR loops
3916 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3917 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3918 loops too.
3919 (c_omp_split_clauses): Add support for combined
3920 #pragma omp parallel master and
3921 #pragma omp {,parallel }master taskloop{, simd} constructs.
3922 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3923 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3924 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3925 (c_omp_predetermined_sharing): Don't return
3926 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3927 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3928 PRAGMA_OMP_REQUIRES.
3929 * c-pragma.h (enum pragma_kind): Likewise.
3930 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3931 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3932
204839e7
DM
39332018-11-08 David Malcolm <dmalcolm@redhat.com>
3934
3935 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3936
d8010ee4
DM
39372018-11-08 David Malcolm <dmalcolm@redhat.com>
3938
3939 * c-format.c (local_cgraph_node_ptr_node): New variable.
3940 (gcc_dump_printf_char_table): Add entry for %C.
3941 (get_pointer_to_named_type): New function, taken from the handling
3942 code for "gimple *" from...
3943 (init_dynamic_diag_info): ...here. Add handling for
3944 "cgraph_node *".
3945 * c-format.h (T_CGRAPH_NODE): New.
3946
4be5c72c
JM
39472018-10-19 Jason Merrill <jason@redhat.com>
3948
3949 * c-cppbuiltin.c (c_cpp_builtins): Add
3950 __cpp_nontype_template_parameter_class.
3951
f3f6029d
NS
39522018-10-31 Nathan Sidwell <nathan@acm.org>
3953
ab5324fb
NS
3954 * c-opts.c (c_finish_options): Force command line macro
3955 location. Refactor to avoid repeating main debug hook.
3956 (push_command_line_include): Clarify comment.
3957
f3f6029d
NS
3958 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3959
91e3ec29
MS
39602018-10-30 Martin Sebor <msebor@redhat.com>
3961
3962 PR middle-end/87041
3963 * c-format.c (check_format_types): Avoid diagnosing null pointer
3964 arguments to printf-family of functions.
3965
b5ff4f5c
MP
39662018-10-30 Marek Polacek <polacek@redhat.com>
3967
3968 Implement P0892R2, explicit(bool).
3969 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3970
7e2de6df
DM
39712018-10-29 David Malcolm <dmalcolm@redhat.com>
3972
3973 * name-hint.h (name_hint::take_deferred): New member function.
3974
b2bf438c
DM
39752018-10-29 David Malcolm <dmalcolm@redhat.com>
3976
3977 PR c++/56856
3978 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3979 argument.
3980 (check_function_restrict): Rename param "argarray" to
3981 "unfolded_argarray", and make a copy named "argarray", calling
3982 fold_for_warn on each argument.
3983 (check_function_arguments): Add note about responsibility for
3984 folding the arguments.
3985
9f936c86
JM
39862018-10-17 Joseph Myers <joseph@codesourcery.com>
3987
3988 * c-common.c (flag_isoc2x): New variable.
3989 * c-common.h (clk_c): Update comment to reference C2X.
3990 (flag_isoc99, flag_isoc11): Update comments to reference future
3991 standard versions in general.
3992 (flag_isoc2x): Declare.
3993 * c-opts.c (set_std_c2x): New function.
3994 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3995 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3996 flag_isoc2x to 0.
3997 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3998
7a8a92c4
JM
39992018-10-17 Joseph Myers <joseph@codesourcery.com>
4000
4001 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
4002 (std=iso9899:2018): Document C17 as published in 2018.
4003
4dc003ff
CL
40042018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
4005
4006 PR c++/87364
4007 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
4008
79371671
WW
40092018-10-11 Will Wray <wjwray@gmail.com>
4010
4011 PR c++/87364
4012 * c-pretty-print.h (pp_c_type_cast): Prototype.
4013 (pp_c_integer_constant): Likewise.
4014 * c-pretty-print.c (pp_c_type_cast): No longer static.
4015 (pp_c_integer_constant): Likewise.
4016 (pp_c_enumeration_constant): Fix loop termination when finding
4017 name of constant. No longer returns a value. Call
4018 pp_c_integer_constant.
4019 (c_pretty_printer::constant): Update for changes to
4020 pp_c_enumeration_constant.
4021
46c62690
JJ
40222018-10-11 Jakub Jelinek <jakub@redhat.com>
4023
4024 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
4025 for no_unique_address.
4026
c24300ba
DM
40272018-10-09 David Malcolm <dmalcolm@redhat.com>
4028
4029 * c-common.c (c_option_controlling_cpp_error): Rename to...
4030 (c_option_controlling_cpp_diagnostic): ...this, and convert
4031 "reason" from int to enum.
4032 (c_cpp_error): Rename to...
4033 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4034 * c-common.h (c_cpp_error): Rename to...
4035 (c_cpp_diagnostic): ...this, converting level and reason to enums.
4036 * c-opts.c (c_common_init_options): Update for renaming.
4037
8656dafa
RS
40382018-10-08 Richard Sandiford <richard.sandiford@arm.com>
4039
4040 PR c/87286
4041 * c-common.c (vector_types_compatible_elements_p): Use
4042 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
4043
8cff0652
VK
40442018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
4045
4046 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
4047 to generate constructor destructor priority warning.
4048 * c.opt (-Wprio-ctor-dtor): New option.
4049
bedf03a2
JM
40502018-10-01 Jason Merrill <jason@redhat.com>
4051
4052 * c-lex.c (c_common_has_attribute): Add no_unique_address.
4053
6cc430c1
EB
40542018-10-01 Eric Botcazou <ebotcazou@adacore.com>
4055
4056 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
4057 (dump_ada_node): Add const keyword.
4058
87677ac7
ML
40592018-09-25 Martin Liska <mliska@suse.cz>
4060
4061 * c-common.c (c_common_truthvalue_conversion):
4062 Remove Pascal from documentation.
4063
518196cb
EB
40642018-09-21 Eric Botcazou <ebotcazou@adacore.com>
4065
4066 * c-ada-spec.c: Include diagnostic.h.
4067 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
4068
a599af84
MP
40692018-09-19 Marek Polacek <polacek@redhat.com>
4070
4071 * c.opt (Wclass-conversion): New.
4072
9c4a4b3c
DM
40732018-09-17 David Malcolm <dmalcolm@redhat.com>
4074
4075 * c-format.c (range_label_for_format_type_mismatch::get_text):
4076 Update for new param.
4077
c896ecfe
DM
40782018-09-17 David Malcolm <dmalcolm@redhat.com>
4079
4080 * c-format.c (format_warning_at_char): Update for introduction of
4081 format_string_diagnostic_t.
4082 (format_type_warning): Likewise.
4083
80c6d1f4
MJ
40842018-09-17 Martin Jambor <mjambor@suse.cz>
4085
4086 PR c/63886
4087 * c.opt (Wabsolute-value): New.
4088
6d900107
BE
40892018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
4090
4091 * c-common.c (complete_flexible_array_elts): New helper function.
4092 * c-common.h (complete_flexible_array_elts): Declare.
4093
b5764229
BE
40942018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4095
4096 * c-common.c (braced_list_to_string): Remove eval parameter.
4097 Add some more checks. Always create zero-terminated STRING_CST.
4098 * c-common.h (braced_list_to_string): Adjust prototype.
4099
85204e23
DM
41002018-08-27 David Malcolm <dmalcolm@redhat.com>
4101
4102 PR 87091
4103 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
4104 to a tri-state.
4105 (maybe_suggest_missing_token_insertion): Likewise.
4106 (maybe_add_include_fixit): Add param "override_location". If set,
4107 and source-printing is enabled, then override the rich_location's
4108 primary location with that of the insertion point for the fix-it
4109 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
4110 * c-common.h (extern void maybe_add_include_fixit): Add bool
4111 param.
4112 * c-format.c (selftest::test_type_mismatch_range_labels): Update
4113 for conversion of show_caret_p to a tri-state.
4114 * c-warn.c (warn_for_restrict): Likewise.
4115 * known-headers.cc
4116 (suggest_missing_header::~suggest_missing_header): Update call to
4117 maybe_add_include_fixit to suggest overriding the location, as it
4118 is for a note.
4119
3d78e008
ML
41202018-08-27 Martin Liska <mliska@suse.cz>
4121
4122 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
4123 fndecl_built_in_p and remove check for FUNCTION_DECL if
4124 possible.
3d78e008
ML
4125 (check_builtin_function_arguments): Likewise.
4126 (reject_gcc_builtin): Likewise.
4127 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
4128
b5be6d0c
MP
41292018-08-26 Marek Polacek <polacek@redhat.com>
4130
4131 PR c++/87029, Implement -Wredundant-move.
4132 * c.opt (Wredundant-move): New option.
4133
79ca9c35
MP
41342018-08-21 Marek Polacek <polacek@redhat.com>
4135
4136 PR c++/86981, Implement -Wpessimizing-move.
4137 * c.opt (Wpessimizing-move): New option.
4138
097f82ec
DM
41392018-08-20 David Malcolm <dmalcolm@redhat.com>
4140
4141 PR other/84889
4142 * c-attribs.c (common_handle_aligned_attribute): Add
4143 auto_diagnostic_group instance.
4144 * c-indentation.c (warn_for_misleading_indentation): Likewise.
4145 * c-opts.c (c_common_post_options): Likewise.
4146 * c-warn.c (warn_logical_not_parentheses): Likewise.
4147 (warn_duplicated_cond_add_or_warn): Likewise.
4148 (warn_for_multistatement_macros): Likewise.
4149
3fb558b1
NS
41502018-08-20 Nathan Sidwell <nathan@acm.org>
4151
4152 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
4153 access.
4154
800c0e98
NS
41552018-08-17 Nathan Sidwell <nathan@acm.org>
4156
4157 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
4158 field.
4159 (laxy_hex_fp_value_count): Make unsigned.
4160 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
4161 manipulate the macro.
4162 (builtin_defin_with_hex_fp_value): Adjust callback name, use
4163 cpp_define_lazily.
4164
6f795a92
DM
41652018-08-17 David Malcolm <dmalcolm@redhat.com>
4166
4167 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
4168 (gcc_dump_printf_length_specs): New.
4169 (gcc_dump_printf_flag_pairs): New.
4170 (gcc_dump_printf_flag_specs): New.
4171 (gcc_dump_printf_char_table): New.
4172 (format_types_orig): Add entry for "gcc_dump_printf".
4173 (init_dynamic_diag_info): Set up length_char_specs and
4174 conversion_specs for gcc_dump_printf_format_type.
4175 (handle_format_attribute): Handle gcc_dump_printf_format_type.
4176
c5d725c0
NS
41772018-08-17 Nathan Sidwell <nathan@acm.org>
4178
10f04917
NS
4179 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
4180
c5d725c0
NS
4181 * c-ada-spec.c: Don't #include "cpp-id-data.h"
4182 * c-cppbuiltin.c: Likewise.
4183
c0c12356
ML
41842018-08-17 Martin Liska <mliska@suse.cz>
4185
4186 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
4187 Ignore/Deprecated flag. Warning is done automatically for
4188 Deprecated flags.
c0c12356 4189
10fcc142
DM
41902018-08-16 David Malcolm <dmalcolm@redhat.com>
4191
4192 PR c++/70693
4193 * c-common.c (selftest::c_family_tests): Call
4194 selftest::c_indentation_c_tests.
4195 * c-common.h (selftest::c_indentation_c_tests): New decl.
4196 * c-indentation.c: Include "selftest.h".
4197 (next_tab_stop): Add "tab_width" param, rather than accessing
4198 cpp_opts.
4199 (get_visual_column): Likewise. Clarify comment. Bulletproof
4200 against reading past the end of the line.
4201 (get_first_nws_vis_column): Add "tab_width" param.
4202 (detect_intervening_unindent): Likewise.
4203 (should_warn_for_misleading_indentation): Read tab width from
4204 cpp_opts and pass around.
4205 (selftest::test_next_tab_stop): New test.
4206 (selftest::assert_get_visual_column_succeeds): New function.
4207 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
4208 (selftest::assert_get_visual_column_fails): New function.
4209 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
4210 (selftest::test_get_visual_column): New test.
4211 (selftest::c_indentation_c_tests): New function.
4212
3f6677f4
NS
42132018-08-16 Nathan Sidwell <nathan@acm.org>
4214
4215 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
4216 (store_ada_macro): Likewise.
4217 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
4218 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
4219
96e6ae57
DM
42202018-08-15 David Malcolm <dmalcolm@redhat.com>
4221
4222 * c-format.c: Include "selftest-diagnostic.h" and
4223 "gcc-rich-location.h".
4224 (format_warning_at_char): Pass NULL for new label params of
4225 format_warning_va.
4226 (class indirection_suffix): New class.
4227 (class range_label_for_format_type_mismatch): New class.
4228 (format_type_warning): Move logic for generating "*" suffix to
4229 class indirection_suffix. Create "fmt_label" and "param_label"
4230 to show their types, and pass them to the
4231 format_warning_at_substring calls.
4232 (selftest::test_type_mismatch_range_labels): New test.
4233 (selftest::c_format_c_tests): Call it.
4234
23aa9f7c
MS
42352018-08-13 Martin Sebor <msebor@redhat.com>
4236
4237 PR tree-optimization/71625
4238 * c-common.c (braced_list_to_string): New function.
4239 * c-common.h (braced_list_to_string): Declare it.
4240
f10a9135
NS
42412018-08-08 Nathan Sidwell <nathan@acm.org>
4242
4243 * c-common.c (try_to_locate_new_include_inertion_point): Use
4244 linemap_included_from_linemap.
4245 * c-lex.c (fe_file_change): Use linemap_included_from.
4246 * c-ppoutput.c (pp_file_change): Likewise.
4247
8a45b051
MS
42482018-08-01 Martin Sebor <msebor@redhat.com>
4249
4250 PR tree-optimization/86650
ab20d992 4251 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
4252 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
4253 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
4254 * c-format.h (T89_G): Update to be "gimple *" rather than
4255 "gcall *".
4256 (local_gcall_ptr_node): Rename...
4257 (local_gimple_ptr_node): ...to this.
4258
e540ccc0
DM
42592018-07-31 David Malcolm <dmalcolm@redhat.com>
4260
4261 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
4262 table entries for gcc_diag_char_table, and the 'Z' entry from
4263 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
4264 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
4265 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
4266 adding missing "Z" for this table. Remove erroneous "G" and "K"
4267 entries.
4268 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4269 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
4270 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
4271
425fc685
RE
42722018-07-31 Richard Earnshaw <rearnsha@arm.com>
4273
4274 * c-common.c (speculation_safe_resolve_call): New function.
4275 (speculation_safe_resolve_params): New function.
4276 (speculation_safe_resolve_return): New function.
4277 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
4278 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
4279 __HAVE_SPECULATION_SAFE_VALUE.
4280
181463c2
DM
42812018-07-20 David Malcolm <dmalcolm@redhat.com>
4282
4283 * c-common.c (c_cpp_error): Remove redundant "line_table"
4284 parameter from call to rich_location::set_range.
4285 (maybe_suggest_missing_token_insertion): Likewise.
4286
0d7f9065
MS
42872018-07-20 Martin Sebor <msebor@redhat.com>
4288
4289 PR middle-end/82063
ab20d992 4290 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 4291
00abf86c
MS
42922018-07-20 Martin Sebor <msebor@redhat.com>
4293
4294 PR middle-end/82063
4295 * c-common.h (c_common_handle_option): Change function argument
4296 to HOST_WIDE_INT.
4297 * c-opts.c (c_common_init_options): Same.
4298 (c_common_handle_option): Same. Remove special handling of
4299 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
4300 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
4301 options to take a HOST_WIDE_INT argument and accept a byte-size
4302 suffix. Initialize.
4303 (-Wvla-larger-than): Same.
4304 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
4305 (-Wno-vla-larger-than): Same.
4306
9b452033
JJ
43072018-07-12 Jakub Jelinek <jakub@redhat.com>
4308
4309 * c-attribs.c (c_common_attribute_table): Add
4310 "omp declare target implicit" attribute.
4311
cd0762f3
RB
43122018-07-12 Richard Biener <rguenther@suse.de>
4313
4314 PR c/86453
4315 * c-attribs.c (handle_packed_attribute): Do not build a variant
4316 type with TYPE_PACKED, instead ignore the attribute if we may
4317 not apply to the original type.
4318
0b27c3ed
JJ
43192018-07-10 Jakub Jelinek <jakub@redhat.com>
4320
4321 PR c++/86443
4322 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
4323 to contain TREE_LIST for both the original class iterator and the
4324 "last" helper var.
4325
e730a0ef
EB
43262018-07-07 Eric Botcazou <ebotcazou@adacore.com>
4327
4328 * c-ada-spec.c (to_ada_name): Remove index parameter.
4329 (pp_ada_tree_identifier): Likewise.
4330 (dump_ada_macros): Adjust call to to_ada_name.
4331 (struct overloaded_name_hash): Delete.
4332 (struct overloaded_name_hasher): Likewise.
4333 (overloaded_names): Likewise.
4334 (compute_overloading_index): Likewise.
4335 (dump_ada_decl_name): Do not call compute_overloading_index and
4336 adjust calls to pp_ada_tree_identifier.
4337 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4338 (dump_ada_import): Add spc parameter and switch to aspect syntax.
4339 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
4340 (dump_ada_enum_type): Remove type and display_convention parameters.
4341 Adjust calls to pp_ada_tree_identifier.
4342 (dump_ada_node): Likewise and for dump_ada_structure.
4343 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
4344 and tidy up.
4345 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
4346 syntax.
4347 (print_constructor): Adjust call to pp_ada_tree_identifier.
4348 (print_destructor): Likewise.
4349 (dump_ada_declaration): Switch to aspect syntax.
4350 (dump_ada_structure): Likewise and tidy up. Replace display_convention
4351 parameter with nested parameter.
4352 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
4353 (dump_ada_specs): Do not delete overloaded_names table.
4354
8de583fc
PB
43552018-07-06 Peter Bergner <bergner@linux.ibm.com>
4356
4357 PR target/86324
e730a0ef 4358 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
4359 target hook.
4360
09cff37b
NS
43612018-07-05 Nathan Sidwell <nathan@acm.org>
4362
4363 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
4364 NO_IMPLICIT_EXTERN_C.
4365
98086b2b
ML
43662018-06-28 Martin Liska <mliska@suse.cz>
4367
4368 * cppspec.c: Include opt-suggestions.h.
4369
ab20d992
JJ
43702018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4371 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
4372 Cesar Philippidis <cesar@codesourcery.com>
4373
4374 * c-pragma.h (enum pragma_omp_clause): Add
4375 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
4376 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
4377
f41b7612
JJ
43782018-06-20 Jakub Jelinek <jakub@redhat.com>
4379
4380 PR c++/86210
4381 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
4382 comment.
4383
4252ccd7
MS
43842018-06-18 Martin Sebor <msebor@redhat.com>
4385
4386 PR middle-end/85602
4387 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
4388 nonstring.
4389
e197e64e
KV
43902018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
4391
4392 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
4393
34a7a230
JM
43942018-06-13 Jason Merrill <jason@redhat.com>
4395
5cef3733
JM
4396 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
4397 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
4398 handling.
4399
34a7a230
JM
4400 PR c++/86094 - wrong code with defaulted move ctor.
4401 * c-opts.c (c_common_post_options): Bump the current ABI version to
4402 13. Set warn_abi_version and flag_abi_compat_version to the current
4403 version rather than 0. Fix defaulting flag_abi_compat_version from
4404 warn_abi_version.
4405
bb0f14ae
MS
44062018-06-12 Martin Sebor <msebor@redhat.com>
4407
4408 PR c/85931
4409 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
4410 sizeof source and destination yields the same value.
4411
3713f2e2
ML
44122018-06-12 Martin Liska <mliska@suse.cz>
4413
4414 * c.opt: Make MPX-related options as Deprecated.
4415
4af78ef8
DM
44162018-06-08 David Malcolm <dmalcolm@redhat.com>
4417
4418 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
4419 rather than 0.
4420
31db0fe0
ML
44212018-06-08 Martin Liska <mliska@suse.cz>
4422
4423 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
4424 for MPX (macros, related functions, fields in cgraph_node, ...).
4425 (handle_bnd_legacy): Likewise.
4426 (handle_bnd_instrument): Likewise.
4427 * c.opt: Likewise.
4428
fe16acf2
JJ
44292018-06-06 Jakub Jelinek <jakub@redhat.com>
4430
4431 PR c++/86068
4432 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
4433 __cpp_transactional_memory to 201500 instead of 210500.
4434
4dbdb49b
JM
44352018-06-06 Jason Merrill <jason@redhat.com>
4436
4437 PR c++/85710 - ICE with -Wmemset-elt-size.
4438 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
4439
f8ad043f
JM
44402018-06-01 Jason Merrill <jason@redhat.com>
4441
4442 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
4443 201703.
4444
abc24d93
EB
44452018-06-01 Eric Botcazou <ebotcazou@adacore.com>
4446
4447 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
4448 declaration for a typedef independently of whether the declaration of
4449 the subtype is generated.
4450
d258f4aa
MS
44512018-05-31 Martin Sebor <msebor@redhat.com>
4452
4453 PR c/82063
4454 * c.opt (-Wno-alloc-size-larger-than): New option.
4455
b67b9225
DP
44562018-04-22 David Pagan <dave.pagan@oracle.com>
4457
4458 PR c/55976
4459 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 4460 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
4461 differentiate between default (no option), -Wreturn-type, and
4462 -Wno-return-type.
4463
04eb9c55
JM
44642018-05-29 Jason Merrill <jason@redhat.com>
4465
4466 * c.opt (Winit-list-lifetime): New flag.
4467
b0c31bc6
BE
44682018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4469
4470 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
4471 splay_tree_delete_pointers.
4472
44284983
JJ
44732018-05-26 Jakub Jelinek <jakub@redhat.com>
4474
4475 PR bootstrap/85921
4476 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
4477 noinline variable to workaround broken kernel headers.
4478
b46b715d
JM
44792018-05-18 Jason Merrill <jason@redhat.com>
4480
4481 * c.opt (Wdeprecated-copy): New flag.
4482
40659769
ML
44832018-05-17 Martin Liska <mliska@suse.cz>
4484
4485 * c-warn.c (overflow_warning): Do not use
4486 space in between 'G_' and '('.
4487
403962ea
JM
44882018-05-09 Jason Merrill <jason@redhat.com>
4489
4490 * c-common.c (valid_array_size_p): Add complain parameter.
4491 * c-common.h: ...which defaults to true.
4492
1c9ee609
JJ
44932018-05-11 Jakub Jelinek <jakub@redhat.com>
4494
4495 PR c/85696
4496 * c-omp.c (c_omp_predetermined_sharing): Return
4497 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
4498
19916065
ML
44992018-05-11 Martin Liska <mliska@suse.cz>
4500
92a285c1 4501 PR sanitizer/85556
19916065
ML
4502 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
4503 TREE_LIST values.
4504
79e7b1fe
JJ
45052018-05-10 Jakub Jelinek <jakub@redhat.com>
4506
4507 PR c++/85662
4508 * c-common.h (fold_offsetof_1): Removed.
4509 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
4510 CTX argument defaulted to ERROR_MARK.
4511 * c-common.c (fold_offsetof_1): Renamed to ...
4512 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
4513 argument, convert the pointer constant to TYPE and use size_binop
4514 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
4515 a pointer type. Adjust recursive calls.
4516
86c12f76
EB
45172018-05-10 Eric Botcazou <ebotcazou@adacore.com>
4518
4519 PR c++/85400
4520 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4521
ee336e84
NS
45222018-05-07 Nathan Sidwell <nathan@acm.org>
4523
4524 * c.opt (ffor-scope): Remove functionality, issue warning.
4525
6c072e21
NS
45262018-05-03 Nathan Sidwell <nathan@acm.org>
4527
4528 * c.opt (ffriend-injection): Remove functionality, issue warning.
4529
2cc7d3a7
DM
45302018-05-01 David Malcolm <dmalcolm@redhat.com>
4531
4532 PR c/84258
4533 * c-format.c (struct format_check_results): Add field
4534 "number_non_char".
4535 (check_format_info): Initialize it, and warn if encountered.
4536 (check_format_arg): Distinguish between wide char and
4537 everything else when detecting arrays of non-char.
4538
7761dfbe
DM
45392018-04-30 David Malcolm <dmalcolm@redhat.com>
4540
4541 * c-format.c (get_corrected_substring): Update for
4542 location_get_source_line returning a char_span. Use a char_span
4543 when handling the prefix of the correction.
4544 * c-indentation.c (get_visual_column): Update for
4545 location_get_source_line returning a char_span.
4546 (get_first_nws_vis_column): Likewise.
4547
62e98ef1
DM
45482018-03-29 David Malcolm <dmalcolm@redhat.com>
4549
4550 PR c++/84269
4551 * known-headers.cc (get_stdlib_header_for_name): Add various names
4552 from <assert.h>, <string.h>, and <memory.h>; add more names from
4553 <stdio.h>.
4554
a7dea617
JJ
45552018-03-27 Jakub Jelinek <jakub@redhat.com>
4556
4557 PR c++/85061
4558 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4559 get_base_address of the second operand is a VAR_P, rather than the
4560 operand itself, and use gcc_checking_assert instead of gcc_assert.
4561
889a3a30
MP
45622018-03-23 Marek Polacek <polacek@redhat.com>
4563
4564 PR c++/85045
4565 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4566 <case RDIV_EXPR>: Tweak condition.
4567
452154b9
EB
45682018-03-20 Eric Botcazou <ebotcazou@adacore.com>
4569
4570 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4571
63ecb626
JJ
45722018-03-16 Jakub Jelinek <jakub@redhat.com>
4573
ce811fc4
JJ
4574 PR c/84909
4575 * c-warn.c (conversion_warning): Replace "to to" with "to" in
4576 diagnostics.
4577
63ecb626
JJ
4578 PR c/84910
4579 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4580 diagnostics.
4581
a1295eec
RB
45822018-03-16 Richard Biener <rguenther@suse.de>
4583
4584 PR c/84873
4585 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
4586 unshare the possibly folded expression.
4587
919674fb
RB
45882018-03-15 Richard Biener <rguenther@suse.de>
4589
4590 PR c/84873
4591 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4592
f99309b2
MS
45932018-03-13 Martin Sebor <msebor@redhat.com>
4594
4595 PR tree-optimization/84725
4596 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4597 with all three narrow character types, including their qualified forms.
4598
e9b9fa4c
MS
45992018-03-12 Martin Sebor <msebor@redhat.com>
4600
4601 PR tree-optimization/83456
ab20d992 4602 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
4603 Restore checking of bounded built-in functions.
4604 (check_function_arguments): Also return the result
4605 of warn_for_restrict.
ab20d992
JJ
4606 * c-common.c (check_function_restrict): Return bool.
4607 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 4608
0805d020
MP
46092018-03-02 Marek Polacek <polacek@redhat.com>
4610
4611 PR c++/84171
4612 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4613 is erroneous.
4614
ed2a2f08
TS
46152018-03-02 Thomas Schwinge <thomas@codesourcery.com>
4616
4617 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4618 function".
4619
90abdde0
MP
46202018-03-01 Marek Polacek <polacek@redhat.com>
4621
4622 PR c++/84639
4623 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4624 alignment in computation.
4625
c6db43fa
EB
46262018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4627
4628 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4629 <REAL_TYPE>: Deal specifically with _Float128/__float128.
4630
9e25c7ed
EB
46312018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4632
4633 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4634 (is_char_array): Take a type instead of a declaration.
4635 (dump_ada_array_type): Likewise.
4636 (is_simple_enum): Minor tweak.
4637 (dump_ada_enum_type): New function extracted from...
4638 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
4639 <INTEGER_TYPE>: Remove unreachable code.
4640 <RECORD_TYPE>: Likewise. Minor tweaks.
4641 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4642 <ENUMERAL_TYPE>: New case.
4643 <RECORD_TYPE>: Factor out common code.
4644 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4645 Minor tweaks. Deal with enumeral types.
4646 (dump_ada_structure): Minor tweaks.
4647
09de3550
EB
46482018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4649
4650 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4651 address for incomplete structures.
4652 (dump_forward_type): Do not bail out for incomplete structures.
4653 (dump_ada_declaration): Do not special-case incomplete structures
4654 for subtypes. Dump them as null records for types.
4655
095d8d4b
EB
46562018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4657
4658 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4659 (is_char_array): Fix formatting.
4660 (dump_template_types): Likewise.
4661 (dump_generic_ada_node): Rename into...
4662 (dump_ada_node): ...this.
4663 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4664 incomplete structures and not for empty structures. Do not use it
4665 when forward declarations are needed.
4666 (dump_forward_type): New function.
4667 (dump_nested_types): Remove FORWARD parameter. Do not consider
4668 TREE_VISITED and do not generate a forward declaration. Only dump
4669 original nested types for nested declaration.
4670 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4671 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4672 <RECORD_TYPE>: Do not consider TREE_VISITED.
4673 (dump_ada_declaration): Use booleans and fix formatting throughout.
4674 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4675 Call dump_forward_type instead of dump_nested_types for a typedef.
4676 Remove superfluous check and adjust call to dump_nested_types.
4677 <POINTER_TYPE>: Call dump_forward_type and fall through.
4678 (dump_ada_struct_decl): Rename into...
4679 (dump_ada_structure): ...this. Do not special-case empty structures.
4680
d4cfd486
MS
46812018-02-27 Martin Sebor <msebor@redhat.com>
4682
4683 PR c++/83871
4684 * c.opt (-Wmissing-attributes): New option.
4685
b22dbd03
ML
46862018-02-21 Martin Liska <mliska@suse.cz>
4687
4688 * c.opt (Wcatch-value=): Add IntegerRange.
4689
883dfe2a
JM
46902018-02-15 Jason Merrill <jason@redhat.com>
4691
4692 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4693
0444aa9c
NS
46942018-02-09 Nathan Sidwell <nathan@acm.org>
4695
4696 PR c/84293
4697 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4698 arg.
4699 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4700 arg. Adjust.
4701
cea71f0a
MS
47022018-02-09 Martin Sebor <msebor@redhat.com>
4703
4704 PR lto/84212
4705 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4706 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4707 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4708 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4709 (-Wuninitialized): Same.
4710
8c8b7be5
EB
47112018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4712
4713 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4714 keyword for components.
4715
7c30b12a
PC
47162018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4717
4718 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4719
eece7fe5
JK
47202018-02-02 Julia Koval <julia.koval@intel.com>
4721
4722 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4723
7d07a93a
MP
47242018-01-29 Marek Polacek <polacek@redhat.com>
4725
4726 PR c/83966
4727 * c-format.c (check_function_format): Check current_function_decl.
4728
53723269
JJ
47292018-01-27 Jakub Jelinek <jakub@redhat.com>
4730
4731 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4732 argument.
4733 (LAZY_HEX_FP_VALUES_CNT): Define.
4734 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4735 values rather than just 12.
4736 (builtin_define_with_hex_fp_value): Likewise.
4737
7365279f
BK
47382018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4739
92a285c1
ML
4740 PR other/70268
4741 * c.opt (-fmacro-prefix-map): New option.
4742 * c-opts.c (c_common_handle_option): Handle it.
4743 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4744 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4745
bb9869d5
DM
47462018-01-17 David Malcolm <dmalcolm@redhat.com>
4747
4748 PR c++/83814
4749 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4750
68dc87c3
EB
47512018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4752
4753 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4754 Skip 'f' and 'F' characters if it is true.
4755 (store_ada_macro): Minor tweak.
4756 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4757 <CPP_WSTRING>: Likewise.
4758 <CPP_STRING>: Output '&' in the buffer if not the first string.
4759 <CPP_NUMBER>: Adjust calls to dump_number.
4760
9a004410
DM
47612018-01-10 David Malcolm <dmalcolm@redhat.com>
4762
4763 PR c++/43486
4764 * c-common.c: Include "selftest.h".
4765 (get_atomic_generic_size): Perform the test for integral type
4766 before the range test for any integer constant, fixing indentation
4767 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4768 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4769 (selftest::test_fold_for_warn): New function.
4770 (selftest::c_common_c_tests): New function.
4771 (selftest::c_family_tests): Call it, and
4772 selftest::c_pretty_print_c_tests.
4773 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4774 * c-format.c (check_format_arg): Convert VAR_P check to a
4775 fold_for_warn.
4776 * c-pretty-print.c: Include "selftest.h".
4777 (pp_c_cast_expression): Don't print casts for location wrappers.
4778 (selftest::assert_c_pretty_printer_output): New function.
4779 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4780 (selftest::test_location_wrappers): New function.
4781 (selftest::c_pretty_print_c_tests): New function.
4782 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4783
5c0caeb3
RS
47842018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4785 Alan Hayward <alan.hayward@arm.com>
4786 David Sherwood <david.sherwood@arm.com>
4787
4788 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4789
73a699ae
RS
47902018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4791 Alan Hayward <alan.hayward@arm.com>
4792 David Sherwood <david.sherwood@arm.com>
4793
4794 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4795 as polynomial.
4796
928686b1
RS
47972018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4798 Alan Hayward <alan.hayward@arm.com>
4799 David Sherwood <david.sherwood@arm.com>
4800
4801 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4802 (convert_vector_to_array_for_subscript): Handle polynomial
4803 TYPE_VECTOR_SUBPARTS.
4804 (c_common_type_for_mode): Check valid_vector_subparts_p.
4805 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4806 VECTOR_CST_NELTS.
4807
85ec4feb
JJ
48082018-01-03 Jakub Jelinek <jakub@redhat.com>
4809
4810 Update copyright years.
4811
170a8bd6 48122017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4813 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4814
4815 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4816 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4817
ab20d992 48182017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4819
4820 PR debug/83527
4821 PR debug/83419
4822 * c-semantics.c (only_debug_stmts_after_p): New.
4823 (pop_stmt_list): Clear side effects in debug-only stmt list.
4824 Check for single nondebug stmt followed by debug stmts only.
4825
c12d20d4
AO
48262017-12-21 Alexandre Oliva <aoliva@redhat.com>
4827
4828 PR debug/83419
4829 * c-semantics.c (pop_stmt_list): Propagate side effects from
4830 single nondebug stmt to container list.
4831
01512446
JJ
48322017-12-19 Jakub Jelinek <jakub@redhat.com>
4833
4834 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4835 conditions with typical order conditions.
4836
82cfbd01
MP
48372017-12-18 Marek Polacek <polacek@redhat.com>
4838
4839 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4840 not in effect.
4841
99da11ec
MS
48422017-12-17 Martin Sebor <msebor@redhat.com>
4843
4844 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4845 an error for attribute warn_if_not_aligned.
4846
cc8bea0a
MS
48472017-12-16 Martin Sebor <msebor@redhat.com>
4848
4849 PR tree-optimization/78918
4850 * c-common.c (check_function_restrict): Avoid checking built-ins.
4851 * c.opt (-Wrestrict): Include in -Wall.
4852
4849deb1
JJ
48532017-12-15 Jakub Jelinek <jakub@redhat.com>
4854
4855 * c-attribs.c (c_common_attribute_table,
4856 c_common_format_attribute_table): Swap affects_type_identity
4857 and handler fields, adjust comments.
4858
c65e18d3
BE
48592017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4860
4861 * c.opt (Wcast-function-type): New warning option.
4862 * c-lex.c (get_fileinfo): Avoid warning.
4863 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4864
2004617a
QZ
48652017-12-14 Qing Zhao <qing.zhao@oracle.com>
4866
7365279f 4867 PR middle_end/79538
2004617a
QZ
4868 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4869 Adjust the size of buf1 and buf2, add a new buf to avoid
4870 format-overflow warning.
4871
ab20d992 48722017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4873
4874 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4875 subsequent statement list.
4876
5d9ae53d
MS
48772017-12-07 Martin Sebor <msebor@redhat.com>
4878
4879 PR c/81544
4880 PR c/81566
4881 * c-attribs.c (attr_aligned_exclusions): New array.
4882 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4883 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4884 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4885 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4886 (attr_warn_unused_result_exclusions): Same.
4887 (handle_hot_attribute, handle_cold_attribute): Simplify.
4888 (handle_const_attribute): Warn on function returning void.
4889 (handle_pure_attribute): Same.
4890 (handle_aligned_attribute): Diagnose conflicting attribute
4891 specifications.
4892 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4893
c79144f8
DM
48942017-12-06 David Malcolm <dmalcolm@redhat.com>
4895
4896 PR c/83236
4897 * c-common.c (selftest::c_family_tests): Call
4898 selftest::c_spellcheck_cc_tests.
4899 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4900 * c-spellcheck.cc: Include "selftest.h".
4901 (name_reserved_for_implementation_p): New function.
4902 (should_suggest_as_macro_p): New function.
4903 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4904 should_suggest_as_macro_p and call it.
4905 (selftest::test_name_reserved_for_implementation_p): New function.
4906 (selftest::c_spellcheck_cc_tests): New function.
4907 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4908
613bc14f
DM
49092017-12-06 David Malcolm <dmalcolm@redhat.com>
4910
4911 * c-spellcheck.cc: New file, taken from macro-handling code in
4912 spellcheck-tree.c.
4913 * c-spellcheck.h: New file, taken from macro-handling code in
4914 spellcheck-tree.h.
4915
e76c7157
JJ
49162017-12-01 Jakub Jelinek <jakub@redhat.com>
4917
4918 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4919 attribute.
4920 (handle_simd_attribute): Don't check for "cilk simd function"
4921 attribute. Reindent, formatting changes.
4922
b0da4034
JK
49232017-11-30 Julia Koval <julia.koval@intel.com>
4924
4925 * c-common.h (inv_list): Remove.
4926
058f0b9e
JJ
49272017-11-28 Jakub Jelinek <jakub@redhat.com>
4928
4929 PR sanitizer/81275
4930 * c-common.c (c_switch_covers_all_cases_p_1,
4931 c_switch_covers_all_cases_p): New functions.
4932 * c-common.h (c_switch_covers_all_cases_p): Declare.
4933
5e9d6aa4 49342017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4935 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4936
4937 * array-notation-common.c: Delete.
4938 * c-cilkplus.c: Ditto.
4939 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4940 * c-common.def (ARRAY_NOTATION_REF): Remove.
4941 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4942 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4943 c_validate_cilk_plus_loop, cilkplus_an_parts,
4944 cilk_ignorable_spawn_rhs_op,
4945 cilk_recognize_spawn): Remove.
4946 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4947 * c-omp.c: Remove CILK_SIMD check.
4948 * c-pragma.c: Ditto.
4949 * c-pragma.h: Remove CILK related pragmas.
4950 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4951 ARRAY_NOTATION_REF condition.
4952 (c_pretty_printer::expression): Ditto.
4953 * c.opt (fcilkplus): Remove.
4954 * cilk.c: Delete.
4955
1af4ebf5
MG
49562017-11-21 Marc Glisse <marc.glisse@inria.fr>
4957
4958 * c-pretty-print.c (pp_c_additive_expression,
4959 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4960
d44ed508
JJ
49612017-11-21 Jakub Jelinek <jakub@redhat.com>
4962
7d2f0f9b
JJ
4963 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4964
d44ed508
JJ
4965 PR c++/83059
4966 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4967 instead of tree_to_uhwi, formatting fix.
4968
26edace6
DM
49692017-11-20 David Malcolm <dmalcolm@redhat.com>
4970
4971 PR c/81404
4972 * known-headers.cc: New file, based on material from c/c-decl.c.
4973 (suggest_missing_header): Copied as-is.
4974 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4975 heavily edited to add C++ support. Add some knowledge about
4976 <limits.h>, <stdint.h>, and <wchar.h>.
4977 * known-headers.h: Likewise.
4978
6c7a259b
DM
49792017-11-20 David Malcolm <dmalcolm@redhat.com>
4980
4981 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4982 (lookup_name_fuzzy): Likewise. Convert return type from
4983 const char * to name_hint. Add location_t param.
4984 * name-hint.h: New header.
4985
f9c59f7e
JJ
49862017-11-19 Jakub Jelinek <jakub@redhat.com>
4987
4988 PR c/66618
4989 PR c/69960
4990 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4991
1e39313a
JM
49922017-11-16 Joseph Myers <joseph@codesourcery.com>
4993
4994 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4995 expected publication date of C17.
4996 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4997
3ca0dc60
JM
49982017-11-15 Joseph Myers <joseph@codesourcery.com>
4999
5000 PR c/81156
5001 * c-common.c (c_common_reswords): Add __builtin_tgmath.
5002 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
5003
025d57f0
MS
50042017-11-10 Martin Sebor <msebor@redhat.com>
5005
5006 PR c/81117
5007 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
5008 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
5009 * c.opt (-Wstringop-truncation): New option.
5010
1b6fa695
ML
50112017-11-06 Martin Liska <mliska@suse.cz>
5012
5013 PR middle-end/82404
5014 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
5015 FE.
5016 * c.opt: Set default value of warn_return_type.
5017
64a5912c
DM
50182017-10-31 David Malcolm <dmalcolm@redhat.com>
5019
5020 * c-common.c (binary_op_error): Update for renaming of
5021 error_at_rich_loc.
5022 (c_parse_error): Likewise.
5023 * c-warn.c (warn_logical_not_parentheses): Likewise for
5024 renaming of inform_at_rich_loc.
5025 (warn_for_restrict): Likewise for renaming of
5026 warning_at_rich_loc_n.
5027
c76dc9c3
JM
50282017-10-30 Joseph Myers <joseph@codesourcery.com>
5029
5030 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
5031 * c-opts.c (set_std_c17): New function.
5032 (c_common_init_options): Use gnu17 as default C version.
5033 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
5034
ee5fd23a
MM
50352017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5036
5037 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
5038 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5039 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
5040 __FP_FAST_FMA<N>X.
5041
d1047465
MP
50422017-10-23 Marek Polacek <polacek@redhat.com>
5043
5044 PR c/82681
5045 * c-warn.c (warnings_for_convert_and_check): Fix typos.
5046
9e878cf1
EB
50472017-10-19 Eric Botcazou <ebotcazou@adacore.com>
5048
5049 * c-common.c (check_builtin_function_arguments): Also check arguments
5050 of __builtin_alloca_with_align_and_max.
5051
89b6abbb
DM
50522017-10-17 David Malcolm <dmalcolm@redhat.com>
5053
5054 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
5055 rather than NULL to format_warning_va.
5056 (check_format_types): Likewise when calling format_type_warning.
5057 Remove code to extract source_ranges and source_range * in favor
5058 of just a location_t.
5059 (format_type_warning): Convert source_range * param to a
5060 location_t.
5061
39382c09
JJ
50622017-10-13 Jakub Jelinek <jakub@redhat.com>
5063
5064 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
5065 [LR]SHIFT_EXPR.
5066
62e1c678
DM
50672017-10-12 David Malcolm <dmalcolm@redhat.com>
5068
5069 * c-common.c (enum missing_token_insertion_kind): New enum.
5070 (get_missing_token_insertion_kind): New function.
5071 (maybe_suggest_missing_token_insertion): New function.
5072 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
5073
b90c9338
NS
50742017-10-11 Nathan Sidwell <nathan@acm.org>
5075
5076 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
5077 (c_common_handle_option): Update incpath_kind names.
5078
3a266bcd
ML
50792017-10-11 Martin Liska <mliska@suse.cz>
5080
5081 PR sanitizer/82490
5082 * c-attribs.c (handle_no_sanitize_attribute): Report directly
5083 Wattributes warning.
5084
8e6cdc90
RS
50852017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
5086
5087 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
5088 operating on trees as wide_ints.
5089 * c-common.c (pointer_int_sum): Likewise.
5090 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5091 * c-warn.c (match_case_to_enum_1): Likewise.
5092 (c_do_switch_warnings): Likewise.
5093 (maybe_warn_shift_overflow): Likewise.
5094
802b38c9
JJ
50952017-10-10 Jakub Jelinek <jakub@redhat.com>
5096
5097 PR c/82437
5098 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
5099 instead of wide_int::from.
5100
4e34b338
JJ
51012017-10-06 Jakub Jelinek <jakub@redhat.com>
5102
5103 PR c/82437
5104 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5105 using to_widest use wide_int with the larger of the two precisions.
5106
4bc4b2b4
BE
51072017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5108
5109 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
5110 functions.
5111
a1488398
RS
51122017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
5113
5114 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
5115 when combining the original unconverted comparison operands.
5116
01c9fb68
JJ
51172017-09-29 Jakub Jelinek <jakub@redhat.com>
5118
5119 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
5120 attribute.
5121
6e3e8419
EB
51222017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5123
5124 * c-ada-spec.c (to_ada_name): Add index parameter.
5125 (pp_ada_tree_identifier): Likewise.
5126 (dump_ada_macros): Adjust call to to_ada_name.
5127 (struct overloaded_name_hash): New type.
5128 (struct overloaded_name_hasher): Likewise.
5129 (overloaded_names): New hash table.
5130 (compute_overloading_index): New function.
5131 (dump_ada_decl_name): Call it and pass the result to
5132 pp_ada_tree_identifier.
5133 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5134 (dump_ada_function_declaration): Likewise.
5135 (dump_generic_ada_node): Likewise.
5136 (print_constructor): Likewise.
5137 (print_destructor): Likewise.
5138 (dump_ada_specs): Delete overloaded_names table.
5139
79310774
EB
51402017-09-29 Eric Botcazou <ebotcazou@adacore.com>
5141
5142 * c-ada-spec.c (max_ada_macros): Move around.
5143 (store_ada_macro_index): Likewise.
5144 (source_file): Rename into...
5145 (macro_source_file): ...this.
5146 (count_ada_macro): Move around.
5147 (store_ada_macro): Likewise.
5148 (compare_macro): Likewise.
5149 (print_ada_macros): Merge in...
5150 (dump_ada_macros): ...this.
5151 (source_file_base): Rename into...
5152 (current_source_file): ...this.
5153 (print_comment): Move around.
5154 (dump_ada_nodes): Call dump_ada_declaration directly.
5155 (struct with): Change type of limited field to bool.
5156 (append_withs): Change type of limited_access parameter to bool.
5157 (pp_ada_tree_identifie): Likewise.
5158 (dump_ada_decl_nam): Likewise.
5159 (dump_generic_ada_node): Likewise. Do not print the return type.
5160 (to_ada_name): Change type of space_found parameter to bool.
5161 (dump_ada_function_declaration): Return void and change type of
5162 parameters to bool. Also print the return type for a function.
5163 (print_ada_methods): Rename into...
5164 (dump_ada_methods): ...this.
5165 (print_ada_declaration): Rename into ...
5166 (dump_ada_declaration): ...this. Do not print the return type.
5167 (print_ada_struct_decl): Rename into...
5168 (dump_ada_struct_decl): ...this.
5169
7d386d45
JJ
51702017-09-29 Jakub Jelinek <jakub@redhat.com>
5171
5172 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
5173 rather than DECL_INITIAL.
5174 (common_handle_aligned_attribute): Likewise.
5175
ab20d992 51762017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
5177
5178 * c.opt (gen-decls): Add RejectNegative.
5179
026a79f7
AS
51802017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
5181 Jakub Jelinek <jakub@redhat.com>
5182
5183 Add support for -std=c++2a.
5184 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
5185 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
5186 * c-opts.c (set_std_cxx2a): New.
5187 (c_common_handle_option): Set options when -std=c++2a is enabled.
5188 (c_common_post_options): Adjust comments.
5189 (set_std_cxx14, set_std_cxx17): Likewise.
5190
4a8ca690
EB
51912017-09-15 Eric Botcazou <ebotcazou@adacore.com>
5192
5193 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
5194 message for non-uniform endianness and issue a warning in C++.
5195
7b936140
JJ
51962017-09-15 Jakub Jelinek <jakub@redhat.com>
5197
5198 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
5199 (Wc++17-compat): Change from undocumented alias to option.
5200 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
5201 change C++1z to C++17 in description.
5202 (std=c++1z, std=gnu++1z): Change from option to undocumented
5203 deprecated alias.
5204 (std=c++17, std=gnu++17): Change from undocumented alias to option.
5205 Adjust description.
5206 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
5207 * c-opts.c (set_std_cxx1z): Rename to ...
5208 (set_std_cxx17): ... this.
5209 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
5210 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 5211 caller.
7b936140
JJ
5212 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
5213 comments.
5214
12263f13
L
52152017-09-12 H.J. Lu <hongjiu.lu@intel.com>
5216
5217 * c-attribs.c (common_handle_aligned_attribute): Don't warn
5218 function alignment if warn_if_not_aligned_p is true.
5219
6836632e
NS
52202017-09-12 Nathan Sidwell <nathan@acm.org>
5221
5222 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
5223 resort_sorted_fields): Move to c/c-decl.c.
5224 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
5225 (struct sorted_fields_type): Move to c/c-lang.h.
5226
019bf9ad
JW
52272017-09-09 Jonathan Wakely <jwakely@redhat.com>
5228
5229 PR c++/81852
5230 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
5231
bc7fe952
MP
52322017-09-04 Marek Polacek <polacek@redhat.com>
5233
5234 PR c/81783
5235 * c-warn.c (warn_tautological_bitwise_comparison): New function.
5236 (warn_tautological_cmp): Call it.
5237
ab20d992 52382017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
5239
5240 * c-opts.c (c_common_finish): Write dependency information even if
5241 there are errors.
5242
d2e05fcb
JJ
52432017-09-01 Jakub Jelinek <jakub@redhat.com>
5244
5245 PR c/81887
5246 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
5247 (omp_pragmas_simd): ... here.
5248 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
5249 create new clauses list containing just simd clause.
5250
18e2a8b8
RS
52512017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5252 Alan Hayward <alan.hayward@arm.com>
5253 David Sherwood <david.sherwood@arm.com>
5254
5255 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
5256 into scalar_mode_supported_p call.
5257 (handle_mode_attribute): Update call to scalar_mode_supported_p.
5258
16d22000
RS
52592017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5260 Alan Hayward <alan.hayward@arm.com>
5261 David Sherwood <david.sherwood@arm.com>
5262
5263 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
5264 for the mode iterator.
5265
b397965c
RS
52662017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5267 Alan Hayward <alan.hayward@arm.com>
5268 David Sherwood <david.sherwood@arm.com>
5269
5270 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
5271 * c-common.c (c_build_vec_perm_expr): Likewise.
5272
357b7604
RS
52732017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5274 Alan Hayward <alan.hayward@arm.com>
5275 David Sherwood <david.sherwood@arm.com>
5276
5277 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
5278
e05c94ba
RS
52792017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5280 Alan Hayward <alan.hayward@arm.com>
5281 David Sherwood <david.sherwood@arm.com>
5282
5283 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
5284 before calling targetm.addr_space.valid_pointer_mode.
5285
5c20c4af
RS
52862017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5287 Alan Hayward <alan.hayward@arm.com>
5288 David Sherwood <david.sherwood@arm.com>
5289
5290 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
5291
c94843d2 52922017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
5293 Alan Hayward <alan.hayward@arm.com>
5294 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
5295
5296 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
5297 iterators.
5298 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5299
4e10a5a7
RS
53002017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
5301 Alan Hayward <alan.hayward@arm.com>
5302 David Sherwood <david.sherwood@arm.com>
5303
5304 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
5305 case statements.
5306
130fcab0
ML
53072017-08-29 Martin Liska <mliska@suse.cz>
5308
5309 PR other/39851
5310 * c-common.c (parse_optimize_options): Add argument to function
5311 call.
5312 * c-pragma.c (handle_pragma_diagnostic): Likewise.
5313
14e18d71
DM
53142017-08-24 David Malcolm <dmalcolm@redhat.com>
5315
5316 * c-lex.c (interpret_float): Use token location
5317 when building an EXCESS_PRECISION_EXPR.
5318
2f687306
DM
53192017-08-21 David Malcolm <dmalcolm@redhat.com>
5320
5321 * c-common.c (check_function_arguments): Add "arglogs" param; pass
5322 it to check_function_format.
5323 * c-common.h (check_function_arguments): Add vec<location_t> *
5324 param.
5325 (check_function_format): Likewise.
5326 * c-format.c (struct format_check_context): Add field "arglocs".
5327 (check_function_format): Add param "arglocs"; pass it to
5328 check_format_info.
ab20d992 5329 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
5330 new field of format_ctx.
5331 (check_format_arg): Pass format_ctx->arglocs to new param of
5332 check_format_info_main.
5333 (class argument_parser): New field "arglocs".
5334 (argument_parser::argument_parser): Add "arglocs_" param and use
5335 it to initialize new field.
5336 (argument_parser::check_argument_type): Pass new arglocs field to
5337 check_format_types.
5338 (check_format_info_main): Add param "arglocs", and use it when
5339 constructing arg_parser.
5340 (check_format_types): Add param "arglocs"; use it if non-NULL when
5341 !EXPR_HAS_LOCATION (cur_param) to get at location information.
5342
00aa1fa2
L
53432017-08-18 H.J. Lu <hongjiu.lu@intel.com>
5344
5345 PR c/53037
5346 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
5347 (c_common_attribute_table): Add warn_if_not_aligned.
5348 (handle_aligned_attribute): Renamed to ...
5349 (common_handle_aligned_attribute): Remove argument, name, and add
5350 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
5351 (handle_aligned_attribute): New.
5352 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
5353
27be025d
MS
53542017-08-14 Martin Sebor <msebor@redhat.com>
5355
5356 PR c/81117
5357 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
5358 (handle_nonstring_attribute): New function.
5359
da67acb9
MS
53602017-08-14 Martin Sebor <msebor@redhat.com>
5361
5362 PR c/81117
5363 * c-format.h (T89_G): New macro.
5364 * c-format.c (local_gcall_ptr_node): New variable.
5365 (init_dynamic_diag_info): Initialize it.
5366
a8b522b4
ML
53672017-08-11 Martin Liska <mliska@suse.cz>
5368
5369 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
5370 TARGET_SUPPORTS_ALIASES.
5371
32129a17
DM
53722017-08-10 David Malcolm <dmalcolm@redhat.com>
5373
5374 * c-common.c (c_parse_error): Add rich_location * param, using it
5375 rather implicitly using input_location.
5376 * c-common.h (c_parse_error): Add rich_location * param.
5377
30af3a2b
MP
53782017-08-09 Marek Polacek <polacek@redhat.com>
5379
5380 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
5381 (c_common_truthvalue_conversion): Likewise.
5382 * c-omp.c (c_finish_omp_atomic): Likewise.
5383 * c-common.h (build_binary_op): Update declaration.
5384
314e6352
ML
53852017-08-08 Martin Liska <mliska@suse.cz>
5386
5387 * c-ada-spec.c: Include header files.
5388 * c-ubsan.c: Likewise.
5389 * c-warn.c: Likewise.
5390
56b5041c
JJ
53912017-08-07 Jakub Jelinek <jakub@redhat.com>
5392
5393 PR c/69389
5394 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
5395
db440138
EB
53962017-08-07 Eric Botcazou <ebotcazou@adacore.com>
5397
5398 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
5399 (print_ada_methods): Likewise.
5400 (print_ada_declaration): Likewise.
5401
577eec56
ML
54022017-08-07 Martin Liska <mliska@suse.cz>
5403
5404 * array-notation-common.c: Add new includes.
5405 * c-format.c( handle_format_attribute): Canonicalize a format
5406 function name.
5407 * c-lex.c (c_common_has_attribute): Canonicalize name of an
5408 attribute.
5409 * c-pretty-print.c: Add new include.
5410
b854df3c
EB
54112017-08-05 Eric Botcazou <ebotcazou@adacore.com>
5412
5413 * c-ada-spec.c (has_static_fields): Look only into variables.
5414 (print_constructor): Add TYPE parameter and use it for the name.
5415 (print_destructor): Likewise.
5416 (print_ada_declaration): Adjust to new constructor/destructor names.
5417 Adjust calls to print_constructor and print_destructor.
5418 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
5419 Look only into variables in the final loop.
5420
9f2cb25e
EB
54212017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5422
5423 * c-ada-spec.c (has_static_fields): Look only into fields.
5424 (dump_generic_ada_node): Small tweak.
5425 (dump_nested_types): Look only into fields.
5426 (print_ada_declaration): Look only into methods. Small tweak.
5427 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
5428
f4bcd9eb
EB
54292017-08-01 Eric Botcazou <ebotcazou@adacore.com>
5430
5431 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
5432 (dump_ada_function_declaration): Likewise.
5433 (dump_generic_ada_node): Likewise.
5434 (print_ada_declaration): Add support for const-qualified variables.
5435
f34ebeb2
ML
54362017-07-31 Martin Liska <mliska@suse.cz>
5437
5438 PR sanitize/81530
5439 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
5440 Guard condition with flag_sanitize_p also with current_function_decl
5441 non-null equality.
5442 (ubsan_maybe_instrument_reference_or_call): Likewise.
5443
218e5d04
UB
54442017-07-30 Uros Bizjak <ubizjak@gmail.com>
5445
5446 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
5447
942047f2
EB
54482017-07-29 Eric Botcazou <ebotcazou@adacore.com>
5449
5450 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
5451 for enumeral types.
5452 (print_ada_declaration): Add missing guard for record types.
5453
a40ff0ae
JJ
54542017-07-27 Jakub Jelinek <jakub@redhat.com>
5455
5456 PR c/45784
5457 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
5458 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
5459 new COMPOUND_EXPRs around the rhs of the comparison.
5460
06bd22f6
MP
54612017-07-27 Marek Polacek <polacek@redhat.com>
5462
5463 PR c/81417
5464 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
5465 the types.
5466
036ea399
JJ
54672017-07-27 Jakub Jelinek <jakub@redhat.com>
5468
5469 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
5470 (handle_noipa_attribute): New function.
5471
417ca011
TD
54722017-07-07 Torsten Duwe <duwe@suse.de>
5473
5474 * c-attribs.c (c_common_attribute_table): Add entry for
5475 "patchable_function_entry".
5476
5aaa8fb4
NS
54772017-07-20 Nathan Sidwell <nathan@acm.org>
5478
5479 Remove TYPE_METHODS.
5480 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
5481 dump_ada_template, print_ada_methods,
5482 print_ada_declaration): Member fns are on TYPE_FIELDS.
5483
ff22eb12
NS
54842017-07-18 Nathan Sidwell <nathan@acm.org>
5485
5486 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5487
eea77d1f
DM
54882017-07-14 David Malcolm <dmalcolm@redhat.com>
5489
5490 * c-common.c (try_to_locate_new_include_insertion_point): New
5491 function.
5492 (per_file_includes_t): New typedef.
5493 (added_includes_t): New typedef.
5494 (added_includes): New variable.
5495 (maybe_add_include_fixit): New function.
5496 * c-common.h (maybe_add_include_fixit): New decl.
5497
281ac396
MS
54982017-07-10 Martin Sebor <msebor@redhat.com>
5499
5500 PR other/81345
5501 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
5502
b6f43128
DM
55032017-07-06 David Malcolm <dmalcolm@redhat.com>
5504
5505 * c-common.c (selftest::c_family_tests): New.
5506 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
5507 (selftest::c_family_tests): New decl.
5508
efbf55b0
MP
55092017-07-04 Marek Polacek <polacek@redhat.com>
5510
5511 PR c/81231
5512 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
5513 types.
5514
6c86bd88
MP
55152017-07-04 Marek Polacek <polacek@redhat.com>
5516
5517 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5518
17a7218b
ML
55192017-06-28 Martin Liska <mliska@suse.cz>
5520
5521 PR ipa/81128
5522 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5523 to a function declaration.
5524
63010089
ML
55252017-06-28 Martin Liska <mliska@suse.cz>
5526
5527 PR driver/79659
5528 * c.opt: Add IntegerRange to various options.
5529
3e2becc4
MP
55302017-06-26 Marek Polacek <polacek@redhat.com>
5531
5532 PR c/80116
5533 * c-common.h (warn_for_multistatement_macros): Declare.
5534 * c-warn.c: Include "c-family/c-indentation.h".
5535 (warn_for_multistatement_macros): New function.
5536 * c.opt (Wmultistatement-macros): New option.
5537 * c-indentation.c (guard_tinfo_to_string): No longer static.
5538 Change the parameter type to "enum rid". Handle RID_SWITCH.
5539 * c-indentation.h (guard_tinfo_to_string): Declare.
5540
2db9b7cd
MG
55412017-06-23 Marc Glisse <marc.glisse@inria.fr>
5542
5543 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5544
c3684b7b
MS
55452017-06-15 Martin Sebor <msebor@redhat.com>
5546
5547 PR c++/80560
5548 * c.opt (-Wclass-memaccess): New option.
5549
e72c4afd
BK
55502017-06-14 Boris Kolpackov <boris@codesynthesis.com>
5551
5552 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5553
8a516588
MP
55542017-06-13 Marek Polacek <polacek@redhat.com>
5555
5556 PR objc/80949
5557 * c-warn.c (do_warn_duplicated_branches): Return if any of the
5558 branches is null.
5559
45b2222a
ML
55602017-06-13 Martin Liska <mliska@suse.cz>
5561
5562 PR sanitize/78204
5563 * c-attribs.c (add_no_sanitize_value): New function.
5564 (handle_no_sanitize_attribute): Likewise.
5565 (handle_no_sanitize_address_attribute): Use the function.
5566 (handle_no_sanitize_thread_attribute): New function.
5567 (handle_no_address_safety_analysis_attribute): Use
5568 add_no_sanitize_value.
5569 (handle_no_sanitize_undefined_attribute): Likewise.
5570 * c-common.h: Declare new functions.
5571 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5572 (ubsan_instrument_shift): Likewise.
5573 (ubsan_instrument_bounds): Likewise.
5574 (ubsan_maybe_instrument_array_ref): Likewise.
5575 (ubsan_maybe_instrument_reference_or_call): Likewise.
5576
a01f151f
JM
55772017-06-11 Jason Merrill <jason@redhat.com>
5578
5579 * c-ada-spec.c, c-pragma.c: Use id_equal.
5580
3de4ac6d
MP
55812017-06-04 Marek Polacek <polacek@redhat.com>
5582
5583 PR c/80919
5584 * c-format.c (matching_type_p): Return false if any of the types
5585 requires structural equality.
5586
2474f48f
MS
55872017-06-02 Martin Sebor <msebor@redhat.com>
5588
5589 PR c/80892
5590 * c-warn.c (conversion_warning): Use -Wconversion for integer
5591 conversion and -Wfloat-conversion for floating one.
5592
40ffd95f
BE
55932017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5594
5595 * c.opt (Wsizeof-pointer-div): New warning option.
5596
3fa4634c
VR
55972017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
5598
5599 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5600 (Wcatch-value=1): Enable by -Wall.
5601
f012c8ef
DM
56022017-05-30 David Malcolm <dmalcolm@redhat.com>
5603
5604 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5605 format_chars.
5606 * c.opt (fdiagnostics-show-template-tree): New option.
5607 (felide-type): New option.
5608
63dbcd13
VR
56092017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
5610
5611 * c.opt (Wcatch-value=): New C++ warning flag.
5612
be136b5c
NS
56132017-05-24 Nathan Sidwell <nathan@acm.org>
5614
5615 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5616 const casts to avoid warning.
5617
3cd211af
MS
56182017-05-24 Martin Sebor <msebor@redhat.com>
5619
5620 PR c/80731
5621 * c-common.h (unsafe_conversion_p): Add a function argument.
5622 * c-common.c (unsafe_conversion_p): Same.
5623 Add type names and values to diagnostics.
5624 (scalar_to_vector): Adjust.
5625 * c-warn.c (constant_expression_error): Add a function argument.
5626 Add type names and values to diagnostics.
5627 (conversion_warning): Add a function argument.
5628 Add type names and values to diagnostics.
5629 (warnings_for_convert_and_check): Same.
5630
1ff7be5a
JM
56312017-05-19 Jason Merrill <jason@redhat.com>
5632
5633 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5634 enumerators.
5635
ff502317
BE
56362017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5637
5638 * c-format.c (locus): Move out of function scope,
5639 add GTY attribute.
5640
2a8a8d7b
NS
56412017-05-19 Nathan Sidwell <nathan@acm.org>
5642
5643 * c-opts.c (class_dump_file, class_dump_flags): Delete.
5644 (c_common_parse_file): Remove class dump handling.
5645 (get_dump_info): Likewise.
5646
39aac208
RB
56472017-05-19 Richard Biener <rguenther@suse.de>
5648
5649 PR c++/80593
5650 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5651 to alias-set zero memory.
5652
6ecd2339
BE
56532017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5654
5655 * c-format.c (local_tree_type_node): Add GTY attribute.
5656
6574d78e
MP
56572017-05-18 Marek Polacek <polacek@redhat.com>
5658
5659 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5660 (c_common_fixed_point_type_for_size): Likewise.
5661 (c_common_type_for_mode): Likewise.
5662 (shorten_compare): Likewise.
5663 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5664 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5665
e3455240
MP
56662017-05-18 Marek Polacek <polacek@redhat.com>
5667
5668 * c-common.c (self_promoting_args_p): Change the return type to bool.
5669 Use false/true instead of 0/1.
5670 * c-common.h (self_promoting_args_p): Update.
5671
3fa8871b
MP
56722017-05-17 Marek Polacek <polacek@redhat.com>
5673
5674 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5675 * c-warn.c: Likewise.
5676
b42cc3ca
VV
56772017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5678
5679 Implement new C++ intrinsics __is_assignable and __is_constructible.
5680 * c-common.c (__is_assignable, __is_constructible): New.
5681 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5682
1a817418
ML
56832017-05-17 Martin Liska <mliska@suse.cz>
5684
5685 * c-common.h: Introduce dump_flags_t type and
5686 use it instead of int type.
5687 * c-gimplify.c (c_genericize): Likewise.
5688 * c-opts.c: Likewise.
5689
b2fa0a8b
MP
56902017-05-17 Marek Polacek <polacek@redhat.com>
5691
5692 * c-common.c (c_save_expr): Remove.
5693 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5694 * c-common.h (c_save_expr): Remove declaration.
5695
31c2d57d
VR
56962017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5697
5698 PR c/35441
5699 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5700 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5701 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5702 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5703 RDIV_EXPR.
5704 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5705
684f84de
MP
57062017-05-09 Marek Polacek <polacek@redhat.com>
5707
5708 PR c/80525
5709 * c-warn.c (unwrap_c_maybe_const): New.
5710 (warn_logical_operator): Call it.
5711
641da50a
NS
57122017-05-09 Nathan Sidwell <nathan@acm.org>
5713
5714 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5715 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5716
631238ac
MS
57172017-05-08 Martin Sebor <msebor@redhat.com>
5718
5719 PR translation/80280
5720 * c-format.h (struct format_flag_spec): Add new member.
5721 (T89_T): New macro.
5722 * c-format.c (local_tree_type_node): New global.
5723 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5724 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5725 (strfmon_flag_specs): Likewise.
5726 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5727 with distinct quoting properties.
5728 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5729 (flag_chars_t::validate): Add argument and handle bad quoting.
5730 (check_format_info_main): Handle quoting problems.
5731 (init_dynamic_diag_info): Simplify.
5732
49f0c04c
JM
57332017-05-08 Jason Merrill <jason@redhat.com>
5734
5735 * c-opts.c (c_common_post_options): Update defaults for
5736 flag_abi_version and flag_abi_compat_version.
5737
56d35585
DM
57382017-05-05 David Malcolm <dmalcolm@redhat.com>
5739
5740 * c-common.c (c_cpp_error): Replace report_diagnostic
5741 with diagnostic_report_diagnostic.
5742
0f2c4a8f
MS
57432017-05-04 Martin Sebor <msebor@redhat.com>
5744
5745 PR translation/80280
5746 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5747 (handle_weakref_attribute): Same.
5748
6fe63fb4
NS
57492017-05-03 Nathan Sidwell <nathan@acm.org>
5750
5751 Canonicalize canonical type hashing
5752 * c-common.c (complete_array_type): Use type_hash_canon.
5753
815d9cc6
XR
57542017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5755
92a285c1 5756 PR c++/80038
815d9cc6
XR
5757 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5758 prototype.
5759 (cilk_install_body_pedigree_operations): Likewise.
5760 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5761 detatched.
5762 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5763 (cilk_install_body_pedigree_operations): Likewise.
5764 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5765 unwrapping.
5766
f8a36447
JJ
57672017-04-27 Jakub Jelinek <jakub@redhat.com>
5768
5769 PR c++/80534
5770 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5771 flag on non-aggregate element types.
5772
7c145456
BE
57732017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5774
5775 * c-common.c (c_type_hasher, type_hash_table): Remove.
5776 (c_common_get_alias_set): Remove unreachable code.
5777 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5778
c3cbcd45
VR
57792017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5780
5781 * c.opt (Wextra-semi): New C++ warning flag.
5782
8a59d466
JJ
57832017-04-20 Jakub Jelinek <jakub@redhat.com>
5784
5785 PR middle-end/80423
5786 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5787
8487c9a5
JJ
57882017-04-18 Jakub Jelinek <jakub@redhat.com>
5789
5790 PR middle-end/79788
5791 PR middle-end/80375
5792 * c-common.c (c_common_type_for_mode): Don't handle
5793 widest_*_literal_type_node here.
5794 c_common_signed_or_unsigned_type): Likewise.
5795 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5796 to *intTI_type_node or *intDI_type_node depending on whether
5797 TImode is supported by the target or not.
5798
3ee0fb02
ML
57992017-04-10 Martin Liska <mliska@suse.cz>
5800
5801 PR sanitizer/80350
5802 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5803 doing an UBSAN check.
5804
5764ee3c
JW
58052017-04-03 Jonathan Wakely <jwakely@redhat.com>
5806
5807 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5808
6f3af356
JJ
58092017-03-31 Jakub Jelinek <jakub@redhat.com>
5810
5811 PR c++/79572
5812 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5813 tree *.
5814 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5815 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5816 REFERENCE_TYPE.
5817
f6a7a9d5
DM
58182017-03-31 David Malcolm <dmalcolm@redhat.com>
5819
5820 PR documentation/78732
5821 * c.opt (Wendif-labels): Fix description to refer to
5822 #else rather than #elif.
5823
af88f557
JJ
58242017-03-31 Jakub Jelinek <jakub@redhat.com>
5825
5826 PR libstdc++/80251
5827 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5828 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5829
a9e4a1a5
JJ
58302017-03-27 Jakub Jelinek <jakub@redhat.com>
5831
5832 PR middle-end/80162
5833 * c-common.c (c_common_mark_addressable_vec): Don't set
5834 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5835
3f01b620
MS
58362017-03-21 Martin Sebor <msebor@redhat.com>
5837
5838 PR c++/79548
5839 * c-common.c (set_underlying_type): Mark type used only when
5840 original del is declared unused.
5841
2f6f187a
DM
58422017-03-10 David Malcolm <dmalcolm@redhat.com>
5843
5844 PR translation/79848
5845 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5846 "%qs".
5847
a02fa805
DM
58482017-03-10 David Malcolm <dmalcolm@redhat.com>
5849
5850 PR c/79921
5851 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5852 from inform's message, so that xgettext can locate it.
5853
822a132c
MP
58542017-03-09 Marek Polacek <polacek@redhat.com>
5855
5856 PR c++/79962
5857 PR c++/79984
5858 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5859 conversion to the attribute list.
5860
bba81f1c
ML
58612017-03-09 Martin Liska <mliska@suse.cz>
5862
5863 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5864
108154ff
JM
58652017-03-03 Jason Merrill <jason@redhat.com>
5866
5867 * c.opt (Wnoexcept-type): New.
5868
eb0e7c34
RB
58692017-03-02 Richard Biener <rguenther@suse.de>
5870
5871 PR c/79756
5872 * c-common.c (c_common_mark_addressable_vec): Look through
5873 C_MAYBE_CONST_EXPR.
5874
9453ba0a
ML
58752017-02-28 Martin Liska <mliska@suse.cz>
5876
5877 * c.opt: Replace space with tabular for options of <number>
5878 type.
5879
6a825afe
ML
58802017-02-28 Martin Liska <mliska@suse.cz>
5881
5882 * c.opt: Fix --help=option -Q for options which are of
5883 an enum type.
5884
4227c9ad
JJ
58852017-02-24 Jakub Jelinek <jakub@redhat.com>
5886
5887 PR c++/79588
5888 * c-common.c (check_function_restrict): New function.
5889 (check_function_arguments): Add FNDECL argument. Call
5890 check_function_restrict if -Wrestrict.
5891 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5892 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5893 * c-common.h (check_function_arguments): Add FNDECL argument.
5894 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5895
59909673
EB
58962017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5897
5898 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5899 treatment of parameters with pointer-to-tagged type and tidy up.
5900 (print_ada_methods): Remove the special treatment of C++ static member
5901 functions.
5902
54dcd526
ML
59032017-02-22 Martin Liska <mliska@suse.cz>
5904
5905 * c.opt: Replace inequality signs with square brackets
5906 for -Wnornalized.
5907
00bc9de3
JJ
59082017-02-21 Jakub Jelinek <jakub@redhat.com>
5909
5910 PR c++/79641
5911 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5912 preserve quals.
5913
97fcf744
JM
59142017-02-17 Joseph Myers <joseph@codesourcery.com>
5915
5916 * c-cppbuiltin.c (builtin_define_float_constants): Define
5917 __DECIMAL_DIG__ to the value for long double.
5918
c7545f1c
MP
59192017-02-15 Marek Polacek <polacek@redhat.com>
5920
5921 PR c/79515
5922 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5923 conversion has occured.
5924
c2e84327
DM
59252017-01-24 David Malcolm <dmalcolm@redhat.com>
5926
5927 * c-common.c (c_common_reswords): Add "__RTL".
5928 * c-common.h (enum rid): Add RID_RTL.
5929
2ebd93e1
MP
59302017-01-20 Marek Polacek <polacek@redhat.com>
5931
5932 PR c/64279
5933 * c-common.h (do_warn_duplicated_branches_r): Declare.
5934 * c-gimplify.c (c_genericize): Walk the function tree calling
5935 do_warn_duplicated_branches_r.
5936 * c-warn.c (expr_from_macro_expansion_r): New.
5937 (do_warn_duplicated_branches): New.
5938 (do_warn_duplicated_branches_r): New.
5939 * c.opt (Wduplicated-branches): New option.
5940
0d80ab91
DM
59412017-01-17 David Malcolm <dmalcolm@redhat.com>
5942
5943 PR c++/71497
5944 * c-indentation.c (warn_for_misleading_indentation): Use the past
5945 subjunctive in the note.
5946
7f991c36
AH
59472017-01-17 Aldy Hernandez <aldyh@redhat.com>
5948
5949 PR c/79116
5950 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5951 start type to integer_type.
5952
1c70261c
JJ
59532017-01-16 Jakub Jelinek <jakub@redhat.com>
5954
5955 PR driver/49726
5956 * c.opt (gen-decls): Add Driver flag.
5957
1ddca3f3
PC
59582017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5959
5960 Revert:
5961 2017-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
7d2f3f1d
PC
59662017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5967
5968 PR c++/71737
5969 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5970
bce6f760
MS
59712017-01-12 Martin Sebor <msebor@redhat.com>
5972
5973 (-Wformat-overflow): ...to this.
5974
bf5fbf46
MS
59752017-01-11 Martin Sebor <msebor@redhat.com>
5976
5977 PR c/78768
5978 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5979 Also enable for LTO.
5980
e363df3f
JM
59812017-01-10 Jason Merrill <jason@redhat.com>
5982
5983 Implement P0195R2, C++17 variadic using.
5984 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5985
bd2c6270
JJ
59862017-01-09 Jakub Jelinek <jakub@redhat.com>
5987
5988 PR translation/79019
5989 PR translation/79020
5990 * c.opt (Wnormalized=): Fix typo in description.
5991
efcc8d38
MS
59922017-01-08 Martin Sebor <msebor@redhat.com>
5993
5994 PR middle-end/77708
5995 * c.opt (-Wformat-truncation): New option.
5996
ab20d992 59972017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5998
5999 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
6000 value to unsigned short to fit in 4 hex digits without
6001 warnings.
6002
4e89adf9
EB
60032017-01-05 Eric Botcazou <ebotcazou@adacore.com>
6004
6005 * c.opt (fsso-struct): Add 'native' value.
6006
cd445b54
ML
60072017-01-05 Martin Liska <mliska@suse.cz>
6008
6009 PR pch/78970
6010 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
6011 header.
6012
a9342885
MP
60132017-01-04 Marek Polacek <polacek@redhat.com>
6014
6015 PR c++/64767
6016 * c.opt (Wpointer-compare): New option.
6017
fc73e60c
JJ
60182017-01-04 Jakub Jelinek <jakub@redhat.com>
6019
6020 PR driver/78957
6021 * c.opt (fsso-struct=): Add RejectNegative.
6022
cbe34bb5
JJ
60232017-01-01 Jakub Jelinek <jakub@redhat.com>
6024
6025 Update copyright years.
6026
d4a6c0ea
ML
60272016-12-29 Martin Liska <mliska@suse.cz>
6028
6029 PR c/78933
6030 * c.opt (strong-eval-order): Add RejectNegative keyword.
6031
67a5ad7c
JM
60322016-12-22 Jason Merrill <jason@redhat.com>
6033
6034 Implement P0522R0, matching of template template arguments.
6035 * c-cppbuiltin.c (c_cpp_builtins): Define
6036 __cpp_template_template_args.
6037
0dba7960
JJ
60382016-12-21 Jakub Jelinek <jakub@redhat.com>
6039
6040 PR bootstrap/78817
6041 * c-common.c (struct nonnull_arg_ctx): New type.
6042 (check_function_nonnull): Return bool instead of void. Use
6043 nonnull_arg_ctx as context rather than just location_t.
6044 (check_nonnull_arg): Adjust for the new context type, set
6045 warned_p to true if a warning has been diagnosed.
6046 (check_function_arguments): Return bool instead of void.
6047 * c-common.h (check_function_arguments): Adjust prototype.
6048
31bfc9b9
JM
60492016-12-21 Jason Merrill <jason@redhat.com>
6050
6051 * c.opt (-fnew-ttp-matching): New flag.
6052 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
6053
629b3d75
MJ
60542016-12-14 Martin Jambor <mjambor@suse.cz>
6055
6056 * c-omp.c: Include omp-general.h instead of omp-low.h.
6057 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
6058 name.
6059
474da67e
MS
60602016-12-14 Martin Sebor <msebor@redhat.com>
6061
6062 PR c/17308
6063 * c-common.c (check_nonnull_arg): Disable when optimization
6064 is enabled.
6065
fe366b87
MP
60662016-12-12 Marek Polacek <polacek@redhat.com>
6067
6068 PR c++/78647
6069 * c-common.c (attribute_fallthrough_p): Return false for
6070 error_mark_node.
6071
8bd9f164
MS
60722016-12-08 Martin Sebor <msebor@redhat.com>
6073
6074 PR c/78284
6075 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
6076
060162e0
MS
60772016-12-08 Martin Sebor <msebor@redhat.com>
6078
6079 PR c/78165
92a285c1
ML
6080 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
6081 suffix.
060162e0 6082
ee92e7ba
MS
60832016-12-07 Martin Sebor <msebor@redhat.com>
6084
6085 PR c/53562
6086 PR middle-end/77784
6087 PR middle-end/78149
6088 PR middle-end/78138
6089 * c.opt (-Wstringop-overflow): New option.
6090
84b0769e
MO
60912016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
6092
6093 * c-attribs.c (asan odr indicator): New attribute.
6094 (handle_asan_odr_indicator_attribute): New function.
6095
7fa6a965
PK
60962016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6097
6098 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
6099 ptrdiff_type_node;
6100
56d8ffc1
JG
61012016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6102
6103 * c-common.c (excess_precision_mode_join): New.
6104 (c_ts18661_flt_eval_method): New.
6105 (c_c11_flt_eval_method): Likewise.
6106 (c_flt_eval_method): Likewise.
6107 * c-common.h (excess_precision_mode_join): New.
6108 (c_flt_eval_method): Likewise.
6109 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
6110 (cpp_iec_559_value): Call it.
6111 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
6112 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
6113 __FLT_EVAL_METHOD_TS_18661_3__.
6114
04f0fcf7
JG
61152016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
6116
6117 * c-opts.c (c_common_post_options): Add logic to handle the default
6118 case for -fpermitted-flt-eval-methods.
6119
fb2675cb
PB
61202016-11-23 Paolo Bonzini <bonzini@gnu.org>
6121
6122 * c.opt (Wexpansion-to-defined): New.
6123
ec1c5694
JJ
61242016-11-23 Jakub Jelinek <jakub@redhat.com>
6125
6126 PR target/78451
6127 * c-pragma.c (handle_pragma_target): Don't replace
6128 current_target_pragma, but chainon the new args to the current one.
6129
730c9e75
NS
61302016-11-22 Nathan Sidwell <nathan@acm.org>
6131
6132 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 6133 indentation and formatting.
730c9e75 6134
89990732
MS
61352016-11-21 Martin Sebor <msebor@redhat.com>
6136
6137 * c.opt (-fprintf-return-value): Enable by default.
6138
48330c93
BE
61392016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6140
6141 PR c++/71973
6142 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
6143 * c-common.c (c_common_nodes_and_builtins): Initialize
6144 const_tm_ptr_type_node.
6145
0d939c95
MP
61462016-11-16 Marek Polacek <polacek@redhat.com>
6147
6148 PR c/78285
6149 * c-common.c (c_add_case_label): Turn error_at calls into inform.
6150
8e745a17
JJ
61512016-11-14 Jakub Jelinek <jakub@redhat.com>
6152
6153 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
6154
1ee62b92 61552016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
6156 Richard Biener <rguenther@suse.de>
6157
6158 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
6159 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
6160 * c.opt (fgimple): New option.
1ee62b92 6161
22b15758
UB
61622016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6163
6164 PR c/35503
6165 * c-common.h (warn_for_restrict): Declare.
6166 * c-warn.c: Include gcc-rich-location.h.
6167 (warn_for_restrict): New function.
6168 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
6169 (gcc_cdiag_char_table): Likewise.
6170 (gcc_cxxdiag_char_table): Likewise.
6171 * c.opt (Wrestrict): New option.
6172
4be719cd
EB
61732016-11-13 Eric Botcazou <ebotcazou@adacore.com>
6174
6175 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
6176 for nested types only if the type is a record or union and dump SLOC.
6177
4a826ca6
JM
61782016-11-09 Jason Merrill <jason@redhat.com>
6179
6180 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
6181
2e955d50
JJ
61822016-11-09 Jakub Jelinek <jakub@redhat.com>
6183
6184 * c-ubsan.c (ubsan_instrument_shift): Handle split
6185 -fsanitize=shift-base and -fsanitize=shift-exponent.
6186
51dc6603
JM
61872016-11-07 Jason Merrill <jason@redhat.com>
6188
6189 * c.opt (Wc++1z-compat): New.
6190 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
6191
6dc4a604
ML
61922016-11-07 Martin Liska <mliska@suse.cz>
6193
6194 * c-warn.c (warn_for_unused_label): Save all labels used
6195 in goto or in &label.
6196
b302001e
JM
61972016-11-03 Jason Merrill <jason@redhat.com>
6198
6199 * c-cppbuiltin.c (c_cpp_builtins): Correct
6200 __cpp_inheriting_constructors.
6201
31f7f784
JM
62022016-11-01 Jason Merrill <jason@redhat.com>
6203
2bc78e3c
JM
6204 * c-cppbuiltin.c (c_cpp_builtins): Update
6205 __cpp_inheriting_constructors.
6206
31f7f784
JM
6207 * c.opt (-fnew-inheriting-ctors): New.
6208 * c-opts.c: Default to on for ABI 11+.
6209
dcb466ec
JJ
62102016-10-31 Jakub Jelinek <jakub@redhat.com>
6211
6212 PR c++/77948
6213 * c.opt (fext-numeric-literals): Add Var and Init.
6214 * c-opts.c (c_common_handle_option): Don't clear
6215 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
6216 (c_common_post_options): Clear it here if not set
6217 explicitly.
6218
52e1b91e
AH
62192016-10-28 Aldy Hernandez <aldyh@redhat.com>
6220
6221 PR debug/77773
6222 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
6223 if NULL.
6224
e16f1cc7
JJ
62252016-10-25 Jakub Jelinek <jakub@redhat.com>
6226
6227 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
6228 * c-common.c (c_common_reswords): Add __builtin_launder.
6229
f8348061
BE
62302016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
6231
6232 * c-common.c (c_common_truthvalue_conversion): Warn for
6233 multiplications in boolean context. Fix the quoting of '<<' and '<'
6234 in the shift warning.
6235
eff89e01
BE
62362016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
6237
6238 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
6239
24bc7bf4
JM
62402016-10-20 Jason Merrill <jason@redhat.com>
6241
6242 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
6243
4c712374
BE
62442016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6245
6246 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
6247 integer shift ops in boolean context.
6248
62492016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
6250
6251 * c.opt (Walloca): New.
6252 (Walloca-larger-than=): New.
6253 (Wvla-larger-than=): New.
6254
8fa18c06
MP
62552016-10-17 Marek Polacek <polacek@redhat.com>
6256
6257 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
6258 Return immediately when finding a match.
6259 (warn_tautological_cmp): Remove a boolean variable that is no longer
6260 needed.
6261
b12b1915
MP
62622016-10-17 Marek Polacek <polacek@redhat.com>
6263
6264 * c-attribs.c: New file.
6265 * c-common.c: Move attributes handling to c-attribs.c.
6266 (get_nonnull_operand): No longer static.
6267 * c-common.h: Move the declarations from c-attribs.c to its own section.
6268
2045acd9
JM
62692016-10-14 Jason Merrill <jason@redhat.com>
6270
6271 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
6272 and __cpp_deduction_guides.
6273
14a2c9aa
JM
62742016-10-13 Jason Merrill <jason@redhat.com>
6275
6276 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
6277
4d0cdd0c
TP
62782016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6279
6280 * c-cppbuiltin.c: Include memmodel.h.
6281 * c-opts.c: Likewise.
6282 * c-pragma.c: Likewise.
6283 * c-warn.c: Likewise.
6284
70f6d5e1
JJ
62852016-10-12 Jakub Jelinek <jakub@redhat.com>
6286
6287 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
6288 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
6289 * c-opts.c (sanitize_cpp_opts): Initialize
6290 cpp_opts->cpp_warn_implicit_fallthrough.
6291
78f61294
MP
62922016-10-11 Marek Polacek <polacek@redhat.com>
6293
6294 * c-common.c (warning_candidate_p): Change the return type to bool
6295 and return true/false instead of 1/0.
6296 (vector_mode_valid_p): Likewise.
6297
038b5cc0
MP
62982016-10-11 Marek Polacek <polacek@redhat.com>
6299
6300 * c-common.c (fold_for_warn): No longer static.
6301 (bool_promoted_to_int_p): Likewise.
6302 (c_common_get_narrower): Likewise.
6303 (constant_expression_warning): Move to c-warn.c.
6304 (constant_expression_error): Likewise.
6305 (overflow_warning): Likewise.
6306 (warn_logical_operator): Likewise.
6307 (find_array_ref_with_const_idx_r): Likewise.
6308 (warn_tautological_cmp): Likewise.
6309 (expr_has_boolean_operands_p): Likewise.
6310 (warn_logical_not_parentheses): Likewise.
6311 (warn_if_unused_value): Likewise.
6312 (strict_aliasing_warning): Likewise.
6313 (sizeof_pointer_memaccess_warning): Likewise.
6314 (check_main_parameter_types): Likewise.
6315 (conversion_warning): Likewise.
6316 (warnings_for_convert_and_check): Likewise.
6317 (match_case_to_enum_1): Likewise.
6318 (match_case_to_enum): Likewise.
6319 (c_do_switch_warnings): Likewise.
6320 (warn_for_omitted_condop): Likewise.
6321 (readonly_error): Likewise.
6322 (lvalue_error): Likewise.
6323 (invalid_indirection_error): Likewise.
6324 (warn_array_subscript_with_type_char): Likewise.
6325 (warn_about_parentheses): Likewise.
6326 (warn_for_unused_label): Likewise.
6327 (warn_for_div_by_zero): Likewise.
6328 (warn_for_memset): Likewise.
6329 (warn_for_sign_compare): Likewise.
6330 (do_warn_double_promotion): Likewise.
6331 (do_warn_unused_parameter): Likewise.
6332 (record_locally_defined_typedef): Likewise.
6333 (maybe_record_typedef_use): Likewise.
6334 (maybe_warn_unused_local_typedefs): Likewise.
6335 (maybe_warn_bool_compare): Likewise.
6336 (maybe_warn_shift_overflow): Likewise.
6337 (warn_duplicated_cond_add_or_warn): Likewise.
6338 (diagnose_mismatched_attributes): Likewise.
6339 * c-common.h: Move the declarations from c-warn.c to its own section.
6340 * c-warn.c: New file.
6341
627be19f
JM
63422016-10-08 Jason Merrill <jason@redhat.com>
6343
6344 * c-common.c (c_common_truthvalue_conversion): Don't distribute
6345 into COND_EXPR in C++.
6346
7bad794a
JJ
63472016-10-08 Jakub Jelinek <jakub@redhat.com>
6348
6349 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
6350 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
6351 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
6352
be845b04
JJ
63532016-10-07 Jakub Jelinek <jakub@redhat.com>
6354
6355 Implement LWG2296 helper intrinsic
6356 * c-common.h (enum rid): Add RID_ADDRESSOF.
6357 * c-common.c (c_common_reswords): Add __builtin_addressof.
6358
c09c4992
BE
63592016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
6360
6361 PR c++/77700
6362 * c-common.c (c_common_truthvalue_conversion): Warn also for
6363 suspicious enum values in boolean context.
6364
342cfb3e
JJ
63652016-10-06 Jakub Jelinek <jakub@redhat.com>
6366
6367 Implement P0258R2 - helper for C++17
6368 std::has_unique_object_representations trait
6369 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
6370 * c-common.c (c_common_reswords): Add
6371 __has_unique_object_representations.
6372
2e69f143
JJ
63732016-10-05 Jakub Jelinek <jakub@redhat.com>
6374
6375 PR sanitizer/66343
6376 * c-ubsan.c (ubsan_instrument_return): Don't call
6377 initialize_sanitizer_builtins here.
6378
700fff34
BE
63792016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6380
6381 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
6382 conditional expression in boolean context when only one arm is
6383 non-boolean.
6384
9563bfcd
JJ
63852016-10-05 Jakub Jelinek <jakub@redhat.com>
6386
04a32443
JJ
6387 PR sanitizer/77823
6388 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
6389 is not integral.
6390
9563bfcd
JJ
6391 * c-common.c (c_common_reswords): Update comment for C++11.
6392
f1644724
JM
63932016-10-04 Jason Merrill <jason@redhat.com>
6394
6395 * c-common.c (make_tree_vector_from_ctor): New.
6396 * c-common.h: Declare it.
6397
5a79befb
JJ
63982016-10-04 Jakub Jelinek <jakub@redhat.com>
6399
6400 * c-cppbuiltin.c (c_cpp_builtins): Don't define
6401 __LIBGCC_JCR_SECTION_NAME__.
6402
1633d3b9
BE
64032016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
6404
6405 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
6406 left shift in boolean context.
6407
a2c6e7f2
JJ
64082016-09-29 Jakub Jelinek <jakub@redhat.com>
6409
6410 Implement P0001R1 - C++17 removal of register storage class specifier
6411 * c.opt (Wregister): New warning.
6412 * c-opts.c (c_common_post_options): Enable -Wregister by
6413 default for C++17.
6414
75304c87
JG
64152016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
6416
6417 * c-opts.c (c_common_post_options): Remove special case for
6418 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
6419 in C++.
6420
bbfac6da
JJ
64212016-09-27 Jakub Jelinek <jakub@redhat.com>
6422
6e39060a
JJ
6423 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
6424 -std=c++1z.
6425
bbfac6da
JJ
6426 * c-ada-spec.c (print_ada_declaration): Remove break after return.
6427
e73cf9a2
TP
64282016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
6429
6430 * c-common.c: Include memmodel.h.
6431
c6147dc4
MP
64322016-09-26 Marek Polacek <polacek@redhat.com>
6433
6434 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
6435
81fea426
MP
64362016-09-26 Marek Polacek <polacek@redhat.com>
6437
6438 PR c/7652
6439 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
6440 (handle_fallthrough_attribute): New function.
6441 (attribute_fallthrough_p): New function.
6442 * c-common.h (attribute_fallthrough_p): Declare.
6443
9a2300e9
MP
64442016-09-24 Marek Polacek <polacek@redhat.com>
6445
6446 PR c/77490
6447 * c.opt (Wbool-operation): New.
6448
a09e9e35
BE
64492016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6450
6451 * c-common.c (c_common_truthvalue_conversion): Inhibit
6452 Wint-in-bool-context warning with from_macro_definition_at.
6453 Mention the expression will always evaluate to true.
6454
d43b4ccc
MS
64552016-09-21 Martin Sebor <msebor@redhat.com>
6456
6457 PR bootstrap/77676
6458 * c.opt (fprintf-return-value): Temporarily initialize to zero
6459 to unblock bootstrap failures.
6460
2e1c20b1
JJ
64612016-09-21 Jakub Jelinek <jakub@redhat.com>
6462
6463 PR c++/77651
6464 * c.opt (Waligned-new=): Add RejectNegative.
6465 (faligned-new=): Likewise. Spelling fix - change
6466 aligned_new_threshhold to aligned_new_threshold.
6467 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
6468 to aligned_new_threshold.
6469
88d0c3f0
MS
64702016-09-20 Martin Sebor <msebor@redhat.com>
6471
6472 PR middle-end/49905
6473 * c.opt: Add -Wformat-length and -fprintf-return-value.
6474
144a96e4
BE
64752016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6476
6477 PR c++/77434
6478 * c.opt (Wint-in-bool-context): New warning.
6479 * c-common.c (c_common_truthvalue_conversion): Warn on integer
6480 constants in boolean context.
6481
63012d9a
JM
64822016-09-19 Joseph Myers <joseph@codesourcery.com>
6483
6484 * c-common.c (max_align_t_align): Also consider alignment of
6485 float128_type_node.
6486
931388ce
JM
64872016-09-15 Jason Merrill <jason@redhat.com>
6488
6489 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
6490 DECL_EXTERNAL.
6491
38711381
JM
64922016-09-14 Jason Merrill <jason@redhat.com>
6493
6494 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6495 limit FIELD_DECL, either.
6496
e51fbec3
MP
64972016-09-14 Marek Polacek <polacek@redhat.com>
6498
6499 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
6500 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
6501 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
6502
254830ba
DM
65032016-09-13 David Malcolm <dmalcolm@redhat.com>
6504
6505 * c-common.c (warn_logical_not_parentheses): Replace
6506 rich_location::add_fixit_insert calls with add_fixit_insert_before
6507 and add_fixit_insert_after, eliminating the "next_loc" calculation.
6508
42763690
JM
65092016-09-13 Jason Merrill <jason@redhat.com>
6510 Tom de Vries <tom@codesourcery.com>
6511
6512 PR c++/77427
6513 * c-common.c (set_underlying_type): Don't treat array as builtin type.
6514
9453eee9
JM
65152016-09-13 Jason Merrill <jason@redhat.com>
6516
6517 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6518 limit types at all.
6519
e96809e3
JM
65202016-09-12 Jason Merrill <jason@redhat.com>
6521
6522 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6523 bit/byte confusion, allow large alignment for types.
6524
54dcdb88
BE
65252016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
6526
6527 PR c++/77496
6528 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6529
d1463eb9
DM
65302016-09-12 David Malcolm <dmalcolm@redhat.com>
6531
6532 PR c/72858
6533 * c-format.c (argument_parser::check_argument_type): Add params
6534 "type_start" and "conversion_char". Use the former to generate
6535 offset_to_type_start and pass it and conversion_char to
6536 check_format_types.
6537 (check_format_info_main): Capture the start of the type
6538 information as "type_start", and pass it an format_char
6539 to arg_parser.check_argument_type.
6540 (check_format_types): Provide an example in the leading comment.
6541 Add params "offset_to_type_start" and "conversion_char"; pass
6542 them to format_type_warning calls.
6543 (test_get_modifier_for_format_len): Likewise.
6544 (matching_type_p): New function.
6545 (get_format_for_type): Add param "conversion_char" and move
6546 implementation into...
6547 (get_format_for_type_1): ...new function, called twice.
6548 Use new function matching_type_p rather than checking for
6549 TYPE_CANONICAL equality.
6550 (get_corrected_substring): New function.
6551 (format_type_warning): Provide an example in the leading comment.
6552 Add params "offset_to_type_start" and "conversion_char". Replace
6553 call to get_format_for_type with call to get_corrected_substring
6554 and move rejection of hints for widths/precisions there.
6555 (assert_format_for_type_streq): Add param "conversion_char".
6556 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6557 (test_get_format_for_type_printf): Add conversion chars to the
6558 tests, adding coverage for various combinations of integer
6559 vs double conversions, and for preserving octal and hexadecimal
6560 conversions.
6561 (test_get_format_for_type_scanf): Add conversion chars to the
6562 tests.
6563
5b28efbb
TV
65642016-09-10 Tom de Vries <tom@codesourcery.com>
6565
6566 PR C/71602
6567 * c-common.c (build_va_arg): Handle more strict
6568 targetm.canonical_va_list_type. Replace first argument type error with
6569 assert.
6570
3f0177e7
MS
65712016-09-09 Martin Sebor <msebor@redhat.com>
6572
6573 PR c/77520
6574 PR c/77521
6575 * c-format.c (argument_parser::find_format_char_info): Use %qc
6576 format directive unconditionally.
6577
af63ba4b
JM
65782016-09-09 Jason Merrill <jason@redhat.com>
6579
6580 Implement C++17 new of over-aligned types.
6581 * c.opt: Add -faligned-new and -Waligned-new.
6582 * c-common.c (max_align_t_align): Split out from...
6583 (cxx_fundamental_alignment_p): ...here.
6584 * c-common.h: Declare it.
6585 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6586
c65248cb
JM
65872016-09-09 Joseph Myers <joseph@codesourcery.com>
6588
6589 * c-cppbuiltin.c (builtin_define_type_width): New function.
6590 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6591 macros.
6592
e5106e27
DM
65932016-09-07 David Malcolm <dmalcolm@redhat.com>
6594
6595 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6596 a POINTER_TYPE.
6597 (substring_loc::get_location): Move to substring-locations.c,
6598 keeping implementation as...
6599 (c_get_substring_location): New function, from the above, reworked
6600 to use accessors rather than member lookup.
6601 * c-common.h (class substring_loc): Move to substring-locations.h,
6602 replacing with a forward decl.
6603 (c_get_substring_location): New decl.
6604 * c-format.c: Include "substring-locations.h".
6605 (format_warning_va): Move to substring-locations.c.
6606 (format_warning_at_substring): Likewise.
6607
ab20d992 66082016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
6609
6610 PR c/77336
6611 * c-format.c (check_function_format): Avoid issuing warnings for
6612 functions unless they call format functions with non-constant
6613 format strings.
6614
b772a565
RB
66152016-09-06 Richard Biener <rguenther@suse.de>
6616
6617 PR c/77450
6618 * c-common.c (c_common_mark_addressable_vec): Handle
6619 COMPOUND_LITERAL_EXPR.
6620
25ff5dd3
MP
66212016-09-05 Marek Polacek <polacek@redhat.com>
6622
6623 PR c/77423
6624 * c-common.c (bool_promoted_to_int_p): New function.
6625 (expr_has_boolean_operands_p): New function.
6626 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6627 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6628
21234eb5
TV
66292016-09-04 Tom de Vries <tom@codesourcery.com>
6630
6631 revert:
6632 2016-08-29 Tom de Vries <tom@codesourcery.com>
6633
6634 * c-common.c (build_va_arg): Replace first argument type error
6635 with assert.
6636
9dc5773f
JJ
66372016-09-02 Jakub Jelinek <jakub@redhat.com>
6638
6639 PR c/65467
6640 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6641 (c_finish_omp_for): Reject _Atomic qualified iterators.
6642
66432016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
6644
6645 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6646 size to guarantee it fits the output of the formatted function
6647 regardless of its arguments.
6648
295844f6
MP
66492016-09-01 Marek Polacek <polacek@redhat.com>
6650
6651 PR c/7652
6652 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6653 FALLTHRU comments.
6654
3d06b6f2
MP
66552016-08-29 Marek Polacek <polacek@redhat.com>
6656
6657 PR c/77292
6658 * c-common.c (warn_logical_not_parentheses): Don't warn for
6659 a comparison or a logical operator.
6660
34cedad5
TV
66612016-08-29 Tom de Vries <tom@codesourcery.com>
6662
6663 * c-common.c (build_va_arg): Fix type comparison assert.
6664
f162d717
TV
66652016-08-29 Tom de Vries <tom@codesourcery.com>
6666
6667 * c-common.c (build_va_arg): Replace first argument type error
6668 with assert.
6669
ba9bbd6f
TV
66702016-08-29 Tom de Vries <tom@codesourcery.com>
6671
6672 PR c/77398
6673 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6674 with error_mark_node as va_list instead of with illegal va_list.
6675
ebef225f
MP
66762016-08-25 Marek Polacek <polacek@redhat.com>
6677 David Malcolm <dmalcolm@redhat.com>
6678
6679 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6680 * c-common.h (warn_logical_not_parentheses): Update declaration.
6681
b00e6e75
MP
66822016-08-22 Marek Polacek <polacek@redhat.com>
6683
6684 PR c++/77321
6685 * c-common.c (warn_for_memset): Check type for null.
6686
6dc198e3
JM
66872016-08-22 Joseph Myers <joseph@codesourcery.com>
6688
14ec014e 6689 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6690 _FloatNx types for suffixes for built-in functions.
6691
c65699ef
JM
66922016-08-19 Joseph Myers <joseph@codesourcery.com>
6693
6694 PR c/32187
6695 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6696 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6697 (RID_FLOAT128X): New enum rid values.
6698 (CASE_RID_FLOATN_NX): New macro.
6699 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6700 keywords.
6701 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6702 corresponding complex types.
6703 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6704 _FloatNx and corresponding complex types.
6705 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6706 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6707 and _FloatNx types for the widest type for determining
6708 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6709 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6710 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6711 and _FloatNx types.
6712 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6713 constants.
6714 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6715 _FloatNx types.
6716
cc015f3a
DM
67172016-08-18 David Malcolm <dmalcolm@redhat.com>
6718
6719 * c-opts.c (c_diagnostic_finalizer): Update for change to
6720 diagnostic_show_locus.
6721
cb18fd07
DM
67222016-08-18 David Malcolm <dmalcolm@redhat.com>
6723
6724 * c-common.c: Include "spellcheck.h".
6725 (cb_get_suggestion): New function.
6726 * c-common.h (cb_get_suggestion): New decl.
6727 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6728 cb_get_suggestion.
6729
a76989dc
MP
67302016-08-18 Marek Polacek <polacek@redhat.com>
6731
6732 PR c/71514
6733 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6734 and pointer-to-VLA.
6735
65e736c0
DM
67362016-08-16 David Malcolm <dmalcolm@redhat.com>
6737
6738 PR c/72857
6739 * c-common.c (substring_loc::get_range): Rename to...
6740 (substring_loc::get_location): ...this, converting param from a
6741 source_range * to a location_t *. Call
6742 get_source_location_for_substring rather than
6743 get_source_range_for_substring, and pass in m_caret_idx.
6744 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6745 (substring_loc::get_range): Replace with...
6746 (substring_loc::get_location): ...this.
6747 (substring_loc::set_caret_index): New method.
6748 (substring_loc): Add field m_caret_idx.
6749 * c-format.c (format_warning_va): Update for above changes.
6750 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6751 clashing with type name.
6752 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6753 (check_argument_type): Likewise.
6754 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6755 Use a copy when emitting warnings, setting the caret index from TYPE.
6756
7e1dde14 67572016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6758 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6759
6760 * c-ada-spec.c (dump_number): New function.
6761 (handle_escape_character): Likewise.
6762 (print_ada_macros): Add handling of constant integers and strings.
6763
191816a3
MP
67642016-08-12 Marek Polacek <polacek@redhat.com>
6765
6766 PR c/7652
6767 * c-common.c (scalar_to_vector): Adjust fall through comment.
6768 * c-opts.c (c_common_handle_option): Likewise.
6769 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6770 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6771 fall through comment.
6772 * cilk.c (extract_free_variables): Add FALLTHRU.
6773
452df4a4
JM
67742016-08-10 Jason Merrill <jason@redhat.com>
6775
6776 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6777
f3365c12
JM
67782016-08-09 Jason Merrill <jason@redhat.com>
6779
6780 * c-common.c (c_common_attribute_table): vector_size affects type
6781 identity.
6782
f0bc3323
MP
67832016-08-09 Marek Polacek <polacek@redhat.com>
6784
6785 PR c/7652
6786 * c-ada-spec.c (dump_generic_ada_node): Add return.
6787
98e5a19a
JM
67882016-08-09 Jason Merrill <jason@redhat.com>
6789
6790 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6791 C++17 constexpr lambdas.
6792
895aa8e1
DM
67932016-08-08 David Malcolm <dmalcolm@redhat.com>
6794
6795 PR c/64955
6796 * c-common.h (selftest::c_format_c_tests): New declaration.
6797 (selftest::run_c_tests): New declaration.
6798 * c-format.c: Include "selftest.h.
6799 (format_warning_va): Add param "corrected_substring" and use
6800 it to add a replacement fix-it hint.
6801 (format_warning_at_substring): Likewise.
6802 (format_warning_at_char): Update for new param of
6803 format_warning_va.
6804 (argument_parser::check_argument_type): Pass "fki" to
6805 check_format_types.
6806 (check_format_types): Add param "fki" and pass it to
6807 format_type_warning.
6808 (deref_n_times): New function.
6809 (get_modifier_for_format_len): New function.
6810 (selftest::test_get_modifier_for_format_len): New function.
6811 (get_format_for_type): New function.
6812 (format_type_warning): Add param "fki" and use it to attempt
6813 to provide hints for argument types when calling
6814 format_warning_at_substring.
6815 (selftest::get_info): New function.
6816 (selftest::assert_format_for_type_streq): New function.
6817 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6818 (selftest::test_get_format_for_type_printf): New function.
6819 (selftest::test_get_format_for_type_scanf): New function.
6820 (selftest::c_format_c_tests): New function.
6821
e52ed3fe
DM
68222016-08-08 David Malcolm <dmalcolm@redhat.com>
6823
6824 PR c/52952
6825 * c-format.c: Include "diagnostic.h".
6826 (location_column_from_byte_offset): Delete.
6827 (location_from_offset): Delete.
6828 (format_warning_va): New function.
6829 (format_warning_at_substring): New function.
6830 (format_warning_at_char): New function.
6831 (check_format_arg): Capture location of format_tree and pass to
6832 check_format_info_main.
6833 (argument_parser): Add fields "start_of_this_format" and
6834 "format_string_cst".
6835 (flag_chars_t::validate): Add param "format_string_cst". Convert
6836 warning_at call using location_from_offset to call to
6837 format_warning_at_char.
6838 (argument_parser::argument_parser): Add param "format_string_cst_"
6839 and use use it to initialize field "format_string_cst".
6840 Initialize new field "start_of_this_format".
6841 (argument_parser::read_format_flags): Convert warning_at call
6842 using location_from_offset to a call to format_warning_at_char.
6843 (argument_parser::read_any_format_left_precision): Likewise.
6844 (argument_parser::read_any_format_precision): Likewise.
6845 (argument_parser::read_any_other_modifier): Likewise.
6846 (argument_parser::find_format_char_info): Likewise, in three places.
6847 (argument_parser::parse_any_scan_set): Likewise, in one place.
6848 (argument_parser::handle_conversions): Likewise, in two places.
6849 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6850 and use it to make a substring_loc. Pass the latter to
6851 check_format_types.
6852 (check_format_info_main): Add params "fmt_param_loc" and
6853 "format_string_cst". Convert warning_at calls using
6854 location_from_offset to calls to format_warning_at_char. Pass the
6855 new params to the arg_parser ctor. Pass "format_string_cst" to
6856 flag_chars.validate. Pass "fmt_param_loc" to
6857 arg_parser.check_argument_type.
6858 (check_format_types): Convert first param from a location_t
6859 to a const substring_loc & and rename to "fmt_loc". Attempt
6860 to extract the range of the relevant parameter and pass it
6861 to format_type_warning.
6862 (format_type_warning): Convert first param from a location_t
6863 to a const substring_loc & and rename to "fmt_loc". Add
6864 params "param_range" and "type". Replace calls to warning_at
6865 with calls to format_warning_at_substring.
6866
1c4d457e
DM
68672016-08-08 David Malcolm <dmalcolm@redhat.com>
6868
6869 * c-format.c (class flag_chars_t): New class.
6870 (struct length_modifier): New struct.
6871 (class argument_parser): New class.
6872 (flag_chars_t::flag_chars_t): New ctor.
6873 (flag_chars_t::has_char_p): New method.
6874 (flag_chars_t::add_char): New method.
6875 (flag_chars_t::validate): New method.
6876 (flag_chars_t::get_alloc_flag): New method.
6877 (flag_chars_t::assignment_suppression_p): New method.
6878 (argument_parser::argument_parser): New ctor.
6879 (argument_parser::read_any_dollar): New method.
6880 (argument_parser::read_format_flags): New method.
6881 (argument_parser::read_any_format_width): New method.
6882 (argument_parser::read_any_format_left_precision): New method.
6883 (argument_parser::read_any_format_precision): New method.
6884 (argument_parser::handle_alloc_chars): New method.
6885 (argument_parser::read_any_length_modifier): New method.
6886 (argument_parser::read_any_other_modifier): New method.
6887 (argument_parser::find_format_char_info): New method.
6888 (argument_parser::validate_flag_pairs): New method.
6889 (argument_parser::give_y2k_warnings): New method.
6890 (argument_parser::parse_any_scan_set): New method.
6891 (argument_parser::handle_conversions): New method.
6892 (argument_parser::check_argument_type): New method.
6893 (check_format_info_main): Introduce classes argument_parser
6894 and flag_chars_t, moving the code within the loop into methods
6895 of these classes. Make various locals "const".
6896
88fa5555
DM
68972016-08-05 David Malcolm <dmalcolm@redhat.com>
6898
6899 * c-common.c: Include "substring-locations.h".
6900 (get_cpp_ttype_from_string_type): New function.
6901 (g_string_concat_db): New global.
6902 (substring_loc::get_range): New method.
6903 * c-common.h (g_string_concat_db): New declaration.
6904 (class substring_loc): New class.
6905 * c-lex.c (lex_string): When concatenating strings, capture the
6906 locations of all tokens using a new obstack, and record the
6907 concatenation locations within g_string_concat_db.
6908 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6909 on the ggc-heap.
6910
78169471
MP
69112016-07-29 Marek Polacek <polacek@redhat.com>
6912
638fc14f
MP
6913 PR c/71926
6914 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6915 parentheses warning.
6916
78169471
MP
6917 PR c/71574
6918 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6919
1225d6b1
ML
69202016-07-28 Martin Liska <mliska@suse.cz>
6921
6922 PR gcov-profile/68025
6923 * c-common.c (handle_no_profile_instrument_function_attribute):
6924
ec1e2a40
BE
69252016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6926
6927 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6928 BITS_PER_UNIT_LOG.
6929
5ec2cd9f
JM
69302016-07-25 Jason Merrill <jason@redhat.com>
6931
6932 PR c++/65970
6933 * c.opt (fconstexpr-loop-limit): New.
6934
9dc5773f 69352016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6936
6937 PR c++/71675
6938 * c-common.c (resolve_overloaded_builtin): Avoid converting
6939 __atomic_compare_exchange_n return type to that of what its
6940 first argument points to.
6941
e3fe09c1
UB
69422016-07-22 Uros Bizjak <ubizjak@gmail.com>
6943
6944 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6945 ~(unsigned HOST_WIDE_INT) 0.
6946
bc91c436
ML
69472016-07-22 Martin Liska <mliska@suse.cz>
6948
6949 PR gcov-profile/69028
6950 PR gcov-profile/62047
6951 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6952 to the current_function_decl.
6953
451dcc66
JM
69542016-07-21 Jason Merrill <jason@redhat.com>
6955
6956 PR c++/65168
6957 * c-common.c (c_common_truthvalue_conversion): Check
6958 c_inhibit_evaluation_warnings for warning about address of
6959 reference.
6960
de6a69ee
DM
69612016-07-20 David Malcolm <dmalcolm@redhat.com>
6962
6963 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6964 const char *.
6965
d022c55a
JM
69662016-07-15 Jason Merrill <jason@redhat.com>
6967
6968 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6969
ddbbcb19
JJ
69702016-07-15 Jakub Jelinek <jakub@redhat.com>
6971
6972 PR c/71858
6973 * c-common.h (enum lookup_name_fuzzy_kind): Add
6974 FUZZY_LOOKUP_FUNCTION_NAME.
6975
d0cf395a
JM
69762016-07-08 Jason Merrill <jason@redhat.com>
6977
6978 P0145: Refining Expression Order for C++.
6979 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6980 * c-opts.c: Adjust.
6981
98d44e93
MT
69822016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6983
6984 PR c++/71214
6985 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6986
f9d8d994
TS
69872016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6988
6989 * c-pragma.h (enum pragma_kind): Rename
6990 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6991 users.
6992
4aa83879
RB
69932016-06-29 Richard Biener <rguenther@suse.de>
6994
6995 PR middle-end/71002
6996 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6997
a25bd9e6
JM
69982016-06-24 Jason Merrill <jason@redhat.com>
6999
7000 P0145R2: Refining Expression Order for C++.
7001 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
7002 MODIFY_EXPR.
7003
a86451b9
JJ
70042016-06-24 Jakub Jelinek <jakub@redhat.com>
7005
7006 * c-common.c (check_builtin_function_arguments): Require last
7007 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
7008 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
7009 if the last argument is pointer to enumerated or boolean type.
7010
1a4f11c8
DM
70112016-06-22 David Malcolm <dmalcolm@redhat.com>
7012
7013 PR c/70339
7014 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
7015 (lookup_name_fuzzy): New prototype.
7016
fe55692c
JDA
70172016-06-21 John David Anglin <danglin@gcc.gnu.org>
7018
7019 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
7020
4eb24e01
JM
70212016-06-14 Jason Merrill <jason@redhat.com>
7022
7023 P0145R2: Refining Expression Order for C++.
7024 * c.opt (fargs-in-order): New.
7025 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
7026
ef7cf206
JJ
70272016-06-13 Jakub Jelinek <jakub@redhat.com>
7028
0dda258b
JJ
7029 PR sanitizer/71498
7030 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
7031 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
7032
ef7cf206
JJ
7033 PR preprocessor/71183
7034 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
7035 to cb_get_source_date_epoch.
7036
50b15873
JJ
70372016-06-10 Jakub Jelinek <jakub@redhat.com>
7038
7039 PR c/68657
7040 * c.opt (Wpsabi): Add Warning flag.
7041
4d926e34
MS
70422016-06-10 Martin Sebor <msebor@redhat.com>
7043
7044 PR c/71392
14ec014e 7045 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
7046 the nonnull attribute in type-generic builtins.
7047
e01b4e16
MS
70482016-06-09 Martin Sebor <msebor@redhat.com>
7049
7050 PR c/70883
7051 * c-common.c (builtin_function_validate_nargs): Make text of error
7052 message consistent with others like it.
7053
44a845ca
MS
70542016-06-08 Martin Sebor <msebor@redhat.com>
7055 Jakub Jelinek <jakub@redhat.com>
7056
7057 PR c++/70507
7058 PR c/68120
7059 * c-common.c (check_builtin_function_arguments): Handle
7060 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
7061
a80a7051
RB
70622016-06-08 Richard Biener <rguenther@suse.de>
7063
7064 * c-common.c (parse_optimize_options): Improve diagnostic messages.
7065
bfd67b47
RB
70662016-06-07 Richard Biener <rguenther@suse.de>
7067
7068 PR c/61564
7069 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
7070 options and warn about others.
7071
15c98b2e
ES
70722016-06-01 Eduard Sanou <dhole@openmailbox.org>
7073
7074 * c-common.c (get_source_date_epoch): Rename to
7075 cb_get_source_date_epoch.
7076 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
7077 message when the parsing fails. Use error_at instead of fatal_error.
7078 * c-common.h (get_source_date_epoch): Rename to
7079 cb_get_source_date_epoch.
7080 * c-common.h (cb_get_source_date_epoch): Prototype.
7081 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
7082 * c-common.h (c_omp_region_type): Remove trailing comma.
7083 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
7084 * c-lex.c (c_lex_with_flags): Remove initialization of
7085 pfile->source_date_epoch.
7086
00631022
JJ
70872016-05-30 Jakub Jelinek <jakub@redhat.com>
7088
7089 PR c++/71349
7090 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
7091 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
7092 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
7093 instead of C_OMP_CLAUSE_SPLIT_FOR.
7094
f17a223d
RB
70952016-05-24 Richard Biener <rguenther@suse.de>
7096
7097 PR middle-end/70434
7098 PR c/69504
7099 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
7100 (convert_vector_to_array_for_subscript): ... this.
7101 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
7102 VIEW_CONVERT_EXPR to an array type. Rename to ...
7103 (convert_vector_to_array_for_subscript): ... this.
7104
4f2e1536
MP
71052016-05-12 Marek Polacek <polacek@redhat.com>
7106
7107 PR c/70756
7108 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
7109 size_in_bytes and pass LOC to it.
7110
d6e83a8d
MM
71112016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
7112
7113 PR c/43651
7114 * c.opt (Wduplicate-decl-specifier): New option.
7115
5c3a10fb
MP
71162016-05-11 Marek Polacek <polacek@redhat.com>
7117
7118 PR c++/71024
7119 * c-common.c (diagnose_mismatched_attributes): New function.
7120 * c-common.h (diagnose_mismatched_attributes): Declare.
7121
deef7113
MP
71222016-05-04 Marek Polacek <polacek@redhat.com>
7123
7124 * c.opt (Wdangling-else): New option.
7125
79ce98bc
MP
71262016-05-03 Marek Polacek <polacek@redhat.com>
7127
7128 PR c/70859
7129 * c-common.c (builtin_function_validate_nargs): Add location
7130 parameter. Use it.
7131 (check_builtin_function_arguments): Add location and arguments
7132 parameters. Use them.
7133 * c-common.h (check_builtin_function_arguments): Update declaration.
7134
381cdae4
RB
71352016-05-03 Richard Biener <rguenther@suse.de>
7136
7137 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
7138 allow call args to gimplify to SSA names.
7139
1d793c34
MP
71402016-05-03 Marek Polacek <polacek@redhat.com>
7141
7142 * c-common.h (enum c_omp_region_type): Remove stray comma.
7143
77886428
CP
71442016-05-02 Cesar Philippidis <cesar@codesourcery.com>
7145
7146 * c-common.h (enum c_omp_region_type): Define.
7147
697e0b28
RS
71482016-05-02 Richard Sandiford <richard.sandiford@arm.com>
7149
7150 * c-common.c (shorten_compare): Use wi::to_wide.
7151
e7ff0319
CP
71522016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7153
7154 PR middle-end/70626
7155 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
7156 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
7157 reduction clauses in acc parallel loops.
7158
2fff3db8
MP
71592016-04-29 Marek Polacek <polacek@redhat.com>
7160
7161 PR c/70852
7162 * c-common.c (warn_for_memset): Check domain before accessing it.
7163
509063eb
DV
71642016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7165
7166 PR/69089
7167 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
7168 "aligned" attribute.
7169
b632761d
JM
71702016-04-28 Jason Merrill <jason@redhat.com>
7171
7172 * c-lex.c (c_common_has_attribute): Handle nodiscard.
7173
174f6622
ES
71742016-04-28 Eduard Sanou <dhole@openmailbox.org>
7175 Matthias Klose <doko@debian.org>
7176
7177 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 7178 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
7179 handling.
7180 * c-common.h (get_source_date_epoch): Prototype.
7181 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
7182
6bc2bb18
RB
71832015-04-27 Ryan Burn <contact@rnburn.com>
7184
7185 PR c++/69024
7186 PR c++/68997
7187 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
7188 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
7189 external linkage.
7190 (cilk_detect_and_unwrap): Corresponding changes.
7191 (extract_free_variables): Don't extract free variables from
7192 AGGR_INIT_EXPR slot.
7193 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
7194 (cilk_recognize_spawn): Likewise.
7195
c1e1f433
BS
71962016-04-27 Bernd Schmidt <bschmidt@redhat.com>
7197
7198 * c.opt (Wmemset-elt-size): New option.
7199 * c-common.c (warn_for_memset): New function.
7200 * c-common.h (warn_for_memset): Declare.
7201
d067e05f
JM
72022016-04-25 Jason Merrill <jason@redhat.com>
7203
7204 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
7205 No longer static.
7206 * c-common.h: Declare it.
7207 * c-lex.c (c_common_has_attribute): Add maybe_unused.
7208
9aa36ae5
JM
72092016-04-22 Jason Merrill <jason@redhat.com>
7210
7211 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
7212
477d4906
IV
72132016-04-20 Ilya Verbin <ilya.verbin@intel.com>
7214
7215 PR c++/69363
7216 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
7217 * c-common.h (c_finish_cilk_clauses): Remove declaration.
7218
fe37c7af
MM
72192016-04-18 Michael Matz <matz@suse.de>
7220
7221 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
7222 and SET_DECL_ALIGN.
7223
23f2660f
EB
72242016-04-17 Eric Botcazou <ebotcazou@adacore.com>
7225
7226 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
7227 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
7228 to incomplete types.
7229 (dump_nested_type): Remove redundant tests and tidy up.
7230 (print_ada_declaration): Also set TREE_VISITED on the declaration of
7231 a type which is the typedef of an original type.
7232
1e77281b
MP
72332016-04-15 Marek Polacek <polacek@redhat.com>
7234
7235 PR c/70651
7236 * c-common.c (build_va_arg): Change two asserts into errors and return
7237 error_mark_node.
7238
b3a77f21
MP
72392016-04-13 Marek Polacek <polacek@redhat.com>
7240
7241 PR c++/70639
7242 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
7243 for switch statements, too.
7244
322b8466
JM
72452016-03-28 Jason Merrill <jason@redhat.com>
7246
7247 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
7248
fbdb6baf
MP
72492016-03-23 Marek Polacek <polacek@redhat.com>
7250
7251 PR c++/69884
7252 * c.opt (Wignored-attributes): New option.
7253
5c240f4d
DM
72542016-03-22 David Malcolm <dmalcolm@redhat.com>
7255
7256 PR c/69993
7257 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
7258 diagnostic text, reversing the order of the warning and note so
7259 that they appear in source order.
7260
14ba7b28
MP
72612016-03-17 Marek Polacek <polacek@redhat.com>
7262
7263 PR c/69407
7264 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
7265 operations.
7266
08a1cadc
JM
72672016-03-14 Jason Merrill <jason@redhat.com>
7268
2aaeea19
JM
7269 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
7270
08a1cadc
JM
7271 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
7272
c06d25bb
RB
72732016-03-09 Richard Biener <rguenther@suse.de>
7274
7275 PR c/70143
7276 * c-common.c (strict_aliasing_warning): Add back
7277 alias_sets_conflict_p check.
7278
80aac5c8
JM
72792016-03-08 Jason Merrill <jason@redhat.com>
7280
7281 * c-opts.c (set_std_cxx1z): Don't enable concepts.
7282
64b23c13
DM
72832016-03-04 David Malcolm <dmalcolm@redhat.com>
7284
7285 PR c/68187
7286 * c-indentation.c (get_visual_column): Move code to determine next
7287 tab stop to...
7288 (next_tab_stop): ...this new function.
7289 (line_contains_hash_if): Delete function.
7290 (detect_preprocessor_logic): Delete function.
7291 (get_first_nws_vis_column): New function.
7292 (detect_intervening_unindent): New function.
7293 (should_warn_for_misleading_indentation): Replace call to
7294 detect_preprocessor_logic with a call to
7295 detect_intervening_unindent.
7296
729526f5
DM
72972016-03-04 David Malcolm <dmalcolm@redhat.com>
7298
7299 PR c/68187
7300 * c-indentation.c (should_warn_for_misleading_indentation): When
7301 suppressing warnings about cases where the guard and body are on
7302 the same column, only use the first non-whitespace column in place
7303 of the guard token column when dealing with "else" clauses.
7304 When rejecting aligned BODY and NEXT, loosen the requirement
7305 from equality with the first non-whitespace of guard to simply
7306 that they not be indented relative to it.
7307
e9a35493
RB
73082016-03-04 Richard Biener <rguenther@suse.de>
7309
7310 PR c++/70054
7311 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
7312 instead of alias_sets_conflict_p.
7313
1be56bc5
MP
73142016-03-01 Marek Polacek <polacek@redhat.com>
7315
7316 PR c++/69795
7317 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
7318 any DECL.
7319
35886f0b
MS
73202016-02-22 Martin Sebor <msebor@redhat.com>
7321
7322 PR middle-end/69780
7323 * c-common.c (check_builtin_function_arguments): Validate and
7324 reject invalid arguments to __builtin_alloca_with_align.
7325
4246c8da
MW
73262016-02-20 Mark Wielaard <mjw@redhat.com>
7327
7328 PR c/28901
7329 * c.opt (Wunused-const-variable): Turn into Alias for...
7330 (Wunused-const-variable=): New option.
7331
268be88c
BE
73322016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7333
7334 PR c++/69865
7335 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
7336 here...
7337 (c_common_init_options): ...to here.
7338 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
7339
871b3f47
JJ
73402016-02-19 Jakub Jelinek <jakub@redhat.com>
7341
7342 PR c++/69826
7343 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
7344 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
7345 flag_preprocess_only.
7346
bf14eba2
JJ
73472016-02-16 Jakub Jelinek <jakub@redhat.com>
7348
7349 PR c/69835
7350 * c.opt (Wnonnull-compare): Enable for -Wall.
7351
ba6b3795
JJ
73522016-02-15 Jakub Jelinek <jakub@redhat.com>
7353
7354 PR c++/69797
7355 * c-common.c (sync_resolve_size): Diagnose too few arguments
7356 even when params is non-NULL empty vector.
7357
a011cd92
BS
73582016-02-08 Bernd Schmidt <bschmidt@redhat.com>
7359
7360 PR target/60410
7361 * c.opt (fshort-double): Remove.
7362
46cb9332
MS
73632016-02-05 Martin Sebor <msebor@redhat.com>
7364
7365 PR c++/69662
7366 * c.opt (Warning options): Update -Wplacement-new to take
7367 an optional argument.
7368
e1b81f2b
JJ
73692016-02-01 Jakub Jelinek <jakub@redhat.com>
7370
7371 PR preprocessor/69543
7372 PR c/69558
7373 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
7374 instead of loc to control_warning_option.
7375
b6adbb9f
NS
73762016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7377
7378 * c.opt (fopenacc-dim=): New option.
7379
5d70666e
RB
73802016-01-27 Ryan Burn <contact@rnburn.com>
7381
7382 PR cilkplus/69267
7383 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
7384 gimplify_arg. Removed superfluous post_p argument.
7385 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
7386 superfluous post_p argument.
7387 * c-gimplify.c (c_gimplify_expr): Likewise.
7388
01e1dea3
DM
73892016-01-26 David Malcolm <dmalcolm@redhat.com>
7390
7391 PR other/69006
7392 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
7393 pp_newline_and_flush with pp_flush.
7394
9f04a53e
MS
73952016-01-20 Martin Sebor <msebor@redhat.com>
7396
7397 PR c/69405
7398 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
7399 an incompatible argument when the argument isn't a valid tree node.
7400
7f26f7df
JM
74012016-01-18 Jason Merrill <jason@redhat.com>
7402
7403 PR c++/68767
7404 * c-common.c (check_function_arguments_recurse): Fold the whole
7405 COND_EXPR, not just the condition.
7406
f62bf092
TV
74072016-01-18 Tom de Vries <tom@codesourcery.com>
7408
7409 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
7410 classify as loop clause.
7411
e0a575ff
JJ
74122016-01-15 Jakub Jelinek <jakub@redhat.com>
7413
7414 PR bootstrap/68271
7415 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
7416 C++ FE no longer has limit on number of pragmas.
7417
74182015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
7419
7420 PR c++/69048
7421 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 7422 to add missing cleanup point.
b6e3db06 7423
c7df95d8
DM
74242016-01-14 David Malcolm <dmalcolm@redhat.com>
7425
7426 PR c++/68819
7427 * c-indentation.c (get_visual_column): Add location_t param.
7428 Handle the column number being zero by effectively disabling the
7429 warning, with an "inform".
7430 (should_warn_for_misleading_indentation): Add location_t argument
7431 for all uses of get_visual_column.
7432
21efdd80
PP
74332016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
7434
7435 PR c++/69029
7436 * c-indentation.c (should_warn_for_misleading_indentation):
7437 Don't warn about do-while statements.
7438
7a127fa7
MS
74392016-01-07 Martin Sebor <msebor@redhat.com>
7440
7441 PR c/68966
7442 * c-common.c (sync_resolve_size): Reject first argument when it's
7443 a pointer to _Bool.
7444
c589e975
DM
74452016-01-05 David Malcolm <dmalcolm@redhat.com>
7446
7447 PR c/69122
7448 * c-indentation.c (get_visual_column): Remove default argument.
7449 (should_warn_for_misleading_indentation): For the multiline case,
7450 update call to get_visual_column for next_stmt_exploc so that it
7451 captures the location of the first non-whitespace character in the
7452 relevant line. Don't issue warnings if there is non-whitespace
7453 before the next statement.
7454
818ab71a
JJ
74552016-01-04 Jakub Jelinek <jakub@redhat.com>
7456
7457 Update copyright years.
7458
745e411d
DM
74592015-12-21 David Malcolm <dmalcolm@redhat.com>
7460
7461 * c-common.c (binary_op_error): Convert first param from
7462 location_t to rich_location * and use it when emitting an error.
7463 * c-common.h (binary_op_error): Convert first param from
7464 location_t to rich_location *.
7465
de67c4c3
DM
74662015-12-16 David Malcolm <dmalcolm@redhat.com>
7467
7468 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
7469 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
7470
4a38b02b
IV
74712015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7472
7473 * c-common.c (c_common_attribute_table): Handle "omp declare target
7474 link" attribute.
7475
54d62f51
JJ
74762015-12-14 Jakub Jelinek <jakub@redhat.com>
7477
7478 PR c/68833
7479 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
7480
8d4227c8
TB
74812014-12-12 Tobias Burnus <burnus@net-b.de>
7482
7483 PR fortran/68815
7484 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
7485 specifiers (%d, %i,%u and %c).
7486
f6069ccc
DM
74872015-12-10 David Malcolm <dmalcolm@redhat.com>
7488
7489 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
7490
63bbf46d
JJ
74912015-12-08 Jakub Jelinek <jakub@redhat.com>
7492
7493 PR c/48088
7494 PR c/68657
7495 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
7496 * c-pragma.c (handle_pragma_diagnostic): Adjust
7497 control_warning_option caller.
7498
f79520bb
DM
74992015-12-07 David Malcolm <dmalcolm@redhat.com>
7500
7501 * c-common.c (c_cpp_error): Update for change to
7502 rich_location::set_range.
7503
b3d5bc62
JJ
75042015-12-04 Paolo Bonzini <bonzini@gnu.org>
7505
7506 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
7507 shifting 1 out of the sign bit.
7508
75092015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
7510
7511 * c-common.c (c_common_attribute_table[]): Update max arguments
7512 count for "simd" attribute.
7513 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
7514
6eb4a537
JJ
75152015-12-03 Jakub Jelinek <jakub@redhat.com>
7516
7517 PR preprocessor/57580
7518 * c-ppoutput.c (print): Change printed field to bool.
7519 Move src_file last for smaller padding.
7520 (init_pp_output): Set print.printed to false instead of 0.
7521 (scan_translation_unit): Fix up formatting. Set print.printed
7522 to true after printing something other than newline.
7523 (scan_translation_unit_trad): Set print.printed to true instead of 1.
7524 (maybe_print_line_1): Set print.printed to false instead of 0.
7525 (print_line_1): Likewise.
7526 (do_line_change): Set print.printed to true instead of 1.
7527 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7528 dump_macro): Set print.printed to false after printing newline.
7529
4250754e
JM
75302015-12-02 Jason Merrill <jason@redhat.com>
7531
f479b43d
JM
7532 * c-common.c (fold_for_warn): New.
7533 (warn_logical_operator, warn_tautological_cmp)
7534 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7535
4250754e
JM
7536 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7537 (c_fully_fold_internal, decl_constant_value_for_optimization):
7538 Move to c/c-fold.c.
7539 * c-common.h: Don't declare decl_constant_value_for_optimization.
7540
e9e32ee6
JM
75412015-12-02 Joseph Myers <joseph@codesourcery.com>
7542
7543 PR c/68162
7544 * c-common.h (c_build_qualified_type): Add extra default
7545 arguments.
7546
37d5ad46
JB
75472015-12-01 Julian Brown <julian@codesourcery.com>
7548 Cesar Philippidis <cesar@codesourcery.com>
7549 James Norris <James_Norris@mentor.com>
7550
7551 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7552 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7553 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7554
f07862c7
EB
75552015-11-30 Eric Botcazou <ebotcazou@adacore.com>
7556
7557 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7558 (decl_sloc_common): Delete and move bulk of processing to...
7559 (decl_sloc): ...here.
7560 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7561 (dump_ada_double_name): Remove S parameter and compute the suffix.
7562 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
7563 element type and deal with an anonymous one.
7564 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7565 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
7566 and remove reference to QUAL_UNION_TYPE.
7567 (dump_nested_types): Make 2 passes on the fields and move bulk to...
7568 (dump_nested_type): ...here. New function extracted from above.
7569 Generate a full declaration for anonymous element type of arrays.
7570 (print_ada_declaration): Really skip anonymous declarations. Remove
7571 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
7572 Clean up processing of declarations of array types and objects.
7573 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7574 Remove obsolete code and tidy up.
7575
75c8aac3
JH
75762015-11-29 Jan Hubicka <hubicka@ucw.cz>
7577
7578 PR c/67581
7579 * c-common.c (handle_transparent_union_attribute): Update
7580 also type variants.
7581
b58d3df2
ML
75822015-11-27 Martin Liska <mliska@suse.cz>
7583
7584 PR c++/68312
7585 * array-notation-common.c (cilkplus_extract_an_triplets):
7586 Release vector of vectors.
7587 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7588
89a01fcf
EB
75892015-11-26 Eric Botcazou <ebotcazou@adacore.com>
7590
7591 PR c++/68527
7592 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7593 (print_ada_struct_decl): Likewise.
7594
cc5c5226
IZ
75952015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
7596
7597 PR c++/68001
7598 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7599 * cilk.c (recognize_spawn): Determine location in a more precise
7600 way.
7601
269adb9d
JM
76022015-11-19 Jason Merrill <jason@redhat.com>
7603
7604 * c-common.c (shorten_compare): But look through macros from
7605 system headers.
7606
d0eccfcd
JM
76072015-11-18 Jason Merrill <jason@redhat.com>
7608
7609 * c-common.c (shorten_compare): Don't -Wtype-limits if the
7610 non-constant operand comes from a macro.
7611
3e44547c
JM
76122015-11-17 Jason Merrill <jason@redhat.com>
7613
7614 PR bootstrap/68346
7615 * c-common.c (warn_tautological_cmp): Fold before checking for
7616 constants.
7617
0f62c7a0
MP
76182015-11-16 Marek Polacek <polacek@redhat.com>
7619
7620 PR c++/68362
7621 * c-common.c (check_case_bounds): Fold low and high cases.
7622
a868811e
MP
76232015-11-16 Marek Polacek <polacek@redhat.com>
7624
7625 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7626 * c-common.c (c_common_get_alias_set): Likewise.
7627 (handle_visibility_attribute): Likewise.
7628
fff77217
KY
76292015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
7630
7631 * c-common.c (handle_simd_attribute): New.
7632 (struct attribute_spec): Add entry for "simd".
7633 (handle_simd_attribute): New.
7634
269e63b7
KT
76352015-11-13 Kai Tietz <ktietz70@googlemail.com>
7636
7637 * c-lex.c (interpret_float): Use fold_convert.
7638
ebedc9a3
DM
76392015-11-13 David Malcolm <dmalcolm@redhat.com>
7640
7641 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7642 and store it on the result.
7643 * c-opts.c (c_common_init_options): Set
7644 global_dc->colorize_source_p.
7645
6e232ba4
JN
76462015-11-12 James Norris <jnorris@codesourcery.com>
7647 Joseph Myers <joseph@codesourcery.com>
7648
7365279f 7649 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7650 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7651 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7652 PRAGMA_OACC_CLAUSE_LINK.
7653
e78bede6
MP
76542015-11-11 Marek Polacek <polacek@redhat.com>
7655
7656 PR c/68107
7657 PR c++/68266
7658 * c-common.c (valid_array_size_p): New function.
7659 * c-common.h (valid_array_size_p): Declare.
7660
3f8257db 76612015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7662
7663 PR bootstrap/68271
7664 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7665
69f293c9
AM
76662015-11-11 Andrew MacLeod <amacleod@redhat.com>
7667
7668 * array-notation-common.c: Remove unused header files.
7669 * c-ada-spec.c: Likewise.
7670 * c-cilkplus.c: Likewise.
7671 * c-common.c: Likewise.
7672 * c-cppbuiltin.c: Likewise.
7673 * c-dump.c: Likewise.
7674 * c-format.c: Likewise.
7675 * c-gimplify.c: Likewise.
7676 * c-indentation.c: Likewise.
7677 * c-lex.c: Likewise.
7678 * c-omp.c: Likewise.
7679 * c-opts.c: Likewise.
7680 * c-pch.c: Likewise.
7681 * c-ppoutput.c: Likewise.
7682 * c-pragma.c: Likewise.
7683 * c-pretty-print.c: Likewise.
7684 * c-semantics.c: Likewise.
7685 * c-ubsan.c: Likewise.
7686 * cilk.c: Likewise.
7687 * stub-objc.c: Likewise.
7688
3a40d81d
NS
76892015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7690 Cesar Philippidis <cesar@codesourcery.com>
7691 James Norris <jnorris@codesourcery.com>
7692 Julian Brown <julian@codesourcery.com>
7693 Nathan Sidwell <nathan@codesourcery.com>
7694
7695 * c-pragma.c (oacc_pragmas): Add "routine".
7696 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7697
ee45a32d
EB
76982015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7699
7700 * c-common.c (c_common_attributes): Add scalar_storage_order.
7701 (handle_scalar_storage_order_attribute): New function.
7702 * c-pragma.c (global_sso): New variable.
7703 (maybe_apply_pragma_scalar_storage_order): New function.
7704 (handle_pragma_scalar_storage_order): Likewise.
7705 (init_pragma): Register scalar_storage_order.
7706 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7707 * c.opt (Wscalar-storage-order): New warning.
7708 (fsso-struct=): New option.
7709
eb11eb15
MS
77102015-11-08 Martin Sebor <msebor@redhat.com>
7711
7712 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7713
0aad0198
RS
77142015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7715
7716 * c-common.c: Don't undef DEF_BUILTIN.
7717
8a645150
DM
77182015-11-06 David Malcolm <dmalcolm@redhat.com>
7719
7720 * c-common.c (c_cpp_error): Convert parameter from location_t to
7721 rich_location *. Eliminate the "column_override" parameter and
7722 the call to diagnostic_override_column.
7723 Update the "done_lexing" clause to set range 0
7724 on the rich_location, rather than overwriting a location_t.
7725 * c-common.h (c_cpp_error): Convert parameter from location_t to
7726 rich_location *. Eliminate the "column_override" parameter.
7727
7a5e4956
CP
77282015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7729 Thomas Schwinge <thomas@codesourcery.com>
7730 James Norris <jnorris@codesourcery.com>
7731
7732 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7733 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7734 clauses with parallel and kernels and loops.
7735 * c-pragma.h (enum pragma_omp_clause): Add entries for
7736 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7737 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7738 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7739 INDEPENDENT,SEQ}.
7740 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7741
e2f5cc96
MS
77422015-11-05 Martin Sebor <msebor@redhat.com>
7743
7744 PR c++/67942
7745 * c.opt (-Wplacement-new): New option.
7746
e01d41e5
JJ
77472015-11-05 Jakub Jelinek <jakub@redhat.com>
7748
7749 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7750 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7751 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7752 save_expr or create_tmp_var* if TEST is true.
7753 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7754 Don't call add_stmt here.
7755 (struct c_omp_check_loop_iv_data): New type.
7756 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7757 c_omp_check_loop_iv_exprs): New functions.
7758 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7759 distribute.
7760 (c_omp_declare_simd_clauses_to_numbers): Change
7761 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7762 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7763 from numbers to PARM_DECLs.
7764
595278be
MM
77652015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7766
7767 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7768 flag_checking.
7769
3f8257db 77702015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7771
7772 PR c++-common/67882
b3d5bc62
JJ
7773 * c-common.h (fold_offsetof_1): Add argument.
7774 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7775 offsetof expressions that reference elements past the end of
7776 an array.
7777
4bf9e5a8
TS
77782015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7779 Chung-Lin Tang <cltang@codesourcery.com>
7780
7781 * c-pragma.c (oacc_pragmas): Add "atomic".
7782 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7783
3b1661a9
ES
77842015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7785
7786 * c-common.c (handle_target_clones_attribute): New.
7787 (c_common_attribute_table): Add handle_target_clones_attribute.
7788 (handle_always_inline_attribute): Add check on target_clones attribute.
7789 (handle_target_attribute): Ditto.
7790
2adfab87
AM
77912015-10-29 Andrew MacLeod <amacleod@redhat.com>
7792
7793 * array-notation-common.c: Reorder #include's and remove duplicates.
7794 * c-ada-spec.c: Likewise.
7795 * c-cilkplus.c: Likewise.
7796 * c-common.c: Likewise.
7797 * c-cppbuiltin.c: Likewise.
7798 * c-dump.c: Likewise.
7799 * c-format.c: Likewise.
7800 * c-gimplify.c: Likewise.
7801 * c-indentation.c: Likewise.
7802 * c-lex.c: Likewise.
7803 * c-omp.c: Likewise.
7804 * c-opts.c: Likewise.
7805 * c-pch.c: Likewise.
7806 * c-ppoutput.c: Likewise.
7807 * c-pragma.c: Likewise.
7808 * c-pretty-print.c: Likewise.
7809 * c-semantics.c: Likewise.
7810 * c-ubsan.c: Likewise.
7811 * cilk.c: Likewise.
7812 * stub-objc.c: Likewise.
7813
d90ec4f2
JM
78142015-10-28 Jason Merrill <jason@redhat.com>
7815
7816 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7817
88bae6f4
TS
78182015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7819 James Norris <jnorris@codesourcery.com>
7820 Cesar Philippidis <cesar@codesourcery.com>
7821
7822 PR c/64765
7823 PR c/64880
7824 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7825 * c-omp.c (c_oacc_split_loop_clauses): New function.
7826
b1726d6c
MS
78272015-10-21 Martin Sebor <msebor@redhat.com>
7828
7829 PR driver/68043
7830 * c.opt: End each sentence that describes an option with a period.
7831
fa60eeb9
MP
78322015-10-20 Marek Polacek <polacek@redhat.com>
7833
7834 * array-notation-common.c (is_cilkplus_vector_p): Define.
7835 * c-common.h (is_cilkplus_vector_p): Declare.
7836
95979049
MP
78372015-10-20 Marek Polacek <polacek@redhat.com>
7838
7839 * c.opt (std=gnu++11): Do not describe as experimental.
7840 (std=gnu++14): Likewise.
7841
2a9fb712
JM
78422015-10-19 Jason Merrill <jason@redhat.com>
7843
7844 * c-cppbuiltin.c (c_cpp_builtins): Define
7845 __cpp_nontype_template_args.
7846
13b380a3
JM
78472015-10-19 Jason Merrill <jason@redhat.com>
7848
7849 * c-cppbuiltin.c (c_cpp_builtins): Define
7850 __cpp_enumerator_attributes, __cpp_fold_expressions,
7851 __cpp_unicode_characters.
7852
d9a6bd32
JJ
78532015-10-13 Jakub Jelinek <jakub@redhat.com>
7854 Aldy Hernandez <aldyh@redhat.com>
7855
7856 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7857 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7858 (c_define_builtins): Likewise.
7859 * c-common.h (enum c_omp_clause_split): Add
7860 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7861 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7862 (c_finish_omp_for): Add ORIG_DECLV argument.
7863 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7864 201511 instead of 201307.
7865 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7866 OMP_CRITICAL_CLAUSES to it.
7867 (c_finish_omp_ordered): Add CLAUSES argument, set
7868 OMP_ORDERED_CLAUSES to it.
7869 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7870 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7871 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7872 constructs and new OpenMP 4.5 clauses. Clear
7873 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7874 verification code.
7875 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7876 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7877 (enum pragma_omp_clause): Add
7878 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7879 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7880
624d31fe
RS
78812015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7882
7883 * c-lex.c (interpret_float): Use real_equal instead of
7884 REAL_VALUES_EQUAL.
7885
b8fd7909
JM
78862015-10-04 Jason Merrill <jason@redhat.com>
7887
7888 Implement N4514, C++ Extensions for Transactional Memory.
7889 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7890 (c_common_attribute_table): Add transaction_safe_dynamic.
7891 transaction_safe now affects type identity.
7892 (handle_tm_attribute): Handle transaction_safe_dynamic.
7893 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7894 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7895 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7896 (D_TRANSMEM): New.
7897 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7898 * c-pretty-print.c (pp_c_attributes_display): Don't print
7899 transaction_safe in C++.
7900
12651878
MP
79012015-10-02 Marek Polacek <polacek@redhat.com>
7902
7903 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7904
3e3b8d63
MP
79052015-10-02 Marek Polacek <polacek@redhat.com>
7906
7907 PR c/64249
7908 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7909 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7910 * c.opt (Wduplicated-cond): New option.
7911
0d1a8f75
JM
79122015-10-01 Joseph Myers <joseph@codesourcery.com>
7913
7914 * c.opt (std=c11): Do not describe as experimental.
7915 (std=gnu11): Likewise.
7916 (std=iso9899:2011): Likewise.
7917
3e32ee19
NS
79182015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7919
7920 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7921 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7922
974348ee
MP
79232015-09-25 Marek Polacek <polacek@redhat.com>
7924
7925 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7926 (ubsan_instrument_shift): Likewise.
7927
15dbc1a6
MP
79282015-09-25 Marek Polacek <polacek@redhat.com>
7929
7930 PR sanitizer/64906
7931 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7932
6b95d7cc
PP
79332015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7934
7935 * c-indentation.c (should_warn_for_misleading_indentation):
7936 Compare next_stmt_vis_column with guard_line_first_nws instead
7937 of with guard_line_vis_column.
7938
c1822f9c
MLI
79392015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7940
7941 PR c/49654
7942 PR c/49655
7943 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7944 options and options not valid for the current language.
7945
d5398058
PP
79462015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7947
7948 * c-indentation.c (should_warn_for_misleading_indentation):
7949 Float out and consolidate the calls to get_visual_column that
7950 are passed guard_exploc as an argument. Compare
7951 next_stmt_vis_column with guard_line_first_nws instead of with
7952 body_line_first_nws.
7953
6b333269
NS
79542015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7955
7956 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7957 Wnamespaces): New C++ warnings.
7958
a75f1574
JM
79592015-09-22 Jason Merrill <jason@redhat.com>
7960
7961 * c-common.h (abi_compat_version_crosses): New.
7962 (warn_abi_version): Declare.
7963 * c-common.c: Define it.
7964 * c-opts.c (c_common_post_options): Handle it.
7965 flag_abi_compat_version defaults to 8.
7966
bdaaa8b7
VV
79672015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7968
7969 Complete the implementation of N4230, Nested namespace definition.
7970 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7971 __cpp_nested_namespace_definitions.
7972
eaa797e8
MLI
79732015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7974
7975 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7976
c4914de6
MLI
79772015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7978
7979 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7980 when warning.
7981 * c-pragma.h (pragma_lex): Add optional loc argument.
7982
fcb87c50
MM
79832015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7984
7985 * c-format.c (check_format_arg): Adjust to use common block size in all
7986 object pools.
7987
31bdd08a
DM
79882015-09-15 David Malcolm <dmalcolm@redhat.com>
7989
7990 * c-format.c (location_from_offset): Update for change in
7991 signature of location_get_source_line.
7992 * c-indentation.c (get_visual_column): Likewise.
7993 (line_contains_hash_if): Likewise.
7994
aa9f4b4c
MP
79952015-09-14 Marek Polacek <polacek@redhat.com>
7996
7997 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7998 setting various warnings.
7999
aa256c4a
MP
80002015-09-14 Marek Polacek <polacek@redhat.com>
8001
8002 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
8003 a negative value.
8004
0f876f22
MW
80052015-09-11 Mark Wielaard <mjw@redhat.com>
8006
8007 PR c/28901
8008 * c.opt (Wunused-variable): Option from common.opt.
8009 (Wunused-const-variable): New option.
8010
273aa49e
PC
80112015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8012
8013 PR c++/53184
8014 * c.opt ([Wsubobject-linkage]): Add.
8015
1807ffc1
MS
80162015-09-03 Martin Sebor <msebor@redhat.com>
8017
8018 PR c/66516
8019 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
8020 functions.
8021 * c-common.c (reject_gcc_builtin): Define.
8022
38942840
BI
80232015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
8024
8025 PR middle-end/60586
8026 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
8027 prototype.
8028 * c-gimplify.c (c_gimplify_expr): Added a call to the function
8029 cilk_gimplify_call_params_in_spawned_fn.
8030 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
8031 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
8032 unwrapping.
8033
c316b5e4
MP
80342015-08-25 Marek Polacek <polacek@redhat.com>
8035
8036 PR middle-end/67330
8037 * c-common.c (handle_weak_attribute): Don't check whether the
8038 visibility can be changed here.
8039
584a7c46
MLI
80402015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8041
8042 * c-lex.c (c_lex_with_flags): Use explicit locations.
8043
a79683d5
TS
80442015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8045
8046 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
8047 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
8048
61717a45
FXC
80492015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8050
8051 PR middle-end/36757
8052 * c-common.c (check_builtin_function_arguments): Add check
8053 for BUILT_IN_SIGNBIT argument.
8054
329524f5
PC
80552015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
8056
8057 PR c++/67160
8058 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
8059 in c++1z mode.
8060
4ee55665
MP
80612015-08-17 Marek Polacek <polacek@redhat.com>
8062
8063 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
8064 with whitespaces before qualifier names.
8065
b893e375
MP
80662015-08-12 Marek Polacek <polacek@redhat.com>
8067
8068 PR c++/55095
8069 * c-common.c (maybe_warn_shift_overflow): Properly handle
8070 left-shifting 1 into the sign bit.
8071
c2d89095
MLI
80722015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8073
8074 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
8075
971e17ff
AS
80762015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
8077 Braden Obrzut <admin@maniacsvault.net>
8078 Jason Merrill <jason@redhat.com>
8079
8080 Add C++ Concepts TS support.
8081 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
8082 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
8083 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
8084 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
8085 * c-opts.c (set_std_cxx1z): Set flag_concepts.
8086 * c.opt (fconcepts): New.
8087
b3d5bc62
JJ
80882015-08-02 Martin Sebor <msebor@redhat.com>
8089
8090 * c.opt (-Wframe-address): New warning option.
8091
8ebca419
PP
80922015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8093
8094 * c-indentation.c (should_warn_for_misleading_indentation):
8095 Improve heuristics.
8096
1a1e101f
PP
80972015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8098
8099 * c-indentation.c (get_visual_column): Add parameter first_nws,
8100 use it. Update comment documenting the function.
8101 (is_first_nonwhitespace_on_line): Remove.
8102 (should_warn_for_misleading_indentation): Replace usage of
8103 of is_first_nonwhitespace_on_line with get_visual_column.
8104
992118a1
PP
81052015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
8106
8107 * c-indentation.h (struct token_indent_info): Define.
8108 (get_token_indent_info): Define.
8109 (warn_for_misleading_information): Declare.
8110 * c-common.h (warn_for_misleading_information): Remove.
8111 * c-identation.c (warn_for_misleading_indentation):
8112 Change declaration to take three token_indent_infos. Adjust
8113 accordingly.
8114 * c-identation.c (should_warn_for_misleading_indentation):
8115 Likewise. Bail out early if the body is a compound statement.
8116 (guard_tinfo_to_string): Define.
8117
e8fa3817
JM
81182015-07-30 Jason Merrill <jason@redhat.com>
8119
8120 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
8121 '*' for reference decay.
8122
173864e8
MP
81232015-07-30 Marek Polacek <polacek@redhat.com>
8124
8125 * c-common.c (warn_tautological_cmp): Bail for float types.
8126
f2afe6dd
MP
81272015-07-27 Marek Polacek <polacek@redhat.com>
8128
8129 PR bootstrap/67030
8130 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
8131
05b28fd6
MP
81322015-07-27 Marek Polacek <polacek@redhat.com>
8133
8134 PR c++/66555
8135 PR c/54979
8136 * c-common.c (find_array_ref_with_const_idx_r): New function.
8137 (warn_tautological_cmp): New function.
8138 * c-common.h (warn_tautological_cmp): Declare.
8139 * c.opt (Wtautological-compare): New option.
8140
5a5062b8
MP
81412015-07-23 Marek Polacek <polacek@redhat.com>
8142
8143 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
8144 (ubsan_instrument_shift): Likewise.
8145
dc891fe7
MP
81462015-07-23 Marek Polacek <polacek@redhat.com>
8147
8148 PR sanitizer/66908
8149 * c-ubsan.c: Include gimplify.h.
8150 (ubsan_instrument_division): Unshare OP0 and OP1.
8151 (ubsan_instrument_shift): Likewise.
8152
451b5e48
MP
81532015-07-20 Marek Polacek <polacek@redhat.com>
8154 Richard Sandiford <richard.sandiford@arm.com>
8155
8156 PR c++/55095
8157 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
8158 Use EXPR_LOC_OR_LOC.
8159 (maybe_warn_shift_overflow): New function.
8160 * c-common.h (maybe_warn_shift_overflow): Declare.
8161 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
8162 * c.opt (Wshift-overflow): New option.
8163
fb0b2914
ML
81642015-07-16 Martin Liska <mliska@suse.cz>
8165
8166 * c-format.c (static void check_format_info_main): Use
8167 object_allocator instead of pool_allocator.
8168 (check_format_arg): Likewise.
8169 (check_format_info_main): Likewise.
8170
903f5c23
AM
81712015-07-15 Andrew MacLeod <amacleod@redhat.com>
8172
8173 * c-opts.c: Remove multiline #include comment.
8174
026c3cfd
AH
81752015-07-12 Aldy Hernandez <aldyh@redhat.com>
8176
8177 * c-common.c: Fix double word typos.
8178
bb49ee66
EB
81792015-07-10 Eric Botcazou <ebotcazou@adacore.com>
8180
8181 * c-ada-spec.h (cpp_operation): Revert latest change.
8182 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
8183 constructors and destructors.
8184
1916bcb5
AM
81852015-07-09 Andrew MacLeod <amacleod@redhat.com>
8186
8187 * c-common.h: Adjust includes for flags.h changes.
8188 * stub-objc.c: Likewise.
026c3cfd 8189
a9dcd529
EB
81902015-07-08 Eric Botcazou <ebotcazou@adacore.com>
8191
8192 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
8193 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
8194
b03b462f
JJ
81952015-07-08 Jakub Jelinek <jakub@redhat.com>
8196
8197 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
8198 are to be removed, return NULL rather than original clauses list.
8199
c7131fb2
AM
82002015-07-07 Andrew MacLeod <amacleod@redhat.com>
8201
8202 * array-notation-common.c: Adjust includes.
8203 * c-ada-spec.c: Likewise.
8204 * c-cilkplus.c: Likewise.
8205 * c-common.h: Likewise.
8206 * c-cppbuiltin.c: Likewise.
8207 * c-dump.c: Likewise.
8208 * c-format.c: Likewise.
8209 * c-gimplify.c: Likewise.
8210 * c-indentation.c: Likewise.
8211 * c-lex.c: Likewise.
8212 * c-omp.c: Likewise.
8213 * c-opts.c: Likewise.
8214 * c-pch.c: Likewise.
8215 * c-ppoutput.c: Likewise.
8216 * c-pragma.c: Likewise.
8217 * c-pretty-print.c: Likewise.
8218 * c-semantics.c: Likewise.
8219 * c-ubsan.c: Likewise.
8220 * cilk.c: Likewise.
8221 * stub-objc.c: Likewise.
8222
2a7fb83f
EB
82232015-07-07 Eric Botcazou <ebotcazou@adacore.com>
8224
8225 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
8226 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
8227
a03c9bf1
JM
82282015-07-01 Jason Merrill <jason@redhat.com>
8229
36a85135
JM
8230 * c-common.h (D_CXX11): Rename from D_CXX0X.
8231 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
8232 * c-common.c: Adjust.
8233
e7fa68d5
JM
8234 * c-opts.c (c_common_post_options): Default to C++14.
8235
a03c9bf1
JM
8236 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
8237
fe95b036
ESR
82382015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
8239
8240 Implement N4197 - Adding u8 character literals
b3d5bc62 8241 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 8242 CPP_CHAR.
b3d5bc62 8243 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 8244 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 8245 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
8246 and CPP_UTF8CHAR tokens.
8247 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 8248
da2e71c9
MLI
82492015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8250
8251 PR fortran/66605
8252 * c-common.c (do_warn_unused_parameter): Move here.
8253 * c-common.h (do_warn_unused_parameter): Declare.
8254
b155cfd9
MP
82552015-06-29 Marek Polacek <polacek@redhat.com>
8256
8257 PR c/66322
8258 * c-common.c (check_case_bounds): Add bool * parameter. Set
8259 OUTSIDE_RANGE_P.
8260 (c_add_case_label): Add bool * parameter. Pass it down to
8261 check_case_bounds.
8262 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
8263 warning here.
8264 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
8265 declarations.
8266
31521951
MP
82672015-06-27 Marek Polacek <polacek@redhat.com>
8268
8269 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
8270 or VECTOR_INTEGER_TYPE_P throughout.
8271 * c-gimplify.c: Likewise.
8272
22d03525
MP
82732015-06-26 Marek Polacek <polacek@redhat.com>
8274
8275 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
8276 * c-common.c (c_fully_fold_internal): Likewise.
8277 (c_alignof_expr): Likewise.
8278 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
8279 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 8280 * cilk.c (create_parm_list): Likewise.
22d03525 8281
af05e6e5
MP
82822015-06-26 Marek Polacek <polacek@redhat.com>
8283
8284 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
8285
f0889939
AM
82862015-06-25 Andrew MacLeod <amacleod@redhat.com>
8287
8288 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
8289 * c-gimplify.c: Likewise.
8290 * c-pragma.c: Likewise.
8291 * c-ubsan.c: Likewise.
8292 * cilk.c: Likewise.
8293
ca752f39
RS
82942015-06-25 Richard Sandiford <richard.sandiford@arm.com>
8295
8296 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
8297 ggc_hasher.
8298
16a16ec7
AM
82992015-06-25 Andrew MacLeod <amacleod@redhat.com>
8300
8301 * cilk.c: Move calls.h after tm.h in the include chain.
8302
0ae9bd27
MP
83032015-06-25 Marek Polacek <polacek@redhat.com>
8304
8305 * array-notation-common.c: Use VAR_P throughout.
8306 * c-ada-spec.c: Likewise.
8307 * c-common.c: Likewise.
8308 * c-format.c: Likewise.
8309 * c-gimplify.c: Likewise.
8310 * c-omp.c: Likewise.
8311 * c-pragma.c: Likewise.
8312 * c-pretty-print.c: Likewise.
8313 * cilk.c: Likewise.
8314
62f9079a
MP
83152015-06-25 Marek Polacek <polacek@redhat.com>
8316
8317 * cilk.c (extract_free_variables): Use is_global_var.
8318
0fa16060
RS
83192015-06-23 Richard Sandiford <richard.sandiford@arm.com>
8320
8321 * c-common.c: Don't include target-def.h.
8322
a68ae2e1
MP
83232015-06-23 Marek Polacek <polacek@redhat.com>
8324
8325 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
8326 when comparing INTEGER_CSTs.
8327
c6a2f2d9
PMR
83282015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
8329
8330 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
8331 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
8332 (dump_ada_template): Skip partially specialized types.
8333
6b4db501
MM
83342015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
8335
8336 * c-common.c (scalar_to_vector): Use std::swap instead of manually
8337 swapping.
8338
abb226c9
AM
83392015-06-17 Andrew MacLeod <amacleod@redhat.com>
8340
8341 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
8342 * c-ada-spec.c: Likewise.
8343 * c-cilkplus.c: Likewise.
8344 * c-common.c: Likewise.
8345 * c-common.h: Likewise.
8346 * c-cppbuiltin.c: Likewise.
8347 * c-dump.c: Likewise.
8348 * c-format.c: Likewise.
8349 * c-gimplify.c: Likewise.
8350 * c-indentation.c: Likewise.
8351 * c-lex.c: Likewise.
8352 * c-omp.c: Likewise.
8353 * c-opts.c: Likewise.
8354 * c-pch.c: Likewise.
8355 * c-ppoutput.c: Likewise.
8356 * c-pragma.c: Likewise.
8357 * c-pretty-print.c: Likewise.
8358 * c-semantics.c: Likewise.
8359 * c-ubsan.c: Likewise.
8360 * cilk.c: Likewise.
8361 * stub-objc.c: Likewise.
8362
076fecad
PP
83632015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
8364
8365 PR c++/65168
8366 * c-common.c (c_common_truthvalue_conversion): Warn when
8367 converting an address of a reference to a truth value.
8368
13fdf2e2
AM
83692015-06-08 Andrew MacLeod <amacleod@redhat.com>
8370
8371 * array-notation-common.c : Adjust include files.
8372 * c-ada-spec.c : Likewise.
8373 * c-cilkplus.c : Likewise.
8374 * c-common.c : Likewise.
8375 * c-common.h : Likewise.
8376 * c-cppbuiltin.c : Likewise.
8377 * c-dump.c : Likewise.
8378 * c-format.c : Likewise.
8379 * c-gimplify.c : Likewise.
8380 * c-indentation.c : Likewise.
8381 * c-lex.c : Likewise.
8382 * c-omp.c : Likewise.
8383 * c-opts.c : Likewise.
8384 * c-pch.c : Likewise.
8385 * c-ppoutput.c : Likewise.
8386 * c-pragma.c : Likewise.
8387 * c-pretty-print.c : Likewise.
8388 * c-semantics.c : Likewise.
8389 * c-ubsan.c : Likewise.
8390 * cilk.c : Likewise.
8391 * stub-objc.c : Likewise.
8392
a1661b90
MP
83932015-06-08 Marek Polacek <polacek@redhat.com>
8394
8395 PR c/66415
8396 * c-format.c (location_from_offset): Return LOC if LINE is null.
8397
d7438551
AH
83982015-06-05 Aldy Hernandez <aldyh@redhat.com>
8399
8400 * c-common.h (c_parse_final_cleanups): New prototype.
8401 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
8402
b3d5bc62
JJ
84032015-06-04 Sriraman Tallam <tmsriram@google.com>
8404
8405 * c-common.c (noplt): New attribute.
8406 (handle_noplt_attribute): New handler.
8407
ecb9f223
AM
84082015-06-04 Andrew MacLeod <amacleod@redhat.com>
8409
8410 * array-notation-common.c: Adjust includes for restructured coretypes.h.
8411 * c-ada-spec.c: Likewise.
8412 * c-cilkplus.c: Likewise.
8413 * c-common.c: Likewise.
8414 * c-common.h: Likewise.
8415 * c-cppbuiltin.c: Likewise.
8416 * c-dump.c: Likewise.
8417 * c-format.c: Likewise.
8418 * c-gimplify.c: Likewise.
8419 * c-indentation.c: Likewise.
8420 * c-lex.c: Likewise.
8421 * c-omp.c: Likewise.
8422 * c-opts.c: Likewise.
8423 * c-pch.c: Likewise.
8424 * c-ppoutput.c: Likewise.
8425 * c-pragma.c: Likewise.
8426 * c-pretty-print.c: Likewise.
8427 * c-semantics.c: Likewise.
8428 * c-ubsan.c: Likewise.
8429 * cilk.c: Likewise.
8430 * stub-objc.c: Likewise.
8431
6ac48155
DM
84322015-06-02 David Malcolm <dmalcolm@redhat.com>
8433
8434 PR c/66220:
8435 * c-indentation.c (should_warn_for_misleading_indentation): Use
8436 expand_location rather than expand_location_to_spelling_point.
8437 Don't warn if the guarding statement is more indented than the
8438 next/body stmts.
8439
773ce42e
DM
84402015-06-02 David Malcolm <dmalcolm@redhat.com>
8441
8442 * c-indentation.c (warn_for_misleading_indentation): Bail out
8443 immediately if -Wmisleading-indentation isn't enabled.
8444
4fef8379
ML
84452015-06-01 Martin Liska <mliska@suse.cz>
8446
8447 * c-format.c (check_format_arg):Use new type-based pool allocator.
8448 (check_format_info_main) Likewise.
8449
1edfb384
EB
84502015-05-31 Eric Botcazou <ebotcazou@adacore.com>
8451
8452 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
8453 (has_nontrivial_methods): Likewise.
8454
9677ef52
MP
84552015-05-25 Marek Polacek <polacek@redhat.com>
8456
8457 * c-ubsan.c (ubsan_instrument_shift): Use type0.
8458
fd5c817a
MP
84592015-05-22 Marek Polacek <polacek@redhat.com>
8460
8461 PR c/47043
8462 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
8463
a2f45fe6 84642015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
8465
8466 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
8467 STACK_GROWS_DOWNWARD.
8468
a2f45fe6 84692015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
8470
8471 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
8472 STACK_GROWS_DOWNWARD rather than if it is defined.
8473
0fee2ac2 84742015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 8475
0fee2ac2
MLI
8476 PR c/52952
8477 * c-format.c (location_column_from_byte_offset): New.
8478 (location_from_offset): New.
8479 (struct format_wanted_type): Add offset_loc field.
8480 (check_format_info): Move handling of location for extra arguments
8481 closer to the point of warning.
8482 (check_format_info_main): Pass the result of location_from_offset
8483 to warning_at.
8484 (format_type_warning): Pass the result of location_from_offset
8485 to warning_at.
8486
cf4ef6f7
MP
84872015-05-20 Marek Polacek <polacek@redhat.com>
8488
8489 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
8490
3a65ee74
MP
84912015-05-20 Marek Polacek <polacek@redhat.com>
8492
8493 * c-ada-spec.c (dump_sloc): Use DECL_P.
8494
21b634ae
MP
84952015-05-20 Marek Polacek <polacek@redhat.com>
8496
8497 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
8498 * c-common.c: Likewise.
8499
0e50b624
DM
85002015-05-19 David Malcolm <dmalcolm@redhat.com>
8501
8502 * c-common.h (fe_file_change): Strengthen param from
8503 const line_map * to const line_map_ordinary *.
8504 (pp_file_change): Likewise.
8505 * c-lex.c (fe_file_change): Likewise.
8506 (cb_define): Use linemap_check_ordinary when invoking
8507 SOURCE_LINE.
8508 (cb_undef): Likewise.
8509 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
8510 invoking cb_file_change.
8511 (c_finish_options): Likewise.
8512 (push_command_line_include): Likewise.
8513 (cb_file_change): Strengthen param "new_map" from
8514 const line_map * to const line_map_ordinary *.
8515 * c-ppoutput.c (cb_define): Likewise for local "map".
8516 (pp_file_change): Likewise for param "map" and local "from".
8517
fab27f52
MM
85182015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
8519
8520 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8521
2fe1d762
TV
85222015-05-18 Tom de Vries <tom@codesourcery.com>
8523
8524 * c-common.c (build_va_arg_1): New function.
8525 (build_va_arg): Add address operator to va_list operand if necessary.
8526
7a37fa90
MM
85272015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
8528
8529 PR c/48956
8530 * c-common.c (int_safely_convertible_to_real_p): Define.
8531 (unsafe_conversion_p): Check conversions involving complex types.
8532 (conversion_warning): Add new warning message for conversions which
8533 discard imaginary component.
8534 * c-common.h: (enum conversion_safety): Add new enumerator for such
8535 conversions.
8536
3aa3c9fc
MP
85372015-05-14 Marek Polacek <polacek@redhat.com>
8538
8539 PR c/66066
8540 PR c/66127
8541 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8542 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8543 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
8544 use it. If FOR_INT_CONST, require that all evaluated operands be
8545 INTEGER_CSTs.
8546
c3388e62
DM
85472015-05-12 David Malcolm <dmalcolm@redhat.com>
8548
8549 * c-common.h (warn_for_misleading_indentation): New prototype.
8550 * c-indentation.c: New file.
8551 * c.opt (Wmisleading-indentation): New option.
8552
c7b38fd5
TV
85532015-05-12 Tom de Vries <tom@codesourcery.com>
8554
8555 PR tree-optimization/66010
8556 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8557
381bf11e
JM
85582015-05-09 Jason Merrill <jason@redhat.com>
8559
edff0c06
JM
8560 * c-opts.c (c_common_post_options): Also clear
8561 cpp_opts->cpp_warn_cxx11_compat.
8562
129211bc
JM
8563 * c-common.h (enum cxx_dialect): Add cxx_unset.
8564 * c-common.c (cxx_dialect): Initialize to cxx_unset.
8565 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8566
381bf11e
JM
8567 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8568 (std=gnu++0x): Mark as Undocumented.
8569 (std=gnu++1y): Add deprecated message.
8570
fe191308
JM
85712015-05-08 Jason Merrill <jason@redhat.com>
8572
765189ff
JM
8573 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
8574 * c-opts.c: Adjust.
8575
fe191308
JM
8576 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8577
755e528f
MP
85782015-05-08 Marek Polacek <polacek@redhat.com>
8579
8580 PR c/64918
8581 * c.opt (Woverride-init-side-effects): New option.
8582
0173bd2a
MP
85832015-05-07 Marek Polacek <polacek@redhat.com>
8584
8585 PR c/65179
8586 * c-common.c (c_fully_fold_internal): Warn when left shifting a
8587 negative value.
8588 * c.opt (Wshift-negative-value): New option.
8589 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8590 when -Wextra and C99/C++11 mode.
8591
e0f0d3b9
MP
85922015-05-07 Marek Polacek <polacek@redhat.com>
8593 Martin Uecker <uecker@eecs.berkeley.edu>
8594
8595 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8596 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8597
8243e2a9
JM
85982015-05-05 Jason Merrill <jason@redhat.com>
8599
8600 * c.opt (Wterminate): New.
8601
577cd070
MP
86022015-04-30 Marek Polacek <polacek@redhat.com>
8603
8604 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8605 require that the non-constant be of a boolean type.
8606
0373796b
JT
86072015-04-29 Josh Triplett <josh@joshtriplett.org>
8608
e0f0d3b9
MP
8609 * c-common.c (handle_section_attribute): Refactor to reduce
8610 nesting and distinguish between error cases.
0373796b 8611
716c0ba6
MP
86122015-04-29 Marek Polacek <polacek@redhat.com>
8613
8614 PR c/64610
8615 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8616 with 0/1.
8617
8848828b
JJ
86182015-04-29 Jakub Jelinek <jakub@redhat.com>
8619
8620 * c-common.h (omp_clause_mask): Unconditionally define as a class.
8621 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8622 HOST_BITS_PER_WIDE_INT.
8623
ecd0e562
TV
86242015-04-28 Tom de Vries <tom@codesourcery.com>
8625
8626 PR tree-optimization/65887
8627 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8628
2a877204 86292015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 8630 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
8631
8632 * c-ada-spec.c (in_function): Delete.
8633 (dump_generic_ada_node): Do not change in_function and remove the
8634 redundant code dealing with it.
8635 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
8636 (print_ada_methods): Output the static member functions in a nested
8637 package after the regular methods as well as associated renamings.
8638
4853031e
MP
86392015-04-24 Marek Polacek <polacek@redhat.com>
8640
8641 PR c/65830
8642 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8643 and OPT_Wshift_count_overflow.
8644
8c2b7f79
MP
8645 PR c/63357
8646 * c-common.c (warn_logical_operator): Warn if the operands have the
8647 same expressions.
8648
b8787813
MP
86492015-04-24 Marek Polacek <polacek@redhat.com>
8650
8651 PR c/61534
8652 * c-common.c (warn_logical_operator): Bail if either operand comes
8653 from a macro expansion.
8654
8fba1830
BRF
86552015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8656
8657 PR target/55143
8658 * c-common.c (c_default_pointer_mode): Add definition.
8659 * c-common.h (c_default_pointer_mode): Add declaration.
8660
17958621
JJ
86612015-03-11 Jakub Jelinek <jakub@redhat.com>
8662
8663 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8664 on record_builtin_type argument.
8665
7ccb1a11
JJ
86662015-03-10 Jakub Jelinek <jakub@redhat.com>
8667
8668 PR c/65120
8669 * c-common.c (warn_logical_not_parentheses): Don't warn for
8670 !x == 0 or !x != 0.
8671
04fd785e
MP
86722015-03-07 Marek Polacek <polacek@redhat.com>
8673
8674 PR sanitizer/65280
8675 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8676 before trying to figure out whether we have a flexible array member.
8677
a4e26206 86782015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8679 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8680
8681 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8682
0d2489f4
EB
86832015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8684
8685 PR ada/65319
8686 * c-ada-spec.c (print_destructor): Remove obsolete code.
8687
83ed54d7
EB
86882015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8689
8690 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8691 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8692 DECL_TEMPLATE_RESULT emulations.
8693 (dump_ada_template)): Add guard for TYPE_METHODS.
8694
7631f0e2
MP
86952015-02-27 Marek Polacek <polacek@redhat.com>
8696
8697 PR c/65040
8698 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8699
d1783ae5
KT
87002015-02-27 Kai Tietz <ktietz@redhat.com>
8701
8702 PR c/35330
8703 * c-pragma.c (handle_pragma_weak): Do not try to create
8704 weak/alias of declarations not being function, or variable
8705 declarations.
8706
56a9f6bc
TS
87072015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8708
8709 PR libgomp/64625
8710 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8711 Remove macros.
8712 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8713
3d5cb23d
MP
87142015-02-16 Marek Polacek <polacek@redhat.com>
8715
8716 PR c/65066
8717 * c-format.c (check_format_types): Handle null param.
8718
fa008882
MP
87192015-02-13 Marek Polacek <polacek@redhat.com>
8720
8721 PR c/65040
8722 * c-format.c (check_format_types): Don't warn about different
8723 signedness if the original value is in the range of WANTED_TYPE.
8724
785f21af
JM
87252015-02-12 Jason Merrill <jason@redhat.com>
8726
8727 PR c++/64956
8728 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8729 to the current highest version.
8730 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8731
4886ec8e
JJ
87322015-02-04 Jakub Jelinek <jakub@redhat.com>
8733
8734 PR c/64824
8735 PR c/64868
8736 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8737 instead of RDIV_EXPR. Use build_binary_op instead of
8738 build2_loc.
8739
40fecdd6
JM
87402015-01-30 Joseph Myers <joseph@codesourcery.com>
8741
8742 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8743 to pass input_location as first argument.
8744
a0c88d06
TV
87452015-01-23 Tom de Vries <tom@codesourcery.com>
8746
8747 PR libgomp/64672
8748 * c.opt (fopenacc): Mark as LTO option.
8749
1506ae0e
TV
87502015-01-23 Tom de Vries <tom@codesourcery.com>
8751
8752 PR libgomp/64707
8753 * c.opt (fopenmp): Mark as LTO option.
8754
31be63ab
JJ
87552015-01-21 Jakub Jelinek <jakub@redhat.com>
8756
8757 PR c/63307
b1726d6c 8758 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8759 (compare_decls): Fix up formatting.
8760
87612015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8762
8763 PR c/63307
8764 * cilk.c: Include vec.h.
8765 (struct cilk_decls): New structure.
8766 (wrapper_parm_cb): Split this function to...
8767 (fill_decls_vec): ...this...
8768 (create_parm_list): ...and this.
8769 (compare_decls): New function.
8770 (for_local_cb): Remove.
8771 (wrapper_local_cb): Ditto.
8772 (build_wrapper_type): For now first traverse and fill vector of
8773 declarations then sort it and then deal with sorted vector.
8774 (cilk_outline): Ditto.
8775 (declare_one_free_variable): Ditto.
8776
6875457f
JM
87772015-01-21 Jason Merrill <jason@redhat.com>
8778
8779 PR c++/64629
8780 * c-format.c (check_format_arg): Call decl_constant_value.
8781
185c9e56
ML
87822015-01-19 Martin Liska <mliska@suse.cz>
8783
8784 * c-common.c (handle_noicf_attribute): New function.
8785
41dbbb37
TS
87862015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8787 Bernd Schmidt <bernds@codesourcery.com>
8788 James Norris <jnorris@codesourcery.com>
8789 Cesar Philippidis <cesar@codesourcery.com>
8790 Ilmir Usmanov <i.usmanov@samsung.com>
8791 Jakub Jelinek <jakub@redhat.com>
8792
8793 * c.opt (fopenacc): New option.
8794 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8795 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8796 New macros.
8797 * c-common.h (c_finish_oacc_wait): New prototype.
8798 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8799 (c_finish_oacc_wait): New function.
8800 * c-pragma.c (oacc_pragmas): New variable.
8801 (c_pp_lookup_pragma, init_pragma): Handle it.
8802 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8803 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8804 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8805 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8806 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8807 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8808 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8809 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8810 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8811 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8812 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8813 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8814 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8815 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8816 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8817 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8818 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8819 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8820 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8821 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8822 PRAGMA_OACC_CLAUSE_WORKER.
8823
3f8257db 88242015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8825
8826 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8827 for the new option fstack-protector_explicit.
8828 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8829 (handle_stack_protect_attribute): New function.
8830
3f8257db 88312015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8832
8833 * c.opt: New option -Warray-bounds=.
8834
adfac8df
JJ
88352015-01-09 Michael Collison <michael.collison@linaro.org>
8836
8837 * array-notation-common.c: Include hash-set.h, machmode.h,
8838 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8839 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8840 * c-ada-spec.c: Ditto.
8841 * c-cilkplus.c: Ditto.
8842 * c-common.c: Include input.h due to flattening of tree.h.
8843 Define macro GCC_C_COMMON_C.
8844 * c-common.h: Flatten tree.h header files into c-common.h.
8845 Remove include of tree-core.h.
8846 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8847 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8848 fold-const.h, wide-int.h, and inchash.h due to
8849 flattening of tree.h.
8850 * c-dump.c: Ditto.
8851 * c-format.c: Flatten tree.h header files into c-common.h.
8852 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8853 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8854 fold-const.h, wide-int.h, and inchash.h due to
8855 flattening of tree.h.
8856 * c-dump.c: Include hash-set.h, machmode.h,
8857 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8858 fold-const.h, wide-int.h, and inchash.h due to
8859 flattening of tree.h.
8860 * c-format.c: Include hash-set.h, machmode.h,
8861 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8862 fold-const.h, wide-int.h, inchash.h and real.h due to
8863 flattening of tree.h.
8864 * c-gimplify.c: Include hash-set.h, machmode.h,
8865 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8866 fold-const.h, wide-int.h, and inchash.h due to
8867 flattening of tree.h.
8868 * cilk.c: Ditto.
8869 * c-lex.c: Ditto.
8870 * c-omp.c: Ditto.
8871 * c-opts.c: Ditto.
8872 * c-pch.c: Ditto.
8873 * c-ppoutput.c: Ditto.
8874 * c-pragma.c: Ditto.
8875 * c-pretty-print.c: Ditto.
8876 * c-semantics.c: Ditto.
8877 * c-ubsan.c: Ditto.
8878 * stub-objc.c: Ditto.
8879
f5481fc4
JM
88802015-01-08 Jason Merrill <jason@redhat.com>
8881
8882 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8883 do_ubsan_in_current_function.
8884 (ubsan_maybe_instrument_reference_or_call): Likewise.
8885 * c-ubsan.h: Declare it.
8886
de35aa66
MS
88872015-01-08 Mike Stump <mikestump@comcast.net>
8888
8889 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8890
4a9a42ab
MP
88912015-01-07 Marek Polacek <polacek@redhat.com>
8892
8893 PR c/64440
8894 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8895 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8896
2f42e5de
TS
88972015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8898
8899 PR c++/31397
8900 * c.opt (Wsuggest-override): New option.
8901
5624e564
JJ
89022015-01-05 Jakub Jelinek <jakub@redhat.com>
8903
8904 Update copyright years.
8905
5bd012f8
MP
89062015-01-05 Marek Polacek <polacek@redhat.com>
8907
8908 PR c/64423
8909 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8910 parameter. Use it.
8911 * c-common.h (warn_array_subscript_with_type_char): Update
8912 declaration.
8913
a7fa8d18
ESR
89142014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8915
8916 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8917 Control macro with flag_sized_deallocation.
8918
3f8257db 89192014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8920
8921 * c.opt (Wdiscarded-array-qualifiers): New option.
8922
1f8d3e84
JJ
89232014-12-19 Jakub Jelinek <jakub@redhat.com>
8924
8925 PR preprocessor/63831
8926 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8927 and __has_cpp_attribute here.
8928 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8929 c_common_has_attribute.
8930 * c-common.h (c_common_has_attribute): New prototype.
8931 * c-lex.c (init_c_lex): Set cb->has_attribute to
8932 c_common_has_attribute instead of cb_has_attribute.
8933 (get_token_no_padding): New function.
8934 (cb_has_attribute): Renamed to ...
8935 (c_common_has_attribute): ... this. No longer static. Use
8936 get_token_no_padding, require ()s, don't build TREE_LIST
8937 unnecessarily, fix up formatting, adjust diagnostics, call
8938 init_attributes.
8939
20b06add
JM
89402014-12-15 Jason Merrill <jason@redhat.com>
8941
8942 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8943 (-Wsized-deallocation): New.
8944 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8945 to on in C++14 and up.
8946
94a073b2
JM
89472014-12-11 Jason Merrill <jason@redhat.com>
8948
acaa5911
JM
8949 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8950
94a073b2
JM
8951 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8952 we aren't complaining about VLAs.
8953
7fb66c15
MP
89542014-12-06 Marek Polacek <polacek@redhat.com>
8955
8956 PR tree-optimization/64183
8957 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8958 shift-expression if it is integer_type_node. Use types_compatible_p.
8959
b731b390
JJ
89602014-11-29 Jakub Jelinek <jakub@redhat.com>
8961
8962 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8963 last argument from create_tmp_var_raw and create_tmp_var calls.
8964 * cilk.c (gimplify_cilk_spawn): Likewise.
8965 * c-omp.c (c_finish_omp_atomic): Likewise.
8966
6a4da643
MP
89672014-11-28 Marek Polacek <polacek@redhat.com>
8968
8969 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8970 instead of unsigned_type_node.
8971
541e35a6
MP
89722014-11-28 Marek Polacek <polacek@redhat.com>
8973
8974 PR c/63862
8975 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8976 to op1_utype.
8977 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8978 expression to unsigned_type_node.
8979
dcc97066
MW
89802014-11-20 Mark Wielaard <mjw@redhat.com>
8981
8982 PR debug/38757
8983 * c-opts.c (set_std_c89): Set lang_hooks.name.
8984 (set_std_c99): Likewise.
8985 (set_std_c11): Likewise.
8986 (set_std_cxx98): Likewise.
8987 (set_std_cxx11): Likewise.
8988 (set_std_cxx14): Likewise.
8989 (set_std_cxx1z): Likewise.
8990
aa7da51a
JJ
89912014-11-21 Jakub Jelinek <jakub@redhat.com>
8992
8993 PR target/63764
8994 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8995 return type to bool.
009a3480 8996 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8997 (convert_vector_to_pointer_for_subscript): Change return type to
8998 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8999 and copy it into a TARGET_EXPR and use that instead of *vecp
9000 directly.
9001
538dd0b7
DM
90022014-11-19 David Malcolm <dmalcolm@redhat.com>
9003
9004 Merger of git branch "gimple-classes-v2-option-3".
9005 * ChangeLog.gimple-classes: New.
9006 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
9007 from being just a vec<gimple> to a vec<gbind *>.
9008
c39a5e99
JJ
90092014-11-18 Jakub Jelinek <jakub@redhat.com>
9010
9011 PR sanitizer/63813
9012 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
9013 argument to ptype, set type to TREE_TYPE (ptype). Don't call
9014 get_pointer_alignment for non-pointers. Use ptype, or if it is
9015 reference type, corresponding pointer type, as type of kind
9016 argument.
9017 (ubsan_maybe_instrument_reference,
9018 ubsan_maybe_instrument_member_call): Adjust callers.
9019
8537a4a9
MP
90202014-11-15 Marek Polacek <polacek@redhat.com>
9021
9022 PR middle-end/63884
9023 * array-notation-common.c (is_sec_implicit_index_fn): Return false
9024 for NULL fndecl.
9025 (extract_array_notation_exprs): Return for NULL node.
9026
2079956a
JM
90272014-11-12 Joseph Myers <joseph@codesourcery.com>
9028
9029 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
9030 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
9031
1304953e
JJ
90322014-11-12 Jakub Jelinek <jakub@redhat.com>
9033
9034 PR c/59708
9035 * c-common.c (check_builtin_function_arguments): Handle
9036 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
9037
e5e44252
AK
90382014-11-10 Andi Kleen <ak@linux.intel.com>
9039
9040 PR c/60804
9041 * c-common.h (check_no_cilk): Declare.
9042 * cilk.c (get_error_location): New function.
9043 (check_no_cilk): Dito.
9044
e64b984d
AK
90452014-11-10 Andi Kleen <ak@linux.intel.com>
9046
9047 * cilk.c (recognize_spawn): Use expression location
9048 for error message.
9049
13c21655
PC
90502014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
9051
9052 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
9053
42fd12b1
ESR
90542014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
9055
9056 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
9057 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9058 (__cpp_range_based_for, __cpp_initializer_lists,
9059 __cpp_delegating_constructors, __cpp_nsdmi,
9060 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
9061 for C++11; (__cpp_attribute_deprecated): Remove in favor of
9062 __has_cpp_attribute.
9063 * c-lex.c (cb_has_attribute): New callback CPP function;
9064 (init_c_lex): Set has_attribute callback.
9065
6f450181
RB
90662014-11-04 Richard Biener <rguenther@suse.de>
9067
9068 * c-common.c (shorten_compare): Do not shorten mixed
9069 DFP and non-DFP compares.
9070
26f0e1d6
ESR
90712014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9072
9073 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
9074 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
9075 Commentary and rearrangement of tests.
9076 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
9077 Commentary and rearrangement of tests.
ab20d992 9078 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
9079 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
9080
ef4bddc2
RS
90812014-10-29 Richard Sandiford <richard.sandiford@arm.com>
9082
9083 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
9084 enum from machine_mode.
9085
c582198b
AM
90862014-10-28 Andrew MacLeod <amacleod@redhat.com>
9087
adfac8df
JJ
9088 * c-common.c: Adjust include files.
9089 * c-gimplify.c: Ditto.
9090 * cilk.c: Ditto.
9091 * c-pragma.c: Ditto.
9092 * c-ubsan.c: Ditto.
c582198b 9093
60393bbc
AM
90942014-10-27 Andrew MacLeod <amacleod@redhat.com>
9095
9096 * c-gimplify.c: Adjust include files.
9097
d723bb7c
MLI
90982014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
9099
9100 PR c++/53061
9101 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
9102 c_common_initialize_diagnostics.
9103 * c-common.h: Likewise.
9104
90f3520e
MP
91052014-10-24 Marek Polacek <polacek@redhat.com>
9106
9107 PR c/56980
9108 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
9109 print "struct"/"union"/"enum" for typedefed names.
9110
59d7607a
MP
91112014-10-23 Marek Polacek <polacek@redhat.com>
9112
9113 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
9114 in unsigned type.
9115
d95a2703
JJ
91162014-10-22 Jakub Jelinek <jakub@redhat.com>
9117 Yury Gribov <y.gribov@samsung.com>
9118
9119 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9120 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
9121 instead of flag_sanitize_recover as bool flag.
9122
8e6ef852
KY
91232014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
9124
9125 * cilk.c: Revert previous change.
9126
948cf550
IZ
91272014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
9128
9129 PR c/63307
9130 * cilk.c: Include vec.h.
9131 (struct cilk_decls): New structure.
9132 (wrapper_parm_cb): Split this function to...
9133 (fill_decls_vec): ...this...
9134 (create_parm_list): ...and this.
9135 (compare_decls): New function.
9136 (for_local_cb): Remove.
9137 (wrapper_local_cb): Ditto.
9138 (build_wrapper_type): For now first traverse and fill vector of
9139 declarations then sort it and then deal with sorted vector.
9140 (cilk_outline): Ditto.
9141 (declare_one_free_variable): Ditto.
9142
92574c7c
MP
91432014-10-17 Marek Polacek <polacek@redhat.com>
9144
9145 * c-opts.c (c_common_post_options): Set warn_implicit_int.
9146 * c.opt (Wimplicit-int): Initialize to -1.
9147
83685514
AM
91482014-10-16 Andrew MacLeod <amacleod@redhat.com>
9149
9150 * c-pragma.c: Adjust include files.
9151 * c-semantics.c: Likewise.
9152
5b8300ea
DD
91532014-10-16 DJ Delorie <dj@redhat.com>
9154
9155 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
9156 multiples of bytes.
9157
5f83e90b
JM
91582014-10-14 Jason Merrill <jason@redhat.com>
9159
9160 PR c++/63455
9161 * c-common.h (CPP_PREPARSED_EXPR): New.
9162 (N_CP_TTYPES): Adjust.
9163
d73326ca
MP
91642014-10-15 Marek Polacek <polacek@redhat.com>
9165
9166 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
9167
78a7c317
DD
91682014-10-14 DJ Delorie <dj@redhat.com>
9169
9170 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
9171 types, not just __int128.
9172 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
9173 types, not just __int128.
9174 (cpp_atomic_builtins): Round pointer sizes up.
9175 (type_suffix): Use type precision, not specific types.
9176 * c-common.c (c_common_reswords): Remove __int128 special case.
9177 (c_common_type_for_size): Check for all __intN types, not just
9178 __int128.
9179 (c_common_type_for_mode): Likewise.
9180 (c_common_signed_or_unsigned_type): Likewise.
9181 (c_build_bitfield_integer_type): Likewise.
9182 (c_common_nodes_and_builtins): Likewise.
9183 (keyword_begins_type_specifier): Likewise.
9184 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
9185 __intN variants.
9186
2a22f99c
TS
91872014-10-12 Trevor Saunders <tsaunders@mozilla.com>
9188
9189 * c-common.c: Use hash_table instead of hashtab.
9190
2a8ef767
ESR
91912014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
9192
adfac8df 9193 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
9194 C++11 section.
9195
3c9aabbd
MG
91962014-10-03 Marc Glisse <marc.glisse@inria.fr>
9197
9198 PR c++/54427
9199 PR c++/57198
9200 PR c++/58845
9201 * c-common.c (warn_logical_operator): Punt for vectors.
9202
a15f7cb8
ESR
92032014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
9204
9205 Implement SD-6: SG10 Feature Test Recommendations
9206 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
9207 macros and the __has_header macro.
9208
8d0cf15e
JM
92092014-09-30 Jason Merrill <jason@redhat.com>
9210
dd5d5481
JM
9211 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
9212 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
9213 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9214
b752325e
JM
9215 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
9216 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
9217
8d0cf15e
JM
9218 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
9219 * c-common.c (c_common_reswords): Remove __is_convertible_to.
9220
083e891e
MP
92212014-09-24 Marek Polacek <polacek@redhat.com>
9222
9223 PR c/61405
9224 PR c/53874
9225 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
9226
7861b648
AK
92272014-09-23 Andi Kleen <ak@linux.intel.com>
9228
9229 * c-common.c (handle_no_reorder_attribute): New function.
9230 (c_common_attribute_table): Add no_reorder attribute.
9231
9a79452d
JM
92322014-09-22 Joseph Myers <joseph@codesourcery.com>
9233
9234 * c-cppbuiltin.c (c_cpp_builtins): Define
9235 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
9236 modes.
9237
dd69f047
JM
92382014-09-18 Joseph Myers <joseph@codesourcery.com>
9239
9240 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
9241 for supported floating-point modes.
9242
737a4826
MLI
92432014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9244
9245 * c.opt (Wpsabi): Use LangEnabledBy.
9246 * c-opts.c (c_common_handle_option): Do not handle here.
9247
8cc4b7a2
JM
92482014-09-12 Joseph Myers <joseph@codesourcery.com>
9249
9250 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
9251 macros for floating-point modes.
9252
179b5a55
MG
92532014-09-11 Marc Glisse <marc.glisse@inria.fr>
9254
9255 PR target/58757
9256 * c-cppbuiltin.c (builtin_define_float_constants): Correct
9257 __*_DENORM_MIN__ without denormals.
9258
570a11fe
JJ
92592014-09-10 Jakub Jelinek <jakub@redhat.com>
9260
9261 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9262 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9263 ubsan_create_data callers.
9264 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
9265 index is constant or BIT_AND_EXPR with constant mask and is
9266 small enough for the bound.
9267 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
9268 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
9269
b559c810
MLI
92702014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9271
9272 * c.opt: Add CppReason to various flags.
9273 (Wdate-time): Re-sort.
9274 * c-common.c: Include c-common.h earlier.
9275 (struct reason_option_codes_t): Delete.
9276 (c_option_controlling_cpp_error): Prefix global type and struct
9277 with cpp_.
9278
1ef33fd4
MLI
92792014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9280
9281 * c.opt (Wnormalized): New.
9282 (Wnormalized=): Use Enum and Reject Negative.
9283 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
9284
66bb34c0
JM
92852014-09-08 Joseph Myers <joseph@codesourcery.com>
9286
9287 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
9288 digits of floating-point modes if -fbuilding-libgcc.
9289
53d68b9f
JM
92902014-09-05 Joseph Myers <joseph@codesourcery.com>
9291
9292 * c-cppbuiltin.c (c_cpp_builtins): Also define
9293 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
9294 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
9295 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
9296 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
9297 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
9298 __LIBGCC_STACK_GROWS_DOWNWARD__,
9299 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
9300 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
9301 __LIBGCC_DWARF_FRAME_REGISTERS__,
9302 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
9303 __LIBGCC_STACK_POINTER_REGNUM__ and
9304 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
9305 (builtin_define_with_value): Handle backslash-escaping in string
9306 macro values.
9307
f65586dc
RB
93082014-09-05 Richard Biener <rguenther@suse.de>
9309
9310 PR middle-end/63148
9311 * c-format.c (check_format_arg): Properly handle
9312 effectively signed POINTER_PLUS_EXPR offset.
9313
2b71f4a4
MLI
93142014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9315
9316 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
9317 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
9318 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
9319 and Init.
9320 * c-opts.c (c_common_handle_option): Do not handle here.
9321 (sanitize_cpp_opts): Likewise.
9322 * c-common.c (struct reason_option_codes_t): Handle
9323 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
9324
d2e4feca
MP
93252014-09-03 Marek Polacek <polacek@redhat.com>
9326
9327 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
9328
9a771876
JJ
93292014-09-02 Jakub Jelinek <jakub@redhat.com>
9330 Balaji V. Iyer <balaji.v.iyer@intel.com>
9331 Igor Zamyatin <igor.zamyatin@intel.com>
9332
9333 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
9334 * c-common.c (c_common_reswords): Added _Cilk_for.
9335 * c-common.h (enum rid): Added RID_CILK_FOR.
9336 (cilk_for_number_of_iterations): Add declaration.
9337 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
9338 CILK_FOR.
9339 * c-pragma.c (init_pragma): Register "grainsize" pragma.
9340 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
9341
81b5d104
MLI
93422014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9343
9344 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
9345 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
9346 Wundef): Use CPP, Var and Init.
9347 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
9348
b753b37b
MLI
93492014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9350
9351 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
9352 * c-opts.c (c_common_handle_option): Do not handle here.
9353
028aee17
JM
93542014-08-25 Jason Merrill <jason@redhat.com>
9355
9356 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
9357 -std=c++14 and -std=gnu++14, rather than the reverse.
9358 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
9359 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
9360 * c-common.h (cxx_dialect): Remove cxx1y.
9361
e4276ba5
ESR
93622014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
9363
9364 * c-common.h (enum cxx_dialect): Add cxx14.
9365 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
9366 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
9367 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
9368
a545cacd
JM
93692014-08-22 Jason Merrill <jason@redhat.com>
9370
9371 * c.opt (std=gnu++17): Fix alias.
9372
59ea0364
MP
93732014-08-22 Marek Polacek <polacek@redhat.com>
9374
9375 PR c++/62199
9376 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
9377 check for vector types. Drop LHS argument.
9378 * c-common.h (warn_logical_not_parentheses): Adjust.
9379
596e808c
MLI
93802014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9381
9382 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
9383 (Wmultichar): Likewise.
9384 (Wdate-time): Use C-family languages instead of Common. Use CPP
9385 and Var.
9386 * c-opts.c (c_common_handle_option): Do not handle the above
9387 options here.
9388 (sanitize_cpp_opts): Likewise.
9389
18767f65
MLI
93902014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9391
9392 PR fortran/44054
9393 * c-opts.c: Include tree-diagnostics.h.
9394 (c_diagnostic_finalizer): New.
9395 (c_common_initialize_diagnostics): Use it.
9396
b4413594
MLI
93972014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9398
9399 PR preprocessor/51303
9400 * c-common.c (struct reason_option_codes_t option_codes):
9401 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
9402
43f9a13c
MLI
94032014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9404
9405 PR c/60975
9406 PR c/53063
9407 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
9408 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
9409 (c_common_post_options): Call init_global_opts_from_cpp.
9410 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
9411
04159acf
MP
94122014-08-19 Marek Polacek <polacek@redhat.com>
9413
9414 PR c++/62153
9415 * c-common.c (maybe_warn_bool_compare): New function.
9416 * c-common.h (maybe_warn_bool_compare): Declare.
9417 * c.opt (Wbool-compare): New option.
9418
35aff4fb
MP
94192014-08-19 Marek Polacek <polacek@redhat.com>
9420
9421 * c.opt (Wc99-c11-compat): New option.
9422
177cce46
MP
94232014-08-19 Marek Polacek <polacek@redhat.com>
9424
9425 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
9426 to warn_c90_c99_compat.
9427 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
9428 to -1.
9429
6ae9194f
MLI
94302014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9431 Steven Bosscher <steven@gcc.gnu.org>
9432
9433 PR c/52952
9434 * c-format.c: Add extra_arg_loc and format_string_loc to struct
9435 format_check_results.
9436 (check_function_format): Use true and add comment for boolean
9437 argument.
9438 (finish_dollar_format_checking): Use explicit location when warning.
9439 (check_format_info): Likewise.
9440 (check_format_arg): Set extra_arg_loc and format_string_loc.
9441 (check_format_info_main): Use explicit location when warning.
9442 (check_format_types): Pass explicit location.
9443 (format_type_warning): Likewise.
9444
8e54f6d3
MLI
94452014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9446
9447 PR fortran/44054
9448 * c-format.c: Handle Fortran flags.
9449
cd4e76fc
IZ
94502014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
9451
9452 PR other/61962
9453 * array-notation-common.c (find_rank): Added handling for other
9454 types of references.
9455
f3bede71
MP
94562014-08-10 Marek Polacek <polacek@redhat.com>
9457
9458 PR c/51849
9459 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
9460 * c.opt (Wc90-c99-compat): Add option.
9461
9f25a338
TS
94622014-08-07 Trevor Saunders <tsaunders@mozilla.com>
9463
9464 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
9465
62e4eb35
MP
94662014-08-03 Marek Polacek <polacek@redhat.com>
9467
ab20d992 9468 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
9469 (c_add_case_label): Pass loc to check_case_value.
9470
b787e7a2
TS
94712014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9472
9473 * cilk.c: Use hash_map instead of pointer_map.
9474
6e2830c3
TS
94752014-08-02 Trevor Saunders <tsaunders@mozilla.com>
9476
9477 * c-gimplify.c: Use hash_set instead of pointer_set.
9478
a7ee52fb
IZ
94792014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
9480
9481 PR middle-end/61455
9482 * array-notation-common.c (extract_array_notation_exprs): Handling
9483 of DECL_EXPR added.
9484
944fa280
JJ
94852014-08-01 Jakub Jelinek <jakub@redhat.com>
9486
9487 * c-common.h (min_align_of_type): Removed prototype.
9488 * c-common.c (min_align_of_type): Removed.
9489 * c-ubsan.h (ubsan_maybe_instrument_reference,
9490 ubsan_maybe_instrument_member_call): New prototypes.
9491 * c-ubsan.c: Include stor-layout.h and builtins.h.
9492 (ubsan_maybe_instrument_reference_or_call,
9493 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
9494 functions.
9495
b4dfdc11
MG
94962014-07-31 Marc Glisse <marc.glisse@inria.fr>
9497
9498 PR c++/60517
9499 * c.opt (-Wreturn-local-addr): Move to common.opt.
9500
a41844e5
JM
95012014-07-30 Jason Merrill <jason@redhat.com>
9502
9503 PR c++/61659
9504 PR c++/61687
9505 Revert:
9506 * c.opt (-fuse-all-virtuals): New.
9507
976d5a22
TT
95082014-07-30 Tom Tromey <tromey@redhat.com>
9509
9510 PR c/59855
9511 * c.opt (Wdesignated-init): New option.
9512 * c-common.c (c_common_attribute_table): Add "designated_init".
9513 (handle_designated_init): New function.
9514
cdc94aca
MP
95152014-07-24 Marek Polacek <polacek@redhat.com>
9516
9517 PR c/57653
9518 * c-opts.c (c_finish_options): If -imacros is in effect, return.
9519
f41373b6
DS
95202014-07-16 Dodji Seketeli <dodji@redhat.com>
9521
9522 PR preprocessor/60723 - missing system-ness marks for macro tokens
9523 * c-ppoutput.c (struct print::prev_was_system_token): New data
9524 member.
9525 (init_pp_output): Initialize it.
9526 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9527 (do_line_change): Return a flag saying if a line marker was
9528 emitted or not.
9529 (scan_translation_unit): Detect if the system-ness of the token we
9530 are about to emit is different from the one of the previously
9531 emitted token. If so, emit a line marker. Avoid emitting useless
9532 adjacent line markers. Avoid emitting line markers for tokens
9533 originating from the expansion of built-in macros.
9534 (scan_translation_unit_directives_only): Adjust.
9535
4d661eaa
MP
95362014-07-15 Marek Polacek <polacek@redhat.com>
9537
9538 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9539 TYPE_MAX_VALUE is NULL.
9540
b108f48f
JJ
95412014-07-14 Jakub Jelinek <jakub@redhat.com>
9542
9543 PR middle-end/61294
9544 * c.opt (Wmemset-transposed-args): New warning.
9545
c0221884
JM
95462014-07-10 Jason Merrill <jason@redhat.com>
9547
9548 PR c++/61659
9549 PR c++/61687
9550 * c.opt (-fuse-all-virtuals): New.
9551
63dfbb95
RB
95522014-07-09 Richard Biener <rguenther@suse.de>
9553
9554 PR c-family/61741
9555 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9556 using unsigned arithmetic if overflow does not wrap instead of
9557 if overflow is undefined.
9558
773ec47f
MP
95592014-07-06 Marek Polacek <polacek@redhat.com>
9560
9561 PR c/6940
9562 * c.opt (Wsizeof-array-argument): New option.
9563
00a7ba58
JJ
95642014-07-03 Jakub Jelinek <jakub@redhat.com>
9565
b1726d6c 9566 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
9567 comments->count <= 1, as comments->entries might be NULL.
9568
52ec0ea3
MP
95692014-07-01 Marek Polacek <polacek@redhat.com>
9570
9571 * c.opt (Wint-conversion): New option.
9572
d5c3d343
MP
95732014-07-01 Marek Polacek <polacek@redhat.com>
9574
9575 PR c/58286
9576 * c.opt (Wincompatible-pointer-types): New option.
9577
6e7ceb17
PC
95782014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
9579
9580 PR c++/51400
9581 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9582 Do not discard TYPE_QUALS of type.
9583
da73100b
JM
95842014-06-26 Jason Merrill <jason@redhat.com>
9585
9586 * c-common.h (enum cxx_dialect): Add cxx1z.
9587 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9588 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9589
08eedf75
TJ
95902014-06-26 Teresa Johnson <tejohnson@google.com>
9591
9592 * c-common.h (get_dump_info): Declare.
9593 * c-gimplify.c (c_genericize): Use saved dump files.
9594 * c-opts.c (c_common_parse_file): Begin and end dumps
9595 once around parsing invocation.
9596 (get_dump_info): New function.
9597
7b56b2f8
MP
95982014-06-23 Marek Polacek <polacek@redhat.com>
9599 Andrew MacLeod <amacleod@redhat.com>
9600
9601 PR c/61553
9602 * c-common.c (get_atomic_generic_size): Don't segfault if the
9603 type doesn't have a size.
9604
0e37a2f3
MP
96052014-06-20 Marek Polacek <polacek@redhat.com>
9606
9607 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9608 (ubsan_walk_array_refs_r): New function.
9609 (c_genericize): Instrument array bounds.
9610 * c-ubsan.c: Include "internal-fn.h".
9611 (ubsan_instrument_division): Mark instrumented arrays as having
9612 side effects. Adjust ubsan_type_descriptor call.
9613 (ubsan_instrument_shift): Likewise.
9614 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9615 (ubsan_instrument_bounds): New function.
9616 (ubsan_array_ref_instrumented_p): New function.
9617 (ubsan_maybe_instrument_array_ref): New function.
9618 * c-ubsan.h (ubsan_instrument_bounds): Declare.
9619 (ubsan_array_ref_instrumented_p): Declare.
9620 (ubsan_maybe_instrument_array_ref): Declare.
9621
96222014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
9623
9624 PR lto/61123
9625 * c.opt (fshort-enums): Add to LTO.
9626 * c.opt (fshort-wchar): Likewise.
9627
5c3d09f7
MP
96282014-06-16 Marek Polacek <polacek@redhat.com>
9629
9630 PR c/60439
9631 * c.opt (Wswitch-bool): Add Var.
9632
9cf32741
JJ
96332014-06-12 Jakub Jelinek <jakub@redhat.com>
9634
9635 PR middle-end/61486
9636 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9637 #pragma omp target teams or
9638 #pragma omp {,target }teams distribute simd.
9639
62984918
JM
96402014-06-12 Jason Merrill <jason@redhat.com>
9641
9642 * c.opt (Wabi=, fabi-compat-version): New.
9643 * c-opts.c (c_common_handle_option): Handle -Wabi=.
9644 (c_common_post_options): Handle flag_abi_compat_version default.
9645 Disallow -fabi-compat-version=1.
9646 * c-common.h (abi_version_crosses): New.
9647
f961457f
JH
96482014-06-11 Jan Hubicka <hubicka@ucw.cz>
9649
adfac8df 9650 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9651 section names that are no longer trees.
9652
92d28cbb
JJ
96532014-06-10 Jakub Jelinek <jakub@redhat.com>
9654
9655 PR fortran/60928
9656 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9657 (omp_pragmas): ... back here.
9658
742938c9
MP
96592014-06-05 Marek Polacek <polacek@redhat.com>
9660
9661 PR c/49706
9662 * c-common.c (warn_logical_not_parentheses): New function.
9663 * c-common.h (warn_logical_not_parentheses): Declare.
9664 * c.opt (Wlogical-not-parentheses): New option.
9665
9d548dfb
MP
96662014-06-04 Marek Polacek <polacek@redhat.com>
9667
9668 PR c/30020
9669 * c-common.c (check_case_bounds): Add location parameter.
9670 Use it.
9671 (c_add_case_label): Pass loc to check_case_bounds.
9672
fedfecef
MP
96732014-06-03 Marek Polacek <polacek@redhat.com>
9674
9675 PR c/60439
9676 * c.opt (Wswitch-bool): New option.
9677
f6a7cffc
TS
96782014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9679
040d18b6
TS
9680 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9681 Remove prototypes.
9682 (record_types_used_by_current_var_decl): Move prototype to where
9683 it belongs.
9684
f6a7cffc
TS
9685 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9686 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9687 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9688
632f2871
RS
96892014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9690
9691 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9692 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9693 void_zero_node.
9694 * c-pretty-print.c (pp_c_void_constant): New function.
9695 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9696 (c_pretty_printer::expression): Handle VOID_CST.
9697 * cilk.c (extract_free_variables): Likewise.
9698 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9699 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9700
766090c2
TS
97012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9702
9703 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9704 * c-pragma.c (push_alignment): Adjust.
9705 (handle_pragma_push_options): Likewise.
9706
661a0813
MP
97072014-05-09 Marek Polacek <polacek@redhat.com>
9708
9709 PR c/50459
9710 * c-common.c (check_user_alignment): Return -1 if alignment is error
9711 node.
9712 (handle_aligned_attribute): Don't call default_conversion on
9713 FUNCTION_DECLs.
9714 (handle_vector_size_attribute): Likewise.
9715 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9716 (handle_sentinel_attribute): Call default_conversion and allow even
9717 integral types as an argument.
9718
2793eeab
MP
97192014-05-08 Marek Polacek <polacek@redhat.com>
9720
9721 PR c/61053
9722 * c-common.c (min_align_of_type): New function factored out from...
9723 (c_sizeof_or_alignof_type): ...here.
9724 * c-common.h (min_align_of_type): Declare.
9725
f827930a
MP
97262014-05-08 Marek Polacek <polacek@redhat.com>
9727
9728 PR c/61077
9729 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9730 parameter type of main.
9731
ca49b74e
DD
97322014-05-07 DJ Delorie <dj@redhat.com>
9733
9734 * c-cppbuiltin.c (print_bits_of_hex): New.
9735 (builtin_define_type_minmax): Print values using hex so as not to
9736 require a pre-computed list of string values.
9737
1d60af08
KZ
97382014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9739 Mike Stump <mikestump@comcast.net>
9740 Richard Sandiford <rdsandiford@googlemail.com>
9741
9742 * c-ada-spec.c: Include wide-int.h.
9743 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9744 (dump_generic_ada_node): Use wide-int interfaces.
9745 * c-common.c: Include wide-int-print.h.
9746 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9747 (pointer_int_sum): Use wide-int interfaces.
9748 (c_common_nodes_and_builtins): Use make_int_cst.
9749 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9750 (handle_alloc_size_attribute): Use wide-int interfaces.
9751 (get_nonnull_operand): Likewise.
9752 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9753 * c-lex.c: Include wide-int.h.
9754 (narrowest_unsigned_type): Take a widest_int rather than two
9755 HOST_WIDE_INTs.
9756 (narrowest_signed_type): Likewise.
9757 (interpret_integer): Update accordingly. Use wide-int interfaces.
9758 (lex_charconst): Use wide-int interfaces.
9759 * c-pretty-print.c: Include wide-int.h.
9760 (pp_c_integer_constant): Use wide-int interfaces.
9761 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9762 INT_CST_LT_UNSIGNED.
9763
b15458be
RB
97642014-05-06 Richard Biener <rguenther@suse.de>
9765
9766 * c-opts.c (c_common_post_options): For -freestanding,
9767 -fno-hosted and -fno-builtin disable pattern recognition
9768 if not enabled explicitely.
9769
6577374e
MP
97702014-05-02 Marek Polacek <polacek@redhat.com>
9771
9772 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9773
d00887e8
MP
97742014-05-01 Marek Polacek <polacek@redhat.com>
9775
9776 PR c/43245
9777 * c.opt (Wdiscarded-qualifiers): Add.
9778
f8ed5150
MP
97792014-04-30 Marek Polacek <polacek@redhat.com>
9780
9781 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9782 INT_MIN / -1 sanitization only for integer types.
9783
45484dcf
MP
97842014-04-25 Marek Polacek <polacek@redhat.com>
9785
9786 PR c/18079
9787 * c-common.c (handle_noinline_attribute): Warn if the attribute
9788 conflicts with always_inline attribute.
9789 (handle_always_inline_attribute): Warn if the attribute conflicts
9790 with noinline attribute.
9791
38e514c0
MP
97922014-04-25 Marek Polacek <polacek@redhat.com>
9793
9794 PR c/60156
9795 * c-common.c (check_main_parameter_types): Warn about variadic main.
9796
44875f92
MS
97972014-04-24 Mike Stump <mikestump@comcast.net>
9798
9799 * c.opt (Wshadow-ivar): Default to on.
9800
dcaaa5a0
DP
98012014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9802
9803 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9804
c07d7c02
MP
98052014-04-23 Marek Polacek <polacek@redhat.com>
9806
9807 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9808
1c33c9b7
JJ
98092014-04-22 Jakub Jelinek <jakub@redhat.com>
9810
9811 PR sanitizer/60275
9812 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9813 if flag_sanitize_undefined_trap_on_error.
9814 (ubsan_instrument_division, ubsan_instrument_shift,
9815 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9816 if !flag_sanitize_recover.
9817
793c625f
MG
98182014-04-22 Marc Glisse <marc.glisse@inria.fr>
9819
9820 PR libstdc++/43622
9821 * c-common.c (registered_builtin_types): Make non-static.
9822 * c-common.h (registered_builtin_types): Declare.
9823
b0f1bf36 98242014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9825 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9826
9827 PR c/60819
9828 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9829 apply may-alias the scalar pointer type when applicable.
9830
3b07fa4a
IZ
98312014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9832
9833 PR middle-end/60467
9834 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9835 as possible argument for Cilk_spawn.
9836
cbbd2b1c
TB
98372014-04-11 Tobias Burnus <burnus@net-b.de>
9838
9839 PR c/60194
9840 * c.opt (Wformat-signedness): Add
9841 * c-format.c(check_format_types): Use it.
9842
6415bd5d
JM
98432014-04-11 Jason Merrill <jason@redhat.com>
9844
9845 PR c++/57926
9846 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9847 default_conversion for an array argument.
9848
6525783a
MP
98492014-04-08 Marek Polacek <polacek@redhat.com>
9850
9851 PR sanitizer/60745
9852 * c-ubsan.c: Include asan.h.
9853 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9854
880a467b
NS
98552014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9856
9857 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9858
7b59ff2d
MP
98592014-04-02 Marek Polacek <polacek@redhat.com>
9860
9861 * c-common.h (c_expand_expr): Remove declaration.
9862
8edbfaa6
JJ
98632014-03-28 Jakub Jelinek <jakub@redhat.com>
9864
9865 PR c++/60689
9866 * c-common.c (add_atomic_size_parameter): When creating new
9867 params vector, push the size argument first.
9868
07d72e1d
JJ
98692014-03-26 Jakub Jelinek <jakub@redhat.com>
9870
9871 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9872 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9873 ubsan_create_data callers.
9874
b35e0fa0
JJ
98752014-03-22 Jakub Jelinek <jakub@redhat.com>
9876
9877 PR debug/60603
9878 * c-opts.c (c_finish_options): Restore cb_file_change call to
9879 <built-in>.
9880
39a1ebb3
JJ
98812014-03-13 Jakub Jelinek <jakub@redhat.com>
9882
9883 PR middle-end/36282
9884 * c-pragma.c (apply_pragma_weak): Only look at
9885 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9886 DECL_ASSEMBLER_NAME_SET_P (decl).
9887 (maybe_apply_pending_pragma_weaks): Exit early if
9888 vec_safe_is_empty (pending_weaks) rather than only when
9889 !pending_weaks.
9890 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9891 set assembler name back to NULL afterwards.
9892
a07f6ed2
JM
98932014-03-11 Jason Merrill <jason@redhat.com>
9894
9895 * c.opt: Add -std=gnu++14.
9896
75b107f5
IB
98972014-03-11 Ian Bolton <ian.bolton@arm.com>
9898
9899 * c-opts.c (c_common_post_options): Don't override
9900 -ffp-contract=fast if unsafe-math-optimizations is on.
9901
f42c637e
PM
99022014-03-08 Paulo Matos <paulo@matos-sorge.com>
9903
22b15758 9904 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9905
70e24808
JM
99062014-03-07 Jason Merrill <jason@redhat.com>
9907
9908 * c.opt: Add -std=c++14.
9909
3af9c5e9
MP
99102014-03-06 Marek Polacek <polacek@redhat.com>
9911
9912 PR c/60197
9913 * cilk.c (contains_cilk_spawn_stmt): New function.
9914 (contains_cilk_spawn_stmt_walker): Likewise.
9915 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9916 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9917
b3bdf019
JJ
99182014-03-03 Jakub Jelinek <jakub@redhat.com>
9919
9920 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9921 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9922 even when flag_preprocess_only.
9923
ca7e759d
JM
99242014-02-26 Jason Merrill <jason@redhat.com>
9925
9926 PR c++/59231
9927 PR c++/11586
9928 * c-common.c (shorten_compare): Don't check
9929 c_inhibit_evaluation_warnings.
9930
28e41874
JJ
99312014-02-19 Jakub Jelinek <jakub@redhat.com>
9932
cca615af
JJ
9933 PR c/37743
9934 * c-common.c (c_common_nodes_and_builtins): When initializing
9935 c_uint{16,32,64}_type_node, also set corresponding
9936 uint{16,32,64}_type_node to the same value.
9937
28e41874
JJ
9938 PR c++/60267
9939 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9940 for PRAGMA_IVDEP if flag_preprocess_only.
9941
c2bf53a1
JJ
99422014-02-12 Jakub Jelinek <jakub@redhat.com>
9943
9944 PR c/60101
9945 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9946 if false, add ADD itself, rather than vice versa.
9947 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9948 copy. For SAVE_EXPR, only call merge_tlist once.
9949
8fcbce72
JJ
99502014-02-08 Jakub Jelinek <jakub@redhat.com>
9951
9952 PR middle-end/60092
9953 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9954 and tree_to_uhwi.
9955 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9956 functions.
9957 (c_common_attribute_table): Add alloc_align and assume_aligned
9958 attributes.
9959
0a756a3f
MP
99602014-02-06 Marek Polacek <polacek@redhat.com>
9961
9962 PR c/60087
9963 * c-common.c (warn_for_sign_compare): Call warning_at with location
9964 instead of warning.
9965
7ec4847a
MP
99662014-02-05 Marek Polacek <polacek@redhat.com>
9967
9968 PR c/53123
9969 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9970 statement.
9971
66f20604
MP
99722014-02-04 Marek Polacek <polacek@redhat.com>
9973
9974 PR c/60036
9975 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9976 SAVE_EXPR.
9977
5d77fb19
MG
99782014-02-03 Marc Glisse <marc.glisse@inria.fr>
9979
9980 PR c++/53017
9981 PR c++/59211
9982 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9983 handle_vector_size_attribute, handle_nonnull_attribute): Call
9984 default_conversion on the attribute argument.
9985 (handle_nonnull_attribute): Increment the argument number.
9986
81e5eca8
MP
99872014-01-31 Marek Polacek <polacek@redhat.com>
9988
9989 PR c/59963
9990 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9991 build_function_call_vec.
9992 (resolve_overloaded_builtin): Likewise.
9993 * c-common.h (build_function_call_vec): Adjust declaration.
9994
68fca595
MP
99952014-01-30 Marek Polacek <polacek@redhat.com>
9996
9997 PR c/59940
9998 * c-common.h (unsafe_conversion_p): Adjust declaration.
9999 (warnings_for_convert_and_check): Likewise.
10000 (convert_and_check): Likewise.
10001 * c-common.c (unsafe_conversion_p): Add location parameter. Call
10002 expansion_point_location_if_in_system_header on it.
10003 (warnings_for_convert_and_check): Add location parameter. Call
10004 expansion_point_location_if_in_system_header on it. Use it.
10005 (convert_and_check): Add location parameter. Use it.
10006 (conversion_warning): Likewise.
10007 (c_add_case_label): Adjust convert_and_check calls.
10008 (scalar_to_vector): Adjust unsafe_conversion_p calls.
10009
b72271b9
BI
100102014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
10011
10012 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
10013 flag_cilkplus.
10014 * c-pragma.c (init_pragma): Likewise.
10015 * c.opt: Likewise.
10016
393e8e8b
MP
100172014-01-23 Marek Polacek <polacek@redhat.com>
10018
10019 PR c/59846
10020 * c-common.c (shorten_compare): Add location_t parameter.
10021 * c-common.h (shorten_binary_op): Adjust declaration.
10022
f04dda30
MP
100232014-01-23 Marek Polacek <polacek@redhat.com>
10024
10025 PR c/58346
10026 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
10027 * c-common.h: Declare it.
10028
621955cb
EB
100292014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10030
10031 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
10032 * c-ada-spec.c (dump_ads): Likewise.
10033 (cpp_check): Likewise.
10034 (dump_ada_specs): Likewise.
10035
100362014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
10037
10038 PR c++/49718
10039 * c-common.c (handle_no_instrument_function_attribute): Allow
10040 no_instrument_function attribute in class member
10041 definition/declaration.
10042
241f845a
JJ
100432014-01-15 Jakub Jelinek <jakub@redhat.com>
10044
10045 PR c/58943
10046 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
10047 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
10048 being COMPOUND_EXPR.
10049 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
10050 operand a SAVE_EXPR and second MODIFY_EXPR.
10051
e83b8e2e
JJ
100522014-01-09 Jakub Jelinek <jakub@redhat.com>
10053
10054 PR target/58115
10055 * c-pch.c (c_common_write_pch): Call
10056 prepare_target_option_nodes_for_pch.
10057
23a5b65a
RS
100582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10059
10060 Update copyright years
10061
f9030485
RS
100622014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10063
10064 * array-notation-common.c, c-cilkplus.c: Use the standard form for
10065 the copyright notice.
10066
f2aa696b
EB
100672013-12-28 Eric Botcazou <ebotcazou@adacore.com>
10068
10069 * c-ada-spec.c (print_constructor): New function.
10070 (print_destructor): Retrieve the origin of the destructor.
10071 (print_ada_declaration): Revamp handling of constructors/destructors.
10072
3f8257db 100732013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
10074 Bill Maddox <maddox@google.com>
10075 Jason Merrill <jason@redhat.com>
10076
10077 * c.opt: Add -fdeclone-ctor-dtor.
10078 * c-opts.c (c_common_post_options): Default to on iff -Os.
10079
41958c28
BI
100802013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
10081
10082 * c-common.c (c_common_attribute_table): Added "cilk simd function"
10083 attribute.
10084 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 10085 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
10086 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
10087 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
10088 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
10089 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
10090 PRAGMA_CILK_CLAUSE_UNIFORM.
10091
b1726d6c 10092
12893402
BI
100932013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
10094
10095 * cilk.c (cilk_outline): Made this function non-static.
10096 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
10097 (create_cilk_wrapper): Added a new parameter: a function pointer.
10098 (c_install_body_w_frame_cleanup): Remove
10099 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
10100 * c-common.h (cilk_outline): New prototype.
10101 (gimplify_cilk_spawn): Removed two parameters.
10102 (cilk_install_body_with_frame_cleanup): New prototype.
10103 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
10104 CILK_SPAWN_STMT case.
10105
085b42ed
BS
101062013-12-11 Bernd Schmidt <bernds@codesourcery.com>
10107
2ce064c3
BS
10108 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
10109
085b42ed
BS
10110 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
10111 (int_array_type_node): Remove.
10112 * c-common.c (c_common_nodes_and_builtins): Don't build it.
10113
9e36c9ed
MP
101142013-12-05 Marek Polacek <polacek@redhat.com>
10115
10116 PR c/52023
10117 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
10118 [ADJUST_FIELD_ALIGN].
10119
296674db
JM
101202013-12-04 Joseph Myers <joseph@codesourcery.com>
10121
10122 PR c/52023
10123 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
10124 and check field alignment if set.
10125 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
10126 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
10127
b1726d6c 101282013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
10129 Marek Polacek <polacek@redhat.com>
10130
10131 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
10132 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
10133
d7947e19
L
101342013-11-29 H.J. Lu <hongjiu.lu@intel.com>
10135
10136 PR c/59309
10137 * cilk.c (gimplify_cilk_spawn): Properly handle function without
10138 arguments.
10139
fad7652e
JJ
101402013-11-29 Jakub Jelinek <jakub@redhat.com>
10141
10142 PR c/59280
10143 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
10144 goto invalid. If it is error_mark_node, don't issue further
10145 diagnostics.
10146
8b5e1202
SO
101472013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
10148
10149 * c.opt (Wopenmp-simd): New.
10150
0a508bb6
JJ
101512013-11-22 Jakub Jelinek <jakub@redhat.com>
10152
10153 * c-ubsan.h (ubsan_instrument_return): New prototype.
10154 * c-ubsan.c (ubsan_instrument_return): New function.
10155
2fb9a547
AM
101562013-11-22 Andrew MacLeod <amacleod@redhat.com>
10157
10158 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
10159 * c-gimplify.c: Likewise.
10160 * cilk.c: Likewise.
2fb9a547 10161
8400e75e
DM
101622013-11-22 David Malcolm <dmalcolm@redhat.com>
10163
10164 * c-common.c (unsafe_conversion_p): Remove use of
10165 EXPR_LOC_OR_HERE macro.
10166 (conversion_warning): Likewise.
10167 (warnings_for_convert_and_check): Likewise.
10168 (warn_for_collisions_1): Likewise.
10169 (shorten_compare): Likewise, and remove use of in_system_header
10170 macro, using the location from the former.
10171 * c-lex.c (dump_one_header): Remove use of input_filename macro.
10172 (cb_def_pragma): Remove use of in_system_header macro.
10173 (lex_string): Likewise.
10174 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10175
eb1ce453
KZ
101762013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10177 Mike Stump <mikestump@comcast.net>
10178 Richard Sandiford <rdsandiford@googlemail.com>
10179
10180 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
10181 instead of TREE_INT_CST_LOW, in cases where there is a protecting
10182 tree_fits_shwi_p or tree_fits_uhwi_p.
10183 (dump_generic_ada_node): Likewise.
10184 * c-format.c (check_format_arg): Likewise.
10185 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10186
6b3b8c27
KZ
101872013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
10188
10189 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
10190
49b0aa18
JC
101912013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
10192
10193 PR c/53001
10194 * c-common.c (unsafe_conversion_p): Make this function
10195 return an enumeration with more detail.
10196 (conversion_warning): Use the new return type of
10197 unsafe_conversion_p to separately warn either about conversions
10198 that lower floating point number precision or about the other
10199 kinds of conversions.
10200 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
10201 (unsafe_conversion_p): switching return type to
10202 conversion_safety enumeration.
49b0aa18
JC
10203 * c.opt: Adding new warning -Wfloat-conversion and
10204 enabling it with -Wconversion.
10205
b826515a
BS
102062013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
10207
8e745a17
JJ
10208 * c-opts.c: Include plugin.h.
10209 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 10210
b9a55b13
MP
102112013-11-19 Marek Polacek <polacek@redhat.com>
10212
10213 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
10214 call.
10215 (ubsan_instrument_shift): Likewise.
10216 (ubsan_instrument_vla): Likewise.
10217
7d362f6c
RS
102182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10219
10220 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
10221 cast to unsigned type.
10222
386b1f1f
RS
102232013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10224
10225 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
10226 tree_low_cst.
10227 (complete_array_type): Update comment to refer to tree_to_[su]hwi
10228 rather than tree_low_cst.
10229
ae7e9ddd
RS
102302013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10231
10232 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
10233 tree_to_uhwi throughout.
10234
9439e9a1
RS
102352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10236
10237 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
10238 tree_low_cst (..., 0) with tree_to_shwi throughout.
10239
cc269bb6
RS
102402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10241
10242 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
10243 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
10244
9541ffee
RS
102452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
10246
10247 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
10248 host_integerp (..., 0) with tree_fits_shwi_p throughout.
10249
c02065fc
AH
102502013-11-15 Aldy Hernandez <aldyh@redhat.com>
10251
10252 * c-cilkplus.c: New file.
10253 * c-common.c (readonly_error): Add location argument.
10254 * c-common.h (readonly_error): Same.
10255 (c_finish_cilk_clauses): Protoize.
10256 (c_check_cilk_loop): Same.
10257 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
10258 Do not fail on error_mark_node.
10259 Abstract increment canonicalization to here...
10260 (c_omp_for_incr_canonicalize_ptr): New.
10261 c-pragma.c (init_pragma): Register "simd" pragma.
10262 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
10263 (enum pragma_cilk_clause): New.
10264
9cc65f15
RS
102652013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
10266
10267 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
10268 wchar_type and host_integerp checks.
10269
18f429e2
AM
102702013-11-14 Andrew MacLeod <amacleod@redhat.com>
10271
10272 * c-common.c: Likewise.
10273 * c-gimplify.c: Likewise.
10274 * cilk.c: Likewise.
10275
d8a2d370
DN
102762013-11-14 Diego Novillo <dnovillo@google.com>
10277
10278 * c-common.c: Include fold-const.h.
10279 Include stor-layout.h.
10280 Include calls.h.
10281 Include stringpool.h.
10282 Include attribs.h.
10283 Include varasm.h.
10284 Include trans-mem.h.
10285 * c-cppbuiltin.c: Include stor-layout.h.
10286 Include stringpool.h.
10287 * c-format.c: Include stringpool.h.
10288 * c-lex.c: Include stringpool.h.
10289 Include stor-layout.h.
10290 * c-pragma.c: Include stringpool.h.
10291 Include attribs.h.
10292 Include varasm.h.
10293 Include gcc-symtab.h.
10294 * c-pretty-print.c: Include stor-layout.h.
10295 Include attribs.h.
10296 * cilk.c: Include stringpool.h.
10297 Include calls.h.
10298
38b7bc7f
JM
102992013-11-13 Joseph Myers <joseph@codesourcery.com>
10300
10301 * c-common.h (enum rid): Add RID_AUTO_TYPE.
10302 * c-common.c (c_common_reswords): Add __auto_type.
10303 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
10304
45b0be94
AM
103052013-11-12 Andrew MacLeod <amacleod@redhat.com>
10306
18f429e2
AM
10307 * c-common.c: Include gimplify.h.
10308 * c-gimplify.c: Likewise.
10309 * cilk.c: Likewise.
10310 * c-omp.c: Include gimple-expr.h instead of gimple.h.
10311 * c-ubsan.c: Don't include gimple.h.
45b0be94 10312
582d9b50
JM
103132013-11-12 Joseph Myers <joseph@codesourcery.com>
10314
10315 * c-common.c (c_common_reswords): Add _Thread_local.
10316
6b28e197
JM
103172013-11-09 Joseph Myers <joseph@codesourcery.com>
10318
10319 * c-common.c (atomic_size_supported_p): New function.
10320 (resolve_overloaded_atomic_exchange)
10321 (resolve_overloaded_atomic_compare_exchange)
10322 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
10323 Use it instead of comparing size with a local list of sizes.
10324
267bac10
JM
103252013-11-07 Andrew MacLeod <amacleod@redhat.com>
10326 Joseph Myers <joseph@codesourcery.com>
10327
10328 * c-common.h (enum rid): Add RID_ATOMIC.
10329 * c-common.c (c_common_reswords): Add _Atomic.
10330 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
10331 (keyword_is_type_qualifier): Accept RID_ATOMIC.
10332 * c-format.c (check_format_types): Check for extra _Atomic
10333 qualifiers in format argument.
10334 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
10335 (pp_c_type_qualifier_list): Mention _Atomic in comment.
10336
5157b91e
TB
103372013-11-06 Tobias Burnus <burnus@net-b.de>
10338
10339 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
10340
6dbe0958
JM
103412013-11-06 Joseph Myers <joseph@codesourcery.com>
10342
10343 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
10344 standards modes.
10345 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
10346 to mean lack of IEEE 754 support.
10347
e8ff5196
TB
103482013-11-05 Tobias Burnus <burnus@net-b.de>
10349
10350 * c.opt (-Wdate-time): New option
10351 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
10352
254a0760
JM
103532013-11-05 Joseph Myers <joseph@codesourcery.com>
10354
10355 * c-cppbuiltin.c (cpp_iec_559_value): Test
10356 flag_excess_precision_cmdline not flag_excess_precision.
10357
6d7f7e0a
TB
103582013-11-05 Tobias Burnus <burnus@net-b.de>
10359
10360 * c.opt (fopenmp-simd): New option.
10361 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
10362 (omp_pragmas): ... this new struct.
10363 (c_pp_lookup_pragma): Also walk omp_pragmas.
10364 (init_pragma): Init pragmas for -fopenmp-simd.
10365
55a7f02f
MP
103662013-11-04 Marek Polacek <polacek@redhat.com>
10367
10368 PR c++/58979
10369 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
10370
9193fb05
JM
103712013-11-04 Joseph Myers <joseph@codesourcery.com>
10372
10373 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
10374 New functions.
10375 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
10376
94159ecf
EB
103772013-11-04 Eric Botcazou <ebotcazou@adacore.com>
10378
10379 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
10380 (dump_ada_specs): Adjust prototype of second callback.
10381 * c-ada-spec.c (cpp_check): New global variable.
10382 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
10383 (print_generic_ada_decl): Likewise.
10384 (has_static_fields): Change return type to bool and add guard.
10385 (has_nontrivial_methods): New predicate.
10386 (is_tagged_type): Change return type to bool.
10387 (separate_class_package): Call has_nontrivial_methods.
10388 (pp_ada_tree_identifier): Minor tweaks.
10389 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
10390 (dump_ada_array_domains): Likewise.
10391 (dump_ada_array_type): Likewise.
10392 (dump_template_types): Remove cpp_check parameter and do not pass it to
10393 dump_generic_ada_node.
10394 (dump_ada_template): Likewise.
10395 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
10396 recursively.
10397 (print_ada_methods): Change return type to integer. Remove cpp_check
10398 parameter and do not pass it down.
10399 (dump_nested_types): Remove cpp_check parameter and do not pass it to
10400 dump_generic_ada_node.
10401 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
10402 accessing methods.
10403 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
10404 down. Use has_nontrivial_methods to recognize C++ classes. Use return
10405 value of print_ada_methods.
10406 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
10407 Set cpp_check to it before invoking dump_ada_nodes.
10408 (dump_ada_specs): Likewise.
10409
b906f4ca
MP
104102013-11-03 Marek Polacek <polacek@redhat.com>
10411
10412 * c-ubsan.c: Don't include hash-table.h.
10413 (ubsan_instrument_vla): New function.
10414 * c-ubsan.h: Declare it.
10415
5e20cdc9
DM
104162013-10-31 David Malcolm <dmalcolm@redhat.com>
10417
10418 Automated part of renaming of symtab_node_base to symtab_node.
10419
10420 Patch autogenerated by rename_symtab.py from
10421 https://github.com/davidmalcolm/gcc-refactoring-scripts
10422 revision 58bb219cc090b2f4516a9297d868c245495ee622
10423
10424 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
10425 symtab_node_base to symtab_node.
10426
7057e645
ESR
104272013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
10428
8e745a17 10429 Implement C++14 digit separators.
7057e645
ESR
10430 * c-lex.c (interpret_float): Remove digit separators from scratch string
10431 before building real literal.
10432
193ea7bc
JJ
104332013-10-30 Jakub Jelinek <jakub@redhat.com>
10434
10435 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
10436
939b37da
BI
104372013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
10438
10439 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
10440 fields.
10441 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
10442 enabled.
10443 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
10444 (insert_cilk_frame): New prototype.
10445 (cilk_init_builtins): Likewise.
10446 (gimplify_cilk_spawn): Likewise.
10447 (c_cilk_install_body_w_frame_cleanup): Likewise.
10448 (cilk_detect_spawn_and_unwrap): Likewise.
10449 (cilk_set_spawn_marker): Likewise.
10450 (build_cilk_sync): Likewise.
10451 (build_cilk_spawn): Likewise.
10452 * cilk.c: New file.
10453
67348ccc
DM
104542013-10-29 David Malcolm <dmalcolm@redhat.com>
10455
10456 Patch autogenerated by refactor_symtab.py from
10457 https://github.com/davidmalcolm/gcc-refactoring-scripts
10458 revision 58bb219cc090b2f4516a9297d868c245495ee622
10459
10460 * c-gimplify.c (c_genericize): Update for conversion of symtab types
10461 to a true class hierarchy.
10462 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
10463
d570872d
RS
104642013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
10465
10466 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
10467
98906124
JL
104682013-10-26 Jeff Law <law@redhat.com>
10469
adfac8df
JJ
10470 * c-common.c (c_define_builtins): Remove mudflap support.
10471 * c.opt: Ignore and warn for mudflap options.
98906124 10472
d73749df 104732013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
10474
10475 PR other/33426
10476 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10477 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
10478
3f04b1bb
JM
104792013-10-23 Jason Merrill <jason@redhat.com>
10480
10481 * c-format.c (gcc_cxxdiag_char_table): Add %X.
10482
acf0174b
JJ
104832013-10-11 Jakub Jelinek <jakub@redhat.com>
10484
acd15a28
JJ
10485 * c-common.h (omp_clause_mask::operator !=): New method.
10486 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
10487 instead of if (mask & something) tests everywhere.
10488
acf0174b
JJ
10489 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
10490 201307 instead of 201107.
10491 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
10492 (c_common_attribute_table): Add "omp declare target" and
10493 "omp declare simd" attributes.
10494 (handle_omp_declare_target_attribute,
10495 handle_omp_declare_simd_attribute): New functions.
10496 * c-omp.c: Include c-pragma.h.
10497 (c_finish_omp_taskgroup): New function.
10498 (c_finish_omp_atomic): Add swapped argument, if true,
10499 build the operation first with rhs, lhs arguments and use NOP_EXPR
10500 build_modify_expr.
10501 (c_finish_omp_for): Add code argument, pass it down to make_code.
10502 (c_omp_split_clauses): New function.
10503 (c_split_parallel_clauses): Removed.
10504 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
10505 c_omp_declare_simd_clauses_to_decls): New functions.
10506 * c-common.h (omp_clause_mask): New type.
10507 (OMP_CLAUSE_MASK_1): Define.
10508 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
10509 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
10510 omp_clause_mask::operator |, omp_clause_mask::operator &,
10511 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
10512 omp_clause_mask::operator ==): New methods.
10513 (enum c_omp_clause_split): New.
10514 (c_finish_omp_taskgroup): New prototype.
10515 (c_finish_omp_atomic): Add swapped argument.
10516 (c_finish_omp_for): Add code argument.
10517 (c_omp_split_clauses): New prototype.
10518 (c_split_parallel_clauses): Removed.
10519 (c_omp_declare_simd_clauses_to_numbers,
10520 c_omp_declare_simd_clauses_to_decls): New prototypes.
10521 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10522 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10523 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10524 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10525 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10526 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10527 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10528 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10529 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10530 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10531 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10532 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10533 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10534 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10535 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10536 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10537 PRAGMA_OMP_CLAUSE_UNIFORM.
10538
826cacfe
MG
105392013-10-09 Marc Glisse <marc.glisse@inria.fr>
10540
10541 PR tree-optimization/20318
10542 * c-common.c (handle_returns_nonnull_attribute): New function.
10543 (c_common_attribute_table): Add returns_nonnull.
10544
2284b034
MG
105452013-10-03 Marc Glisse <marc.glisse@inria.fr>
10546
10547 PR c++/19476
10548 * c.opt (fcheck-new): Move to common.opt.
10549
b56e9788
MP
105502013-09-25 Marek Polacek <polacek@redhat.com>
10551 Jakub Jelinek <jakub@redhat.com>
10552
10553 PR sanitizer/58413
10554 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10555 an expression if we can prove it is correct.
10556 (ubsan_instrument_division): Likewise. Remove unnecessary
10557 check.
10558
ce6923c5
MP
105592013-09-18 Marek Polacek <polacek@redhat.com>
10560
10561 PR sanitizer/58411
10562 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10563 Declare it.
10564 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10565
fb5610fb
IS
105662013-09-14 Iain Sandoe <iain@codesourcery.com>
10567
10568 PR target/48094
10569 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10570 fobjc-gc, freplace-objc-classes): Accept for LTO.
10571
88b0e79e
JC
105722013-09-13 Jacek Caban <jacek@codeweavers.com>
10573
10574 * c-target.def: New hook
10575
c9b0866a
PC
105762013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10577
10578 PR c++/43452
10579 * c.opt (Wdelete-incomplete): Add.
10580
0af94e6f
JR
105812013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
10582
10583 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10584 (vector_types_compatible_elements_p): New function.
10585 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10586 declaration.
10587 (vector_types_compatible_elements_p): Declare.
10588
7c26172c
GDR
105892013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10590
10591 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10592 a virtual member function.
10593 (pp_simple_type_specifier): Remove.
10594 (pp_c_type_specifier): Likewise.
10595 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10596 Rename from pp_c_type_specifier. Adjust.
10597 (c_pretty_printer::c_pretty_printer): Do not assign to
10598 simple_type_specifier.
10599
20059c8b
GDR
106002013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10601
10602 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10603 member function.
10604 (c_pretty_printer::storage_class_specifier): Likewise.
10605 (c_pretty_printer::initializer): Likewise.
10606 (pp_declaration): Remove.
10607 (pp_declaration_specifiers): Likewise.
10608 (pp_abstract_declarator): Likewise.
10609 (pp_declarator): Likewise.
10610 (pp_type_id): Likewise.
10611 (pp_statement): Likewise.
10612 (pp_constant): Likewise.
10613 (pp_id_expression): Likewise.
10614 (pp_primary_expression): Likewise.
10615 (pp_unary_expression): Likewise.
10616 (pp_multiplicative_expression): Likewise.
10617 (pp_conditional_expression): Likewise.
10618 (pp_assignment_expression): Likewise.
10619 (pp_expression): Likewise.
10620 (pp_c_type_id): Likewise.
10621 (pp_c_storage_class_specifier): Likewise.
10622 * c-pretty-print.c (pp_c_type_cast): Tidy.
10623 (pp_c_pointer): Likewise.
10624 (pp_c_type_specifier): Likewise.
10625 (pp_c_parameter_type_list): Likewise.
10626 (pp_c_function_definition): Likewise.
10627 (pp_c_init_declarator): Likewise.
10628 (pp_c_initializer_list): Likewise.
10629 (pp_c_constructor_elts): Likewise.
10630 (c_pretty_printer::direct_abstract_declarator): Likewise.
10631 (c_pretty_printer::declaration_specifiers): Likewise.
10632 (c_pretty_printer::primary_expression): Likewise.
10633 (c_pretty_printer::postfix_expression): Likewise.
10634 (c_pretty_printer::type_id): Rename from pp_c_type_id.
10635 (c_pretty_printer::storage_class_specifier): Rename from
10636 pp_c_storage_class_specifier.
10637 (c_pretty_printer::initializer): Rename from pp_c_initializer.
10638 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10639 storage_class_specifier, initializer, offset_list, flags.
10640
de5a5fa1
MP
106412013-08-30 Marek Polacek <polacek@redhat.com>
10642
10643 * c-ubsan.c: New file.
10644 * c-ubsan.h: New file.
10645
8f0e4d72
GDR
106462013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10647
10648 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10649 member function.
10650 (c_pretty_printer::declaration_specifiers): Likewise.
10651 (c_pretty_printer::declarator): Likewise.
10652 (c_pretty_printer::abstract_declarator): Likewise.
10653 (c_pretty_printer::direct_abstract_declarator): Likewise.
10654 (c_pretty_printer::direct_declarator): Likewise.
10655 (c_pretty_printer::function_specifier): Likewise.
10656 (pp_declaration): Adjust.
10657 (pp_declaration_specifiers): Likewise.
10658 (pp_abstract_declarator): Likewise.
10659 (pp_direct_declarator): Likewise.
10660 (pp_function_specifier): Likewise.
10661 (pp_direct_abstract_declarator): Remove as unused.
10662 (pp_c_declaration): Remove.
10663 (pp_c_declaration_specifiers): Likewise.
10664 (pp_c_declarator): Likewise.
10665 (pp_c_direct_declarator): Likewise.
10666 (pp_c_function_specifier): Likewise.
10667 (pp_c_direct_abstract_declarator): Likewise.
10668 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10669 from pp_c_abstract_declarator. Adjust.
ab20d992 10670 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10671 pp_c_direct_abstract_declarator. Adjust.
10672 (c_pretty_printer::function_specifier): Rename from
10673 pp_c_function_specifier. Adjust.
10674 (c_pretty_printer::declaration_specifiers): Rename from
10675 pp_c_declaration_specifiers. Adjust.
10676 (c_pretty_printer::direct_declarator): Rename from
10677 pp_c_direct_declarator. Adjust.
10678 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10679 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10680 (c_pretty_printer::c_pretty_printer): Do not assign to
10681 declaration, declaration_specifiers, declarator,
10682 direct_declarator, direct_abstract_declarator, function_specifier.
10683
00d34d3a
GDR
106842013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10685
10686 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10687 virtual member function.
10688 (c_pretty_printer::multiplicative_expression): Likewise.
10689 (c_pretty_printer::conditional_expression): Likewise.
10690 (c_pretty_printer::assignment_expression): Likewise.
10691 (c_pretty_printer::expression): Likewise.
10692 (pp_unary_expression): Adjust.
10693 (pp_multiplicative_expression): Likewise.
10694 (pp_assignment_expression): Likewise.
10695 (pp_conditional_expression): Likewise.
10696 (pp_expression): Likewise.
10697 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10698 from pp_c_unary_expression. Adjust.
10699 (c_pretty_printer::multiplicative_expression): Rename from
10700 pp_c_multiplicative_expression. Adjust.
10701 (c_pretty_printer::conditional_expression): Rename from
10702 pp_c_conditional_expression. Adjust.
10703 (c_pretty_printer::assignment_expression): Rename from
10704 pp_c_assignment_expression. Adjust.
10705 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10706 (c_pretty_printer::c_pretty_printer): Do not assign to
10707 unary_expression, multiplicative_expression,
10708 conditional_expression, expression.
10709
fb22178f
GDR
107102013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10711
10712 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10713 virtual member function.
10714 (pp_postfix_expression): Adjust.
10715 (pp_c_postfix_expression): Remove.
10716 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10717 from pp_c_postfix_expression. Adjust.
10718 (c_pretty_printer::c_pretty_printer): Do not assign to
10719 postfix_expression.
10720
7ecc2600
GDR
107212013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10722
10723 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10724 virtua member function.
10725 (pp_primary_expression): Adjust.
10726 (pp_c_primary_expression): Remove.
10727 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10728 from pp_c_primary_expression. Adjust.
10729 (pp_c_initializer_list): Use pp_primary_expression.
10730 (c_pretty_printer::c_pretty_printer): Do not assign to
10731 primary_expression.
10732
0691175f
GDR
107332013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10734
10735 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10736 * c-pretty-print.c (M_): Remove.
10737 (c_pretty_printer::translate_string): Define.
10738 (pp_c_type_specifier): Use it.
10739 (pp_c_primary_expression): Likewise.
10740 (pp_c_expression): Likewise.
10741
66dfe4c4
GDR
107422013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10743
10744 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10745 virtual function.
10746 (pp_c_id_expression): Remove.
10747 (pp_id_expression): Adjust.
10748 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10749 pp_c_id_expression. Adjust.
10750 (pp_c_postfix_expression): Use pp_id_expression.
10751 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10752
ca43e9d5
GDR
107532013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10754
10755 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10756 member function.
10757 (pp_constant): Adjust.
10758 (pp_c_constant): Remove.
10759 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10760 pp_c_constant. Adjust.
10761 (pp_c_constant)
10762 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10763 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10764
da6ca2b5
GDR
107652013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10766
10767 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10768 (c_pretty_printer::c_pretty_printer): Declare.
10769 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10770 c_pretty_printer_init. Adjust.
10771 (print_c_tree): Do not call c_pretty_printer_init.
10772 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10773
65a372f4
AC
107742013-08-09 Arnaud Charlet <charlet@adacore.com>
10775
10776 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10777
fd9b0f32
PC
107782013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10779
10780 PR c++/58080
10781 * c-common.c (pointer_int_sum): Add bool parameter.
10782 * c-common.h (pointer_int_sum): Adjust declaration.
10783
e0aec1e9
GDR
107842013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10785
10786 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10787 c_pretty_printer variable.
10788
b066401f
GDR
107892013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10790
10791 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10792 (pp_base): Remove.
10793 (pp_c_base): Likewise. Adjust users.
10794 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10795 (pp_c_whitespace): Do not call pp_base.
10796 (pp_c_left_paren): Likewise.
10797 (pp_c_right_paren): Likewise.
10798 (pp_c_left_brace): Likewise.
10799 (pp_c_right_brace): Likewise.
10800 (pp_c_left_bracket): Likewise.
10801 (pp_c_right_bracket): Likewise.
10802 (pp_c_dot): Likewise.
10803 (pp_c_ampersand): Likewise.
10804 (pp_c_star): Likewise.
10805 (pp_c_arrow): Likewise.
10806 (pp_c_semicolon): Likewise.
10807 (pp_c_complement): Likewise.
10808 (pp_c_exclamation): Likewise.
10809 (pp_c_direct_declarator): Likewise.
10810 (pp_c_ws_string): Likewise.
10811 (pp_c_identifier): Likewise.
10812 (pp_c_statement): Likewise.
10813 (print_c_tree): Likewise.
10814
65e5a578
ESR
108152013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10816
10817 PR c++/58072
10818 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10819 provide useful error strings.
10820
137a1a27
GDR
108212013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10822
10823 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10824 printer functions instead of pp_string or operators and punctuators.
10825 (dump_generic_ada_node): Likewise.
10826 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10827 (pp_c_relational_expression): Likewise.
10828 (pp_c_logical_or_expression): Likewise.
10829
07838b13
GDR
108302013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10831
10832 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10833 functions instead of pp_character.
10834 (pp_ada_tree_identifier): Likewise.
10835 (dump_ada_double_name): Likewise.
10836 (dump_ada_function_declaration): Likewise.
10837 (dump_ada_array_domains): Likewise.
10838 (dump_template_types): Likewise.
10839 (dump_generic_ada_node): Likewise.
10840 (print_ada_declaration): Likewise.
10841 (print_ada_struct_decl): Likewise.
10842 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10843
433cc7b0
TT
108442013-07-23 Tom Tromey <tromey@redhat.com>
10845
10846 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10847 * c-common.c (c_common_reswords): Add _Generic.
10848
688010ba
OB
108492013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10850
10851 * c-common.c: Fix typos.
10852 * c-common.h: Likewise.
10853
2a99e5e6
LL
108542013-07-13 Lubos Lunak <l.lunak@suse.cz>
10855
10856 PR c++/55203
10857 * c-common.c (c_common_attribute_table): Add warn_unused.
10858 (handle_warn_unused_attribute): New.
10859
c26302d5
JJ
108602013-07-10 Jakub Jelinek <jakub@redhat.com>
10861
10862 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10863 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10864
dfeadaa0
PC
108652013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10866
10867 PR c++/57869
10868 * c.opt: Add Wconditionally-supported.
10869
6a2fa4b2
GS
108702013-07-08 Graham Stott <graham.stott@btinternet.com>
10871
adfac8df 10872 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10873 unused variables l_length and l_node.
10874
ecdbd01a 108752013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10876
10877 PR c/57821
10878 * c-common.c (complete_array_type): Delay folding first index
10879 like other indices. When folding, check for index overflow.
10880
bedc293e
MG
108812013-06-27 Marc Glisse <marc.glisse@inria.fr>
10882
10883 PR c++/57509
10884 * c-common.h (c_build_vec_perm_expr): New complain argument.
10885 * c-common.c (c_build_vec_perm_expr): Likewise.
10886 Use save_expr also in C++.
10887
604b2bfc
GDR
108882013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10889
10890 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10891 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10892 * c-opts.c (c_common_post_options): Likewise.
10893
dfeadaa0 108942013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10895
10896 * array-notation-common.c (length_mismatch_in_expr): Changed the
10897 parameter type's from a dynamic array to a vec_tree. Also removed
10898 the size parameters.
10899 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10900 the change above.
10901
2ce86d2e
BI
109022013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10903
10904 * c-common.h (struct cilkplus_an_parts): New structure.
10905 (struct cilkplus_an_loop_parts): Likewise.
10906 (cilkplus_extract_an_triplets): New prototype.
10907 (fix_sec_implicit_args): Likewise.
10908 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10909 (fix_sec_implicit_args): Likewise.
604b2bfc 10910
07a6825b
BI
109112013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10912
10913 * array-notation-common.c (find_inv_trees): Removed an unwanted
10914 typecasting.
10915 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10916 enum rid to enum tree_code.
10917
08346abd
JH
109182013-06-11 Jan Hubicka <jh@suse.cz>
10919
10920 * c-common.c (handle_alias_ifunc_attribute): Do not set
10921 DECL_EXTERNAL for weakref variables.
10922 * c-pragma.c (handle_pragma_weak): Make sure aliases
10923 are not declared as external.
10924
d60f1706
BI
109252013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10926
10927 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10928 function from c/c-array-notation.c.
10929 (is_cilkplus_reduce_builtin): Likewise.
10930 (find_rank): Likewise.
10931 (extract_array_notation_exprs): Likewise.
10932 (replace_array_notations): Likewise.
10933 (find_inv_trees): Likewise.
10934 (replace_inv_trees): Likewise.
10935 (contains_array_notation_expr): Likewise.
10936 (find_correct_array_notation_type): Likewise.
10937 * c-common.h (struct inv_list): Moved this struct from the file
10938 c/c-array-notation.c and added a new field called additional tcodes.
10939 (length_mismatch_in_expr_p): New prototype.
10940 (is_cilkplus_reduce_builtin): Likewise.
10941 (find_rank): Likewise.
10942 (extract_array_notation_exprs): Likewise.
10943 (replace_array_notation): Likewise.
10944 (find_inv_trees): Likewise.
10945 (replace_inv_trees): Likewise.
10946 (find_correct_array_notation_type): Likewise.
dfeadaa0 10947
36536d79
BI
109482013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10949
10950 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10951 function array_notation_init_builtins is called.
10952 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10953 * c-common.def (ARRAY_NOTATION_REF): New tree.
10954 * c-common.h (build_array_notation_expr): New function declaration.
10955 (build_array_notation_ref): Likewise.
10956 (extract_sec_implicit_index_arg): New extern declaration.
10957 (is_sec_implicit_index_fn): Likewise.
10958 (ARRAY_NOTATION_CHECK): New define.
10959 (ARRAY_NOTATION_ARRAY): Likewise.
10960 (ARRAY_NOTATION_START): Likewise.
10961 (ARRAY_NOTATION_LENGTH): Likewise.
10962 (ARRAY_NOTATION_STRIDE): Likewise.
10963 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10964 ARRAY_NOTATION_REF.
10965 (pp_c_expression): Likewise.
10966 * c.opt (flag_enable_cilkplus): New flag.
10967 * array-notation-common.c: New file.
10968
f7716d57
JJ
109692013-05-14 Jakub Jelinek <jakub@redhat.com>
10970
10971 PR c++/57274
10972 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10973
a5e0cd1d
MG
109742013-05-10 Marc Glisse <marc.glisse@inria.fr>
10975
10976 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10977 vectors.
10978
f6bc1c4a
HS
109792013-05-07 Han Shen <shenhan@google.com>
10980
10981 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10982
3f12f6e9
SKS
109832013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10984
10985 * c-common.c (check_user_alignment): Emit error for negative values.
10986
61949153
PC
109872013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10988
10989 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10990
e93e18e9
PC
109912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10992
10993 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10994 __GXX_EXPERIMENTAL_CXX1Y__.
10995
44d90fe1 109962013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10997 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10998
10999 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
11000 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
11001 to simply use OPT_Wpointer_arith.
11002 (c_sizeof_or_alignof_type): Likewise.
11003
13f39b2e
PC
110042013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
11005
11006 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
11007
4b84d650
JJ
110082013-04-12 Jakub Jelinek <jakub@redhat.com>
11009
11010 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
11011 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
11012 specifiers.
11013
fb037b5d
SB
110142013-04-07 Steven Bosscher <steven@gcc.gnu.org>
11015
11016 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
11017
4e856798
PC
110182013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
11019
11020 * c-common.c (pointer_int_sum): Remove dead code.
11021
4b1baac8
RS
110222013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
11023
11024 PR middle-end/56524
11025 * c-common.c (handle_optimize_attribute): Don't call
11026 save_optabs_if_changed.
11027
0b50e654
JJ
110282013-03-05 Jakub Jelinek <jakub@redhat.com>
11029
11030 PR middle-end/56461
11031 * c-pch.c (pch_init): Free target_validity at the end.
11032
48c41403
JJ
110332013-03-04 Jakub Jelinek <jakub@redhat.com>
11034
11035 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
11036
e664c61c
KS
110372013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
11038 Jakub Jelinek <jakub@redhat.com>
11039
11040 PR sanitizer/56454
11041 * c-common.c (handle_no_sanitize_address_attribute): New function.
11042 (c_common_attribute_table): Add no_sanitize_address attribute.
11043 (handle_no_address_safety_analysis_attribute): Add
11044 no_sanitize_address attribute, not no_address_safety_analysis
11045 attribute.
11046
a475fd3d 110472013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
11048
11049 PR target/52555
11050 * c-common.c (handle_optimize_attribute): Call
11051 save_optabs_if_changed.
11052
f6007d99
JJ
110532013-02-18 Jakub Jelinek <jakub@redhat.com>
11054 Steven Bosscher <steven@gcc.gnu.org>
11055
11056 PR pch/54117
11057 * c-opts.c (c_common_post_options): If debug info is enabled
11058 and non-dwarf*, refuse to load PCH files and when writing PCH
11059 file warn.
11060
cf35e2b1
JJ
110612013-02-05 Jakub Jelinek <jakub@redhat.com>
11062
11063 PR middle-end/56167
11064 * c-common.c (handle_error_attribute): Fix condition.
11065
32887460
JJ
110662013-01-30 Jakub Jelinek <jakub@redhat.com>
11067
11068 PR c++/55742
11069 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
11070
5af057d8
JM
110712013-01-18 Jason Merrill <jason@redhat.com>
11072
11073 PR target/54908
11074 * c.opt (-fextern-tls-init): New.
11075 * c-opts.c (c_common_post_options): Handle it.
11076
cc83c823
JJ
110772013-01-09 Jakub Jelinek <jakub@redhat.com>
11078
11079 PR c/48418
11080 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
11081 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
11082 and is either negative or bigger or equal to type precision
11083 of the first operand.
11084
a859517f
MP
110852012-12-03 Marek Polacek <polacek@redhat.com>
11086
11087 PR c/55570
11088 * c-common.c (check_user_alignment): Swap order of tests,
11089 check TREE_CODE first.
11090
2d7aa578
ESR
110912012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
11092
11093 PR c++/52654
11094 * c-common.h (overflow_type): New enum.
11095 (build_userdef_literal): Add overflow_type argument.
11096 (tree_userdef_literal): Add overflow_type.
11097 (USERDEF_LITERAL_OVERFLOW): New access macro.
11098 * c-common.c (build_userdef_literal): Add overflow_type
11099 argument.
11100 * c-lex.c (c_lex_with_flags): Add overflow_type to
11101 build_userdef_literal calls.
11102 (interpret_integer, interpret_float): Add overflow_type argument.
11103
cc3c4f62
RB
111042012-11-28 Richard Biener <rguenther@suse.de>
11105
11106 PR c/35634
11107 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11108 here and use a type with proper overflow behavior for types that would
11109 need to be promoted for the arithmetic.
11110
77bc5132
JJ
111112012-11-23 Jakub Jelinek <jakub@redhat.com>
11112
11113 PR sanitizer/55435
11114 * c-common.c (handle_no_address_safety_analysis_attribute): New
11115 function.
11116 (c_common_attribute_table): Add no_address_safety_analysis.
11117
5dc99c46
SB
111182012-11-16 Simon Baldwin <simonb@google.com>
11119
11120 * c.opt: Add f[no-]canonical-system-headers.
11121 * c-opts.c (c_common_handle_option): Handle
11122 OPT_fcanonical_system_headers.
11123
a4a0016d
ESR
111242012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
11125
11126 PR c++/54413
11127 * c-opts.c (c_common_handle_option): Set new flags.
11128 * c.opt: Describe new flags.
11129
7dbb85a7
JM
111302012-11-09 Jason Merrill <jason@redhat.com>
11131
11132 * c.opt (Wabi-tag): New.
11133
ad7bac31
AK
111342012-11-09 Andi Kleen <ak@linux.intel.com>
11135
11136 PR 55139
11137 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 11138 MEMMODEL_MASK
ad7bac31 11139
7332899a
MLI
111402012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11141
11142 PR c/53063
11143 * c.opt (Wformat): Make it Alias Wformat=1.
11144 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
11145 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
11146 LangEnabledBy.
11147 (Wformat=): RejectNegative. Use LangEnabledBy.
11148 (Wnonnull): Use LangEnabledBy.
11149 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
11150 * c-format.c (set_Wformat): Delete.
11151 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
11152 (maybe_read_dollar_number): Likewise.
11153 (avoid_dollar_number): Likewise.
11154 (finish_dollar_format_checking): Likewise.
11155 (check_format_info): Likewise.
11156 (check_format_info_main): Likewise.
11157 (check_format_types): Likewise.
11158 (format_type_warning): Likewise.
11159 * c-common.c (int): Likewise.
11160 (check_function_sentinel): Likewise.
8e745a17 11161 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 11162
34a180a6
MLI
111632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11164
11165 PR c/53063
11166 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
11167 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
11168 Use LangEnabledBy.
11169 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
11170 common.opt.
11171 (Wvariadic-macros): Init(1).
11172 * c-opts.c (c_common_handle_option): Do not handle them
11173 explicitly.
11174 (c_common_post_options): Likewise.
11175 (sanitize_cpp_opts): warn_unused_macros is now
11176 cpp_warn_unused_macros.
11177 (push_command_line_include): Likewise.
11178 * c-common.c (warn_unknown_pragmas): Do not define.
11179 * c-common.h (warn_unknown_pragmas): Do not declare.
11180
3f46d6a5
MLI
111812012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
11182
11183 PR c/51294
11184 * c-common.c (conversion_warning): Handle conditional expressions.
11185
880661a4
JW
111862012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
11187
11188 PR c++/54930
11189 * c.opt (Wreturn_local_addr): Define new option.
11190
4514a96b
JM
111912012-10-25 Jason Merrill <jason@redhat.com>
11192
f14edc1a
JM
11193 * c.opt (Wvirtual-move-assign): New.
11194
4514a96b
JM
11195 * c.opt (Winherited-variadic-ctor): New.
11196
93100c6b
MG
111972012-10-25 Marc Glisse <marc.glisse@inria.fr>
11198
11199 PR c++/54427
11200 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
11201
1efcb8c6
JM
112022012-10-23 Joseph Myers <joseph@codesourcery.com>
11203
11204 * c-common.h (pch_cpp_save_state): Declare.
11205 * c-target.def (c_preinclude): New hook.
11206 * c-opts.c (done_preinclude): New.
11207 (push_command_line_include): Handle default preincluded header.
11208 (cb_file_change): Call pch_cpp_save_state when calling
11209 push_command_line_include.
11210 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
11211 (pch_cpp_save_state): New.
11212 (pch_init): Call pch_cpp_save_state conditionally, instead of
11213 calling cpp_save_state.
11214
4a0ae68e
MLI
112152012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
11216
11217 PR c/53063
11218 PR c/40989
11219 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
11220 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
11221 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
11222 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
11223 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
11224 * c-opts.c (c_common_handle_option): Remove explicit handling from
11225 here.
11226 (c_common_post_options): Likewise.
11227
67e4210b
EB
112282012-10-18 Eric Botcazou <ebotcazou@adacore.com>
11229
11230 * c-ada-spec.c (LOCATION_COL): Delete.
11231 (compare_location): New function.
11232 (compare_node): Use it.
11233 (compare_comment): Likewise.
11234
65d4f2cd
MLI
112352012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
11236
11237 PR c/53063
11238 PR c/40989
11239 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
11240 * c-opts.c (c_common_handle_option): Do not set them here. Add
11241 comment.
11242 (c_common_post_options): Likewise.
11243
909881cb
EB
112442012-10-16 Eric Botcazou <ebotcazou@adacore.com>
11245
11246 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
11247 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
11248 Remove POINTER_TYPE handling, add large unsigned handling and use
11249 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
11250
3a785c97
JJ
112512012-10-12 Jakub Jelinek <jakub@redhat.com>
11252
11253 PR c/54381
11254 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
11255 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
11256 locs and array of 3 trees instead of just single loc and single
11257 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
11258 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
11259 For *cmp* builtins that take two sources strings report warnings
11260 about first and second source, not about destination and source.
11261
5e54f81d
MG
112622012-10-12 Marc Glisse <marc.glisse@inria.fr>
11263
11264 PR c++/53055
11265 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
11266
f5b02f1e
EB
112672012-10-11 Eric Botcazou <ebotcazou@adacore.com>
11268
11269 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
11270 declaring something coming from another file.
11271
b46dbc6c
AC
112722012-10-10 Arnaud Charlet <charlet@adacore.com>
11273
f5b02f1e 11274 PR ada/54845
b46dbc6c
AC
11275 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
11276
5d9de0d0
PC
112772012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
11278
11279 PR c++/54194
11280 * c-common.c (warn_about_parentheses): Add location_t parameter;
11281 use EXPR_LOC_OR_LOC.
11282 * c-common.h: Update declaration.
11283
a212e43f
MG
112842012-10-09 Marc Glisse <marc.glisse@inria.fr>
11285
11286 PR c++/54427
11287 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
11288 more operations. Make error messages optional.
11289 * c-common.h (enum stv_conv): Moved from c-typeck.c.
11290 (scalar_to_vector): Declare.
11291
b1db7f91
JM
112922012-10-08 Jason Merrill <jason@redhat.com>
11293
11294 * c-common.c (c_common_reswords): Add thread_local.
11295
e28d52cf
DS
112962012-10-08 Dodji Seketeli <dodji@redhat.com>
11297
11298 PR c++/53528 C++11 attribute support
11299 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
11300 new functions.
11301 * c-common.c (check_cxx_fundamental_alignment_constraints): New
11302 static function.
11303 (handle_aligned_attribute): In choose strictest alignment
11304 among many. Use new check_cxx_fundamental_alignment_constraints.
11305 (handle_transparent_union_attribute): In c++11 attribute syntax,
11306 don't look through typedefs.
11307
3b78de56
AC
113082012-10-04 Arnaud Charlet <charlet@adacore.com>
11309
11310 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
11311 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
11312 out of dumpfile.h.
11313
6040bb5f
DC
113142012-09-25 Dehao Chen <dehao@google.com>
11315
11316 PR middle-end/54645
3b78de56 11317 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
11318 map when read in the pch.
11319
3f8257db 113202012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
11321
11322 * c-ada-spec.c: Style fixes.
11323
3f8257db 113242012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
11325
11326 * c.opt (-fada-spec-parent): Define new command line switch.
11327 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
11328 is specified, generate binding spec as a child of the specified unit.
11329
0ccb505d
PC
113302012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
11331 Manuel López-Ibáñez <manu@gcc.gnu.org>
11332
11333 PR c++/53210
11334 * c.opt ([Winit-self]): Enabled by -Wall in C++.
11335
c583af79
AC
113362012-08-23 Arnaud Charlet <charlet@adacore.com>
11337
11338 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
11339 for pointers, and add missing Convention C pragma.
11340 (print_ada_struct_decl): Add missing aliased keyword.
11341 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
11342
1a4049e7
JJ
113432012-08-17 Jakub Jelinek <jakub@redhat.com>
11344
11345 * c-common.c (sizeof_pointer_memaccess_warning): New function.
11346 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
11347 * c-opts.c (c_common_handle_option): Enable it for -Wall.
11348 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
11349 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
11350
70b5e7dc
RG
113512012-08-10 Richard Guenther <rguenther@suse.de>
11352
11353 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
11354
f8923f7e
SB
113552012-08-07 Steven Bosscher <steven@gcc.gnu.org>
11356
11357 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
11358 instead of separate pp_newline and pp_flush.
11359 (print_c_tree): Likewise.
11360
e45abe1f
RH
113612012-07-26 Richard Henderson <rth@redhat.com>
11362
11363 * c-common.c (handle_hot_attribute): Allow labels.
11364 (handle_cold_attribute): Likewise.
11365
332f1d24
JJ
113662012-07-20 Jakub Jelinek <jakub@redhat.com>
11367
11368 PR c++/28656
11369 * c-common.c (check_function_nonnull): Handle multiple nonnull
11370 attributes properly.
11371
7ee2468b
SB
113722012-07-16 Steven Bosscher <steven@gcc.gnu.org>
11373
11374 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
11375 * c-ada-spec.c: Likewise.
11376 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
11377
ee7b28eb
SB
113782012-07-14 Steven Bosscher <steven@gcc.gnu.org>
11379
11380 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
11381 Remove code conditional on it.
11382
6bdf3519
SB
113832012-07-11 Steven Bosscher <steven@gcc.gnu.org>
11384
11385 * c-gimplify.c: Do not include basic-block.h.
11386 * c-common.c: Do not include linfuncs.h.
11387
532aafad
SB
113882012-07-08 Steven Bosscher <steven@gcc.gnu.org>
11389
11390 * c-common.h: Include tree.h.
11391
8d0d1915
JM
113922012-07-02 Jason Merrill <jason@redhat.com>
11393
11394 PR c++/53524
11395 * c-common.c (get_priority): Call default_conversion.
11396
fbc873ad
UB
113972012-07-01 Uros Bizjak <ubizjak@gmail.com>
11398
11399 * c-pch.c (c_common_write_pch): Remove unused variables.
11400
d4a10d0a
SB
114012012-06-29 Steven Bosscher <steven@gcc.gnu.org>
11402
11403 * cppspec.c: Moved from gcc/ to here.
11404
6f3a2e23
KT
114052012-06-27 Kai Tietz <ktietz@redhat.com>
11406
11407 PR preprocessor/37215
11408 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
11409
8ca92d04
SB
114102012-06-21 Steven Bosscher <steven@gcc.gnu.org>
11411
11412 * c-common.h (c_common_print_pch_checksum): Remove.
11413 * c-pch.c: Do not include output.h.
11414 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
11415 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
11416 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
11417 (struct c_pch_header): Remove.
11418 (get_ident): Update gpch version.
11419 (pch_init): Do not print executable_checksum to asm_out_file.
11420 Do not fail if there is no asm_out_file to read back from. Set
11421 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
11422 (c_common_write_pch): Verify that nothing was written to asm_out_file
11423 since pch_init was called. Do not write a c_pch_header, and do not
11424 copy from asm_out_file to the PCH.
11425 (c_common_read_pch): Do not read a c_pch_header, and do not restore
11426 the content of asm_out_file from the PCH.
11427 (c_common_print_pch_checksum): Remove.
11428 * c-opts.c (c_common_init): Print out executable_checksum directly.
11429
70f42967
SB
114302012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11431
11432 * c-target.def (objc_declare_unresolved_class_reference,
11433 objc_declare_class_definition): Add new hooks.
11434
a8781821
SB
114352012-06-19 Steven Bosscher <steven@gcc.gnu.org>
11436
11437 * c-lex.c: Do not include output.h.
11438 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
11439 Remove uses of ASM_OUTPUT_IDENT.
11440
9e1a8dd1
RR
114412012-06-15 Marc Glisse <marc.glisse@inria.fr>
11442
11443 PR c++/51033
11444 * c-common.h (c_build_vec_perm_expr): Move decl here.
11445 * c-common.c (c_build_vec_perm_expr): Move definition
11446 here.
11447
6f07a821
SB
114482012-06-06 Steven Bosscher <steven@gcc.gnu.org>
11449
11450 * c.opt (fconserve-space): Turn into a no-op.
11451
9faeb493 114522012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
11453
11454 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
11455 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
11456 both the start and end of the function.
11457
a4b7d13c
SB
114582012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11459
11460 * c-common.c: Do not include output.h.
11461 * c-pragma.c: Likewise.
11462
c265f413
SA
114632012-06-04 Steven Bosscher <steven@gcc.gnu.org>
11464
11465 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
11466 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
11467 (lang_decl_name): Handle namespace decls.
11468
be7a421e
SB
114692012-05-31 Steven Bosscher <steven@gcc.gnu.org>
11470
11471 * c-ada-spec.c: Do not include output.h.
11472 * c-semantics.c: Likewise.
11473
65de6659
JM
114742012-05-29 Joseph Myers <joseph@codesourcery.com>
11475
11476 * c-common.c: Fix typo.
11477
ca5f4331
MM
114782012-05-29 Michael Matz <matz@suse.de>
11479
11480 * c-common.h (c_expand_decl): Remove prototype.
11481
4f7f7aca
MLI
114822012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
11483
11484 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
11485 * c-opts.c (c_common_handle_option): Remove code handling
11486 warn_missing_braces.
11487
4a792f9b
PC
114882012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
11489
11490 PR c++/25137
11491 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
11492 -Wmissing_braces.
11493
650dc14a
DS
114942012-05-22 Dodji Seketeli <dodji@redhat.com>
11495
11496 PR c++/53322
11497 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
11498
9b095bf1
MLI
114992012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
11500
11501 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
11502 * c-opts.c (c_common_handle_option): Do not handle explicitly
11503 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
11504
0b2c4be5
DS
115052012-05-16 Dodji Seketeli <dodji@redhat.com>
11506
11507 PR preprocessor/7263
ab20d992 11508 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
11509 to cpp_classify_number. For diagnostics, use the precise location
11510 instead of the global input_location.
11511
a1bde5af
PC
115122012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11513
d02924ef 11514 PR c++/11856
a1bde5af
PC
11515 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11516
d1ede5f4
BS
115172012-05-14 Bernd Schmidt <bernds@codesourcery.com>
11518
a1bde5af 11519 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 11520
f2bc201f
MLI
115212012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
11522
11523 PR 53063
11524 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11525 Wreorder): Use LangEnabledBy.
11526 * c-opts.c (c_common_handle_option): Do not enable them
11527 explicitly. Call lang-specific generated functions.
11528 (c_common_post_options): Do not set them here.
11529
95744782
MLI
115302012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
11531
11532 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11533 Wmissing-field-initializers,Wmissing-parameter-type,
11534 Wold-style-declaration,Woverride-init): Use EnabledBy.
11535 * c-opts.c (c_common_post_options): Do not set here explicitly.
11536
7d5a5747
MLI
115372012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11538
11539 PR 53063
11540 * c-opts.c (c_common_handle_option): Use handle_generated_option
11541 to enable sub-options.
11542
5a3c9cf2
PC
115432012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
11544
11545 PR c++/53158
11546 * c-common.c (warnings_for_convert_and_check): Use warning_at.
11547
3ac8781c
RG
115482012-05-10 Richard Guenther <rguenther@suse.de>
11549
11550 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11551 adjust commentary about TYPE_IS_SIZETYPE types.
11552
1e537948
MLI
115532012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
11554
11555 PR c++/53261
11556 * c-common.c (warn_logical_operator): Check that argument of
11557 integer_zerop is not NULL.
11558
f2c4a785
MLI
115592012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
11560
11561 PR c/43772
11562 * c-common.c (warn_logical_operator): Do not warn if either side
11563 is already true or false.
11564
50f305ca
MLI
115652012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
11566
11567 PR c/51712
11568 * c-common.c (expr_original_type): New.
11569 (shorten_compare): Do not warn for enumeration types.
11570
0c3641b0
MLI
115712012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11572
11573 * c.opt (fpermissive): Add Var(flag_permissive).
11574
7edaa4d2
MG
115752012-04-30 Marc Glisse <marc.glisse@inria.fr>
11576
11577 PR c++/51033
11578 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11579 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11580
b9c8da34
DS
115812012-04-30 Dodji Seketeli <dodji@redhat.com>
11582
11583 Add -Wvarargs option
ab20d992 11584 * c.opt (Wvarargs): Define new option.
b9c8da34 11585
e6c69da0
MLI
115862012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11587
11588 * c-common.c (check_function_arguments): Replace
11589 Wmissing-format-attribute with Wsuggest-attribute=format.
11590
90137d8f
MLI
115912012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11592
11593 * c.opt (Wsuggest-attribute=format): New. Alias of
11594 Wmissing-format-attribute.
11595 * c-format.c (decode_format_type): Replace
11596 Wmissing-format-attribute with Wsuggest-attribute=format.
11597 (check_function_format): Likewise.
11598
9faeb493 115992012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
11600
11601 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11602 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11603 * c.opt: Add Wliteral-suffix.
11604
c1771a20
MLI
116052012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
11606
11607 PR c/44774
11608 * c.opt (Wpedantic): New.
11609 (pedantic): Alias Wpedantic.
11610 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11611 (c_common_post_options): Likewise.
11612 (sanitize_cpp_opts): Likewise.
11613 * c-lex.c (interpret_float): Likewise.
11614 * c-format.c (check_format_types): Likewise.
11615 * c-common.c (pointer_int_sum): Likewise.
11616 (c_sizeof_or_alignof_type): Likewise.
11617 (c_add_case_label): Likewise.
11618 (c_do_switch_warnings): Likewise.
11619 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11620
04b391c1
JM
116212012-04-15 Jason Merrill <jason@redhat.com>
11622
11623 PR c++/52818
11624 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11625 (C_STD_NAME): Distinguish between C++98 and C++11.
11626
ac868f29
EB
116272012-04-11 Eric Botcazou <ebotcazou@adacore.com>
11628
11629 PR target/52624
11630 * c-common.h (uint16_type_node): Rename into...
11631 (c_uint16_type_node): ...this.
11632 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11633 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11634
fd4116f4
MLI
116352012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
11636
11637 * c-common.c (warn_if_unused_value): Move definition to here.
11638 * c-common.h (warn_if_unused_value): Move declaration to here.
11639
573ac65e
WB
116402012-03-23 William Bader <williambader@hotmail.com>
11641
11642 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11643
552b8185
JM
116442012-03-20 Jason Merrill <jason@redhat.com>
11645
11646 * c-common.h (enum cxx_dialect): Add cxx1y.
11647 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11648 test.
11649 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11650 * c-opts.c (c_common_post_options): Likewise.
11651 (set_std_cxx1y): New.
11652 (c_common_handle_option): Call it.
11653 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11654
04398fa8
PC
116552012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11656
11657 PR c++/14710
11658 * c.opt ([Wuseless-cast]): Add.
11659
d2a12ae7
RG
116602012-03-16 Richard Guenther <rguenther@suse.de>
11661
11662 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11663
a12bf402
MLI
116642012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11665
11666 PR c++/44783
11667 * c.opt (ftemplate-backtrace-limit) Add.
11668
5c30094f
RO
116692012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11670
11671 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11672 handling.
11673 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11674 (init_pragma): Don't register extern_prefix.
11675
21fa2faf
RG
116762012-03-12 Richard Guenther <rguenther@suse.de>
11677
11678 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11679 (builtin_type_for_size): Likewise.
11680
e3793c6f
JJ
116812012-02-13 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR c++/52215
11684 * c-common.c (sync_resolve_params): Don't decide whether to convert
11685 or not based on TYPE_SIZE comparison, convert whenever arg_type
11686 is unsigned INTEGER_TYPE.
11687
93286335
PC
116882012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11689
11690 PR c/52118
11691 * c.opt ([Wunused-local-typedefs]): Fix description.
11692
7a421706
MS
116932012-01-24 Mike Stump <mikestump@comcast.net>
11694
11695 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11696 exactly.
11697
ba9b1f11
RG
116982012-01-18 Richard Guenther <rguenther@suse.de>
11699
11700 * c-opts.c (c_common_post_options): Reset LTO flags if
11701 we are about to generate a PCH.
11702
465406be
PC
117032012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11704
11705 PR c++/51777
11706 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11707 use pp_unsigned_wide_integer.
11708
aee15221
RG
117092012-01-10 Richard Guenther <rguenther@suse.de>
11710
11711 PR middle-end/51806
11712 * c-opts.c (c_common_handle_option): Move -Werror handling
11713 to language independent code.
11714
5720c0dc
RG
117152012-01-05 Richard Guenther <rguenther@suse.de>
11716
11717 PR middle-end/51764
11718 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11719 from common.opt.
11720
73ac190a
PC
117212011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11722
11723 PR c++/51316
11724 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11725 of array types with an unknown bound.
11726
48b0b196
JM
117272011-12-20 Joseph Myers <joseph@codesourcery.com>
11728
11729 * c-common.c (flag_isoc99): Update comment to refer to C11.
11730 (flag_isoc1x): Change to flag_isoc11.
11731 * c-common.h (flag_isoc99): Update comment to refer to C11.
11732 (flag_isoc1x): Change to flag_isoc11.
11733 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11734 C11.
11735 * c-opts.c (set_std_c1x): Change to set_std_c11.
11736 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11737 Call set_std_c11.
11738 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11739 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11740 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11741 standard.
11742 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11743 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11744 (std=gnu1x): Make alias of std=gnu11.
11745
d58d6eb5
JM
117462011-12-19 Jason Merrill <jason@redhat.com>
11747
11748 PR c++/51228
11749 * c-common.c (handle_transparent_union_attribute): Check the first
11750 field if the type is complete.
11751
b3908fcc
JW
117522011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11753
11754 PR libstdc++/51365
11755 * c-common.c (RID_IS_FINAL): Add.
11756 * c-common.h (RID_IS_FINAL): Add.
11757
fea3ca91
IS
117582011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11759
11760 * c.opt (fgnu-runtime): Provide full description.
11761 (fnext-runtime): Likewise.
11762 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11763
62bad7cd
AM
117642011-11-28 Andrew MacLeod <amacleod@redhat.com>
11765
11766 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11767 predefines in one place. Add LOCK_FREE predefines.
11768 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11769 new func.
11770
c466c4ff
AM
117712011-11-24 Andrew MacLeod <amacleod@redhat.com>
11772
11773 PR c/51256
9faeb493 11774 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11775 conditions
9faeb493
UB
11776 (resolve_overloaded_atomic_exchange,
11777 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11778 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11779 error_mark_node for error conditions.
9faeb493 11780
a5952633
RG
117812011-11-08 Richard Guenther <rguenther@suse.de>
11782
11783 PR middle-end/51010
ab20d992 11784 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11785
0a35513e
AH
117862011-11-07 Richard Henderson <rth@redhat.com>
11787 Aldy Hernandez <aldyh@redhat.com>
11788 Torvald Riegel <triegel@redhat.com>
11789
11790 Merged from transactional-memory.
11791
11792 * c-common.c (handle_tm_wrap_attribute,
11793 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11794 (struct c_common_reswords): Added __transaction* keywords.
11795 (struct c_common_attribute_table): Added transaction* and tm_regparm
11796 attributes.
11797 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11798 masks.
11799 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11800 find_tm_attribute): Declare.
11801
6d87092d
JM
118022011-11-07 Jason Merrill <jason@redhat.com>
11803
11804 PR c++/35688
11805 * c-common.c, c-common.h: Revert yesterday's changes.
11806
8e7860a1
JM
118072011-11-06 Jason Merrill <jason@redhat.com>
11808
11809 PR c++/35688
11810 * c-common.c (decl_has_visibility_attr): Split out from...
11811 (c_determine_visibility): ...here.
11812 * c-common.h: Declare it.
11813
d19fa6b5
JM
118142011-11-06 Joseph Myers <joseph@codesourcery.com>
11815
11816 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11817 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11818 type.
11819 (check_user_alignment): New. Split out of
11820 handle_aligned_attribute. Disallow integer constants with
11821 noninteger types. Conditionally allow zero.
11822 (handle_aligned_attribute): Use check_user_alignment.
11823 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11824
86951993
AM
118252011-11-06 Andrew MacLeod <amacleod@redhat.com>
11826 Richard Henderson <rth@redhat.com>
11827
11828 Merged from cxx-mem-model.
11829
11830 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11831 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11832 parameters that are the same type size.
11833 (get_atomic_generic_size): New. Find size of generic
11834 atomic function parameters and do typechecking.
11835 (add_atomic_size_parameter): New. Insert size into parameter list.
11836 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11837 either __atomic_exchange_n or external library call.
9faeb493 11838 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11839 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11840 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11841 __atomic_load_n or an external library call.
11842 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11843 __atomic_store_n or an external library call.
11844 (resolve_overloaded_builtin): Handle new __atomic builtins.
11845
cf9e9959
EB
118462011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11847
11848 PR c++/50608
11849 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11850 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11851 <INDIRECT_REF>: Return the argument.
11852 <ARRAY_REF>: Remove special code for negative offset.
11853 Call fold_build_pointer_plus instead of size_binop.
11854 (fold_offsetof): Remove STOP_REF argument and adjust.
11855 * c-common.h (fold_offsetof_1): Declare.
11856 (fold_offsetof): Remove STOP_REF argument.
11857
25339f10
JM
118582011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11859
11860 PR c++/50810
11861 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11862 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11863 Wnarrowing for C++0x and C++98.
11864 * c.opt ([Wnarrowing]): Update.
11865
89401152
PC
118662011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11867
11868 PR c++/44277
11869 * c.opt: Add Wzero-as-null-pointer-constant.
11870
97e3ad20
JM
118712011-10-31 Jason Merrill <jason@redhat.com>
11872
15694fdd
JM
11873 * c.opt (-fdeduce-init-list): Off by default.
11874
97e3ad20
JM
11875 PR c++/50920
11876 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11877 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11878 and -Wc++11-compat.
11879 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11880
fb9120e3
RAV
118812011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11882
11883 PR c++/30066
11884 * c.opt (fvisibility-inlines-hidden): Description change.
11885
3ce4f9e4
ESR
118862011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11887
11888 Implement C++11 user-defined literals.
11889 * c-common.c (build_userdef_literal): New.
11890 * c-common.def: New tree code.
11891 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11892 * c-lex.c (interpret_float): Add suffix parm.
11893 (c_lex_with_flags): Build literal tokens.
11894
5f53c243
PC
118952011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11896
11897 PR c++/50841
11898 Revert:
11899 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11900
11901 PR c++/50810
11902 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11903 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11904 Wnarrowing for C++0x and C++98.
11905 * c.opt ([Wnarrowing]): Update.
11906
263734e1
PC
119072011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11908
11909 PR c++/50810
11910 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11911 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11912 Wnarrowing for C++0x and C++98.
11913 * c.opt ([Wnarrowing]): Update.
11914
d2e312d7
PC
119152011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11916
11917 PR c++/45385
11918 * c-common.c (conversion_warning): Remove code looking for
11919 artificial operands.
11920
d17687f6
DS
119212011-10-18 Dodji Seketeli <dodji@redhat.com>
11922
11923 PR bootstrap/50760
11924 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11925 !NO_IMPLICIT_EXTERN_C.
d17687f6 11926
fc8396e9
PC
119272011-10-17 Michael Spertus <mike_spertus@symantec.com>
11928
11929 * c-common.c (c_common_reswords): Add __bases,
11930 __direct_bases.
11931 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11932
119332011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11934
11935 PR c++/50757
11936 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11937
847e697a
TT
119382011-10-15 Tom Tromey <tromey@redhat.com>
11939 Dodji Seketeli <dodji@redhat.com>
11940
11941 * c.opt (fdebug-cpp): New option.
11942 * c-opts.c (c_common_handle_option): Handle the option.
11943 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11944 output stream in parameter. Factorized from ...
11945 (maybe_print_line): ... this. Dump location debug information when
11946 -fdebug-cpp is in effect.
11947 (print_line_1): New static function. Takes an output stream in
11948 parameter. Factorized from ...
11949 (print_line): ... here. Dump location information when -fdebug-cpp
11950 is in effect.
11951 (scan_translation_unit): Dump location information when
11952 -fdebug-cpp is in effect.
11953
92582b75
TT
119542011-10-15 Tom Tromey <tromey@redhat.com>
11955 Dodji Seketeli <dodji@redhat.com>
11956
11957 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11958 without argument.
11959 * c-opts.c (c_common_handle_option)<case
11960 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11961 cases. Handle -ftrack-macro-expansion with and without argument.
11962
46427374
TT
119632011-10-15 Tom Tromey <tromey@redhat.com>
11964 Dodji Seketeli <dodji@redhat.com>
11965
11966 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11967 (print_line, cb_define, do_line_change): Adjust to avoid touching
11968 the internals of struct line_map. Use the public API instead.
11969 * c-pch.c (c_common_read_pch): Likewise.
11970 * c-lex.c (fe_file_change): Likewise.
11971
fc8396e9
PC
119722011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11973
11974 PR c++/17212
11975 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11976
119772011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11978
11979 PR c++/33067
11980 * c-pretty-print.c (pp_c_floating_constant): Output
11981 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11982
e79983f4
MM
119832011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11984
11985 * c-common.c (def_builtin_1): Delete old interface with two
11986 parallel arrays to hold standard builtin declarations, and replace
11987 it with a function based interface that can support creating
11988 builtins on the fly in the future. Change all uses, and poison
11989 the old names. Make sure 0 is not a legitimate builtin index.
11990 * c-omp.c (c_finish_omp_barrier): Ditto.
11991 (c_finish_omp_taskwait): Ditto.
11992 (c_finish_omp_flush): Ditto.
11993
6637388f
TG
119942011-10-11 Tristan Gingold <gingold@adacore.com>
11995
11996 * c.opt: (fallow-parameterless-variadic-functions): New.
11997
3797cb21
DS
119982011-09-08 Dodji Seketeli <dodji@redhat.com>
11999
12000 PR c++/33255 - Support -Wunused-local-typedefs warning
12001 * c-common.h (struct c_language_function::local_typedefs): New
12002 field.
9faeb493
UB
12003 (record_locally_defined_typedef, maybe_record_typedef_use)
12004 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 12005 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
12006 (maybe_record_typedef_use)
12007 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
12008 * c.opt: Declare new -Wunused-local-typedefs flag.
12009
693ddb1b
EB
120102011-09-06 Eric Botcazou <ebotcazou@adacore.com>
12011
12012 PR middle-end/50266
12013 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
12014 computations.
12015
830c740f
RG
120162011-09-05 Richard Guenther <rguenther@suse.de>
12017
12018 * c-common.c (complete_array_type): Use ssize_int (-1) instead
12019 of integer_minus_one_node for empty array upper bounds.
12020
892a371f
DS
120212011-08-28 Dodji Seketeli <dodji@redhat.com>
12022
12023 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
12024 it's the first time it's being called on this main TU.
12025
0e3fdb48
RB
120262011-08-24 Richard Guenther <rguenther@suse.de>
12027
12028 PR c/49396
12029 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
12030
120312011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
12032
12033 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
12034 defined in cpp_init_builtins and c_cpp_builtins.
12035
d4a83c10
JM
120362011-08-19 Joseph Myers <joseph@codesourcery.com>
12037
12038 * c-common.c (c_common_reswords): Add __builtin_complex.
12039 * c-common.h (RID_BUILTIN_COMPLEX): New.
12040
bbceee64
JM
120412011-08-18 Joseph Myers <joseph@codesourcery.com>
12042
12043 * c-common.c (c_common_reswords): Add _Noreturn.
12044 (keyword_is_function_specifier): Handle RID_NORETURN.
12045 * c-common.h (RID_NORETURN): New.
12046
3f8257db 120472011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
12048
12049 * c-common.c (unsafe_conversion_p): New function. Check if it is
12050 unsafe to convert an expression to the type.
12051 (conversion_warning): Adjust, use unsafe_conversion_p.
12052 * c-common.h (unsafe_conversion_p): New function declaration.
12053
20906c66
JJ
120542011-08-02 Jakub Jelinek <jakub@redhat.com>
12055
12056 * c-common.h (c_finish_omp_atomic): Adjust prototype.
12057 (c_finish_omp_taskyield): New prototype.
12058 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
12059 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
12060 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
12061 or RHS1 have side-effects, evaluate those too in the right spot,
12062 if it is a decl and LHS is also a decl, error out if they
12063 aren't the same.
12064 (c_finish_omp_taskyield): New function.
12065 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
12066 * c-pragma.c (omp_pragmas): Add taskyield.
12067 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
12068 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
12069 PRAGMA_OMP_CLAUSE_MERGEABLE.
12070
770e5a2e
DS
120712011-07-25 Dodji Seketeli <dodji@redhat.com>
12072
12073 * c-common.h (set_underlying_type): Remove parm name from
12074 declaration.
12075
1baae426
RG
120762011-07-25 Romain Geissler <romain.geissler@gmail.com>
12077
12078 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 12079
fcb21722
JM
120802011-07-22 Jason Merrill <jason@redhat.com>
12081
76f86d00
JM
12082 PR c++/49793
12083 * c.opt (Wnarrowing): New.
12084
3a636414
JM
12085 PR c++/30112
12086 * c-common.h: Declare c_linkage_bindings.
12087 * c-pragma.c (handle_pragma_redefine_extname): Use it.
12088
fcb21722
JM
12089 PR c++/49813
12090 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
12091 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
12092 as flag_isoc99 for 'restrict'.
12093 (pp_c_specifier_qualifier_list): Likewise for _Complex.
12094
02614448
ILT
120952011-07-21 Ian Lance Taylor <iant@google.com>
12096
12097 PR middle-end/49705
12098 * c-common.c (c_disable_warnings): New static function.
12099 (c_enable_warnings): New static function.
12100 (c_fully_fold_internal): Change local unused_p to bool. Call
12101 c_disable_warnings and c_enable_warnings rather than change
12102 c_inhibit_evaluation_warnings.
12103
34429675
JM
121042011-07-20 Jason Merrill <jason@redhat.com>
12105
12106 PR c++/6709 (DR 743)
12107 PR c++/42603 (DR 950)
12108 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
12109 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
12110 (CPP_DECLTYPE): New.
12111 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
12112
5d49b6a7
RG
121132011-07-19 Richard Guenther <rguenther@suse.de>
12114
12115 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
12116 * c-omp.c (c_finish_omp_for): Likewise.
12117
e84a58ff
EB
121182011-07-12 Eric Botcazou <ebotcazou@adacore.com>
12119
12120 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
12121 body on the next line.
12122
329af3c7
JM
121232011-07-08 Jason Merrill <jason@redhat.com>
12124
4063e61b
JM
12125 PR c++/45437
12126 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
12127
329af3c7
JM
12128 PR c++/49673
12129 * c-common.c (c_apply_type_quals_to_decl): Don't check
12130 TYPE_NEEDS_CONSTRUCTING.
12131
1a072294
RG
121322011-07-06 Richard Guenther <rguenther@suse.de>
12133
12134 * c-common.c (c_common_nodes_and_builtins):
12135 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
12136
fce5dddd
RG
121372011-07-05 Richard Guenther <rguenther@suse.de>
12138
12139 * c-common.c (c_common_nodes_and_builtins): Build all common
12140 tree nodes first.
12141
45d439ac
JJ
121422011-06-27 Jakub Jelinek <jakub@redhat.com>
12143
56300785
JJ
12144 * c-common.h (c_tree_chain_next): New static inline function.
12145
45d439ac
JJ
12146 * c-common.c (check_builtin_function_arguments): Handle
12147 BUILT_IN_ASSUME_ALIGNED.
12148
e0a8ecf2
AM
121492011-06-21 Andrew MacLeod <amacleod@redhat.com>
12150
12151 * c-common.c: Add sync_ or SYNC__ to builtin names.
12152 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
12153
121542011-06-20 Pierre Vittet <piervit@pvittet.com>
12155
12156 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
12157 handler.
12158 (gen_pragma_handler): New union.
12159 (internal_pragma_handler): New type.
12160 (c_register_pragma_with_data)
12161 (c_register_pragma_with_expansion_and_data): New functions.
12162
12163 * c-pragma.c (registered_pragmas, c_register_pragma_1)
12164 (c_register_pragma, c_register_pragma_with_expansion)
12165 (c_invoke_pragma_handler): Changed to work with
12166 internal_pragma_handler.
12167 (c_register_pragma_with_data)
12168 (c_register_pragma_with_expansion_and_data): New functions.
12169
677f3fa8
JM
121702011-06-14 Joseph Myers <joseph@codesourcery.com>
12171
12172 * c-common.c: Include common/common-target.h.
12173 (handle_section_attribute): Use
12174 targetm_common.have_named_sections.
12175 * c-cppbuiltin.c: Include common/common-target.h.
12176 (c_cpp_builtins): Use targetm_common.except_unwind_info.
12177
d7fc8c14
RG
121782011-06-10 Richard Guenther <rguenther@suse.de>
12179
12180 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
12181 to print a IDENTIFIER_NODE.
12182
10e48e39
RO
121832011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12184 Joseph Myers <joseph@codesourcery.com>
12185
12186 * c.opt (fbuilding-libgcc): New option.
12187 * c-cppbuiltin.c (c_cpp_builtins): Define
12188 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
12189
6976ae51
JM
121902011-06-07 Jason Merrill <jason@redhat.com>
12191
3ff60975
JM
12192 * c-common.c (max_tinst_depth): Lower default to 900.
12193
6976ae51
JM
12194 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
12195
009db074
RG
121962011-06-07 Richard Guenther <rguenther@suse.de>
12197
12198 * c-common.c (c_common_nodes_and_builtins): Do not set
12199 size_type_node or call set_sizetype.
12200
b4592b92
DS
122012011-06-07 Dodji Seketeli <dodji@redhat.com>
12202
12203 PR debug/49130
12204 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 12205 type when using pointer comparison to compare types.
b4592b92 12206
014ab419
JW
122072011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
12208
12209 * c.opt: Add -Wdelete-non-virtual-dtor.
12210 * c-opts.c (c_common_handle_option): Include it in -Wall.
12211
4f60111f
NF
122122011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
12213
12214 PR bootstrap/49190
12215
12216 Revert:
12217 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12218
12219 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12220 not tree_common.
12221
4cc4f2f4
JJ
122222011-05-27 Jakub Jelinek <jakub@redhat.com>
12223
12224 PR c++/49165
12225 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
12226 C++ don't call c_common_truthvalue_conversion on void type arms.
12227
38e01f9e
NF
122282011-05-27 Nathan Froyd <froydnj@codesourcery.com>
12229
12230 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
12231 (stmt_list_stack): Define.
12232 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
12233 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
12234
92e948a8
NF
122352011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12236
12237 * c-common.c (warning_candidate_p): Check for BLOCKs.
12238
a2fc3e63
NF
122392011-05-26 Nathan Froyd <froydnj@codesourcery.com>
12240
12241 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
12242 not tree_common.
12243
0957c029
JJ
122442011-05-25 Jakub Jelinek <jakub@redhat.com>
12245
12246 * c-common.c (def_fn_type): Remove extra va_end.
12247
828fb3ba
JM
122482011-05-23 Jason Merrill <jason@redhat.com>
12249
12250 PR c++/48106
12251 * c-common.c (c_common_get_narrower): New.
12252 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
12253
dde05067
NF
122542011-05-23 Nathan Froyd <froydnj@codesourcery.com>
12255
12256 * c-common.h (check_function_arguments): Tweak prototype of
12257 check_function_arguments.
12258 * c-common.c (check_function_arguments): Likewise. Adjust
12259 calls to check_function_nonnull, check_function_format, and
12260 check_function_sentinel.
12261 (check_function_sentinel): Take a FUNCTION_TYPE rather than
12262 separate attributes and typelist arguments. Use
12263 FOREACH_FUNCTION_ARGS to iterate over argument types.
12264
3c0d13bf
PC
122652011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12266
12267 * c-common.c (c_common_reswords): Reorder.
12268 * c-common.h (rid): Likewise.
12269
8242dd04
NF
122702011-05-10 Nathan Froyd <froydnj@codesourcery.com>
12271
12272 * c-common.c (def_fn_type): Don't call build_function_type, call
12273 build_function_type_array or build_varargs_function_type_array
12274 instead.
12275 (c_common_nodes_and_builtins): Likewise.
12276
3d528853
NF
122772011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12278
12279 * c-common.c (c_add_case_label): Omit the loc argument to
12280 build_case_label.
12281 * c-common.h (build_case_label): Remove.
12282 * c-semantics.c (build_case_label): Remove.
12283
a04a722b
JM
122842011-05-05 Joseph Myers <joseph@codesourcery.com>
12285
12286 * c-objc.h (objc_start_method_definition): Update prototype.
12287 * stub-objc.c (objc_start_method_definition): Add extra parameter.
12288
e19a18d4
NF
122892011-05-04 Nathan Froyd <froydnj@codesourcery.com>
12290
12291 * c-common.c (check_main_parameter_types): Reindent. Don't use
12292 TYPE_ARG_TYPES directly.
12293 (handle_nonnull_attribute): Likewise.
12294 (sync_resolve_params): Likewise.
12295 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
12296 to check_format_string.
12297 (handle_format_attribute): Likewise.
12298 (check_format_string): Take a function type to examine instead of
12299 a type list. Use a function_arg_iterator to step through argument
12300 types.
12301
c62c040f
RG
123022011-05-04 Richard Guenther <rguenther@suse.de>
12303
12304 * c-common.c (fix_string_type): Use size_int for index type bounds.
12305 (start_fname_decls): Do not pass NULL to build_int_cst.
12306 (c_init_attributes): Likewise.
12307 * c-lex.c (c_lex_with_flags): Likewise.
12308
c12ff9d8
JM
123092011-04-27 Jason Merrill <jason@redhat.com>
12310
12311 * c-common.c (make_tree_vector_from_list): New.
12312 * c-common.h: Declare it.
12313
304dfbe3
RG
123142011-04-26 Richard Guenther <rguenther@suse.de>
12315
12316 PR preprocessor/48248
12317 * c-ppoutput.c (maybe_print_line): Always optimize newlines
12318 for output size with -P.
12319
3c0d13bf
PC
123202011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
12321
12322 * c-common.c (struct c_common_resword): Add __underlying_type.
12323 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
12324
04695783
JM
123252011-04-20 Jim Meyering <meyering@redhat.com>
12326
12327 * c-format.c (init_dollar_format_checking): Remove useless
12328 if-before-free.
12329
0dc33c3c
NP
123302011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
12331
12332 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 12333 (objc_detect_field_duplicates): New.
0dc33c3c 12334 * stub-objc.c: Likewise.
3c0d13bf 12335
c59633d9
NP
123362011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12337
12338 * stub-objc.c (objc_declare_protocols): Renamed to
12339 objc_declare_protocol.
12340 * c-objc.h: Likewise.
3c0d13bf 12341
32dabdaf
NP
123422011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
12343
12344 * stub-objc.c (objc_declare_class): Updated argument name.
12345
81f653d6
NF
123462011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12347
12348 * c-common.h (c_common_init_ts): Declare.
12349 * c-common.c (c_common_init_ts): Define.
12350
eb345401
NP
123512011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
12352
12353 * c-objc.h (objc_build_message_expr): Updated prototype.
12354 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 12355
a358e188
MJ
123562011-04-12 Martin Jambor <mjambor@suse.cz>
12357
12358 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
12359 of cgraph_node.
12360
e6313a78
RG
123612011-04-11 Richard Guenther <rguenther@suse.de>
12362
12363 * c-common.c (complete_array_type): Build a range type of
12364 proper type.
12365
dcf0c47e
NF
123662011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12367
12368 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
12369 (handle_type_generic_attribute): Likewise.
12370
1ee44b26
JM
123712011-04-07 Jason Merrill <jason@redhat.com>
12372
12373 PR c++/48450
12374 * c-common.c (c_common_truthvalue_conversion): Don't ignore
12375 conversion from C++0x scoped enum.
12376
acce4e77
JM
123772011-04-06 Joseph Myers <joseph@codesourcery.com>
12378
12379 * c-target-def.h: New file.
12380 * c-target.def: New file.
12381 * c-target.h: New file.
12382 * c-common.c (targetcm): Don't define here.
12383 * c-common.h (default_handle_c_option): Declare.
12384 * c-format.c: Include c-target.h instead of target.h.
12385 * c-opts.c: Include c-target.h instead of target.h. Explicitly
12386 include tm.h.
12387 (default_handle_c_option): Move from targhooks.c.
12388
e2eefb55
JJ
123892011-03-29 Jakub Jelinek <jakub@redhat.com>
12390
12391 PR preprocessor/48248
12392 * c-ppoutput.c (print): Add src_file field.
12393 (init_pp_output): Initialize it.
12394 (maybe_print_line): Don't optimize by adding up to 8 newlines
12395 if map->to_file and print.src_file are different file.
12396 (print_line): Update print.src_file.
12397
ba78087b
KT
123982011-03-25 Kai Tietz <ktietz@redhat.com>
12399
12400 * c-ada-spec.c (compare_comment): Use filename_cmp
12401 instead of strcmp for filename.
12402
0edf1bb2
JL
124032011-03-25 Jeff Law <law@redhat.com>
12404
adfac8df 12405 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 12406
c7dc8804
JM
124072011-03-25 Jason Merrill <jason@redhat.com>
12408
12409 * c.opt: Add -std=c++03.
12410
d1d879b1
EB
124112011-03-22 Eric Botcazou <ebotcazou@adacore.com>
12412
12413 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
12414
3f8257db 124152011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
12416
12417 PR target/12171
5050afdf
KT
12418 * c-pretty-print.c (pp_c_specifier_qualifier_list):
12419 Display allowed attributes for function pointer types.
12420 (pp_c_attributes_display): New function to display
12421 attributes having affects_type_identity flag set to true.
12422 * c-pretty-print.h (pp_c_attributes_display): New prototype.
12423
62d784f7
KT
12424 * c-common.c (c_common_attribute_table):
12425 Add new element.
12426 (c_common_format_attribute_table): Likewise.
12427
82d37118
JM
124282011-03-18 Jason Merrill <jason@redhat.com>
12429
49a000c3
JM
12430 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
12431 * c-common.h: Don't declare it here.
12432 * c-common.c: Or define it here.
12433 * c-opts.c (c_common_handle_option): Or set it here.
12434
82d37118
JM
12435 PR c++/35315
12436 * c-common.c (handle_transparent_union_attribute): Don't
12437 make a duplicate type in C++.
12438
17bc631c
JM
124392011-03-15 Jason Merrill <jason@redhat.com>
12440
12441 * c-common.c (max_constexpr_depth): New.
12442 * c-common.h: Declare it.
12443 * c-opts.c (c_common_handle_option): Set it.
12444 * c.opt (fconstexpr-depth): New option.
12445
1b9b91a6
JM
124462011-03-11 Jason Merrill <jason@redhat.com>
12447
f231b5ff
JM
12448 * c-common.c (attribute_takes_identifier_p): Add missing const.
12449
1b9b91a6
JM
12450 PR c++/46803
12451 * c-common.c (attribute_takes_identifier_p): Assume that an
12452 unknown attribute takes an identifier.
12453
a19e4d44
NF
124542011-03-07 Nathan Froyd <froydnj@codesourcery.com>
12455
12456 PR c/47786
12457 * c-common.c (c_type_hash): Call list_length instead of iterating
12458 through DECL_CHAIN. Rename 'i' to 'n_elements'.
12459
982d62f6
JJ
124602011-02-19 Jakub Jelinek <jakub@redhat.com>
12461
12462 PR c/47809
12463 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
12464
0a256240
NP
124652011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12466
12467 * c.opt (fobjc-abi-version=) New.
12468 (fobjc-nilcheck): New.
12469
ba9e6dd5
NF
124702011-02-03 Nathan Froyd <froydnj@codesourcery.com>
12471
12472 PR c++/46890
12473 * c-common.h (keyword_is_decl_specifier): Declare.
12474 * c-common.c (keyword_is_decl_specifier): Define.
12475 (keyword_is_function_specifier): New function.
12476
7273813a
JJ
124772011-01-26 Jakub Jelinek <jakub@redhat.com>
12478
12479 PR c/47473
12480 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
12481 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
12482 REAL_TYPE.
12483
908ef79b
AC
124842011-01-26 Arnaud Charlet <charlet@adacore.com>
12485
12486 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
12487
237e9384
JJ
124882011-01-26 Jakub Jelinek <jakub@redhat.com>
12489
12490 PR pch/47430
12491 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
12492 after init_c_lex if pch_file is set.
12493
47ea1edf
DK
124942011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12495
d4dba752 12496 PR c++/43601
47ea1edf
DK
12497 * c.opt (-fkeep-inline-dllexport): New switch.
12498
2aa9c6ae
RG
124992011-01-12 Richard Guenther <rguenther@suse.de>
12500
12501 PR middle-end/32511
12502 * c-common.c (handle_weak_attribute): Warn instead of error
12503 on declaring an inline function weak.
12504
7bd11157
TT
125052011-01-05 Tom Tromey <tromey@redhat.com>
12506
12507 * c-common.h (lvalue_error): Update.
12508 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
12509 not error.
12510
0e66e494 125112010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 12512
b4f588c4
NP
12513 PR objc/47075
12514 * c-objc.h (objc_finish_message_expr): Added argument to
12515 prototype.
12516
f4da8dce
NF
125172010-12-22 Nathan Froyd <froydnj@codesourcery.com>
12518
12519 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12520 Use prototype_p.
12521
46270f14
NP
125222010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
12523
12524 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 12525 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 12526
4816c593
NF
125272010-12-10 Nathan Froyd <froydnj@codesourcery.com>
12528
12529 * c-common.h (readonly_error): Declare.
12530 * c-common.c (readonly_error): Define.
12531
7a6daeb0
NF
125322010-12-09 Nathan Froyd <froydnj@codesourcery.com>
12533
12534 * c-common.h (invalid_indirection_error): Declare.
12535 * c-common.c (invalid_indirection_error): Define.
12536
892f6119
RG
125372010-12-03 Richard Guenther <rguenther@suse.de>
12538
12539 PR c/46745
12540 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12541 (pp_c_unary_expression): Likewise.
12542 (pp_c_expression): Likewise.
12543
6c39e757
NP
125442010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
12545
12546 * c-common.h (objc_finish_function): New.
12547 (objc_non_volatilized_type): Removed.
12548 (objc_type_quals_match): Removed.
12549 * stub-objc.c (objc_finish_function): New.
12550 (objc_non_volatilized_type): Removed.
12551 (objc_type_quals_match): Removed.
9faeb493 12552
7c475d11
JM
125532010-11-30 Joseph Myers <joseph@codesourcery.com>
12554
12555 * c-common.h (parse_optimize_options): Declare.
12556 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12557 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12558
71f3e391
JM
125592010-11-29 Joseph Myers <joseph@codesourcery.com>
12560
12561 * c-opts.c (check_deps_environment_vars): Use getenv instead of
12562 GET_ENVIRONMENT.
12563 * c-pch.c (O_BINARY): Don't define here.
12564 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12565
d5fabb58
JM
125662010-11-25 Joseph Myers <joseph@codesourcery.com>
12567
12568 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12569 targetm.except_unwind_info.
12570
299404a1
JM
125712010-11-23 Joseph Myers <joseph@codesourcery.com>
12572
12573 * c-opts.c (c_common_handle_option): Pass location to
12574 set_struct_debug_option.
12575
c98cd5bf
JM
125762010-11-23 Joseph Myers <joseph@codesourcery.com>
12577
12578 * c-common.c (visibility_options): Move from ../opts.c.
12579 * c-common.h (struct visibility_flags, visibility_options):
12580 Declare here.
12581 * c-opts.c (finish_options): Rename to c_finish_options.
12582 (c_common_init): Update call to finish_options.
12583
a9546771
NP
125842010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
12585
12586 PR objc/34033
12587 * c-lex.c (lex_string): Check that each string in an Objective-C
12588 string concat sequence starts with either one or zero '@', and
12589 that there are no spurious '@' signs at the end.
12590
24a57808
JM
125912010-11-20 Joseph Myers <joseph@codesourcery.com>
12592
12593 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12594 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12595 HANDLE_PRAGMA_VISIBILITY.
12596 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12597 HANDLE_PRAGMA_VISIBILITY): Don't define.
12598 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12599
a9aa2c3a
NF
126002010-11-20 Nathan Froyd <froydnj@codesourcery.com>
12601
12602 PR c++/16189
12603 PR c++/36888
12604 PR c++/45331
12605 * c-common.h (keyword_begins_type_specifier): Declare.
12606 (keyword_is_storage_class_specifier): Declare.
12607 (keyword_is_type_qualifier): Declare.
12608 * c-common.c (keyword_begins_type_specifier): New function.
12609 (keyword_is_storage_class_specifier): New function.
12610 (keyword_is_type_qualifier): Declare.
12611
5386338c
JM
126122010-11-19 Joseph Myers <joseph@codesourcery.com>
12613
12614 PR c/46547
12615 * c-common.c (in_late_binary_op): Define.
12616 (c_common_truthvalue_conversion): Check in_late_binary_op before
12617 calling c_save_expr.
12618 * c-common.h (in_late_binary_op): Declare.
12619
69ccdddb
JM
126202010-11-19 Joseph Myers <joseph@codesourcery.com>
12621
12622 * c-opts.c (c_common_handle_option): Update calls to
12623 set_struct_debug_option.
12624
6b192a09
NP
126252010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
12626
12627 * c-common.h (objc_declare_protocols): Added additional argument.
12628 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 12629
fb52b50a
NF
126302010-11-18 Nathan Froyd <froydnj@codesourcery.com>
12631
12632 PR c/33193
12633 * c-common.h (build_real_imag_expr): Declare.
12634 * c-semantics.c (build_real_imag_expr): Define.
12635
b37421c6
JM
126362010-11-17 Joseph Myers <joseph@codesourcery.com>
12637
12638 * c-opts.c (c_common_parse_file): Take no arguments.
12639 * c-common.h (c_common_parse_file): Update prototype.
12640
07078664
JJ
126412010-11-16 Jakub Jelinek <jakub@redhat.com>
12642
12643 PR c++/46401
12644 * c-common.c (warning_candidate_p): Don't track non-const calls
12645 or STRING_CSTs.
12646
c6a13190
ILT
126472010-11-15 Ian Lance Taylor <iant@google.com>
12648
12649 * c-lex.c (init_c_lex): Set macro debug callbacks if
12650 flag_dump_go_spec is set.
12651
925e8657
NP
126522010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12653
12654 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12655 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12656
bb0a9581
NF
126572010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12658
12659 PR preprocessor/45038
12660 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12661 dialects.
12662
c5fa0890
JM
126632010-11-12 Joseph Myers <joseph@codesourcery.com>
12664
12665 * c-common.h (c_family_lang_mask): Declare.
12666 * c-opts.c (c_family_lang_mask): Make extern.
12667 * c-pragma.c (handle_pragma_diagnostic): Use
12668 control_warning_option.
12669
a4d8c676
JM
126702010-11-12 Joseph Myers <joseph@codesourcery.com>
12671
12672 * c-common.c (parse_optimize_options): Update call to
12673 decode_options.
12674 * c-common.h (c_common_handle_option): Update prototype.
12675 * c-opts.c (c_common_handle_option): Take location_t parameter and
12676 pass it to other functions.
12677
f954bd2c
JM
126782010-11-11 Joseph Myers <joseph@codesourcery.com>
12679
12680 * c-opts.c (warning_as_error_callback): Remove.
12681 (c_common_initialize_diagnostics): Don't call
12682 register_warning_as_error_callback.
12683 (c_common_handle_option): Handle -Werror=normalized= here.
12684
d8a07487
JM
126852010-11-10 Joseph Myers <joseph@codesourcery.com>
12686
12687 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12688 in diagnostic.
12689 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12690 letter.
12691 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12692 Remove trailing '.' from diagnostics.
12693 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12694
d5478783
JM
126952010-11-10 Joseph Myers <joseph@codesourcery.com>
12696
12697 * c-common.c (parse_optimize_options): Pass global_dc to
12698 decode_options.
12699 * c-opts.c (c_common_handle_option): Pass &global_options to
12700 set_Wstrict_aliasing.
12701 * c.opt (v): Don't mark Common or document here.
12702
91ebb981
IS
127032010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12704
12705 PR target/44981
12706 * c-format.c (format_type): New type gcc_objc_string_format_type.
12707 (valid_stringptr_type_p): New.
12708 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12709 (check_format_string): Pass expected type, use
91ebb981
IS
12710 valid_stringptr_type_p (), check that the format string types are
12711 consistent with the format specification.
12712 (decode_format_attr): Warn if NSString is used outside objective-c.
12713 (format_types_orig): Add NSString.
12714 (format_name): New.
12715 (format_flags): New.
12716 (check_format_arg): Handle format strings requiring an external parser.
12717 first_target_format_type: New variable.
12718 (handle_format_attribute): Set up first_target_format_type, pass the
12719 expected format arg string type to check_format_string().
ab20d992 12720 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12721 * stub-objc.c (objc_string_ref_type_p): New.
12722 (objc_check_format_arg): New.
12723
bede2adc
NP
127242010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12725
9faeb493 12726 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12727 * c-common.h (objc_build_class_component_ref): New.
12728 * stub-objc.c (objc_build_class_component_ref): New.
12729
9a179d01
NP
127302010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12731
12732 * c.opt (Wproperty-assign-default): New option.
12733
22d8d616
NP
127342010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12735
12736 Implemented -fobjc-std=objc1 flag.
12737 * c.opt (fobjc-std=objc1): New option.
12738
2debdb4f
NP
127392010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12740
12741 Implemented format and noreturn attributes for Objective-C methods.
12742 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12743 attribute for Objective-C methods.
12744
ec52b111
JM
127452010-10-31 Jason Merrill <jason@redhat.com>
12746
12747 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12748 EXPR_LOC_OR_HERE.
12749
46a88c12
NP
127502010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12751
12752 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12753 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12754 (objc_add_property_declaration): Removed arguments for copies and
12755 ivar.
12756 (objc_build_getter_call): Renamed to
12757 objc_maybe_build_component_ref.
12758 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12759 (objc_is_property_ref): New.
12760 * c-common.c (c_common_reswords): Removed copies and ivar.
12761 * stub-objc.c (objc_add_property_declaration): Removed arguments
12762 for copies and ivar.
12763 (objc_build_getter_call): Renamed to
12764 objc_maybe_build_component_ref.
12765 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12766 (objc_is_property_ref): New.
9faeb493 12767
1e4bf85b
AC
127682010-10-29 Arnaud Charlet <charlet@adacore.com>
12769 Matthew Gingell <gingell@adacore.com>
12770
12771 * c-ada-spec.c (separate_class_package): New function.
12772 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12773 name of their enclosing package.
12774 (print_ada_declaration): Use separate_class_package.
12775
81f0bab2
JM
127762010-10-27 Jason Merrill <jason@redhat.com>
12777
2b08f2c5
JM
12778 * c-common.c (c_common_reswords): Add __is_literal_type.
12779 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12780
81f0bab2
JM
12781 * c-common.c (check_case_value): Remove special C++ code.
12782
200290f2
NP
127832010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12784
12785 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12786 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12787 and RID_LAST_PATTR.
12788 (objc_add_property_declaration): Added additional arguments.
12789 (objc_property_attribute_kind): Removed.
12790 (objc_set_property_attr): Removed.
12791 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12792 copy and nonatomic.
12793 * stub-objc.c (objc_add_property_declaration): Added additional
12794 arguments.
12795 (objc_set_property_attr): Removed.
9faeb493 12796
f614132b
NP
127972010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12798
12799 * c-common.h (objc_add_property_variable): Renamed to
12800 objc_add_property_declaration. Added location argument.
12801 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12802
b8a18805
NP
128032010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12804
12805 * c-common.h (objc_maybe_printable_name): New.
12806 * stub-objc.c (objc_maybe_printable_name): New.
12807
3f8257db
JJ
128082010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12809 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12810
12811 * c-common.h (c_common_mark_addressable_vec): Declare.
12812 * c-common.c (c_common_mark_addressable_vec): New function.
12813
249a82c4
NP
128142010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12815
12816 * c-common.h (objc_set_method_type): Removed.
12817 (objc_add_method_declaration): Added boolean argument.
12818 (objc_start_method_definition): Same change.
12819 (objc_build_method_signature): Same change.
12820 * stub-objc.c (objc_set_method_type): Removed.
12821 (objc_add_method_declaration): Added boolean argument.
12822 (objc_start_method_definition): Same change.
12823 (objc_build_method_signature): Same change.
12824
977e30bc
NP
128252010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12826
12827 * c-common.h (finish_file): Removed.
12828 (objc_write_global_declarations): New.
12829 * c-opts.c (c_common_parse_file): Do not call finish_file.
12830 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12831
da57d1b9
NP
128322010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12833
12834 Implemented parsing @synthesize and @dynamic for
12835 Objective-C/Objective-C++.
12836 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12837 (objc_add_synthesize_declaration): New.
12838 (objc_add_dynamic_declaration): New.
12839 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12840 * stub-objc.c (objc_add_synthesize_declaration): New.
12841 (objc_add_dynamic_declaration): New.
9faeb493 12842
0069111f
MM
128432010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12844
12845 PR target/46041
12846 * c-cppbuiltin.c (mode_has_fma): Move function here from
12847 builtins.c. Don't use the fma optab, instead just use the
12848 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12849 using -save-temps.
12850
e426b47b
NP
128512010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12852
12853 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12854
3f8257db 12855 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12856
9faeb493 12857 Radar 4330422
e426b47b
NP
12858 * c-common.h (objc_non_volatilized_type): New declaration
12859 * stub-objc.c (objc_non_volatilized_type): New stub.
12860
90fbfdc3
NP
128612010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12862
e426b47b 12863 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12864
ab20d992 12865 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12866
9faeb493 12867 Radar 4133425
90fbfdc3 12868 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12869 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12870
c37d8c30
IS
128712010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12872
12873 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12874 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12875 (objc_ivar_visibility_kind): New enum.
12876 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12877 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12878 visibility enum.
12879
1b1562a5
MM
128802010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12881
12882 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12883 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12884 has the appropriate fma builtins.
12885 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12886
668ea4b1
IS
128872010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12888
1b1562a5 12889 merge from FSF apple 'trunk' branch.
3f8257db 12890 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12891
668ea4b1
IS
12892 Radars 4436866, 4505126, 4506903, 4517826
12893 * c-common.c (c_common_resword): Define @property and its attributes.
12894 * c-common.h: Define property attribute enum entries.
12895 (OBJC_IS_PATTR_KEYWORD): New.
12896 (objc_property_attribute_kind): New enum.
12897 Declare objc_set_property_attr (), objc_add_property_variable (),
12898 objc_build_getter_call () and objc_build_setter_call ().
12899 * stub-objc.c (objc_set_property_attr): New stub.
12900 (objc_add_property_variable): Likewise.
12901 (objc_build_getter_call): Likewise.
12902 (objc_build_setter_call) Likewise.
1b1562a5 12903
a1178b30
IS
129042010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12905
1b1562a5 12906 merge from FSF apple 'trunk' branch.
ab20d992 12907 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12908
12909 Radar 3803157 (method attributes)
12910 * c-common.c (handle_deprecated_attribute): Recognize
12911 objc methods as valid declarations.
12912 * c-common.h: Declare objc_method_decl ().
1b1562a5 12913 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12914
a75bfaa6
JM
129152010-10-08 Joseph Myers <joseph@codesourcery.com>
12916
12917 * c-common.c (parse_optimize_options): Call
12918 decode_cmdline_options_to_array_default_mask before
12919 decode_options. Update arguments to decode_options.
12920 * c-common.h (c_common_init_options_struct): Declare.
12921 * c-opts.c (c_common_init_options_struct): New. Split out from
12922 c_common_init_options.
12923
f05b9d93
NP
129242010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12925
12926 Implemented fast enumeration for Objective-C.
12927 * c-common.h (objc_finish_foreach_loop): New.
12928 * stub-objc.c (objc_finish_foreach_loop): New.
12929
1ebe4b4f
JM
129302010-10-05 Joseph Myers <joseph@codesourcery.com>
12931
12932 * c-common.h (struct diagnostic_context): Don't declare here.
12933 (c_common_initialize_diagnostics): Declare using
12934 diagnostic_context typedef.
12935 * c-opts.c (c_common_handle_option): Pass global_dc to
12936 handle_generated_option.
12937
d4d24ba4
JM
129382010-10-04 Joseph Myers <joseph@codesourcery.com>
12939
12940 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12941 handle_generated_option.
12942
478a1c5b
ILT
129432010-10-03 Ian Lance Taylor <iant@google.com>
12944
12945 * c.opt (-fplan9-extensions): New option.
12946
82a1c2fe
FXC
129472010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12948
12949 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12950 Remove.
12951 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12952 of duplicating code.
12953
92902b1b
IS
129542010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12955
12956 * c-common.c: Add two new entries for @optional
12957 and @required keywords.
12958
12959 merge from FSF 'apple/trunk' branch.
3f8257db 12960 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12961
12962 Radar 4386773
12963 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12964 objective-c keywords.
12965 (objc_set_method_opt): New declaration.
12966 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12967
46625112
JM
129682010-09-30 Joseph Myers <joseph@codesourcery.com>
12969
12970 * c-common.c (handle_optimize_attribute): Pass &global_options to
12971 cl_optimization_save and cl_optimization_restore.
12972 * c-opts.c (c_common_handle_option): Pass &global_options to
12973 handle_generated_option.
12974 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12975 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12976 &global_options to cl_optimization_restore.
12977
49b91f05
NP
129782010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12979
12980 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12981 Objective-C/Objective-C++ keywords.
12982
13ed556f 129832010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12984
9faeb493
UB
12985 Merge from 'apple/trunk' branch on FSF servers.
12986
3f8257db 12987 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12988
12989 Radar 4281748
12990 * c-common.h (objc_check_global_decl): New declaration.
12991 * stub-objc.c (objc_check_global_decl): New stub.
12992
f0036cca
JM
129932010-09-29 Joseph Myers <joseph@codesourcery.com>
12994
12995 * c.opt: Don't use VarExists.
12996
e3339d0f
JM
129972010-09-29 Joseph Myers <joseph@codesourcery.com>
12998
12999 * c-common.c (c_cpp_error): Update names of diagnostic_context
13000 members.
13001 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
13002 cl_optimization members.
13003 * c-opts.c (warning_as_error_callback, c_common_handle_option,
13004 sanitize_cpp_opts, finish_options): Update names of cpp_options
13005 members.
13006
1973201f
NP
130072010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
13008
13009 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
13010 (objc_is_reserved_word): Removed.
13011 * c-common.c: Updated comments.
13012 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
13013 objc_is_reserved_word.
13014 * stub-objc.c (objc_is_reserved_word): Removed.
13015
f7e71da5
IS
130162010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13017
9faeb493 13018 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
13019 include attributes.
13020 (objc_start_method_definition): Likewise.
13021 (objc_build_keyword_decl): Likewise.
13022 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
13023 (objc_start_method_definition): Likewise.
13024 (objc_build_keyword_decl): Likewise.
13025
c165dca7
IS
130262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
13027
13028 * c-common.h (objc_start_class_interface): Adjust prototype.
13029 (objc_start_category_interface): Likewise.
13030 (objc_start_protocol): Likewise.
13031 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
13032 (objc_start_class_interface): Likewise.
13033 (objc_start_category_interface): Likewise.
13034
7458026b
ILT
130352010-09-27 Ian Lance Taylor <iant@google.com>
13036
13037 * c-common.c (c_common_attribute_table): Add no_split_stack.
13038 (handle_no_split_stack_attribute): New static function.
13039
b581b85b
NP
130402010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
13041
9faeb493 13042 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 13043
3f8257db 13044 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 13045
9faeb493 13046 Radar 4229905
b581b85b
NP
13047 * c-common.h (objc_have_common_type): New declaration.
13048 * stub-objc.c (objc_have_common_type): New stub.
13049
13050 2005-06-22 Ziemowit Laski <zlaski@apple.com>
13051
13052 Radar 4154928
13053 * c-common.h (objc_common_type): New prototype.
9faeb493 13054 * stub-objc.c (objc_common_type): New stub.
b581b85b 13055
46a4da10
JH
130562010-09-24 Jan Hubicka <jh@suse.cz>
13057
13058 * c-common.c (handle_leaf_attribute): New function.
13059 (struct attribute_spec c_common_att): Add leaf.
13060
e200444e
JM
130612010-09-22 Joseph Myers <joseph@codesourcery.com>
13062
13063 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
13064 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
13065 -dump, -dump=, -imacros, -imacros=, -include, -include=,
13066 -include-barrier, -include-directory, -include-directory=,
13067 -include-directory-after, -include-directory-after=,
13068 -include-prefix, -include-prefix=, -include-with-prefix,
13069 -include-with-prefix=, -include-with-prefix-after,
13070 -include-with-prefix-after=, -include-with-prefix-before,
13071 -include-with-prefix-before=, -no-integrated-cpp,
13072 -no-line-commands, -no-standard-includes, -no-warnings, -output,
13073 -output=, -pedantic, -pedantic-errors, -preprocess,
13074 -print-missing-file-dependencies, -trace-includes, -traditional,
13075 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
13076 -user-dependencies, -verbose, -write-dependencies,
13077 -write-user-dependencies, no-integrated-cpp, traditional): New.
13078
29a80ea6
NP
130792010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13080
13081 PR objc/23710
ac1fc2fc
NP
13082 * c-common.h (objc_start_method_definition): Return bool instead
13083 of void.
13084 * stub-objc.c (objc_start_method_definition): Return bool instead
13085 of void.
13086
130872010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
13088
13089 PR objc/25965
13090 * c-common.h (objc_get_interface_ivars): New declaration.
13091 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 13092
de621752
ILT
130932010-09-15 Ian Lance Taylor <iant@google.com>
13094
13095 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 13096 messages. Remove period at end of warning message.
de621752 13097
ba885ec5
NS
130982010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13099
13100 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
13101 (handle_alias_attribute): ... here.
13102 (handle_ifunc_attribute): New.
13103
c5ee1358
MM
131042010-09-06 Mark Mitchell <mark@codesourcery.com>
13105
13106 * c-common.h (do_warn_double_promotion): Declare.
13107 * c-common.c (do_warn_double_promotion): Define.
13108
0a0b3574
MM
131092010-09-05 Mark Mitchell <mark@codesourcery.com>
13110
13111 * c.opt (Wdouble-promotion): New.
13112
d1779886
JM
131132010-09-02 Joseph Myers <joseph@codesourcery.com>
13114
13115 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
13116 fvtable-thunks, fxref): Mark no longer supported in help text.
13117
2d2bd949
JM
131182010-09-02 Joseph Myers <joseph@codesourcery.com>
13119
13120 * c.opt (Wimport, fall-virtual, falt-external-templates,
13121 fdefault-inline, fenum-int-equiv, fexternal-templates,
13122 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
13123 fname-mangling-version-, fnew-abi, fnonnull-objects,
13124 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
13125 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
13126 applicable.
13127 (fhandle-exceptions): Mark with Alias and Warn.
13128 * c-opts.c (c_common_handle_option): Don't handle options marked
13129 as ignored.
13130
5de8299c
JM
131312010-09-02 Joseph Myers <joseph@codesourcery.com>
13132
13133 * c.opt (Wcomments, Werror-implicit-function-declaration,
13134 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
13135 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
13136 aliases.
13137 * c-common.c (option_codes): Use OPT_Wcomment instead of
13138 OPT_Wcomments.
13139 * c-opts.c (warning_as_error_callback, c_common_handle_option):
13140 Don't handle options marked as aliases.
13141
0ceb0201
RG
131422010-08-25 Richard Guenther <rguenther@suse.de>
13143
13144 * c-common.c (c_common_get_alias_set): Remove special
13145 handling for pointers.
13146
ac47786e
NF
131472010-08-20 Nathan Froyd <froydnj@codesourcery.com>
13148
13149 * c-common.c: Use FOR_EACH_VEC_ELT.
13150 * c-gimplify.c: Likewise.
13151 * c-pragma.c: Likewise.
13152
c878765b
JM
131532010-08-16 Joseph Myers <joseph@codesourcery.com>
13154
13155 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
13156 RejectDriver.
13157 (MMDX): Change back to MMD. Mark NoDriverArg instead of
13158 RejectDriver.
13159 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
13160 instead of OPT_MDX and OPT_MMDX.
13161
603349bf
JM
131622010-08-16 Joseph Myers <joseph@codesourcery.com>
13163
13164 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
13165
644fa7ac
JM
131662010-08-12 Joseph Myers <joseph@codesourcery.com>
13167
13168 * c.opt (MD, MMD): Change to MDX and MMDX.
13169 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
13170
481e1176
JM
131712010-08-11 Joseph Myers <joseph@codesourcery.com>
13172
13173 * c-opts.c (c_common_handle_option): Call handle_generated_option
13174 instead of handle_option.
13175
ac8dc9f7
NF
131762010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13177
13178 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
13179 (maybe_apply_renaming_pragma): Delete unneeded declarations.
13180
4f8c876d
NF
131812010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13182
13183 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
13184 (pending_redefine_extname): Change type to a VEC.
13185 (add_to_renaming_pragma_list): Update for new type of
13186 pending_redefine_extname.
ac8dc9f7 13187 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 13188
3b0c690e
AC
131892010-08-04 Arnaud Charlet <charlet@adacore.com>
13190
13191 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
13192 visited.
13193 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
13194 decide whether a type has already been declared/seen.
13195 Do not go to the original type.
13196 (dump_nested_types): New parameter forward.
13197 Generate forward declaration if needed and mark type as visited.
13198 (print_ada_declaration): Call dump_nested_types if not already done.
13199 Mark types as visited.
13200
1890bccc
JM
132012010-08-03 Joseph Myers <joseph@codesourcery.com>
13202
13203 * c.opt (-print-pch-checksum): Remove option.
13204 * c-opts.c (c_common_handle_option): Don't handle
13205 OPT_print_pch_checksum.
13206
5f20c657
JM
132072010-07-27 Joseph Myers <joseph@codesourcery.com>
13208
13209 * c-common.h (c_common_handle_option): Update prototype and return
13210 value type.
13211 * c-opts.c (c_common_handle_option): Update prototype and return
13212 value type. Update calls to handle_option and
13213 enable_warning_as_error.
13214
f551f80c
JJ
132152010-07-27 Jakub Jelinek <jakub@redhat.com>
13216
13217 PR c/45079
13218 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
13219
61ff2bdc
JM
132202010-07-27 Joseph Myers <joseph@codesourcery.com>
13221
13222 * c-common.h (c_common_missing_argument): Remove.
13223 * c-opts.c (c_common_missing_argument): Remove.
13224 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
13225 idirafter, imacros, include, isysroot, isystem, iquote): Add
13226 MissingArgError.
13227 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
13228
7a9bf9a4
JM
132292010-07-27 Joseph Myers <joseph@codesourcery.com>
13230
13231 * c-common.h (c_common_option_lang_mask,
13232 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
13233 New.
13234 (c_common_init_options): Update prototype.
13235 * c-opts.c (c_common_option_lang_mask): New.
13236 (c_common_initialize_diagnostics): Split out of
13237 c_common_init_options.
13238 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
13239 New.
13240 (c_common_init_options): Update prototype. Use decoded options in
13241 search for -lang-asm.
13242
910ad8de
NF
132432010-07-15 Nathan Froyd <froydnj@codesourcery.com>
13244
13245 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
13246 * c-format.c: Likewise.
13247
718f9c0f
MLI
132482010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
13249
13250 * c-common.h: Include diagnostic-core.h. Error if already
13251 included.
13252 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
13253
4d451982
MLI
132542010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13255
adfac8df 13256 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
13257 Do not include expr.h
13258 (vector_mode_valid_p): Move here.
13259
119fe915
SB
132602010-06-21 DJ Delorie <dj@redhat.com>
13261
13262 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
13263 allow these pragmas anywhere.
13264
132652010-06-14 Jakub Jelinek <jakub@redhat.com>
13266
13267 PR bootstrap/44509
13268 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
13269 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
13270 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
13271 ggc_strdup instead of xstrdup.
13272
132732010-06-10 Jakub Jelinek <jakub@redhat.com>
13274
13275 * c-cppbuiltin.c: Include cpp-id-data.h.
13276 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
13277 (lazy_hex_fp_value): New function.
13278 (builtin_define_with_hex_fp_value): Provide definitions lazily.
13279
6662d794
MLI
132802010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13281
13282 * c-gimplify.c: Do not include tree-flow.h
13283
38f8b050
JR
132842010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
13285
13286 PR other/44034
13287 * c-common.c: Rename targetm member:
13288 targetm.enum_va_list -> targetm.enum_va_list_p
13289
9589f23e
AS
132902010-06-28 Anatoly Sokolov <aesok@post.ru>
13291
13292 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
13293
3b06d379
SB
132942010-06-28 Steven Bosscher <steven@gcc.gnu.org>
13295
13296 * c-cppbuiltin.c: Do not include except.h.
13297
d166d4c3
AK
132982010-06-24 Andi Kleen <ak@linux.intel.com>
13299
9faeb493
UB
13300 * c-common.c (warn_for_omitted_condop): New.
13301 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 13302
70cb8be6
JM
133032010-06-21 Joseph Myers <joseph@codesourcery.com>
13304
13305 * c.opt (lang-objc): Remove.
13306 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
13307
a4c97feb
JR
133082010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
13309
13310 * c-opts.c: Include "tm_p.h".
13311
6e2f1956
JM
133122010-06-20 Joseph Myers <joseph@codesourcery.com>
13313
13314 * c-common.c (parse_optimize_options): Update call to
13315 decode_options.
13316
bc87224e
NF
133172010-06-18 Nathan Froyd <froydnj@codesourcery.com>
13318
13319 * c-common.c (record_types_used_by_current_var_decl): Adjust for
13320 new type of types_used_by_cur_var_decl.
13321
b49cf425
JR
133222010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
13323
13324 PR bootstrap/44512
13325 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
13326 for C++ standard compliance.
13327
59f9c2ed
JM
133282010-06-16 Jason Merrill <jason@redhat.com>
13329
13330 * c.opt: Add -Wnoexcept.
13331
33766b66
RG
133322010-06-16 Richard Guenther <rguenther@suse.de>
13333
13334 PR c/44555
13335 * c-common.c (c_common_truthvalue_conversion): Remove
13336 premature and wrong optimization concering ADDR_EXPRs.
13337
eff7e30c
AC
133382010-06-15 Arnaud Charlet <charlet@adacore.com>
13339
13340 * c-ada-spec.c (dump_sloc): Remove column info.
13341 (is_simple_enum): New function.
13342 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
13343 enum types when relevant.
13344
6312e84d
MLI
133452010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13346
9faeb493 13347 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
13348 location.
13349
1cb42611
JM
133502010-06-10 Joseph Myers <joseph@codesourcery.com>
13351
13352 * c-opts.c (c_common_handle_option): Don't handle
13353 OPT_fshow_column.
13354
a9429e29
LB
133552010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13356
13357 * c-pragma.c (push_alignment): Use typed GC allocation.
13358 (handle_pragma_push_options): Likewise.
13359
13360 * c-common.c (parse_optimize_options): Likewise.
13361
13362 * c-common.h (struct sorted_fields_type): Add variable_size GTY
13363 option.
13364
5498f011
JM
133652010-06-07 Joseph Myers <joseph@codesourcery.com>
13366
13367 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
13368 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13369 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13370 flag_signed_bitfields, warn_strict_null_sentinel,
13371 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
13372 flag_gen_declaration, flag_no_gnu_keywords,
13373 flag_implement_inlines, flag_implicit_templates,
13374 flag_implicit_inline_templates, flag_optional_diags,
13375 flag_elide_constructors, flag_default_inline, flag_rtti,
13376 flag_conserve_space, flag_access_control, flag_check_new,
13377 flag_new_for_scope, flag_weak, flag_working_directory,
13378 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
13379 flag_enforce_eh_specs, flag_threadsafe_statics,
13380 flag_pretty_templates): Remove.
13381 * c-common.h (flag_preprocess_only, flag_nil_receivers,
13382 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
13383 flag_replace_objc_classes, flag_undef, flag_no_builtin,
13384 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
13385 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
13386 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
13387 flag_no_gnu_keywords, flag_implement_inlines,
13388 flag_implicit_templates, flag_implicit_inline_templates,
13389 flag_optional_diags, flag_elide_constructors, flag_default_inline,
13390 flag_rtti, flag_conserve_space, flag_access_control,
13391 flag_check_new, flag_new_for_scope, flag_weak,
13392 flag_working_directory, flag_use_cxa_atexit,
13393 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
13394 flag_threadsafe_statics, flag_pretty_templates,
13395 warn_strict_null_sentinel): Remove.
13396 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
13397 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
13398 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
13399 fimplicit-inline-templates, fimplicit-templates,
13400 flax-vector-conversions, fms-extensions, fnil-receivers,
13401 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
13402 frtti, fshort-double, fshort-enums, fshort-wchar,
13403 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
13404 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
13405 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
13406 gen-decls, undef): Use Var.
13407 (fdefault-inline, foptional-diags): Document as doing nothing.
13408 * c-opts.c (c_common_handle_option): Remove cases for options now
13409 using Var. Mark ignored options as such.
13410
39dabefd
SB
134112010-06-05 Steven Bosscher <steven@gcc.gnu.org>
13412
9faeb493 13413 * c-common.c: Moved to here from parent directory.
39dabefd
SB
13414 * c-common.def: Likewise.
13415 * c-common.h: Likewise.
13416 * c-cppbuiltin.c: Likewise.
13417 * c-dump.c: Likewise.
13418 * c-format.c: Likewise.
13419 * c-format.h : Likewise.
13420 * c-gimplify.c: Likewise.
13421 * c-lex.c: Likewise.
13422 * c-omp.c: Likewise.
13423 * c.opt: Likewise.
13424 * c-opts.c: Likewise.
13425 * c-pch.c: Likewise.
13426 * c-ppoutput.c: Likewise.
13427 * c-pragma.c: Likewise.
13428 * c-pragma.h: Likewise.
13429 * c-pretty-print.c: Likewise.
13430 * c-pretty-print.h: Likewise.
13431 * c-semantics.c: Likewise.
13432 * stub-objc.c: Likewise.
13433
13434 * c-common.c: Include gt-c-family-c-common.h.
13435 * c-pragma.c: Include gt-c-family-c-pragma.h.
13436\f
877e3c2a 13437Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
13438
13439Copying and distribution of this file, with or without modification,
13440are permitted in any medium without royalty provided the copyright
13441notice and this notice are preserved.
This page took 4.797307 seconds and 5 git commands to generate.