]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
libstdc++: Remove dg-error that no longer happens
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
e1d43592
GA
12021-11-23 Martin Sebor <msebor@redhat.com>
2
3 PR middle-end/88232
4 * c.opt: Add -Winfinite-recursion.
5
9c077398
GA
62021-11-19 Martin Sebor <msebor@redhat.com>
7
8 PR c++/33925
9 PR c/102867
10 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
11 and improve handling tof defined symbols.
12
132021-11-19 Martin Liska <mliska@suse.cz>
14
15 Revert:
16 2021-11-18 Martin Liska <mliska@suse.cz>
17
18 * c-gimplify.c (genericize_c_loop): Use option directly.
19
483092d3
GA
202021-11-18 Matthias Kretz <m.kretz@gsi.de>
21
22 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
23 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
24
252021-11-18 Martin Liska <mliska@suse.cz>
26
27 * c-gimplify.c (genericize_c_loop): Use option directly.
28
280d2838
GA
292021-11-17 Martin Uecker <uecker@gcc.gnu.org>
30
31 PR c/91038
32 PR c/29970
33 * c-common.c (pointer_int_sum): Make sure pointer expressions
34 are evaluated first when the size expression depends on for
35 variably-modified types.
36
372021-11-17 Marek Polacek <polacek@redhat.com>
38
39 PR preprocessor/103026
40 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
41
6b1695f4
GA
422021-11-16 Jason Merrill <jason@redhat.com>
43
44 * c-common.c (release_tree_vector): Only cache vecs smaller than
45 16 elements.
46
e2b57363
GA
472021-11-15 Jason Merrill <jason@redhat.com>
48
49 * c.opt: Add -fimplicit-constexpr.
50 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
51 * c-opts.c (c_common_post_options): Disable below C++14.
52
532021-11-15 Jakub Jelinek <jakub@redhat.com>
54
55 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
56 Duplicate to both OMP_TARGET and OMP_TEAMS.
57
8d36a0d2
GA
582021-11-10 Marek Polacek <polacek@redhat.com>
59
60 PR c++/101940
61 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
62 ignored_attributes.
63
c9b1334e
GA
642021-11-09 David Malcolm <dmalcolm@redhat.com>
65
66 * c-pragma.c (GCC_BAD_AT): New macro.
67 (GCC_BAD2_AT): New macro.
68 (handle_pragma_pack): Use the location of the pertinent token when
69 issuing diagnostics about invalid constants/actions, and trailing
70 junk.
71 (handle_pragma_target): Likewise for non-string "GCC option".
72 (handle_pragma_message): Likewise for trailing junk.
73
18ae471f
GA
742021-11-03 Joseph Myers <joseph@codesourcery.com>
75
76 PR c/103031
77 * c-common.c (convert_and_check): Add argument init_const. Call
78 convert_init if init_const.
79 * c-common.h (convert_and_check): Update prototype.
80 (convert_init): New prototype.
81
cf82e8d9
GA
822021-11-01 David Malcolm <dmalcolm@redhat.com>
83
84 * c-lex.c (c_lex_with_flags): When complaining about non-printable
85 CPP_OTHER tokens, set the "escape on output" flag.
86
04a2cf3f
GA
872021-10-27 Jakub Jelinek <jakub@redhat.com>
88
89 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
90 POINTER_PLUS_EXPR.
91 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
92 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
93
942021-10-27 Jakub Jelinek <jakub@redhat.com>
95
96 PR c++/102854
97 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
98 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
99 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
100 conversions temporarily clear the 3rd bit from d->kind while walking
101 subtrees.
102 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
103 if possibly non-rectangular.
104
ae5c5406
GA
1052021-10-21 Jakub Jelinek <jakub@redhat.com>
106
107 PR middle-end/64888
108 * c-omp.c (c_omp_predefined_variable): Return true also for
109 ubsan_create_data created artificial variables.
110
5d5885c9
GA
1112021-10-14 Joseph Myers <joseph@codesourcery.com>
112
113 * c-format.c (printf_length_specs, scanf_length_specs)
114 (print_char_table, scan_char_table): Support DFP formats for C2X.
115 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
116 (T2X_D32, T2X_D64, T2X_D128): New macros.
117
1182021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
119
120 * c-omp.c (c_omp_check_context_selector): Rename to
121 omp_check_context_selector and move to omp-general.c.
122 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
123 move to omp-general.c.
124
52055987
GA
1252021-10-12 Joseph Myers <joseph@codesourcery.com>
126
127 * c-format.c (print_char_table): Add %b and %B formats.
128 (scan_char_table): Add %b format.
129 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
130 (T2X_UPD, T2X_UIM): New macros.
131
1322021-10-12 Jakub Jelinek <jakub@redhat.com>
133
134 * c-omp.c (c_finish_omp_atomic): Use
135 clear_padding_type_may_have_padding_p.
136
ce6eec39
GA
1372021-10-08 Martin Liska <mliska@suse.cz>
138
139 * c-opts.c (c_common_post_options): Use new macro
140 OPTION_SET_P.
141
50e20ee6
GA
1422021-10-07 Martin Liska <mliska@suse.cz>
143
144 * c-common.c (parse_optimize_options): Make
145 save_opt_decoded_options a pointer type.
146
57c7ec62
GA
1472021-10-06 Jakub Jelinek <jakub@redhat.com>
148
149 PR tree-optimization/102571
150 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
151 padding, but the non-padding bits are contiguous set of bytes
152 by adjusting the memcmp call arguments instead of emitting
153 __builtin_clear_padding and then comparing all the type's bytes.
154
1552021-10-06 Jakub Jelinek <jakub@redhat.com>
156
157 PR c++/102612
158 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
159 __cpp_constexpr to 202110L rather than 201907L.
160
da9c5f78
GA
1612021-10-04 Marek Polacek <polacek@redhat.com>
162
163 PR c++/97573
164 * c-common.h (do_warn_array_compare): Declare.
165 * c-warn.c (do_warn_array_compare): New.
166 * c.opt (Warray-compare): New option.
167
e3e07b89
GA
1682021-10-02 Iain Sandoe <iain@sandoe.co.uk>
169
170 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
171 NULL, this is not needed.
172
9d116bcc
GA
1732021-10-01 Martin Sebor <msebor@redhat.com>
174
175 PR c/102103
176 * c-common.c (decl_with_nonnull_addr_p): Handle members.
177 Check and perform warning suppression.
178 (c_common_truthvalue_conversion): Enhance warning suppression.
179
1802021-10-01 Martin Liska <mliska@suse.cz>
181
182 PR target/102552
183 * c-common.c (parse_optimize_options): decoded_options[0] is
184 used for program name, so merged_decoded_options should also
185 respect that.
186
1872021-10-01 Jakub Jelinek <jakub@redhat.com>
188 Richard Biener <rguenther@suse.de>
189
190 PR sanitizer/102515
191 * c-ubsan.c (ubsan_instrument_division): Check the right
192 flag_sanitize_recover bit, depending on which sanitization
193 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
194 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
195 and SANITIZE_DIVIDE is enabled, neither check is known
196 to be false and flag_sanitize_recover bits for those two
197 aren't the same, emit both __ubsan_handle_divrem_overflow
198 and __ubsan_handle_divrem_overflow_abort calls.
199
2002021-10-01 Martin Liska <mliska@suse.cz>
201
202 * c-common.c (parse_optimize_options): Combine optimize
203 options with what was provided on the command line.
204
2052021-10-01 Jakub Jelinek <jakub@redhat.com>
206
207 * c-omp.c (c_omp_split_clauses): Also copy
208 OMP_CLAUSE_ORDER_REPRODUCIBLE.
209
cf966403
GA
2102021-09-27 Martin Liska <mliska@suse.cz>
211
212 * c-opts.c (c_common_init_options_struct): Set also
213 x_flag_default_complex_method.
214
e4777439
GA
2152021-09-22 Jakub Jelinek <jakub@redhat.com>
216
217 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
218
62498024
GA
2192021-09-20 Matthias Kretz <m.kretz@gsi.de>
220
221 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
222 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
223 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
224 __ROUNDING_MATH__ according to the new optimization flags.
225
cf74e7b5
GA
2262021-09-18 Jakub Jelinek <jakub@redhat.com>
227
228 * c-omp.c (c_omp_split_clauses): Split order clause also to
229 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
230
0a4cb439
GA
2312021-09-17 Jakub Jelinek <jakub@redhat.com>
232
233 * c-omp.c (c_finish_omp_atomic): Avoid creating
234 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
235 create_tmp_var and add a zero initializer to TARGET_EXPRs that
236 had NULL initializer. When omitting operands after v = x,
237 use type of v rather than type of x. Fix type of vtmp
238 TARGET_EXPR.
239
07985c47
GA
2402021-09-13 Jason Merrill <jason@redhat.com>
241
242 * c.opt: Add -Winterference-size.
243 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
244 and __GCC_CONSTRUCTIVE_SIZE.
245
a26206ec
GA
2462021-09-10 Jakub Jelinek <jakub@redhat.com>
247
248 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
249 * c-omp.c: Include gimple-fold.h.
250 (c_finish_omp_atomic): Add r and weak arguments. Add support for
251 OpenMP 5.1 atomics.
252
f84e2f0b
GA
2532021-09-09 qing zhao <qing.zhao@oracle.com>
254
255 * c-attribs.c (handle_uninitialized_attribute): New function.
256 (c_common_attribute_table): Add "uninitialized" attribute.
257
b6db7cd4
GA
2582021-09-08 liuhongt <hongtao.liu@intel.com>
259
260 * c-common.c (excess_precision_mode_join): Update below comments.
261 (c_ts18661_flt_eval_method): Set excess_precision_type to
262 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
263 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
264 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
265 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
266
b2748138
GA
2672021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
268
269 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
270
7b739540
GA
2712021-09-03 Eric Botcazou <ebotcazou@adacore.com>
272
273 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
274 and -gnatwu warning for the package specification.
275
e11c6046
GA
2762021-09-01 Iain Sandoe <iain@sandoe.co.uk>
277
278 * c-attribs.c (handle_unavailable_attribute): New.
279
1e2f030b
GA
2802021-08-30 Jason Merrill <jason@redhat.com>
281
282 * c.opt: Add -Wmissing-requires.
283
85d77ac4
GA
2842021-08-25 Lewis Hyatt <lhyatt@gmail.com>
285
286 PR other/93067
287 * c-opts.c (c_common_input_charset_cb): New function.
288 (c_common_post_options): Call new function
289 diagnostic_initialize_input_context().
290
7c9e1645
GA
2912021-08-20 Tobias Burnus <tobias@codesourcery.com>
292
293 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
294 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
295 "di" and "u", respecitively; fill with BADLEN to match
296 size of 'types'.
297 (get_init_dynamic_hwi): Split off from ...
298 (init_dynamic_diag_info): ... here. Call it.
299 (init_dynamic_gfc_info): Call it.
300
3012021-08-20 Jakub Jelinek <jakub@redhat.com>
302
303 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
304 * c-pragma.c (omp_pragmas): Add error directive.
305 * c-omp.c (omp_directives): Uncomment error directive entry.
306
6e529985
GA
3072021-08-18 Jakub Jelinek <jakub@redhat.com>
308
309 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
310 * c-pragma.c (omp_pragmas): Add nothing directive.
311 * c-omp.c (omp_directives): Uncomment nothing directive entry.
312
2d14d64b
GA
3132021-08-17 Jakub Jelinek <jakub@redhat.com>
314
315 PR c++/101539
316 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
317 * c-common.c (c_common_reswords): Add __is_layout_compatible.
318
3192021-08-17 Matt Jacobson <mhjacobson@me.com>
320
321 * c-opts.c (c_common_post_options): Default to
322 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
323
3242021-08-17 Jakub Jelinek <jakub@redhat.com>
325
326 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
327 * c-pragma.c (omp_pragmas): Add scope construct.
328 * c-omp.c (omp_directives): Uncomment scope directive entry.
329
9d1d9fc8
GA
3302021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
331
332 * c-cppbuiltin.c (c_cpp_builtins): Define
333 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
334
72be20e2
GA
3352021-08-12 Jakub Jelinek <jakub@redhat.com>
336
337 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
338 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
339 * c-pragma.c (omp_pragmas_simd): Add masked construct.
340 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
341 enumerator.
342 (c_finish_omp_masked): Declare.
343 * c-omp.c (c_finish_omp_masked): New function.
344 (c_omp_split_clauses): Handle combined masked constructs.
345
4d17ca1b
GA
3462021-07-30 Jakub Jelinek <jakub@redhat.com>
347
348 PR c++/101539
349 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
350 * c-common.c (c_common_reswords): Add
351 __is_pointer_interconvertible_base_of.
352
3532021-07-29 Richard Biener <rguenther@suse.de>
354
355 PR c/101512
356 * c-common.c (c_common_mark_addressable_vec): Look through
357 C_MAYBE_CONST_EXPR even if not at the toplevel.
358
af3f12e6
GA
3592021-07-27 Martin Sebor <msebor@redhat.com>
360
361 PR c/101585
362 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
363
ead235f6
GA
3642021-07-23 Jakub Jelinek <jakub@redhat.com>
365
366 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
367 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
368 and later.
369
3702021-07-23 Jakub Jelinek <jakub@redhat.com>
371
372 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
373 PRAGMA_OMP__LAST_ enumerators.
374
419c6c68
GA
3752021-07-21 Thomas Schwinge <thomas@codesourcery.com>
376 Joseph Myers <joseph@codesourcery.com>
377 Cesar Philippidis <cesar@codesourcery.com>
378
379 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
380
92d45509
GA
3812021-07-20 Martin Sebor <msebor@redhat.com>
382
383 * c-common.c (c_build_shufflevector): Adjust by-value argument to
384 by-const-reference.
385 * c-common.h (c_build_shufflevector): Same.
386
87277b6a
GA
3872021-07-16 Andrew Pinski <apinski@marvell.com>
388
389 PR c/101453
390 * c-common.c (parse_optimize_options): Use the correct
391 size for buffer.
392
d97d71a1
GA
3932021-07-15 Martin Sebor <msebor@redhat.com>
394
395 PR c/101289
396 PR c/97548
397 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
398
c4fee1c6
GA
3992021-07-14 Jason Merrill <jason@redhat.com>
400
401 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
402
6fba0eea
GA
4032021-07-06 Martin Sebor <msebor@redhat.com>
404
405 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
406 (gcc_cdiag_char_table): Same.
407 (gcc_cxxdiag_char_table): Same.
408
7a60a6e8
GA
4092021-07-02 Jakub Jelinek <jakub@redhat.com>
410
411 * c-common.h (enum c_omp_directive_kind): New enum.
412 (struct c_omp_directive): New type.
413 (c_omp_categorize_directive): Declare.
414 * c-omp.c (omp_directives): New variable.
415 (c_omp_categorize_directive): New function.
416
bea7c16a
GA
4172021-07-01 Eric Botcazou <ebotcazou@adacore.com>
418
419 * c-ada-spec.c (packed_layout): New global variable.
420 (dump_ada_declaration): Set it upon seeing a packed record type.
421 Do not put the "aliased" keyword if it is set.
422 (dump_ada_structure): Add Pack aspect if it is set and clear it.
423
4242021-07-01 Eric Botcazou <ebotcazou@adacore.com>
425
426 * c-ada-spec.c (check_name): Rename into...
427 (check_type_name_conflict): ...this. Minor tweak.
428 (dump_ada_function_declaration): Adjust to above renaming.
429 (dump_ada_array_domains): Fix oversight.
430 (dump_ada_declaration): Call check_type_name_conflict for variables.
431
90708f87
GA
4322021-06-25 Martin Sebor <msebor@redhat.com>
433
434 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
435 (c_common_truthvalue_conversion): Replace direct uses of
436 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
437 copy_no_warning.
438 (check_function_arguments_recurse): Same.
439 * c-gimplify.c (c_gimplify_expr): Same.
440 * c-warn.c (overflow_warning): Same.
441 (warn_logical_operator): Same.
442 (warn_if_unused_value): Same.
443 (do_warn_unused_parameter): Same.
444
9aa8327e
GA
4452021-06-24 Jakub Jelinek <jakub@redhat.com>
446
447 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
448 C_ORT_OMP_TARGET.
449 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
450 combined target constructs also add map (always, tofrom:) clause.
451
ede6c356
GA
4522021-06-15 Robin Dapp <rdapp@linux.ibm.com>
453
454 * c-attribs.c (common_handle_aligned_attribute): Remove short
455 circuit and dead code.
456
8dc48181
GA
4572021-06-14 Jonathan Wakely <jwakely@redhat.com>
458
459 PR c++/101052
460 * known-headers.cc (get_stdlib_header_for_name): Add known
461 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
462 exit, and getenv.
463
8b8c3912
GA
4642021-06-12 Jason Merrill <jason@redhat.com>
465
466 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
467
f16f65f8
GA
4682021-06-11 Jakub Jelinek <jakub@redhat.com>
469
470 PR c++/100974
471 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
472 -std=c++2b for P1938R3 consteval if support.
473
4f625f47
GA
4742021-06-09 Jason Merrill <jason@redhat.com>
475
476 PR c++/100879
477 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
478 warning.
479
438aac59
GA
4802021-06-07 Martin Liska <mliska@suse.cz>
481
482 * c-target.def: Split long lines and replace them
483 with '\n\'.
484
600f90cb
GA
4852021-06-04 Martin Sebor <msebor@redhat.com>
486
487 PR c/100783
488 * c-attribs.c (positional_argument): Bail on erroneous types.
489
4902021-06-04 Martin Sebor <msebor@redhat.com>
491
492 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
493 for element presence.
494
440c8a0a
GA
4952021-06-03 Eric Botcazou <ebotcazou@adacore.com>
496
497 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
498 (dump_ada_decl_name): Likewise.
499 (dump_anonymous_type_name): Remove parent parameter and adjust.
500 (dump_sloc): Minor tweak.
501 (dump_ada_array_type): Remove type parameter and adjust.
502 (dump_ada_enum_type): Remove parent parameter and adjust.
503 (dump_ada_node): Adjust calls to above functions.
504 (dumped_anonymous_types): New global variable.
505 (dump_nested_types_1): Rename into...
506 (dump_nested_types): ...this.
507 (dump_nested_type): Remove parent and dumped_types parameters.
508 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
509 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
510 (dump_ada_specs): Initialize and free dumped_anonymous_types.
511
5122021-06-03 Eric Botcazou <ebotcazou@adacore.com>
513
514 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
515 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
516
5172021-06-03 Eric Botcazou <ebotcazou@adacore.com>
518
519 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
520 (htable_t): New typedef.
521 (overloaded_names): Use it.
522 (add_name): New function.
523 (init_overloaded_names): Use add_name to populate the table and add
524 special cases for sigaction and stat.
525 (overloaded_name_p): Rename into...
526 (overloading_index): ...this. Do not initialize overloaded_names table
527 here. Return the index or zero.
528 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
529 but add an overloading suffix instead.
530 (dump_ada_specs): Initialize overloaded_names tables here.
531
b75978d1
GA
5322021-06-01 Martin Liska <mliska@suse.cz>
533
534 PR other/100759
535 * c-attribs.c (handle_optimize_attribute): Limit sanity check
536 to a situation where we are not in processing of an optimize
537 pragma.
538 * c-pragma.c (handle_pragma_pop_options): Restore target
539 options.
540
ee682192
GA
5412021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
542
543 PR testsuite/100749
544 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
545
5462021-05-31 Richard Biener <rguenther@suse.de>
547
548 PR c++/88601
549 * c-common.c: Include tree-vector-builder.h and
550 vec-perm-indices.h.
551 (c_common_reswords): Add __builtin_shufflevector.
552 (c_build_shufflevector): New funtion.
553 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
554 (c_build_shufflevector): Declare.
555
48166757
GA
5562021-05-28 Jakub Jelinek <jakub@redhat.com>
557
558 PR middle-end/99928
559 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
560 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
561
5622021-05-28 Tobias Burnus <tobias@codesourcery.com>
563
564 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
565
2bc6dace
GA
5662021-05-25 Martin Liska <mliska@suse.cz>
567
568 PR tree-optimization/92860
569 PR target/99592
570 * c-attribs.c (handle_optimize_attribute): Save target node
571 before calling parse_optimize_options and save it in case
572 it changes.
573 * c-pragma.c (handle_pragma_target): Similarly for pragma.
574 (handle_pragma_pop_options): Likewise here.
575
5762021-05-25 Martin Liska <mliska@suse.cz>
577
578 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
579
5802021-05-25 Jakub Jelinek <jakub@redhat.com>
581
582 PR middle-end/99928
583 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
584 combined with simd and not with taskloop or for.
585
2832d51b
GA
5862021-05-21 Jakub Jelinek <jakub@redhat.com>
587
588 PR middle-end/99928
589 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
590 on firstprivate clause copy going to target construct, and for
591 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
592
ea34e2ed
GA
5932021-05-20 Jonathan Wakely <jwakely@redhat.com>
594
595 * c.opt (Wc++11-extensions, Wc++14-extensions)
596 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
597 options.
598
5992021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
600
601 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
602
6032021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
604
605 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
606 * c-pch.c (struct c_pch_validity): Use type uint32_t.
607 (pch_init): Renamed member.
608 (c_common_valid_pch): Adjust access to debug_type_names.
609
65f32e5d
GA
6102021-05-19 Martin Sebor <msebor@redhat.com>
611
612 PR c/100619
613 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
614 bounds.
615
a8daf9a1
GA
6162021-05-18 Richard Biener <rguenther@suse.de>
617
618 PR c/100547
619 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
620 Reword existing nunit diagnostic.
621
a7ffc1ef
GA
6222021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
623
624 * c-common.c (braced_list_to_string): Return CTOR unchanged
625 if host and target character sizes don't match.
626
87a7d10c
GA
6272021-05-14 Martin Liska <mliska@suse.cz>
628
629 * c.opt: Add Warning keyword for 2 options.
630
f9af11c7
GA
6312021-05-13 Martin Liska <mliska@suse.cz>
632
633 PR middle-end/100504
634 * c-attribs.c (handle_target_clones_attribute): Expect a string
635 argument to target_clone argument.
636
037e3661
GA
6372021-05-11 Joseph Myers <joseph@codesourcery.com>
638
639 * c-lex.c (interpret_float): Handle digit separators for C2X.
640
aa891c56
GA
6412021-05-10 Martin Liska <mliska@suse.cz>
642
643 * c-ada-spec.c (print_destructor): Use startswith
644 function instead of strncmp.
645 (dump_ada_declaration): Likewise.
646 * c-common.c (disable_builtin_function): Likewise.
647 (def_builtin_1): Likewise.
648 * c-format.c (check_tokens): Likewise.
649 (check_plain): Likewise.
650 (convert_format_name_to_system_name): Likewise.
651
e4ff4ffb
GA
6522021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
653
654 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
655 complex divide
656
c0fa3f2f
GA
6572021-04-26 Thomas Schwinge <thomas@codesourcery.com>
658 Nathan Sidwell <nathan@codesourcery.com>
659 Tom de Vries <vries@codesourcery.com>
660 Julian Brown <julian@codesourcery.com>
661 Kwok Cheung Yeung <kcy@codesourcery.com>
662
663 * c.opt (Wopenacc-parallelism): New.
664
6e81e015
GA
6652021-04-19 Thomas Schwinge <thomas@codesourcery.com>
666
667 * c.opt (fopenacc-kernels=): Remove.
668
019a9220
GA
6692021-04-08 Jakub Jelinek <jakub@redhat.com>
670
671 * c-warn.c (do_warn_double_promotion): Fix comment typo,
672 occured -> occurred.
673 (check_alignment_of_packed_member): Fix a comment typo,
674 memeber -> member.
675 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
676 and onless -> unless.
677 (warn_parm_array_mismatch): Fix comment typos, declaratation
678 -> declaration and woud -> would. Fix up comment indentation.
679
6802021-04-08 Martin Sebor <msebor@redhat.com>
681
682 PR middle-end/99883
683 * c.opt (Wmismatched-new-delete): Correct spelling.
684
b1da9916
GA
6852021-04-05 Eric Botcazou <ebotcazou@adacore.com>
686
687 * c-ada-spec.c (is_simple_enum): Minor tweaks.
688 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
689 enumeral types use again the type name for the enumeration constants.
690 (dump_ada_node): Adjust call to dump_ada_enum_type.
691 (dump_nested_type): Likewise.
692
f1607029
GA
6932021-04-01 Jason Merrill <jason@redhat.com>
694
695 PR c++/98481
696 * c-opts.c (c_common_post_options): Bump latest_abi_version.
697
4493b1c1
GA
6982021-03-25 Jakub Jelinek <jakub@redhat.com>
699
700 PR c++/99565
701 * c-warn.c (do_warn_duplicated_branches): Pass also
702 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
703
6af7b307
GA
7042021-03-20 Jakub Jelinek <jakub@redhat.com>
705
706 PR debug/99230
707 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
708
ceae9533
GA
7092021-03-05 Eric Botcazou <ebotcazou@adacore.com>
710
711 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
712 after entering the separate class package, if any.
713
67f10d28
GA
7142021-03-04 Richard Biener <rguenther@suse.de>
715
716 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
717 Handle ERROR_MARK.
718
7192021-03-04 Jakub Jelinek <jakub@redhat.com>
720
721 PR c/99325
722 * c-ppoutput.c (print): Change src_line type from int to unsigned.
723 (token_streamer::stream) Likewise.
724 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
725 UNKNOWN_LOCATION.
726
f3641ac7
GA
7272021-03-03 Jakub Jelinek <jakub@redhat.com>
728
729 PR c/99324
730 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
731 instead of mark_addressable. Fix a comment typo -
732 neutrallly -> neutrally.
733
2c83c3fb
GA
7342021-02-28 Jakub Jelinek <jakub@redhat.com>
735
736 PR c/99304
737 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
738 message - refernced -> referenced. Remove superfluous space before
739 closing paren of function calls.
740
daa68844
GA
7412021-02-25 Nathan Sidwell <nathan@acm.org>
742
743 PR c++/99166
744 * c.opt (-flang-info-module-cmi): Renamed option.
745
50352c6c
GA
7462021-02-19 Nathan Sidwell <nathan@acm.org>
747
748 * c.opt (flang-info-module-read, flang-info-module-read=): New.
749
bf81237e
GA
7502021-02-18 H.J. Lu <hjl.tools@gmail.com>
751
752 PR target/99113
753 * c-attribs.c (c_common_attribute_table): Add the "retain"
754 attribute.
755 (handle_retain_attribute): New function.
756
0e804ce3
GA
7572021-02-16 Marek Polacek <polacek@redhat.com>
758
759 PR c++/99062
760 * c-attribs.c (handle_assume_aligned_attribute): Check that the
761 alignment argument is non-negative. Tweak a warning message.
762
fab095da
GA
7632021-02-12 Martin Sebor <msebor@redhat.com>
764
765 PR c/99055
766 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
767 print_generic_expr_to_str.
768
4b37c3ea
GA
7692021-02-10 Richard Biener <rguenther@suse.de>
770
771 * c-common.c (parse_optimize_options): Free decoded_options.
772
a19dd5e6
GA
7732021-02-04 emsr <3dw4rd@verizon.net>
774
775 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
776
9faaa807
GA
7772021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
778
779 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
780 * c-lex.c (interpret_integer): Set node type for size literal.
781
85d04a2e
GA
7822021-01-28 Jakub Jelinek <jakub@redhat.com>
783
784 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
785 draft from description.
786 (-std=c++2b): Fix a pasto, 2020 -> 2023.
787
e62bb7f0
GA
7882021-01-26 Paul Fee <paul.f.fee@gmail.com>
789
790 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
791 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
792 and -std=gnu++2b
793 * c-opts.c (set_std_cxx23): New.
794 (c_common_handle_option): Set options when -std=c++23 is enabled.
795 (c_common_post_options): Adjust comments.
796 (set_std_cxx20): Likewise.
797
161e4c08
GA
7982021-01-25 Martin Sebor <msebor@redhat.com>
799
800 PR c++/98646
801 * c-common.c (check_nonnull_arg): Adjust warning text.
802
4c9bcd5c
GA
8032021-01-17 Martin Sebor <msebor@redhat.com>
804
805 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
806 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
807
59cf67d1
GA
8082021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
809
810 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
811 Redefine PRAGMA_OACC_CLAUSE_DETACH.
812
2f7f0d32
GA
8132021-01-15 Jakub Jelinek <jakub@redhat.com>
814
815 PR tree-optimization/98597
816 * c-pretty-print.c: Include options.h.
817 (c_fold_indirect_ref_for_warn): New function.
818 (print_mem_ref): Use it. If it returns something that has compatible
819 type and is TBAA compatible with zero offset, print it and return,
820 otherwise print it using offsetof syntax or array ref syntax. Fix up
821 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
822 argument has pointer to array type. Print pointers using the standard
823 formatting.
824
6851dda2
GA
8252021-01-12 Martin Sebor <msebor@redhat.com>
826
827 PR c/98597
828 PR c/98592
829 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
830 has pointer type. Remove redundant code. Avoid calling
831 gimple_canonical_types_compatible_p.
832
7d187e4f
GA
8332021-01-07 Martin Sebor <msebor@redhat.com>
834
835 PR middle-end/98578
836 * c-pretty-print.c (print_mem_ref): Strip array from access type.
837 Avoid assuming acces type's size is constant. Correct condition
838 guarding the printing of a parenthesis.
839
942ae5be
GA
8402021-01-06 Martin Sebor <msebor@redhat.com>
841
842 PR c++/95768
843 * c-pretty-print.c (c_pretty_printer::primary_expression): For
844 SSA_NAMEs print VLA names and GIMPLE defining statements.
845 (print_mem_ref): New function.
846 (c_pretty_printer::unary_expression): Call it.
847
8482021-01-06 Richard Biener <rguenther@suse.de>
849
850 PR tree-optimization/95582
851 * c-attribs.c (c_common_attribute_table): Add entry for
852 signed_bool_precision.
853 (handle_signed_bool_precision_attribute): New.
854
8daa719b
GA
8552020-12-24 Iain Sandoe <iain@sandoe.co.uk>
856
857 * c.opt: Add -stdlib= option and enumerations for
858 libstdc++ and libc++.
859
eefe499f
GA
8602020-12-16 Martin Liska <mliska@suse.cz>
861
862 * c.opt: Remove usage of Report.
863
d52945ce
GA
8642020-12-14 Martin Sebor <msebor@redhat.com>
865
866 PR middle-end/98166
867 PR c++/57111
868 PR middle-end/98160
869 * c-attribs.c (maybe_add_noinline): New function.
870 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
871 Implicitly add attribute noinline to functions not declared inline
872 and warn on those.
873
ca2bd949
GA
8742020-12-09 Tobias Burnus <tobias@codesourcery.com>
875
876 * c-pragma.c (omp_pragmas): Add 'allocate'.
877 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
878
f6e8e279
GA
8792020-12-08 Jakub Jelinek <jakub@redhat.com>
880
881 PR c++/98187
882 * c-pragma.c (omp_pragmas): Remove "master".
883 (omp_pragmas_simd): Add "master".
884
bc8a7013
GA
8852020-12-07 Marek Polacek <polacek@redhat.com>
886
887 PR c++/98126
888 * c-common.c (verify_tree_lim_r): New function.
889 (verify_sequence_points): Use it. Use nullptr instead of 0.
890
b8dd0ef7
GA
8912020-12-03 Martin Sebor <msebor@redhat.com>
892
893 PR c++/90629
894 PR middle-end/94527
895 * c-attribs.c (handle_dealloc_attribute): New function.
896 (handle_malloc_attribute): Handle argument forms of attribute.
897 * c.opt (-Wmismatched-dealloc): New option.
898 (-Wmismatched-new-delete): New option.
899
9002020-12-03 Jakub Jelinek <jakub@redhat.com>
901
902 PR libstdc++/93121
903 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
904 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
905
e0f5e792
GA
9062020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
907
908 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
909 {__GNUC_EXECUTION_CHARSET_NAME} and
910 _WIDE_EXECUTION_CHARSET_NAME} macros.
911
9122020-12-01 Nathan Sidwell <nathan@acm.org>
913
914 * c-common.c (module, import, export): New internal tokens (with
915 trailing space).
916 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
917 them.
918 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
919 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
920
9212020-12-01 Nathan Sidwell <nathan@acm.org>
922
923 * c-opts.c (c_common_init_options): Ask for module dependencies.
924 (c_common_handle_option): Handle -Mmodules -Mno-modules.
925 * c-pch.c (c_common_valid_pch): ... does not play with C++
926 modules.
927 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
928 options.
929 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
930 (fmodule-only, fmodule-mapper, fmodule-lazy)
931 (fmodule-version-ignore, Winvalid-imported-macros)
932 (flang-info-include-translate, flang-info-include-translate-not):
933 New options
934
5fbf0ecb
GA
9352020-11-28 Eric Botcazou <ebotcazou@adacore.com>
936
937 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
938 (dump_ada_structure): Also deal with convention, unchecked union and
939 bit-field for nested types. In the latter case, print an Alignment
940 aspect along with the Pack aspect.
941
360258da
GA
9422020-11-25 Martin Sebor <msebor@redhat.com>
943
944 PR bootstrap/94982
945 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
946 -Wformat-diag.
947
1e2c9a27
GA
9482020-11-24 Martin Sebor <msebor@redhat.com>
949
950 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
951
8e6198d0
GA
9522020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
953
954 * c-attribs.c (handle_special_var_sec_attribute): New.
955 (handle_noinit_attribute): Remove.
956 (attr_noinit_exclusions): Rename to...
957 (attr_section_exclusions): ...this, and add "persistent" attribute
958 exclusion.
959 (c_common_attribute_table): Add "persistent" attribute.
960
7a97e2fc
GA
9612020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
962
963 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
964 Treat opaque types like other types.
965 (c_pretty_printer::direct_abstract_declarator): Opaque types are
966 supported types.
967
82e5048e
GA
9682020-11-20 Martin Sebor <msebor@redhat.com>
969
970 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
971 with fewer arguments.
972
9732020-11-20 Martin Sebor <msebor@redhat.com>
974
975 PR middle-end/97879
976 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
977 Error out on invalid modes.
978
9792020-11-20 Jakub Jelinek <jakub@redhat.com>
980
981 PR libstdc++/88101
982 * c-common.c (check_builtin_function_arguments): Handle
983 BUILT_IN_CLEAR_PADDING.
984
25bb75f8
GA
9852020-11-18 Nathan Sidwell <nathan@acm.org>
986
987 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
988
4dabb037
GA
9892020-11-17 Nathan Sidwell <nathan@acm.org>
990
991 * c-common.h (enum c_tree_index): Reorder to place lazy fields
992 after newly-added CTI_MODULE_HWM.
993
9942020-11-17 Joseph Myers <joseph@codesourcery.com>
995
996 * c-cppbuiltin.c (builtin_define_float_constants): Define
997 "*_IS_IEC_60559__" macros.
998
9992020-11-17 Nathan Sidwell <nathan@acm.org>
1000
1001 * c-lex.c: #include "langhooks.h".
1002 (cb_undef): Maybe call preprocess_undef lang hook.
1003 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1004 lang hook.
1005 (push_command_line_include): Maybe call preprocess_main_file lang
1006 hook.
1007 (cb_file_change): Likewise.
1008 * c-ppoutput.c: #include "langhooks.h.
1009 (scan_translation_unit): Maybe call preprocess_token lang hook.
1010 (class do_streamer): New, derive from token_streamer.
1011 (directives_only_cb): Data pointer is do_streamer, call
1012 preprocess_token lang hook.
1013 (scan_translation_unit_directives_only): Use do_streamer.
1014 (print_line_1): Move src_line recording to after string output.
1015 (cb_undef): Maybe call preprocess_undef lang hook.
1016
10172020-11-17 Nathan Sidwell <nathan@acm.org>
1018
1019 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1020 code duplicating that functionality.
1021
10222020-11-17 Jakub Jelinek <jakub@redhat.com>
1023
1024 PR c/90628
1025 * c-common.c (check_builtin_function_arguments)
1026 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1027 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1028 for more builtins and argument positions.
1029
29c5d9ce
GA
10302020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1031
1032 PR objc/97854
1033 * stub-objc.c: Include c-common.h to declare enum rid.
1034
77f67db2
GA
10352020-11-13 Jakub Jelinek <jakub@redhat.com>
1036
1037 PR c++/63287
1038 * c-cppbuiltin.c: Include configargs.h.
1039 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1040 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1041 "single".
1042
10432020-11-13 Gergö Barany <gergo@codesourcery.com>
1044 Thomas Schwinge <thomas@codesourcery.com>
1045
1046 * c.opt (fopenacc-kernels): Add.
1047
10482020-11-13 Jason Merrill <jason@redhat.com>
1049
1050 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1051
10522020-11-13 Piotr H. Dabrowski <phd@phd.re>
1053
1054 PR c++/91318
1055 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1056
10572020-11-13 Martin Liska <mliska@suse.cz>
1058
1059 * c-attribs.c (build_attr_access_from_parms): Format properly.
1060
10612020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1062
1063 PR objc/90707
1064 * c-common.c (c_common_reswords): null_unspecified, nullable,
1065 nonnull, null_resettable: New keywords.
1066 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1067 RID_NONNULL, RID_NULL_RESETTABLE: New.
1068 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1069 ranges accepted for property attributes.
1070 * c-attribs.c (handle_objc_nullability_attribute): New.
1071 * c-objc.h (enum objc_property_attribute_group): Add
1072 OBJC_PROPATTR_GROUP_NULLABLE.
1073 (enum objc_property_attribute_kind):Add
1074 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1075 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1076
10772020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1078
1079 PR objc/77404
1080 * c-attribs.c (handle_objc_root_class_attribute): New
1081 * c-objc.h (objc_start_class_interface): Add a location
1082 value for the position of the class name.
1083 * c.opt: Add Wobjc-root-class.
1084 * stub-objc.c (objc_start_class_interface): Add a location
1085 value for the position of the class name.
1086
a5a11525
GA
10872020-11-12 Joseph Myers <joseph@codesourcery.com>
1088
1089 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1090 Allow scope for C. Handle standard attributes for C. Do not
1091 accept unscoped attributes if std_syntax and not handled as
1092 standard attributes.
1093 * c-common.h (c_common_has_attribute): Update prototype.
1094
10952020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1096
1097 PR pch/86674
1098 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1099 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1100
0f5f9ed5
GA
11012020-11-11 Patrick Palka <ppalka@redhat.com>
1102
1103 PR c++/88115
1104 * c-opts.c (c_common_post_options): Update latest_abi_version.
1105
bb622641
GA
11062020-11-10 Jakub Jelinek <jakub@redhat.com>
1107
1108 PR c/97748
1109 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1110 to false.
1111 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1112 recursively and just return true instead of warning if it is true.
1113 Handle COMPLEX_EXPR.
1114
11152020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1116
1117 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1118 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1119 (c_omp_adjust_map_clauses): New function.
1120
2bee28dd
GA
11212020-11-09 Marek Polacek <polacek@redhat.com>
1122
1123 DR 1914
1124 * c-common.c (attribute_fallthrough_p): Tweak the warning
1125 message.
1126
11272020-11-09 Patrick Palka <ppalka@redhat.com>
1128
1129 * c-pragma.c (handle_pragma_diagnostic): Split the
1130 unknown-option -Wpragmas diagnostic into a warning and a
1131 subsequent note containing a spelling suggestion. Avoid
1132 computing the suggestion if -Wpragmas warnings are being
1133 suppressed.
1134
11352020-11-09 Patrick Palka <ppalka@redhat.com>
1136
1137 PR testsuite/97117
1138 * c-indentation.c (get_visual_column): Remove location_t
1139 parameter. Move the column-tracking diagnostic code from here
1140 to ...
1141 (should_warn_for_misleading_indentation): ... here, before the
1142 early exit for when the loci are not all distinct. Don't pass a
1143 location_t argument to get_visual_column.
1144 (assert_get_visual_column_succeeds): Don't pass a location_t
1145 argument to get_visual_column.
1146 (assert_get_visual_column_fails): Likewise.
1147
fb95de7a
GA
11482020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1149
1150 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1151 of keywords accepted in @property attribute contexts.
1152 * c-objc.h (enum objc_property_attribute_group): Add
1153 OBJC_PROPATTR_GROUP_CLASS.
1154 (enum objc_property_attribute_kind): Add
1155 OBJC_PROPERTY_ATTR_CLASS.
1156
2da7ee05
GA
11572020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1158
1159 * c-common.c (c_common_reswords): Add 'atomic' property
1160 attribute.
1161 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1162 property attributes.
1163
11642020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1165
1166 * c-attribs.c (handle_nsobject_attribute): New.
1167 * c.opt: Add WNSObject-attribute.
1168
44cab2d8
GA
11692020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1170
1171 * c-objc.h (enum objc_property_attribute_group): New
1172 (enum objc_property_attribute_kind): New.
1173 (OBJC_PROPATTR_GROUP_MASK): New.
1174 (struct property_attribute_info): Small class encapsulating
1175 parser output from property attributes.
1176 (objc_prop_attr_kind_for_rid): New
1177 (objc_add_property_declaration): Simplify interface.
1178 * stub-objc.c (enum rid): Dummy type.
1179 (objc_add_property_declaration): Simplify interface.
1180 (objc_prop_attr_kind_for_rid): New.
1181
11822020-11-06 Nathan Sidwell <nathan@acm.org>
1183
1184 * c-ada-spec.c (collect_ada_nodes): Rename
1185 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1186 (collect_ada_node): Likewise.
1187 (dump_forward_type): Likewise.
1188 * c-common.c (set_underlying_type): Rename
1189 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1190 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1191
11922020-11-06 Jakub Jelinek <jakub@redhat.com>
1193
1194 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1195
0cfd9109
GA
11962020-11-05 Marek Polacek <polacek@redhat.com>
1197
1198 PR c++/97675
1199 * c.opt (Wexceptions): New option.
1200
12012020-11-05 Marek Polacek <polacek@redhat.com>
1202
1203 PR c++/25814
1204 * c.opt (Wvexing-parse): New option.
1205
35c125cb
GA
12062020-11-04 Jakub Jelinek <jakub@redhat.com>
1207
1208 PR c++/97670
1209 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1210 underlying decl to clear in the allocate_head bitmap.
1211
12122020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1213
1214 * c-objc.h (objc_non_constant_expr_p): New.
1215 * stub-objc.c (objc_non_constant_expr_p): New.
1216
fd2325ea
GA
12172020-11-03 Nathan Sidwell <nathan@acm.org>
1218
1219 * c.opt (MQ,MT): Reword description to be make-agnostic.
1220
88ce3d5f
GA
12212020-11-02 Nathan Sidwell <nathan@acm.org>
1222
1223 * c-opts.c (c_common_post_options): Move var decl to its
1224 initialization point.
1225
12262020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1227
1228 * c-lex.c (c_lex_with_flags): When combining '@' with a
1229 keyword for Objective-C, combine the location ranges too.
1230
12312020-10-30 Qing Zhao <qing.zhao@oracle.com>
1232 H.J.Lu <hjl.tools@gmail.com>
1233
1234 * c-attribs.c (c_common_attribute_table): Add new attribute
1235 zero_call_used_regs.
1236 (handle_zero_call_used_regs_attribute): New function.
1237
e93aae4a
GA
12382020-10-28 Marek Polacek <polacek@redhat.com>
1239
1240 PR c++/97573
1241 * c-opts.c (c_common_post_options): In C++20, turn on
1242 -Wdeprecated-enum-enum-conversion and
1243 -Wdeprecated-enum-float-conversion.
1244 * c.opt (Wdeprecated-enum-enum-conversion,
1245 Wdeprecated-enum-float-conversion): New options.
1246 (Wenum-conversion): Allow for C++ too.
1247
12482020-10-28 Jakub Jelinek <jakub@redhat.com>
1249
1250 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1251 * c-omp.c: Include bitmap.h.
1252 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1253
f19e7c8d
GA
12542020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1255
1256 * c-common.c (__is_nothrow_assignable): New.
1257 (__is_nothrow_constructible): Likewise.
1258 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1259 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1260
efe71fcc
GA
12612020-10-23 Jan Hubicka <hubicka@ucw.cz>
1262
1263 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1264
12652020-10-23 Marek Polacek <polacek@redhat.com>
1266
1267 PR c++/91741
1268 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1269 (c_common_init_ts): Likewise.
1270 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1271 * c-common.h (maybe_warn_sizeof_array_div): Declare.
1272 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1273 (maybe_warn_sizeof_array_div): New function.
1274 * c.opt (Wsizeof-array-div): New option.
1275
12762020-10-23 Martin Sebor <msebor@redhat.com>
1277
1278 PR c/97463
1279 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1280
56ddd5e2
GA
12812020-10-22 Martin Liska <mliska@suse.cz>
1282
1283 PR c/94722
1284 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1285 (handle_stack_protect_attribute): Add error message for a
1286 no_stack_protector function.
1287
12882020-10-22 Martin Liska <mliska@suse.cz>
1289
1290 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1291
12922020-10-22 Jan Hubicka <hubicka@ucw.cz>
1293
1294 * c-gimplify.c: Include tree-nested.h
1295 (c_genericize): Update for new nested function info.
1296
b2698c21
GA
12972020-10-14 Martin Sebor <msebor@redhat.com>
1298
1299 PR c/97413
1300 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1301 bounds in an extra list.
1302
7e9282ae
GA
13032020-10-05 Richard Biener <rguenther@suse.de>
1304 Jakub Jelinek <jakub@redhat.com>
1305
1306 PR c++/97197
1307 * c-pretty-print.c: Include langhooks.h.
1308 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1309 expression.
1310 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1311 unary_expression.
1312 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1313
660bfe61
GA
13142020-09-30 Martin Sebor <msebor@redhat.com>
1315
1316 PR middle-end/97189
1317 * c-attribs.c (append_access_attr): Use the function declaration
1318 location for a warning about an attribute access argument.
1319
93bca37c
GA
13202020-09-29 Marek Polacek <polacek@redhat.com>
1321
1322 PR c++/94695
1323 * c.opt (Wrange-loop-construct): New option.
1324
82b77dee
GA
13252020-09-23 Martin Sebor <msebor@redhat.com>
1326
1327 PR c/97131
1328 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1329
13302020-09-23 Marek Polacek <polacek@redhat.com>
1331
1332 PR c/97125
1333 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1334 after loops and other structured control constructs have been lowered.
1335
521d2711
GA
13362020-09-22 Jakub Jelinek <jakub@redhat.com>
1337
1338 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1339 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1340
44135373
GA
13412020-09-21 Marek Polacek <polacek@redhat.com>
1342
1343 * c.opt (Wctad-maybe-unsupported): New option.
1344
2fe5b7d1
GA
13452020-09-19 Martin Sebor <msebor@redhat.com>
1346
1347 PR c/50584
1348 * c-common.h (warn_parm_array_mismatch): Declare new function.
1349 (has_attribute): Move declaration of an existing function.
1350 (build_attr_access_from_parms): Declare new function.
1351 * c-warn.c (parm_array_as_string): Define new function.
1352 (plus_one): Define new function.
1353 (warn_parm_ptrarray_mismatch): Define new function.
1354 (warn_parm_array_mismatch): Define new function.
1355 (vla_bound_parm_decl): New function.
1356 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1357 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1358 qualifiers here...
1359 (c_pretty_printer::direct_abstract_declarator): ...but instead print
1360 them in brackets here. Also print [static]. Strip extraneous
1361 expressions from VLA bounds.
1362
13632020-09-19 Martin Sebor <msebor@redhat.com>
1364
1365 PR c/50584
1366 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1367 (handle_argspec_attribute): New function.
1368 (get_argument, get_argument_type): New functions.
1369 (append_access_attrs): Add overload. Handle internal attribute
1370 representation in addition to external.
1371 (handle_access_attribute): Handle internal attribute representation
1372 in addition to external.
1373 (build_attr_access_from_parms): New function.
1374
13752020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1376
1377 * c-gimplify.c (genericize_c_loop): Rewrite to match
1378 c_finish_loop in c-typeck.c.
1379
13802020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1381
1382 * c-common.c (c_block_may_fallthrough): New, split from
1383 cxx_block_may_fallthrough in the cp front end.
1384 (c_common_init_ts): Move handling of loop and switch-related
1385 statements here from the cp front end.
1386 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1387 cp front end.
1388 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1389 * c-common.h (c_block_may_fallthru): Declare.
1390 (bc_state_t): Move here from cp front end.
1391 (save_bc_state, restore_bc_state): Declare.
1392 (c_genericize_control_stmt): Declare.
1393 (WHILE_COND, WHILE_BODY): Likewise.
1394 (DO_COND, DO_BODY): Likewise.
1395 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1396 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1397 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1398 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1399 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1400 * c-dump.c (dump_stmt): Copy from cp front end.
1401 (c_dump_tree): Move code to handle structured loop and switch
1402 tree nodes here from cp front end.
1403 * c-gimplify.c: Adjust includes.
1404 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1405 cp front end.
1406 (save_bc_state, restore_bc_state): New functions using old code
1407 from cp front end.
1408 (get_bc_label, expr_loc_or_loc): Move from cp front end.
1409 (genericize_c_loop): Move from cp front end.
1410 (genericize_for_stmt, genericize_while_stmt): Likewise.
1411 (genericize_do_stmt, genericize_switch_stmt): Likewise.
1412 (genericize_continue_stmt, genericize_break_stmt): Likewise.
1413 (genericize_omp_for_stmt): Likewise.
1414 (c_genericize_control_stmt): New function using code split from
1415 cp front end.
1416 (c_genericize_control_r): New.
1417 (c_genericize): Call walk_tree with c_genericize_control_r.
1418 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1419 structured loop and switch tree nodes here from cp front end.
1420
2aad20c0
GA
14212020-09-17 Patrick Palka <ppalka@redhat.com>
1422
1423 PR c/80076
1424 * c-indentation.c (should_warn_for_misleading_indentation): Move
1425 declarations of local variables closer to their first use.
1426 Handle virtual token locations by resolving them to their
1427 respective macro expansion points. If all three tokens are
1428 produced from the same macro expansion, then instead use their
1429 loci within the macro definition.
1430
ecde1b0a
GA
14312020-09-16 Martin Sebor <msebor@redhat.com>
1432
1433 PR c/78666
1434 PR c/96126
1435 * c-attribs.c (validate_attr_args): New function.
1436 (validate_attr_arg): Same.
1437 (handle_section_attribute): Call it. Introduce a local variable.
1438 (handle_alloc_size_attribute): Same.
1439 (handle_alloc_align_attribute): Same.
1440
50a71cd0
GA
14412020-09-14 Jakub Jelinek <jakub@redhat.com>
1442
1443 * c-attribs.c (handle_optimize_attribute): Adjust
1444 cl_optimization_save, cl_optimization_restore and
1445 build_optimization_node callers.
1446 * c-pragma.c (handle_pragma_optimize): Adjust
1447 build_optimization_node caller.
1448 (handle_pragma_push_options): Adjust
1449 build_optimization_node and build_target_option_node callers.
1450 (handle_pragma_pop_options, handle_pragma_reset_options):
1451 Adjust cl_optimization_restore callers.
1452
8f7ea26a
GA
14532020-08-28 Martin Sebor <msebor@redhat.com>
1454
1455 * c.opt (Wstringop-overread): New option.
1456
a6493809
GA
14572020-08-11 Jakub Jelinek <jakub@redhat.com>
1458
1459 PR c/96545
1460 * c-common.c (get_atomic_generic_size): Require that first argument's
1461 type points to a complete type and use tree_fits_uhwi_p instead of
1462 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1463
48cc2e46
GA
14642020-07-31 Martin Sebor <msebor@redhat.com>
1465
1466 PR c++/96003
1467 * c-common.c (check_function_arguments_recurse): Return early when
1468 no-warning bit is set.
1469
14702020-07-31 Richard Biener <rguenther@suse.de>
1471
1472 PR debug/96383
1473 * c-common.h (c_common_finalize_early_debug): Declare.
1474 * c-common.c: Include debug.h.
1475 (c_common_finalize_early_debug): finalize_early_debug langhook
1476 implementation generating debug for extern declarations.
1477
e71dab87
GA
14782020-07-27 Nathan Sidwell <nathan@acm.org>
1479
1480 * c-common.c (try_to_locate_new_include_insertion_point): Use
1481 strcmp, not pointer equality.
1482
ae2e0bc1
GA
14832020-07-25 Martin Sebor <msebor@redhat.com>
1484
1485 PR c++/96310
1486 * c-common.c (check_nonnull_arg): Print note only when warning was
1487 issued.
1488
3ea9abca
GA
14892020-07-22 Tobias Burnus <tobias@codesourcery.com>
1490
1491 * c-omp.c (c_finish_omp_critical): Check for no name but
1492 nonzero hint provided.
1493
0933f508
GA
14942020-07-20 Jason Merrill <jason@redhat.com>
1495
1496 * c-cppbuiltin.c (c_cpp_builtins): Update
1497 __cpp_nontype_template_args for C++20.
1498
14992020-07-20 Martin Sebor <msebor@redhat.com>
1500
1501 PR c/96249
1502 * c.opt: Remove stray text.
1503
8ca07a30
GA
15042020-07-14 Lewis Hyatt <lhyatt@gmail.com>
1505
1506 PR other/86904
1507 * c-indentation.c (should_warn_for_misleading_indentation): Get
1508 global tabstop from the new source.
1509 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
1510 is now a common option.
1511 * c.opt: Likewise.
1512
a82c4c4c 15132020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
1514
1515 * c.opt (Wscalar-storage-order): Add explicit variable.
1516
f60ee68d
GA
15172020-07-07 Nathan Sidwell <nathan@acm.org>
1518
1519 * c-opts.c (c_common_post_options): Add 'injecting' arg to
1520 cpp_read_main_file.
1521 (c_finish_options): Add linemap_line_start calls for builtin and cmd
1522 maps. Force token position to line_table's highest line.
1523 * c-ppoutput.c (print_line_1): Refactor, print line zero.
1524 (cb_define): Always increment source line.
1525
4077d74c
GA
15262020-07-06 Martin Sebor <msebor@redhat.com>
1527
1528 PR c++/95984
1529 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
1530 to stub lambda objects with null this pointer.
1531 (check_nonnull_arg): Handle C++ nullptr.
1532
b5f24739
GA
15332020-07-02 Jason Merrill <jason@redhat.com>
1534 Jakub Jelinek <jakub@redhat.com>
1535
1536 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
1537
46fbb6c6
GA
15382020-06-30 Jakub Jelinek <jakub@redhat.com>
1539
1540 PR c++/95963
1541 * c-common.c (check_function_arguments_recurse): Don't crash on
1542 calls to internal functions.
1543
69273534
GA
15442020-06-28 Martin Sebor <msebor@redhat.com>
1545
1546 PR c++/86568
1547 * c-common.c (struct nonnull_arg_ctx): Add members.
1548 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
1549 C++ member functions specially. Consider the this pointer implicitly
1550 nonnull.
1551 (check_nonnull_arg): Use location of argument when available.
1552 (check_function_arguments): Use nonnull_arg_ctx as argument.
1553
9a33c41f
GA
15542020-06-27 Jakub Jelinek <jakub@redhat.com>
1555
1556 PR middle-end/95903
1557 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
1558 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
1559 smaller precision intop operands separately.
1560
c9c05f73
GA
15612020-06-26 Marek Polacek <polacek@redhat.com>
1562
1563 * c-opts.c (c_common_init_options): Default to gnu++17.
1564
aff95ee7
GA
15652020-06-17 Jonathan Wakely <jwakely@redhat.com>
1566
bd0a89dc 1567 PR c/95378
aff95ee7
GA
1568 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
1569 pointer arguments.
1570
56638b9b
GA
15712020-06-16 Jakub Jelinek <jakub@redhat.com>
1572
1573 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
1574 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
1575 idx members.
1576 (c_omp_is_loop_iterator): New function.
1577 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
1578 if outer loop iterator is present. Perform duplicate checking through
1579 hash_set in the function rather than expecting caller to do that.
1580 Pass NULL instead of d->ppset to walk_tree_1.
1581 (c_omp_check_nonrect_loop_iv): New function.
1582 (c_omp_check_loop_iv): Use it. Fill in new members, allow
1583 non-rectangular loop forms, diagnose multiple associated loops with
1584 the same iterator. Pass NULL instead of &pset to walk_tree_1.
1585 (c_omp_check_loop_iv_exprs): Likewise.
1586
ec6ffbb9
GA
15872020-06-10 Martin Liska <mliska@suse.cz>
1588
1589 PR tree-optimization/92860
1590 * c-attribs.c (handle_optimize_attribute):
1591 Save global options and compare it after parsing of function
1592 attribute.
1593 * c-pragma.c (opt_stack::saved_global_options): New field.
1594 (handle_pragma_push_options): Save global_options.
1595 (handle_pragma_pop_options): Compare them after pop.
1596
b952c2cf
GA
15972020-06-09 Jakub Jelinek <jakub@redhat.com>
1598
1599 PR c/95580
1600 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
1601 case when MEM_REF's first argument has type pointer to incomplete type.
1602
1a59f3db
GA
16032020-06-05 Jason Merrill <jason@redhat.com>
1604
1605 * c-pretty-print.c (pp_c_additive_expression): Handle negative
1606 operand to POINTER_PLUS_EXPR.
1607
3add3425
GA
16082020-06-04 Martin Sebor <msebor@redhat.com>
1609
1610 PR middle-end/10138
1611 PR middle-end/95136
1612 * c-attribs.c (append_access_attrs): Handle attr_access::none.
1613 (handle_access_attribute): Same.
1614
9a5b7438
GA
16152020-06-03 Mark Wielaard <mark@klomp.org>
1616
1617 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
1618 New function.
1619 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
1620 New function declaration.
1621
16222020-06-03 Mark Wielaard <mark@klomp.org>
1623
1624 * known-headers.cc (get_string_macro_hint): New function.
1625 (get_stdlib_header_for_name): Use get_string_macro_hint.
1626 (get_c_stdlib_header_for_string_macro_name): New function.
1627 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
1628 New function declaration.
1629
16302020-06-03 Tobias Burnus <tobias@codesourcery.com>
1631
1632 * c-common.h (c_omp_predetermined_mapping): Declare.
1633 * c-omp.c (c_omp_predetermined_mapping): New.
1634
af114c38
MW
16352020-05-22 Mark Wielaard <mark@klomp.org>
1636
1637 * known-headers.cc (get_stdlib_header_for_name): Add a new
1638 stdlib_hint array for stdbool and stdint.
1639
45c50b6a
MW
16402020-05-22 Mark Wielaard <mark@klomp.org>
1641
1642 * known-headers.cc (get_stdlib_header_for_name): Return
1643 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
1644 flag_isoc99.
1645
c22027a0
NS
16462020-05-20 Nathan Sidwell <nathan@acm.org>
1647
38a4db21
NS
1648 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
1649
c22027a0
NS
1650 * c-common.c (try_to_locate_new_include_insertion_point): Use
1651 strcmp to compare filenames.
1652 * c-lex.c (init_c_lex): Move declaration to initialization.
1653 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
1654 deferred count loop.
1655
29f0e90d
JM
16562020-05-15 Jason Merrill <jason@redhat.com>
1657
1658 * c-opts.c (set_std_cxx20): Set flag_coroutines.
1659
b04445d4
JM
16602020-05-13 Jason Merrill <jason@redhat.com>
1661
1662 * c.opt (std=c++20): Make c++2a the alias.
1663 (std=gnu++20): Likewise.
1664 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
1665 * c-opts.c: Adjust.
1666 * c-cppbuiltin.c: Adjust.
1667 * c-ubsan.c: Adjust.
1668 * c-warn.c: Adjust.
1669
11dd3be5
EB
16702020-05-12 Eric Botcazou <ebotcazou@adacore.com>
1671
1672 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
1673
b224c376
NS
16742020-05-08 Nathan Sidwell <nathan@acm.org>
1675
1676 Reimplement directives only processing.
1677 * c-ppoutput.c (token_streamer): Ne.
1678 (directives_only_cb): New. Swallow ...
1679 (print_lines_directives_only): ... this.
1680 (scan_translation_unit_directives_only): Reimplment using the
1681 published interface.
1682
f1d94677
MP
16832020-05-07 Marek Polacek <polacek@redhat.com>
1684
1685 * c-format.c (badwords): Add "nonstatic".
1686
9b95bb52
JJ
1687202-05-07 Jakub Jelinek <jakub@redhat.com>
1688
1689 PR c/94968
1690 * c-common.c (speculation_safe_value_resolve_params): Return false if
1691 error_operand_p (val2).
1692 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
1693 Remove extraneous semicolon.
1694
530b4409 16952020-05-06 qing zhao <qing.zhao@oracle.com>
1696
1697 PR c/94230
1698 * c-indentation.c (get_visual_column): Add a hint to use the new
1699 -flarge-source-files option.
1700
b776bdca
SSF
17012020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1702
1703 * c-attribs.c (handle_vector_size_attribute): Add attribute
1704 nonnull for argument args in order to silence warning of
1705 uninitialized variable usage. Since this is local to the
1706 compilation unit and thus cannot be checked at call sides by the
1707 compiler, added an assert statement in order to verify this.
1708
6607bdd9
L
17092020-05-01 H.J. Lu <hongjiu.lu@intel.com>
1710
1711 PR target/93492
1712 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
1713 value to USHRT_MAX (65535).
1714
691eeb65
JJ
17152020-04-29 Jakub Jelinek <jakub@redhat.com>
1716
1717 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
1718
26d76be7
JJ
17192020-04-27 Jakub Jelinek <jakub@redhat.com>
1720
1721 PR c/94755
1722 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
1723 fncode == BUILT_IN_NONE before initialization of first_param.
1724
7291b2ed
MP
17252020-04-23 Marek Polacek <polacek@redhat.com>
1726
1727 PR c++/94733
1728 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
1729 TREE_PURPOSE.
1730
58a29af8
PP
17312020-04-14 Patrick Palka <ppalka@redhat.com>
1732
1733 PR c++/85278
1734 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
1735 ampersand if it's an rvalue reference type.
1736
09f04139
MS
17372020-04-13 Martin Sebor <msebor@redhat.com>
1738
1739 PR c/92326
1740 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
1741 printing array bound for flexible array members.
1742
ee26baf4
IS
17432020-04-13 Iain Sandoe <iain@sandoe.co.uk>
1744
1745 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
1746 define, per n4861.
1747
75efe9cb
RB
17482020-04-02 Richard Biener <rguenther@suse.de>
1749
1750 PR c/94392
1751 * c-opts.c (c_common_post_options): Enable -ffinite-loops
1752 for -O2 and C++11 or newer.
1753
75defde9
PP
17542020-03-28 Patrick Palka <ppalka@redhat.com>
1755
1756 * c.opt: Add -fconcepts-diagnostics-depth.
1757
52f24a9e
MS
17582020-03-27 Martin Sebor <msebor@redhat.com>
1759
1760 PR c++/94346
1761 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
1762 to decl_attributes. Make handling of different kinds of entities
1763 more robust.
1764
ccacf77b
MS
17652020-03-27 Martin Sebor <msebor@redhat.com>
1766
1767 PR c++/94098
1768 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
1769 here.
1770
ca6c7225
JJ
17712020-03-23 Jakub Jelinek <jakub@redhat.com>
1772
1773 PR c++/91993
1774 * c-warn.c (warnings_for_convert_and_check): For expr and/or
1775 result being COMPOUND_EXPRs, skip to ultimate rhs.
1776
1aa22b19
RS
17772020-03-20 Richard Sandiford <richard.sandiford@arm.com>
1778
1779 PR middle-end/94072
1780 * c-common.c (c_common_type_for_mode): Before using a registered
1781 built-in type, check that the vectorness of the type matches
1782 the vectorness of the mode.
1783
700d4cb0
JJ
17842020-03-17 Jakub Jelinek <jakub@redhat.com>
1785
1786 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
1787 issue in a diagnostic message.
1788
b408e010
LH
17892020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1790
1791 * c.opt: Avoid redundancy in the help text.
1792
e78e50d5
MP
17932020-03-02 Marek Polacek <polacek@redhat.com>
1794
1795 PR c++/93958 - add missing -std=gnu++20.
1796 * c.opt: Add -std=gnu++20.
1797
649e1741
MS
17982020-03-01 Martin Sebor <msebor@redhat.com>
1799
1800 PR c++/92721
1801 * c-attribs.c (append_access_attrs): Correctly handle attribute.
1802 (handle_access_attribute): Same.
1803
7b60f3ba
JJ
18042020-02-25 Jakub Jelinek <jakub@redhat.com>
1805
1806 PR c/93858
1807 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
1808 "did you mean" hint in diagnostics.
1809
fb260504
JM
18102020-02-15 Jason Merrill <jason@redhat.com>
1811
1812 * c.opt: Add -std=c++20.
1813
1d757b09
EB
18142020-02-14 Eric Botcazou <ebotcazou@adacore.com>
1815
1816 * c-ada-spec.c: Include bitmap.h.
1817 (dump_ada_double_name): Rename into...
1818 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
1819 (dump_ada_array_type): Adjust to above renaming. Robustify.
1820 (dump_nested_types_1): New function copied from... Add dumped_types
1821 parameter and pass it down to dump_nested_type.
1822 (dump_nested_types): ...this. Remove parent parameter. Just call
1823 dump_nested_types_1 on an automatic bitmap.
1824 (dump_nested_type): Add dumped_types parameter.
1825 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
1826 Adjust recursive calls and adjust to above renaming.
1827 (dump_ada_declaration): Adjust call to dump_nested_types.
1828 Tidy up and adjust to above renaming.
1829 (dump_ada_specs): Initialize and release bitmap obstack.
1830
0cc575e4
MS
18312020-02-10 Martin Sebor <msebor@redhat.com>
1832
1833 PR c/93640
1834 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
1835
a59aa302
JJ
18362020-02-10 Jakub Jelinek <jakub@redhat.com>
1837
1838 PR other/93641
1839 * c-format.c (check_plain): Fix up last argument of strncasecmp.
1840 Remove useless extra test.
1841
e464fc90
TB
18422020-02-03 Julian Brown <julian@codesourcery.com>
1843 Tobias Burnus <tobias@codesourcery.com>
1844
1845 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
1846
e3b6c052
JM
18472020-01-29 Jason Merrill <jason@redhat.com>
1848
1849 PR c++/89357
1850 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
1851
6d00f052
JM
18522020-01-23 Jason Merrill <jason@redhat.com>
1853
1854 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
1855
8a990ffa
MS
18562020-01-23 Martin Sebor <msebor@redhat.com>
1857
1858 PR c/84919
1859 * c-common.c (check_function_arguments): Avoid overlap checking
1860 of sprintf functions.
1861
55b7df8b
JM
18622020-01-22 Jason Merrill <jason@redhat.com>
1863
1864 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
1865 PR c++/40752
1866 * c-warn.c (conversion_warning): Check operands only after checking
1867 the whole expression. Don't check second operand of + for sign.
1868
c77074d0
JM
18692020-01-21 Jason Merrill <jason@redhat.com>
1870 Manuel López-Ibáñez <manu@gcc.gnu.org>
1871
1872 PR c++/40752 - useless -Wconversion with short +=.
1873 * c.opt (-Warith-conversion): New.
1874 * c-warn.c (conversion_warning): Recurse for operands of
1875 operators. Only warn about the whole expression with
1876 -Warith-conversion.
1877
731dbfc3
JM
18782020-01-21 Jason Merrill <jason@redhat.com>
1879
1880 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
1881 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
1882
ad1a3914
NS
18832020-01-20 Nathan Sidwell <nathan@acm.org>
1884
1885 PR preprocessor/80005
1886 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
1887
49789fd0
IS
18882020-01-18 Iain Sandoe <iain@sandoe.co.uk>
1889
1890 * c-common.c (co_await, co_yield, co_return): New.
1891 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
1892 RID_CO_RETURN): New enumeration values.
1893 (D_CXX_COROUTINES): Bit to identify coroutines are active.
1894 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
1895 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
1896 * c.opt (fcoroutines): New command-line switch.
1897
4bc1899b
DM
18982020-01-10 David Malcolm <dmalcolm@redhat.com>
1899
1900 * c-format.c (local_event_ptr_node): New.
1901 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
1902 (init_dynamic_diag_info): Initialize local_event_ptr_node.
1903 * c-format.h (T_EVENT_PTR): New define.
1904
f25e33fa
MS
19052020-01-10 Martin Sebor <msebor@redhat.com>
1906
1907 PR c/93132
1908 * c-attribs.c (append_access_attrs): Validate against the translated
1909 access string rather than the human-readable representation.
1910
8d9254fc
JJ
19112020-01-01 Jakub Jelinek <jakub@redhat.com>
1912
1913 Update copyright years.
1914
39292e25
EB
19152019-12-20 Eric Botcazou <ebotcazou@adacore.com>
1916
1917 * c-ada-spec.h (decl_sloc): Delete.
1918 * c-ada-spec.c (decl_sloc): Make static.
1919
519d7496
JB
19202019-12-19 Julian Brown <julian@codesourcery.com>
1921
1922 * c-common.h (c_omp_map_clause_name): Add prototype.
1923 * c-omp.c (c_omp_map_clause_name): New function.
1924 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
1925 PRAGMA_OACC_CLAUSE_DETACH.
1926
a6163563
JB
19272019-12-19 Julian Brown <julian@codesourcery.com>
1928 Maciej W. Rozycki <macro@codesourcery.com>
1929 Tobias Burnus <tobias@codesourcery.com>
1930 Thomas Schwinge <thomas@codesourcery.com>
1931
1932 * c-pragma.h (pragma_omp_clause): Add
1933 PRAGMA_OACC_CLAUSE_NO_CREATE.
1934
e8f1ade2
MS
19352019-12-17 Martin Sebor <msebor@redhat.com>
1936
1937 PR c++/61339
1938 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
1939
368877a1
DM
19402019-12-11 David Malcolm <dmalcolm@redhat.com>
1941
1942 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
1943 implementation.
1944 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
1945
d68f5d45
DM
19462019-12-09 David Malcolm <dmalcolm@redhat.com>
1947
1948 * c-format.c (range_label_for_format_type_mismatch::get_text):
1949 Replace label_text ctor called with true with label_text::take.
1950
d3e28653
DM
19512019-12-09 David Malcolm <dmalcolm@redhat.com>
1952
1953 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
1954 initial newline from expected outputs.
1955 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
1956 call to diagnostic_show_locus.
1957
abd6d8cc
JJ
19582019-12-06 Jakub Jelinek <jakub@redhat.com>
1959
1960 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
1961 now.
1962
7906797e
MP
19632019-12-05 Marek Polacek <polacek@redhat.com>
1964 Jakub Jelinek <jakub@redhat.com>
1965
1966 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
1967 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
1968
5c04da88
MP
19692019-12-05 Marek Polacek <polacek@redhat.com>
1970
1971 PR c++/92271 - make __is_same alias for __is_same_as.
1972 * c-common.c: Add __is_same, an alias for __is_same_as.
1973
43aae289
MP
19742019-12-03 Marek Polacek <polacek@redhat.com>
1975
1976 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
1977 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1978 __cpp_aggregate_paren_init=201902 for -std=c++2a.
1979
d7ddfbcb
JH
19802019-11-30 Jan Hubicka <hubicka@ucw.cz>
1981
1982 * c-attribs.c (handle_symver_attribute): New function
1983 (c_common_attributes): Add symver.
1984
65ef05d0
RS
19852019-11-30 Richard Sandiford <richard.sandiford@arm.com>
1986
1987 * c-common.c (pointer_int_sum): Use verify_type_context to check
1988 whether the target allows pointer arithmetic for the types involved.
1989 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
1990 to check whether the target allows sizeof and alignof operations
1991 for the types involved.
1992
1a291106
JM
19932019-11-27 Jason Merrill <jason@redhat.com>
1994
1995 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1996
05d6cb1a
JJ
19972019-11-26 Jakub Jelinek <jakub@redhat.com>
1998
1999 PR c++/61414
2000 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2001 ENUMERAL_TYPEs.
2002
5b8d9367
JM
20032019-11-25 Joseph Myers <joseph@codesourcery.com>
2004
2005 PR c/91985
2006 * c-common.c (c_common_type_for_mode): Handle decimal
2007 floating-point types being NULL_TREE.
2008 * c-format.c (get_format_for_type_1): Handle specified types being
2009 NULL_TREE.
2010 * c-lex.c (interpret_float): Give an error for decimal
2011 floating-point constants when decimal floating-point not
2012 supported.
2013
1fbf51cb
JJ
20142019-11-23 Jakub Jelinek <jakub@redhat.com>
2015
2016 PR middle-end/83859
2017 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2018 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2019 group warning with inform together.
2020 (handle_access_attribute): Formatting fix.
2021
761df906
JJ
20222019-11-22 Jakub Jelinek <jakub@redhat.com>
2023
bdaf8be1
JJ
2024 PR c/90677
2025 * c-common.h (identifier_global_tag): Declare.
2026 * c-format.c (get_pointer_to_named_type): Renamed to ...
2027 (get_named_type): ... this. Use identifier_global_tag instead of
2028 identifier_global_value, handle the return value being a TYPE_P.
2029 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2030 to call get_named_type instead. Formatting fixes.
2031
c2ecce6d 2032 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2033 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2034 and __cpp_generic_lambdas for -std=c++2a. Define
2035 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2036 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2037 __cpp_concepts for -std=c++2a.
2038
54aa6b58
MS
20392019-11-22 Martin Sebor <msebor@redhat.com>
2040
2041 PR middle-end/83859
2042 * c-attribs.c (handle_access_attribute): New function.
2043 (c_common_attribute_table): Add new attribute.
2044 (get_argument_type): New function.
2045 (append_access_attrs): New function.
2046 (get_nonnull_operand): Rename...
2047 (get_attribute_operand): ...to this.
2048 * c-common.c (get_nonnull_operand): Rename...
2049 (get_attribute_operand): ...to this.
2050
6c80b1b5
JM
20512019-11-21 Joseph Myers <joseph@codesourcery.com>
2052
2053 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2054 of warning.
2055
192961ff
JM
20562019-11-19 Joseph Myers <joseph@codesourcery.com>
2057
2058 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2059 warning for standard attributes mixed with fallthrough attributes.
2060
f8aea5e3
JM
20612019-11-15 Joseph Myers <joseph@codesourcery.com>
2062
2063 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2064 * c-common.h (handle_fallthrough_attribute): Declare.
2065
2cc94aa8
JM
20662019-11-15 Joseph Myers <joseph@codesourcery.com>
2067
2068 * c-attribs.c (handle_deprecated_attribute): Remove static.
2069 * c-common.h (handle_deprecated_attribute): Declare.
2070
7c5890cc
JM
20712019-11-14 Joseph Myers <joseph@codesourcery.com>
2072
2073 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2074 char for C.
2075
b2417b59
JJ
20762019-11-14 Jakub Jelinek <jakub@redhat.com>
2077
d0ec7c93
JJ
2078 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2079 valid vendors.
2080
b2417b59
JJ
2081 * c-omp.c (c_omp_check_context_selector): Handle name lists
2082 containing string literals. Don't diagnose atomic_default_mem_order
2083 with multiple props.
2084
00be2a5f
JM
20852019-11-13 Joseph Myers <joseph@codesourcery.com>
2086
2087 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2088 NORM_MAX constants. Update call to get_max_float.
2089 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2090 constants.
2091
2dbad62d
EB
20922019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2093
2094 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2095 (dump_forward_type): Do not generate a declaration for function types.
2096 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2097 of the component type if it is declared in another file.
2098
6ed76044
ML
20992019-11-12 Martin Liska <mliska@suse.cz>
2100
2101 * c-opts.c (c_common_post_options):
2102 Use SET_OPTION_IF_UNSET.
2103
62aee289
MR
21042019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2105 Frederik Harwath <frederik@codesourcery.com>
2106
2107 gcc/c-family/
2108 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2109 constant.
2110 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2111
f486280c
RS
21122019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2113
2114 * c-common.h (gnu_vector_type_p): New function.
2115 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2116 vectors to satisfy gnu_vector_type_p.
2117 (c_build_vec_convert): Likewise __builtin_convertvector.
2118 (convert_vector_to_array_for_subscript): Likewise when applying
2119 implicit vector to array conversion.
2120 (scalar_to_vector): Likewise when converting vector-scalar
2121 operations to vector-vector operations.
2122
017c6491
JM
21232019-11-08 Joseph Myers <joseph@codesourcery.com>
2124
2125 * c.opt (Wold-style-definition): Initialize to -1.
2126 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2127 to flag_isoc2x if not set explicitly.
2128
c01bd174
JM
21292019-11-07 Joseph Myers <joseph@codesourcery.com>
2130
2131 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2132
0df65305
JM
21332019-11-05 Jason Merrill <jason@redhat.com>
2134
2135 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2136 -fconcepts.
2137
e0c866dd
KK
21382019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2139
2140 * c-opts.c (c_common_post_options): Update
2141 latest_abi_version.
2142
f968ef9b
JJ
21432019-11-02 Jakub Jelinek <jakub@redhat.com>
2144
d0c464d2
JJ
2145 * c-common.h (c_omp_get_context_selector): Remove.
2146 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2147 and renamed to omp_get_context_selector.
2148
917dd789
JJ
2149 * c-omp.c (c_omp_mark_declare_variant): Use
2150 omp_context_selector_set_compare.
2151
f968ef9b
JJ
2152 PR c++/88335 - Implement P1073R3: Immediate functions
2153 * c-common.h (enum rid): Add RID_CONSTEVAL.
2154 * c-common.c (c_common_reswords): Add consteval.
2155
5f6705b7
JJ
21562019-11-01 Martin Sebor <msebor@redhat.com>
2157
2158 PR middle-end/91679
2159 PR middle-end/91647
2160 PR middle-end/91463
2161 PR middle-end/92312
2162 * c-pretty-print.c (direct_abstract_declarator): Print
2163 bound in zero-length arrays.
2164 * c.opt (-Wzero-length-bounds): New option.
2165
43f1814c
NS
21662019-10-30 Nathan Sidwell <nathan@acm.org>
2167
2168 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2169 macros.
2170
ad1539d5
MS
21712019-10-28 Martin Sebor <msebor@redhat.com>
2172
2173 PR c/66970
2174 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2175 even when only preprocessing.
2176 * c-common.h (names_builtin_p): Declare new function.
2177 * c-lex.c (init_c_lex): Set has_builtin.
2178 (c_common_has_builtin): Define a new function.
2179 * c-ppoutput.c (init_pp_output): Set has_builtin.
2180
135df52c
JJ
21812019-10-24 Jakub Jelinek <jakub@redhat.com>
2182
2183 * c-common.h (c_omp_context_selector_matches): Remove.
2184 * c-omp.c (c_omp_context_selector_matches): Remove.
2185 * c-attribs.c (c_common_attribute_table): Add
2186 "omp declare target {host,nohost,block}" attributes.
2187
8ad0c477
JM
21882019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2189
2190 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2191
56898e43
RS
21922019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2193
2194 * c-common.h (user_facing_original_type_p): Declare.
2195 * c-common.c: Include c-spellcheck.h.
2196 (user_facing_original_type_p): New function.
2197
20de9568
JJ
21982019-10-12 Jakub Jelinek <jakub@redhat.com>
2199
2200 * c-common.h (c_omp_mark_declare_variant,
2201 c_omp_context_selector_matches): Declare.
2202 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2203 and hsa-common.h.
2204 (c_omp_get_context_selector): Support second argument NULL.
2205 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2206 functions.
2207 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2208 attribute, add "omp declare variant base" and
2209 "omp declare variant variant" attributes.
2210
175a85b2
JM
22112019-10-11 Joseph Myers <joseph@codesourcery.com>
2212
2213 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2214 CppReason(CPP_W_C11_C2X_COMPAT).
2215
fe2bc27c
JM
22162019-10-11 Joseph Myers <joseph@codesourcery.com>
2217
2218 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2219 _Decimal64 and _Decimal128.
2220
27dfdc0f
JM
22212019-10-10 Joseph Myers <joseph@codesourcery.com>
2222
2223 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2224 types if DFP not supported.
2225
94e7f906
JJ
22262019-10-10 Jakub Jelinek <jakub@redhat.com>
2227
2228 * c-common.h (c_omp_check_context_selector,
2229 c_omp_get_context_selector): Declare.
2230 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2231 in diagnostic message.
2232 (c_omp_check_context_selector, c_omp_get_context_selector): New
2233 functions.
2234 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2235 attribute.
2236 (handle_omp_declare_variant_attribute): New function.
2237
a7160771
MS
22382019-10-09 Martin Sebor <msebor@redhat.com>
2239
2240 PR tree-optimization/90879
2241 * c.opt (-Wstring-compare): New option.
2242
cb57504a
JM
22432019-10-08 Andrew Sutton <asutton@lock3software.com>
2244 Jason Merrill <jason@redhat.com>
2245
2246 Update the concepts implementation to conform to the C++20
2247 specification, improve compile times, and generally clean up
2248 the implementation.
2249
2250 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2251 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2252 * c.opt: Add -Wconcepts-ts.
2253 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2254 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2255 (set_std_cxx2a): Enable concepts by default.
2256
fbb2a6dc
JM
22572019-10-08 Joseph Myers <joseph@codesourcery.com>
2258
2259 * c-opts.c (c_common_post_options): Set
2260 -fno-fp-int-builtin-inexact for C2X.
2261
8e007055
JJ
22622019-10-05 Jakub Jelinek <jakub@redhat.com>
2263
2264 PR c++/91369 - Implement P0784R7: constexpr new
2265 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2266 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2267
843f104d
JM
22682019-10-04 Joseph Myers <joseph@codesourcery.com>
2269
2270 PR c/82752
2271 * c-format.c (C_STD_VER): Handle C2x.
2272 (C_STD_NAME): Likewise.
2273 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2274 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2275 modifier allowed and 'p' flag.
2276 * c-format.h (enum format_std_version): Add STD_C2X.
2277 (struct format_char_info): Mention 'p' in comment on flags2.
2278
e9c9a142
DM
22792019-10-01 David Malcolm <dmalcolm@redhat.com>
2280
2281 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2282 calling diagnostic_show_locus, rather than destroying it afterwards.
2283
7552c36a
JJ
22842019-10-01 Jakub Jelinek <jakub@redhat.com>
2285
2286 PR c++/91925
2287 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2288 with NULL DECL_FIELD_OFFSET.
2289
8209db25
RS
22902019-10-01 Richard Sandiford <richard.sandiford@arm.com>
2291
2292 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2293 has a type name, use it in preference to the __vector syntax.
2294
9343bf99
RS
22952019-09-30 Richard Sandiford <richard.sandiford@arm.com>
2296
2297 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2298 two spaces between a comma and "...".
2299
59bc434a
JJ
23002019-09-27 Jakub Jelinek <jakub@redhat.com>
2301
2302 PR c++/88203
2303 * c-common.h (c_omp_predefined_variable): Declare.
2304 * c-omp.c (c_omp_predefined_variable): New function.
2305 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2306 for predefined variables.
2307
c6447c20
RS
23082019-09-27 Richard Sandiford <richard.sandiford@arm.com>
2309
2310 * c-common.h (build_function_call_vec): Take the original
2311 function decl as an optional final parameter.
2312 (check_builtin_function_arguments): Take the original function decl.
2313 * c-common.c (check_builtin_function_arguments): Likewise.
2314 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2315 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2316
c4438114
JM
23172019-09-15 Jason Merrill <jason@redhat.com>
2318
2319 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
2320 fold_for_warn in "|| mask" warning.
2321
68a57628
ML
23222019-09-10 Martin Liska <mliska@suse.cz>
2323
2324 * c.opt: Use newly added WarnRemoved.
2325
f48ef52e
ML
23262019-09-09 Martin Liska <mliska@suse.cz>
2327
2328 * c.opt: Update comment of removed
2329 options that are preserved only for backward
2330 compatibility.
2331
67f6e649
ML
23322019-09-06 Martin Liska <mliska@suse.cz>
2333
2334 PR c++/91125
2335 * c-common.c: Remove definition of flag_use_repository.
2336 * c-common.h: Likewise.
2337 * c-opts.c (c_common_handle_option):
2338 Do not handle OPT_frepo option.
2339 * c.opt: Mark the option with Deprecated.
2340
db9d2274
MP
23412019-09-04 Marek Polacek <polacek@redhat.com>
2342
2343 * c.opt (fdeduce-init-list): Ignored.
2344
68e2c199
PK
23452019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2346
2347 PR c/78736
2348 * c.opt (Wenum-conversion): New option.
2349
7a4418a5
JL
23502019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2351
2352 * c-attribs.c (handle_section_attribute): Call the
2353 handle_generic_attribute target hook after performing target
2354 independent processing.
2355 (handle_noinit_attribute): Likewise.
2356
5f76ab15
ILT
23572019-09-03 Ian Lance Taylor <iant@golang.org>
2358
2359 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2360 when using -fgo-dump-spec.
2361
ae0d3f6a
ML
23622019-09-02 Martin Liska <mliska@suse.cz>
2363
2364 PR c++/91155
2365 * c-common.c (fname_as_string): Use cxx_printable_name for
2366 __PRETTY_FUNCTION__ same as was used before r265711.
2367
8a902edb
MP
23682019-08-28 Marek Polacek <polacek@redhat.com>
2369
2370 Implement P1152R4: Deprecating some uses of volatile.
2371 PR c++/91361
2372 * c-opts.c (c_common_post_options): Enable -Wvolatile by
2373 default for C++2a, unless -Wno-deprecated.
2374 * c.opt (Wvolatile): New warning.
2375
4742dbe7
MP
23762019-08-28 Marek Polacek <polacek@redhat.com>
2377
2378 PR c++/91360 - Implement C++20 P1143R2: constinit.
2379 * c-common.c (c_common_reswords): Add constinit and __constinit.
2380 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2381 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2382 RID_LAST_CXX20.
2383 (D_CXX20): Define.
2384 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2385 * c-format.c (cxx_keywords): Add "constinit".
2386 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2387
6a074892
JJ
23882019-08-27 Jakub Jelinek <jakub@redhat.com>
2389
2390 PR c++/91415
2391 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2392 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2393 like COMPOUND_EXPR rather than normal expression.
2394
22f8849d
IS
23952019-08-23 Iain Sandoe <iain@sandoe.co.uk>
2396
2397 PR pch/61250
2398 * c-lex.c (c_lex_with_flags): Don't call
2399 c_common_no_more_pch () from here.
2400
df375b03
JJ
24012019-08-23 Jakub Jelinek <jakub@redhat.com>
2402
2403 PR middle-end/91283
2404 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2405 instead of flag_excess_precision_cmdline.
2406 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2407 * c-opts.c (c_common_post_options): Likewise.
2408
14b7950f
MS
24092019-08-22 Martin Sebor <msebor@redhat.com>
2410
2411 PR middle-end/91490
2412 * c-common.c (braced_list_to_string): Add argument and overload.
2413 Handle flexible length arrays and unions.
2414
8bb2ee59
EB
24152019-08-21 Eric Botcazou <ebotcazou@adacore.com>
2416
2417 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2418 function declarations where arguments are missing. Rename variables.
2419
21c1e205
RB
24202019-08-15 Richard Biener <rguenther@suse.de>
2421
2422 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2423 enabled, define __SIZETYPE__.
2424
f0033821
CL
24252019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
2426
2427 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2428 exclusion with "section" attribute.
2429 (attr_noinit_exclusions): New table.
2430 (handle_noinit_attribute): New function.
2431
4d732405
RS
24322019-08-13 Richard Sandiford <richard.sandiford@arm.com>
2433
2434 PR middle-end/91421
2435 * c-common.c (resolve_overloaded_builtin): Use
2436 copy_decl_built_in_function.
2437
51ad8481
MS
24382019-08-13 Martin Sebor <msebor@redhat.com>
2439
2440 PR c/80619
2441 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2442 (asm_fprintf_length_spec): Same.
2443 * c-format.h (format_lengths): Add FMT_LEN_w.
2444
77eb117f
JJ
24452019-08-10 Jakub Jelinek <jakub@redhat.com>
2446
2447 * c-pragma.h (enum pragma_omp_clause): Add
2448 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2449
398e3feb
JJ
24502019-08-07 Jakub Jelinek <jakub@redhat.com>
2451
2452 * c-pragma.h (enum pragma_omp_clause): Add
2453 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2454 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2455 enumeration value.
2456
ab574db6
MP
24572019-08-05 Marek Polacek <polacek@redhat.com>
2458
2459 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2460 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2461 default for C++2a, unless -Wno-deprecated.
2462 * c.opt (Wcomma-subscript): New warning.
2463
554a530f
JJ
24642019-07-20 Jakub Jelinek <jakub@redhat.com>
2465
2466 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2467 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2468 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2469 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2470 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2471 constructs with the loop construct.
2472
1a888209
JJ
24732019-07-13 Jakub Jelinek <jakub@redhat.com>
2474
2475 PR c/91149
2476 * c-omp.c (c_omp_split_clauses): Fix a pasto in
2477 OMP_CLAUSE_REDUCTION_TASK handling.
2478
1fdd6f04
JJ
24792019-07-12 Jakub Jelinek <jakub@redhat.com>
2480
2481 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2482 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2483
99b1c316
MS
24842019-07-09 Martin Sebor <msebor@redhat.com>
2485
2486 PR c++/61339
1fdd6f04 2487 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
2488 and others to class.
2489 * c-pretty-print.h: Same.
2490
6c1dae73
MS
24912019-07-09 Martin Sebor <msebor@redhat.com>
2492
2493 PR c++/61339
2494 * c-format.c (check_argument_type): Change class-key from class to
2495 struct and vice versa to match convention and avoid -Wclass-is-pod
2496 and -Wstruct-no-pod.
2497 * c-pretty-print.h: Same.
2498
8ba6ea87
ML
24992019-07-03 Martin Liska <mliska@suse.cz>
2500
2501 * c-common.c (try_to_locate_new_include_insertion_point): Remove
2502 dead assignemts.
2503
83eb9522
JJ
25042019-07-03 Jakub Jelinek <jakub@redhat.com>
2505
2506 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
2507 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
2508 with OMP_PARALLEL.
2509
1c6ffbab
QZ
25102019-07-02 qing zhao <qing.zhao@oracle.com>
2511
2512 PR preprocessor/90581
2513 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
2514 * c.opt: Add new option -fmax-include-depth.
2515
7ffc7de5
JM
25162019-06-26 Jason Merrill <jason@redhat.com>
2517
2518 PR c++/55442 - memory-hog with highly recursive constexpr.
2519 * c.opt (fconstexpr-loop-limit): New.
2520
361af3e4
JJ
25212019-06-25 Jakub Jelinek <jakub@redhat.com>
2522
2523 PR sanitizer/90954
2524 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
2525 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
2526
ab20d992
JJ
25272019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2528
2529 * c-common.c (c_common_nodes_and_builtins): Define
2530 alternate "__intN__" name for "__intN" types.
2531
f4af4019
JH
25322019-06-24 Jan Hubicka <jh@suse.cz>
2533
2534 * c-common.c (braced_lists_to_strings): Check that
2535 type is array or integer prior checking string flag.
2536
da9e9b57
MB
25372019-06-21 Matthew Beliveau <mbelivea@redhat.com>
2538
2539 PR c++/90875 - added -Wswitch-outside-range option
2540 * c.opt (Wswitch-outside-range): Added new option.
2541 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
2542
3f3d6a6f
MP
25432019-06-21 Marek Polacek <polacek@redhat.com>
2544
2545 PR c++/90953 - ICE with -Wmissing-format-attribute.
2546 * c-common.c (check_function_arguments_recurse): Use
2547 get_attribute_name.
2548 (check_missing_format_attribute): Likewise.
2549
1bf32c11
MP
25502019-06-19 Marek Polacek <polacek@redhat.com>
2551
2552 PR c++/60364 - noreturn after first decl not diagnosed.
2553 * c-attribs.c (handle_noreturn_attribute): No longer static.
2554 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
2555 Declare.
2556 * c-format.c (check_function_format): Use get_attribute_name.
2557
a04c0734
MS
25582019-06-19 Martin Sebor <msebor@redhat.com>
2559
2560 PR translation/90156
2561 * c-format.c (function_format_info::format_type): Adjust type.
2562 (function_format_info::is_raw): New member.
2563 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
2564 (decode_format_attr): Adjust call to decode_format_type.
2565 Avoid a redundant call to convert_format_name_to_system_name.
2566 Avoid abbreviating the word "arguments" in a diagnostic.
2567 (format_warning_substr): New function.
2568 (avoid_dollar_number): Quote dollar sign in a diagnostic.
2569 (finish_dollar_format_checking): Same.
2570 (check_format_info): Same.
2571 (struct baltoks_t): New.
2572 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
2573 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
2574 functions.
2575 (check_format_info_main): Call check_plain. Use baltoks_t. Call
2576 maybe_diag_unbalanced_tokens.
2577 (handle_format_attribute): Spell out the word "arguments" in
2578 a diagnostic.
2579
d3786ebb
MB
25802019-06-11 Matthew Beliveau <mbelivea@redhat.com>
2581
2582 PR c++/90449 - add -Winaccessible-base option.
2583 * c.opt (Winaccessible-base): New option.
2584
bf38f7e9
JJ
25852019-06-10 Jakub Jelinek <jakub@redhat.com>
2586
2587 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
2588 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
2589 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
2590 combined/composite constructs where it is not allowed. Copy over
2591 OMP_CLAUSE_REDUCTION_INSCAN.
2592
0ecf545c
MS
25932019-06-05 Martin Sebor <msebor@redhat.com>
2594
2595 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
2596 (handle_alias_ifunc_attribute): Same.
2597 (handle_copy_attribute): Same.
2598 (handle_weakref_attribute): Same.
2599 (handle_nonnull_attribute): Same.
2600 * c-warn.c (warn_for_sign_compare): Same.
2601 (warn_for_restrict): Same.
2602 * c.opt: Same.
2603
36b34127
MS
26042019-06-05 Martin Sebor <msebor@redhat.com>
2605
2606 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
2607 * c.opt (-Wformat-diag): Remove a spurious period.
2608
357a352f
JJ
26092019-05-29 Jakub Jelinek <jakub@redhat.com>
2610
2611 PR c/90628
2612 * c-common.c (check_builtin_function_arguments)
2613 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
2614 as last argument.
2615
2b8235ea
EB
26162019-05-23 Eric Botcazou <ebotcazou@adacore.com>
2617
2618 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
2619
6d86ddc4
ML
26202019-05-22 Martin Liska <mliska@suse.cz>
2621
2622 PR lto/90500
2623 * c-attribs.c (handle_copy_attribute): Do not copy
2624 target_clones attribute.
2625
419ba5b9
EB
26262019-05-21 Eric Botcazou <ebotcazou@adacore.com>
2627
2628 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
2629 * c-ada-spec.c (print_assignment_operator): New function.
2630 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
2631 assignment operators declared as methods and filter out the others.
2632
e03436e7
TS
26332019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2634
2635 PR c/89433
2636 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
2637 "omp declare target".
2638
a9c697b8
MS
26392019-05-16 Martin Sebor <msebor@redhat.com>
2640
ab20d992
JJ
2641 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
2642 keywords, operators, and types in diagnostics.
2643 (handle_scalar_storage_order_attribute): Same.
2644 (handle_mode_attribute): Same.
2645 (handle_visibility_attribute): Same.
2646 (handle_assume_aligned_attribute): Same.
2647 (handle_no_split_stack_attribute): Same.
2648 * c-common.c (shorten_compare): Same.
2649 (c_common_truthvalue_conversion): Same.
2650 (cb_get_source_date_epoch): Same.
2651 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
2652 in diagnostics.
2653 (interpret_float): Same.
2654 * c-omp.c (c_finish_omp_for): Same.
2655 * c-opts.c (c_common_post_options): Same.
2656 * c-pch.c (c_common_pch_pragma): Same.
2657 * c-pragma.c (pop_alignment): Same.
2658 (handle_pragma_pack): Same.
2659 (apply_pragma_weak): Same.
2660 (handle_pragma_weak): Same.
2661 (handle_pragma_scalar_storage_order): Same.
2662 (handle_pragma_redefine_extname): Same.
2663 (add_to_renaming_pragma_list): Same.
2664 (maybe_apply_renaming_pragma): Same.
2665 (push_visibility): Same.
2666 (handle_pragma_visibility): Same.
2667 (handle_pragma_optimize): Same.
2668 (handle_pragma_message): Same.
2669 * c-warn.c (warn_for_omitted_condop): Same.
2670 (lvalue_error): Same.
a9c697b8 2671
6b943512
RB
26722019-05-15 Richard Biener <rguenther@suse.de>
2673
2674 PR c/90474
2675 * c-common.c (c_common_mark_addressable_vec): Also mark
2676 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
2677 c_mark_addressable.
ab20d992 2678
b744fc85
NS
26792019-05-06 Nathan Sidwell <nathan@acm.org>
2680
2681 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
2682
598f50d7
NS
26832019-04-30 Nathan Sidwell <nathan@acm.org>
2684
2685 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
2686
5bcc5a3b
ML
26872019-04-30 Martin Liska <mliska@suse.cz>
2688
2689 * c-pragma.c (handle_pragma_diagnostic): Provide hints
2690 for unknown options.
2691
e78a87f7
RS
26922019-04-26 Richard Sandiford <richard.sandiford@arm.com>
2693
2694 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
2695 the pointer target rather than the pointer itself.
2696
c280b7ee
JJ
26972019-04-19 Jakub Jelinek <jakub@redhat.com>
2698
2699 PR c/89888
2700 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
2701 arguments.
2702 (c_do_switch_warnings): Remove outside_range_p argument.
2703 * c-common.c (check_case_bounds): Removed.
2704 (c_add_case_label): Remove orig_type and outside_range_p arguments.
2705 Don't call check_case_bounds. Fold low_value as well as high_value.
2706 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
2707 Check for case labels outside of range of original type here and
2708 adjust them.
2709
8e8225e6
JJ
27102019-04-12 Jakub Jelinek <jakub@redhat.com>
2711
63b8a166
JJ
2712 PR translation/90041
2713 * c.opt (-fhandle-exceptions): Use %< and %> around option names
2714 in the Warn diagnostics.
2715
8e8225e6
JJ
2716 PR c/89946
2717 * c-attribs.c (handle_patchable_function_entry_attribute): Add
2718 function comment. Warn if arguments of the attribute are not positive
2719 integer constants.
2720
53a3f614
EB
27212019-04-09 Eric Botcazou <ebotcazou@adacore.com>
2722
2723 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
2724 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
2725
22be5873
EB
27262019-04-07 Eric Botcazou <ebotcazou@adacore.com>
2727
2728 * c-ada-spec.c (is_float128): New predicate extracted from...
2729 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
2730 <REAL_TYPE>: ...here. Call it.
2731
34facf20
DM
27322019-04-05 David Malcolm <dmalcolm@redhat.com>
2733
2734 PR c/89985
2735 * c-warn.c (check_address_or_pointer_of_packed_member): Add
2736 auto_diagnostic_group. Guard inform calls by result of
2737 warning_at call.
2738
05564120
MP
27392019-04-05 Marek Polacek <polacek@redhat.com>
2740
ab20d992 2741 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
2742 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
2743 of RHS.
2744
7a506c3c
JM
27452019-04-03 Jason Merrill <jason@redhat.com>
2746
2747 PR c++/86586 - -fcompare-debug=-Wsign-compare.
2748 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
2749
ddeae8c8
MS
27502019-04-01 Martin Sebor <msebor@redhat.com>
2751
2752 PR c/89685
2753 * c-attribs.c (handle_copy_attribute): Handle references and
2754 non-constant expressions.
2755
a15ffa22
JJ
27562019-03-22 Jakub Jelinek <jakub@redhat.com>
2757
2758 PR c++/87481
2759 * c.opt (-fconstexpr-ops-limit=): New option.
2760
36a3a7a3
JJ
27612019-03-21 Jakub Jelinek <jakub@redhat.com>
2762
2763 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
2764 template param.
2765
bec1da64
MS
27662019-03-19 Martin Sebor <msebor@redhat.com>
2767
2768 PR tree-optimization/89688
2769 * c-common.c (braced_list_to_string): Make static.
2770 (braced_lists_to_strings): Define new function.
2771 * c-common.h (braced_list_to_string): Remove.
2772 (braced_lists_to_strings): Declare.
2773
1fe61adf
ML
27742019-03-12 Martin Liska <mliska@suse.cz>
2775
2776 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
2777
93964ebd
ML
27782019-03-11 Martin Liska <mliska@suse.cz>
2779
2780 * c-opts.c (c_common_post_options): Wrap apostrophes
2781 in gcc internal format with %'.
2782
a3f9f006
ML
27832019-03-11 Martin Liska <mliska@suse.cz>
2784
2785 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
2786 in a string format message and fix GNU coding style.
2787 * c-common.c (vector_types_convertible_p): Likewise.
2788 (c_build_vec_perm_expr): Likewise.
2789 * c-indentation.c (get_visual_column): Likewise.
2790 * c-opts.c (c_common_handle_option): Likewise.
2791 (c_common_post_options): Likewise.
2792 (sanitize_cpp_opts): Likewise.
2793 * c-pch.c (c_common_pch_pragma): Likewise.
2794 * c-pragma.c (handle_pragma_pack): Likewise.
2795
1db01ff9
JJ
27962019-03-08 Jakub Jelinek <jakub@redhat.com>
2797
2798 PR tree-optimization/89550
2799 * c-common.c (c_common_truthvalue_conversion): Only set
2800 TREE_NO_WARNING if warning_at returned true.
2801 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
2802
ba790e6f
JJ
28032019-02-25 Sandra Loosemore <sandra@codesourcery.com>
2804 Martin Sebor <msebor@gmail.com>
2805
2806 * c.opt (Wmissing-attributes): Clean up doc string.
2807
7da73ba7
JJ
28082019-02-25 Jakub Jelinek <jakub@redhat.com>
2809
2810 PR c/89495
2811 * c-format.c (maybe_read_dollar_number): Compute nargnum in
2812 HOST_WIDE_INT type to avoid overflows and change overflow_flag
2813 checking.
2814
921bb9d1
RB
28152019-02-22 Richard Biener <rguenther@suse.de>
2816
2817 * c-pch.c (no_checksum): Remove.
2818 (pch_init): Remove assertion that executable_checksum is not
2819 all zero.
2820 (c_common_valid_pch): Likewise.
2821
e2ebb05c
MS
28222019-02-18 Martin Sebor <msebor@redhat.com>
2823
2824 PR middle-end/89294
2825 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
2826
3fe53000
DM
28272019-02-16 David Malcolm <dmalcolm@redhat.com>
2828
2829 PR c++/88680
2830 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
2831 implementing -Wtype-limits.
2832
28a8cef1
MS
28332019-02-11 Martin Sebor <msebor@redhat.com>
2834
2835 PR c++/87996
2836 * c-common.c (invalid_array_size_error): New function.
2837 (valid_array_size_p): Call it. Handle size as well as type.
2838 * c-common.h (valid_constant_size_p): New function.
2839 (enum cst_size_error): New type.
2840
ec2be203
DM
28412019-01-31 David Malcolm <dmalcolm@redhat.com>
2842
2843 PR c/89122
2844 * known-headers.cc (get_stdlib_header_for_name): Add
2845 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
2846
8936f047
JJ
28472019-01-31 Jakub Jelinek <jakub@redhat.com>
2848
2849 PR libstdc++/88170
2850 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
2851 a C cast in pp_c_flag_gnu_v3 mode.
2852
6a335b96
JJ
28532019-01-29 Jakub Jelinek <jakub@redhat.com>
2854
2855 PR c/86125
2856 * c-common.c (c_common_nodes_and_builtins): Build type variants for
2857 builtin_structptr_types types even for C.
2858
2a06eba5
BE
28592019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2860
2861 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
2862 when rhs is of array type correctly. Fix handling of nested structures.
2863 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
2864 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
2865 type casts within nested compound expressions.
2866
18a23298
JJ
28672019-01-22 Jakub Jelinek <jakub@redhat.com>
2868
2869 PR middle-end/88968
2870 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
2871 variable after using BIT_FIELD_REF.
2872
420183d9
L
28732019-01-18 H.J. Lu <hongjiu.lu@intel.com>
2874
2875 PR c/51628
2876 PR c/88664
2877 * c-common.h (warn_for_address_or_pointer_of_packed_member):
2878 Remove the boolean argument.
2879 * c-warn.c (check_address_of_packed_member): Renamed to ...
2880 (check_address_or_pointer_of_packed_member): This. Also
2881 warn pointer conversion.
2882 (check_and_warn_address_of_packed_member): Renamed to ...
2883 (check_and_warn_address_or_pointer_of_packed_member): This.
2884 Also warn pointer conversion.
2885 (warn_for_address_or_pointer_of_packed_member): Remove the
2886 boolean argument. Don't check pointer conversion here.
2887
99063eee
RS
28882019-01-15 Richard Sandiford <richard.sandiford@arm.com>
2889
2890 PR inline-asm/52813
2891 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
2892
a30d0196
JJ
28932019-01-14 Jakub Jelinek <jakub@redhat.com>
2894
2895 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
2896 and __cpp_nontype_template_parameter_auto. Add a comment that
2897 __cpp_template_auto is deprecated.
2898
2d91f79d
TH
28992019-01-14 Tom Honermann <tom@honermann.net>
2900
2901 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
2902 * c-common.c (c_common_reswords): Add char8_t.
2903 (fix_string_type): Use char8_t for the type of u8 string literals.
2904 (c_common_get_alias_set): char8_t doesn't alias.
2905 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
2906 C++.
2907 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
2908 (keyword_begins_type_specifier): Add RID_CHAR8.
2909 * c-common.h (rid): Add RID_CHAR8.
2910 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
2911 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
2912 Define char8_type_node and char8_array_type_node.
2913 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
2914 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
2915 (c_cpp_builtins): Predefine __cpp_char8_t.
2916 * c-lex.c (lex_string): Use char8_array_type_node as the type of
2917 CPP_UTF8STRING.
2918 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
2919 * c-opts.c: If not otherwise specified, enable -fchar8_t when
2920 targeting C++2a.
2921 * c.opt: Add the -fchar8_t command line option.
2922
23db6ced
MS
29232019-01-14 Martin Sebor <msebor@redhat.com>
2924
2925 PR target/88638
2926 * c-attribs.c (positional_argument): Call valid_format_string_type_p
2927 and issue errors if it fails.
2928 * c-common.h (valid_format_string_type_p): Declare.
2929 * c-format.c (valid_stringptr_type_p): Rename...
2930 (valid_format_string_type_p): ...to this and make extern.
2931 (handle_format_arg_attribute): Adjust to new name.
2932 (check_format_string): Same.
2933
234c3818
L
29342019-01-13 H.J. Lu <hongjiu.lu@intel.com>
2935
2936 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
2937 Replace "may may" with "may" in warning message.
2938
d8fcab68
JJ
29392019-01-07 Jakub Jelinek <jakub@redhat.com>
2940
2941 PR c++/85052
2942 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
2943 (c_build_vec_convert): Declare.
2944 * c-common.c (c_build_vec_convert): New function.
2945
29d24852
MS
29462019-01-04 Martin Sebor <msebor@redhat.com>
2947
2948 PR c/88546
2949 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
2950 Handle C++ empty throw specification and C11 _Noreturn.
2951 (has_attribute): Also handle C11 _Noreturn.
2952
9069a4c9
MS
29532019-01-04 Martin Sebor <msebor@redhat.com>
2954
2955 PR c/88363
2956 * c-attribs.c (positional_argument): Also accept enumerated types.
2957
a5544970
JJ
29582019-01-01 Jakub Jelinek <jakub@redhat.com>
2959
2960 Update copyright years.
2961
da77eace
L
29622018-12-20 H.J. Lu <hongjiu.lu@intel.com>
2963
2964 PR c/51628
2965 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
2966 * c-warn.c (check_alignment_of_packed_member): New function.
2967 (check_address_of_packed_member): Likewise.
2968 (check_and_warn_address_of_packed_member): Likewise.
2969 (warn_for_address_or_pointer_of_packed_member): Likewise.
2970 * c.opt: Add -Wno-address-of-packed-member.
2971
573767d4
DM
29722018-12-20 David Malcolm <dmalcolm@redhat.com>
2973
2974 PR c++/87504
2975 * c-warn.c (get_outermost_macro_expansion): New function.
2976 (spelled_the_same_p): Use it to unwind the macro expansions, and
2977 compare the outermost macro in each nested expansion, rather than
2978 the innermost.
2979
a14feb3c
DM
29802018-12-19 David Malcolm <dmalcolm@redhat.com>
2981
2982 PR c++/87504
2983 * c-common.h (warn_tautological_cmp): Convert 1st param from
2984 location_t to const op_location_t &.
2985 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
2986 when testing for INTEGER_CST.
2987 (warn_tautological_bitwise_comparison): Convert 1st param from
2988 location_t to const op_location_t &; use it to build a
2989 binary_op_rich_location, and use this.
2990 (spelled_the_same_p): New function.
2991 (warn_tautological_cmp): Convert 1st param from location_t to
2992 const op_location_t &. Warn for macro expansions if
2993 spelled_the_same_p. Use binary_op_rich_location.
2994
dfd7fdca
DM
29952018-12-19 David Malcolm <dmalcolm@redhat.com>
2996
2997 PR c++/43064
2998 PR c++/43486
2999 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3000 (verify_tree): Handle location wrappers.
3001 (c_common_truthvalue_conversion): Strip any location wrapper.
3002 Handle CONST_DECL.
3003 (fold_offsetof): Strip any location wrapper.
3004 (complete_array_type): Likewise for initial_value.
3005 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3006 index before checking for INTEGER_CST.
3007 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3008 print parentheses around location wrappers.
3009 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3010 before checking for INTEGER_CST.
3011 (warn_tautological_bitwise_comparison): Call
3012 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3013 before checking for INTEGER_CST.
3014 (readonly_error): Strip any location wrapper.
3015 (warn_array_subscript_with_type_char): Strip location wrappers
3016 before checking for INTEGER_CST. Use the location of the index if
3017 available.
3018
5c8b3702
JM
30192018-12-06 Jason Merrill <jason@redhat.com>
3020
3021 PR c++/88136 - -Wdeprecated-copy false positives
3022 * c.opt (Wdeprecated-copy-dtor): New.
3023 (Wdeprecated-copy): Move to -Wextra.
3024
673670da
MS
30252018-11-29 Martin Sebor <msebor@redhat.com>
3026
3027 PR c/88172
3028 PR testsuite/88208
3029 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3030 alignments to values less than the target requires.
3031 (has_attribute): For attribute aligned consider both the attribute
3032 and the alignment bits.
3033 * c-common.c (c_init_attributes): Optionally issue a warning for
3034 zero alignment.
3035
04864ec8
MS
30362018-11-28 Martin Sebor <msebor@redhat.com>
3037
3038 PR c/88065
3039 PR c/87297
3040 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3041 or destination is an error.
3042
ace83db0
JJ
30432018-11-28 Jakub Jelinek <jakub@redhat.com>
3044
3045 PR c++/88215
3046 * c-ubsan.c: Include langhooks.h.
3047 (ubsan_instrument_division): Change gcc_assert that main variants
3048 of op0 and op1 types are equal to gcc_checking_assert that the
3049 main variants are compatible types.
3050
da193a27
EB
30512018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3052
3053 * c-ada-spec.c: Include stringpool.h.
3054 (has_static_fields): Return false for incomplete types.
3055 (is_tagged_type): Likewise.
3056 (has_nontrivial_methods): Likewise.
3057 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3058 (struct overloaded_name_hash): New structure.
3059 (struct overloaded_name_hasher): Likewise.
3060 (overloaded_names): New global variable.
3061 (init_overloaded_names): New static function.
3062 (overloaded_name_p): New predicate.
3063 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3064 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3065 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3066 Remove always-true condition and dump forward types.
3067 (dump_ada_specs): Delete overloaded_names.
3068
98f08eb8
MS
30692018-11-20 Martin Sebor <msebor@redhat.com>
3070
3071 * c-attribs.c (type_for_vector_size): New function.
3072 (type_valid_for_vector_size): Same.
3073 (handle_vector_size_attribute): Move code to the functions above
3074 and call them.
3075 (validate_attribute, has_attribute): New functions.
3076 * c-common.h (has_attribute): Declare.
3077 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3078 * c-common.c (c_common_resword): Same.
3079
2674fa47
JM
30802018-11-16 Jason Merrill <jason@redhat.com>
3081
3082 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3083 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3084
258b3854
JJ
30852018-11-16 Jakub Jelinek <jakub@redhat.com>
3086
3087 PR middle-end/87854
3088 * c-common.c (fix_string_type): Reject string literals larger than
3089 TYPE_MAX_VALUE (ssizetype) bytes.
3090
1d249509
MS
30912018-11-15 Martin Sebor <msebor@redhat.com>
3092
3093 PR c++/87541
3094 PR c++/87542
3095 * c-attribs.c (positional_argument): New function.
3096 (handle_alloc_size_attribute): Use it and simplify.
3097 (handle_alloc_align_attribute): Same.
3098 (handle_assume_aligned_attribute): Same.
3099 (handle_nonnull_attribute): Same.
3100 * c-common.c (check_function_arguments): Pass fntype to
3101 check_function_format.
3102 * c-common.h (check_function_format): Add an argument.
3103 (PosArgFlags, positional_argument): Declare new type and function.
3104 * c-format.c (decode_format_attr): Add arguments.
3105 (check_format_string, get_constant): Same.
3106 (convert_format_name_to_system_name): Adjust.
3107
478dd60d
DM
31082018-11-15 David Malcolm <dmalcolm@redhat.com>
3109
3110 PR other/19165
3111 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3112
8cca0163
JJ
31132018-11-14 Jakub Jelinek <jakub@redhat.com>
3114
8ee09943
JJ
3115 P1236R1 - Signed integers are two's complement
3116 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3117 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3118 with in-range second operand well defined for -std=c++2a.
3119
8cca0163
JJ
3120 PR other/88007
3121 * c-common.c (parse_optimize_options): Allocate option string from
3122 opts_obstack rather than as GC memory. Move the allocation after
3123 warning for invalid option.
3124
620e594b
DM
31252018-11-13 David Malcolm <dmalcolm@redhat.com>
3126
3127 * c-common.c (c_get_substring_location): Update for renaming of
3128 get_source_location_for_substring to get_location_within_string.
3129 * c-lex.c: Replace "source_location" with "location_t".
3130 * c-opts.c: Likewise.
3131 * c-ppoutput.c: Likewise.
3132
f9731de3
MS
31332018-11-13 Martin Sebor <msebor@redhat.com>
3134
3135 PR middle-end/81824
3136 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3137 (handle_tls_model_attribute): Improve diagnostics.
3138
e4bd6d5e
JM
31392018-11-12 Jason Merrill <jason@redhat.com>
3140
a6bb6b07
JM
3141 * c-cppbuiltin.c (c_cpp_builtins): Define
3142 __cpp_impl_destroying_delete.
3143
e4bd6d5e
JM
3144 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3145 __cpp_conditional_explicit.
3146
79a2c428
MS
31472018-11-09 Martin Sebor <msebor@redhat.com>
3148
3149 PR middle-end/81824
3150 * c-attribs.c (handle_copy_attribute): New function.
3151
4c7bd361
MS
31522018-11-09 Martin Sebor <msebor@redhat.com>
3153
3154 PR c/87795
3155 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3156
28567c40
JJ
31572018-11-08 Jakub Jelinek <jakub@redhat.com>
3158
3159 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3160 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3161 enum omp_memory_order MEMORY_ORDER.
3162 (c_finish_omp_flush): Add MO argument.
3163 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3164 (c_finish_omp_for): Add FINAL_P argument.
3165 * c-omp.c: Include memmodel.h.
3166 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3167 OMP_TASKGROUP_CLAUSES to it.
3168 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3169 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3170 instead of OMP_ATOMIC_SEQ_CST.
3171 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3172 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3173 __atomic_thread_fence call with the given value.
3174 (check_omp_for_incr_expr): Formatting fixes.
3175 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3176 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3177 is not constant expression 1 or -1. Transform NE_EXPR loops
3178 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3179 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3180 loops too.
3181 (c_omp_split_clauses): Add support for combined
3182 #pragma omp parallel master and
3183 #pragma omp {,parallel }master taskloop{, simd} constructs.
3184 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3185 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3186 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3187 (c_omp_predetermined_sharing): Don't return
3188 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3189 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3190 PRAGMA_OMP_REQUIRES.
3191 * c-pragma.h (enum pragma_kind): Likewise.
3192 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3193 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3194
204839e7
DM
31952018-11-08 David Malcolm <dmalcolm@redhat.com>
3196
3197 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3198
d8010ee4
DM
31992018-11-08 David Malcolm <dmalcolm@redhat.com>
3200
3201 * c-format.c (local_cgraph_node_ptr_node): New variable.
3202 (gcc_dump_printf_char_table): Add entry for %C.
3203 (get_pointer_to_named_type): New function, taken from the handling
3204 code for "gimple *" from...
3205 (init_dynamic_diag_info): ...here. Add handling for
3206 "cgraph_node *".
3207 * c-format.h (T_CGRAPH_NODE): New.
3208
4be5c72c
JM
32092018-10-19 Jason Merrill <jason@redhat.com>
3210
3211 * c-cppbuiltin.c (c_cpp_builtins): Add
3212 __cpp_nontype_template_parameter_class.
3213
f3f6029d
NS
32142018-10-31 Nathan Sidwell <nathan@acm.org>
3215
ab5324fb
NS
3216 * c-opts.c (c_finish_options): Force command line macro
3217 location. Refactor to avoid repeating main debug hook.
3218 (push_command_line_include): Clarify comment.
3219
f3f6029d
NS
3220 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3221
91e3ec29
MS
32222018-10-30 Martin Sebor <msebor@redhat.com>
3223
3224 PR middle-end/87041
3225 * c-format.c (check_format_types): Avoid diagnosing null pointer
3226 arguments to printf-family of functions.
3227
b5ff4f5c
MP
32282018-10-30 Marek Polacek <polacek@redhat.com>
3229
3230 Implement P0892R2, explicit(bool).
3231 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3232
7e2de6df
DM
32332018-10-29 David Malcolm <dmalcolm@redhat.com>
3234
3235 * name-hint.h (name_hint::take_deferred): New member function.
3236
b2bf438c
DM
32372018-10-29 David Malcolm <dmalcolm@redhat.com>
3238
3239 PR c++/56856
3240 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3241 argument.
3242 (check_function_restrict): Rename param "argarray" to
3243 "unfolded_argarray", and make a copy named "argarray", calling
3244 fold_for_warn on each argument.
3245 (check_function_arguments): Add note about responsibility for
3246 folding the arguments.
3247
9f936c86
JM
32482018-10-17 Joseph Myers <joseph@codesourcery.com>
3249
3250 * c-common.c (flag_isoc2x): New variable.
3251 * c-common.h (clk_c): Update comment to reference C2X.
3252 (flag_isoc99, flag_isoc11): Update comments to reference future
3253 standard versions in general.
3254 (flag_isoc2x): Declare.
3255 * c-opts.c (set_std_c2x): New function.
3256 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3257 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3258 flag_isoc2x to 0.
3259 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3260
7a8a92c4
JM
32612018-10-17 Joseph Myers <joseph@codesourcery.com>
3262
3263 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3264 (std=iso9899:2018): Document C17 as published in 2018.
3265
4dc003ff
CL
32662018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
3267
3268 PR c++/87364
3269 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3270
79371671
WW
32712018-10-11 Will Wray <wjwray@gmail.com>
3272
3273 PR c++/87364
3274 * c-pretty-print.h (pp_c_type_cast): Prototype.
3275 (pp_c_integer_constant): Likewise.
3276 * c-pretty-print.c (pp_c_type_cast): No longer static.
3277 (pp_c_integer_constant): Likewise.
3278 (pp_c_enumeration_constant): Fix loop termination when finding
3279 name of constant. No longer returns a value. Call
3280 pp_c_integer_constant.
3281 (c_pretty_printer::constant): Update for changes to
3282 pp_c_enumeration_constant.
3283
46c62690
JJ
32842018-10-11 Jakub Jelinek <jakub@redhat.com>
3285
3286 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3287 for no_unique_address.
3288
c24300ba
DM
32892018-10-09 David Malcolm <dmalcolm@redhat.com>
3290
3291 * c-common.c (c_option_controlling_cpp_error): Rename to...
3292 (c_option_controlling_cpp_diagnostic): ...this, and convert
3293 "reason" from int to enum.
3294 (c_cpp_error): Rename to...
3295 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3296 * c-common.h (c_cpp_error): Rename to...
3297 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3298 * c-opts.c (c_common_init_options): Update for renaming.
3299
8656dafa
RS
33002018-10-08 Richard Sandiford <richard.sandiford@arm.com>
3301
3302 PR c/87286
3303 * c-common.c (vector_types_compatible_elements_p): Use
3304 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3305
8cff0652
VK
33062018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
3307
3308 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3309 to generate constructor destructor priority warning.
3310 * c.opt (-Wprio-ctor-dtor): New option.
3311
bedf03a2
JM
33122018-10-01 Jason Merrill <jason@redhat.com>
3313
3314 * c-lex.c (c_common_has_attribute): Add no_unique_address.
3315
6cc430c1
EB
33162018-10-01 Eric Botcazou <ebotcazou@adacore.com>
3317
3318 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3319 (dump_ada_node): Add const keyword.
3320
87677ac7
ML
33212018-09-25 Martin Liska <mliska@suse.cz>
3322
3323 * c-common.c (c_common_truthvalue_conversion):
3324 Remove Pascal from documentation.
3325
518196cb
EB
33262018-09-21 Eric Botcazou <ebotcazou@adacore.com>
3327
3328 * c-ada-spec.c: Include diagnostic.h.
3329 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3330
a599af84
MP
33312018-09-19 Marek Polacek <polacek@redhat.com>
3332
3333 * c.opt (Wclass-conversion): New.
3334
9c4a4b3c
DM
33352018-09-17 David Malcolm <dmalcolm@redhat.com>
3336
3337 * c-format.c (range_label_for_format_type_mismatch::get_text):
3338 Update for new param.
3339
c896ecfe
DM
33402018-09-17 David Malcolm <dmalcolm@redhat.com>
3341
3342 * c-format.c (format_warning_at_char): Update for introduction of
3343 format_string_diagnostic_t.
3344 (format_type_warning): Likewise.
3345
80c6d1f4
MJ
33462018-09-17 Martin Jambor <mjambor@suse.cz>
3347
3348 PR c/63886
3349 * c.opt (Wabsolute-value): New.
3350
6d900107
BE
33512018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
3352
3353 * c-common.c (complete_flexible_array_elts): New helper function.
3354 * c-common.h (complete_flexible_array_elts): Declare.
3355
b5764229
BE
33562018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3357
3358 * c-common.c (braced_list_to_string): Remove eval parameter.
3359 Add some more checks. Always create zero-terminated STRING_CST.
3360 * c-common.h (braced_list_to_string): Adjust prototype.
3361
85204e23
DM
33622018-08-27 David Malcolm <dmalcolm@redhat.com>
3363
3364 PR 87091
3365 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3366 to a tri-state.
3367 (maybe_suggest_missing_token_insertion): Likewise.
3368 (maybe_add_include_fixit): Add param "override_location". If set,
3369 and source-printing is enabled, then override the rich_location's
3370 primary location with that of the insertion point for the fix-it
3371 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3372 * c-common.h (extern void maybe_add_include_fixit): Add bool
3373 param.
3374 * c-format.c (selftest::test_type_mismatch_range_labels): Update
3375 for conversion of show_caret_p to a tri-state.
3376 * c-warn.c (warn_for_restrict): Likewise.
3377 * known-headers.cc
3378 (suggest_missing_header::~suggest_missing_header): Update call to
3379 maybe_add_include_fixit to suggest overriding the location, as it
3380 is for a note.
3381
3d78e008
ML
33822018-08-27 Martin Liska <mliska@suse.cz>
3383
3384 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
3385 fndecl_built_in_p and remove check for FUNCTION_DECL if
3386 possible.
3d78e008
ML
3387 (check_builtin_function_arguments): Likewise.
3388 (reject_gcc_builtin): Likewise.
3389 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3390
b5be6d0c
MP
33912018-08-26 Marek Polacek <polacek@redhat.com>
3392
3393 PR c++/87029, Implement -Wredundant-move.
3394 * c.opt (Wredundant-move): New option.
3395
79ca9c35
MP
33962018-08-21 Marek Polacek <polacek@redhat.com>
3397
3398 PR c++/86981, Implement -Wpessimizing-move.
3399 * c.opt (Wpessimizing-move): New option.
3400
097f82ec
DM
34012018-08-20 David Malcolm <dmalcolm@redhat.com>
3402
3403 PR other/84889
3404 * c-attribs.c (common_handle_aligned_attribute): Add
3405 auto_diagnostic_group instance.
3406 * c-indentation.c (warn_for_misleading_indentation): Likewise.
3407 * c-opts.c (c_common_post_options): Likewise.
3408 * c-warn.c (warn_logical_not_parentheses): Likewise.
3409 (warn_duplicated_cond_add_or_warn): Likewise.
3410 (warn_for_multistatement_macros): Likewise.
3411
3fb558b1
NS
34122018-08-20 Nathan Sidwell <nathan@acm.org>
3413
3414 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3415 access.
3416
800c0e98
NS
34172018-08-17 Nathan Sidwell <nathan@acm.org>
3418
3419 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3420 field.
3421 (laxy_hex_fp_value_count): Make unsigned.
3422 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
3423 manipulate the macro.
3424 (builtin_defin_with_hex_fp_value): Adjust callback name, use
3425 cpp_define_lazily.
3426
6f795a92
DM
34272018-08-17 David Malcolm <dmalcolm@redhat.com>
3428
3429 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3430 (gcc_dump_printf_length_specs): New.
3431 (gcc_dump_printf_flag_pairs): New.
3432 (gcc_dump_printf_flag_specs): New.
3433 (gcc_dump_printf_char_table): New.
3434 (format_types_orig): Add entry for "gcc_dump_printf".
3435 (init_dynamic_diag_info): Set up length_char_specs and
3436 conversion_specs for gcc_dump_printf_format_type.
3437 (handle_format_attribute): Handle gcc_dump_printf_format_type.
3438
c5d725c0
NS
34392018-08-17 Nathan Sidwell <nathan@acm.org>
3440
10f04917
NS
3441 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3442
c5d725c0
NS
3443 * c-ada-spec.c: Don't #include "cpp-id-data.h"
3444 * c-cppbuiltin.c: Likewise.
3445
c0c12356
ML
34462018-08-17 Martin Liska <mliska@suse.cz>
3447
3448 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
3449 Ignore/Deprecated flag. Warning is done automatically for
3450 Deprecated flags.
c0c12356 3451
10fcc142
DM
34522018-08-16 David Malcolm <dmalcolm@redhat.com>
3453
3454 PR c++/70693
3455 * c-common.c (selftest::c_family_tests): Call
3456 selftest::c_indentation_c_tests.
3457 * c-common.h (selftest::c_indentation_c_tests): New decl.
3458 * c-indentation.c: Include "selftest.h".
3459 (next_tab_stop): Add "tab_width" param, rather than accessing
3460 cpp_opts.
3461 (get_visual_column): Likewise. Clarify comment. Bulletproof
3462 against reading past the end of the line.
3463 (get_first_nws_vis_column): Add "tab_width" param.
3464 (detect_intervening_unindent): Likewise.
3465 (should_warn_for_misleading_indentation): Read tab width from
3466 cpp_opts and pass around.
3467 (selftest::test_next_tab_stop): New test.
3468 (selftest::assert_get_visual_column_succeeds): New function.
3469 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3470 (selftest::assert_get_visual_column_fails): New function.
3471 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3472 (selftest::test_get_visual_column): New test.
3473 (selftest::c_indentation_c_tests): New function.
3474
3f6677f4
NS
34752018-08-16 Nathan Sidwell <nathan@acm.org>
3476
3477 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3478 (store_ada_macro): Likewise.
3479 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3480 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3481
96e6ae57
DM
34822018-08-15 David Malcolm <dmalcolm@redhat.com>
3483
3484 * c-format.c: Include "selftest-diagnostic.h" and
3485 "gcc-rich-location.h".
3486 (format_warning_at_char): Pass NULL for new label params of
3487 format_warning_va.
3488 (class indirection_suffix): New class.
3489 (class range_label_for_format_type_mismatch): New class.
3490 (format_type_warning): Move logic for generating "*" suffix to
3491 class indirection_suffix. Create "fmt_label" and "param_label"
3492 to show their types, and pass them to the
3493 format_warning_at_substring calls.
3494 (selftest::test_type_mismatch_range_labels): New test.
3495 (selftest::c_format_c_tests): Call it.
3496
23aa9f7c
MS
34972018-08-13 Martin Sebor <msebor@redhat.com>
3498
3499 PR tree-optimization/71625
3500 * c-common.c (braced_list_to_string): New function.
3501 * c-common.h (braced_list_to_string): Declare it.
3502
f10a9135
NS
35032018-08-08 Nathan Sidwell <nathan@acm.org>
3504
3505 * c-common.c (try_to_locate_new_include_inertion_point): Use
3506 linemap_included_from_linemap.
3507 * c-lex.c (fe_file_change): Use linemap_included_from.
3508 * c-ppoutput.c (pp_file_change): Likewise.
3509
8a45b051
MS
35102018-08-01 Martin Sebor <msebor@redhat.com>
3511
3512 PR tree-optimization/86650
ab20d992 3513 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
3514 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
3515 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
3516 * c-format.h (T89_G): Update to be "gimple *" rather than
3517 "gcall *".
3518 (local_gcall_ptr_node): Rename...
3519 (local_gimple_ptr_node): ...to this.
3520
e540ccc0
DM
35212018-07-31 David Malcolm <dmalcolm@redhat.com>
3522
3523 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
3524 table entries for gcc_diag_char_table, and the 'Z' entry from
3525 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
3526 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
3527 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
3528 adding missing "Z" for this table. Remove erroneous "G" and "K"
3529 entries.
3530 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3531 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
3532 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3533
425fc685
RE
35342018-07-31 Richard Earnshaw <rearnsha@arm.com>
3535
3536 * c-common.c (speculation_safe_resolve_call): New function.
3537 (speculation_safe_resolve_params): New function.
3538 (speculation_safe_resolve_return): New function.
3539 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
3540 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
3541 __HAVE_SPECULATION_SAFE_VALUE.
3542
181463c2
DM
35432018-07-20 David Malcolm <dmalcolm@redhat.com>
3544
3545 * c-common.c (c_cpp_error): Remove redundant "line_table"
3546 parameter from call to rich_location::set_range.
3547 (maybe_suggest_missing_token_insertion): Likewise.
3548
0d7f9065
MS
35492018-07-20 Martin Sebor <msebor@redhat.com>
3550
3551 PR middle-end/82063
ab20d992 3552 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 3553
00abf86c
MS
35542018-07-20 Martin Sebor <msebor@redhat.com>
3555
3556 PR middle-end/82063
3557 * c-common.h (c_common_handle_option): Change function argument
3558 to HOST_WIDE_INT.
3559 * c-opts.c (c_common_init_options): Same.
3560 (c_common_handle_option): Same. Remove special handling of
3561 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
3562 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
3563 options to take a HOST_WIDE_INT argument and accept a byte-size
3564 suffix. Initialize.
3565 (-Wvla-larger-than): Same.
3566 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
3567 (-Wno-vla-larger-than): Same.
3568
9b452033
JJ
35692018-07-12 Jakub Jelinek <jakub@redhat.com>
3570
3571 * c-attribs.c (c_common_attribute_table): Add
3572 "omp declare target implicit" attribute.
3573
cd0762f3
RB
35742018-07-12 Richard Biener <rguenther@suse.de>
3575
3576 PR c/86453
3577 * c-attribs.c (handle_packed_attribute): Do not build a variant
3578 type with TYPE_PACKED, instead ignore the attribute if we may
3579 not apply to the original type.
3580
0b27c3ed
JJ
35812018-07-10 Jakub Jelinek <jakub@redhat.com>
3582
3583 PR c++/86443
3584 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
3585 to contain TREE_LIST for both the original class iterator and the
3586 "last" helper var.
3587
e730a0ef
EB
35882018-07-07 Eric Botcazou <ebotcazou@adacore.com>
3589
3590 * c-ada-spec.c (to_ada_name): Remove index parameter.
3591 (pp_ada_tree_identifier): Likewise.
3592 (dump_ada_macros): Adjust call to to_ada_name.
3593 (struct overloaded_name_hash): Delete.
3594 (struct overloaded_name_hasher): Likewise.
3595 (overloaded_names): Likewise.
3596 (compute_overloading_index): Likewise.
3597 (dump_ada_decl_name): Do not call compute_overloading_index and
3598 adjust calls to pp_ada_tree_identifier.
3599 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3600 (dump_ada_import): Add spc parameter and switch to aspect syntax.
3601 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
3602 (dump_ada_enum_type): Remove type and display_convention parameters.
3603 Adjust calls to pp_ada_tree_identifier.
3604 (dump_ada_node): Likewise and for dump_ada_structure.
3605 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
3606 and tidy up.
3607 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
3608 syntax.
3609 (print_constructor): Adjust call to pp_ada_tree_identifier.
3610 (print_destructor): Likewise.
3611 (dump_ada_declaration): Switch to aspect syntax.
3612 (dump_ada_structure): Likewise and tidy up. Replace display_convention
3613 parameter with nested parameter.
3614 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
3615 (dump_ada_specs): Do not delete overloaded_names table.
3616
8de583fc
PB
36172018-07-06 Peter Bergner <bergner@linux.ibm.com>
3618
3619 PR target/86324
e730a0ef 3620 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
3621 target hook.
3622
09cff37b
NS
36232018-07-05 Nathan Sidwell <nathan@acm.org>
3624
3625 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
3626 NO_IMPLICIT_EXTERN_C.
3627
98086b2b
ML
36282018-06-28 Martin Liska <mliska@suse.cz>
3629
3630 * cppspec.c: Include opt-suggestions.h.
3631
ab20d992
JJ
36322018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3633 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
3634 Cesar Philippidis <cesar@codesourcery.com>
3635
3636 * c-pragma.h (enum pragma_omp_clause): Add
3637 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
3638 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
3639
f41b7612
JJ
36402018-06-20 Jakub Jelinek <jakub@redhat.com>
3641
3642 PR c++/86210
3643 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
3644 comment.
3645
4252ccd7
MS
36462018-06-18 Martin Sebor <msebor@redhat.com>
3647
3648 PR middle-end/85602
3649 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
3650 nonstring.
3651
e197e64e
KV
36522018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
3653
3654 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
3655
34a7a230
JM
36562018-06-13 Jason Merrill <jason@redhat.com>
3657
5cef3733
JM
3658 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
3659 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
3660 handling.
3661
34a7a230
JM
3662 PR c++/86094 - wrong code with defaulted move ctor.
3663 * c-opts.c (c_common_post_options): Bump the current ABI version to
3664 13. Set warn_abi_version and flag_abi_compat_version to the current
3665 version rather than 0. Fix defaulting flag_abi_compat_version from
3666 warn_abi_version.
3667
bb0f14ae
MS
36682018-06-12 Martin Sebor <msebor@redhat.com>
3669
3670 PR c/85931
3671 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
3672 sizeof source and destination yields the same value.
3673
3713f2e2
ML
36742018-06-12 Martin Liska <mliska@suse.cz>
3675
3676 * c.opt: Make MPX-related options as Deprecated.
3677
4af78ef8
DM
36782018-06-08 David Malcolm <dmalcolm@redhat.com>
3679
3680 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
3681 rather than 0.
3682
31db0fe0
ML
36832018-06-08 Martin Liska <mliska@suse.cz>
3684
3685 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
3686 for MPX (macros, related functions, fields in cgraph_node, ...).
3687 (handle_bnd_legacy): Likewise.
3688 (handle_bnd_instrument): Likewise.
3689 * c.opt: Likewise.
3690
fe16acf2
JJ
36912018-06-06 Jakub Jelinek <jakub@redhat.com>
3692
3693 PR c++/86068
3694 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
3695 __cpp_transactional_memory to 201500 instead of 210500.
3696
4dbdb49b
JM
36972018-06-06 Jason Merrill <jason@redhat.com>
3698
3699 PR c++/85710 - ICE with -Wmemset-elt-size.
3700 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
3701
f8ad043f
JM
37022018-06-01 Jason Merrill <jason@redhat.com>
3703
3704 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
3705 201703.
3706
abc24d93
EB
37072018-06-01 Eric Botcazou <ebotcazou@adacore.com>
3708
3709 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
3710 declaration for a typedef independently of whether the declaration of
3711 the subtype is generated.
3712
d258f4aa
MS
37132018-05-31 Martin Sebor <msebor@redhat.com>
3714
3715 PR c/82063
3716 * c.opt (-Wno-alloc-size-larger-than): New option.
3717
b67b9225
DP
37182018-04-22 David Pagan <dave.pagan@oracle.com>
3719
3720 PR c/55976
3721 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 3722 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
3723 differentiate between default (no option), -Wreturn-type, and
3724 -Wno-return-type.
3725
04eb9c55
JM
37262018-05-29 Jason Merrill <jason@redhat.com>
3727
3728 * c.opt (Winit-list-lifetime): New flag.
3729
b0c31bc6
BE
37302018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3731
3732 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
3733 splay_tree_delete_pointers.
3734
44284983
JJ
37352018-05-26 Jakub Jelinek <jakub@redhat.com>
3736
3737 PR bootstrap/85921
3738 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
3739 noinline variable to workaround broken kernel headers.
3740
b46b715d
JM
37412018-05-18 Jason Merrill <jason@redhat.com>
3742
3743 * c.opt (Wdeprecated-copy): New flag.
3744
40659769
ML
37452018-05-17 Martin Liska <mliska@suse.cz>
3746
3747 * c-warn.c (overflow_warning): Do not use
3748 space in between 'G_' and '('.
3749
403962ea
JM
37502018-05-09 Jason Merrill <jason@redhat.com>
3751
3752 * c-common.c (valid_array_size_p): Add complain parameter.
3753 * c-common.h: ...which defaults to true.
3754
1c9ee609
JJ
37552018-05-11 Jakub Jelinek <jakub@redhat.com>
3756
3757 PR c/85696
3758 * c-omp.c (c_omp_predetermined_sharing): Return
3759 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
3760
19916065
ML
37612018-05-11 Martin Liska <mliska@suse.cz>
3762
92a285c1 3763 PR sanitizer/85556
19916065
ML
3764 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
3765 TREE_LIST values.
3766
79e7b1fe
JJ
37672018-05-10 Jakub Jelinek <jakub@redhat.com>
3768
3769 PR c++/85662
3770 * c-common.h (fold_offsetof_1): Removed.
3771 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
3772 CTX argument defaulted to ERROR_MARK.
3773 * c-common.c (fold_offsetof_1): Renamed to ...
3774 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
3775 argument, convert the pointer constant to TYPE and use size_binop
3776 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
3777 a pointer type. Adjust recursive calls.
3778
86c12f76
EB
37792018-05-10 Eric Botcazou <ebotcazou@adacore.com>
3780
3781 PR c++/85400
3782 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
3783
ee336e84
NS
37842018-05-07 Nathan Sidwell <nathan@acm.org>
3785
3786 * c.opt (ffor-scope): Remove functionality, issue warning.
3787
6c072e21
NS
37882018-05-03 Nathan Sidwell <nathan@acm.org>
3789
3790 * c.opt (ffriend-injection): Remove functionality, issue warning.
3791
2cc7d3a7
DM
37922018-05-01 David Malcolm <dmalcolm@redhat.com>
3793
3794 PR c/84258
3795 * c-format.c (struct format_check_results): Add field
3796 "number_non_char".
3797 (check_format_info): Initialize it, and warn if encountered.
3798 (check_format_arg): Distinguish between wide char and
3799 everything else when detecting arrays of non-char.
3800
7761dfbe
DM
38012018-04-30 David Malcolm <dmalcolm@redhat.com>
3802
3803 * c-format.c (get_corrected_substring): Update for
3804 location_get_source_line returning a char_span. Use a char_span
3805 when handling the prefix of the correction.
3806 * c-indentation.c (get_visual_column): Update for
3807 location_get_source_line returning a char_span.
3808 (get_first_nws_vis_column): Likewise.
3809
62e98ef1
DM
38102018-03-29 David Malcolm <dmalcolm@redhat.com>
3811
3812 PR c++/84269
3813 * known-headers.cc (get_stdlib_header_for_name): Add various names
3814 from <assert.h>, <string.h>, and <memory.h>; add more names from
3815 <stdio.h>.
3816
a7dea617
JJ
38172018-03-27 Jakub Jelinek <jakub@redhat.com>
3818
3819 PR c++/85061
3820 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
3821 get_base_address of the second operand is a VAR_P, rather than the
3822 operand itself, and use gcc_checking_assert instead of gcc_assert.
3823
889a3a30
MP
38242018-03-23 Marek Polacek <polacek@redhat.com>
3825
3826 PR c++/85045
3827 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
3828 <case RDIV_EXPR>: Tweak condition.
3829
452154b9
EB
38302018-03-20 Eric Botcazou <ebotcazou@adacore.com>
3831
3832 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
3833
63ecb626
JJ
38342018-03-16 Jakub Jelinek <jakub@redhat.com>
3835
ce811fc4
JJ
3836 PR c/84909
3837 * c-warn.c (conversion_warning): Replace "to to" with "to" in
3838 diagnostics.
3839
63ecb626
JJ
3840 PR c/84910
3841 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
3842 diagnostics.
3843
a1295eec
RB
38442018-03-16 Richard Biener <rguenther@suse.de>
3845
3846 PR c/84873
3847 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
3848 unshare the possibly folded expression.
3849
919674fb
RB
38502018-03-15 Richard Biener <rguenther@suse.de>
3851
3852 PR c/84873
3853 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
3854
f99309b2
MS
38552018-03-13 Martin Sebor <msebor@redhat.com>
3856
3857 PR tree-optimization/84725
3858 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
3859 with all three narrow character types, including their qualified forms.
3860
e9b9fa4c
MS
38612018-03-12 Martin Sebor <msebor@redhat.com>
3862
3863 PR tree-optimization/83456
ab20d992 3864 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
3865 Restore checking of bounded built-in functions.
3866 (check_function_arguments): Also return the result
3867 of warn_for_restrict.
ab20d992
JJ
3868 * c-common.c (check_function_restrict): Return bool.
3869 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 3870
0805d020
MP
38712018-03-02 Marek Polacek <polacek@redhat.com>
3872
3873 PR c++/84171
3874 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
3875 is erroneous.
3876
ed2a2f08
TS
38772018-03-02 Thomas Schwinge <thomas@codesourcery.com>
3878
3879 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
3880 function".
3881
90abdde0
MP
38822018-03-01 Marek Polacek <polacek@redhat.com>
3883
3884 PR c++/84639
3885 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
3886 alignment in computation.
3887
c6db43fa
EB
38882018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3889
3890 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
3891 <REAL_TYPE>: Deal specifically with _Float128/__float128.
3892
9e25c7ed
EB
38932018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3894
3895 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
3896 (is_char_array): Take a type instead of a declaration.
3897 (dump_ada_array_type): Likewise.
3898 (is_simple_enum): Minor tweak.
3899 (dump_ada_enum_type): New function extracted from...
3900 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
3901 <INTEGER_TYPE>: Remove unreachable code.
3902 <RECORD_TYPE>: Likewise. Minor tweaks.
3903 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
3904 <ENUMERAL_TYPE>: New case.
3905 <RECORD_TYPE>: Factor out common code.
3906 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
3907 Minor tweaks. Deal with enumeral types.
3908 (dump_ada_structure): Minor tweaks.
3909
09de3550
EB
39102018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3911
3912 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
3913 address for incomplete structures.
3914 (dump_forward_type): Do not bail out for incomplete structures.
3915 (dump_ada_declaration): Do not special-case incomplete structures
3916 for subtypes. Dump them as null records for types.
3917
095d8d4b
EB
39182018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3919
3920 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
3921 (is_char_array): Fix formatting.
3922 (dump_template_types): Likewise.
3923 (dump_generic_ada_node): Rename into...
3924 (dump_ada_node): ...this.
3925 <POINTER_TYPE>: Remove superfluous space. Use generic address for
3926 incomplete structures and not for empty structures. Do not use it
3927 when forward declarations are needed.
3928 (dump_forward_type): New function.
3929 (dump_nested_types): Remove FORWARD parameter. Do not consider
3930 TREE_VISITED and do not generate a forward declaration. Only dump
3931 original nested types for nested declaration.
3932 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
3933 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
3934 <RECORD_TYPE>: Do not consider TREE_VISITED.
3935 (dump_ada_declaration): Use booleans and fix formatting throughout.
3936 <TYPE_DECL>: Skip incomplete structures and not empty structures.
3937 Call dump_forward_type instead of dump_nested_types for a typedef.
3938 Remove superfluous check and adjust call to dump_nested_types.
3939 <POINTER_TYPE>: Call dump_forward_type and fall through.
3940 (dump_ada_struct_decl): Rename into...
3941 (dump_ada_structure): ...this. Do not special-case empty structures.
3942
d4cfd486
MS
39432018-02-27 Martin Sebor <msebor@redhat.com>
3944
3945 PR c++/83871
3946 * c.opt (-Wmissing-attributes): New option.
3947
b22dbd03
ML
39482018-02-21 Martin Liska <mliska@suse.cz>
3949
3950 * c.opt (Wcatch-value=): Add IntegerRange.
3951
883dfe2a
JM
39522018-02-15 Jason Merrill <jason@redhat.com>
3953
3954 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
3955
0444aa9c
NS
39562018-02-09 Nathan Sidwell <nathan@acm.org>
3957
3958 PR c/84293
3959 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
3960 arg.
3961 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
3962 arg. Adjust.
3963
cea71f0a
MS
39642018-02-09 Martin Sebor <msebor@redhat.com>
3965
3966 PR lto/84212
3967 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
3968 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
3969 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
3970 (-Wstrict-overflow, -Wsuggest-attribute): Same.
3971 (-Wuninitialized): Same.
3972
8c8b7be5
EB
39732018-02-09 Eric Botcazou <ebotcazou@adacore.com>
3974
3975 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
3976 keyword for components.
3977
7c30b12a
PC
39782018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
3979
3980 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
3981
eece7fe5
JK
39822018-02-02 Julia Koval <julia.koval@intel.com>
3983
3984 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
3985
7d07a93a
MP
39862018-01-29 Marek Polacek <polacek@redhat.com>
3987
3988 PR c/83966
3989 * c-format.c (check_function_format): Check current_function_decl.
3990
53723269
JJ
39912018-01-27 Jakub Jelinek <jakub@redhat.com>
3992
3993 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
3994 argument.
3995 (LAZY_HEX_FP_VALUES_CNT): Define.
3996 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
3997 values rather than just 12.
3998 (builtin_define_with_hex_fp_value): Likewise.
3999
7365279f
BK
40002018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4001
92a285c1
ML
4002 PR other/70268
4003 * c.opt (-fmacro-prefix-map): New option.
4004 * c-opts.c (c_common_handle_option): Handle it.
4005 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4006 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4007
bb9869d5
DM
40082018-01-17 David Malcolm <dmalcolm@redhat.com>
4009
4010 PR c++/83814
4011 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4012
68dc87c3
EB
40132018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4014
4015 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4016 Skip 'f' and 'F' characters if it is true.
4017 (store_ada_macro): Minor tweak.
4018 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4019 <CPP_WSTRING>: Likewise.
4020 <CPP_STRING>: Output '&' in the buffer if not the first string.
4021 <CPP_NUMBER>: Adjust calls to dump_number.
4022
9a004410
DM
40232018-01-10 David Malcolm <dmalcolm@redhat.com>
4024
4025 PR c++/43486
4026 * c-common.c: Include "selftest.h".
4027 (get_atomic_generic_size): Perform the test for integral type
4028 before the range test for any integer constant, fixing indentation
4029 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4030 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4031 (selftest::test_fold_for_warn): New function.
4032 (selftest::c_common_c_tests): New function.
4033 (selftest::c_family_tests): Call it, and
4034 selftest::c_pretty_print_c_tests.
4035 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4036 * c-format.c (check_format_arg): Convert VAR_P check to a
4037 fold_for_warn.
4038 * c-pretty-print.c: Include "selftest.h".
4039 (pp_c_cast_expression): Don't print casts for location wrappers.
4040 (selftest::assert_c_pretty_printer_output): New function.
4041 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4042 (selftest::test_location_wrappers): New function.
4043 (selftest::c_pretty_print_c_tests): New function.
4044 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4045
5c0caeb3
RS
40462018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4047 Alan Hayward <alan.hayward@arm.com>
4048 David Sherwood <david.sherwood@arm.com>
4049
4050 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4051
73a699ae
RS
40522018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4053 Alan Hayward <alan.hayward@arm.com>
4054 David Sherwood <david.sherwood@arm.com>
4055
4056 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4057 as polynomial.
4058
928686b1
RS
40592018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4060 Alan Hayward <alan.hayward@arm.com>
4061 David Sherwood <david.sherwood@arm.com>
4062
4063 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4064 (convert_vector_to_array_for_subscript): Handle polynomial
4065 TYPE_VECTOR_SUBPARTS.
4066 (c_common_type_for_mode): Check valid_vector_subparts_p.
4067 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4068 VECTOR_CST_NELTS.
4069
85ec4feb
JJ
40702018-01-03 Jakub Jelinek <jakub@redhat.com>
4071
4072 Update copyright years.
4073
170a8bd6 40742017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4075 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4076
4077 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4078 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4079
ab20d992 40802017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4081
4082 PR debug/83527
4083 PR debug/83419
4084 * c-semantics.c (only_debug_stmts_after_p): New.
4085 (pop_stmt_list): Clear side effects in debug-only stmt list.
4086 Check for single nondebug stmt followed by debug stmts only.
4087
c12d20d4
AO
40882017-12-21 Alexandre Oliva <aoliva@redhat.com>
4089
4090 PR debug/83419
4091 * c-semantics.c (pop_stmt_list): Propagate side effects from
4092 single nondebug stmt to container list.
4093
01512446
JJ
40942017-12-19 Jakub Jelinek <jakub@redhat.com>
4095
4096 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4097 conditions with typical order conditions.
4098
82cfbd01
MP
40992017-12-18 Marek Polacek <polacek@redhat.com>
4100
4101 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4102 not in effect.
4103
99da11ec
MS
41042017-12-17 Martin Sebor <msebor@redhat.com>
4105
4106 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4107 an error for attribute warn_if_not_aligned.
4108
cc8bea0a
MS
41092017-12-16 Martin Sebor <msebor@redhat.com>
4110
4111 PR tree-optimization/78918
4112 * c-common.c (check_function_restrict): Avoid checking built-ins.
4113 * c.opt (-Wrestrict): Include in -Wall.
4114
4849deb1
JJ
41152017-12-15 Jakub Jelinek <jakub@redhat.com>
4116
4117 * c-attribs.c (c_common_attribute_table,
4118 c_common_format_attribute_table): Swap affects_type_identity
4119 and handler fields, adjust comments.
4120
c65e18d3
BE
41212017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4122
4123 * c.opt (Wcast-function-type): New warning option.
4124 * c-lex.c (get_fileinfo): Avoid warning.
4125 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4126
2004617a
QZ
41272017-12-14 Qing Zhao <qing.zhao@oracle.com>
4128
7365279f 4129 PR middle_end/79538
2004617a
QZ
4130 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4131 Adjust the size of buf1 and buf2, add a new buf to avoid
4132 format-overflow warning.
4133
ab20d992 41342017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4135
4136 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4137 subsequent statement list.
4138
5d9ae53d
MS
41392017-12-07 Martin Sebor <msebor@redhat.com>
4140
4141 PR c/81544
4142 PR c/81566
4143 * c-attribs.c (attr_aligned_exclusions): New array.
4144 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4145 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4146 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4147 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4148 (attr_warn_unused_result_exclusions): Same.
4149 (handle_hot_attribute, handle_cold_attribute): Simplify.
4150 (handle_const_attribute): Warn on function returning void.
4151 (handle_pure_attribute): Same.
4152 (handle_aligned_attribute): Diagnose conflicting attribute
4153 specifications.
4154 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4155
c79144f8
DM
41562017-12-06 David Malcolm <dmalcolm@redhat.com>
4157
4158 PR c/83236
4159 * c-common.c (selftest::c_family_tests): Call
4160 selftest::c_spellcheck_cc_tests.
4161 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4162 * c-spellcheck.cc: Include "selftest.h".
4163 (name_reserved_for_implementation_p): New function.
4164 (should_suggest_as_macro_p): New function.
4165 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4166 should_suggest_as_macro_p and call it.
4167 (selftest::test_name_reserved_for_implementation_p): New function.
4168 (selftest::c_spellcheck_cc_tests): New function.
4169 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4170
613bc14f
DM
41712017-12-06 David Malcolm <dmalcolm@redhat.com>
4172
4173 * c-spellcheck.cc: New file, taken from macro-handling code in
4174 spellcheck-tree.c.
4175 * c-spellcheck.h: New file, taken from macro-handling code in
4176 spellcheck-tree.h.
4177
e76c7157
JJ
41782017-12-01 Jakub Jelinek <jakub@redhat.com>
4179
4180 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4181 attribute.
4182 (handle_simd_attribute): Don't check for "cilk simd function"
4183 attribute. Reindent, formatting changes.
4184
b0da4034
JK
41852017-11-30 Julia Koval <julia.koval@intel.com>
4186
4187 * c-common.h (inv_list): Remove.
4188
058f0b9e
JJ
41892017-11-28 Jakub Jelinek <jakub@redhat.com>
4190
4191 PR sanitizer/81275
4192 * c-common.c (c_switch_covers_all_cases_p_1,
4193 c_switch_covers_all_cases_p): New functions.
4194 * c-common.h (c_switch_covers_all_cases_p): Declare.
4195
5e9d6aa4 41962017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4197 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4198
4199 * array-notation-common.c: Delete.
4200 * c-cilkplus.c: Ditto.
4201 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4202 * c-common.def (ARRAY_NOTATION_REF): Remove.
4203 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4204 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4205 c_validate_cilk_plus_loop, cilkplus_an_parts,
4206 cilk_ignorable_spawn_rhs_op,
4207 cilk_recognize_spawn): Remove.
4208 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4209 * c-omp.c: Remove CILK_SIMD check.
4210 * c-pragma.c: Ditto.
4211 * c-pragma.h: Remove CILK related pragmas.
4212 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4213 ARRAY_NOTATION_REF condition.
4214 (c_pretty_printer::expression): Ditto.
4215 * c.opt (fcilkplus): Remove.
4216 * cilk.c: Delete.
4217
1af4ebf5
MG
42182017-11-21 Marc Glisse <marc.glisse@inria.fr>
4219
4220 * c-pretty-print.c (pp_c_additive_expression,
4221 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4222
d44ed508
JJ
42232017-11-21 Jakub Jelinek <jakub@redhat.com>
4224
7d2f0f9b
JJ
4225 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4226
d44ed508
JJ
4227 PR c++/83059
4228 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4229 instead of tree_to_uhwi, formatting fix.
4230
26edace6
DM
42312017-11-20 David Malcolm <dmalcolm@redhat.com>
4232
4233 PR c/81404
4234 * known-headers.cc: New file, based on material from c/c-decl.c.
4235 (suggest_missing_header): Copied as-is.
4236 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4237 heavily edited to add C++ support. Add some knowledge about
4238 <limits.h>, <stdint.h>, and <wchar.h>.
4239 * known-headers.h: Likewise.
4240
6c7a259b
DM
42412017-11-20 David Malcolm <dmalcolm@redhat.com>
4242
4243 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4244 (lookup_name_fuzzy): Likewise. Convert return type from
4245 const char * to name_hint. Add location_t param.
4246 * name-hint.h: New header.
4247
f9c59f7e
JJ
42482017-11-19 Jakub Jelinek <jakub@redhat.com>
4249
4250 PR c/66618
4251 PR c/69960
4252 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4253
1e39313a
JM
42542017-11-16 Joseph Myers <joseph@codesourcery.com>
4255
4256 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4257 expected publication date of C17.
4258 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4259
3ca0dc60
JM
42602017-11-15 Joseph Myers <joseph@codesourcery.com>
4261
4262 PR c/81156
4263 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4264 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4265
025d57f0
MS
42662017-11-10 Martin Sebor <msebor@redhat.com>
4267
4268 PR c/81117
4269 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4270 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4271 * c.opt (-Wstringop-truncation): New option.
4272
1b6fa695
ML
42732017-11-06 Martin Liska <mliska@suse.cz>
4274
4275 PR middle-end/82404
4276 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4277 FE.
4278 * c.opt: Set default value of warn_return_type.
4279
64a5912c
DM
42802017-10-31 David Malcolm <dmalcolm@redhat.com>
4281
4282 * c-common.c (binary_op_error): Update for renaming of
4283 error_at_rich_loc.
4284 (c_parse_error): Likewise.
4285 * c-warn.c (warn_logical_not_parentheses): Likewise for
4286 renaming of inform_at_rich_loc.
4287 (warn_for_restrict): Likewise for renaming of
4288 warning_at_rich_loc_n.
4289
c76dc9c3
JM
42902017-10-30 Joseph Myers <joseph@codesourcery.com>
4291
4292 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4293 * c-opts.c (set_std_c17): New function.
4294 (c_common_init_options): Use gnu17 as default C version.
4295 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4296
ee5fd23a
MM
42972017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
4298
4299 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4300 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4301 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4302 __FP_FAST_FMA<N>X.
4303
d1047465
MP
43042017-10-23 Marek Polacek <polacek@redhat.com>
4305
4306 PR c/82681
4307 * c-warn.c (warnings_for_convert_and_check): Fix typos.
4308
9e878cf1
EB
43092017-10-19 Eric Botcazou <ebotcazou@adacore.com>
4310
4311 * c-common.c (check_builtin_function_arguments): Also check arguments
4312 of __builtin_alloca_with_align_and_max.
4313
89b6abbb
DM
43142017-10-17 David Malcolm <dmalcolm@redhat.com>
4315
4316 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4317 rather than NULL to format_warning_va.
4318 (check_format_types): Likewise when calling format_type_warning.
4319 Remove code to extract source_ranges and source_range * in favor
4320 of just a location_t.
4321 (format_type_warning): Convert source_range * param to a
4322 location_t.
4323
39382c09
JJ
43242017-10-13 Jakub Jelinek <jakub@redhat.com>
4325
4326 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4327 [LR]SHIFT_EXPR.
4328
62e1c678
DM
43292017-10-12 David Malcolm <dmalcolm@redhat.com>
4330
4331 * c-common.c (enum missing_token_insertion_kind): New enum.
4332 (get_missing_token_insertion_kind): New function.
4333 (maybe_suggest_missing_token_insertion): New function.
4334 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4335
b90c9338
NS
43362017-10-11 Nathan Sidwell <nathan@acm.org>
4337
4338 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4339 (c_common_handle_option): Update incpath_kind names.
4340
3a266bcd
ML
43412017-10-11 Martin Liska <mliska@suse.cz>
4342
4343 PR sanitizer/82490
4344 * c-attribs.c (handle_no_sanitize_attribute): Report directly
4345 Wattributes warning.
4346
8e6cdc90
RS
43472017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
4348
4349 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4350 operating on trees as wide_ints.
4351 * c-common.c (pointer_int_sum): Likewise.
4352 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4353 * c-warn.c (match_case_to_enum_1): Likewise.
4354 (c_do_switch_warnings): Likewise.
4355 (maybe_warn_shift_overflow): Likewise.
4356
802b38c9
JJ
43572017-10-10 Jakub Jelinek <jakub@redhat.com>
4358
4359 PR c/82437
4360 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4361 instead of wide_int::from.
4362
4e34b338
JJ
43632017-10-06 Jakub Jelinek <jakub@redhat.com>
4364
4365 PR c/82437
4366 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4367 using to_widest use wide_int with the larger of the two precisions.
4368
4bc4b2b4
BE
43692017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4370
4371 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4372 functions.
4373
a1488398
RS
43742017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
4375
4376 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4377 when combining the original unconverted comparison operands.
4378
01c9fb68
JJ
43792017-09-29 Jakub Jelinek <jakub@redhat.com>
4380
4381 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4382 attribute.
4383
6e3e8419
EB
43842017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4385
4386 * c-ada-spec.c (to_ada_name): Add index parameter.
4387 (pp_ada_tree_identifier): Likewise.
4388 (dump_ada_macros): Adjust call to to_ada_name.
4389 (struct overloaded_name_hash): New type.
4390 (struct overloaded_name_hasher): Likewise.
4391 (overloaded_names): New hash table.
4392 (compute_overloading_index): New function.
4393 (dump_ada_decl_name): Call it and pass the result to
4394 pp_ada_tree_identifier.
4395 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4396 (dump_ada_function_declaration): Likewise.
4397 (dump_generic_ada_node): Likewise.
4398 (print_constructor): Likewise.
4399 (print_destructor): Likewise.
4400 (dump_ada_specs): Delete overloaded_names table.
4401
79310774
EB
44022017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4403
4404 * c-ada-spec.c (max_ada_macros): Move around.
4405 (store_ada_macro_index): Likewise.
4406 (source_file): Rename into...
4407 (macro_source_file): ...this.
4408 (count_ada_macro): Move around.
4409 (store_ada_macro): Likewise.
4410 (compare_macro): Likewise.
4411 (print_ada_macros): Merge in...
4412 (dump_ada_macros): ...this.
4413 (source_file_base): Rename into...
4414 (current_source_file): ...this.
4415 (print_comment): Move around.
4416 (dump_ada_nodes): Call dump_ada_declaration directly.
4417 (struct with): Change type of limited field to bool.
4418 (append_withs): Change type of limited_access parameter to bool.
4419 (pp_ada_tree_identifie): Likewise.
4420 (dump_ada_decl_nam): Likewise.
4421 (dump_generic_ada_node): Likewise. Do not print the return type.
4422 (to_ada_name): Change type of space_found parameter to bool.
4423 (dump_ada_function_declaration): Return void and change type of
4424 parameters to bool. Also print the return type for a function.
4425 (print_ada_methods): Rename into...
4426 (dump_ada_methods): ...this.
4427 (print_ada_declaration): Rename into ...
4428 (dump_ada_declaration): ...this. Do not print the return type.
4429 (print_ada_struct_decl): Rename into...
4430 (dump_ada_struct_decl): ...this.
4431
7d386d45
JJ
44322017-09-29 Jakub Jelinek <jakub@redhat.com>
4433
4434 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4435 rather than DECL_INITIAL.
4436 (common_handle_aligned_attribute): Likewise.
4437
ab20d992 44382017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
4439
4440 * c.opt (gen-decls): Add RejectNegative.
4441
026a79f7
AS
44422017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
4443 Jakub Jelinek <jakub@redhat.com>
4444
4445 Add support for -std=c++2a.
4446 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4447 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4448 * c-opts.c (set_std_cxx2a): New.
4449 (c_common_handle_option): Set options when -std=c++2a is enabled.
4450 (c_common_post_options): Adjust comments.
4451 (set_std_cxx14, set_std_cxx17): Likewise.
4452
4a8ca690
EB
44532017-09-15 Eric Botcazou <ebotcazou@adacore.com>
4454
4455 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4456 message for non-uniform endianness and issue a warning in C++.
4457
7b936140
JJ
44582017-09-15 Jakub Jelinek <jakub@redhat.com>
4459
4460 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4461 (Wc++17-compat): Change from undocumented alias to option.
4462 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4463 change C++1z to C++17 in description.
4464 (std=c++1z, std=gnu++1z): Change from option to undocumented
4465 deprecated alias.
4466 (std=c++17, std=gnu++17): Change from undocumented alias to option.
4467 Adjust description.
4468 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4469 * c-opts.c (set_std_cxx1z): Rename to ...
4470 (set_std_cxx17): ... this.
4471 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4472 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 4473 caller.
7b936140
JJ
4474 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
4475 comments.
4476
12263f13
L
44772017-09-12 H.J. Lu <hongjiu.lu@intel.com>
4478
4479 * c-attribs.c (common_handle_aligned_attribute): Don't warn
4480 function alignment if warn_if_not_aligned_p is true.
4481
6836632e
NS
44822017-09-12 Nathan Sidwell <nathan@acm.org>
4483
4484 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4485 resort_sorted_fields): Move to c/c-decl.c.
4486 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4487 (struct sorted_fields_type): Move to c/c-lang.h.
4488
019bf9ad
JW
44892017-09-09 Jonathan Wakely <jwakely@redhat.com>
4490
4491 PR c++/81852
4492 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
4493
bc7fe952
MP
44942017-09-04 Marek Polacek <polacek@redhat.com>
4495
4496 PR c/81783
4497 * c-warn.c (warn_tautological_bitwise_comparison): New function.
4498 (warn_tautological_cmp): Call it.
4499
ab20d992 45002017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
4501
4502 * c-opts.c (c_common_finish): Write dependency information even if
4503 there are errors.
4504
d2e05fcb
JJ
45052017-09-01 Jakub Jelinek <jakub@redhat.com>
4506
4507 PR c/81887
4508 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
4509 (omp_pragmas_simd): ... here.
4510 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
4511 create new clauses list containing just simd clause.
4512
18e2a8b8
RS
45132017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4514 Alan Hayward <alan.hayward@arm.com>
4515 David Sherwood <david.sherwood@arm.com>
4516
4517 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
4518 into scalar_mode_supported_p call.
4519 (handle_mode_attribute): Update call to scalar_mode_supported_p.
4520
16d22000
RS
45212017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4522 Alan Hayward <alan.hayward@arm.com>
4523 David Sherwood <david.sherwood@arm.com>
4524
4525 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
4526 for the mode iterator.
4527
b397965c
RS
45282017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4529 Alan Hayward <alan.hayward@arm.com>
4530 David Sherwood <david.sherwood@arm.com>
4531
4532 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
4533 * c-common.c (c_build_vec_perm_expr): Likewise.
4534
357b7604
RS
45352017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4536 Alan Hayward <alan.hayward@arm.com>
4537 David Sherwood <david.sherwood@arm.com>
4538
4539 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
4540
e05c94ba
RS
45412017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4542 Alan Hayward <alan.hayward@arm.com>
4543 David Sherwood <david.sherwood@arm.com>
4544
4545 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
4546 before calling targetm.addr_space.valid_pointer_mode.
4547
5c20c4af
RS
45482017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4549 Alan Hayward <alan.hayward@arm.com>
4550 David Sherwood <david.sherwood@arm.com>
4551
4552 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
4553
c94843d2 45542017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
4555 Alan Hayward <alan.hayward@arm.com>
4556 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
4557
4558 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
4559 iterators.
4560 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4561
4e10a5a7
RS
45622017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4563 Alan Hayward <alan.hayward@arm.com>
4564 David Sherwood <david.sherwood@arm.com>
4565
4566 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
4567 case statements.
4568
130fcab0
ML
45692017-08-29 Martin Liska <mliska@suse.cz>
4570
4571 PR other/39851
4572 * c-common.c (parse_optimize_options): Add argument to function
4573 call.
4574 * c-pragma.c (handle_pragma_diagnostic): Likewise.
4575
14e18d71
DM
45762017-08-24 David Malcolm <dmalcolm@redhat.com>
4577
4578 * c-lex.c (interpret_float): Use token location
4579 when building an EXCESS_PRECISION_EXPR.
4580
2f687306
DM
45812017-08-21 David Malcolm <dmalcolm@redhat.com>
4582
4583 * c-common.c (check_function_arguments): Add "arglogs" param; pass
4584 it to check_function_format.
4585 * c-common.h (check_function_arguments): Add vec<location_t> *
4586 param.
4587 (check_function_format): Likewise.
4588 * c-format.c (struct format_check_context): Add field "arglocs".
4589 (check_function_format): Add param "arglocs"; pass it to
4590 check_format_info.
ab20d992 4591 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
4592 new field of format_ctx.
4593 (check_format_arg): Pass format_ctx->arglocs to new param of
4594 check_format_info_main.
4595 (class argument_parser): New field "arglocs".
4596 (argument_parser::argument_parser): Add "arglocs_" param and use
4597 it to initialize new field.
4598 (argument_parser::check_argument_type): Pass new arglocs field to
4599 check_format_types.
4600 (check_format_info_main): Add param "arglocs", and use it when
4601 constructing arg_parser.
4602 (check_format_types): Add param "arglocs"; use it if non-NULL when
4603 !EXPR_HAS_LOCATION (cur_param) to get at location information.
4604
00aa1fa2
L
46052017-08-18 H.J. Lu <hongjiu.lu@intel.com>
4606
4607 PR c/53037
4608 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
4609 (c_common_attribute_table): Add warn_if_not_aligned.
4610 (handle_aligned_attribute): Renamed to ...
4611 (common_handle_aligned_attribute): Remove argument, name, and add
4612 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
4613 (handle_aligned_attribute): New.
4614 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
4615
27be025d
MS
46162017-08-14 Martin Sebor <msebor@redhat.com>
4617
4618 PR c/81117
4619 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
4620 (handle_nonstring_attribute): New function.
4621
da67acb9
MS
46222017-08-14 Martin Sebor <msebor@redhat.com>
4623
4624 PR c/81117
4625 * c-format.h (T89_G): New macro.
4626 * c-format.c (local_gcall_ptr_node): New variable.
4627 (init_dynamic_diag_info): Initialize it.
4628
a8b522b4
ML
46292017-08-11 Martin Liska <mliska@suse.cz>
4630
4631 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
4632 TARGET_SUPPORTS_ALIASES.
4633
32129a17
DM
46342017-08-10 David Malcolm <dmalcolm@redhat.com>
4635
4636 * c-common.c (c_parse_error): Add rich_location * param, using it
4637 rather implicitly using input_location.
4638 * c-common.h (c_parse_error): Add rich_location * param.
4639
30af3a2b
MP
46402017-08-09 Marek Polacek <polacek@redhat.com>
4641
4642 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
4643 (c_common_truthvalue_conversion): Likewise.
4644 * c-omp.c (c_finish_omp_atomic): Likewise.
4645 * c-common.h (build_binary_op): Update declaration.
4646
314e6352
ML
46472017-08-08 Martin Liska <mliska@suse.cz>
4648
4649 * c-ada-spec.c: Include header files.
4650 * c-ubsan.c: Likewise.
4651 * c-warn.c: Likewise.
4652
56b5041c
JJ
46532017-08-07 Jakub Jelinek <jakub@redhat.com>
4654
4655 PR c/69389
4656 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
4657
db440138
EB
46582017-08-07 Eric Botcazou <ebotcazou@adacore.com>
4659
4660 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
4661 (print_ada_methods): Likewise.
4662 (print_ada_declaration): Likewise.
4663
577eec56
ML
46642017-08-07 Martin Liska <mliska@suse.cz>
4665
4666 * array-notation-common.c: Add new includes.
4667 * c-format.c( handle_format_attribute): Canonicalize a format
4668 function name.
4669 * c-lex.c (c_common_has_attribute): Canonicalize name of an
4670 attribute.
4671 * c-pretty-print.c: Add new include.
4672
b854df3c
EB
46732017-08-05 Eric Botcazou <ebotcazou@adacore.com>
4674
4675 * c-ada-spec.c (has_static_fields): Look only into variables.
4676 (print_constructor): Add TYPE parameter and use it for the name.
4677 (print_destructor): Likewise.
4678 (print_ada_declaration): Adjust to new constructor/destructor names.
4679 Adjust calls to print_constructor and print_destructor.
4680 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
4681 Look only into variables in the final loop.
4682
9f2cb25e
EB
46832017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4684
4685 * c-ada-spec.c (has_static_fields): Look only into fields.
4686 (dump_generic_ada_node): Small tweak.
4687 (dump_nested_types): Look only into fields.
4688 (print_ada_declaration): Look only into methods. Small tweak.
4689 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
4690
f4bcd9eb
EB
46912017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4692
4693 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
4694 (dump_ada_function_declaration): Likewise.
4695 (dump_generic_ada_node): Likewise.
4696 (print_ada_declaration): Add support for const-qualified variables.
4697
f34ebeb2
ML
46982017-07-31 Martin Liska <mliska@suse.cz>
4699
4700 PR sanitize/81530
4701 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
4702 Guard condition with flag_sanitize_p also with current_function_decl
4703 non-null equality.
4704 (ubsan_maybe_instrument_reference_or_call): Likewise.
4705
218e5d04
UB
47062017-07-30 Uros Bizjak <ubizjak@gmail.com>
4707
4708 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
4709
942047f2
EB
47102017-07-29 Eric Botcazou <ebotcazou@adacore.com>
4711
4712 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
4713 for enumeral types.
4714 (print_ada_declaration): Add missing guard for record types.
4715
a40ff0ae
JJ
47162017-07-27 Jakub Jelinek <jakub@redhat.com>
4717
4718 PR c/45784
4719 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
4720 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
4721 new COMPOUND_EXPRs around the rhs of the comparison.
4722
06bd22f6
MP
47232017-07-27 Marek Polacek <polacek@redhat.com>
4724
4725 PR c/81417
4726 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
4727 the types.
4728
036ea399
JJ
47292017-07-27 Jakub Jelinek <jakub@redhat.com>
4730
4731 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
4732 (handle_noipa_attribute): New function.
4733
417ca011
TD
47342017-07-07 Torsten Duwe <duwe@suse.de>
4735
4736 * c-attribs.c (c_common_attribute_table): Add entry for
4737 "patchable_function_entry".
4738
5aaa8fb4
NS
47392017-07-20 Nathan Sidwell <nathan@acm.org>
4740
4741 Remove TYPE_METHODS.
4742 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
4743 dump_ada_template, print_ada_methods,
4744 print_ada_declaration): Member fns are on TYPE_FIELDS.
4745
ff22eb12
NS
47462017-07-18 Nathan Sidwell <nathan@acm.org>
4747
4748 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
4749
eea77d1f
DM
47502017-07-14 David Malcolm <dmalcolm@redhat.com>
4751
4752 * c-common.c (try_to_locate_new_include_insertion_point): New
4753 function.
4754 (per_file_includes_t): New typedef.
4755 (added_includes_t): New typedef.
4756 (added_includes): New variable.
4757 (maybe_add_include_fixit): New function.
4758 * c-common.h (maybe_add_include_fixit): New decl.
4759
281ac396
MS
47602017-07-10 Martin Sebor <msebor@redhat.com>
4761
4762 PR other/81345
4763 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
4764
b6f43128
DM
47652017-07-06 David Malcolm <dmalcolm@redhat.com>
4766
4767 * c-common.c (selftest::c_family_tests): New.
4768 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
4769 (selftest::c_family_tests): New decl.
4770
efbf55b0
MP
47712017-07-04 Marek Polacek <polacek@redhat.com>
4772
4773 PR c/81231
4774 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
4775 types.
4776
6c86bd88
MP
47772017-07-04 Marek Polacek <polacek@redhat.com>
4778
4779 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
4780
17a7218b
ML
47812017-06-28 Martin Liska <mliska@suse.cz>
4782
4783 PR ipa/81128
4784 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
4785 to a function declaration.
4786
63010089
ML
47872017-06-28 Martin Liska <mliska@suse.cz>
4788
4789 PR driver/79659
4790 * c.opt: Add IntegerRange to various options.
4791
3e2becc4
MP
47922017-06-26 Marek Polacek <polacek@redhat.com>
4793
4794 PR c/80116
4795 * c-common.h (warn_for_multistatement_macros): Declare.
4796 * c-warn.c: Include "c-family/c-indentation.h".
4797 (warn_for_multistatement_macros): New function.
4798 * c.opt (Wmultistatement-macros): New option.
4799 * c-indentation.c (guard_tinfo_to_string): No longer static.
4800 Change the parameter type to "enum rid". Handle RID_SWITCH.
4801 * c-indentation.h (guard_tinfo_to_string): Declare.
4802
2db9b7cd
MG
48032017-06-23 Marc Glisse <marc.glisse@inria.fr>
4804
4805 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
4806
c3684b7b
MS
48072017-06-15 Martin Sebor <msebor@redhat.com>
4808
4809 PR c++/80560
4810 * c.opt (-Wclass-memaccess): New option.
4811
e72c4afd
BK
48122017-06-14 Boris Kolpackov <boris@codesynthesis.com>
4813
4814 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
4815
8a516588
MP
48162017-06-13 Marek Polacek <polacek@redhat.com>
4817
4818 PR objc/80949
4819 * c-warn.c (do_warn_duplicated_branches): Return if any of the
4820 branches is null.
4821
45b2222a
ML
48222017-06-13 Martin Liska <mliska@suse.cz>
4823
4824 PR sanitize/78204
4825 * c-attribs.c (add_no_sanitize_value): New function.
4826 (handle_no_sanitize_attribute): Likewise.
4827 (handle_no_sanitize_address_attribute): Use the function.
4828 (handle_no_sanitize_thread_attribute): New function.
4829 (handle_no_address_safety_analysis_attribute): Use
4830 add_no_sanitize_value.
4831 (handle_no_sanitize_undefined_attribute): Likewise.
4832 * c-common.h: Declare new functions.
4833 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
4834 (ubsan_instrument_shift): Likewise.
4835 (ubsan_instrument_bounds): Likewise.
4836 (ubsan_maybe_instrument_array_ref): Likewise.
4837 (ubsan_maybe_instrument_reference_or_call): Likewise.
4838
a01f151f
JM
48392017-06-11 Jason Merrill <jason@redhat.com>
4840
4841 * c-ada-spec.c, c-pragma.c: Use id_equal.
4842
3de4ac6d
MP
48432017-06-04 Marek Polacek <polacek@redhat.com>
4844
4845 PR c/80919
4846 * c-format.c (matching_type_p): Return false if any of the types
4847 requires structural equality.
4848
2474f48f
MS
48492017-06-02 Martin Sebor <msebor@redhat.com>
4850
4851 PR c/80892
4852 * c-warn.c (conversion_warning): Use -Wconversion for integer
4853 conversion and -Wfloat-conversion for floating one.
4854
40ffd95f
BE
48552017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4856
4857 * c.opt (Wsizeof-pointer-div): New warning option.
4858
3fa4634c
VR
48592017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
4860
4861 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
4862 (Wcatch-value=1): Enable by -Wall.
4863
f012c8ef
DM
48642017-05-30 David Malcolm <dmalcolm@redhat.com>
4865
4866 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
4867 format_chars.
4868 * c.opt (fdiagnostics-show-template-tree): New option.
4869 (felide-type): New option.
4870
63dbcd13
VR
48712017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
4872
4873 * c.opt (Wcatch-value=): New C++ warning flag.
4874
be136b5c
NS
48752017-05-24 Nathan Sidwell <nathan@acm.org>
4876
4877 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
4878 const casts to avoid warning.
4879
3cd211af
MS
48802017-05-24 Martin Sebor <msebor@redhat.com>
4881
4882 PR c/80731
4883 * c-common.h (unsafe_conversion_p): Add a function argument.
4884 * c-common.c (unsafe_conversion_p): Same.
4885 Add type names and values to diagnostics.
4886 (scalar_to_vector): Adjust.
4887 * c-warn.c (constant_expression_error): Add a function argument.
4888 Add type names and values to diagnostics.
4889 (conversion_warning): Add a function argument.
4890 Add type names and values to diagnostics.
4891 (warnings_for_convert_and_check): Same.
4892
1ff7be5a
JM
48932017-05-19 Jason Merrill <jason@redhat.com>
4894
4895 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
4896 enumerators.
4897
ff502317
BE
48982017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4899
4900 * c-format.c (locus): Move out of function scope,
4901 add GTY attribute.
4902
2a8a8d7b
NS
49032017-05-19 Nathan Sidwell <nathan@acm.org>
4904
4905 * c-opts.c (class_dump_file, class_dump_flags): Delete.
4906 (c_common_parse_file): Remove class dump handling.
4907 (get_dump_info): Likewise.
4908
39aac208
RB
49092017-05-19 Richard Biener <rguenther@suse.de>
4910
4911 PR c++/80593
4912 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
4913 to alias-set zero memory.
4914
6ecd2339
BE
49152017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
4916
4917 * c-format.c (local_tree_type_node): Add GTY attribute.
4918
6574d78e
MP
49192017-05-18 Marek Polacek <polacek@redhat.com>
4920
4921 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
4922 (c_common_fixed_point_type_for_size): Likewise.
4923 (c_common_type_for_mode): Likewise.
4924 (shorten_compare): Likewise.
4925 (c_promoting_integer_type_p): Use false/true instead of 0/1.
4926 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
4927
e3455240
MP
49282017-05-18 Marek Polacek <polacek@redhat.com>
4929
4930 * c-common.c (self_promoting_args_p): Change the return type to bool.
4931 Use false/true instead of 0/1.
4932 * c-common.h (self_promoting_args_p): Update.
4933
3fa8871b
MP
49342017-05-17 Marek Polacek <polacek@redhat.com>
4935
4936 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
4937 * c-warn.c: Likewise.
4938
b42cc3ca
VV
49392017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
4940
4941 Implement new C++ intrinsics __is_assignable and __is_constructible.
4942 * c-common.c (__is_assignable, __is_constructible): New.
4943 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
4944
1a817418
ML
49452017-05-17 Martin Liska <mliska@suse.cz>
4946
4947 * c-common.h: Introduce dump_flags_t type and
4948 use it instead of int type.
4949 * c-gimplify.c (c_genericize): Likewise.
4950 * c-opts.c: Likewise.
4951
b2fa0a8b
MP
49522017-05-17 Marek Polacek <polacek@redhat.com>
4953
4954 * c-common.c (c_save_expr): Remove.
4955 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
4956 * c-common.h (c_save_expr): Remove declaration.
4957
31c2d57d
VR
49582017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
4959
4960 PR c/35441
4961 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
4962 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
4963 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
4964 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
4965 RDIV_EXPR.
4966 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
4967
684f84de
MP
49682017-05-09 Marek Polacek <polacek@redhat.com>
4969
4970 PR c/80525
4971 * c-warn.c (unwrap_c_maybe_const): New.
4972 (warn_logical_operator): Call it.
4973
641da50a
NS
49742017-05-09 Nathan Sidwell <nathan@acm.org>
4975
4976 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
4977 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
4978
631238ac
MS
49792017-05-08 Martin Sebor <msebor@redhat.com>
4980
4981 PR translation/80280
4982 * c-format.h (struct format_flag_spec): Add new member.
4983 (T89_T): New macro.
4984 * c-format.c (local_tree_type_node): New global.
4985 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
4986 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
4987 (strfmon_flag_specs): Likewise.
4988 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
4989 with distinct quoting properties.
4990 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
4991 (flag_chars_t::validate): Add argument and handle bad quoting.
4992 (check_format_info_main): Handle quoting problems.
4993 (init_dynamic_diag_info): Simplify.
4994
49f0c04c
JM
49952017-05-08 Jason Merrill <jason@redhat.com>
4996
4997 * c-opts.c (c_common_post_options): Update defaults for
4998 flag_abi_version and flag_abi_compat_version.
4999
56d35585
DM
50002017-05-05 David Malcolm <dmalcolm@redhat.com>
5001
5002 * c-common.c (c_cpp_error): Replace report_diagnostic
5003 with diagnostic_report_diagnostic.
5004
0f2c4a8f
MS
50052017-05-04 Martin Sebor <msebor@redhat.com>
5006
5007 PR translation/80280
5008 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5009 (handle_weakref_attribute): Same.
5010
6fe63fb4
NS
50112017-05-03 Nathan Sidwell <nathan@acm.org>
5012
5013 Canonicalize canonical type hashing
5014 * c-common.c (complete_array_type): Use type_hash_canon.
5015
815d9cc6
XR
50162017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5017
92a285c1 5018 PR c++/80038
815d9cc6
XR
5019 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5020 prototype.
5021 (cilk_install_body_pedigree_operations): Likewise.
5022 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5023 detatched.
5024 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5025 (cilk_install_body_pedigree_operations): Likewise.
5026 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5027 unwrapping.
5028
f8a36447
JJ
50292017-04-27 Jakub Jelinek <jakub@redhat.com>
5030
5031 PR c++/80534
5032 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5033 flag on non-aggregate element types.
5034
7c145456
BE
50352017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5036
5037 * c-common.c (c_type_hasher, type_hash_table): Remove.
5038 (c_common_get_alias_set): Remove unreachable code.
5039 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5040
c3cbcd45
VR
50412017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5042
5043 * c.opt (Wextra-semi): New C++ warning flag.
5044
8a59d466
JJ
50452017-04-20 Jakub Jelinek <jakub@redhat.com>
5046
5047 PR middle-end/80423
5048 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5049
8487c9a5
JJ
50502017-04-18 Jakub Jelinek <jakub@redhat.com>
5051
5052 PR middle-end/79788
5053 PR middle-end/80375
5054 * c-common.c (c_common_type_for_mode): Don't handle
5055 widest_*_literal_type_node here.
5056 c_common_signed_or_unsigned_type): Likewise.
5057 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5058 to *intTI_type_node or *intDI_type_node depending on whether
5059 TImode is supported by the target or not.
5060
3ee0fb02
ML
50612017-04-10 Martin Liska <mliska@suse.cz>
5062
5063 PR sanitizer/80350
5064 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5065 doing an UBSAN check.
5066
5764ee3c
JW
50672017-04-03 Jonathan Wakely <jwakely@redhat.com>
5068
5069 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5070
6f3af356
JJ
50712017-03-31 Jakub Jelinek <jakub@redhat.com>
5072
5073 PR c++/79572
5074 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5075 tree *.
5076 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5077 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5078 REFERENCE_TYPE.
5079
f6a7a9d5
DM
50802017-03-31 David Malcolm <dmalcolm@redhat.com>
5081
5082 PR documentation/78732
5083 * c.opt (Wendif-labels): Fix description to refer to
5084 #else rather than #elif.
5085
af88f557
JJ
50862017-03-31 Jakub Jelinek <jakub@redhat.com>
5087
5088 PR libstdc++/80251
5089 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5090 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5091
a9e4a1a5
JJ
50922017-03-27 Jakub Jelinek <jakub@redhat.com>
5093
5094 PR middle-end/80162
5095 * c-common.c (c_common_mark_addressable_vec): Don't set
5096 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5097
3f01b620
MS
50982017-03-21 Martin Sebor <msebor@redhat.com>
5099
5100 PR c++/79548
5101 * c-common.c (set_underlying_type): Mark type used only when
5102 original del is declared unused.
5103
2f6f187a
DM
51042017-03-10 David Malcolm <dmalcolm@redhat.com>
5105
5106 PR translation/79848
5107 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5108 "%qs".
5109
a02fa805
DM
51102017-03-10 David Malcolm <dmalcolm@redhat.com>
5111
5112 PR c/79921
5113 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5114 from inform's message, so that xgettext can locate it.
5115
822a132c
MP
51162017-03-09 Marek Polacek <polacek@redhat.com>
5117
5118 PR c++/79962
5119 PR c++/79984
5120 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5121 conversion to the attribute list.
5122
bba81f1c
ML
51232017-03-09 Martin Liska <mliska@suse.cz>
5124
5125 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5126
108154ff
JM
51272017-03-03 Jason Merrill <jason@redhat.com>
5128
5129 * c.opt (Wnoexcept-type): New.
5130
eb0e7c34
RB
51312017-03-02 Richard Biener <rguenther@suse.de>
5132
5133 PR c/79756
5134 * c-common.c (c_common_mark_addressable_vec): Look through
5135 C_MAYBE_CONST_EXPR.
5136
9453ba0a
ML
51372017-02-28 Martin Liska <mliska@suse.cz>
5138
5139 * c.opt: Replace space with tabular for options of <number>
5140 type.
5141
6a825afe
ML
51422017-02-28 Martin Liska <mliska@suse.cz>
5143
5144 * c.opt: Fix --help=option -Q for options which are of
5145 an enum type.
5146
4227c9ad
JJ
51472017-02-24 Jakub Jelinek <jakub@redhat.com>
5148
5149 PR c++/79588
5150 * c-common.c (check_function_restrict): New function.
5151 (check_function_arguments): Add FNDECL argument. Call
5152 check_function_restrict if -Wrestrict.
5153 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5154 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5155 * c-common.h (check_function_arguments): Add FNDECL argument.
5156 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5157
59909673
EB
51582017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5159
5160 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5161 treatment of parameters with pointer-to-tagged type and tidy up.
5162 (print_ada_methods): Remove the special treatment of C++ static member
5163 functions.
5164
54dcd526
ML
51652017-02-22 Martin Liska <mliska@suse.cz>
5166
5167 * c.opt: Replace inequality signs with square brackets
5168 for -Wnornalized.
5169
00bc9de3
JJ
51702017-02-21 Jakub Jelinek <jakub@redhat.com>
5171
5172 PR c++/79641
5173 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5174 preserve quals.
5175
97fcf744
JM
51762017-02-17 Joseph Myers <joseph@codesourcery.com>
5177
5178 * c-cppbuiltin.c (builtin_define_float_constants): Define
5179 __DECIMAL_DIG__ to the value for long double.
5180
c7545f1c
MP
51812017-02-15 Marek Polacek <polacek@redhat.com>
5182
5183 PR c/79515
5184 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5185 conversion has occured.
5186
c2e84327
DM
51872017-01-24 David Malcolm <dmalcolm@redhat.com>
5188
5189 * c-common.c (c_common_reswords): Add "__RTL".
5190 * c-common.h (enum rid): Add RID_RTL.
5191
2ebd93e1
MP
51922017-01-20 Marek Polacek <polacek@redhat.com>
5193
5194 PR c/64279
5195 * c-common.h (do_warn_duplicated_branches_r): Declare.
5196 * c-gimplify.c (c_genericize): Walk the function tree calling
5197 do_warn_duplicated_branches_r.
5198 * c-warn.c (expr_from_macro_expansion_r): New.
5199 (do_warn_duplicated_branches): New.
5200 (do_warn_duplicated_branches_r): New.
5201 * c.opt (Wduplicated-branches): New option.
5202
0d80ab91
DM
52032017-01-17 David Malcolm <dmalcolm@redhat.com>
5204
5205 PR c++/71497
5206 * c-indentation.c (warn_for_misleading_indentation): Use the past
5207 subjunctive in the note.
5208
7f991c36
AH
52092017-01-17 Aldy Hernandez <aldyh@redhat.com>
5210
5211 PR c/79116
5212 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5213 start type to integer_type.
5214
1c70261c
JJ
52152017-01-16 Jakub Jelinek <jakub@redhat.com>
5216
5217 PR driver/49726
5218 * c.opt (gen-decls): Add Driver flag.
5219
1ddca3f3
PC
52202017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5221
5222 Revert:
5223 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5224
5225 PR c++/71737
5226 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5227
7d2f3f1d
PC
52282017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5229
5230 PR c++/71737
5231 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5232
bce6f760
MS
52332017-01-12 Martin Sebor <msebor@redhat.com>
5234
5235 (-Wformat-overflow): ...to this.
5236
bf5fbf46
MS
52372017-01-11 Martin Sebor <msebor@redhat.com>
5238
5239 PR c/78768
5240 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5241 Also enable for LTO.
5242
e363df3f
JM
52432017-01-10 Jason Merrill <jason@redhat.com>
5244
5245 Implement P0195R2, C++17 variadic using.
5246 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5247
bd2c6270
JJ
52482017-01-09 Jakub Jelinek <jakub@redhat.com>
5249
5250 PR translation/79019
5251 PR translation/79020
5252 * c.opt (Wnormalized=): Fix typo in description.
5253
efcc8d38
MS
52542017-01-08 Martin Sebor <msebor@redhat.com>
5255
5256 PR middle-end/77708
5257 * c.opt (-Wformat-truncation): New option.
5258
ab20d992 52592017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5260
5261 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5262 value to unsigned short to fit in 4 hex digits without
5263 warnings.
5264
4e89adf9
EB
52652017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5266
5267 * c.opt (fsso-struct): Add 'native' value.
5268
cd445b54
ML
52692017-01-05 Martin Liska <mliska@suse.cz>
5270
5271 PR pch/78970
5272 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5273 header.
5274
a9342885
MP
52752017-01-04 Marek Polacek <polacek@redhat.com>
5276
5277 PR c++/64767
5278 * c.opt (Wpointer-compare): New option.
5279
fc73e60c
JJ
52802017-01-04 Jakub Jelinek <jakub@redhat.com>
5281
5282 PR driver/78957
5283 * c.opt (fsso-struct=): Add RejectNegative.
5284
cbe34bb5
JJ
52852017-01-01 Jakub Jelinek <jakub@redhat.com>
5286
5287 Update copyright years.
5288
d4a6c0ea
ML
52892016-12-29 Martin Liska <mliska@suse.cz>
5290
5291 PR c/78933
5292 * c.opt (strong-eval-order): Add RejectNegative keyword.
5293
67a5ad7c
JM
52942016-12-22 Jason Merrill <jason@redhat.com>
5295
5296 Implement P0522R0, matching of template template arguments.
5297 * c-cppbuiltin.c (c_cpp_builtins): Define
5298 __cpp_template_template_args.
5299
0dba7960
JJ
53002016-12-21 Jakub Jelinek <jakub@redhat.com>
5301
5302 PR bootstrap/78817
5303 * c-common.c (struct nonnull_arg_ctx): New type.
5304 (check_function_nonnull): Return bool instead of void. Use
5305 nonnull_arg_ctx as context rather than just location_t.
5306 (check_nonnull_arg): Adjust for the new context type, set
5307 warned_p to true if a warning has been diagnosed.
5308 (check_function_arguments): Return bool instead of void.
5309 * c-common.h (check_function_arguments): Adjust prototype.
5310
31bfc9b9
JM
53112016-12-21 Jason Merrill <jason@redhat.com>
5312
5313 * c.opt (-fnew-ttp-matching): New flag.
5314 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5315
629b3d75
MJ
53162016-12-14 Martin Jambor <mjambor@suse.cz>
5317
5318 * c-omp.c: Include omp-general.h instead of omp-low.h.
5319 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5320 name.
5321
474da67e
MS
53222016-12-14 Martin Sebor <msebor@redhat.com>
5323
5324 PR c/17308
5325 * c-common.c (check_nonnull_arg): Disable when optimization
5326 is enabled.
5327
fe366b87
MP
53282016-12-12 Marek Polacek <polacek@redhat.com>
5329
5330 PR c++/78647
5331 * c-common.c (attribute_fallthrough_p): Return false for
5332 error_mark_node.
5333
8bd9f164
MS
53342016-12-08 Martin Sebor <msebor@redhat.com>
5335
5336 PR c/78284
5337 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5338
060162e0
MS
53392016-12-08 Martin Sebor <msebor@redhat.com>
5340
5341 PR c/78165
92a285c1
ML
5342 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5343 suffix.
060162e0 5344
ee92e7ba
MS
53452016-12-07 Martin Sebor <msebor@redhat.com>
5346
5347 PR c/53562
5348 PR middle-end/77784
5349 PR middle-end/78149
5350 PR middle-end/78138
5351 * c.opt (-Wstringop-overflow): New option.
5352
84b0769e
MO
53532016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
5354
5355 * c-attribs.c (asan odr indicator): New attribute.
5356 (handle_asan_odr_indicator_attribute): New function.
5357
7fa6a965
PK
53582016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5359
5360 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5361 ptrdiff_type_node;
5362
56d8ffc1
JG
53632016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5364
5365 * c-common.c (excess_precision_mode_join): New.
5366 (c_ts18661_flt_eval_method): New.
5367 (c_c11_flt_eval_method): Likewise.
5368 (c_flt_eval_method): Likewise.
5369 * c-common.h (excess_precision_mode_join): New.
5370 (c_flt_eval_method): Likewise.
5371 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5372 (cpp_iec_559_value): Call it.
5373 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5374 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5375 __FLT_EVAL_METHOD_TS_18661_3__.
5376
04f0fcf7
JG
53772016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5378
5379 * c-opts.c (c_common_post_options): Add logic to handle the default
5380 case for -fpermitted-flt-eval-methods.
5381
fb2675cb
PB
53822016-11-23 Paolo Bonzini <bonzini@gnu.org>
5383
5384 * c.opt (Wexpansion-to-defined): New.
5385
ec1c5694
JJ
53862016-11-23 Jakub Jelinek <jakub@redhat.com>
5387
5388 PR target/78451
5389 * c-pragma.c (handle_pragma_target): Don't replace
5390 current_target_pragma, but chainon the new args to the current one.
5391
730c9e75
NS
53922016-11-22 Nathan Sidwell <nathan@acm.org>
5393
5394 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 5395 indentation and formatting.
730c9e75 5396
89990732
MS
53972016-11-21 Martin Sebor <msebor@redhat.com>
5398
5399 * c.opt (-fprintf-return-value): Enable by default.
5400
48330c93
BE
54012016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5402
5403 PR c++/71973
5404 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5405 * c-common.c (c_common_nodes_and_builtins): Initialize
5406 const_tm_ptr_type_node.
5407
0d939c95
MP
54082016-11-16 Marek Polacek <polacek@redhat.com>
5409
5410 PR c/78285
5411 * c-common.c (c_add_case_label): Turn error_at calls into inform.
5412
8e745a17
JJ
54132016-11-14 Jakub Jelinek <jakub@redhat.com>
5414
5415 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5416
1ee62b92 54172016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
5418 Richard Biener <rguenther@suse.de>
5419
5420 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5421 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5422 * c.opt (fgimple): New option.
1ee62b92 5423
22b15758
UB
54242016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5425
5426 PR c/35503
5427 * c-common.h (warn_for_restrict): Declare.
5428 * c-warn.c: Include gcc-rich-location.h.
5429 (warn_for_restrict): New function.
5430 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5431 (gcc_cdiag_char_table): Likewise.
5432 (gcc_cxxdiag_char_table): Likewise.
5433 * c.opt (Wrestrict): New option.
5434
4be719cd
EB
54352016-11-13 Eric Botcazou <ebotcazou@adacore.com>
5436
5437 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5438 for nested types only if the type is a record or union and dump SLOC.
5439
4a826ca6
JM
54402016-11-09 Jason Merrill <jason@redhat.com>
5441
5442 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5443
2e955d50
JJ
54442016-11-09 Jakub Jelinek <jakub@redhat.com>
5445
5446 * c-ubsan.c (ubsan_instrument_shift): Handle split
5447 -fsanitize=shift-base and -fsanitize=shift-exponent.
5448
51dc6603
JM
54492016-11-07 Jason Merrill <jason@redhat.com>
5450
5451 * c.opt (Wc++1z-compat): New.
5452 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5453
6dc4a604
ML
54542016-11-07 Martin Liska <mliska@suse.cz>
5455
5456 * c-warn.c (warn_for_unused_label): Save all labels used
5457 in goto or in &label.
5458
b302001e
JM
54592016-11-03 Jason Merrill <jason@redhat.com>
5460
5461 * c-cppbuiltin.c (c_cpp_builtins): Correct
5462 __cpp_inheriting_constructors.
5463
31f7f784
JM
54642016-11-01 Jason Merrill <jason@redhat.com>
5465
2bc78e3c
JM
5466 * c-cppbuiltin.c (c_cpp_builtins): Update
5467 __cpp_inheriting_constructors.
5468
31f7f784
JM
5469 * c.opt (-fnew-inheriting-ctors): New.
5470 * c-opts.c: Default to on for ABI 11+.
5471
dcb466ec
JJ
54722016-10-31 Jakub Jelinek <jakub@redhat.com>
5473
5474 PR c++/77948
5475 * c.opt (fext-numeric-literals): Add Var and Init.
5476 * c-opts.c (c_common_handle_option): Don't clear
5477 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5478 (c_common_post_options): Clear it here if not set
5479 explicitly.
5480
52e1b91e
AH
54812016-10-28 Aldy Hernandez <aldyh@redhat.com>
5482
5483 PR debug/77773
5484 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5485 if NULL.
5486
e16f1cc7
JJ
54872016-10-25 Jakub Jelinek <jakub@redhat.com>
5488
5489 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
5490 * c-common.c (c_common_reswords): Add __builtin_launder.
5491
f8348061
BE
54922016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
5493
5494 * c-common.c (c_common_truthvalue_conversion): Warn for
5495 multiplications in boolean context. Fix the quoting of '<<' and '<'
5496 in the shift warning.
5497
eff89e01
BE
54982016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
5499
5500 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
5501
24bc7bf4
JM
55022016-10-20 Jason Merrill <jason@redhat.com>
5503
5504 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
5505
4c712374
BE
55062016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5507
5508 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
5509 integer shift ops in boolean context.
5510
55112016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
5512
5513 * c.opt (Walloca): New.
5514 (Walloca-larger-than=): New.
5515 (Wvla-larger-than=): New.
5516
8fa18c06
MP
55172016-10-17 Marek Polacek <polacek@redhat.com>
5518
5519 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
5520 Return immediately when finding a match.
5521 (warn_tautological_cmp): Remove a boolean variable that is no longer
5522 needed.
5523
b12b1915
MP
55242016-10-17 Marek Polacek <polacek@redhat.com>
5525
5526 * c-attribs.c: New file.
5527 * c-common.c: Move attributes handling to c-attribs.c.
5528 (get_nonnull_operand): No longer static.
5529 * c-common.h: Move the declarations from c-attribs.c to its own section.
5530
2045acd9
JM
55312016-10-14 Jason Merrill <jason@redhat.com>
5532
5533 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
5534 and __cpp_deduction_guides.
5535
14a2c9aa
JM
55362016-10-13 Jason Merrill <jason@redhat.com>
5537
5538 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
5539
4d0cdd0c
TP
55402016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5541
5542 * c-cppbuiltin.c: Include memmodel.h.
5543 * c-opts.c: Likewise.
5544 * c-pragma.c: Likewise.
5545 * c-warn.c: Likewise.
5546
70f6d5e1
JJ
55472016-10-12 Jakub Jelinek <jakub@redhat.com>
5548
5549 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
5550 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
5551 * c-opts.c (sanitize_cpp_opts): Initialize
5552 cpp_opts->cpp_warn_implicit_fallthrough.
5553
78f61294
MP
55542016-10-11 Marek Polacek <polacek@redhat.com>
5555
5556 * c-common.c (warning_candidate_p): Change the return type to bool
5557 and return true/false instead of 1/0.
5558 (vector_mode_valid_p): Likewise.
5559
038b5cc0
MP
55602016-10-11 Marek Polacek <polacek@redhat.com>
5561
5562 * c-common.c (fold_for_warn): No longer static.
5563 (bool_promoted_to_int_p): Likewise.
5564 (c_common_get_narrower): Likewise.
5565 (constant_expression_warning): Move to c-warn.c.
5566 (constant_expression_error): Likewise.
5567 (overflow_warning): Likewise.
5568 (warn_logical_operator): Likewise.
5569 (find_array_ref_with_const_idx_r): Likewise.
5570 (warn_tautological_cmp): Likewise.
5571 (expr_has_boolean_operands_p): Likewise.
5572 (warn_logical_not_parentheses): Likewise.
5573 (warn_if_unused_value): Likewise.
5574 (strict_aliasing_warning): Likewise.
5575 (sizeof_pointer_memaccess_warning): Likewise.
5576 (check_main_parameter_types): Likewise.
5577 (conversion_warning): Likewise.
5578 (warnings_for_convert_and_check): Likewise.
5579 (match_case_to_enum_1): Likewise.
5580 (match_case_to_enum): Likewise.
5581 (c_do_switch_warnings): Likewise.
5582 (warn_for_omitted_condop): Likewise.
5583 (readonly_error): Likewise.
5584 (lvalue_error): Likewise.
5585 (invalid_indirection_error): Likewise.
5586 (warn_array_subscript_with_type_char): Likewise.
5587 (warn_about_parentheses): Likewise.
5588 (warn_for_unused_label): Likewise.
5589 (warn_for_div_by_zero): Likewise.
5590 (warn_for_memset): Likewise.
5591 (warn_for_sign_compare): Likewise.
5592 (do_warn_double_promotion): Likewise.
5593 (do_warn_unused_parameter): Likewise.
5594 (record_locally_defined_typedef): Likewise.
5595 (maybe_record_typedef_use): Likewise.
5596 (maybe_warn_unused_local_typedefs): Likewise.
5597 (maybe_warn_bool_compare): Likewise.
5598 (maybe_warn_shift_overflow): Likewise.
5599 (warn_duplicated_cond_add_or_warn): Likewise.
5600 (diagnose_mismatched_attributes): Likewise.
5601 * c-common.h: Move the declarations from c-warn.c to its own section.
5602 * c-warn.c: New file.
5603
627be19f
JM
56042016-10-08 Jason Merrill <jason@redhat.com>
5605
5606 * c-common.c (c_common_truthvalue_conversion): Don't distribute
5607 into COND_EXPR in C++.
5608
7bad794a
JJ
56092016-10-08 Jakub Jelinek <jakub@redhat.com>
5610
5611 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
5612 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
5613 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
5614
be845b04
JJ
56152016-10-07 Jakub Jelinek <jakub@redhat.com>
5616
5617 Implement LWG2296 helper intrinsic
5618 * c-common.h (enum rid): Add RID_ADDRESSOF.
5619 * c-common.c (c_common_reswords): Add __builtin_addressof.
5620
c09c4992
BE
56212016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
5622
5623 PR c++/77700
5624 * c-common.c (c_common_truthvalue_conversion): Warn also for
5625 suspicious enum values in boolean context.
5626
342cfb3e
JJ
56272016-10-06 Jakub Jelinek <jakub@redhat.com>
5628
5629 Implement P0258R2 - helper for C++17
5630 std::has_unique_object_representations trait
5631 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
5632 * c-common.c (c_common_reswords): Add
5633 __has_unique_object_representations.
5634
2e69f143
JJ
56352016-10-05 Jakub Jelinek <jakub@redhat.com>
5636
5637 PR sanitizer/66343
5638 * c-ubsan.c (ubsan_instrument_return): Don't call
5639 initialize_sanitizer_builtins here.
5640
700fff34
BE
56412016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5642
5643 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
5644 conditional expression in boolean context when only one arm is
5645 non-boolean.
5646
9563bfcd
JJ
56472016-10-05 Jakub Jelinek <jakub@redhat.com>
5648
04a32443
JJ
5649 PR sanitizer/77823
5650 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
5651 is not integral.
5652
9563bfcd
JJ
5653 * c-common.c (c_common_reswords): Update comment for C++11.
5654
f1644724
JM
56552016-10-04 Jason Merrill <jason@redhat.com>
5656
5657 * c-common.c (make_tree_vector_from_ctor): New.
5658 * c-common.h: Declare it.
5659
5a79befb
JJ
56602016-10-04 Jakub Jelinek <jakub@redhat.com>
5661
5662 * c-cppbuiltin.c (c_cpp_builtins): Don't define
5663 __LIBGCC_JCR_SECTION_NAME__.
5664
1633d3b9
BE
56652016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
5666
5667 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
5668 left shift in boolean context.
5669
a2c6e7f2
JJ
56702016-09-29 Jakub Jelinek <jakub@redhat.com>
5671
5672 Implement P0001R1 - C++17 removal of register storage class specifier
5673 * c.opt (Wregister): New warning.
5674 * c-opts.c (c_common_post_options): Enable -Wregister by
5675 default for C++17.
5676
75304c87
JG
56772016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
5678
5679 * c-opts.c (c_common_post_options): Remove special case for
5680 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
5681 in C++.
5682
bbfac6da
JJ
56832016-09-27 Jakub Jelinek <jakub@redhat.com>
5684
6e39060a
JJ
5685 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
5686 -std=c++1z.
5687
bbfac6da
JJ
5688 * c-ada-spec.c (print_ada_declaration): Remove break after return.
5689
e73cf9a2
TP
56902016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
5691
5692 * c-common.c: Include memmodel.h.
5693
c6147dc4
MP
56942016-09-26 Marek Polacek <polacek@redhat.com>
5695
5696 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
5697
81fea426
MP
56982016-09-26 Marek Polacek <polacek@redhat.com>
5699
5700 PR c/7652
5701 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
5702 (handle_fallthrough_attribute): New function.
5703 (attribute_fallthrough_p): New function.
5704 * c-common.h (attribute_fallthrough_p): Declare.
5705
9a2300e9
MP
57062016-09-24 Marek Polacek <polacek@redhat.com>
5707
5708 PR c/77490
5709 * c.opt (Wbool-operation): New.
5710
a09e9e35
BE
57112016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5712
5713 * c-common.c (c_common_truthvalue_conversion): Inhibit
5714 Wint-in-bool-context warning with from_macro_definition_at.
5715 Mention the expression will always evaluate to true.
5716
d43b4ccc
MS
57172016-09-21 Martin Sebor <msebor@redhat.com>
5718
5719 PR bootstrap/77676
5720 * c.opt (fprintf-return-value): Temporarily initialize to zero
5721 to unblock bootstrap failures.
5722
2e1c20b1
JJ
57232016-09-21 Jakub Jelinek <jakub@redhat.com>
5724
5725 PR c++/77651
5726 * c.opt (Waligned-new=): Add RejectNegative.
5727 (faligned-new=): Likewise. Spelling fix - change
5728 aligned_new_threshhold to aligned_new_threshold.
5729 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
5730 to aligned_new_threshold.
5731
88d0c3f0
MS
57322016-09-20 Martin Sebor <msebor@redhat.com>
5733
5734 PR middle-end/49905
5735 * c.opt: Add -Wformat-length and -fprintf-return-value.
5736
144a96e4
BE
57372016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5738
5739 PR c++/77434
5740 * c.opt (Wint-in-bool-context): New warning.
5741 * c-common.c (c_common_truthvalue_conversion): Warn on integer
5742 constants in boolean context.
5743
63012d9a
JM
57442016-09-19 Joseph Myers <joseph@codesourcery.com>
5745
5746 * c-common.c (max_align_t_align): Also consider alignment of
5747 float128_type_node.
5748
931388ce
JM
57492016-09-15 Jason Merrill <jason@redhat.com>
5750
5751 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
5752 DECL_EXTERNAL.
5753
38711381
JM
57542016-09-14 Jason Merrill <jason@redhat.com>
5755
5756 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5757 limit FIELD_DECL, either.
5758
e51fbec3
MP
57592016-09-14 Marek Polacek <polacek@redhat.com>
5760
5761 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
5762 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
5763 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
5764
254830ba
DM
57652016-09-13 David Malcolm <dmalcolm@redhat.com>
5766
5767 * c-common.c (warn_logical_not_parentheses): Replace
5768 rich_location::add_fixit_insert calls with add_fixit_insert_before
5769 and add_fixit_insert_after, eliminating the "next_loc" calculation.
5770
42763690
JM
57712016-09-13 Jason Merrill <jason@redhat.com>
5772 Tom de Vries <tom@codesourcery.com>
5773
5774 PR c++/77427
5775 * c-common.c (set_underlying_type): Don't treat array as builtin type.
5776
9453eee9
JM
57772016-09-13 Jason Merrill <jason@redhat.com>
5778
5779 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5780 limit types at all.
5781
e96809e3
JM
57822016-09-12 Jason Merrill <jason@redhat.com>
5783
5784 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
5785 bit/byte confusion, allow large alignment for types.
5786
54dcdb88
BE
57872016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
5788
5789 PR c++/77496
5790 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
5791
d1463eb9
DM
57922016-09-12 David Malcolm <dmalcolm@redhat.com>
5793
5794 PR c/72858
5795 * c-format.c (argument_parser::check_argument_type): Add params
5796 "type_start" and "conversion_char". Use the former to generate
5797 offset_to_type_start and pass it and conversion_char to
5798 check_format_types.
5799 (check_format_info_main): Capture the start of the type
5800 information as "type_start", and pass it an format_char
5801 to arg_parser.check_argument_type.
5802 (check_format_types): Provide an example in the leading comment.
5803 Add params "offset_to_type_start" and "conversion_char"; pass
5804 them to format_type_warning calls.
5805 (test_get_modifier_for_format_len): Likewise.
5806 (matching_type_p): New function.
5807 (get_format_for_type): Add param "conversion_char" and move
5808 implementation into...
5809 (get_format_for_type_1): ...new function, called twice.
5810 Use new function matching_type_p rather than checking for
5811 TYPE_CANONICAL equality.
5812 (get_corrected_substring): New function.
5813 (format_type_warning): Provide an example in the leading comment.
5814 Add params "offset_to_type_start" and "conversion_char". Replace
5815 call to get_format_for_type with call to get_corrected_substring
5816 and move rejection of hints for widths/precisions there.
5817 (assert_format_for_type_streq): Add param "conversion_char".
5818 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
5819 (test_get_format_for_type_printf): Add conversion chars to the
5820 tests, adding coverage for various combinations of integer
5821 vs double conversions, and for preserving octal and hexadecimal
5822 conversions.
5823 (test_get_format_for_type_scanf): Add conversion chars to the
5824 tests.
5825
5b28efbb
TV
58262016-09-10 Tom de Vries <tom@codesourcery.com>
5827
5828 PR C/71602
5829 * c-common.c (build_va_arg): Handle more strict
5830 targetm.canonical_va_list_type. Replace first argument type error with
5831 assert.
5832
3f0177e7
MS
58332016-09-09 Martin Sebor <msebor@redhat.com>
5834
5835 PR c/77520
5836 PR c/77521
5837 * c-format.c (argument_parser::find_format_char_info): Use %qc
5838 format directive unconditionally.
5839
af63ba4b
JM
58402016-09-09 Jason Merrill <jason@redhat.com>
5841
5842 Implement C++17 new of over-aligned types.
5843 * c.opt: Add -faligned-new and -Waligned-new.
5844 * c-common.c (max_align_t_align): Split out from...
5845 (cxx_fundamental_alignment_p): ...here.
5846 * c-common.h: Declare it.
5847 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
5848
c65248cb
JM
58492016-09-09 Joseph Myers <joseph@codesourcery.com>
5850
5851 * c-cppbuiltin.c (builtin_define_type_width): New function.
5852 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
5853 macros.
5854
e5106e27
DM
58552016-09-07 David Malcolm <dmalcolm@redhat.com>
5856
5857 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
5858 a POINTER_TYPE.
5859 (substring_loc::get_location): Move to substring-locations.c,
5860 keeping implementation as...
5861 (c_get_substring_location): New function, from the above, reworked
5862 to use accessors rather than member lookup.
5863 * c-common.h (class substring_loc): Move to substring-locations.h,
5864 replacing with a forward decl.
5865 (c_get_substring_location): New decl.
5866 * c-format.c: Include "substring-locations.h".
5867 (format_warning_va): Move to substring-locations.c.
5868 (format_warning_at_substring): Likewise.
5869
ab20d992 58702016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
5871
5872 PR c/77336
5873 * c-format.c (check_function_format): Avoid issuing warnings for
5874 functions unless they call format functions with non-constant
5875 format strings.
5876
b772a565
RB
58772016-09-06 Richard Biener <rguenther@suse.de>
5878
5879 PR c/77450
5880 * c-common.c (c_common_mark_addressable_vec): Handle
5881 COMPOUND_LITERAL_EXPR.
5882
25ff5dd3
MP
58832016-09-05 Marek Polacek <polacek@redhat.com>
5884
5885 PR c/77423
5886 * c-common.c (bool_promoted_to_int_p): New function.
5887 (expr_has_boolean_operands_p): New function.
5888 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
5889 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
5890
21234eb5
TV
58912016-09-04 Tom de Vries <tom@codesourcery.com>
5892
5893 revert:
5894 2016-08-29 Tom de Vries <tom@codesourcery.com>
5895
5896 * c-common.c (build_va_arg): Replace first argument type error
5897 with assert.
5898
9dc5773f
JJ
58992016-09-02 Jakub Jelinek <jakub@redhat.com>
5900
5901 PR c/65467
5902 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
5903 (c_finish_omp_for): Reject _Atomic qualified iterators.
5904
59052016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
5906
5907 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
5908 size to guarantee it fits the output of the formatted function
5909 regardless of its arguments.
5910
295844f6
MP
59112016-09-01 Marek Polacek <polacek@redhat.com>
5912
5913 PR c/7652
5914 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
5915 FALLTHRU comments.
5916
3d06b6f2
MP
59172016-08-29 Marek Polacek <polacek@redhat.com>
5918
5919 PR c/77292
5920 * c-common.c (warn_logical_not_parentheses): Don't warn for
5921 a comparison or a logical operator.
5922
34cedad5
TV
59232016-08-29 Tom de Vries <tom@codesourcery.com>
5924
5925 * c-common.c (build_va_arg): Fix type comparison assert.
5926
f162d717
TV
59272016-08-29 Tom de Vries <tom@codesourcery.com>
5928
5929 * c-common.c (build_va_arg): Replace first argument type error
5930 with assert.
5931
ba9bbd6f
TV
59322016-08-29 Tom de Vries <tom@codesourcery.com>
5933
5934 PR c/77398
5935 * c-common.c (build_va_arg): Add first argument error. Build va_arg
5936 with error_mark_node as va_list instead of with illegal va_list.
5937
ebef225f
MP
59382016-08-25 Marek Polacek <polacek@redhat.com>
5939 David Malcolm <dmalcolm@redhat.com>
5940
5941 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
5942 * c-common.h (warn_logical_not_parentheses): Update declaration.
5943
b00e6e75
MP
59442016-08-22 Marek Polacek <polacek@redhat.com>
5945
5946 PR c++/77321
5947 * c-common.c (warn_for_memset): Check type for null.
5948
6dc198e3
JM
59492016-08-22 Joseph Myers <joseph@codesourcery.com>
5950
14ec014e 5951 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
5952 _FloatNx types for suffixes for built-in functions.
5953
c65699ef
JM
59542016-08-19 Joseph Myers <joseph@codesourcery.com>
5955
5956 PR c/32187
5957 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
5958 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
5959 (RID_FLOAT128X): New enum rid values.
5960 (CASE_RID_FLOATN_NX): New macro.
5961 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
5962 keywords.
5963 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
5964 corresponding complex types.
5965 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
5966 _FloatNx and corresponding complex types.
5967 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
5968 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
5969 and _FloatNx types for the widest type for determining
5970 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
5971 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
5972 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
5973 and _FloatNx types.
5974 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
5975 constants.
5976 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
5977 _FloatNx types.
5978
cc015f3a
DM
59792016-08-18 David Malcolm <dmalcolm@redhat.com>
5980
5981 * c-opts.c (c_diagnostic_finalizer): Update for change to
5982 diagnostic_show_locus.
5983
cb18fd07
DM
59842016-08-18 David Malcolm <dmalcolm@redhat.com>
5985
5986 * c-common.c: Include "spellcheck.h".
5987 (cb_get_suggestion): New function.
5988 * c-common.h (cb_get_suggestion): New decl.
5989 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
5990 cb_get_suggestion.
5991
a76989dc
MP
59922016-08-18 Marek Polacek <polacek@redhat.com>
5993
5994 PR c/71514
5995 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
5996 and pointer-to-VLA.
5997
65e736c0
DM
59982016-08-16 David Malcolm <dmalcolm@redhat.com>
5999
6000 PR c/72857
6001 * c-common.c (substring_loc::get_range): Rename to...
6002 (substring_loc::get_location): ...this, converting param from a
6003 source_range * to a location_t *. Call
6004 get_source_location_for_substring rather than
6005 get_source_range_for_substring, and pass in m_caret_idx.
6006 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6007 (substring_loc::get_range): Replace with...
6008 (substring_loc::get_location): ...this.
6009 (substring_loc::set_caret_index): New method.
6010 (substring_loc): Add field m_caret_idx.
6011 * c-format.c (format_warning_va): Update for above changes.
6012 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6013 clashing with type name.
6014 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6015 (check_argument_type): Likewise.
6016 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6017 Use a copy when emitting warnings, setting the caret index from TYPE.
6018
7e1dde14 60192016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6020 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6021
6022 * c-ada-spec.c (dump_number): New function.
6023 (handle_escape_character): Likewise.
6024 (print_ada_macros): Add handling of constant integers and strings.
6025
191816a3
MP
60262016-08-12 Marek Polacek <polacek@redhat.com>
6027
6028 PR c/7652
6029 * c-common.c (scalar_to_vector): Adjust fall through comment.
6030 * c-opts.c (c_common_handle_option): Likewise.
6031 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6032 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6033 fall through comment.
6034 * cilk.c (extract_free_variables): Add FALLTHRU.
6035
452df4a4
JM
60362016-08-10 Jason Merrill <jason@redhat.com>
6037
6038 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6039
f3365c12
JM
60402016-08-09 Jason Merrill <jason@redhat.com>
6041
6042 * c-common.c (c_common_attribute_table): vector_size affects type
6043 identity.
6044
f0bc3323
MP
60452016-08-09 Marek Polacek <polacek@redhat.com>
6046
6047 PR c/7652
6048 * c-ada-spec.c (dump_generic_ada_node): Add return.
6049
98e5a19a
JM
60502016-08-09 Jason Merrill <jason@redhat.com>
6051
6052 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6053 C++17 constexpr lambdas.
6054
895aa8e1
DM
60552016-08-08 David Malcolm <dmalcolm@redhat.com>
6056
6057 PR c/64955
6058 * c-common.h (selftest::c_format_c_tests): New declaration.
6059 (selftest::run_c_tests): New declaration.
6060 * c-format.c: Include "selftest.h.
6061 (format_warning_va): Add param "corrected_substring" and use
6062 it to add a replacement fix-it hint.
6063 (format_warning_at_substring): Likewise.
6064 (format_warning_at_char): Update for new param of
6065 format_warning_va.
6066 (argument_parser::check_argument_type): Pass "fki" to
6067 check_format_types.
6068 (check_format_types): Add param "fki" and pass it to
6069 format_type_warning.
6070 (deref_n_times): New function.
6071 (get_modifier_for_format_len): New function.
6072 (selftest::test_get_modifier_for_format_len): New function.
6073 (get_format_for_type): New function.
6074 (format_type_warning): Add param "fki" and use it to attempt
6075 to provide hints for argument types when calling
6076 format_warning_at_substring.
6077 (selftest::get_info): New function.
6078 (selftest::assert_format_for_type_streq): New function.
6079 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6080 (selftest::test_get_format_for_type_printf): New function.
6081 (selftest::test_get_format_for_type_scanf): New function.
6082 (selftest::c_format_c_tests): New function.
6083
e52ed3fe
DM
60842016-08-08 David Malcolm <dmalcolm@redhat.com>
6085
6086 PR c/52952
6087 * c-format.c: Include "diagnostic.h".
6088 (location_column_from_byte_offset): Delete.
6089 (location_from_offset): Delete.
6090 (format_warning_va): New function.
6091 (format_warning_at_substring): New function.
6092 (format_warning_at_char): New function.
6093 (check_format_arg): Capture location of format_tree and pass to
6094 check_format_info_main.
6095 (argument_parser): Add fields "start_of_this_format" and
6096 "format_string_cst".
6097 (flag_chars_t::validate): Add param "format_string_cst". Convert
6098 warning_at call using location_from_offset to call to
6099 format_warning_at_char.
6100 (argument_parser::argument_parser): Add param "format_string_cst_"
6101 and use use it to initialize field "format_string_cst".
6102 Initialize new field "start_of_this_format".
6103 (argument_parser::read_format_flags): Convert warning_at call
6104 using location_from_offset to a call to format_warning_at_char.
6105 (argument_parser::read_any_format_left_precision): Likewise.
6106 (argument_parser::read_any_format_precision): Likewise.
6107 (argument_parser::read_any_other_modifier): Likewise.
6108 (argument_parser::find_format_char_info): Likewise, in three places.
6109 (argument_parser::parse_any_scan_set): Likewise, in one place.
6110 (argument_parser::handle_conversions): Likewise, in two places.
6111 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6112 and use it to make a substring_loc. Pass the latter to
6113 check_format_types.
6114 (check_format_info_main): Add params "fmt_param_loc" and
6115 "format_string_cst". Convert warning_at calls using
6116 location_from_offset to calls to format_warning_at_char. Pass the
6117 new params to the arg_parser ctor. Pass "format_string_cst" to
6118 flag_chars.validate. Pass "fmt_param_loc" to
6119 arg_parser.check_argument_type.
6120 (check_format_types): Convert first param from a location_t
6121 to a const substring_loc & and rename to "fmt_loc". Attempt
6122 to extract the range of the relevant parameter and pass it
6123 to format_type_warning.
6124 (format_type_warning): Convert first param from a location_t
6125 to a const substring_loc & and rename to "fmt_loc". Add
6126 params "param_range" and "type". Replace calls to warning_at
6127 with calls to format_warning_at_substring.
6128
1c4d457e
DM
61292016-08-08 David Malcolm <dmalcolm@redhat.com>
6130
6131 * c-format.c (class flag_chars_t): New class.
6132 (struct length_modifier): New struct.
6133 (class argument_parser): New class.
6134 (flag_chars_t::flag_chars_t): New ctor.
6135 (flag_chars_t::has_char_p): New method.
6136 (flag_chars_t::add_char): New method.
6137 (flag_chars_t::validate): New method.
6138 (flag_chars_t::get_alloc_flag): New method.
6139 (flag_chars_t::assignment_suppression_p): New method.
6140 (argument_parser::argument_parser): New ctor.
6141 (argument_parser::read_any_dollar): New method.
6142 (argument_parser::read_format_flags): New method.
6143 (argument_parser::read_any_format_width): New method.
6144 (argument_parser::read_any_format_left_precision): New method.
6145 (argument_parser::read_any_format_precision): New method.
6146 (argument_parser::handle_alloc_chars): New method.
6147 (argument_parser::read_any_length_modifier): New method.
6148 (argument_parser::read_any_other_modifier): New method.
6149 (argument_parser::find_format_char_info): New method.
6150 (argument_parser::validate_flag_pairs): New method.
6151 (argument_parser::give_y2k_warnings): New method.
6152 (argument_parser::parse_any_scan_set): New method.
6153 (argument_parser::handle_conversions): New method.
6154 (argument_parser::check_argument_type): New method.
6155 (check_format_info_main): Introduce classes argument_parser
6156 and flag_chars_t, moving the code within the loop into methods
6157 of these classes. Make various locals "const".
6158
88fa5555
DM
61592016-08-05 David Malcolm <dmalcolm@redhat.com>
6160
6161 * c-common.c: Include "substring-locations.h".
6162 (get_cpp_ttype_from_string_type): New function.
6163 (g_string_concat_db): New global.
6164 (substring_loc::get_range): New method.
6165 * c-common.h (g_string_concat_db): New declaration.
6166 (class substring_loc): New class.
6167 * c-lex.c (lex_string): When concatenating strings, capture the
6168 locations of all tokens using a new obstack, and record the
6169 concatenation locations within g_string_concat_db.
6170 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6171 on the ggc-heap.
6172
78169471
MP
61732016-07-29 Marek Polacek <polacek@redhat.com>
6174
638fc14f
MP
6175 PR c/71926
6176 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6177 parentheses warning.
6178
78169471
MP
6179 PR c/71574
6180 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6181
1225d6b1
ML
61822016-07-28 Martin Liska <mliska@suse.cz>
6183
6184 PR gcov-profile/68025
6185 * c-common.c (handle_no_profile_instrument_function_attribute):
6186
ec1e2a40
BE
61872016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6188
6189 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6190 BITS_PER_UNIT_LOG.
6191
5ec2cd9f
JM
61922016-07-25 Jason Merrill <jason@redhat.com>
6193
6194 PR c++/65970
6195 * c.opt (fconstexpr-loop-limit): New.
6196
9dc5773f 61972016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6198
6199 PR c++/71675
6200 * c-common.c (resolve_overloaded_builtin): Avoid converting
6201 __atomic_compare_exchange_n return type to that of what its
6202 first argument points to.
6203
e3fe09c1
UB
62042016-07-22 Uros Bizjak <ubizjak@gmail.com>
6205
6206 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6207 ~(unsigned HOST_WIDE_INT) 0.
6208
bc91c436
ML
62092016-07-22 Martin Liska <mliska@suse.cz>
6210
6211 PR gcov-profile/69028
6212 PR gcov-profile/62047
6213 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6214 to the current_function_decl.
6215
451dcc66
JM
62162016-07-21 Jason Merrill <jason@redhat.com>
6217
6218 PR c++/65168
6219 * c-common.c (c_common_truthvalue_conversion): Check
6220 c_inhibit_evaluation_warnings for warning about address of
6221 reference.
6222
de6a69ee
DM
62232016-07-20 David Malcolm <dmalcolm@redhat.com>
6224
6225 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6226 const char *.
6227
d022c55a
JM
62282016-07-15 Jason Merrill <jason@redhat.com>
6229
6230 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6231
ddbbcb19
JJ
62322016-07-15 Jakub Jelinek <jakub@redhat.com>
6233
6234 PR c/71858
6235 * c-common.h (enum lookup_name_fuzzy_kind): Add
6236 FUZZY_LOOKUP_FUNCTION_NAME.
6237
d0cf395a
JM
62382016-07-08 Jason Merrill <jason@redhat.com>
6239
6240 P0145: Refining Expression Order for C++.
6241 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6242 * c-opts.c: Adjust.
6243
98d44e93
MT
62442016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6245
6246 PR c++/71214
6247 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6248
f9d8d994
TS
62492016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6250
6251 * c-pragma.h (enum pragma_kind): Rename
6252 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6253 users.
6254
4aa83879
RB
62552016-06-29 Richard Biener <rguenther@suse.de>
6256
6257 PR middle-end/71002
6258 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6259
a25bd9e6
JM
62602016-06-24 Jason Merrill <jason@redhat.com>
6261
6262 P0145R2: Refining Expression Order for C++.
6263 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6264 MODIFY_EXPR.
6265
a86451b9
JJ
62662016-06-24 Jakub Jelinek <jakub@redhat.com>
6267
6268 * c-common.c (check_builtin_function_arguments): Require last
6269 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6270 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6271 if the last argument is pointer to enumerated or boolean type.
6272
1a4f11c8
DM
62732016-06-22 David Malcolm <dmalcolm@redhat.com>
6274
6275 PR c/70339
6276 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6277 (lookup_name_fuzzy): New prototype.
6278
fe55692c
JDA
62792016-06-21 John David Anglin <danglin@gcc.gnu.org>
6280
6281 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6282
4eb24e01
JM
62832016-06-14 Jason Merrill <jason@redhat.com>
6284
6285 P0145R2: Refining Expression Order for C++.
6286 * c.opt (fargs-in-order): New.
6287 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6288
ef7cf206
JJ
62892016-06-13 Jakub Jelinek <jakub@redhat.com>
6290
0dda258b
JJ
6291 PR sanitizer/71498
6292 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6293 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6294
ef7cf206
JJ
6295 PR preprocessor/71183
6296 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6297 to cb_get_source_date_epoch.
6298
50b15873
JJ
62992016-06-10 Jakub Jelinek <jakub@redhat.com>
6300
6301 PR c/68657
6302 * c.opt (Wpsabi): Add Warning flag.
6303
4d926e34
MS
63042016-06-10 Martin Sebor <msebor@redhat.com>
6305
6306 PR c/71392
14ec014e 6307 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
6308 the nonnull attribute in type-generic builtins.
6309
e01b4e16
MS
63102016-06-09 Martin Sebor <msebor@redhat.com>
6311
6312 PR c/70883
6313 * c-common.c (builtin_function_validate_nargs): Make text of error
6314 message consistent with others like it.
6315
44a845ca
MS
63162016-06-08 Martin Sebor <msebor@redhat.com>
6317 Jakub Jelinek <jakub@redhat.com>
6318
6319 PR c++/70507
6320 PR c/68120
6321 * c-common.c (check_builtin_function_arguments): Handle
6322 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6323
a80a7051
RB
63242016-06-08 Richard Biener <rguenther@suse.de>
6325
6326 * c-common.c (parse_optimize_options): Improve diagnostic messages.
6327
bfd67b47
RB
63282016-06-07 Richard Biener <rguenther@suse.de>
6329
6330 PR c/61564
6331 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6332 options and warn about others.
6333
15c98b2e
ES
63342016-06-01 Eduard Sanou <dhole@openmailbox.org>
6335
6336 * c-common.c (get_source_date_epoch): Rename to
6337 cb_get_source_date_epoch.
6338 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6339 message when the parsing fails. Use error_at instead of fatal_error.
6340 * c-common.h (get_source_date_epoch): Rename to
6341 cb_get_source_date_epoch.
6342 * c-common.h (cb_get_source_date_epoch): Prototype.
6343 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6344 * c-common.h (c_omp_region_type): Remove trailing comma.
6345 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6346 * c-lex.c (c_lex_with_flags): Remove initialization of
6347 pfile->source_date_epoch.
6348
00631022
JJ
63492016-05-30 Jakub Jelinek <jakub@redhat.com>
6350
6351 PR c++/71349
6352 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6353 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
6354 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6355 instead of C_OMP_CLAUSE_SPLIT_FOR.
6356
f17a223d
RB
63572016-05-24 Richard Biener <rguenther@suse.de>
6358
6359 PR middle-end/70434
6360 PR c/69504
6361 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6362 (convert_vector_to_array_for_subscript): ... this.
6363 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6364 VIEW_CONVERT_EXPR to an array type. Rename to ...
6365 (convert_vector_to_array_for_subscript): ... this.
6366
4f2e1536
MP
63672016-05-12 Marek Polacek <polacek@redhat.com>
6368
6369 PR c/70756
6370 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6371 size_in_bytes and pass LOC to it.
6372
d6e83a8d
MM
63732016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
6374
6375 PR c/43651
6376 * c.opt (Wduplicate-decl-specifier): New option.
6377
5c3a10fb
MP
63782016-05-11 Marek Polacek <polacek@redhat.com>
6379
6380 PR c++/71024
6381 * c-common.c (diagnose_mismatched_attributes): New function.
6382 * c-common.h (diagnose_mismatched_attributes): Declare.
6383
deef7113
MP
63842016-05-04 Marek Polacek <polacek@redhat.com>
6385
6386 * c.opt (Wdangling-else): New option.
6387
79ce98bc
MP
63882016-05-03 Marek Polacek <polacek@redhat.com>
6389
6390 PR c/70859
6391 * c-common.c (builtin_function_validate_nargs): Add location
6392 parameter. Use it.
6393 (check_builtin_function_arguments): Add location and arguments
6394 parameters. Use them.
6395 * c-common.h (check_builtin_function_arguments): Update declaration.
6396
381cdae4
RB
63972016-05-03 Richard Biener <rguenther@suse.de>
6398
6399 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6400 allow call args to gimplify to SSA names.
6401
1d793c34
MP
64022016-05-03 Marek Polacek <polacek@redhat.com>
6403
6404 * c-common.h (enum c_omp_region_type): Remove stray comma.
6405
77886428
CP
64062016-05-02 Cesar Philippidis <cesar@codesourcery.com>
6407
6408 * c-common.h (enum c_omp_region_type): Define.
6409
697e0b28
RS
64102016-05-02 Richard Sandiford <richard.sandiford@arm.com>
6411
6412 * c-common.c (shorten_compare): Use wi::to_wide.
6413
e7ff0319
CP
64142016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6415
6416 PR middle-end/70626
6417 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6418 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6419 reduction clauses in acc parallel loops.
6420
2fff3db8
MP
64212016-04-29 Marek Polacek <polacek@redhat.com>
6422
6423 PR c/70852
6424 * c-common.c (warn_for_memset): Check domain before accessing it.
6425
509063eb
DV
64262016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
6427
6428 PR/69089
6429 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6430 "aligned" attribute.
6431
b632761d
JM
64322016-04-28 Jason Merrill <jason@redhat.com>
6433
6434 * c-lex.c (c_common_has_attribute): Handle nodiscard.
6435
174f6622
ES
64362016-04-28 Eduard Sanou <dhole@openmailbox.org>
6437 Matthias Klose <doko@debian.org>
6438
6439 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 6440 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
6441 handling.
6442 * c-common.h (get_source_date_epoch): Prototype.
6443 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6444
6bc2bb18
RB
64452015-04-27 Ryan Burn <contact@rnburn.com>
6446
6447 PR c++/69024
6448 PR c++/68997
6449 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6450 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6451 external linkage.
6452 (cilk_detect_and_unwrap): Corresponding changes.
6453 (extract_free_variables): Don't extract free variables from
6454 AGGR_INIT_EXPR slot.
6455 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6456 (cilk_recognize_spawn): Likewise.
6457
c1e1f433
BS
64582016-04-27 Bernd Schmidt <bschmidt@redhat.com>
6459
6460 * c.opt (Wmemset-elt-size): New option.
6461 * c-common.c (warn_for_memset): New function.
6462 * c-common.h (warn_for_memset): Declare.
6463
d067e05f
JM
64642016-04-25 Jason Merrill <jason@redhat.com>
6465
6466 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6467 No longer static.
6468 * c-common.h: Declare it.
6469 * c-lex.c (c_common_has_attribute): Add maybe_unused.
6470
9aa36ae5
JM
64712016-04-22 Jason Merrill <jason@redhat.com>
6472
6473 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6474
477d4906
IV
64752016-04-20 Ilya Verbin <ilya.verbin@intel.com>
6476
6477 PR c++/69363
6478 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6479 * c-common.h (c_finish_cilk_clauses): Remove declaration.
6480
fe37c7af
MM
64812016-04-18 Michael Matz <matz@suse.de>
6482
6483 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6484 and SET_DECL_ALIGN.
6485
23f2660f
EB
64862016-04-17 Eric Botcazou <ebotcazou@adacore.com>
6487
6488 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
6489 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
6490 to incomplete types.
6491 (dump_nested_type): Remove redundant tests and tidy up.
6492 (print_ada_declaration): Also set TREE_VISITED on the declaration of
6493 a type which is the typedef of an original type.
6494
1e77281b
MP
64952016-04-15 Marek Polacek <polacek@redhat.com>
6496
6497 PR c/70651
6498 * c-common.c (build_va_arg): Change two asserts into errors and return
6499 error_mark_node.
6500
b3a77f21
MP
65012016-04-13 Marek Polacek <polacek@redhat.com>
6502
6503 PR c++/70639
6504 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
6505 for switch statements, too.
6506
322b8466
JM
65072016-03-28 Jason Merrill <jason@redhat.com>
6508
6509 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
6510
fbdb6baf
MP
65112016-03-23 Marek Polacek <polacek@redhat.com>
6512
6513 PR c++/69884
6514 * c.opt (Wignored-attributes): New option.
6515
5c240f4d
DM
65162016-03-22 David Malcolm <dmalcolm@redhat.com>
6517
6518 PR c/69993
6519 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
6520 diagnostic text, reversing the order of the warning and note so
6521 that they appear in source order.
6522
14ba7b28
MP
65232016-03-17 Marek Polacek <polacek@redhat.com>
6524
6525 PR c/69407
6526 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
6527 operations.
6528
08a1cadc
JM
65292016-03-14 Jason Merrill <jason@redhat.com>
6530
2aaeea19
JM
6531 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
6532
08a1cadc
JM
6533 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
6534
c06d25bb
RB
65352016-03-09 Richard Biener <rguenther@suse.de>
6536
6537 PR c/70143
6538 * c-common.c (strict_aliasing_warning): Add back
6539 alias_sets_conflict_p check.
6540
80aac5c8
JM
65412016-03-08 Jason Merrill <jason@redhat.com>
6542
6543 * c-opts.c (set_std_cxx1z): Don't enable concepts.
6544
64b23c13
DM
65452016-03-04 David Malcolm <dmalcolm@redhat.com>
6546
6547 PR c/68187
6548 * c-indentation.c (get_visual_column): Move code to determine next
6549 tab stop to...
6550 (next_tab_stop): ...this new function.
6551 (line_contains_hash_if): Delete function.
6552 (detect_preprocessor_logic): Delete function.
6553 (get_first_nws_vis_column): New function.
6554 (detect_intervening_unindent): New function.
6555 (should_warn_for_misleading_indentation): Replace call to
6556 detect_preprocessor_logic with a call to
6557 detect_intervening_unindent.
6558
729526f5
DM
65592016-03-04 David Malcolm <dmalcolm@redhat.com>
6560
6561 PR c/68187
6562 * c-indentation.c (should_warn_for_misleading_indentation): When
6563 suppressing warnings about cases where the guard and body are on
6564 the same column, only use the first non-whitespace column in place
6565 of the guard token column when dealing with "else" clauses.
6566 When rejecting aligned BODY and NEXT, loosen the requirement
6567 from equality with the first non-whitespace of guard to simply
6568 that they not be indented relative to it.
6569
e9a35493
RB
65702016-03-04 Richard Biener <rguenther@suse.de>
6571
6572 PR c++/70054
6573 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
6574 instead of alias_sets_conflict_p.
6575
1be56bc5
MP
65762016-03-01 Marek Polacek <polacek@redhat.com>
6577
6578 PR c++/69795
6579 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
6580 any DECL.
6581
35886f0b
MS
65822016-02-22 Martin Sebor <msebor@redhat.com>
6583
6584 PR middle-end/69780
6585 * c-common.c (check_builtin_function_arguments): Validate and
6586 reject invalid arguments to __builtin_alloca_with_align.
6587
4246c8da
MW
65882016-02-20 Mark Wielaard <mjw@redhat.com>
6589
6590 PR c/28901
6591 * c.opt (Wunused-const-variable): Turn into Alias for...
6592 (Wunused-const-variable=): New option.
6593
268be88c
BE
65942016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6595
6596 PR c++/69865
6597 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
6598 here...
6599 (c_common_init_options): ...to here.
6600 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
6601
871b3f47
JJ
66022016-02-19 Jakub Jelinek <jakub@redhat.com>
6603
6604 PR c++/69826
6605 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
6606 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
6607 flag_preprocess_only.
6608
bf14eba2
JJ
66092016-02-16 Jakub Jelinek <jakub@redhat.com>
6610
6611 PR c/69835
6612 * c.opt (Wnonnull-compare): Enable for -Wall.
6613
ba6b3795
JJ
66142016-02-15 Jakub Jelinek <jakub@redhat.com>
6615
6616 PR c++/69797
6617 * c-common.c (sync_resolve_size): Diagnose too few arguments
6618 even when params is non-NULL empty vector.
6619
a011cd92
BS
66202016-02-08 Bernd Schmidt <bschmidt@redhat.com>
6621
6622 PR target/60410
6623 * c.opt (fshort-double): Remove.
6624
46cb9332
MS
66252016-02-05 Martin Sebor <msebor@redhat.com>
6626
6627 PR c++/69662
6628 * c.opt (Warning options): Update -Wplacement-new to take
6629 an optional argument.
6630
e1b81f2b
JJ
66312016-02-01 Jakub Jelinek <jakub@redhat.com>
6632
6633 PR preprocessor/69543
6634 PR c/69558
6635 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
6636 instead of loc to control_warning_option.
6637
b6adbb9f
NS
66382016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6639
6640 * c.opt (fopenacc-dim=): New option.
6641
5d70666e
RB
66422016-01-27 Ryan Burn <contact@rnburn.com>
6643
6644 PR cilkplus/69267
6645 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
6646 gimplify_arg. Removed superfluous post_p argument.
6647 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
6648 superfluous post_p argument.
6649 * c-gimplify.c (c_gimplify_expr): Likewise.
6650
01e1dea3
DM
66512016-01-26 David Malcolm <dmalcolm@redhat.com>
6652
6653 PR other/69006
6654 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
6655 pp_newline_and_flush with pp_flush.
6656
9f04a53e
MS
66572016-01-20 Martin Sebor <msebor@redhat.com>
6658
6659 PR c/69405
6660 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
6661 an incompatible argument when the argument isn't a valid tree node.
6662
7f26f7df
JM
66632016-01-18 Jason Merrill <jason@redhat.com>
6664
6665 PR c++/68767
6666 * c-common.c (check_function_arguments_recurse): Fold the whole
6667 COND_EXPR, not just the condition.
6668
f62bf092
TV
66692016-01-18 Tom de Vries <tom@codesourcery.com>
6670
6671 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
6672 classify as loop clause.
6673
e0a575ff
JJ
66742016-01-15 Jakub Jelinek <jakub@redhat.com>
6675
6676 PR bootstrap/68271
6677 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
6678 C++ FE no longer has limit on number of pragmas.
6679
66802015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
6681
6682 PR c++/69048
6683 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 6684 to add missing cleanup point.
b6e3db06 6685
c7df95d8
DM
66862016-01-14 David Malcolm <dmalcolm@redhat.com>
6687
6688 PR c++/68819
6689 * c-indentation.c (get_visual_column): Add location_t param.
6690 Handle the column number being zero by effectively disabling the
6691 warning, with an "inform".
6692 (should_warn_for_misleading_indentation): Add location_t argument
6693 for all uses of get_visual_column.
6694
21efdd80
PP
66952016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
6696
6697 PR c++/69029
6698 * c-indentation.c (should_warn_for_misleading_indentation):
6699 Don't warn about do-while statements.
6700
7a127fa7
MS
67012016-01-07 Martin Sebor <msebor@redhat.com>
6702
6703 PR c/68966
6704 * c-common.c (sync_resolve_size): Reject first argument when it's
6705 a pointer to _Bool.
6706
c589e975
DM
67072016-01-05 David Malcolm <dmalcolm@redhat.com>
6708
6709 PR c/69122
6710 * c-indentation.c (get_visual_column): Remove default argument.
6711 (should_warn_for_misleading_indentation): For the multiline case,
6712 update call to get_visual_column for next_stmt_exploc so that it
6713 captures the location of the first non-whitespace character in the
6714 relevant line. Don't issue warnings if there is non-whitespace
6715 before the next statement.
6716
818ab71a
JJ
67172016-01-04 Jakub Jelinek <jakub@redhat.com>
6718
6719 Update copyright years.
6720
745e411d
DM
67212015-12-21 David Malcolm <dmalcolm@redhat.com>
6722
6723 * c-common.c (binary_op_error): Convert first param from
6724 location_t to rich_location * and use it when emitting an error.
6725 * c-common.h (binary_op_error): Convert first param from
6726 location_t to rich_location *.
6727
de67c4c3
DM
67282015-12-16 David Malcolm <dmalcolm@redhat.com>
6729
6730 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
6731 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
6732
4a38b02b
IV
67332015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6734
6735 * c-common.c (c_common_attribute_table): Handle "omp declare target
6736 link" attribute.
6737
54d62f51
JJ
67382015-12-14 Jakub Jelinek <jakub@redhat.com>
6739
6740 PR c/68833
6741 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
6742
8d4227c8
TB
67432014-12-12 Tobias Burnus <burnus@net-b.de>
6744
6745 PR fortran/68815
6746 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
6747 specifiers (%d, %i,%u and %c).
6748
f6069ccc
DM
67492015-12-10 David Malcolm <dmalcolm@redhat.com>
6750
6751 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
6752
63bbf46d
JJ
67532015-12-08 Jakub Jelinek <jakub@redhat.com>
6754
6755 PR c/48088
6756 PR c/68657
6757 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
6758 * c-pragma.c (handle_pragma_diagnostic): Adjust
6759 control_warning_option caller.
6760
f79520bb
DM
67612015-12-07 David Malcolm <dmalcolm@redhat.com>
6762
6763 * c-common.c (c_cpp_error): Update for change to
6764 rich_location::set_range.
6765
b3d5bc62
JJ
67662015-12-04 Paolo Bonzini <bonzini@gnu.org>
6767
6768 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
6769 shifting 1 out of the sign bit.
6770
67712015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
6772
6773 * c-common.c (c_common_attribute_table[]): Update max arguments
6774 count for "simd" attribute.
6775 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
6776
6eb4a537
JJ
67772015-12-03 Jakub Jelinek <jakub@redhat.com>
6778
6779 PR preprocessor/57580
6780 * c-ppoutput.c (print): Change printed field to bool.
6781 Move src_file last for smaller padding.
6782 (init_pp_output): Set print.printed to false instead of 0.
6783 (scan_translation_unit): Fix up formatting. Set print.printed
6784 to true after printing something other than newline.
6785 (scan_translation_unit_trad): Set print.printed to true instead of 1.
6786 (maybe_print_line_1): Set print.printed to false instead of 0.
6787 (print_line_1): Likewise.
6788 (do_line_change): Set print.printed to true instead of 1.
6789 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
6790 dump_macro): Set print.printed to false after printing newline.
6791
4250754e
JM
67922015-12-02 Jason Merrill <jason@redhat.com>
6793
f479b43d
JM
6794 * c-common.c (fold_for_warn): New.
6795 (warn_logical_operator, warn_tautological_cmp)
6796 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
6797
4250754e
JM
6798 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
6799 (c_fully_fold_internal, decl_constant_value_for_optimization):
6800 Move to c/c-fold.c.
6801 * c-common.h: Don't declare decl_constant_value_for_optimization.
6802
e9e32ee6
JM
68032015-12-02 Joseph Myers <joseph@codesourcery.com>
6804
6805 PR c/68162
6806 * c-common.h (c_build_qualified_type): Add extra default
6807 arguments.
6808
37d5ad46
JB
68092015-12-01 Julian Brown <julian@codesourcery.com>
6810 Cesar Philippidis <cesar@codesourcery.com>
6811 James Norris <James_Norris@mentor.com>
6812
6813 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
6814 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
6815 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
6816
f07862c7
EB
68172015-11-30 Eric Botcazou <ebotcazou@adacore.com>
6818
6819 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
6820 (decl_sloc_common): Delete and move bulk of processing to...
6821 (decl_sloc): ...here.
6822 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
6823 (dump_ada_double_name): Remove S parameter and compute the suffix.
6824 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
6825 element type and deal with an anonymous one.
6826 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
6827 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
6828 and remove reference to QUAL_UNION_TYPE.
6829 (dump_nested_types): Make 2 passes on the fields and move bulk to...
6830 (dump_nested_type): ...here. New function extracted from above.
6831 Generate a full declaration for anonymous element type of arrays.
6832 (print_ada_declaration): Really skip anonymous declarations. Remove
6833 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
6834 Clean up processing of declarations of array types and objects.
6835 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
6836 Remove obsolete code and tidy up.
6837
75c8aac3
JH
68382015-11-29 Jan Hubicka <hubicka@ucw.cz>
6839
6840 PR c/67581
6841 * c-common.c (handle_transparent_union_attribute): Update
6842 also type variants.
6843
b58d3df2
ML
68442015-11-27 Martin Liska <mliska@suse.cz>
6845
6846 PR c++/68312
6847 * array-notation-common.c (cilkplus_extract_an_triplets):
6848 Release vector of vectors.
6849 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
6850
89a01fcf
EB
68512015-11-26 Eric Botcazou <ebotcazou@adacore.com>
6852
6853 PR c++/68527
6854 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
6855 (print_ada_struct_decl): Likewise.
6856
cc5c5226
IZ
68572015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
6858
6859 PR c++/68001
6860 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
6861 * cilk.c (recognize_spawn): Determine location in a more precise
6862 way.
6863
269adb9d
JM
68642015-11-19 Jason Merrill <jason@redhat.com>
6865
6866 * c-common.c (shorten_compare): But look through macros from
6867 system headers.
6868
d0eccfcd
JM
68692015-11-18 Jason Merrill <jason@redhat.com>
6870
6871 * c-common.c (shorten_compare): Don't -Wtype-limits if the
6872 non-constant operand comes from a macro.
6873
3e44547c
JM
68742015-11-17 Jason Merrill <jason@redhat.com>
6875
6876 PR bootstrap/68346
6877 * c-common.c (warn_tautological_cmp): Fold before checking for
6878 constants.
6879
0f62c7a0
MP
68802015-11-16 Marek Polacek <polacek@redhat.com>
6881
6882 PR c++/68362
6883 * c-common.c (check_case_bounds): Fold low and high cases.
6884
a868811e
MP
68852015-11-16 Marek Polacek <polacek@redhat.com>
6886
6887 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
6888 * c-common.c (c_common_get_alias_set): Likewise.
6889 (handle_visibility_attribute): Likewise.
6890
fff77217
KY
68912015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
6892
6893 * c-common.c (handle_simd_attribute): New.
6894 (struct attribute_spec): Add entry for "simd".
6895 (handle_simd_attribute): New.
6896
269e63b7
KT
68972015-11-13 Kai Tietz <ktietz70@googlemail.com>
6898
6899 * c-lex.c (interpret_float): Use fold_convert.
6900
ebedc9a3
DM
69012015-11-13 David Malcolm <dmalcolm@redhat.com>
6902
6903 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
6904 and store it on the result.
6905 * c-opts.c (c_common_init_options): Set
6906 global_dc->colorize_source_p.
6907
6e232ba4
JN
69082015-11-12 James Norris <jnorris@codesourcery.com>
6909 Joseph Myers <joseph@codesourcery.com>
6910
7365279f 6911 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
6912 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
6913 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
6914 PRAGMA_OACC_CLAUSE_LINK.
6915
e78bede6
MP
69162015-11-11 Marek Polacek <polacek@redhat.com>
6917
6918 PR c/68107
6919 PR c++/68266
6920 * c-common.c (valid_array_size_p): New function.
6921 * c-common.h (valid_array_size_p): Declare.
6922
3f8257db 69232015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
6924
6925 PR bootstrap/68271
6926 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
6927
69f293c9
AM
69282015-11-11 Andrew MacLeod <amacleod@redhat.com>
6929
6930 * array-notation-common.c: Remove unused header files.
6931 * c-ada-spec.c: Likewise.
6932 * c-cilkplus.c: Likewise.
6933 * c-common.c: Likewise.
6934 * c-cppbuiltin.c: Likewise.
6935 * c-dump.c: Likewise.
6936 * c-format.c: Likewise.
6937 * c-gimplify.c: Likewise.
6938 * c-indentation.c: Likewise.
6939 * c-lex.c: Likewise.
6940 * c-omp.c: Likewise.
6941 * c-opts.c: Likewise.
6942 * c-pch.c: Likewise.
6943 * c-ppoutput.c: Likewise.
6944 * c-pragma.c: Likewise.
6945 * c-pretty-print.c: Likewise.
6946 * c-semantics.c: Likewise.
6947 * c-ubsan.c: Likewise.
6948 * cilk.c: Likewise.
6949 * stub-objc.c: Likewise.
6950
3a40d81d
NS
69512015-11-09 Thomas Schwinge <thomas@codesourcery.com>
6952 Cesar Philippidis <cesar@codesourcery.com>
6953 James Norris <jnorris@codesourcery.com>
6954 Julian Brown <julian@codesourcery.com>
6955 Nathan Sidwell <nathan@codesourcery.com>
6956
6957 * c-pragma.c (oacc_pragmas): Add "routine".
6958 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
6959
ee45a32d
EB
69602015-11-08 Eric Botcazou <ebotcazou@adacore.com>
6961
6962 * c-common.c (c_common_attributes): Add scalar_storage_order.
6963 (handle_scalar_storage_order_attribute): New function.
6964 * c-pragma.c (global_sso): New variable.
6965 (maybe_apply_pragma_scalar_storage_order): New function.
6966 (handle_pragma_scalar_storage_order): Likewise.
6967 (init_pragma): Register scalar_storage_order.
6968 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
6969 * c.opt (Wscalar-storage-order): New warning.
6970 (fsso-struct=): New option.
6971
eb11eb15
MS
69722015-11-08 Martin Sebor <msebor@redhat.com>
6973
6974 * c.opt (Wplacement-new): Add a period to the end of a sentence.
6975
0aad0198
RS
69762015-11-07 Richard Sandiford <richard.sandiford@arm.com>
6977
6978 * c-common.c: Don't undef DEF_BUILTIN.
6979
8a645150
DM
69802015-11-06 David Malcolm <dmalcolm@redhat.com>
6981
6982 * c-common.c (c_cpp_error): Convert parameter from location_t to
6983 rich_location *. Eliminate the "column_override" parameter and
6984 the call to diagnostic_override_column.
6985 Update the "done_lexing" clause to set range 0
6986 on the rich_location, rather than overwriting a location_t.
6987 * c-common.h (c_cpp_error): Convert parameter from location_t to
6988 rich_location *. Eliminate the "column_override" parameter.
6989
7a5e4956
CP
69902015-11-05 Cesar Philippidis <cesar@codesourcery.com>
6991 Thomas Schwinge <thomas@codesourcery.com>
6992 James Norris <jnorris@codesourcery.com>
6993
6994 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
6995 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
6996 clauses with parallel and kernels and loops.
6997 * c-pragma.h (enum pragma_omp_clause): Add entries for
6998 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
6999 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7000 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7001 INDEPENDENT,SEQ}.
7002 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7003
e2f5cc96
MS
70042015-11-05 Martin Sebor <msebor@redhat.com>
7005
7006 PR c++/67942
7007 * c.opt (-Wplacement-new): New option.
7008
e01d41e5
JJ
70092015-11-05 Jakub Jelinek <jakub@redhat.com>
7010
7011 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7012 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7013 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7014 save_expr or create_tmp_var* if TEST is true.
7015 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7016 Don't call add_stmt here.
7017 (struct c_omp_check_loop_iv_data): New type.
7018 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7019 c_omp_check_loop_iv_exprs): New functions.
7020 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7021 distribute.
7022 (c_omp_declare_simd_clauses_to_numbers): Change
7023 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7024 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7025 from numbers to PARM_DECLs.
7026
595278be
MM
70272015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7028
7029 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7030 flag_checking.
7031
3f8257db 70322015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7033
7034 PR c++-common/67882
b3d5bc62
JJ
7035 * c-common.h (fold_offsetof_1): Add argument.
7036 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7037 offsetof expressions that reference elements past the end of
7038 an array.
7039
4bf9e5a8
TS
70402015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7041 Chung-Lin Tang <cltang@codesourcery.com>
7042
7043 * c-pragma.c (oacc_pragmas): Add "atomic".
7044 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7045
3b1661a9
ES
70462015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7047
7048 * c-common.c (handle_target_clones_attribute): New.
7049 (c_common_attribute_table): Add handle_target_clones_attribute.
7050 (handle_always_inline_attribute): Add check on target_clones attribute.
7051 (handle_target_attribute): Ditto.
7052
2adfab87
AM
70532015-10-29 Andrew MacLeod <amacleod@redhat.com>
7054
7055 * array-notation-common.c: Reorder #include's and remove duplicates.
7056 * c-ada-spec.c: Likewise.
7057 * c-cilkplus.c: Likewise.
7058 * c-common.c: Likewise.
7059 * c-cppbuiltin.c: Likewise.
7060 * c-dump.c: Likewise.
7061 * c-format.c: Likewise.
7062 * c-gimplify.c: Likewise.
7063 * c-indentation.c: Likewise.
7064 * c-lex.c: Likewise.
7065 * c-omp.c: Likewise.
7066 * c-opts.c: Likewise.
7067 * c-pch.c: Likewise.
7068 * c-ppoutput.c: Likewise.
7069 * c-pragma.c: Likewise.
7070 * c-pretty-print.c: Likewise.
7071 * c-semantics.c: Likewise.
7072 * c-ubsan.c: Likewise.
7073 * cilk.c: Likewise.
7074 * stub-objc.c: Likewise.
7075
d90ec4f2
JM
70762015-10-28 Jason Merrill <jason@redhat.com>
7077
7078 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7079
88bae6f4
TS
70802015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7081 James Norris <jnorris@codesourcery.com>
7082 Cesar Philippidis <cesar@codesourcery.com>
7083
7084 PR c/64765
7085 PR c/64880
7086 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7087 * c-omp.c (c_oacc_split_loop_clauses): New function.
7088
b1726d6c
MS
70892015-10-21 Martin Sebor <msebor@redhat.com>
7090
7091 PR driver/68043
7092 * c.opt: End each sentence that describes an option with a period.
7093
fa60eeb9
MP
70942015-10-20 Marek Polacek <polacek@redhat.com>
7095
7096 * array-notation-common.c (is_cilkplus_vector_p): Define.
7097 * c-common.h (is_cilkplus_vector_p): Declare.
7098
95979049
MP
70992015-10-20 Marek Polacek <polacek@redhat.com>
7100
7101 * c.opt (std=gnu++11): Do not describe as experimental.
7102 (std=gnu++14): Likewise.
7103
2a9fb712
JM
71042015-10-19 Jason Merrill <jason@redhat.com>
7105
7106 * c-cppbuiltin.c (c_cpp_builtins): Define
7107 __cpp_nontype_template_args.
7108
13b380a3
JM
71092015-10-19 Jason Merrill <jason@redhat.com>
7110
7111 * c-cppbuiltin.c (c_cpp_builtins): Define
7112 __cpp_enumerator_attributes, __cpp_fold_expressions,
7113 __cpp_unicode_characters.
7114
d9a6bd32
JJ
71152015-10-13 Jakub Jelinek <jakub@redhat.com>
7116 Aldy Hernandez <aldyh@redhat.com>
7117
7118 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7119 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7120 (c_define_builtins): Likewise.
7121 * c-common.h (enum c_omp_clause_split): Add
7122 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7123 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7124 (c_finish_omp_for): Add ORIG_DECLV argument.
7125 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7126 201511 instead of 201307.
7127 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7128 OMP_CRITICAL_CLAUSES to it.
7129 (c_finish_omp_ordered): Add CLAUSES argument, set
7130 OMP_ORDERED_CLAUSES to it.
7131 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7132 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7133 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7134 constructs and new OpenMP 4.5 clauses. Clear
7135 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7136 verification code.
7137 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7138 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7139 (enum pragma_omp_clause): Add
7140 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7141 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7142
624d31fe
RS
71432015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7144
7145 * c-lex.c (interpret_float): Use real_equal instead of
7146 REAL_VALUES_EQUAL.
7147
b8fd7909
JM
71482015-10-04 Jason Merrill <jason@redhat.com>
7149
7150 Implement N4514, C++ Extensions for Transactional Memory.
7151 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7152 (c_common_attribute_table): Add transaction_safe_dynamic.
7153 transaction_safe now affects type identity.
7154 (handle_tm_attribute): Handle transaction_safe_dynamic.
7155 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7156 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7157 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7158 (D_TRANSMEM): New.
7159 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7160 * c-pretty-print.c (pp_c_attributes_display): Don't print
7161 transaction_safe in C++.
7162
12651878
MP
71632015-10-02 Marek Polacek <polacek@redhat.com>
7164
7165 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7166
3e3b8d63
MP
71672015-10-02 Marek Polacek <polacek@redhat.com>
7168
7169 PR c/64249
7170 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7171 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7172 * c.opt (Wduplicated-cond): New option.
7173
0d1a8f75
JM
71742015-10-01 Joseph Myers <joseph@codesourcery.com>
7175
7176 * c.opt (std=c11): Do not describe as experimental.
7177 (std=gnu11): Likewise.
7178 (std=iso9899:2011): Likewise.
7179
3e32ee19
NS
71802015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7181
7182 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7183 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7184
974348ee
MP
71852015-09-25 Marek Polacek <polacek@redhat.com>
7186
7187 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7188 (ubsan_instrument_shift): Likewise.
7189
15dbc1a6
MP
71902015-09-25 Marek Polacek <polacek@redhat.com>
7191
7192 PR sanitizer/64906
7193 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7194
6b95d7cc
PP
71952015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7196
7197 * c-indentation.c (should_warn_for_misleading_indentation):
7198 Compare next_stmt_vis_column with guard_line_first_nws instead
7199 of with guard_line_vis_column.
7200
c1822f9c
MLI
72012015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7202
7203 PR c/49654
7204 PR c/49655
7205 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7206 options and options not valid for the current language.
7207
d5398058
PP
72082015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7209
7210 * c-indentation.c (should_warn_for_misleading_indentation):
7211 Float out and consolidate the calls to get_visual_column that
7212 are passed guard_exploc as an argument. Compare
7213 next_stmt_vis_column with guard_line_first_nws instead of with
7214 body_line_first_nws.
7215
6b333269
NS
72162015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7217
7218 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7219 Wnamespaces): New C++ warnings.
7220
a75f1574
JM
72212015-09-22 Jason Merrill <jason@redhat.com>
7222
7223 * c-common.h (abi_compat_version_crosses): New.
7224 (warn_abi_version): Declare.
7225 * c-common.c: Define it.
7226 * c-opts.c (c_common_post_options): Handle it.
7227 flag_abi_compat_version defaults to 8.
7228
bdaaa8b7
VV
72292015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7230
7231 Complete the implementation of N4230, Nested namespace definition.
7232 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7233 __cpp_nested_namespace_definitions.
7234
eaa797e8
MLI
72352015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7236
7237 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7238
c4914de6
MLI
72392015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7240
7241 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7242 when warning.
7243 * c-pragma.h (pragma_lex): Add optional loc argument.
7244
fcb87c50
MM
72452015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7246
7247 * c-format.c (check_format_arg): Adjust to use common block size in all
7248 object pools.
7249
31bdd08a
DM
72502015-09-15 David Malcolm <dmalcolm@redhat.com>
7251
7252 * c-format.c (location_from_offset): Update for change in
7253 signature of location_get_source_line.
7254 * c-indentation.c (get_visual_column): Likewise.
7255 (line_contains_hash_if): Likewise.
7256
aa9f4b4c
MP
72572015-09-14 Marek Polacek <polacek@redhat.com>
7258
7259 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7260 setting various warnings.
7261
aa256c4a
MP
72622015-09-14 Marek Polacek <polacek@redhat.com>
7263
7264 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7265 a negative value.
7266
0f876f22
MW
72672015-09-11 Mark Wielaard <mjw@redhat.com>
7268
7269 PR c/28901
7270 * c.opt (Wunused-variable): Option from common.opt.
7271 (Wunused-const-variable): New option.
7272
273aa49e
PC
72732015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7274
7275 PR c++/53184
7276 * c.opt ([Wsubobject-linkage]): Add.
7277
1807ffc1
MS
72782015-09-03 Martin Sebor <msebor@redhat.com>
7279
7280 PR c/66516
7281 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7282 functions.
7283 * c-common.c (reject_gcc_builtin): Define.
7284
38942840
BI
72852015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
7286
7287 PR middle-end/60586
7288 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7289 prototype.
7290 * c-gimplify.c (c_gimplify_expr): Added a call to the function
7291 cilk_gimplify_call_params_in_spawned_fn.
7292 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7293 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7294 unwrapping.
7295
c316b5e4
MP
72962015-08-25 Marek Polacek <polacek@redhat.com>
7297
7298 PR middle-end/67330
7299 * c-common.c (handle_weak_attribute): Don't check whether the
7300 visibility can be changed here.
7301
584a7c46
MLI
73022015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7303
7304 * c-lex.c (c_lex_with_flags): Use explicit locations.
7305
a79683d5
TS
73062015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
7307
7308 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7309 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7310
61717a45
FXC
73112015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7312
7313 PR middle-end/36757
7314 * c-common.c (check_builtin_function_arguments): Add check
7315 for BUILT_IN_SIGNBIT argument.
7316
329524f5
PC
73172015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
7318
7319 PR c++/67160
7320 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7321 in c++1z mode.
7322
4ee55665
MP
73232015-08-17 Marek Polacek <polacek@redhat.com>
7324
7325 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7326 with whitespaces before qualifier names.
7327
b893e375
MP
73282015-08-12 Marek Polacek <polacek@redhat.com>
7329
7330 PR c++/55095
7331 * c-common.c (maybe_warn_shift_overflow): Properly handle
7332 left-shifting 1 into the sign bit.
7333
c2d89095
MLI
73342015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7335
7336 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7337
971e17ff
AS
73382015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
7339 Braden Obrzut <admin@maniacsvault.net>
7340 Jason Merrill <jason@redhat.com>
7341
7342 Add C++ Concepts TS support.
7343 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7344 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7345 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7346 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7347 * c-opts.c (set_std_cxx1z): Set flag_concepts.
7348 * c.opt (fconcepts): New.
7349
b3d5bc62
JJ
73502015-08-02 Martin Sebor <msebor@redhat.com>
7351
7352 * c.opt (-Wframe-address): New warning option.
7353
8ebca419
PP
73542015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7355
7356 * c-indentation.c (should_warn_for_misleading_indentation):
7357 Improve heuristics.
7358
1a1e101f
PP
73592015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7360
7361 * c-indentation.c (get_visual_column): Add parameter first_nws,
7362 use it. Update comment documenting the function.
7363 (is_first_nonwhitespace_on_line): Remove.
7364 (should_warn_for_misleading_indentation): Replace usage of
7365 of is_first_nonwhitespace_on_line with get_visual_column.
7366
992118a1
PP
73672015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7368
7369 * c-indentation.h (struct token_indent_info): Define.
7370 (get_token_indent_info): Define.
7371 (warn_for_misleading_information): Declare.
7372 * c-common.h (warn_for_misleading_information): Remove.
7373 * c-identation.c (warn_for_misleading_indentation):
7374 Change declaration to take three token_indent_infos. Adjust
7375 accordingly.
7376 * c-identation.c (should_warn_for_misleading_indentation):
7377 Likewise. Bail out early if the body is a compound statement.
7378 (guard_tinfo_to_string): Define.
7379
e8fa3817
JM
73802015-07-30 Jason Merrill <jason@redhat.com>
7381
7382 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7383 '*' for reference decay.
7384
173864e8
MP
73852015-07-30 Marek Polacek <polacek@redhat.com>
7386
7387 * c-common.c (warn_tautological_cmp): Bail for float types.
7388
f2afe6dd
MP
73892015-07-27 Marek Polacek <polacek@redhat.com>
7390
7391 PR bootstrap/67030
7392 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7393
05b28fd6
MP
73942015-07-27 Marek Polacek <polacek@redhat.com>
7395
7396 PR c++/66555
7397 PR c/54979
7398 * c-common.c (find_array_ref_with_const_idx_r): New function.
7399 (warn_tautological_cmp): New function.
7400 * c-common.h (warn_tautological_cmp): Declare.
7401 * c.opt (Wtautological-compare): New option.
7402
5a5062b8
MP
74032015-07-23 Marek Polacek <polacek@redhat.com>
7404
7405 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7406 (ubsan_instrument_shift): Likewise.
7407
dc891fe7
MP
74082015-07-23 Marek Polacek <polacek@redhat.com>
7409
7410 PR sanitizer/66908
7411 * c-ubsan.c: Include gimplify.h.
7412 (ubsan_instrument_division): Unshare OP0 and OP1.
7413 (ubsan_instrument_shift): Likewise.
7414
451b5e48
MP
74152015-07-20 Marek Polacek <polacek@redhat.com>
7416 Richard Sandiford <richard.sandiford@arm.com>
7417
7418 PR c++/55095
7419 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7420 Use EXPR_LOC_OR_LOC.
7421 (maybe_warn_shift_overflow): New function.
7422 * c-common.h (maybe_warn_shift_overflow): Declare.
7423 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7424 * c.opt (Wshift-overflow): New option.
7425
fb0b2914
ML
74262015-07-16 Martin Liska <mliska@suse.cz>
7427
7428 * c-format.c (static void check_format_info_main): Use
7429 object_allocator instead of pool_allocator.
7430 (check_format_arg): Likewise.
7431 (check_format_info_main): Likewise.
7432
903f5c23
AM
74332015-07-15 Andrew MacLeod <amacleod@redhat.com>
7434
7435 * c-opts.c: Remove multiline #include comment.
7436
026c3cfd
AH
74372015-07-12 Aldy Hernandez <aldyh@redhat.com>
7438
7439 * c-common.c: Fix double word typos.
7440
bb49ee66
EB
74412015-07-10 Eric Botcazou <ebotcazou@adacore.com>
7442
7443 * c-ada-spec.h (cpp_operation): Revert latest change.
7444 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
7445 constructors and destructors.
7446
1916bcb5
AM
74472015-07-09 Andrew MacLeod <amacleod@redhat.com>
7448
7449 * c-common.h: Adjust includes for flags.h changes.
7450 * stub-objc.c: Likewise.
026c3cfd 7451
a9dcd529
EB
74522015-07-08 Eric Botcazou <ebotcazou@adacore.com>
7453
7454 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7455 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7456
b03b462f
JJ
74572015-07-08 Jakub Jelinek <jakub@redhat.com>
7458
7459 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7460 are to be removed, return NULL rather than original clauses list.
7461
c7131fb2
AM
74622015-07-07 Andrew MacLeod <amacleod@redhat.com>
7463
7464 * array-notation-common.c: Adjust includes.
7465 * c-ada-spec.c: Likewise.
7466 * c-cilkplus.c: Likewise.
7467 * c-common.h: Likewise.
7468 * c-cppbuiltin.c: Likewise.
7469 * c-dump.c: Likewise.
7470 * c-format.c: Likewise.
7471 * c-gimplify.c: Likewise.
7472 * c-indentation.c: Likewise.
7473 * c-lex.c: Likewise.
7474 * c-omp.c: Likewise.
7475 * c-opts.c: Likewise.
7476 * c-pch.c: Likewise.
7477 * c-ppoutput.c: Likewise.
7478 * c-pragma.c: Likewise.
7479 * c-pretty-print.c: Likewise.
7480 * c-semantics.c: Likewise.
7481 * c-ubsan.c: Likewise.
7482 * cilk.c: Likewise.
7483 * stub-objc.c: Likewise.
7484
2a7fb83f
EB
74852015-07-07 Eric Botcazou <ebotcazou@adacore.com>
7486
7487 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7488 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
7489
a03c9bf1
JM
74902015-07-01 Jason Merrill <jason@redhat.com>
7491
36a85135
JM
7492 * c-common.h (D_CXX11): Rename from D_CXX0X.
7493 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
7494 * c-common.c: Adjust.
7495
e7fa68d5
JM
7496 * c-opts.c (c_common_post_options): Default to C++14.
7497
a03c9bf1
JM
7498 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
7499
fe95b036
ESR
75002015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
7501
7502 Implement N4197 - Adding u8 character literals
b3d5bc62 7503 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 7504 CPP_CHAR.
b3d5bc62 7505 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 7506 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 7507 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
7508 and CPP_UTF8CHAR tokens.
7509 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 7510
da2e71c9
MLI
75112015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7512
7513 PR fortran/66605
7514 * c-common.c (do_warn_unused_parameter): Move here.
7515 * c-common.h (do_warn_unused_parameter): Declare.
7516
b155cfd9
MP
75172015-06-29 Marek Polacek <polacek@redhat.com>
7518
7519 PR c/66322
7520 * c-common.c (check_case_bounds): Add bool * parameter. Set
7521 OUTSIDE_RANGE_P.
7522 (c_add_case_label): Add bool * parameter. Pass it down to
7523 check_case_bounds.
7524 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
7525 warning here.
7526 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
7527 declarations.
7528
31521951
MP
75292015-06-27 Marek Polacek <polacek@redhat.com>
7530
7531 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
7532 or VECTOR_INTEGER_TYPE_P throughout.
7533 * c-gimplify.c: Likewise.
7534
22d03525
MP
75352015-06-26 Marek Polacek <polacek@redhat.com>
7536
7537 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
7538 * c-common.c (c_fully_fold_internal): Likewise.
7539 (c_alignof_expr): Likewise.
7540 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
7541 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 7542 * cilk.c (create_parm_list): Likewise.
22d03525 7543
af05e6e5
MP
75442015-06-26 Marek Polacek <polacek@redhat.com>
7545
7546 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
7547
f0889939
AM
75482015-06-25 Andrew MacLeod <amacleod@redhat.com>
7549
7550 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
7551 * c-gimplify.c: Likewise.
7552 * c-pragma.c: Likewise.
7553 * c-ubsan.c: Likewise.
7554 * cilk.c: Likewise.
7555
ca752f39
RS
75562015-06-25 Richard Sandiford <richard.sandiford@arm.com>
7557
7558 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
7559 ggc_hasher.
7560
16a16ec7
AM
75612015-06-25 Andrew MacLeod <amacleod@redhat.com>
7562
7563 * cilk.c: Move calls.h after tm.h in the include chain.
7564
0ae9bd27
MP
75652015-06-25 Marek Polacek <polacek@redhat.com>
7566
7567 * array-notation-common.c: Use VAR_P throughout.
7568 * c-ada-spec.c: Likewise.
7569 * c-common.c: Likewise.
7570 * c-format.c: Likewise.
7571 * c-gimplify.c: Likewise.
7572 * c-omp.c: Likewise.
7573 * c-pragma.c: Likewise.
7574 * c-pretty-print.c: Likewise.
7575 * cilk.c: Likewise.
7576
62f9079a
MP
75772015-06-25 Marek Polacek <polacek@redhat.com>
7578
7579 * cilk.c (extract_free_variables): Use is_global_var.
7580
0fa16060
RS
75812015-06-23 Richard Sandiford <richard.sandiford@arm.com>
7582
7583 * c-common.c: Don't include target-def.h.
7584
a68ae2e1
MP
75852015-06-23 Marek Polacek <polacek@redhat.com>
7586
7587 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
7588 when comparing INTEGER_CSTs.
7589
c6a2f2d9
PMR
75902015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
7591
7592 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
7593 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
7594 (dump_ada_template): Skip partially specialized types.
7595
6b4db501
MM
75962015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
7597
7598 * c-common.c (scalar_to_vector): Use std::swap instead of manually
7599 swapping.
7600
abb226c9
AM
76012015-06-17 Andrew MacLeod <amacleod@redhat.com>
7602
7603 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
7604 * c-ada-spec.c: Likewise.
7605 * c-cilkplus.c: Likewise.
7606 * c-common.c: Likewise.
7607 * c-common.h: Likewise.
7608 * c-cppbuiltin.c: Likewise.
7609 * c-dump.c: Likewise.
7610 * c-format.c: Likewise.
7611 * c-gimplify.c: Likewise.
7612 * c-indentation.c: Likewise.
7613 * c-lex.c: Likewise.
7614 * c-omp.c: Likewise.
7615 * c-opts.c: Likewise.
7616 * c-pch.c: Likewise.
7617 * c-ppoutput.c: Likewise.
7618 * c-pragma.c: Likewise.
7619 * c-pretty-print.c: Likewise.
7620 * c-semantics.c: Likewise.
7621 * c-ubsan.c: Likewise.
7622 * cilk.c: Likewise.
7623 * stub-objc.c: Likewise.
7624
076fecad
PP
76252015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
7626
7627 PR c++/65168
7628 * c-common.c (c_common_truthvalue_conversion): Warn when
7629 converting an address of a reference to a truth value.
7630
13fdf2e2
AM
76312015-06-08 Andrew MacLeod <amacleod@redhat.com>
7632
7633 * array-notation-common.c : Adjust include files.
7634 * c-ada-spec.c : Likewise.
7635 * c-cilkplus.c : Likewise.
7636 * c-common.c : Likewise.
7637 * c-common.h : Likewise.
7638 * c-cppbuiltin.c : Likewise.
7639 * c-dump.c : Likewise.
7640 * c-format.c : Likewise.
7641 * c-gimplify.c : Likewise.
7642 * c-indentation.c : Likewise.
7643 * c-lex.c : Likewise.
7644 * c-omp.c : Likewise.
7645 * c-opts.c : Likewise.
7646 * c-pch.c : Likewise.
7647 * c-ppoutput.c : Likewise.
7648 * c-pragma.c : Likewise.
7649 * c-pretty-print.c : Likewise.
7650 * c-semantics.c : Likewise.
7651 * c-ubsan.c : Likewise.
7652 * cilk.c : Likewise.
7653 * stub-objc.c : Likewise.
7654
a1661b90
MP
76552015-06-08 Marek Polacek <polacek@redhat.com>
7656
7657 PR c/66415
7658 * c-format.c (location_from_offset): Return LOC if LINE is null.
7659
d7438551
AH
76602015-06-05 Aldy Hernandez <aldyh@redhat.com>
7661
7662 * c-common.h (c_parse_final_cleanups): New prototype.
7663 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
7664
b3d5bc62
JJ
76652015-06-04 Sriraman Tallam <tmsriram@google.com>
7666
7667 * c-common.c (noplt): New attribute.
7668 (handle_noplt_attribute): New handler.
7669
ecb9f223
AM
76702015-06-04 Andrew MacLeod <amacleod@redhat.com>
7671
7672 * array-notation-common.c: Adjust includes for restructured coretypes.h.
7673 * c-ada-spec.c: Likewise.
7674 * c-cilkplus.c: Likewise.
7675 * c-common.c: Likewise.
7676 * c-common.h: Likewise.
7677 * c-cppbuiltin.c: Likewise.
7678 * c-dump.c: Likewise.
7679 * c-format.c: Likewise.
7680 * c-gimplify.c: Likewise.
7681 * c-indentation.c: Likewise.
7682 * c-lex.c: Likewise.
7683 * c-omp.c: Likewise.
7684 * c-opts.c: Likewise.
7685 * c-pch.c: Likewise.
7686 * c-ppoutput.c: Likewise.
7687 * c-pragma.c: Likewise.
7688 * c-pretty-print.c: Likewise.
7689 * c-semantics.c: Likewise.
7690 * c-ubsan.c: Likewise.
7691 * cilk.c: Likewise.
7692 * stub-objc.c: Likewise.
7693
6ac48155
DM
76942015-06-02 David Malcolm <dmalcolm@redhat.com>
7695
7696 PR c/66220:
7697 * c-indentation.c (should_warn_for_misleading_indentation): Use
7698 expand_location rather than expand_location_to_spelling_point.
7699 Don't warn if the guarding statement is more indented than the
7700 next/body stmts.
7701
773ce42e
DM
77022015-06-02 David Malcolm <dmalcolm@redhat.com>
7703
7704 * c-indentation.c (warn_for_misleading_indentation): Bail out
7705 immediately if -Wmisleading-indentation isn't enabled.
7706
4fef8379
ML
77072015-06-01 Martin Liska <mliska@suse.cz>
7708
7709 * c-format.c (check_format_arg):Use new type-based pool allocator.
7710 (check_format_info_main) Likewise.
7711
1edfb384
EB
77122015-05-31 Eric Botcazou <ebotcazou@adacore.com>
7713
7714 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
7715 (has_nontrivial_methods): Likewise.
7716
9677ef52
MP
77172015-05-25 Marek Polacek <polacek@redhat.com>
7718
7719 * c-ubsan.c (ubsan_instrument_shift): Use type0.
7720
fd5c817a
MP
77212015-05-22 Marek Polacek <polacek@redhat.com>
7722
7723 PR c/47043
7724 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
7725
a2f45fe6 77262015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
7727
7728 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
7729 STACK_GROWS_DOWNWARD.
7730
a2f45fe6 77312015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
7732
7733 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
7734 STACK_GROWS_DOWNWARD rather than if it is defined.
7735
0fee2ac2 77362015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 7737
0fee2ac2
MLI
7738 PR c/52952
7739 * c-format.c (location_column_from_byte_offset): New.
7740 (location_from_offset): New.
7741 (struct format_wanted_type): Add offset_loc field.
7742 (check_format_info): Move handling of location for extra arguments
7743 closer to the point of warning.
7744 (check_format_info_main): Pass the result of location_from_offset
7745 to warning_at.
7746 (format_type_warning): Pass the result of location_from_offset
7747 to warning_at.
7748
cf4ef6f7
MP
77492015-05-20 Marek Polacek <polacek@redhat.com>
7750
7751 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
7752
3a65ee74
MP
77532015-05-20 Marek Polacek <polacek@redhat.com>
7754
7755 * c-ada-spec.c (dump_sloc): Use DECL_P.
7756
21b634ae
MP
77572015-05-20 Marek Polacek <polacek@redhat.com>
7758
7759 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
7760 * c-common.c: Likewise.
7761
0e50b624
DM
77622015-05-19 David Malcolm <dmalcolm@redhat.com>
7763
7764 * c-common.h (fe_file_change): Strengthen param from
7765 const line_map * to const line_map_ordinary *.
7766 (pp_file_change): Likewise.
7767 * c-lex.c (fe_file_change): Likewise.
7768 (cb_define): Use linemap_check_ordinary when invoking
7769 SOURCE_LINE.
7770 (cb_undef): Likewise.
7771 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
7772 invoking cb_file_change.
7773 (c_finish_options): Likewise.
7774 (push_command_line_include): Likewise.
7775 (cb_file_change): Strengthen param "new_map" from
7776 const line_map * to const line_map_ordinary *.
7777 * c-ppoutput.c (cb_define): Likewise for local "map".
7778 (pp_file_change): Likewise for param "map" and local "from".
7779
fab27f52
MM
77802015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
7781
7782 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
7783
2fe1d762
TV
77842015-05-18 Tom de Vries <tom@codesourcery.com>
7785
7786 * c-common.c (build_va_arg_1): New function.
7787 (build_va_arg): Add address operator to va_list operand if necessary.
7788
7a37fa90
MM
77892015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
7790
7791 PR c/48956
7792 * c-common.c (int_safely_convertible_to_real_p): Define.
7793 (unsafe_conversion_p): Check conversions involving complex types.
7794 (conversion_warning): Add new warning message for conversions which
7795 discard imaginary component.
7796 * c-common.h: (enum conversion_safety): Add new enumerator for such
7797 conversions.
7798
3aa3c9fc
MP
77992015-05-14 Marek Polacek <polacek@redhat.com>
7800
7801 PR c/66066
7802 PR c/66127
7803 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
7804 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
7805 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
7806 use it. If FOR_INT_CONST, require that all evaluated operands be
7807 INTEGER_CSTs.
7808
c3388e62
DM
78092015-05-12 David Malcolm <dmalcolm@redhat.com>
7810
7811 * c-common.h (warn_for_misleading_indentation): New prototype.
7812 * c-indentation.c: New file.
7813 * c.opt (Wmisleading-indentation): New option.
7814
c7b38fd5
TV
78152015-05-12 Tom de Vries <tom@codesourcery.com>
7816
7817 PR tree-optimization/66010
7818 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
7819
381bf11e
JM
78202015-05-09 Jason Merrill <jason@redhat.com>
7821
edff0c06
JM
7822 * c-opts.c (c_common_post_options): Also clear
7823 cpp_opts->cpp_warn_cxx11_compat.
7824
129211bc
JM
7825 * c-common.h (enum cxx_dialect): Add cxx_unset.
7826 * c-common.c (cxx_dialect): Initialize to cxx_unset.
7827 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
7828
381bf11e
JM
7829 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
7830 (std=gnu++0x): Mark as Undocumented.
7831 (std=gnu++1y): Add deprecated message.
7832
fe191308
JM
78332015-05-08 Jason Merrill <jason@redhat.com>
7834
765189ff
JM
7835 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
7836 * c-opts.c: Adjust.
7837
fe191308
JM
7838 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
7839
755e528f
MP
78402015-05-08 Marek Polacek <polacek@redhat.com>
7841
7842 PR c/64918
7843 * c.opt (Woverride-init-side-effects): New option.
7844
0173bd2a
MP
78452015-05-07 Marek Polacek <polacek@redhat.com>
7846
7847 PR c/65179
7848 * c-common.c (c_fully_fold_internal): Warn when left shifting a
7849 negative value.
7850 * c.opt (Wshift-negative-value): New option.
7851 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
7852 when -Wextra and C99/C++11 mode.
7853
e0f0d3b9
MP
78542015-05-07 Marek Polacek <polacek@redhat.com>
7855 Martin Uecker <uecker@eecs.berkeley.edu>
7856
7857 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
7858 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
7859
8243e2a9
JM
78602015-05-05 Jason Merrill <jason@redhat.com>
7861
7862 * c.opt (Wterminate): New.
7863
577cd070
MP
78642015-04-30 Marek Polacek <polacek@redhat.com>
7865
7866 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
7867 require that the non-constant be of a boolean type.
7868
0373796b
JT
78692015-04-29 Josh Triplett <josh@joshtriplett.org>
7870
e0f0d3b9
MP
7871 * c-common.c (handle_section_attribute): Refactor to reduce
7872 nesting and distinguish between error cases.
0373796b 7873
716c0ba6
MP
78742015-04-29 Marek Polacek <polacek@redhat.com>
7875
7876 PR c/64610
7877 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
7878 with 0/1.
7879
8848828b
JJ
78802015-04-29 Jakub Jelinek <jakub@redhat.com>
7881
7882 * c-common.h (omp_clause_mask): Unconditionally define as a class.
7883 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
7884 HOST_BITS_PER_WIDE_INT.
7885
ecd0e562
TV
78862015-04-28 Tom de Vries <tom@codesourcery.com>
7887
7888 PR tree-optimization/65887
7889 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
7890
2a877204 78912015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 7892 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
7893
7894 * c-ada-spec.c (in_function): Delete.
7895 (dump_generic_ada_node): Do not change in_function and remove the
7896 redundant code dealing with it.
7897 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
7898 (print_ada_methods): Output the static member functions in a nested
7899 package after the regular methods as well as associated renamings.
7900
4853031e
MP
79012015-04-24 Marek Polacek <polacek@redhat.com>
7902
7903 PR c/65830
7904 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
7905 and OPT_Wshift_count_overflow.
7906
8c2b7f79
MP
7907 PR c/63357
7908 * c-common.c (warn_logical_operator): Warn if the operands have the
7909 same expressions.
7910
b8787813
MP
79112015-04-24 Marek Polacek <polacek@redhat.com>
7912
7913 PR c/61534
7914 * c-common.c (warn_logical_operator): Bail if either operand comes
7915 from a macro expansion.
7916
8fba1830
BRF
79172015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7918
7919 PR target/55143
7920 * c-common.c (c_default_pointer_mode): Add definition.
7921 * c-common.h (c_default_pointer_mode): Add declaration.
7922
17958621
JJ
79232015-03-11 Jakub Jelinek <jakub@redhat.com>
7924
7925 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
7926 on record_builtin_type argument.
7927
7ccb1a11
JJ
79282015-03-10 Jakub Jelinek <jakub@redhat.com>
7929
7930 PR c/65120
7931 * c-common.c (warn_logical_not_parentheses): Don't warn for
7932 !x == 0 or !x != 0.
7933
04fd785e
MP
79342015-03-07 Marek Polacek <polacek@redhat.com>
7935
7936 PR sanitizer/65280
7937 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
7938 before trying to figure out whether we have a flexible array member.
7939
a4e26206 79402015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 7941 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
7942
7943 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
7944
0d2489f4
EB
79452015-03-05 Eric Botcazou <ebotcazou@adacore.com>
7946
7947 PR ada/65319
7948 * c-ada-spec.c (print_destructor): Remove obsolete code.
7949
83ed54d7
EB
79502015-03-01 Eric Botcazou <ebotcazou@adacore.com>
7951
7952 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
7953 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
7954 DECL_TEMPLATE_RESULT emulations.
7955 (dump_ada_template)): Add guard for TYPE_METHODS.
7956
7631f0e2
MP
79572015-02-27 Marek Polacek <polacek@redhat.com>
7958
7959 PR c/65040
7960 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
7961
d1783ae5
KT
79622015-02-27 Kai Tietz <ktietz@redhat.com>
7963
7964 PR c/35330
7965 * c-pragma.c (handle_pragma_weak): Do not try to create
7966 weak/alias of declarations not being function, or variable
7967 declarations.
7968
56a9f6bc
TS
79692015-02-24 Thomas Schwinge <thomas@codesourcery.com>
7970
7971 PR libgomp/64625
7972 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
7973 Remove macros.
7974 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
7975
3d5cb23d
MP
79762015-02-16 Marek Polacek <polacek@redhat.com>
7977
7978 PR c/65066
7979 * c-format.c (check_format_types): Handle null param.
7980
fa008882
MP
79812015-02-13 Marek Polacek <polacek@redhat.com>
7982
7983 PR c/65040
7984 * c-format.c (check_format_types): Don't warn about different
7985 signedness if the original value is in the range of WANTED_TYPE.
7986
785f21af
JM
79872015-02-12 Jason Merrill <jason@redhat.com>
7988
7989 PR c++/64956
7990 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
7991 to the current highest version.
7992 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
7993
4886ec8e
JJ
79942015-02-04 Jakub Jelinek <jakub@redhat.com>
7995
7996 PR c/64824
7997 PR c/64868
7998 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
7999 instead of RDIV_EXPR. Use build_binary_op instead of
8000 build2_loc.
8001
40fecdd6
JM
80022015-01-30 Joseph Myers <joseph@codesourcery.com>
8003
8004 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8005 to pass input_location as first argument.
8006
a0c88d06
TV
80072015-01-23 Tom de Vries <tom@codesourcery.com>
8008
8009 PR libgomp/64672
8010 * c.opt (fopenacc): Mark as LTO option.
8011
1506ae0e
TV
80122015-01-23 Tom de Vries <tom@codesourcery.com>
8013
8014 PR libgomp/64707
8015 * c.opt (fopenmp): Mark as LTO option.
8016
31be63ab
JJ
80172015-01-21 Jakub Jelinek <jakub@redhat.com>
8018
8019 PR c/63307
b1726d6c 8020 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8021 (compare_decls): Fix up formatting.
8022
80232015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8024
8025 PR c/63307
8026 * cilk.c: Include vec.h.
8027 (struct cilk_decls): New structure.
8028 (wrapper_parm_cb): Split this function to...
8029 (fill_decls_vec): ...this...
8030 (create_parm_list): ...and this.
8031 (compare_decls): New function.
8032 (for_local_cb): Remove.
8033 (wrapper_local_cb): Ditto.
8034 (build_wrapper_type): For now first traverse and fill vector of
8035 declarations then sort it and then deal with sorted vector.
8036 (cilk_outline): Ditto.
8037 (declare_one_free_variable): Ditto.
8038
6875457f
JM
80392015-01-21 Jason Merrill <jason@redhat.com>
8040
8041 PR c++/64629
8042 * c-format.c (check_format_arg): Call decl_constant_value.
8043
185c9e56
ML
80442015-01-19 Martin Liska <mliska@suse.cz>
8045
8046 * c-common.c (handle_noicf_attribute): New function.
8047
41dbbb37
TS
80482015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8049 Bernd Schmidt <bernds@codesourcery.com>
8050 James Norris <jnorris@codesourcery.com>
8051 Cesar Philippidis <cesar@codesourcery.com>
8052 Ilmir Usmanov <i.usmanov@samsung.com>
8053 Jakub Jelinek <jakub@redhat.com>
8054
8055 * c.opt (fopenacc): New option.
8056 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8057 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8058 New macros.
8059 * c-common.h (c_finish_oacc_wait): New prototype.
8060 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8061 (c_finish_oacc_wait): New function.
8062 * c-pragma.c (oacc_pragmas): New variable.
8063 (c_pp_lookup_pragma, init_pragma): Handle it.
8064 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8065 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8066 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8067 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8068 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8069 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8070 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8071 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8072 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8073 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8074 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8075 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8076 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8077 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8078 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8079 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8080 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8081 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8082 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8083 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8084 PRAGMA_OACC_CLAUSE_WORKER.
8085
3f8257db 80862015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8087
8088 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8089 for the new option fstack-protector_explicit.
8090 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8091 (handle_stack_protect_attribute): New function.
8092
3f8257db 80932015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8094
8095 * c.opt: New option -Warray-bounds=.
8096
adfac8df
JJ
80972015-01-09 Michael Collison <michael.collison@linaro.org>
8098
8099 * array-notation-common.c: Include hash-set.h, machmode.h,
8100 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8101 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8102 * c-ada-spec.c: Ditto.
8103 * c-cilkplus.c: Ditto.
8104 * c-common.c: Include input.h due to flattening of tree.h.
8105 Define macro GCC_C_COMMON_C.
8106 * c-common.h: Flatten tree.h header files into c-common.h.
8107 Remove include of tree-core.h.
8108 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8109 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8110 fold-const.h, wide-int.h, and inchash.h due to
8111 flattening of tree.h.
8112 * c-dump.c: Ditto.
8113 * c-format.c: Flatten tree.h header files into c-common.h.
8114 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8115 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8116 fold-const.h, wide-int.h, and inchash.h due to
8117 flattening of tree.h.
8118 * c-dump.c: Include hash-set.h, machmode.h,
8119 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8120 fold-const.h, wide-int.h, and inchash.h due to
8121 flattening of tree.h.
8122 * c-format.c: Include hash-set.h, machmode.h,
8123 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8124 fold-const.h, wide-int.h, inchash.h and real.h due to
8125 flattening of tree.h.
8126 * c-gimplify.c: Include hash-set.h, machmode.h,
8127 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8128 fold-const.h, wide-int.h, and inchash.h due to
8129 flattening of tree.h.
8130 * cilk.c: Ditto.
8131 * c-lex.c: Ditto.
8132 * c-omp.c: Ditto.
8133 * c-opts.c: Ditto.
8134 * c-pch.c: Ditto.
8135 * c-ppoutput.c: Ditto.
8136 * c-pragma.c: Ditto.
8137 * c-pretty-print.c: Ditto.
8138 * c-semantics.c: Ditto.
8139 * c-ubsan.c: Ditto.
8140 * stub-objc.c: Ditto.
8141
f5481fc4
JM
81422015-01-08 Jason Merrill <jason@redhat.com>
8143
8144 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8145 do_ubsan_in_current_function.
8146 (ubsan_maybe_instrument_reference_or_call): Likewise.
8147 * c-ubsan.h: Declare it.
8148
de35aa66
MS
81492015-01-08 Mike Stump <mikestump@comcast.net>
8150
8151 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8152
4a9a42ab
MP
81532015-01-07 Marek Polacek <polacek@redhat.com>
8154
8155 PR c/64440
8156 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8157 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8158
2f42e5de
TS
81592015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8160
8161 PR c++/31397
8162 * c.opt (Wsuggest-override): New option.
8163
5624e564
JJ
81642015-01-05 Jakub Jelinek <jakub@redhat.com>
8165
8166 Update copyright years.
8167
5bd012f8
MP
81682015-01-05 Marek Polacek <polacek@redhat.com>
8169
8170 PR c/64423
8171 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8172 parameter. Use it.
8173 * c-common.h (warn_array_subscript_with_type_char): Update
8174 declaration.
8175
a7fa8d18
ESR
81762014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8177
8178 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8179 Control macro with flag_sized_deallocation.
8180
3f8257db 81812014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8182
8183 * c.opt (Wdiscarded-array-qualifiers): New option.
8184
1f8d3e84
JJ
81852014-12-19 Jakub Jelinek <jakub@redhat.com>
8186
8187 PR preprocessor/63831
8188 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8189 and __has_cpp_attribute here.
8190 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8191 c_common_has_attribute.
8192 * c-common.h (c_common_has_attribute): New prototype.
8193 * c-lex.c (init_c_lex): Set cb->has_attribute to
8194 c_common_has_attribute instead of cb_has_attribute.
8195 (get_token_no_padding): New function.
8196 (cb_has_attribute): Renamed to ...
8197 (c_common_has_attribute): ... this. No longer static. Use
8198 get_token_no_padding, require ()s, don't build TREE_LIST
8199 unnecessarily, fix up formatting, adjust diagnostics, call
8200 init_attributes.
8201
20b06add
JM
82022014-12-15 Jason Merrill <jason@redhat.com>
8203
8204 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8205 (-Wsized-deallocation): New.
8206 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8207 to on in C++14 and up.
8208
94a073b2
JM
82092014-12-11 Jason Merrill <jason@redhat.com>
8210
acaa5911
JM
8211 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8212
94a073b2
JM
8213 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8214 we aren't complaining about VLAs.
8215
7fb66c15
MP
82162014-12-06 Marek Polacek <polacek@redhat.com>
8217
8218 PR tree-optimization/64183
8219 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8220 shift-expression if it is integer_type_node. Use types_compatible_p.
8221
b731b390
JJ
82222014-11-29 Jakub Jelinek <jakub@redhat.com>
8223
8224 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8225 last argument from create_tmp_var_raw and create_tmp_var calls.
8226 * cilk.c (gimplify_cilk_spawn): Likewise.
8227 * c-omp.c (c_finish_omp_atomic): Likewise.
8228
6a4da643
MP
82292014-11-28 Marek Polacek <polacek@redhat.com>
8230
8231 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8232 instead of unsigned_type_node.
8233
541e35a6
MP
82342014-11-28 Marek Polacek <polacek@redhat.com>
8235
8236 PR c/63862
8237 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8238 to op1_utype.
8239 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8240 expression to unsigned_type_node.
8241
dcc97066
MW
82422014-11-20 Mark Wielaard <mjw@redhat.com>
8243
8244 PR debug/38757
8245 * c-opts.c (set_std_c89): Set lang_hooks.name.
8246 (set_std_c99): Likewise.
8247 (set_std_c11): Likewise.
8248 (set_std_cxx98): Likewise.
8249 (set_std_cxx11): Likewise.
8250 (set_std_cxx14): Likewise.
8251 (set_std_cxx1z): Likewise.
8252
aa7da51a
JJ
82532014-11-21 Jakub Jelinek <jakub@redhat.com>
8254
8255 PR target/63764
8256 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8257 return type to bool.
009a3480 8258 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8259 (convert_vector_to_pointer_for_subscript): Change return type to
8260 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8261 and copy it into a TARGET_EXPR and use that instead of *vecp
8262 directly.
8263
538dd0b7
DM
82642014-11-19 David Malcolm <dmalcolm@redhat.com>
8265
8266 Merger of git branch "gimple-classes-v2-option-3".
8267 * ChangeLog.gimple-classes: New.
8268 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8269 from being just a vec<gimple> to a vec<gbind *>.
8270
c39a5e99
JJ
82712014-11-18 Jakub Jelinek <jakub@redhat.com>
8272
8273 PR sanitizer/63813
8274 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8275 argument to ptype, set type to TREE_TYPE (ptype). Don't call
8276 get_pointer_alignment for non-pointers. Use ptype, or if it is
8277 reference type, corresponding pointer type, as type of kind
8278 argument.
8279 (ubsan_maybe_instrument_reference,
8280 ubsan_maybe_instrument_member_call): Adjust callers.
8281
8537a4a9
MP
82822014-11-15 Marek Polacek <polacek@redhat.com>
8283
8284 PR middle-end/63884
8285 * array-notation-common.c (is_sec_implicit_index_fn): Return false
8286 for NULL fndecl.
8287 (extract_array_notation_exprs): Return for NULL node.
8288
2079956a
JM
82892014-11-12 Joseph Myers <joseph@codesourcery.com>
8290
8291 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8292 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8293
1304953e
JJ
82942014-11-12 Jakub Jelinek <jakub@redhat.com>
8295
8296 PR c/59708
8297 * c-common.c (check_builtin_function_arguments): Handle
8298 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8299
e5e44252
AK
83002014-11-10 Andi Kleen <ak@linux.intel.com>
8301
8302 PR c/60804
8303 * c-common.h (check_no_cilk): Declare.
8304 * cilk.c (get_error_location): New function.
8305 (check_no_cilk): Dito.
8306
e64b984d
AK
83072014-11-10 Andi Kleen <ak@linux.intel.com>
8308
8309 * cilk.c (recognize_spawn): Use expression location
8310 for error message.
8311
13c21655
PC
83122014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
8313
8314 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8315
42fd12b1
ESR
83162014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
8317
8318 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8319 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8320 (__cpp_range_based_for, __cpp_initializer_lists,
8321 __cpp_delegating_constructors, __cpp_nsdmi,
8322 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8323 for C++11; (__cpp_attribute_deprecated): Remove in favor of
8324 __has_cpp_attribute.
8325 * c-lex.c (cb_has_attribute): New callback CPP function;
8326 (init_c_lex): Set has_attribute callback.
8327
6f450181
RB
83282014-11-04 Richard Biener <rguenther@suse.de>
8329
8330 * c-common.c (shorten_compare): Do not shorten mixed
8331 DFP and non-DFP compares.
8332
26f0e1d6
ESR
83332014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8334
8335 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8336 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8337 Commentary and rearrangement of tests.
8338 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8339 Commentary and rearrangement of tests.
ab20d992 8340 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
8341 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8342
ef4bddc2
RS
83432014-10-29 Richard Sandiford <richard.sandiford@arm.com>
8344
8345 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8346 enum from machine_mode.
8347
c582198b
AM
83482014-10-28 Andrew MacLeod <amacleod@redhat.com>
8349
adfac8df
JJ
8350 * c-common.c: Adjust include files.
8351 * c-gimplify.c: Ditto.
8352 * cilk.c: Ditto.
8353 * c-pragma.c: Ditto.
8354 * c-ubsan.c: Ditto.
c582198b 8355
60393bbc
AM
83562014-10-27 Andrew MacLeod <amacleod@redhat.com>
8357
8358 * c-gimplify.c: Adjust include files.
8359
d723bb7c
MLI
83602014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8361
8362 PR c++/53061
8363 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8364 c_common_initialize_diagnostics.
8365 * c-common.h: Likewise.
8366
90f3520e
MP
83672014-10-24 Marek Polacek <polacek@redhat.com>
8368
8369 PR c/56980
8370 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8371 print "struct"/"union"/"enum" for typedefed names.
8372
59d7607a
MP
83732014-10-23 Marek Polacek <polacek@redhat.com>
8374
8375 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8376 in unsigned type.
8377
d95a2703
JJ
83782014-10-22 Jakub Jelinek <jakub@redhat.com>
8379 Yury Gribov <y.gribov@samsung.com>
8380
8381 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8382 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8383 instead of flag_sanitize_recover as bool flag.
8384
8e6ef852
KY
83852014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
8386
8387 * cilk.c: Revert previous change.
8388
948cf550
IZ
83892014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
8390
8391 PR c/63307
8392 * cilk.c: Include vec.h.
8393 (struct cilk_decls): New structure.
8394 (wrapper_parm_cb): Split this function to...
8395 (fill_decls_vec): ...this...
8396 (create_parm_list): ...and this.
8397 (compare_decls): New function.
8398 (for_local_cb): Remove.
8399 (wrapper_local_cb): Ditto.
8400 (build_wrapper_type): For now first traverse and fill vector of
8401 declarations then sort it and then deal with sorted vector.
8402 (cilk_outline): Ditto.
8403 (declare_one_free_variable): Ditto.
8404
92574c7c
MP
84052014-10-17 Marek Polacek <polacek@redhat.com>
8406
8407 * c-opts.c (c_common_post_options): Set warn_implicit_int.
8408 * c.opt (Wimplicit-int): Initialize to -1.
8409
83685514
AM
84102014-10-16 Andrew MacLeod <amacleod@redhat.com>
8411
8412 * c-pragma.c: Adjust include files.
8413 * c-semantics.c: Likewise.
8414
5b8300ea
DD
84152014-10-16 DJ Delorie <dj@redhat.com>
8416
8417 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8418 multiples of bytes.
8419
5f83e90b
JM
84202014-10-14 Jason Merrill <jason@redhat.com>
8421
8422 PR c++/63455
8423 * c-common.h (CPP_PREPARSED_EXPR): New.
8424 (N_CP_TTYPES): Adjust.
8425
d73326ca
MP
84262014-10-15 Marek Polacek <polacek@redhat.com>
8427
8428 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8429
78a7c317
DD
84302014-10-14 DJ Delorie <dj@redhat.com>
8431
8432 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8433 types, not just __int128.
8434 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8435 types, not just __int128.
8436 (cpp_atomic_builtins): Round pointer sizes up.
8437 (type_suffix): Use type precision, not specific types.
8438 * c-common.c (c_common_reswords): Remove __int128 special case.
8439 (c_common_type_for_size): Check for all __intN types, not just
8440 __int128.
8441 (c_common_type_for_mode): Likewise.
8442 (c_common_signed_or_unsigned_type): Likewise.
8443 (c_build_bitfield_integer_type): Likewise.
8444 (c_common_nodes_and_builtins): Likewise.
8445 (keyword_begins_type_specifier): Likewise.
8446 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8447 __intN variants.
8448
2a22f99c
TS
84492014-10-12 Trevor Saunders <tsaunders@mozilla.com>
8450
8451 * c-common.c: Use hash_table instead of hashtab.
8452
2a8ef767
ESR
84532014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
8454
adfac8df 8455 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
8456 C++11 section.
8457
3c9aabbd
MG
84582014-10-03 Marc Glisse <marc.glisse@inria.fr>
8459
8460 PR c++/54427
8461 PR c++/57198
8462 PR c++/58845
8463 * c-common.c (warn_logical_operator): Punt for vectors.
8464
a15f7cb8
ESR
84652014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8466
8467 Implement SD-6: SG10 Feature Test Recommendations
8468 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8469 macros and the __has_header macro.
8470
8d0cf15e
JM
84712014-09-30 Jason Merrill <jason@redhat.com>
8472
dd5d5481
JM
8473 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8474 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8475 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8476
b752325e
JM
8477 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8478 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8479
8d0cf15e
JM
8480 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8481 * c-common.c (c_common_reswords): Remove __is_convertible_to.
8482
083e891e
MP
84832014-09-24 Marek Polacek <polacek@redhat.com>
8484
8485 PR c/61405
8486 PR c/53874
8487 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8488
7861b648
AK
84892014-09-23 Andi Kleen <ak@linux.intel.com>
8490
8491 * c-common.c (handle_no_reorder_attribute): New function.
8492 (c_common_attribute_table): Add no_reorder attribute.
8493
9a79452d
JM
84942014-09-22 Joseph Myers <joseph@codesourcery.com>
8495
8496 * c-cppbuiltin.c (c_cpp_builtins): Define
8497 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
8498 modes.
8499
dd69f047
JM
85002014-09-18 Joseph Myers <joseph@codesourcery.com>
8501
8502 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
8503 for supported floating-point modes.
8504
737a4826
MLI
85052014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8506
8507 * c.opt (Wpsabi): Use LangEnabledBy.
8508 * c-opts.c (c_common_handle_option): Do not handle here.
8509
8cc4b7a2
JM
85102014-09-12 Joseph Myers <joseph@codesourcery.com>
8511
8512 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
8513 macros for floating-point modes.
8514
179b5a55
MG
85152014-09-11 Marc Glisse <marc.glisse@inria.fr>
8516
8517 PR target/58757
8518 * c-cppbuiltin.c (builtin_define_float_constants): Correct
8519 __*_DENORM_MIN__ without denormals.
8520
570a11fe
JJ
85212014-09-10 Jakub Jelinek <jakub@redhat.com>
8522
8523 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8524 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8525 ubsan_create_data callers.
8526 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
8527 index is constant or BIT_AND_EXPR with constant mask and is
8528 small enough for the bound.
8529 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
8530 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
8531
b559c810
MLI
85322014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8533
8534 * c.opt: Add CppReason to various flags.
8535 (Wdate-time): Re-sort.
8536 * c-common.c: Include c-common.h earlier.
8537 (struct reason_option_codes_t): Delete.
8538 (c_option_controlling_cpp_error): Prefix global type and struct
8539 with cpp_.
8540
1ef33fd4
MLI
85412014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8542
8543 * c.opt (Wnormalized): New.
8544 (Wnormalized=): Use Enum and Reject Negative.
8545 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
8546
66bb34c0
JM
85472014-09-08 Joseph Myers <joseph@codesourcery.com>
8548
8549 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
8550 digits of floating-point modes if -fbuilding-libgcc.
8551
53d68b9f
JM
85522014-09-05 Joseph Myers <joseph@codesourcery.com>
8553
8554 * c-cppbuiltin.c (c_cpp_builtins): Also define
8555 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
8556 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
8557 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
8558 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
8559 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
8560 __LIBGCC_STACK_GROWS_DOWNWARD__,
8561 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
8562 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
8563 __LIBGCC_DWARF_FRAME_REGISTERS__,
8564 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
8565 __LIBGCC_STACK_POINTER_REGNUM__ and
8566 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
8567 (builtin_define_with_value): Handle backslash-escaping in string
8568 macro values.
8569
f65586dc
RB
85702014-09-05 Richard Biener <rguenther@suse.de>
8571
8572 PR middle-end/63148
8573 * c-format.c (check_format_arg): Properly handle
8574 effectively signed POINTER_PLUS_EXPR offset.
8575
2b71f4a4
MLI
85762014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8577
8578 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
8579 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
8580 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
8581 and Init.
8582 * c-opts.c (c_common_handle_option): Do not handle here.
8583 (sanitize_cpp_opts): Likewise.
8584 * c-common.c (struct reason_option_codes_t): Handle
8585 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
8586
d2e4feca
MP
85872014-09-03 Marek Polacek <polacek@redhat.com>
8588
8589 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
8590
9a771876
JJ
85912014-09-02 Jakub Jelinek <jakub@redhat.com>
8592 Balaji V. Iyer <balaji.v.iyer@intel.com>
8593 Igor Zamyatin <igor.zamyatin@intel.com>
8594
8595 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
8596 * c-common.c (c_common_reswords): Added _Cilk_for.
8597 * c-common.h (enum rid): Added RID_CILK_FOR.
8598 (cilk_for_number_of_iterations): Add declaration.
8599 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
8600 CILK_FOR.
8601 * c-pragma.c (init_pragma): Register "grainsize" pragma.
8602 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
8603
81b5d104
MLI
86042014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8605
8606 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
8607 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
8608 Wundef): Use CPP, Var and Init.
8609 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
8610
b753b37b
MLI
86112014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8612
8613 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
8614 * c-opts.c (c_common_handle_option): Do not handle here.
8615
028aee17
JM
86162014-08-25 Jason Merrill <jason@redhat.com>
8617
8618 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
8619 -std=c++14 and -std=gnu++14, rather than the reverse.
8620 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
8621 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
8622 * c-common.h (cxx_dialect): Remove cxx1y.
8623
e4276ba5
ESR
86242014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
8625
8626 * c-common.h (enum cxx_dialect): Add cxx14.
8627 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
8628 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
8629 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
8630
a545cacd
JM
86312014-08-22 Jason Merrill <jason@redhat.com>
8632
8633 * c.opt (std=gnu++17): Fix alias.
8634
59ea0364
MP
86352014-08-22 Marek Polacek <polacek@redhat.com>
8636
8637 PR c++/62199
8638 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
8639 check for vector types. Drop LHS argument.
8640 * c-common.h (warn_logical_not_parentheses): Adjust.
8641
596e808c
MLI
86422014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8643
8644 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
8645 (Wmultichar): Likewise.
8646 (Wdate-time): Use C-family languages instead of Common. Use CPP
8647 and Var.
8648 * c-opts.c (c_common_handle_option): Do not handle the above
8649 options here.
8650 (sanitize_cpp_opts): Likewise.
8651
18767f65
MLI
86522014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8653
8654 PR fortran/44054
8655 * c-opts.c: Include tree-diagnostics.h.
8656 (c_diagnostic_finalizer): New.
8657 (c_common_initialize_diagnostics): Use it.
8658
b4413594
MLI
86592014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8660
8661 PR preprocessor/51303
8662 * c-common.c (struct reason_option_codes_t option_codes):
8663 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
8664
43f9a13c
MLI
86652014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8666
8667 PR c/60975
8668 PR c/53063
8669 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
8670 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
8671 (c_common_post_options): Call init_global_opts_from_cpp.
8672 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
8673
04159acf
MP
86742014-08-19 Marek Polacek <polacek@redhat.com>
8675
8676 PR c++/62153
8677 * c-common.c (maybe_warn_bool_compare): New function.
8678 * c-common.h (maybe_warn_bool_compare): Declare.
8679 * c.opt (Wbool-compare): New option.
8680
35aff4fb
MP
86812014-08-19 Marek Polacek <polacek@redhat.com>
8682
8683 * c.opt (Wc99-c11-compat): New option.
8684
177cce46
MP
86852014-08-19 Marek Polacek <polacek@redhat.com>
8686
8687 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
8688 to warn_c90_c99_compat.
8689 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
8690 to -1.
8691
6ae9194f
MLI
86922014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
8693 Steven Bosscher <steven@gcc.gnu.org>
8694
8695 PR c/52952
8696 * c-format.c: Add extra_arg_loc and format_string_loc to struct
8697 format_check_results.
8698 (check_function_format): Use true and add comment for boolean
8699 argument.
8700 (finish_dollar_format_checking): Use explicit location when warning.
8701 (check_format_info): Likewise.
8702 (check_format_arg): Set extra_arg_loc and format_string_loc.
8703 (check_format_info_main): Use explicit location when warning.
8704 (check_format_types): Pass explicit location.
8705 (format_type_warning): Likewise.
8706
8e54f6d3
MLI
87072014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8708
8709 PR fortran/44054
8710 * c-format.c: Handle Fortran flags.
8711
cd4e76fc
IZ
87122014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
8713
8714 PR other/61962
8715 * array-notation-common.c (find_rank): Added handling for other
8716 types of references.
8717
f3bede71
MP
87182014-08-10 Marek Polacek <polacek@redhat.com>
8719
8720 PR c/51849
8721 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
8722 * c.opt (Wc90-c99-compat): Add option.
8723
9f25a338
TS
87242014-08-07 Trevor Saunders <tsaunders@mozilla.com>
8725
8726 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
8727
62e4eb35
MP
87282014-08-03 Marek Polacek <polacek@redhat.com>
8729
ab20d992 8730 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
8731 (c_add_case_label): Pass loc to check_case_value.
8732
b787e7a2
TS
87332014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8734
8735 * cilk.c: Use hash_map instead of pointer_map.
8736
6e2830c3
TS
87372014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8738
8739 * c-gimplify.c: Use hash_set instead of pointer_set.
8740
a7ee52fb
IZ
87412014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
8742
8743 PR middle-end/61455
8744 * array-notation-common.c (extract_array_notation_exprs): Handling
8745 of DECL_EXPR added.
8746
944fa280
JJ
87472014-08-01 Jakub Jelinek <jakub@redhat.com>
8748
8749 * c-common.h (min_align_of_type): Removed prototype.
8750 * c-common.c (min_align_of_type): Removed.
8751 * c-ubsan.h (ubsan_maybe_instrument_reference,
8752 ubsan_maybe_instrument_member_call): New prototypes.
8753 * c-ubsan.c: Include stor-layout.h and builtins.h.
8754 (ubsan_maybe_instrument_reference_or_call,
8755 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
8756 functions.
8757
b4dfdc11
MG
87582014-07-31 Marc Glisse <marc.glisse@inria.fr>
8759
8760 PR c++/60517
8761 * c.opt (-Wreturn-local-addr): Move to common.opt.
8762
a41844e5
JM
87632014-07-30 Jason Merrill <jason@redhat.com>
8764
8765 PR c++/61659
8766 PR c++/61687
8767 Revert:
8768 * c.opt (-fuse-all-virtuals): New.
8769
976d5a22
TT
87702014-07-30 Tom Tromey <tromey@redhat.com>
8771
8772 PR c/59855
8773 * c.opt (Wdesignated-init): New option.
8774 * c-common.c (c_common_attribute_table): Add "designated_init".
8775 (handle_designated_init): New function.
8776
cdc94aca
MP
87772014-07-24 Marek Polacek <polacek@redhat.com>
8778
8779 PR c/57653
8780 * c-opts.c (c_finish_options): If -imacros is in effect, return.
8781
f41373b6
DS
87822014-07-16 Dodji Seketeli <dodji@redhat.com>
8783
8784 PR preprocessor/60723 - missing system-ness marks for macro tokens
8785 * c-ppoutput.c (struct print::prev_was_system_token): New data
8786 member.
8787 (init_pp_output): Initialize it.
8788 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
8789 (do_line_change): Return a flag saying if a line marker was
8790 emitted or not.
8791 (scan_translation_unit): Detect if the system-ness of the token we
8792 are about to emit is different from the one of the previously
8793 emitted token. If so, emit a line marker. Avoid emitting useless
8794 adjacent line markers. Avoid emitting line markers for tokens
8795 originating from the expansion of built-in macros.
8796 (scan_translation_unit_directives_only): Adjust.
8797
4d661eaa
MP
87982014-07-15 Marek Polacek <polacek@redhat.com>
8799
8800 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
8801 TYPE_MAX_VALUE is NULL.
8802
b108f48f
JJ
88032014-07-14 Jakub Jelinek <jakub@redhat.com>
8804
8805 PR middle-end/61294
8806 * c.opt (Wmemset-transposed-args): New warning.
8807
c0221884
JM
88082014-07-10 Jason Merrill <jason@redhat.com>
8809
8810 PR c++/61659
8811 PR c++/61687
8812 * c.opt (-fuse-all-virtuals): New.
8813
63dfbb95
RB
88142014-07-09 Richard Biener <rguenther@suse.de>
8815
8816 PR c-family/61741
8817 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8818 using unsigned arithmetic if overflow does not wrap instead of
8819 if overflow is undefined.
8820
773ec47f
MP
88212014-07-06 Marek Polacek <polacek@redhat.com>
8822
8823 PR c/6940
8824 * c.opt (Wsizeof-array-argument): New option.
8825
00a7ba58
JJ
88262014-07-03 Jakub Jelinek <jakub@redhat.com>
8827
b1726d6c 8828 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
8829 comments->count <= 1, as comments->entries might be NULL.
8830
52ec0ea3
MP
88312014-07-01 Marek Polacek <polacek@redhat.com>
8832
8833 * c.opt (Wint-conversion): New option.
8834
d5c3d343
MP
88352014-07-01 Marek Polacek <polacek@redhat.com>
8836
8837 PR c/58286
8838 * c.opt (Wincompatible-pointer-types): New option.
8839
6e7ceb17
PC
88402014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
8841
8842 PR c++/51400
8843 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
8844 Do not discard TYPE_QUALS of type.
8845
da73100b
JM
88462014-06-26 Jason Merrill <jason@redhat.com>
8847
8848 * c-common.h (enum cxx_dialect): Add cxx1z.
8849 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
8850 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
8851
08eedf75
TJ
88522014-06-26 Teresa Johnson <tejohnson@google.com>
8853
8854 * c-common.h (get_dump_info): Declare.
8855 * c-gimplify.c (c_genericize): Use saved dump files.
8856 * c-opts.c (c_common_parse_file): Begin and end dumps
8857 once around parsing invocation.
8858 (get_dump_info): New function.
8859
7b56b2f8
MP
88602014-06-23 Marek Polacek <polacek@redhat.com>
8861 Andrew MacLeod <amacleod@redhat.com>
8862
8863 PR c/61553
8864 * c-common.c (get_atomic_generic_size): Don't segfault if the
8865 type doesn't have a size.
8866
0e37a2f3
MP
88672014-06-20 Marek Polacek <polacek@redhat.com>
8868
8869 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
8870 (ubsan_walk_array_refs_r): New function.
8871 (c_genericize): Instrument array bounds.
8872 * c-ubsan.c: Include "internal-fn.h".
8873 (ubsan_instrument_division): Mark instrumented arrays as having
8874 side effects. Adjust ubsan_type_descriptor call.
8875 (ubsan_instrument_shift): Likewise.
8876 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
8877 (ubsan_instrument_bounds): New function.
8878 (ubsan_array_ref_instrumented_p): New function.
8879 (ubsan_maybe_instrument_array_ref): New function.
8880 * c-ubsan.h (ubsan_instrument_bounds): Declare.
8881 (ubsan_array_ref_instrumented_p): Declare.
8882 (ubsan_maybe_instrument_array_ref): Declare.
8883
88842014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
8885
8886 PR lto/61123
8887 * c.opt (fshort-enums): Add to LTO.
8888 * c.opt (fshort-wchar): Likewise.
8889
5c3d09f7
MP
88902014-06-16 Marek Polacek <polacek@redhat.com>
8891
8892 PR c/60439
8893 * c.opt (Wswitch-bool): Add Var.
8894
9cf32741
JJ
88952014-06-12 Jakub Jelinek <jakub@redhat.com>
8896
8897 PR middle-end/61486
8898 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
8899 #pragma omp target teams or
8900 #pragma omp {,target }teams distribute simd.
8901
62984918
JM
89022014-06-12 Jason Merrill <jason@redhat.com>
8903
8904 * c.opt (Wabi=, fabi-compat-version): New.
8905 * c-opts.c (c_common_handle_option): Handle -Wabi=.
8906 (c_common_post_options): Handle flag_abi_compat_version default.
8907 Disallow -fabi-compat-version=1.
8908 * c-common.h (abi_version_crosses): New.
8909
f961457f
JH
89102014-06-11 Jan Hubicka <hubicka@ucw.cz>
8911
adfac8df 8912 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
8913 section names that are no longer trees.
8914
92d28cbb
JJ
89152014-06-10 Jakub Jelinek <jakub@redhat.com>
8916
8917 PR fortran/60928
8918 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
8919 (omp_pragmas): ... back here.
8920
742938c9
MP
89212014-06-05 Marek Polacek <polacek@redhat.com>
8922
8923 PR c/49706
8924 * c-common.c (warn_logical_not_parentheses): New function.
8925 * c-common.h (warn_logical_not_parentheses): Declare.
8926 * c.opt (Wlogical-not-parentheses): New option.
8927
9d548dfb
MP
89282014-06-04 Marek Polacek <polacek@redhat.com>
8929
8930 PR c/30020
8931 * c-common.c (check_case_bounds): Add location parameter.
8932 Use it.
8933 (c_add_case_label): Pass loc to check_case_bounds.
8934
fedfecef
MP
89352014-06-03 Marek Polacek <polacek@redhat.com>
8936
8937 PR c/60439
8938 * c.opt (Wswitch-bool): New option.
8939
f6a7cffc
TS
89402014-05-22 Thomas Schwinge <thomas@codesourcery.com>
8941
040d18b6
TS
8942 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
8943 Remove prototypes.
8944 (record_types_used_by_current_var_decl): Move prototype to where
8945 it belongs.
8946
f6a7cffc
TS
8947 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
8948 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
8949 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
8950
632f2871
RS
89512014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8952
8953 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
8954 * c-common.c (c_common_nodes_and_builtins): Don't initialize
8955 void_zero_node.
8956 * c-pretty-print.c (pp_c_void_constant): New function.
8957 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
8958 (c_pretty_printer::expression): Handle VOID_CST.
8959 * cilk.c (extract_free_variables): Likewise.
8960 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
8961 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
8962
766090c2
TS
89632014-05-17 Trevor Saunders <tsaunders@mozilla.com>
8964
8965 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
8966 * c-pragma.c (push_alignment): Adjust.
8967 (handle_pragma_push_options): Likewise.
8968
661a0813
MP
89692014-05-09 Marek Polacek <polacek@redhat.com>
8970
8971 PR c/50459
8972 * c-common.c (check_user_alignment): Return -1 if alignment is error
8973 node.
8974 (handle_aligned_attribute): Don't call default_conversion on
8975 FUNCTION_DECLs.
8976 (handle_vector_size_attribute): Likewise.
8977 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
8978 (handle_sentinel_attribute): Call default_conversion and allow even
8979 integral types as an argument.
8980
2793eeab
MP
89812014-05-08 Marek Polacek <polacek@redhat.com>
8982
8983 PR c/61053
8984 * c-common.c (min_align_of_type): New function factored out from...
8985 (c_sizeof_or_alignof_type): ...here.
8986 * c-common.h (min_align_of_type): Declare.
8987
f827930a
MP
89882014-05-08 Marek Polacek <polacek@redhat.com>
8989
8990 PR c/61077
8991 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
8992 parameter type of main.
8993
ca49b74e
DD
89942014-05-07 DJ Delorie <dj@redhat.com>
8995
8996 * c-cppbuiltin.c (print_bits_of_hex): New.
8997 (builtin_define_type_minmax): Print values using hex so as not to
8998 require a pre-computed list of string values.
8999
1d60af08
KZ
90002014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9001 Mike Stump <mikestump@comcast.net>
9002 Richard Sandiford <rdsandiford@googlemail.com>
9003
9004 * c-ada-spec.c: Include wide-int.h.
9005 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9006 (dump_generic_ada_node): Use wide-int interfaces.
9007 * c-common.c: Include wide-int-print.h.
9008 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9009 (pointer_int_sum): Use wide-int interfaces.
9010 (c_common_nodes_and_builtins): Use make_int_cst.
9011 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9012 (handle_alloc_size_attribute): Use wide-int interfaces.
9013 (get_nonnull_operand): Likewise.
9014 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9015 * c-lex.c: Include wide-int.h.
9016 (narrowest_unsigned_type): Take a widest_int rather than two
9017 HOST_WIDE_INTs.
9018 (narrowest_signed_type): Likewise.
9019 (interpret_integer): Update accordingly. Use wide-int interfaces.
9020 (lex_charconst): Use wide-int interfaces.
9021 * c-pretty-print.c: Include wide-int.h.
9022 (pp_c_integer_constant): Use wide-int interfaces.
9023 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9024 INT_CST_LT_UNSIGNED.
9025
b15458be
RB
90262014-05-06 Richard Biener <rguenther@suse.de>
9027
9028 * c-opts.c (c_common_post_options): For -freestanding,
9029 -fno-hosted and -fno-builtin disable pattern recognition
9030 if not enabled explicitely.
9031
6577374e
MP
90322014-05-02 Marek Polacek <polacek@redhat.com>
9033
9034 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9035
d00887e8
MP
90362014-05-01 Marek Polacek <polacek@redhat.com>
9037
9038 PR c/43245
9039 * c.opt (Wdiscarded-qualifiers): Add.
9040
f8ed5150
MP
90412014-04-30 Marek Polacek <polacek@redhat.com>
9042
9043 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9044 INT_MIN / -1 sanitization only for integer types.
9045
45484dcf
MP
90462014-04-25 Marek Polacek <polacek@redhat.com>
9047
9048 PR c/18079
9049 * c-common.c (handle_noinline_attribute): Warn if the attribute
9050 conflicts with always_inline attribute.
9051 (handle_always_inline_attribute): Warn if the attribute conflicts
9052 with noinline attribute.
9053
38e514c0
MP
90542014-04-25 Marek Polacek <polacek@redhat.com>
9055
9056 PR c/60156
9057 * c-common.c (check_main_parameter_types): Warn about variadic main.
9058
44875f92
MS
90592014-04-24 Mike Stump <mikestump@comcast.net>
9060
9061 * c.opt (Wshadow-ivar): Default to on.
9062
dcaaa5a0
DP
90632014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9064
9065 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9066
c07d7c02
MP
90672014-04-23 Marek Polacek <polacek@redhat.com>
9068
9069 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9070
1c33c9b7
JJ
90712014-04-22 Jakub Jelinek <jakub@redhat.com>
9072
9073 PR sanitizer/60275
9074 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9075 if flag_sanitize_undefined_trap_on_error.
9076 (ubsan_instrument_division, ubsan_instrument_shift,
9077 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9078 if !flag_sanitize_recover.
9079
793c625f
MG
90802014-04-22 Marc Glisse <marc.glisse@inria.fr>
9081
9082 PR libstdc++/43622
9083 * c-common.c (registered_builtin_types): Make non-static.
9084 * c-common.h (registered_builtin_types): Declare.
9085
b0f1bf36 90862014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9087 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9088
9089 PR c/60819
9090 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9091 apply may-alias the scalar pointer type when applicable.
9092
3b07fa4a
IZ
90932014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9094
9095 PR middle-end/60467
9096 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9097 as possible argument for Cilk_spawn.
9098
cbbd2b1c
TB
90992014-04-11 Tobias Burnus <burnus@net-b.de>
9100
9101 PR c/60194
9102 * c.opt (Wformat-signedness): Add
9103 * c-format.c(check_format_types): Use it.
9104
6415bd5d
JM
91052014-04-11 Jason Merrill <jason@redhat.com>
9106
9107 PR c++/57926
9108 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9109 default_conversion for an array argument.
9110
6525783a
MP
91112014-04-08 Marek Polacek <polacek@redhat.com>
9112
9113 PR sanitizer/60745
9114 * c-ubsan.c: Include asan.h.
9115 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9116
880a467b
NS
91172014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9118
9119 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9120
7b59ff2d
MP
91212014-04-02 Marek Polacek <polacek@redhat.com>
9122
9123 * c-common.h (c_expand_expr): Remove declaration.
9124
8edbfaa6
JJ
91252014-03-28 Jakub Jelinek <jakub@redhat.com>
9126
9127 PR c++/60689
9128 * c-common.c (add_atomic_size_parameter): When creating new
9129 params vector, push the size argument first.
9130
07d72e1d
JJ
91312014-03-26 Jakub Jelinek <jakub@redhat.com>
9132
9133 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9134 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9135 ubsan_create_data callers.
9136
b35e0fa0
JJ
91372014-03-22 Jakub Jelinek <jakub@redhat.com>
9138
9139 PR debug/60603
9140 * c-opts.c (c_finish_options): Restore cb_file_change call to
9141 <built-in>.
9142
39a1ebb3
JJ
91432014-03-13 Jakub Jelinek <jakub@redhat.com>
9144
9145 PR middle-end/36282
9146 * c-pragma.c (apply_pragma_weak): Only look at
9147 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9148 DECL_ASSEMBLER_NAME_SET_P (decl).
9149 (maybe_apply_pending_pragma_weaks): Exit early if
9150 vec_safe_is_empty (pending_weaks) rather than only when
9151 !pending_weaks.
9152 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9153 set assembler name back to NULL afterwards.
9154
a07f6ed2
JM
91552014-03-11 Jason Merrill <jason@redhat.com>
9156
9157 * c.opt: Add -std=gnu++14.
9158
75b107f5
IB
91592014-03-11 Ian Bolton <ian.bolton@arm.com>
9160
9161 * c-opts.c (c_common_post_options): Don't override
9162 -ffp-contract=fast if unsafe-math-optimizations is on.
9163
f42c637e
PM
91642014-03-08 Paulo Matos <paulo@matos-sorge.com>
9165
22b15758 9166 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9167
70e24808
JM
91682014-03-07 Jason Merrill <jason@redhat.com>
9169
9170 * c.opt: Add -std=c++14.
9171
3af9c5e9
MP
91722014-03-06 Marek Polacek <polacek@redhat.com>
9173
9174 PR c/60197
9175 * cilk.c (contains_cilk_spawn_stmt): New function.
9176 (contains_cilk_spawn_stmt_walker): Likewise.
9177 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9178 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9179
b3bdf019
JJ
91802014-03-03 Jakub Jelinek <jakub@redhat.com>
9181
9182 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9183 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9184 even when flag_preprocess_only.
9185
ca7e759d
JM
91862014-02-26 Jason Merrill <jason@redhat.com>
9187
9188 PR c++/59231
9189 PR c++/11586
9190 * c-common.c (shorten_compare): Don't check
9191 c_inhibit_evaluation_warnings.
9192
28e41874
JJ
91932014-02-19 Jakub Jelinek <jakub@redhat.com>
9194
cca615af
JJ
9195 PR c/37743
9196 * c-common.c (c_common_nodes_and_builtins): When initializing
9197 c_uint{16,32,64}_type_node, also set corresponding
9198 uint{16,32,64}_type_node to the same value.
9199
28e41874
JJ
9200 PR c++/60267
9201 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9202 for PRAGMA_IVDEP if flag_preprocess_only.
9203
c2bf53a1
JJ
92042014-02-12 Jakub Jelinek <jakub@redhat.com>
9205
9206 PR c/60101
9207 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9208 if false, add ADD itself, rather than vice versa.
9209 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9210 copy. For SAVE_EXPR, only call merge_tlist once.
9211
8fcbce72
JJ
92122014-02-08 Jakub Jelinek <jakub@redhat.com>
9213
9214 PR middle-end/60092
9215 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9216 and tree_to_uhwi.
9217 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9218 functions.
9219 (c_common_attribute_table): Add alloc_align and assume_aligned
9220 attributes.
9221
0a756a3f
MP
92222014-02-06 Marek Polacek <polacek@redhat.com>
9223
9224 PR c/60087
9225 * c-common.c (warn_for_sign_compare): Call warning_at with location
9226 instead of warning.
9227
7ec4847a
MP
92282014-02-05 Marek Polacek <polacek@redhat.com>
9229
9230 PR c/53123
9231 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9232 statement.
9233
66f20604
MP
92342014-02-04 Marek Polacek <polacek@redhat.com>
9235
9236 PR c/60036
9237 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9238 SAVE_EXPR.
9239
5d77fb19
MG
92402014-02-03 Marc Glisse <marc.glisse@inria.fr>
9241
9242 PR c++/53017
9243 PR c++/59211
9244 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9245 handle_vector_size_attribute, handle_nonnull_attribute): Call
9246 default_conversion on the attribute argument.
9247 (handle_nonnull_attribute): Increment the argument number.
9248
81e5eca8
MP
92492014-01-31 Marek Polacek <polacek@redhat.com>
9250
9251 PR c/59963
9252 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9253 build_function_call_vec.
9254 (resolve_overloaded_builtin): Likewise.
9255 * c-common.h (build_function_call_vec): Adjust declaration.
9256
68fca595
MP
92572014-01-30 Marek Polacek <polacek@redhat.com>
9258
9259 PR c/59940
9260 * c-common.h (unsafe_conversion_p): Adjust declaration.
9261 (warnings_for_convert_and_check): Likewise.
9262 (convert_and_check): Likewise.
9263 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9264 expansion_point_location_if_in_system_header on it.
9265 (warnings_for_convert_and_check): Add location parameter. Call
9266 expansion_point_location_if_in_system_header on it. Use it.
9267 (convert_and_check): Add location parameter. Use it.
9268 (conversion_warning): Likewise.
9269 (c_add_case_label): Adjust convert_and_check calls.
9270 (scalar_to_vector): Adjust unsafe_conversion_p calls.
9271
b72271b9
BI
92722014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9273
9274 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9275 flag_cilkplus.
9276 * c-pragma.c (init_pragma): Likewise.
9277 * c.opt: Likewise.
9278
393e8e8b
MP
92792014-01-23 Marek Polacek <polacek@redhat.com>
9280
9281 PR c/59846
9282 * c-common.c (shorten_compare): Add location_t parameter.
9283 * c-common.h (shorten_binary_op): Adjust declaration.
9284
f04dda30
MP
92852014-01-23 Marek Polacek <polacek@redhat.com>
9286
9287 PR c/58346
9288 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9289 * c-common.h: Declare it.
9290
621955cb
EB
92912014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9292
9293 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9294 * c-ada-spec.c (dump_ads): Likewise.
9295 (cpp_check): Likewise.
9296 (dump_ada_specs): Likewise.
9297
92982014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
9299
9300 PR c++/49718
9301 * c-common.c (handle_no_instrument_function_attribute): Allow
9302 no_instrument_function attribute in class member
9303 definition/declaration.
9304
241f845a
JJ
93052014-01-15 Jakub Jelinek <jakub@redhat.com>
9306
9307 PR c/58943
9308 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9309 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
9310 being COMPOUND_EXPR.
9311 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9312 operand a SAVE_EXPR and second MODIFY_EXPR.
9313
e83b8e2e
JJ
93142014-01-09 Jakub Jelinek <jakub@redhat.com>
9315
9316 PR target/58115
9317 * c-pch.c (c_common_write_pch): Call
9318 prepare_target_option_nodes_for_pch.
9319
23a5b65a
RS
93202014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9321
9322 Update copyright years
9323
f9030485
RS
93242014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9325
9326 * array-notation-common.c, c-cilkplus.c: Use the standard form for
9327 the copyright notice.
9328
f2aa696b
EB
93292013-12-28 Eric Botcazou <ebotcazou@adacore.com>
9330
9331 * c-ada-spec.c (print_constructor): New function.
9332 (print_destructor): Retrieve the origin of the destructor.
9333 (print_ada_declaration): Revamp handling of constructors/destructors.
9334
3f8257db 93352013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
9336 Bill Maddox <maddox@google.com>
9337 Jason Merrill <jason@redhat.com>
9338
9339 * c.opt: Add -fdeclone-ctor-dtor.
9340 * c-opts.c (c_common_post_options): Default to on iff -Os.
9341
41958c28
BI
93422013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
9343
9344 * c-common.c (c_common_attribute_table): Added "cilk simd function"
9345 attribute.
9346 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 9347 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
9348 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9349 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9350 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9351 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9352 PRAGMA_CILK_CLAUSE_UNIFORM.
9353
b1726d6c 9354
12893402
BI
93552013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
9356
9357 * cilk.c (cilk_outline): Made this function non-static.
9358 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9359 (create_cilk_wrapper): Added a new parameter: a function pointer.
9360 (c_install_body_w_frame_cleanup): Remove
9361 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9362 * c-common.h (cilk_outline): New prototype.
9363 (gimplify_cilk_spawn): Removed two parameters.
9364 (cilk_install_body_with_frame_cleanup): New prototype.
9365 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9366 CILK_SPAWN_STMT case.
9367
085b42ed
BS
93682013-12-11 Bernd Schmidt <bernds@codesourcery.com>
9369
2ce064c3
BS
9370 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9371
085b42ed
BS
9372 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9373 (int_array_type_node): Remove.
9374 * c-common.c (c_common_nodes_and_builtins): Don't build it.
9375
9e36c9ed
MP
93762013-12-05 Marek Polacek <polacek@redhat.com>
9377
9378 PR c/52023
9379 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9380 [ADJUST_FIELD_ALIGN].
9381
296674db
JM
93822013-12-04 Joseph Myers <joseph@codesourcery.com>
9383
9384 PR c/52023
9385 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9386 and check field alignment if set.
9387 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9388 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9389
b1726d6c 93902013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
9391 Marek Polacek <polacek@redhat.com>
9392
9393 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9394 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9395
d7947e19
L
93962013-11-29 H.J. Lu <hongjiu.lu@intel.com>
9397
9398 PR c/59309
9399 * cilk.c (gimplify_cilk_spawn): Properly handle function without
9400 arguments.
9401
fad7652e
JJ
94022013-11-29 Jakub Jelinek <jakub@redhat.com>
9403
9404 PR c/59280
9405 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9406 goto invalid. If it is error_mark_node, don't issue further
9407 diagnostics.
9408
8b5e1202
SO
94092013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
9410
9411 * c.opt (Wopenmp-simd): New.
9412
0a508bb6
JJ
94132013-11-22 Jakub Jelinek <jakub@redhat.com>
9414
9415 * c-ubsan.h (ubsan_instrument_return): New prototype.
9416 * c-ubsan.c (ubsan_instrument_return): New function.
9417
2fb9a547
AM
94182013-11-22 Andrew MacLeod <amacleod@redhat.com>
9419
9420 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
9421 * c-gimplify.c: Likewise.
9422 * cilk.c: Likewise.
2fb9a547 9423
8400e75e
DM
94242013-11-22 David Malcolm <dmalcolm@redhat.com>
9425
9426 * c-common.c (unsafe_conversion_p): Remove use of
9427 EXPR_LOC_OR_HERE macro.
9428 (conversion_warning): Likewise.
9429 (warnings_for_convert_and_check): Likewise.
9430 (warn_for_collisions_1): Likewise.
9431 (shorten_compare): Likewise, and remove use of in_system_header
9432 macro, using the location from the former.
9433 * c-lex.c (dump_one_header): Remove use of input_filename macro.
9434 (cb_def_pragma): Remove use of in_system_header macro.
9435 (lex_string): Likewise.
9436 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9437
eb1ce453
KZ
94382013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9439 Mike Stump <mikestump@comcast.net>
9440 Richard Sandiford <rdsandiford@googlemail.com>
9441
9442 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9443 instead of TREE_INT_CST_LOW, in cases where there is a protecting
9444 tree_fits_shwi_p or tree_fits_uhwi_p.
9445 (dump_generic_ada_node): Likewise.
9446 * c-format.c (check_format_arg): Likewise.
9447 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9448
6b3b8c27
KZ
94492013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9450
9451 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9452
49b0aa18
JC
94532013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
9454
9455 PR c/53001
9456 * c-common.c (unsafe_conversion_p): Make this function
9457 return an enumeration with more detail.
9458 (conversion_warning): Use the new return type of
9459 unsafe_conversion_p to separately warn either about conversions
9460 that lower floating point number precision or about the other
9461 kinds of conversions.
9462 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
9463 (unsafe_conversion_p): switching return type to
9464 conversion_safety enumeration.
49b0aa18
JC
9465 * c.opt: Adding new warning -Wfloat-conversion and
9466 enabling it with -Wconversion.
9467
b826515a
BS
94682013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
9469
8e745a17
JJ
9470 * c-opts.c: Include plugin.h.
9471 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 9472
b9a55b13
MP
94732013-11-19 Marek Polacek <polacek@redhat.com>
9474
9475 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9476 call.
9477 (ubsan_instrument_shift): Likewise.
9478 (ubsan_instrument_vla): Likewise.
9479
7d362f6c
RS
94802013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9481
9482 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9483 cast to unsigned type.
9484
386b1f1f
RS
94852013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9486
9487 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9488 tree_low_cst.
9489 (complete_array_type): Update comment to refer to tree_to_[su]hwi
9490 rather than tree_low_cst.
9491
ae7e9ddd
RS
94922013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9493
9494 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
9495 tree_to_uhwi throughout.
9496
9439e9a1
RS
94972013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9498
9499 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
9500 tree_low_cst (..., 0) with tree_to_shwi throughout.
9501
cc269bb6
RS
95022013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9503
9504 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
9505 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
9506
9541ffee
RS
95072013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9508
9509 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
9510 host_integerp (..., 0) with tree_fits_shwi_p throughout.
9511
c02065fc
AH
95122013-11-15 Aldy Hernandez <aldyh@redhat.com>
9513
9514 * c-cilkplus.c: New file.
9515 * c-common.c (readonly_error): Add location argument.
9516 * c-common.h (readonly_error): Same.
9517 (c_finish_cilk_clauses): Protoize.
9518 (c_check_cilk_loop): Same.
9519 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9520 Do not fail on error_mark_node.
9521 Abstract increment canonicalization to here...
9522 (c_omp_for_incr_canonicalize_ptr): New.
9523 c-pragma.c (init_pragma): Register "simd" pragma.
9524 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
9525 (enum pragma_cilk_clause): New.
9526
9cc65f15
RS
95272013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
9528
9529 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
9530 wchar_type and host_integerp checks.
9531
18f429e2
AM
95322013-11-14 Andrew MacLeod <amacleod@redhat.com>
9533
9534 * c-common.c: Likewise.
9535 * c-gimplify.c: Likewise.
9536 * cilk.c: Likewise.
9537
d8a2d370
DN
95382013-11-14 Diego Novillo <dnovillo@google.com>
9539
9540 * c-common.c: Include fold-const.h.
9541 Include stor-layout.h.
9542 Include calls.h.
9543 Include stringpool.h.
9544 Include attribs.h.
9545 Include varasm.h.
9546 Include trans-mem.h.
9547 * c-cppbuiltin.c: Include stor-layout.h.
9548 Include stringpool.h.
9549 * c-format.c: Include stringpool.h.
9550 * c-lex.c: Include stringpool.h.
9551 Include stor-layout.h.
9552 * c-pragma.c: Include stringpool.h.
9553 Include attribs.h.
9554 Include varasm.h.
9555 Include gcc-symtab.h.
9556 * c-pretty-print.c: Include stor-layout.h.
9557 Include attribs.h.
9558 * cilk.c: Include stringpool.h.
9559 Include calls.h.
9560
38b7bc7f
JM
95612013-11-13 Joseph Myers <joseph@codesourcery.com>
9562
9563 * c-common.h (enum rid): Add RID_AUTO_TYPE.
9564 * c-common.c (c_common_reswords): Add __auto_type.
9565 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
9566
45b0be94
AM
95672013-11-12 Andrew MacLeod <amacleod@redhat.com>
9568
18f429e2
AM
9569 * c-common.c: Include gimplify.h.
9570 * c-gimplify.c: Likewise.
9571 * cilk.c: Likewise.
9572 * c-omp.c: Include gimple-expr.h instead of gimple.h.
9573 * c-ubsan.c: Don't include gimple.h.
45b0be94 9574
582d9b50
JM
95752013-11-12 Joseph Myers <joseph@codesourcery.com>
9576
9577 * c-common.c (c_common_reswords): Add _Thread_local.
9578
6b28e197
JM
95792013-11-09 Joseph Myers <joseph@codesourcery.com>
9580
9581 * c-common.c (atomic_size_supported_p): New function.
9582 (resolve_overloaded_atomic_exchange)
9583 (resolve_overloaded_atomic_compare_exchange)
9584 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
9585 Use it instead of comparing size with a local list of sizes.
9586
267bac10
JM
95872013-11-07 Andrew MacLeod <amacleod@redhat.com>
9588 Joseph Myers <joseph@codesourcery.com>
9589
9590 * c-common.h (enum rid): Add RID_ATOMIC.
9591 * c-common.c (c_common_reswords): Add _Atomic.
9592 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
9593 (keyword_is_type_qualifier): Accept RID_ATOMIC.
9594 * c-format.c (check_format_types): Check for extra _Atomic
9595 qualifiers in format argument.
9596 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
9597 (pp_c_type_qualifier_list): Mention _Atomic in comment.
9598
5157b91e
TB
95992013-11-06 Tobias Burnus <burnus@net-b.de>
9600
9601 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
9602
6dbe0958
JM
96032013-11-06 Joseph Myers <joseph@codesourcery.com>
9604
9605 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
9606 standards modes.
9607 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
9608 to mean lack of IEEE 754 support.
9609
e8ff5196
TB
96102013-11-05 Tobias Burnus <burnus@net-b.de>
9611
9612 * c.opt (-Wdate-time): New option
9613 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
9614
254a0760
JM
96152013-11-05 Joseph Myers <joseph@codesourcery.com>
9616
9617 * c-cppbuiltin.c (cpp_iec_559_value): Test
9618 flag_excess_precision_cmdline not flag_excess_precision.
9619
6d7f7e0a
TB
96202013-11-05 Tobias Burnus <burnus@net-b.de>
9621
9622 * c.opt (fopenmp-simd): New option.
9623 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
9624 (omp_pragmas): ... this new struct.
9625 (c_pp_lookup_pragma): Also walk omp_pragmas.
9626 (init_pragma): Init pragmas for -fopenmp-simd.
9627
55a7f02f
MP
96282013-11-04 Marek Polacek <polacek@redhat.com>
9629
9630 PR c++/58979
9631 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
9632
9193fb05
JM
96332013-11-04 Joseph Myers <joseph@codesourcery.com>
9634
9635 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
9636 New functions.
9637 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
9638
94159ecf
EB
96392013-11-04 Eric Botcazou <ebotcazou@adacore.com>
9640
9641 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
9642 (dump_ada_specs): Adjust prototype of second callback.
9643 * c-ada-spec.c (cpp_check): New global variable.
9644 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
9645 (print_generic_ada_decl): Likewise.
9646 (has_static_fields): Change return type to bool and add guard.
9647 (has_nontrivial_methods): New predicate.
9648 (is_tagged_type): Change return type to bool.
9649 (separate_class_package): Call has_nontrivial_methods.
9650 (pp_ada_tree_identifier): Minor tweaks.
9651 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
9652 (dump_ada_array_domains): Likewise.
9653 (dump_ada_array_type): Likewise.
9654 (dump_template_types): Remove cpp_check parameter and do not pass it to
9655 dump_generic_ada_node.
9656 (dump_ada_template): Likewise.
9657 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
9658 recursively.
9659 (print_ada_methods): Change return type to integer. Remove cpp_check
9660 parameter and do not pass it down.
9661 (dump_nested_types): Remove cpp_check parameter and do not pass it to
9662 dump_generic_ada_node.
9663 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
9664 accessing methods.
9665 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
9666 down. Use has_nontrivial_methods to recognize C++ classes. Use return
9667 value of print_ada_methods.
9668 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
9669 Set cpp_check to it before invoking dump_ada_nodes.
9670 (dump_ada_specs): Likewise.
9671
b906f4ca
MP
96722013-11-03 Marek Polacek <polacek@redhat.com>
9673
9674 * c-ubsan.c: Don't include hash-table.h.
9675 (ubsan_instrument_vla): New function.
9676 * c-ubsan.h: Declare it.
9677
5e20cdc9
DM
96782013-10-31 David Malcolm <dmalcolm@redhat.com>
9679
9680 Automated part of renaming of symtab_node_base to symtab_node.
9681
9682 Patch autogenerated by rename_symtab.py from
9683 https://github.com/davidmalcolm/gcc-refactoring-scripts
9684 revision 58bb219cc090b2f4516a9297d868c245495ee622
9685
9686 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
9687 symtab_node_base to symtab_node.
9688
7057e645
ESR
96892013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
9690
8e745a17 9691 Implement C++14 digit separators.
7057e645
ESR
9692 * c-lex.c (interpret_float): Remove digit separators from scratch string
9693 before building real literal.
9694
193ea7bc
JJ
96952013-10-30 Jakub Jelinek <jakub@redhat.com>
9696
9697 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
9698
939b37da
BI
96992013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
9700
9701 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
9702 fields.
9703 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
9704 enabled.
9705 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
9706 (insert_cilk_frame): New prototype.
9707 (cilk_init_builtins): Likewise.
9708 (gimplify_cilk_spawn): Likewise.
9709 (c_cilk_install_body_w_frame_cleanup): Likewise.
9710 (cilk_detect_spawn_and_unwrap): Likewise.
9711 (cilk_set_spawn_marker): Likewise.
9712 (build_cilk_sync): Likewise.
9713 (build_cilk_spawn): Likewise.
9714 * cilk.c: New file.
9715
67348ccc
DM
97162013-10-29 David Malcolm <dmalcolm@redhat.com>
9717
9718 Patch autogenerated by refactor_symtab.py from
9719 https://github.com/davidmalcolm/gcc-refactoring-scripts
9720 revision 58bb219cc090b2f4516a9297d868c245495ee622
9721
9722 * c-gimplify.c (c_genericize): Update for conversion of symtab types
9723 to a true class hierarchy.
9724 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
9725
d570872d
RS
97262013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
9727
9728 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
9729
98906124
JL
97302013-10-26 Jeff Law <law@redhat.com>
9731
adfac8df
JJ
9732 * c-common.c (c_define_builtins): Remove mudflap support.
9733 * c.opt: Ignore and warn for mudflap options.
98906124 9734
d73749df 97352013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
9736
9737 PR other/33426
9738 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
9739 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
9740
3f04b1bb
JM
97412013-10-23 Jason Merrill <jason@redhat.com>
9742
9743 * c-format.c (gcc_cxxdiag_char_table): Add %X.
9744
acf0174b
JJ
97452013-10-11 Jakub Jelinek <jakub@redhat.com>
9746
acd15a28
JJ
9747 * c-common.h (omp_clause_mask::operator !=): New method.
9748 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
9749 instead of if (mask & something) tests everywhere.
9750
acf0174b
JJ
9751 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
9752 201307 instead of 201107.
9753 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
9754 (c_common_attribute_table): Add "omp declare target" and
9755 "omp declare simd" attributes.
9756 (handle_omp_declare_target_attribute,
9757 handle_omp_declare_simd_attribute): New functions.
9758 * c-omp.c: Include c-pragma.h.
9759 (c_finish_omp_taskgroup): New function.
9760 (c_finish_omp_atomic): Add swapped argument, if true,
9761 build the operation first with rhs, lhs arguments and use NOP_EXPR
9762 build_modify_expr.
9763 (c_finish_omp_for): Add code argument, pass it down to make_code.
9764 (c_omp_split_clauses): New function.
9765 (c_split_parallel_clauses): Removed.
9766 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
9767 c_omp_declare_simd_clauses_to_decls): New functions.
9768 * c-common.h (omp_clause_mask): New type.
9769 (OMP_CLAUSE_MASK_1): Define.
9770 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
9771 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
9772 omp_clause_mask::operator |, omp_clause_mask::operator &,
9773 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
9774 omp_clause_mask::operator ==): New methods.
9775 (enum c_omp_clause_split): New.
9776 (c_finish_omp_taskgroup): New prototype.
9777 (c_finish_omp_atomic): Add swapped argument.
9778 (c_finish_omp_for): Add code argument.
9779 (c_omp_split_clauses): New prototype.
9780 (c_split_parallel_clauses): Removed.
9781 (c_omp_declare_simd_clauses_to_numbers,
9782 c_omp_declare_simd_clauses_to_decls): New prototypes.
9783 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
9784 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
9785 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
9786 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
9787 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
9788 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
9789 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
9790 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
9791 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
9792 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
9793 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
9794 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
9795 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
9796 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
9797 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
9798 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
9799 PRAGMA_OMP_CLAUSE_UNIFORM.
9800
826cacfe
MG
98012013-10-09 Marc Glisse <marc.glisse@inria.fr>
9802
9803 PR tree-optimization/20318
9804 * c-common.c (handle_returns_nonnull_attribute): New function.
9805 (c_common_attribute_table): Add returns_nonnull.
9806
2284b034
MG
98072013-10-03 Marc Glisse <marc.glisse@inria.fr>
9808
9809 PR c++/19476
9810 * c.opt (fcheck-new): Move to common.opt.
9811
b56e9788
MP
98122013-09-25 Marek Polacek <polacek@redhat.com>
9813 Jakub Jelinek <jakub@redhat.com>
9814
9815 PR sanitizer/58413
9816 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
9817 an expression if we can prove it is correct.
9818 (ubsan_instrument_division): Likewise. Remove unnecessary
9819 check.
9820
ce6923c5
MP
98212013-09-18 Marek Polacek <polacek@redhat.com>
9822
9823 PR sanitizer/58411
9824 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
9825 Declare it.
9826 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
9827
fb5610fb
IS
98282013-09-14 Iain Sandoe <iain@codesourcery.com>
9829
9830 PR target/48094
9831 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
9832 fobjc-gc, freplace-objc-classes): Accept for LTO.
9833
88b0e79e
JC
98342013-09-13 Jacek Caban <jacek@codeweavers.com>
9835
9836 * c-target.def: New hook
9837
c9b0866a
PC
98382013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
9839
9840 PR c++/43452
9841 * c.opt (Wdelete-incomplete): Add.
9842
0af94e6f
JR
98432013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
9844
9845 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
9846 (vector_types_compatible_elements_p): New function.
9847 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
9848 declaration.
9849 (vector_types_compatible_elements_p): Declare.
9850
7c26172c
GDR
98512013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
9852
9853 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
9854 a virtual member function.
9855 (pp_simple_type_specifier): Remove.
9856 (pp_c_type_specifier): Likewise.
9857 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
9858 Rename from pp_c_type_specifier. Adjust.
9859 (c_pretty_printer::c_pretty_printer): Do not assign to
9860 simple_type_specifier.
9861
20059c8b
GDR
98622013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9863
9864 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
9865 member function.
9866 (c_pretty_printer::storage_class_specifier): Likewise.
9867 (c_pretty_printer::initializer): Likewise.
9868 (pp_declaration): Remove.
9869 (pp_declaration_specifiers): Likewise.
9870 (pp_abstract_declarator): Likewise.
9871 (pp_declarator): Likewise.
9872 (pp_type_id): Likewise.
9873 (pp_statement): Likewise.
9874 (pp_constant): Likewise.
9875 (pp_id_expression): Likewise.
9876 (pp_primary_expression): Likewise.
9877 (pp_unary_expression): Likewise.
9878 (pp_multiplicative_expression): Likewise.
9879 (pp_conditional_expression): Likewise.
9880 (pp_assignment_expression): Likewise.
9881 (pp_expression): Likewise.
9882 (pp_c_type_id): Likewise.
9883 (pp_c_storage_class_specifier): Likewise.
9884 * c-pretty-print.c (pp_c_type_cast): Tidy.
9885 (pp_c_pointer): Likewise.
9886 (pp_c_type_specifier): Likewise.
9887 (pp_c_parameter_type_list): Likewise.
9888 (pp_c_function_definition): Likewise.
9889 (pp_c_init_declarator): Likewise.
9890 (pp_c_initializer_list): Likewise.
9891 (pp_c_constructor_elts): Likewise.
9892 (c_pretty_printer::direct_abstract_declarator): Likewise.
9893 (c_pretty_printer::declaration_specifiers): Likewise.
9894 (c_pretty_printer::primary_expression): Likewise.
9895 (c_pretty_printer::postfix_expression): Likewise.
9896 (c_pretty_printer::type_id): Rename from pp_c_type_id.
9897 (c_pretty_printer::storage_class_specifier): Rename from
9898 pp_c_storage_class_specifier.
9899 (c_pretty_printer::initializer): Rename from pp_c_initializer.
9900 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
9901 storage_class_specifier, initializer, offset_list, flags.
9902
de5a5fa1
MP
99032013-08-30 Marek Polacek <polacek@redhat.com>
9904
9905 * c-ubsan.c: New file.
9906 * c-ubsan.h: New file.
9907
8f0e4d72
GDR
99082013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
9909
9910 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
9911 member function.
9912 (c_pretty_printer::declaration_specifiers): Likewise.
9913 (c_pretty_printer::declarator): Likewise.
9914 (c_pretty_printer::abstract_declarator): Likewise.
9915 (c_pretty_printer::direct_abstract_declarator): Likewise.
9916 (c_pretty_printer::direct_declarator): Likewise.
9917 (c_pretty_printer::function_specifier): Likewise.
9918 (pp_declaration): Adjust.
9919 (pp_declaration_specifiers): Likewise.
9920 (pp_abstract_declarator): Likewise.
9921 (pp_direct_declarator): Likewise.
9922 (pp_function_specifier): Likewise.
9923 (pp_direct_abstract_declarator): Remove as unused.
9924 (pp_c_declaration): Remove.
9925 (pp_c_declaration_specifiers): Likewise.
9926 (pp_c_declarator): Likewise.
9927 (pp_c_direct_declarator): Likewise.
9928 (pp_c_function_specifier): Likewise.
9929 (pp_c_direct_abstract_declarator): Likewise.
9930 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
9931 from pp_c_abstract_declarator. Adjust.
ab20d992 9932 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
9933 pp_c_direct_abstract_declarator. Adjust.
9934 (c_pretty_printer::function_specifier): Rename from
9935 pp_c_function_specifier. Adjust.
9936 (c_pretty_printer::declaration_specifiers): Rename from
9937 pp_c_declaration_specifiers. Adjust.
9938 (c_pretty_printer::direct_declarator): Rename from
9939 pp_c_direct_declarator. Adjust.
9940 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
9941 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
9942 (c_pretty_printer::c_pretty_printer): Do not assign to
9943 declaration, declaration_specifiers, declarator,
9944 direct_declarator, direct_abstract_declarator, function_specifier.
9945
00d34d3a
GDR
99462013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
9947
9948 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
9949 virtual member function.
9950 (c_pretty_printer::multiplicative_expression): Likewise.
9951 (c_pretty_printer::conditional_expression): Likewise.
9952 (c_pretty_printer::assignment_expression): Likewise.
9953 (c_pretty_printer::expression): Likewise.
9954 (pp_unary_expression): Adjust.
9955 (pp_multiplicative_expression): Likewise.
9956 (pp_assignment_expression): Likewise.
9957 (pp_conditional_expression): Likewise.
9958 (pp_expression): Likewise.
9959 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
9960 from pp_c_unary_expression. Adjust.
9961 (c_pretty_printer::multiplicative_expression): Rename from
9962 pp_c_multiplicative_expression. Adjust.
9963 (c_pretty_printer::conditional_expression): Rename from
9964 pp_c_conditional_expression. Adjust.
9965 (c_pretty_printer::assignment_expression): Rename from
9966 pp_c_assignment_expression. Adjust.
9967 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
9968 (c_pretty_printer::c_pretty_printer): Do not assign to
9969 unary_expression, multiplicative_expression,
9970 conditional_expression, expression.
9971
fb22178f
GDR
99722013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9973
9974 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
9975 virtual member function.
9976 (pp_postfix_expression): Adjust.
9977 (pp_c_postfix_expression): Remove.
9978 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
9979 from pp_c_postfix_expression. Adjust.
9980 (c_pretty_printer::c_pretty_printer): Do not assign to
9981 postfix_expression.
9982
7ecc2600
GDR
99832013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9984
9985 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
9986 virtua member function.
9987 (pp_primary_expression): Adjust.
9988 (pp_c_primary_expression): Remove.
9989 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
9990 from pp_c_primary_expression. Adjust.
9991 (pp_c_initializer_list): Use pp_primary_expression.
9992 (c_pretty_printer::c_pretty_printer): Do not assign to
9993 primary_expression.
9994
0691175f
GDR
99952013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9996
9997 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
9998 * c-pretty-print.c (M_): Remove.
9999 (c_pretty_printer::translate_string): Define.
10000 (pp_c_type_specifier): Use it.
10001 (pp_c_primary_expression): Likewise.
10002 (pp_c_expression): Likewise.
10003
66dfe4c4
GDR
100042013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10005
10006 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10007 virtual function.
10008 (pp_c_id_expression): Remove.
10009 (pp_id_expression): Adjust.
10010 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10011 pp_c_id_expression. Adjust.
10012 (pp_c_postfix_expression): Use pp_id_expression.
10013 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10014
ca43e9d5
GDR
100152013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10016
10017 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10018 member function.
10019 (pp_constant): Adjust.
10020 (pp_c_constant): Remove.
10021 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10022 pp_c_constant. Adjust.
10023 (pp_c_constant)
10024 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10025 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10026
da6ca2b5
GDR
100272013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10028
10029 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10030 (c_pretty_printer::c_pretty_printer): Declare.
10031 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10032 c_pretty_printer_init. Adjust.
10033 (print_c_tree): Do not call c_pretty_printer_init.
10034 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10035
65a372f4
AC
100362013-08-09 Arnaud Charlet <charlet@adacore.com>
10037
10038 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10039
fd9b0f32
PC
100402013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10041
10042 PR c++/58080
10043 * c-common.c (pointer_int_sum): Add bool parameter.
10044 * c-common.h (pointer_int_sum): Adjust declaration.
10045
e0aec1e9
GDR
100462013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10047
10048 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10049 c_pretty_printer variable.
10050
b066401f
GDR
100512013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10052
10053 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10054 (pp_base): Remove.
10055 (pp_c_base): Likewise. Adjust users.
10056 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10057 (pp_c_whitespace): Do not call pp_base.
10058 (pp_c_left_paren): Likewise.
10059 (pp_c_right_paren): Likewise.
10060 (pp_c_left_brace): Likewise.
10061 (pp_c_right_brace): Likewise.
10062 (pp_c_left_bracket): Likewise.
10063 (pp_c_right_bracket): Likewise.
10064 (pp_c_dot): Likewise.
10065 (pp_c_ampersand): Likewise.
10066 (pp_c_star): Likewise.
10067 (pp_c_arrow): Likewise.
10068 (pp_c_semicolon): Likewise.
10069 (pp_c_complement): Likewise.
10070 (pp_c_exclamation): Likewise.
10071 (pp_c_direct_declarator): Likewise.
10072 (pp_c_ws_string): Likewise.
10073 (pp_c_identifier): Likewise.
10074 (pp_c_statement): Likewise.
10075 (print_c_tree): Likewise.
10076
65e5a578
ESR
100772013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10078
10079 PR c++/58072
10080 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10081 provide useful error strings.
10082
137a1a27
GDR
100832013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10084
10085 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10086 printer functions instead of pp_string or operators and punctuators.
10087 (dump_generic_ada_node): Likewise.
10088 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10089 (pp_c_relational_expression): Likewise.
10090 (pp_c_logical_or_expression): Likewise.
10091
07838b13
GDR
100922013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10093
10094 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10095 functions instead of pp_character.
10096 (pp_ada_tree_identifier): Likewise.
10097 (dump_ada_double_name): Likewise.
10098 (dump_ada_function_declaration): Likewise.
10099 (dump_ada_array_domains): Likewise.
10100 (dump_template_types): Likewise.
10101 (dump_generic_ada_node): Likewise.
10102 (print_ada_declaration): Likewise.
10103 (print_ada_struct_decl): Likewise.
10104 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10105
433cc7b0
TT
101062013-07-23 Tom Tromey <tromey@redhat.com>
10107
10108 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10109 * c-common.c (c_common_reswords): Add _Generic.
10110
688010ba
OB
101112013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10112
10113 * c-common.c: Fix typos.
10114 * c-common.h: Likewise.
10115
2a99e5e6
LL
101162013-07-13 Lubos Lunak <l.lunak@suse.cz>
10117
10118 PR c++/55203
10119 * c-common.c (c_common_attribute_table): Add warn_unused.
10120 (handle_warn_unused_attribute): New.
10121
c26302d5
JJ
101222013-07-10 Jakub Jelinek <jakub@redhat.com>
10123
10124 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10125 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10126
dfeadaa0
PC
101272013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10128
10129 PR c++/57869
10130 * c.opt: Add Wconditionally-supported.
10131
6a2fa4b2
GS
101322013-07-08 Graham Stott <graham.stott@btinternet.com>
10133
adfac8df 10134 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10135 unused variables l_length and l_node.
10136
ecdbd01a 101372013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10138
10139 PR c/57821
10140 * c-common.c (complete_array_type): Delay folding first index
10141 like other indices. When folding, check for index overflow.
10142
bedc293e
MG
101432013-06-27 Marc Glisse <marc.glisse@inria.fr>
10144
10145 PR c++/57509
10146 * c-common.h (c_build_vec_perm_expr): New complain argument.
10147 * c-common.c (c_build_vec_perm_expr): Likewise.
10148 Use save_expr also in C++.
10149
604b2bfc
GDR
101502013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10151
10152 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10153 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10154 * c-opts.c (c_common_post_options): Likewise.
10155
dfeadaa0 101562013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10157
10158 * array-notation-common.c (length_mismatch_in_expr): Changed the
10159 parameter type's from a dynamic array to a vec_tree. Also removed
10160 the size parameters.
10161 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10162 the change above.
10163
2ce86d2e
BI
101642013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10165
10166 * c-common.h (struct cilkplus_an_parts): New structure.
10167 (struct cilkplus_an_loop_parts): Likewise.
10168 (cilkplus_extract_an_triplets): New prototype.
10169 (fix_sec_implicit_args): Likewise.
10170 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10171 (fix_sec_implicit_args): Likewise.
604b2bfc 10172
07a6825b
BI
101732013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10174
10175 * array-notation-common.c (find_inv_trees): Removed an unwanted
10176 typecasting.
10177 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10178 enum rid to enum tree_code.
10179
08346abd
JH
101802013-06-11 Jan Hubicka <jh@suse.cz>
10181
10182 * c-common.c (handle_alias_ifunc_attribute): Do not set
10183 DECL_EXTERNAL for weakref variables.
10184 * c-pragma.c (handle_pragma_weak): Make sure aliases
10185 are not declared as external.
10186
d60f1706
BI
101872013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10188
10189 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10190 function from c/c-array-notation.c.
10191 (is_cilkplus_reduce_builtin): Likewise.
10192 (find_rank): Likewise.
10193 (extract_array_notation_exprs): Likewise.
10194 (replace_array_notations): Likewise.
10195 (find_inv_trees): Likewise.
10196 (replace_inv_trees): Likewise.
10197 (contains_array_notation_expr): Likewise.
10198 (find_correct_array_notation_type): Likewise.
10199 * c-common.h (struct inv_list): Moved this struct from the file
10200 c/c-array-notation.c and added a new field called additional tcodes.
10201 (length_mismatch_in_expr_p): New prototype.
10202 (is_cilkplus_reduce_builtin): Likewise.
10203 (find_rank): Likewise.
10204 (extract_array_notation_exprs): Likewise.
10205 (replace_array_notation): Likewise.
10206 (find_inv_trees): Likewise.
10207 (replace_inv_trees): Likewise.
10208 (find_correct_array_notation_type): Likewise.
dfeadaa0 10209
36536d79
BI
102102013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10211
10212 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10213 function array_notation_init_builtins is called.
10214 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10215 * c-common.def (ARRAY_NOTATION_REF): New tree.
10216 * c-common.h (build_array_notation_expr): New function declaration.
10217 (build_array_notation_ref): Likewise.
10218 (extract_sec_implicit_index_arg): New extern declaration.
10219 (is_sec_implicit_index_fn): Likewise.
10220 (ARRAY_NOTATION_CHECK): New define.
10221 (ARRAY_NOTATION_ARRAY): Likewise.
10222 (ARRAY_NOTATION_START): Likewise.
10223 (ARRAY_NOTATION_LENGTH): Likewise.
10224 (ARRAY_NOTATION_STRIDE): Likewise.
10225 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10226 ARRAY_NOTATION_REF.
10227 (pp_c_expression): Likewise.
10228 * c.opt (flag_enable_cilkplus): New flag.
10229 * array-notation-common.c: New file.
10230
f7716d57
JJ
102312013-05-14 Jakub Jelinek <jakub@redhat.com>
10232
10233 PR c++/57274
10234 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10235
a5e0cd1d
MG
102362013-05-10 Marc Glisse <marc.glisse@inria.fr>
10237
10238 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10239 vectors.
10240
f6bc1c4a
HS
102412013-05-07 Han Shen <shenhan@google.com>
10242
10243 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10244
3f12f6e9
SKS
102452013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10246
10247 * c-common.c (check_user_alignment): Emit error for negative values.
10248
61949153
PC
102492013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10250
10251 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10252
e93e18e9
PC
102532013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10254
10255 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10256 __GXX_EXPERIMENTAL_CXX1Y__.
10257
44d90fe1 102582013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10259 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10260
10261 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10262 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10263 to simply use OPT_Wpointer_arith.
10264 (c_sizeof_or_alignof_type): Likewise.
10265
13f39b2e
PC
102662013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10267
10268 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10269
4b84d650
JJ
102702013-04-12 Jakub Jelinek <jakub@redhat.com>
10271
10272 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10273 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10274 specifiers.
10275
fb037b5d
SB
102762013-04-07 Steven Bosscher <steven@gcc.gnu.org>
10277
10278 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10279
4e856798
PC
102802013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
10281
10282 * c-common.c (pointer_int_sum): Remove dead code.
10283
4b1baac8
RS
102842013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
10285
10286 PR middle-end/56524
10287 * c-common.c (handle_optimize_attribute): Don't call
10288 save_optabs_if_changed.
10289
0b50e654
JJ
102902013-03-05 Jakub Jelinek <jakub@redhat.com>
10291
10292 PR middle-end/56461
10293 * c-pch.c (pch_init): Free target_validity at the end.
10294
48c41403
JJ
102952013-03-04 Jakub Jelinek <jakub@redhat.com>
10296
10297 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10298
e664c61c
KS
102992013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
10300 Jakub Jelinek <jakub@redhat.com>
10301
10302 PR sanitizer/56454
10303 * c-common.c (handle_no_sanitize_address_attribute): New function.
10304 (c_common_attribute_table): Add no_sanitize_address attribute.
10305 (handle_no_address_safety_analysis_attribute): Add
10306 no_sanitize_address attribute, not no_address_safety_analysis
10307 attribute.
10308
a475fd3d 103092013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
10310
10311 PR target/52555
10312 * c-common.c (handle_optimize_attribute): Call
10313 save_optabs_if_changed.
10314
f6007d99
JJ
103152013-02-18 Jakub Jelinek <jakub@redhat.com>
10316 Steven Bosscher <steven@gcc.gnu.org>
10317
10318 PR pch/54117
10319 * c-opts.c (c_common_post_options): If debug info is enabled
10320 and non-dwarf*, refuse to load PCH files and when writing PCH
10321 file warn.
10322
cf35e2b1
JJ
103232013-02-05 Jakub Jelinek <jakub@redhat.com>
10324
10325 PR middle-end/56167
10326 * c-common.c (handle_error_attribute): Fix condition.
10327
32887460
JJ
103282013-01-30 Jakub Jelinek <jakub@redhat.com>
10329
10330 PR c++/55742
10331 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10332
5af057d8
JM
103332013-01-18 Jason Merrill <jason@redhat.com>
10334
10335 PR target/54908
10336 * c.opt (-fextern-tls-init): New.
10337 * c-opts.c (c_common_post_options): Handle it.
10338
cc83c823
JJ
103392013-01-09 Jakub Jelinek <jakub@redhat.com>
10340
10341 PR c/48418
10342 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10343 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10344 and is either negative or bigger or equal to type precision
10345 of the first operand.
10346
a859517f
MP
103472012-12-03 Marek Polacek <polacek@redhat.com>
10348
10349 PR c/55570
10350 * c-common.c (check_user_alignment): Swap order of tests,
10351 check TREE_CODE first.
10352
2d7aa578
ESR
103532012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
10354
10355 PR c++/52654
10356 * c-common.h (overflow_type): New enum.
10357 (build_userdef_literal): Add overflow_type argument.
10358 (tree_userdef_literal): Add overflow_type.
10359 (USERDEF_LITERAL_OVERFLOW): New access macro.
10360 * c-common.c (build_userdef_literal): Add overflow_type
10361 argument.
10362 * c-lex.c (c_lex_with_flags): Add overflow_type to
10363 build_userdef_literal calls.
10364 (interpret_integer, interpret_float): Add overflow_type argument.
10365
cc3c4f62
RB
103662012-11-28 Richard Biener <rguenther@suse.de>
10367
10368 PR c/35634
10369 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10370 here and use a type with proper overflow behavior for types that would
10371 need to be promoted for the arithmetic.
10372
77bc5132
JJ
103732012-11-23 Jakub Jelinek <jakub@redhat.com>
10374
10375 PR sanitizer/55435
10376 * c-common.c (handle_no_address_safety_analysis_attribute): New
10377 function.
10378 (c_common_attribute_table): Add no_address_safety_analysis.
10379
5dc99c46
SB
103802012-11-16 Simon Baldwin <simonb@google.com>
10381
10382 * c.opt: Add f[no-]canonical-system-headers.
10383 * c-opts.c (c_common_handle_option): Handle
10384 OPT_fcanonical_system_headers.
10385
a4a0016d
ESR
103862012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
10387
10388 PR c++/54413
10389 * c-opts.c (c_common_handle_option): Set new flags.
10390 * c.opt: Describe new flags.
10391
7dbb85a7
JM
103922012-11-09 Jason Merrill <jason@redhat.com>
10393
10394 * c.opt (Wabi-tag): New.
10395
ad7bac31
AK
103962012-11-09 Andi Kleen <ak@linux.intel.com>
10397
10398 PR 55139
10399 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 10400 MEMMODEL_MASK
ad7bac31 10401
7332899a
MLI
104022012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10403
10404 PR c/53063
10405 * c.opt (Wformat): Make it Alias Wformat=1.
10406 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10407 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10408 LangEnabledBy.
10409 (Wformat=): RejectNegative. Use LangEnabledBy.
10410 (Wnonnull): Use LangEnabledBy.
10411 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10412 * c-format.c (set_Wformat): Delete.
10413 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
10414 (maybe_read_dollar_number): Likewise.
10415 (avoid_dollar_number): Likewise.
10416 (finish_dollar_format_checking): Likewise.
10417 (check_format_info): Likewise.
10418 (check_format_info_main): Likewise.
10419 (check_format_types): Likewise.
10420 (format_type_warning): Likewise.
10421 * c-common.c (int): Likewise.
10422 (check_function_sentinel): Likewise.
8e745a17 10423 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 10424
34a180a6
MLI
104252012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10426
10427 PR c/53063
10428 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10429 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10430 Use LangEnabledBy.
10431 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10432 common.opt.
10433 (Wvariadic-macros): Init(1).
10434 * c-opts.c (c_common_handle_option): Do not handle them
10435 explicitly.
10436 (c_common_post_options): Likewise.
10437 (sanitize_cpp_opts): warn_unused_macros is now
10438 cpp_warn_unused_macros.
10439 (push_command_line_include): Likewise.
10440 * c-common.c (warn_unknown_pragmas): Do not define.
10441 * c-common.h (warn_unknown_pragmas): Do not declare.
10442
3f46d6a5
MLI
104432012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10444
10445 PR c/51294
10446 * c-common.c (conversion_warning): Handle conditional expressions.
10447
880661a4
JW
104482012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
10449
10450 PR c++/54930
10451 * c.opt (Wreturn_local_addr): Define new option.
10452
4514a96b
JM
104532012-10-25 Jason Merrill <jason@redhat.com>
10454
f14edc1a
JM
10455 * c.opt (Wvirtual-move-assign): New.
10456
4514a96b
JM
10457 * c.opt (Winherited-variadic-ctor): New.
10458
93100c6b
MG
104592012-10-25 Marc Glisse <marc.glisse@inria.fr>
10460
10461 PR c++/54427
10462 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10463
1efcb8c6
JM
104642012-10-23 Joseph Myers <joseph@codesourcery.com>
10465
10466 * c-common.h (pch_cpp_save_state): Declare.
10467 * c-target.def (c_preinclude): New hook.
10468 * c-opts.c (done_preinclude): New.
10469 (push_command_line_include): Handle default preincluded header.
10470 (cb_file_change): Call pch_cpp_save_state when calling
10471 push_command_line_include.
10472 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10473 (pch_cpp_save_state): New.
10474 (pch_init): Call pch_cpp_save_state conditionally, instead of
10475 calling cpp_save_state.
10476
4a0ae68e
MLI
104772012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10478
10479 PR c/53063
10480 PR c/40989
10481 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10482 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10483 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10484 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10485 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10486 * c-opts.c (c_common_handle_option): Remove explicit handling from
10487 here.
10488 (c_common_post_options): Likewise.
10489
67e4210b
EB
104902012-10-18 Eric Botcazou <ebotcazou@adacore.com>
10491
10492 * c-ada-spec.c (LOCATION_COL): Delete.
10493 (compare_location): New function.
10494 (compare_node): Use it.
10495 (compare_comment): Likewise.
10496
65d4f2cd
MLI
104972012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10498
10499 PR c/53063
10500 PR c/40989
10501 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
10502 * c-opts.c (c_common_handle_option): Do not set them here. Add
10503 comment.
10504 (c_common_post_options): Likewise.
10505
909881cb
EB
105062012-10-16 Eric Botcazou <ebotcazou@adacore.com>
10507
10508 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
10509 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
10510 Remove POINTER_TYPE handling, add large unsigned handling and use
10511 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
10512
3a785c97
JJ
105132012-10-12 Jakub Jelinek <jakub@redhat.com>
10514
10515 PR c/54381
10516 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
10517 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
10518 locs and array of 3 trees instead of just single loc and single
10519 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
10520 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
10521 For *cmp* builtins that take two sources strings report warnings
10522 about first and second source, not about destination and source.
10523
5e54f81d
MG
105242012-10-12 Marc Glisse <marc.glisse@inria.fr>
10525
10526 PR c++/53055
10527 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
10528
f5b02f1e
EB
105292012-10-11 Eric Botcazou <ebotcazou@adacore.com>
10530
10531 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
10532 declaring something coming from another file.
10533
b46dbc6c
AC
105342012-10-10 Arnaud Charlet <charlet@adacore.com>
10535
f5b02f1e 10536 PR ada/54845
b46dbc6c
AC
10537 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
10538
5d9de0d0
PC
105392012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
10540
10541 PR c++/54194
10542 * c-common.c (warn_about_parentheses): Add location_t parameter;
10543 use EXPR_LOC_OR_LOC.
10544 * c-common.h: Update declaration.
10545
a212e43f
MG
105462012-10-09 Marc Glisse <marc.glisse@inria.fr>
10547
10548 PR c++/54427
10549 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
10550 more operations. Make error messages optional.
10551 * c-common.h (enum stv_conv): Moved from c-typeck.c.
10552 (scalar_to_vector): Declare.
10553
b1db7f91
JM
105542012-10-08 Jason Merrill <jason@redhat.com>
10555
10556 * c-common.c (c_common_reswords): Add thread_local.
10557
e28d52cf
DS
105582012-10-08 Dodji Seketeli <dodji@redhat.com>
10559
10560 PR c++/53528 C++11 attribute support
10561 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
10562 new functions.
10563 * c-common.c (check_cxx_fundamental_alignment_constraints): New
10564 static function.
10565 (handle_aligned_attribute): In choose strictest alignment
10566 among many. Use new check_cxx_fundamental_alignment_constraints.
10567 (handle_transparent_union_attribute): In c++11 attribute syntax,
10568 don't look through typedefs.
10569
3b78de56
AC
105702012-10-04 Arnaud Charlet <charlet@adacore.com>
10571
10572 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
10573 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
10574 out of dumpfile.h.
10575
6040bb5f
DC
105762012-09-25 Dehao Chen <dehao@google.com>
10577
10578 PR middle-end/54645
3b78de56 10579 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
10580 map when read in the pch.
10581
3f8257db 105822012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
10583
10584 * c-ada-spec.c: Style fixes.
10585
3f8257db 105862012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
10587
10588 * c.opt (-fada-spec-parent): Define new command line switch.
10589 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
10590 is specified, generate binding spec as a child of the specified unit.
10591
0ccb505d
PC
105922012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
10593 Manuel López-Ibáñez <manu@gcc.gnu.org>
10594
10595 PR c++/53210
10596 * c.opt ([Winit-self]): Enabled by -Wall in C++.
10597
c583af79
AC
105982012-08-23 Arnaud Charlet <charlet@adacore.com>
10599
10600 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
10601 for pointers, and add missing Convention C pragma.
10602 (print_ada_struct_decl): Add missing aliased keyword.
10603 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
10604
1a4049e7
JJ
106052012-08-17 Jakub Jelinek <jakub@redhat.com>
10606
10607 * c-common.c (sizeof_pointer_memaccess_warning): New function.
10608 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
10609 * c-opts.c (c_common_handle_option): Enable it for -Wall.
10610 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
10611 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
10612
70b5e7dc
RG
106132012-08-10 Richard Guenther <rguenther@suse.de>
10614
10615 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
10616
f8923f7e
SB
106172012-08-07 Steven Bosscher <steven@gcc.gnu.org>
10618
10619 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
10620 instead of separate pp_newline and pp_flush.
10621 (print_c_tree): Likewise.
10622
e45abe1f
RH
106232012-07-26 Richard Henderson <rth@redhat.com>
10624
10625 * c-common.c (handle_hot_attribute): Allow labels.
10626 (handle_cold_attribute): Likewise.
10627
332f1d24
JJ
106282012-07-20 Jakub Jelinek <jakub@redhat.com>
10629
10630 PR c++/28656
10631 * c-common.c (check_function_nonnull): Handle multiple nonnull
10632 attributes properly.
10633
7ee2468b
SB
106342012-07-16 Steven Bosscher <steven@gcc.gnu.org>
10635
10636 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
10637 * c-ada-spec.c: Likewise.
10638 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
10639
ee7b28eb
SB
106402012-07-14 Steven Bosscher <steven@gcc.gnu.org>
10641
10642 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
10643 Remove code conditional on it.
10644
6bdf3519
SB
106452012-07-11 Steven Bosscher <steven@gcc.gnu.org>
10646
10647 * c-gimplify.c: Do not include basic-block.h.
10648 * c-common.c: Do not include linfuncs.h.
10649
532aafad
SB
106502012-07-08 Steven Bosscher <steven@gcc.gnu.org>
10651
10652 * c-common.h: Include tree.h.
10653
8d0d1915
JM
106542012-07-02 Jason Merrill <jason@redhat.com>
10655
10656 PR c++/53524
10657 * c-common.c (get_priority): Call default_conversion.
10658
fbc873ad
UB
106592012-07-01 Uros Bizjak <ubizjak@gmail.com>
10660
10661 * c-pch.c (c_common_write_pch): Remove unused variables.
10662
d4a10d0a
SB
106632012-06-29 Steven Bosscher <steven@gcc.gnu.org>
10664
10665 * cppspec.c: Moved from gcc/ to here.
10666
6f3a2e23
KT
106672012-06-27 Kai Tietz <ktietz@redhat.com>
10668
10669 PR preprocessor/37215
10670 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
10671
8ca92d04
SB
106722012-06-21 Steven Bosscher <steven@gcc.gnu.org>
10673
10674 * c-common.h (c_common_print_pch_checksum): Remove.
10675 * c-pch.c: Do not include output.h.
10676 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
10677 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
10678 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
10679 (struct c_pch_header): Remove.
10680 (get_ident): Update gpch version.
10681 (pch_init): Do not print executable_checksum to asm_out_file.
10682 Do not fail if there is no asm_out_file to read back from. Set
10683 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
10684 (c_common_write_pch): Verify that nothing was written to asm_out_file
10685 since pch_init was called. Do not write a c_pch_header, and do not
10686 copy from asm_out_file to the PCH.
10687 (c_common_read_pch): Do not read a c_pch_header, and do not restore
10688 the content of asm_out_file from the PCH.
10689 (c_common_print_pch_checksum): Remove.
10690 * c-opts.c (c_common_init): Print out executable_checksum directly.
10691
70f42967
SB
106922012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10693
10694 * c-target.def (objc_declare_unresolved_class_reference,
10695 objc_declare_class_definition): Add new hooks.
10696
a8781821
SB
106972012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10698
10699 * c-lex.c: Do not include output.h.
10700 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
10701 Remove uses of ASM_OUTPUT_IDENT.
10702
9e1a8dd1
RR
107032012-06-15 Marc Glisse <marc.glisse@inria.fr>
10704
10705 PR c++/51033
10706 * c-common.h (c_build_vec_perm_expr): Move decl here.
10707 * c-common.c (c_build_vec_perm_expr): Move definition
10708 here.
10709
6f07a821
SB
107102012-06-06 Steven Bosscher <steven@gcc.gnu.org>
10711
10712 * c.opt (fconserve-space): Turn into a no-op.
10713
9faeb493 107142012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
10715
10716 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
10717 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
10718 both the start and end of the function.
10719
a4b7d13c
SB
107202012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10721
10722 * c-common.c: Do not include output.h.
10723 * c-pragma.c: Likewise.
10724
c265f413
SA
107252012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10726
10727 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
10728 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
10729 (lang_decl_name): Handle namespace decls.
10730
be7a421e
SB
107312012-05-31 Steven Bosscher <steven@gcc.gnu.org>
10732
10733 * c-ada-spec.c: Do not include output.h.
10734 * c-semantics.c: Likewise.
10735
65de6659
JM
107362012-05-29 Joseph Myers <joseph@codesourcery.com>
10737
10738 * c-common.c: Fix typo.
10739
ca5f4331
MM
107402012-05-29 Michael Matz <matz@suse.de>
10741
10742 * c-common.h (c_expand_decl): Remove prototype.
10743
4f7f7aca
MLI
107442012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10745
10746 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
10747 * c-opts.c (c_common_handle_option): Remove code handling
10748 warn_missing_braces.
10749
4a792f9b
PC
107502012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
10751
10752 PR c++/25137
10753 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
10754 -Wmissing_braces.
10755
650dc14a
DS
107562012-05-22 Dodji Seketeli <dodji@redhat.com>
10757
10758 PR c++/53322
10759 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
10760
9b095bf1
MLI
107612012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
10762
10763 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
10764 * c-opts.c (c_common_handle_option): Do not handle explicitly
10765 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
10766
0b2c4be5
DS
107672012-05-16 Dodji Seketeli <dodji@redhat.com>
10768
10769 PR preprocessor/7263
ab20d992 10770 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
10771 to cpp_classify_number. For diagnostics, use the precise location
10772 instead of the global input_location.
10773
a1bde5af
PC
107742012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10775
d02924ef 10776 PR c++/11856
a1bde5af
PC
10777 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
10778
d1ede5f4
BS
107792012-05-14 Bernd Schmidt <bernds@codesourcery.com>
10780
a1bde5af 10781 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 10782
f2bc201f
MLI
107832012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
10784
10785 PR 53063
10786 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
10787 Wreorder): Use LangEnabledBy.
10788 * c-opts.c (c_common_handle_option): Do not enable them
10789 explicitly. Call lang-specific generated functions.
10790 (c_common_post_options): Do not set them here.
10791
95744782
MLI
107922012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
10793
10794 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
10795 Wmissing-field-initializers,Wmissing-parameter-type,
10796 Wold-style-declaration,Woverride-init): Use EnabledBy.
10797 * c-opts.c (c_common_post_options): Do not set here explicitly.
10798
7d5a5747
MLI
107992012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10800
10801 PR 53063
10802 * c-opts.c (c_common_handle_option): Use handle_generated_option
10803 to enable sub-options.
10804
5a3c9cf2
PC
108052012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
10806
10807 PR c++/53158
10808 * c-common.c (warnings_for_convert_and_check): Use warning_at.
10809
3ac8781c
RG
108102012-05-10 Richard Guenther <rguenther@suse.de>
10811
10812 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
10813 adjust commentary about TYPE_IS_SIZETYPE types.
10814
1e537948
MLI
108152012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10816
10817 PR c++/53261
10818 * c-common.c (warn_logical_operator): Check that argument of
10819 integer_zerop is not NULL.
10820
f2c4a785
MLI
108212012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
10822
10823 PR c/43772
10824 * c-common.c (warn_logical_operator): Do not warn if either side
10825 is already true or false.
10826
50f305ca
MLI
108272012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
10828
10829 PR c/51712
10830 * c-common.c (expr_original_type): New.
10831 (shorten_compare): Do not warn for enumeration types.
10832
0c3641b0
MLI
108332012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10834
10835 * c.opt (fpermissive): Add Var(flag_permissive).
10836
7edaa4d2
MG
108372012-04-30 Marc Glisse <marc.glisse@inria.fr>
10838
10839 PR c++/51033
10840 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
10841 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
10842
b9c8da34
DS
108432012-04-30 Dodji Seketeli <dodji@redhat.com>
10844
10845 Add -Wvarargs option
ab20d992 10846 * c.opt (Wvarargs): Define new option.
b9c8da34 10847
e6c69da0
MLI
108482012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10849
10850 * c-common.c (check_function_arguments): Replace
10851 Wmissing-format-attribute with Wsuggest-attribute=format.
10852
90137d8f
MLI
108532012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10854
10855 * c.opt (Wsuggest-attribute=format): New. Alias of
10856 Wmissing-format-attribute.
10857 * c-format.c (decode_format_type): Replace
10858 Wmissing-format-attribute with Wsuggest-attribute=format.
10859 (check_function_format): Likewise.
10860
9faeb493 108612012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
10862
10863 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
10864 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
10865 * c.opt: Add Wliteral-suffix.
10866
c1771a20
MLI
108672012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
10868
10869 PR c/44774
10870 * c.opt (Wpedantic): New.
10871 (pedantic): Alias Wpedantic.
10872 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
10873 (c_common_post_options): Likewise.
10874 (sanitize_cpp_opts): Likewise.
10875 * c-lex.c (interpret_float): Likewise.
10876 * c-format.c (check_format_types): Likewise.
10877 * c-common.c (pointer_int_sum): Likewise.
10878 (c_sizeof_or_alignof_type): Likewise.
10879 (c_add_case_label): Likewise.
10880 (c_do_switch_warnings): Likewise.
10881 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10882
04b391c1
JM
108832012-04-15 Jason Merrill <jason@redhat.com>
10884
10885 PR c++/52818
10886 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
10887 (C_STD_NAME): Distinguish between C++98 and C++11.
10888
ac868f29
EB
108892012-04-11 Eric Botcazou <ebotcazou@adacore.com>
10890
10891 PR target/52624
10892 * c-common.h (uint16_type_node): Rename into...
10893 (c_uint16_type_node): ...this.
10894 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
10895 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
10896
fd4116f4
MLI
108972012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
10898
10899 * c-common.c (warn_if_unused_value): Move definition to here.
10900 * c-common.h (warn_if_unused_value): Move declaration to here.
10901
573ac65e
WB
109022012-03-23 William Bader <williambader@hotmail.com>
10903
10904 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
10905
552b8185
JM
109062012-03-20 Jason Merrill <jason@redhat.com>
10907
10908 * c-common.h (enum cxx_dialect): Add cxx1y.
10909 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
10910 test.
10911 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10912 * c-opts.c (c_common_post_options): Likewise.
10913 (set_std_cxx1y): New.
10914 (c_common_handle_option): Call it.
10915 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
10916
04398fa8
PC
109172012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
10918
10919 PR c++/14710
10920 * c.opt ([Wuseless-cast]): Add.
10921
d2a12ae7
RG
109222012-03-16 Richard Guenther <rguenther@suse.de>
10923
10924 * c-pretty-print.c (pp_c_initializer_list): Adjust.
10925
a12bf402
MLI
109262012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
10927
10928 PR c++/44783
10929 * c.opt (ftemplate-backtrace-limit) Add.
10930
5c30094f
RO
109312012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10932
10933 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
10934 handling.
10935 * c-pragma.c (handle_pragma_extern_prefix): Remove.
10936 (init_pragma): Don't register extern_prefix.
10937
21fa2faf
RG
109382012-03-12 Richard Guenther <rguenther@suse.de>
10939
10940 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
10941 (builtin_type_for_size): Likewise.
10942
e3793c6f
JJ
109432012-02-13 Jakub Jelinek <jakub@redhat.com>
10944
10945 PR c++/52215
10946 * c-common.c (sync_resolve_params): Don't decide whether to convert
10947 or not based on TYPE_SIZE comparison, convert whenever arg_type
10948 is unsigned INTEGER_TYPE.
10949
93286335
PC
109502012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
10951
10952 PR c/52118
10953 * c.opt ([Wunused-local-typedefs]): Fix description.
10954
7a421706
MS
109552012-01-24 Mike Stump <mikestump@comcast.net>
10956
10957 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
10958 exactly.
10959
ba9b1f11
RG
109602012-01-18 Richard Guenther <rguenther@suse.de>
10961
10962 * c-opts.c (c_common_post_options): Reset LTO flags if
10963 we are about to generate a PCH.
10964
465406be
PC
109652012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
10966
10967 PR c++/51777
10968 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
10969 use pp_unsigned_wide_integer.
10970
aee15221
RG
109712012-01-10 Richard Guenther <rguenther@suse.de>
10972
10973 PR middle-end/51806
10974 * c-opts.c (c_common_handle_option): Move -Werror handling
10975 to language independent code.
10976
5720c0dc
RG
109772012-01-05 Richard Guenther <rguenther@suse.de>
10978
10979 PR middle-end/51764
10980 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
10981 from common.opt.
10982
73ac190a
PC
109832011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
10984
10985 PR c++/51316
10986 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
10987 of array types with an unknown bound.
10988
48b0b196
JM
109892011-12-20 Joseph Myers <joseph@codesourcery.com>
10990
10991 * c-common.c (flag_isoc99): Update comment to refer to C11.
10992 (flag_isoc1x): Change to flag_isoc11.
10993 * c-common.h (flag_isoc99): Update comment to refer to C11.
10994 (flag_isoc1x): Change to flag_isoc11.
10995 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
10996 C11.
10997 * c-opts.c (set_std_c1x): Change to set_std_c11.
10998 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
10999 Call set_std_c11.
11000 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11001 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11002 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11003 standard.
11004 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11005 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11006 (std=gnu1x): Make alias of std=gnu11.
11007
d58d6eb5
JM
110082011-12-19 Jason Merrill <jason@redhat.com>
11009
11010 PR c++/51228
11011 * c-common.c (handle_transparent_union_attribute): Check the first
11012 field if the type is complete.
11013
b3908fcc
JW
110142011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11015
11016 PR libstdc++/51365
11017 * c-common.c (RID_IS_FINAL): Add.
11018 * c-common.h (RID_IS_FINAL): Add.
11019
fea3ca91
IS
110202011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11021
11022 * c.opt (fgnu-runtime): Provide full description.
11023 (fnext-runtime): Likewise.
11024 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11025
62bad7cd
AM
110262011-11-28 Andrew MacLeod <amacleod@redhat.com>
11027
11028 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11029 predefines in one place. Add LOCK_FREE predefines.
11030 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11031 new func.
11032
c466c4ff
AM
110332011-11-24 Andrew MacLeod <amacleod@redhat.com>
11034
11035 PR c/51256
9faeb493 11036 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11037 conditions
9faeb493
UB
11038 (resolve_overloaded_atomic_exchange,
11039 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11040 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11041 error_mark_node for error conditions.
9faeb493 11042
a5952633
RG
110432011-11-08 Richard Guenther <rguenther@suse.de>
11044
11045 PR middle-end/51010
ab20d992 11046 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11047
0a35513e
AH
110482011-11-07 Richard Henderson <rth@redhat.com>
11049 Aldy Hernandez <aldyh@redhat.com>
11050 Torvald Riegel <triegel@redhat.com>
11051
11052 Merged from transactional-memory.
11053
11054 * c-common.c (handle_tm_wrap_attribute,
11055 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11056 (struct c_common_reswords): Added __transaction* keywords.
11057 (struct c_common_attribute_table): Added transaction* and tm_regparm
11058 attributes.
11059 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11060 masks.
11061 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11062 find_tm_attribute): Declare.
11063
6d87092d
JM
110642011-11-07 Jason Merrill <jason@redhat.com>
11065
11066 PR c++/35688
11067 * c-common.c, c-common.h: Revert yesterday's changes.
11068
8e7860a1
JM
110692011-11-06 Jason Merrill <jason@redhat.com>
11070
11071 PR c++/35688
11072 * c-common.c (decl_has_visibility_attr): Split out from...
11073 (c_determine_visibility): ...here.
11074 * c-common.h: Declare it.
11075
d19fa6b5
JM
110762011-11-06 Joseph Myers <joseph@codesourcery.com>
11077
11078 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11079 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11080 type.
11081 (check_user_alignment): New. Split out of
11082 handle_aligned_attribute. Disallow integer constants with
11083 noninteger types. Conditionally allow zero.
11084 (handle_aligned_attribute): Use check_user_alignment.
11085 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11086
86951993
AM
110872011-11-06 Andrew MacLeod <amacleod@redhat.com>
11088 Richard Henderson <rth@redhat.com>
11089
11090 Merged from cxx-mem-model.
11091
11092 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11093 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11094 parameters that are the same type size.
11095 (get_atomic_generic_size): New. Find size of generic
11096 atomic function parameters and do typechecking.
11097 (add_atomic_size_parameter): New. Insert size into parameter list.
11098 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11099 either __atomic_exchange_n or external library call.
9faeb493 11100 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11101 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11102 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11103 __atomic_load_n or an external library call.
11104 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11105 __atomic_store_n or an external library call.
11106 (resolve_overloaded_builtin): Handle new __atomic builtins.
11107
cf9e9959
EB
111082011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11109
11110 PR c++/50608
11111 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11112 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11113 <INDIRECT_REF>: Return the argument.
11114 <ARRAY_REF>: Remove special code for negative offset.
11115 Call fold_build_pointer_plus instead of size_binop.
11116 (fold_offsetof): Remove STOP_REF argument and adjust.
11117 * c-common.h (fold_offsetof_1): Declare.
11118 (fold_offsetof): Remove STOP_REF argument.
11119
25339f10
JM
111202011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11121
11122 PR c++/50810
11123 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11124 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11125 Wnarrowing for C++0x and C++98.
11126 * c.opt ([Wnarrowing]): Update.
11127
89401152
PC
111282011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11129
11130 PR c++/44277
11131 * c.opt: Add Wzero-as-null-pointer-constant.
11132
97e3ad20
JM
111332011-10-31 Jason Merrill <jason@redhat.com>
11134
15694fdd
JM
11135 * c.opt (-fdeduce-init-list): Off by default.
11136
97e3ad20
JM
11137 PR c++/50920
11138 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11139 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11140 and -Wc++11-compat.
11141 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11142
fb9120e3
RAV
111432011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11144
11145 PR c++/30066
11146 * c.opt (fvisibility-inlines-hidden): Description change.
11147
3ce4f9e4
ESR
111482011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11149
11150 Implement C++11 user-defined literals.
11151 * c-common.c (build_userdef_literal): New.
11152 * c-common.def: New tree code.
11153 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11154 * c-lex.c (interpret_float): Add suffix parm.
11155 (c_lex_with_flags): Build literal tokens.
11156
5f53c243
PC
111572011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11158
11159 PR c++/50841
11160 Revert:
11161 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11162
11163 PR c++/50810
11164 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11165 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11166 Wnarrowing for C++0x and C++98.
11167 * c.opt ([Wnarrowing]): Update.
11168
263734e1
PC
111692011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11170
11171 PR c++/50810
11172 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11173 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11174 Wnarrowing for C++0x and C++98.
11175 * c.opt ([Wnarrowing]): Update.
11176
d2e312d7
PC
111772011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11178
11179 PR c++/45385
11180 * c-common.c (conversion_warning): Remove code looking for
11181 artificial operands.
11182
d17687f6
DS
111832011-10-18 Dodji Seketeli <dodji@redhat.com>
11184
11185 PR bootstrap/50760
11186 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11187 !NO_IMPLICIT_EXTERN_C.
d17687f6 11188
fc8396e9
PC
111892011-10-17 Michael Spertus <mike_spertus@symantec.com>
11190
11191 * c-common.c (c_common_reswords): Add __bases,
11192 __direct_bases.
11193 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11194
111952011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11196
11197 PR c++/50757
11198 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11199
847e697a
TT
112002011-10-15 Tom Tromey <tromey@redhat.com>
11201 Dodji Seketeli <dodji@redhat.com>
11202
11203 * c.opt (fdebug-cpp): New option.
11204 * c-opts.c (c_common_handle_option): Handle the option.
11205 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11206 output stream in parameter. Factorized from ...
11207 (maybe_print_line): ... this. Dump location debug information when
11208 -fdebug-cpp is in effect.
11209 (print_line_1): New static function. Takes an output stream in
11210 parameter. Factorized from ...
11211 (print_line): ... here. Dump location information when -fdebug-cpp
11212 is in effect.
11213 (scan_translation_unit): Dump location information when
11214 -fdebug-cpp is in effect.
11215
92582b75
TT
112162011-10-15 Tom Tromey <tromey@redhat.com>
11217 Dodji Seketeli <dodji@redhat.com>
11218
11219 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11220 without argument.
11221 * c-opts.c (c_common_handle_option)<case
11222 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11223 cases. Handle -ftrack-macro-expansion with and without argument.
11224
46427374
TT
112252011-10-15 Tom Tromey <tromey@redhat.com>
11226 Dodji Seketeli <dodji@redhat.com>
11227
11228 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11229 (print_line, cb_define, do_line_change): Adjust to avoid touching
11230 the internals of struct line_map. Use the public API instead.
11231 * c-pch.c (c_common_read_pch): Likewise.
11232 * c-lex.c (fe_file_change): Likewise.
11233
fc8396e9
PC
112342011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11235
11236 PR c++/17212
11237 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11238
112392011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11240
11241 PR c++/33067
11242 * c-pretty-print.c (pp_c_floating_constant): Output
11243 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11244
e79983f4
MM
112452011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11246
11247 * c-common.c (def_builtin_1): Delete old interface with two
11248 parallel arrays to hold standard builtin declarations, and replace
11249 it with a function based interface that can support creating
11250 builtins on the fly in the future. Change all uses, and poison
11251 the old names. Make sure 0 is not a legitimate builtin index.
11252 * c-omp.c (c_finish_omp_barrier): Ditto.
11253 (c_finish_omp_taskwait): Ditto.
11254 (c_finish_omp_flush): Ditto.
11255
6637388f
TG
112562011-10-11 Tristan Gingold <gingold@adacore.com>
11257
11258 * c.opt: (fallow-parameterless-variadic-functions): New.
11259
3797cb21
DS
112602011-09-08 Dodji Seketeli <dodji@redhat.com>
11261
11262 PR c++/33255 - Support -Wunused-local-typedefs warning
11263 * c-common.h (struct c_language_function::local_typedefs): New
11264 field.
9faeb493
UB
11265 (record_locally_defined_typedef, maybe_record_typedef_use)
11266 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 11267 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
11268 (maybe_record_typedef_use)
11269 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
11270 * c.opt: Declare new -Wunused-local-typedefs flag.
11271
693ddb1b
EB
112722011-09-06 Eric Botcazou <ebotcazou@adacore.com>
11273
11274 PR middle-end/50266
11275 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11276 computations.
11277
830c740f
RG
112782011-09-05 Richard Guenther <rguenther@suse.de>
11279
11280 * c-common.c (complete_array_type): Use ssize_int (-1) instead
11281 of integer_minus_one_node for empty array upper bounds.
11282
892a371f
DS
112832011-08-28 Dodji Seketeli <dodji@redhat.com>
11284
11285 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11286 it's the first time it's being called on this main TU.
11287
0e3fdb48
RB
112882011-08-24 Richard Guenther <rguenther@suse.de>
11289
11290 PR c/49396
11291 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11292
112932011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
11294
11295 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11296 defined in cpp_init_builtins and c_cpp_builtins.
11297
d4a83c10
JM
112982011-08-19 Joseph Myers <joseph@codesourcery.com>
11299
11300 * c-common.c (c_common_reswords): Add __builtin_complex.
11301 * c-common.h (RID_BUILTIN_COMPLEX): New.
11302
bbceee64
JM
113032011-08-18 Joseph Myers <joseph@codesourcery.com>
11304
11305 * c-common.c (c_common_reswords): Add _Noreturn.
11306 (keyword_is_function_specifier): Handle RID_NORETURN.
11307 * c-common.h (RID_NORETURN): New.
11308
3f8257db 113092011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
11310
11311 * c-common.c (unsafe_conversion_p): New function. Check if it is
11312 unsafe to convert an expression to the type.
11313 (conversion_warning): Adjust, use unsafe_conversion_p.
11314 * c-common.h (unsafe_conversion_p): New function declaration.
11315
20906c66
JJ
113162011-08-02 Jakub Jelinek <jakub@redhat.com>
11317
11318 * c-common.h (c_finish_omp_atomic): Adjust prototype.
11319 (c_finish_omp_taskyield): New prototype.
11320 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11321 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11322 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
11323 or RHS1 have side-effects, evaluate those too in the right spot,
11324 if it is a decl and LHS is also a decl, error out if they
11325 aren't the same.
11326 (c_finish_omp_taskyield): New function.
11327 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11328 * c-pragma.c (omp_pragmas): Add taskyield.
11329 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11330 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11331 PRAGMA_OMP_CLAUSE_MERGEABLE.
11332
770e5a2e
DS
113332011-07-25 Dodji Seketeli <dodji@redhat.com>
11334
11335 * c-common.h (set_underlying_type): Remove parm name from
11336 declaration.
11337
1baae426
RG
113382011-07-25 Romain Geissler <romain.geissler@gmail.com>
11339
11340 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 11341
fcb21722
JM
113422011-07-22 Jason Merrill <jason@redhat.com>
11343
76f86d00
JM
11344 PR c++/49793
11345 * c.opt (Wnarrowing): New.
11346
3a636414
JM
11347 PR c++/30112
11348 * c-common.h: Declare c_linkage_bindings.
11349 * c-pragma.c (handle_pragma_redefine_extname): Use it.
11350
fcb21722
JM
11351 PR c++/49813
11352 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11353 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11354 as flag_isoc99 for 'restrict'.
11355 (pp_c_specifier_qualifier_list): Likewise for _Complex.
11356
02614448
ILT
113572011-07-21 Ian Lance Taylor <iant@google.com>
11358
11359 PR middle-end/49705
11360 * c-common.c (c_disable_warnings): New static function.
11361 (c_enable_warnings): New static function.
11362 (c_fully_fold_internal): Change local unused_p to bool. Call
11363 c_disable_warnings and c_enable_warnings rather than change
11364 c_inhibit_evaluation_warnings.
11365
34429675
JM
113662011-07-20 Jason Merrill <jason@redhat.com>
11367
11368 PR c++/6709 (DR 743)
11369 PR c++/42603 (DR 950)
11370 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11371 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11372 (CPP_DECLTYPE): New.
11373 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11374
5d49b6a7
RG
113752011-07-19 Richard Guenther <rguenther@suse.de>
11376
11377 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11378 * c-omp.c (c_finish_omp_for): Likewise.
11379
e84a58ff
EB
113802011-07-12 Eric Botcazou <ebotcazou@adacore.com>
11381
11382 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11383 body on the next line.
11384
329af3c7
JM
113852011-07-08 Jason Merrill <jason@redhat.com>
11386
4063e61b
JM
11387 PR c++/45437
11388 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11389
329af3c7
JM
11390 PR c++/49673
11391 * c-common.c (c_apply_type_quals_to_decl): Don't check
11392 TYPE_NEEDS_CONSTRUCTING.
11393
1a072294
RG
113942011-07-06 Richard Guenther <rguenther@suse.de>
11395
11396 * c-common.c (c_common_nodes_and_builtins):
11397 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11398
fce5dddd
RG
113992011-07-05 Richard Guenther <rguenther@suse.de>
11400
11401 * c-common.c (c_common_nodes_and_builtins): Build all common
11402 tree nodes first.
11403
45d439ac
JJ
114042011-06-27 Jakub Jelinek <jakub@redhat.com>
11405
56300785
JJ
11406 * c-common.h (c_tree_chain_next): New static inline function.
11407
45d439ac
JJ
11408 * c-common.c (check_builtin_function_arguments): Handle
11409 BUILT_IN_ASSUME_ALIGNED.
11410
e0a8ecf2
AM
114112011-06-21 Andrew MacLeod <amacleod@redhat.com>
11412
11413 * c-common.c: Add sync_ or SYNC__ to builtin names.
11414 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
11415
114162011-06-20 Pierre Vittet <piervit@pvittet.com>
11417
11418 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11419 handler.
11420 (gen_pragma_handler): New union.
11421 (internal_pragma_handler): New type.
11422 (c_register_pragma_with_data)
11423 (c_register_pragma_with_expansion_and_data): New functions.
11424
11425 * c-pragma.c (registered_pragmas, c_register_pragma_1)
11426 (c_register_pragma, c_register_pragma_with_expansion)
11427 (c_invoke_pragma_handler): Changed to work with
11428 internal_pragma_handler.
11429 (c_register_pragma_with_data)
11430 (c_register_pragma_with_expansion_and_data): New functions.
11431
677f3fa8
JM
114322011-06-14 Joseph Myers <joseph@codesourcery.com>
11433
11434 * c-common.c: Include common/common-target.h.
11435 (handle_section_attribute): Use
11436 targetm_common.have_named_sections.
11437 * c-cppbuiltin.c: Include common/common-target.h.
11438 (c_cpp_builtins): Use targetm_common.except_unwind_info.
11439
d7fc8c14
RG
114402011-06-10 Richard Guenther <rguenther@suse.de>
11441
11442 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11443 to print a IDENTIFIER_NODE.
11444
10e48e39
RO
114452011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11446 Joseph Myers <joseph@codesourcery.com>
11447
11448 * c.opt (fbuilding-libgcc): New option.
11449 * c-cppbuiltin.c (c_cpp_builtins): Define
11450 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11451
6976ae51
JM
114522011-06-07 Jason Merrill <jason@redhat.com>
11453
3ff60975
JM
11454 * c-common.c (max_tinst_depth): Lower default to 900.
11455
6976ae51
JM
11456 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11457
009db074
RG
114582011-06-07 Richard Guenther <rguenther@suse.de>
11459
11460 * c-common.c (c_common_nodes_and_builtins): Do not set
11461 size_type_node or call set_sizetype.
11462
b4592b92
DS
114632011-06-07 Dodji Seketeli <dodji@redhat.com>
11464
11465 PR debug/49130
11466 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 11467 type when using pointer comparison to compare types.
b4592b92 11468
014ab419
JW
114692011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
11470
11471 * c.opt: Add -Wdelete-non-virtual-dtor.
11472 * c-opts.c (c_common_handle_option): Include it in -Wall.
11473
4f60111f
NF
114742011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
11475
11476 PR bootstrap/49190
11477
11478 Revert:
11479 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11480
11481 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11482 not tree_common.
11483
4cc4f2f4
JJ
114842011-05-27 Jakub Jelinek <jakub@redhat.com>
11485
11486 PR c++/49165
11487 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11488 C++ don't call c_common_truthvalue_conversion on void type arms.
11489
38e01f9e
NF
114902011-05-27 Nathan Froyd <froydnj@codesourcery.com>
11491
11492 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
11493 (stmt_list_stack): Define.
11494 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
11495 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
11496
92e948a8
NF
114972011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11498
11499 * c-common.c (warning_candidate_p): Check for BLOCKs.
11500
a2fc3e63
NF
115012011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11502
11503 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11504 not tree_common.
11505
0957c029
JJ
115062011-05-25 Jakub Jelinek <jakub@redhat.com>
11507
11508 * c-common.c (def_fn_type): Remove extra va_end.
11509
828fb3ba
JM
115102011-05-23 Jason Merrill <jason@redhat.com>
11511
11512 PR c++/48106
11513 * c-common.c (c_common_get_narrower): New.
11514 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
11515
dde05067
NF
115162011-05-23 Nathan Froyd <froydnj@codesourcery.com>
11517
11518 * c-common.h (check_function_arguments): Tweak prototype of
11519 check_function_arguments.
11520 * c-common.c (check_function_arguments): Likewise. Adjust
11521 calls to check_function_nonnull, check_function_format, and
11522 check_function_sentinel.
11523 (check_function_sentinel): Take a FUNCTION_TYPE rather than
11524 separate attributes and typelist arguments. Use
11525 FOREACH_FUNCTION_ARGS to iterate over argument types.
11526
3c0d13bf
PC
115272011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11528
11529 * c-common.c (c_common_reswords): Reorder.
11530 * c-common.h (rid): Likewise.
11531
8242dd04
NF
115322011-05-10 Nathan Froyd <froydnj@codesourcery.com>
11533
11534 * c-common.c (def_fn_type): Don't call build_function_type, call
11535 build_function_type_array or build_varargs_function_type_array
11536 instead.
11537 (c_common_nodes_and_builtins): Likewise.
11538
3d528853
NF
115392011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11540
11541 * c-common.c (c_add_case_label): Omit the loc argument to
11542 build_case_label.
11543 * c-common.h (build_case_label): Remove.
11544 * c-semantics.c (build_case_label): Remove.
11545
a04a722b
JM
115462011-05-05 Joseph Myers <joseph@codesourcery.com>
11547
11548 * c-objc.h (objc_start_method_definition): Update prototype.
11549 * stub-objc.c (objc_start_method_definition): Add extra parameter.
11550
e19a18d4
NF
115512011-05-04 Nathan Froyd <froydnj@codesourcery.com>
11552
11553 * c-common.c (check_main_parameter_types): Reindent. Don't use
11554 TYPE_ARG_TYPES directly.
11555 (handle_nonnull_attribute): Likewise.
11556 (sync_resolve_params): Likewise.
11557 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
11558 to check_format_string.
11559 (handle_format_attribute): Likewise.
11560 (check_format_string): Take a function type to examine instead of
11561 a type list. Use a function_arg_iterator to step through argument
11562 types.
11563
c62c040f
RG
115642011-05-04 Richard Guenther <rguenther@suse.de>
11565
11566 * c-common.c (fix_string_type): Use size_int for index type bounds.
11567 (start_fname_decls): Do not pass NULL to build_int_cst.
11568 (c_init_attributes): Likewise.
11569 * c-lex.c (c_lex_with_flags): Likewise.
11570
c12ff9d8
JM
115712011-04-27 Jason Merrill <jason@redhat.com>
11572
11573 * c-common.c (make_tree_vector_from_list): New.
11574 * c-common.h: Declare it.
11575
304dfbe3
RG
115762011-04-26 Richard Guenther <rguenther@suse.de>
11577
11578 PR preprocessor/48248
11579 * c-ppoutput.c (maybe_print_line): Always optimize newlines
11580 for output size with -P.
11581
3c0d13bf
PC
115822011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
11583
11584 * c-common.c (struct c_common_resword): Add __underlying_type.
11585 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
11586
04695783
JM
115872011-04-20 Jim Meyering <meyering@redhat.com>
11588
11589 * c-format.c (init_dollar_format_checking): Remove useless
11590 if-before-free.
11591
0dc33c3c
NP
115922011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
11593
11594 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 11595 (objc_detect_field_duplicates): New.
0dc33c3c 11596 * stub-objc.c: Likewise.
3c0d13bf 11597
c59633d9
NP
115982011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11599
11600 * stub-objc.c (objc_declare_protocols): Renamed to
11601 objc_declare_protocol.
11602 * c-objc.h: Likewise.
3c0d13bf 11603
32dabdaf
NP
116042011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11605
11606 * stub-objc.c (objc_declare_class): Updated argument name.
11607
81f653d6
NF
116082011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11609
11610 * c-common.h (c_common_init_ts): Declare.
11611 * c-common.c (c_common_init_ts): Define.
11612
eb345401
NP
116132011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
11614
11615 * c-objc.h (objc_build_message_expr): Updated prototype.
11616 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 11617
a358e188
MJ
116182011-04-12 Martin Jambor <mjambor@suse.cz>
11619
11620 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
11621 of cgraph_node.
11622
e6313a78
RG
116232011-04-11 Richard Guenther <rguenther@suse.de>
11624
11625 * c-common.c (complete_array_type): Build a range type of
11626 proper type.
11627
dcf0c47e
NF
116282011-04-08 Nathan Froyd <froydnj@codesourcery.com>
11629
11630 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
11631 (handle_type_generic_attribute): Likewise.
11632
1ee44b26
JM
116332011-04-07 Jason Merrill <jason@redhat.com>
11634
11635 PR c++/48450
11636 * c-common.c (c_common_truthvalue_conversion): Don't ignore
11637 conversion from C++0x scoped enum.
11638
acce4e77
JM
116392011-04-06 Joseph Myers <joseph@codesourcery.com>
11640
11641 * c-target-def.h: New file.
11642 * c-target.def: New file.
11643 * c-target.h: New file.
11644 * c-common.c (targetcm): Don't define here.
11645 * c-common.h (default_handle_c_option): Declare.
11646 * c-format.c: Include c-target.h instead of target.h.
11647 * c-opts.c: Include c-target.h instead of target.h. Explicitly
11648 include tm.h.
11649 (default_handle_c_option): Move from targhooks.c.
11650
e2eefb55
JJ
116512011-03-29 Jakub Jelinek <jakub@redhat.com>
11652
11653 PR preprocessor/48248
11654 * c-ppoutput.c (print): Add src_file field.
11655 (init_pp_output): Initialize it.
11656 (maybe_print_line): Don't optimize by adding up to 8 newlines
11657 if map->to_file and print.src_file are different file.
11658 (print_line): Update print.src_file.
11659
ba78087b
KT
116602011-03-25 Kai Tietz <ktietz@redhat.com>
11661
11662 * c-ada-spec.c (compare_comment): Use filename_cmp
11663 instead of strcmp for filename.
11664
0edf1bb2
JL
116652011-03-25 Jeff Law <law@redhat.com>
11666
adfac8df 11667 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 11668
c7dc8804
JM
116692011-03-25 Jason Merrill <jason@redhat.com>
11670
11671 * c.opt: Add -std=c++03.
11672
d1d879b1
EB
116732011-03-22 Eric Botcazou <ebotcazou@adacore.com>
11674
11675 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
11676
3f8257db 116772011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
11678
11679 PR target/12171
5050afdf
KT
11680 * c-pretty-print.c (pp_c_specifier_qualifier_list):
11681 Display allowed attributes for function pointer types.
11682 (pp_c_attributes_display): New function to display
11683 attributes having affects_type_identity flag set to true.
11684 * c-pretty-print.h (pp_c_attributes_display): New prototype.
11685
62d784f7
KT
11686 * c-common.c (c_common_attribute_table):
11687 Add new element.
11688 (c_common_format_attribute_table): Likewise.
11689
82d37118
JM
116902011-03-18 Jason Merrill <jason@redhat.com>
11691
49a000c3
JM
11692 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
11693 * c-common.h: Don't declare it here.
11694 * c-common.c: Or define it here.
11695 * c-opts.c (c_common_handle_option): Or set it here.
11696
82d37118
JM
11697 PR c++/35315
11698 * c-common.c (handle_transparent_union_attribute): Don't
11699 make a duplicate type in C++.
11700
17bc631c
JM
117012011-03-15 Jason Merrill <jason@redhat.com>
11702
11703 * c-common.c (max_constexpr_depth): New.
11704 * c-common.h: Declare it.
11705 * c-opts.c (c_common_handle_option): Set it.
11706 * c.opt (fconstexpr-depth): New option.
11707
1b9b91a6
JM
117082011-03-11 Jason Merrill <jason@redhat.com>
11709
f231b5ff
JM
11710 * c-common.c (attribute_takes_identifier_p): Add missing const.
11711
1b9b91a6
JM
11712 PR c++/46803
11713 * c-common.c (attribute_takes_identifier_p): Assume that an
11714 unknown attribute takes an identifier.
11715
a19e4d44
NF
117162011-03-07 Nathan Froyd <froydnj@codesourcery.com>
11717
11718 PR c/47786
11719 * c-common.c (c_type_hash): Call list_length instead of iterating
11720 through DECL_CHAIN. Rename 'i' to 'n_elements'.
11721
982d62f6
JJ
117222011-02-19 Jakub Jelinek <jakub@redhat.com>
11723
11724 PR c/47809
11725 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
11726
0a256240
NP
117272011-02-17 Iain Sandoe <iains@gcc.gnu.org>
11728
11729 * c.opt (fobjc-abi-version=) New.
11730 (fobjc-nilcheck): New.
11731
ba9e6dd5
NF
117322011-02-03 Nathan Froyd <froydnj@codesourcery.com>
11733
11734 PR c++/46890
11735 * c-common.h (keyword_is_decl_specifier): Declare.
11736 * c-common.c (keyword_is_decl_specifier): Define.
11737 (keyword_is_function_specifier): New function.
11738
7273813a
JJ
117392011-01-26 Jakub Jelinek <jakub@redhat.com>
11740
11741 PR c/47473
11742 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
11743 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
11744 REAL_TYPE.
11745
908ef79b
AC
117462011-01-26 Arnaud Charlet <charlet@adacore.com>
11747
11748 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
11749
237e9384
JJ
117502011-01-26 Jakub Jelinek <jakub@redhat.com>
11751
11752 PR pch/47430
11753 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
11754 after init_c_lex if pch_file is set.
11755
47ea1edf
DK
117562011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
11757
d4dba752 11758 PR c++/43601
47ea1edf
DK
11759 * c.opt (-fkeep-inline-dllexport): New switch.
11760
2aa9c6ae
RG
117612011-01-12 Richard Guenther <rguenther@suse.de>
11762
11763 PR middle-end/32511
11764 * c-common.c (handle_weak_attribute): Warn instead of error
11765 on declaring an inline function weak.
11766
7bd11157
TT
117672011-01-05 Tom Tromey <tromey@redhat.com>
11768
11769 * c-common.h (lvalue_error): Update.
11770 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
11771 not error.
11772
0e66e494 117732010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 11774
b4f588c4
NP
11775 PR objc/47075
11776 * c-objc.h (objc_finish_message_expr): Added argument to
11777 prototype.
11778
f4da8dce
NF
117792010-12-22 Nathan Froyd <froydnj@codesourcery.com>
11780
11781 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
11782 Use prototype_p.
11783
46270f14
NP
117842010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
11785
11786 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 11787 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 11788
4816c593
NF
117892010-12-10 Nathan Froyd <froydnj@codesourcery.com>
11790
11791 * c-common.h (readonly_error): Declare.
11792 * c-common.c (readonly_error): Define.
11793
7a6daeb0
NF
117942010-12-09 Nathan Froyd <froydnj@codesourcery.com>
11795
11796 * c-common.h (invalid_indirection_error): Declare.
11797 * c-common.c (invalid_indirection_error): Define.
11798
892f6119
RG
117992010-12-03 Richard Guenther <rguenther@suse.de>
11800
11801 PR c/46745
11802 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
11803 (pp_c_unary_expression): Likewise.
11804 (pp_c_expression): Likewise.
11805
6c39e757
NP
118062010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
11807
11808 * c-common.h (objc_finish_function): New.
11809 (objc_non_volatilized_type): Removed.
11810 (objc_type_quals_match): Removed.
11811 * stub-objc.c (objc_finish_function): New.
11812 (objc_non_volatilized_type): Removed.
11813 (objc_type_quals_match): Removed.
9faeb493 11814
7c475d11
JM
118152010-11-30 Joseph Myers <joseph@codesourcery.com>
11816
11817 * c-common.h (parse_optimize_options): Declare.
11818 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
11819 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
11820
71f3e391
JM
118212010-11-29 Joseph Myers <joseph@codesourcery.com>
11822
11823 * c-opts.c (check_deps_environment_vars): Use getenv instead of
11824 GET_ENVIRONMENT.
11825 * c-pch.c (O_BINARY): Don't define here.
11826 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
11827
d5fabb58
JM
118282010-11-25 Joseph Myers <joseph@codesourcery.com>
11829
11830 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
11831 targetm.except_unwind_info.
11832
299404a1
JM
118332010-11-23 Joseph Myers <joseph@codesourcery.com>
11834
11835 * c-opts.c (c_common_handle_option): Pass location to
11836 set_struct_debug_option.
11837
c98cd5bf
JM
118382010-11-23 Joseph Myers <joseph@codesourcery.com>
11839
11840 * c-common.c (visibility_options): Move from ../opts.c.
11841 * c-common.h (struct visibility_flags, visibility_options):
11842 Declare here.
11843 * c-opts.c (finish_options): Rename to c_finish_options.
11844 (c_common_init): Update call to finish_options.
11845
a9546771
NP
118462010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
11847
11848 PR objc/34033
11849 * c-lex.c (lex_string): Check that each string in an Objective-C
11850 string concat sequence starts with either one or zero '@', and
11851 that there are no spurious '@' signs at the end.
11852
24a57808
JM
118532010-11-20 Joseph Myers <joseph@codesourcery.com>
11854
11855 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
11856 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
11857 HANDLE_PRAGMA_VISIBILITY.
11858 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
11859 HANDLE_PRAGMA_VISIBILITY): Don't define.
11860 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
11861
a9aa2c3a
NF
118622010-11-20 Nathan Froyd <froydnj@codesourcery.com>
11863
11864 PR c++/16189
11865 PR c++/36888
11866 PR c++/45331
11867 * c-common.h (keyword_begins_type_specifier): Declare.
11868 (keyword_is_storage_class_specifier): Declare.
11869 (keyword_is_type_qualifier): Declare.
11870 * c-common.c (keyword_begins_type_specifier): New function.
11871 (keyword_is_storage_class_specifier): New function.
11872 (keyword_is_type_qualifier): Declare.
11873
5386338c
JM
118742010-11-19 Joseph Myers <joseph@codesourcery.com>
11875
11876 PR c/46547
11877 * c-common.c (in_late_binary_op): Define.
11878 (c_common_truthvalue_conversion): Check in_late_binary_op before
11879 calling c_save_expr.
11880 * c-common.h (in_late_binary_op): Declare.
11881
69ccdddb
JM
118822010-11-19 Joseph Myers <joseph@codesourcery.com>
11883
11884 * c-opts.c (c_common_handle_option): Update calls to
11885 set_struct_debug_option.
11886
6b192a09
NP
118872010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
11888
11889 * c-common.h (objc_declare_protocols): Added additional argument.
11890 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 11891
fb52b50a
NF
118922010-11-18 Nathan Froyd <froydnj@codesourcery.com>
11893
11894 PR c/33193
11895 * c-common.h (build_real_imag_expr): Declare.
11896 * c-semantics.c (build_real_imag_expr): Define.
11897
b37421c6
JM
118982010-11-17 Joseph Myers <joseph@codesourcery.com>
11899
11900 * c-opts.c (c_common_parse_file): Take no arguments.
11901 * c-common.h (c_common_parse_file): Update prototype.
11902
07078664
JJ
119032010-11-16 Jakub Jelinek <jakub@redhat.com>
11904
11905 PR c++/46401
11906 * c-common.c (warning_candidate_p): Don't track non-const calls
11907 or STRING_CSTs.
11908
c6a13190
ILT
119092010-11-15 Ian Lance Taylor <iant@google.com>
11910
11911 * c-lex.c (init_c_lex): Set macro debug callbacks if
11912 flag_dump_go_spec is set.
11913
925e8657
NP
119142010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
11915
11916 * c-common.h (objc_build_incr_expr_for_property_ref): New.
11917 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
11918
bb0a9581
NF
119192010-11-15 Nathan Froyd <froydnj@codesourcery.com>
11920
11921 PR preprocessor/45038
11922 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
11923 dialects.
11924
c5fa0890
JM
119252010-11-12 Joseph Myers <joseph@codesourcery.com>
11926
11927 * c-common.h (c_family_lang_mask): Declare.
11928 * c-opts.c (c_family_lang_mask): Make extern.
11929 * c-pragma.c (handle_pragma_diagnostic): Use
11930 control_warning_option.
11931
a4d8c676
JM
119322010-11-12 Joseph Myers <joseph@codesourcery.com>
11933
11934 * c-common.c (parse_optimize_options): Update call to
11935 decode_options.
11936 * c-common.h (c_common_handle_option): Update prototype.
11937 * c-opts.c (c_common_handle_option): Take location_t parameter and
11938 pass it to other functions.
11939
f954bd2c
JM
119402010-11-11 Joseph Myers <joseph@codesourcery.com>
11941
11942 * c-opts.c (warning_as_error_callback): Remove.
11943 (c_common_initialize_diagnostics): Don't call
11944 register_warning_as_error_callback.
11945 (c_common_handle_option): Handle -Werror=normalized= here.
11946
d8a07487
JM
119472010-11-10 Joseph Myers <joseph@codesourcery.com>
11948
11949 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
11950 in diagnostic.
11951 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
11952 letter.
11953 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
11954 Remove trailing '.' from diagnostics.
11955 * c.opt (Wwrite-strings_: Avoid '`' in help text.
11956
d5478783
JM
119572010-11-10 Joseph Myers <joseph@codesourcery.com>
11958
11959 * c-common.c (parse_optimize_options): Pass global_dc to
11960 decode_options.
11961 * c-opts.c (c_common_handle_option): Pass &global_options to
11962 set_Wstrict_aliasing.
11963 * c.opt (v): Don't mark Common or document here.
11964
91ebb981
IS
119652010-11-06 Iain Sandoe <iains@gcc.gnu.org>
11966
11967 PR target/44981
11968 * c-format.c (format_type): New type gcc_objc_string_format_type.
11969 (valid_stringptr_type_p): New.
11970 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 11971 (check_format_string): Pass expected type, use
91ebb981
IS
11972 valid_stringptr_type_p (), check that the format string types are
11973 consistent with the format specification.
11974 (decode_format_attr): Warn if NSString is used outside objective-c.
11975 (format_types_orig): Add NSString.
11976 (format_name): New.
11977 (format_flags): New.
11978 (check_format_arg): Handle format strings requiring an external parser.
11979 first_target_format_type: New variable.
11980 (handle_format_attribute): Set up first_target_format_type, pass the
11981 expected format arg string type to check_format_string().
ab20d992 11982 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
11983 * stub-objc.c (objc_string_ref_type_p): New.
11984 (objc_check_format_arg): New.
11985
bede2adc
NP
119862010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
11987
9faeb493 11988 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
11989 * c-common.h (objc_build_class_component_ref): New.
11990 * stub-objc.c (objc_build_class_component_ref): New.
11991
9a179d01
NP
119922010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
11993
11994 * c.opt (Wproperty-assign-default): New option.
11995
22d8d616
NP
119962010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
11997
11998 Implemented -fobjc-std=objc1 flag.
11999 * c.opt (fobjc-std=objc1): New option.
12000
2debdb4f
NP
120012010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12002
12003 Implemented format and noreturn attributes for Objective-C methods.
12004 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12005 attribute for Objective-C methods.
12006
ec52b111
JM
120072010-10-31 Jason Merrill <jason@redhat.com>
12008
12009 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12010 EXPR_LOC_OR_HERE.
12011
46a88c12
NP
120122010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12013
12014 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12015 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12016 (objc_add_property_declaration): Removed arguments for copies and
12017 ivar.
12018 (objc_build_getter_call): Renamed to
12019 objc_maybe_build_component_ref.
12020 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12021 (objc_is_property_ref): New.
12022 * c-common.c (c_common_reswords): Removed copies and ivar.
12023 * stub-objc.c (objc_add_property_declaration): Removed arguments
12024 for copies and ivar.
12025 (objc_build_getter_call): Renamed to
12026 objc_maybe_build_component_ref.
12027 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12028 (objc_is_property_ref): New.
9faeb493 12029
1e4bf85b
AC
120302010-10-29 Arnaud Charlet <charlet@adacore.com>
12031 Matthew Gingell <gingell@adacore.com>
12032
12033 * c-ada-spec.c (separate_class_package): New function.
12034 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12035 name of their enclosing package.
12036 (print_ada_declaration): Use separate_class_package.
12037
81f0bab2
JM
120382010-10-27 Jason Merrill <jason@redhat.com>
12039
2b08f2c5
JM
12040 * c-common.c (c_common_reswords): Add __is_literal_type.
12041 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12042
81f0bab2
JM
12043 * c-common.c (check_case_value): Remove special C++ code.
12044
200290f2
NP
120452010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12046
12047 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12048 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12049 and RID_LAST_PATTR.
12050 (objc_add_property_declaration): Added additional arguments.
12051 (objc_property_attribute_kind): Removed.
12052 (objc_set_property_attr): Removed.
12053 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12054 copy and nonatomic.
12055 * stub-objc.c (objc_add_property_declaration): Added additional
12056 arguments.
12057 (objc_set_property_attr): Removed.
9faeb493 12058
f614132b
NP
120592010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12060
12061 * c-common.h (objc_add_property_variable): Renamed to
12062 objc_add_property_declaration. Added location argument.
12063 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12064
b8a18805
NP
120652010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12066
12067 * c-common.h (objc_maybe_printable_name): New.
12068 * stub-objc.c (objc_maybe_printable_name): New.
12069
3f8257db
JJ
120702010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12071 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12072
12073 * c-common.h (c_common_mark_addressable_vec): Declare.
12074 * c-common.c (c_common_mark_addressable_vec): New function.
12075
249a82c4
NP
120762010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12077
12078 * c-common.h (objc_set_method_type): Removed.
12079 (objc_add_method_declaration): Added boolean argument.
12080 (objc_start_method_definition): Same change.
12081 (objc_build_method_signature): Same change.
12082 * stub-objc.c (objc_set_method_type): Removed.
12083 (objc_add_method_declaration): Added boolean argument.
12084 (objc_start_method_definition): Same change.
12085 (objc_build_method_signature): Same change.
12086
977e30bc
NP
120872010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12088
12089 * c-common.h (finish_file): Removed.
12090 (objc_write_global_declarations): New.
12091 * c-opts.c (c_common_parse_file): Do not call finish_file.
12092 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12093
da57d1b9
NP
120942010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12095
12096 Implemented parsing @synthesize and @dynamic for
12097 Objective-C/Objective-C++.
12098 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12099 (objc_add_synthesize_declaration): New.
12100 (objc_add_dynamic_declaration): New.
12101 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12102 * stub-objc.c (objc_add_synthesize_declaration): New.
12103 (objc_add_dynamic_declaration): New.
9faeb493 12104
0069111f
MM
121052010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12106
12107 PR target/46041
12108 * c-cppbuiltin.c (mode_has_fma): Move function here from
12109 builtins.c. Don't use the fma optab, instead just use the
12110 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12111 using -save-temps.
12112
e426b47b
NP
121132010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12114
12115 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12116
3f8257db 12117 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12118
9faeb493 12119 Radar 4330422
e426b47b
NP
12120 * c-common.h (objc_non_volatilized_type): New declaration
12121 * stub-objc.c (objc_non_volatilized_type): New stub.
12122
90fbfdc3
NP
121232010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12124
e426b47b 12125 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12126
ab20d992 12127 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12128
9faeb493 12129 Radar 4133425
90fbfdc3 12130 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12131 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12132
c37d8c30
IS
121332010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12134
12135 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12136 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12137 (objc_ivar_visibility_kind): New enum.
12138 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12139 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12140 visibility enum.
12141
1b1562a5
MM
121422010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12143
12144 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12145 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12146 has the appropriate fma builtins.
12147 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12148
668ea4b1
IS
121492010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12150
1b1562a5 12151 merge from FSF apple 'trunk' branch.
3f8257db 12152 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12153
668ea4b1
IS
12154 Radars 4436866, 4505126, 4506903, 4517826
12155 * c-common.c (c_common_resword): Define @property and its attributes.
12156 * c-common.h: Define property attribute enum entries.
12157 (OBJC_IS_PATTR_KEYWORD): New.
12158 (objc_property_attribute_kind): New enum.
12159 Declare objc_set_property_attr (), objc_add_property_variable (),
12160 objc_build_getter_call () and objc_build_setter_call ().
12161 * stub-objc.c (objc_set_property_attr): New stub.
12162 (objc_add_property_variable): Likewise.
12163 (objc_build_getter_call): Likewise.
12164 (objc_build_setter_call) Likewise.
1b1562a5 12165
a1178b30
IS
121662010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12167
1b1562a5 12168 merge from FSF apple 'trunk' branch.
ab20d992 12169 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12170
12171 Radar 3803157 (method attributes)
12172 * c-common.c (handle_deprecated_attribute): Recognize
12173 objc methods as valid declarations.
12174 * c-common.h: Declare objc_method_decl ().
1b1562a5 12175 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12176
a75bfaa6
JM
121772010-10-08 Joseph Myers <joseph@codesourcery.com>
12178
12179 * c-common.c (parse_optimize_options): Call
12180 decode_cmdline_options_to_array_default_mask before
12181 decode_options. Update arguments to decode_options.
12182 * c-common.h (c_common_init_options_struct): Declare.
12183 * c-opts.c (c_common_init_options_struct): New. Split out from
12184 c_common_init_options.
12185
f05b9d93
NP
121862010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12187
12188 Implemented fast enumeration for Objective-C.
12189 * c-common.h (objc_finish_foreach_loop): New.
12190 * stub-objc.c (objc_finish_foreach_loop): New.
12191
1ebe4b4f
JM
121922010-10-05 Joseph Myers <joseph@codesourcery.com>
12193
12194 * c-common.h (struct diagnostic_context): Don't declare here.
12195 (c_common_initialize_diagnostics): Declare using
12196 diagnostic_context typedef.
12197 * c-opts.c (c_common_handle_option): Pass global_dc to
12198 handle_generated_option.
12199
d4d24ba4
JM
122002010-10-04 Joseph Myers <joseph@codesourcery.com>
12201
12202 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12203 handle_generated_option.
12204
478a1c5b
ILT
122052010-10-03 Ian Lance Taylor <iant@google.com>
12206
12207 * c.opt (-fplan9-extensions): New option.
12208
82a1c2fe
FXC
122092010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12210
12211 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12212 Remove.
12213 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12214 of duplicating code.
12215
92902b1b
IS
122162010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12217
12218 * c-common.c: Add two new entries for @optional
12219 and @required keywords.
12220
12221 merge from FSF 'apple/trunk' branch.
3f8257db 12222 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12223
12224 Radar 4386773
12225 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12226 objective-c keywords.
12227 (objc_set_method_opt): New declaration.
12228 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12229
46625112
JM
122302010-09-30 Joseph Myers <joseph@codesourcery.com>
12231
12232 * c-common.c (handle_optimize_attribute): Pass &global_options to
12233 cl_optimization_save and cl_optimization_restore.
12234 * c-opts.c (c_common_handle_option): Pass &global_options to
12235 handle_generated_option.
12236 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12237 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12238 &global_options to cl_optimization_restore.
12239
49b91f05
NP
122402010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12241
12242 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12243 Objective-C/Objective-C++ keywords.
12244
13ed556f 122452010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12246
9faeb493
UB
12247 Merge from 'apple/trunk' branch on FSF servers.
12248
3f8257db 12249 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12250
12251 Radar 4281748
12252 * c-common.h (objc_check_global_decl): New declaration.
12253 * stub-objc.c (objc_check_global_decl): New stub.
12254
f0036cca
JM
122552010-09-29 Joseph Myers <joseph@codesourcery.com>
12256
12257 * c.opt: Don't use VarExists.
12258
e3339d0f
JM
122592010-09-29 Joseph Myers <joseph@codesourcery.com>
12260
12261 * c-common.c (c_cpp_error): Update names of diagnostic_context
12262 members.
12263 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12264 cl_optimization members.
12265 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12266 sanitize_cpp_opts, finish_options): Update names of cpp_options
12267 members.
12268
1973201f
NP
122692010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
12270
12271 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
12272 (objc_is_reserved_word): Removed.
12273 * c-common.c: Updated comments.
12274 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12275 objc_is_reserved_word.
12276 * stub-objc.c (objc_is_reserved_word): Removed.
12277
f7e71da5
IS
122782010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12279
9faeb493 12280 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
12281 include attributes.
12282 (objc_start_method_definition): Likewise.
12283 (objc_build_keyword_decl): Likewise.
12284 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12285 (objc_start_method_definition): Likewise.
12286 (objc_build_keyword_decl): Likewise.
12287
c165dca7
IS
122882010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12289
12290 * c-common.h (objc_start_class_interface): Adjust prototype.
12291 (objc_start_category_interface): Likewise.
12292 (objc_start_protocol): Likewise.
12293 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12294 (objc_start_class_interface): Likewise.
12295 (objc_start_category_interface): Likewise.
12296
7458026b
ILT
122972010-09-27 Ian Lance Taylor <iant@google.com>
12298
12299 * c-common.c (c_common_attribute_table): Add no_split_stack.
12300 (handle_no_split_stack_attribute): New static function.
12301
b581b85b
NP
123022010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
12303
9faeb493 12304 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 12305
3f8257db 12306 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 12307
9faeb493 12308 Radar 4229905
b581b85b
NP
12309 * c-common.h (objc_have_common_type): New declaration.
12310 * stub-objc.c (objc_have_common_type): New stub.
12311
12312 2005-06-22 Ziemowit Laski <zlaski@apple.com>
12313
12314 Radar 4154928
12315 * c-common.h (objc_common_type): New prototype.
9faeb493 12316 * stub-objc.c (objc_common_type): New stub.
b581b85b 12317
46a4da10
JH
123182010-09-24 Jan Hubicka <jh@suse.cz>
12319
12320 * c-common.c (handle_leaf_attribute): New function.
12321 (struct attribute_spec c_common_att): Add leaf.
12322
e200444e
JM
123232010-09-22 Joseph Myers <joseph@codesourcery.com>
12324
12325 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12326 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12327 -dump, -dump=, -imacros, -imacros=, -include, -include=,
12328 -include-barrier, -include-directory, -include-directory=,
12329 -include-directory-after, -include-directory-after=,
12330 -include-prefix, -include-prefix=, -include-with-prefix,
12331 -include-with-prefix=, -include-with-prefix-after,
12332 -include-with-prefix-after=, -include-with-prefix-before,
12333 -include-with-prefix-before=, -no-integrated-cpp,
12334 -no-line-commands, -no-standard-includes, -no-warnings, -output,
12335 -output=, -pedantic, -pedantic-errors, -preprocess,
12336 -print-missing-file-dependencies, -trace-includes, -traditional,
12337 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12338 -user-dependencies, -verbose, -write-dependencies,
12339 -write-user-dependencies, no-integrated-cpp, traditional): New.
12340
29a80ea6
NP
123412010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12342
12343 PR objc/23710
ac1fc2fc
NP
12344 * c-common.h (objc_start_method_definition): Return bool instead
12345 of void.
12346 * stub-objc.c (objc_start_method_definition): Return bool instead
12347 of void.
12348
123492010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12350
12351 PR objc/25965
12352 * c-common.h (objc_get_interface_ivars): New declaration.
12353 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 12354
de621752
ILT
123552010-09-15 Ian Lance Taylor <iant@google.com>
12356
12357 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 12358 messages. Remove period at end of warning message.
de621752 12359
ba885ec5
NS
123602010-09-09 Nathan Sidwell <nathan@codesourcery.com>
12361
12362 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12363 (handle_alias_attribute): ... here.
12364 (handle_ifunc_attribute): New.
12365
c5ee1358
MM
123662010-09-06 Mark Mitchell <mark@codesourcery.com>
12367
12368 * c-common.h (do_warn_double_promotion): Declare.
12369 * c-common.c (do_warn_double_promotion): Define.
12370
0a0b3574
MM
123712010-09-05 Mark Mitchell <mark@codesourcery.com>
12372
12373 * c.opt (Wdouble-promotion): New.
12374
d1779886
JM
123752010-09-02 Joseph Myers <joseph@codesourcery.com>
12376
12377 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12378 fvtable-thunks, fxref): Mark no longer supported in help text.
12379
2d2bd949
JM
123802010-09-02 Joseph Myers <joseph@codesourcery.com>
12381
12382 * c.opt (Wimport, fall-virtual, falt-external-templates,
12383 fdefault-inline, fenum-int-equiv, fexternal-templates,
12384 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12385 fname-mangling-version-, fnew-abi, fnonnull-objects,
12386 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12387 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12388 applicable.
12389 (fhandle-exceptions): Mark with Alias and Warn.
12390 * c-opts.c (c_common_handle_option): Don't handle options marked
12391 as ignored.
12392
5de8299c
JM
123932010-09-02 Joseph Myers <joseph@codesourcery.com>
12394
12395 * c.opt (Wcomments, Werror-implicit-function-declaration,
12396 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12397 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12398 aliases.
12399 * c-common.c (option_codes): Use OPT_Wcomment instead of
12400 OPT_Wcomments.
12401 * c-opts.c (warning_as_error_callback, c_common_handle_option):
12402 Don't handle options marked as aliases.
12403
0ceb0201
RG
124042010-08-25 Richard Guenther <rguenther@suse.de>
12405
12406 * c-common.c (c_common_get_alias_set): Remove special
12407 handling for pointers.
12408
ac47786e
NF
124092010-08-20 Nathan Froyd <froydnj@codesourcery.com>
12410
12411 * c-common.c: Use FOR_EACH_VEC_ELT.
12412 * c-gimplify.c: Likewise.
12413 * c-pragma.c: Likewise.
12414
c878765b
JM
124152010-08-16 Joseph Myers <joseph@codesourcery.com>
12416
12417 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
12418 RejectDriver.
12419 (MMDX): Change back to MMD. Mark NoDriverArg instead of
12420 RejectDriver.
12421 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12422 instead of OPT_MDX and OPT_MMDX.
12423
603349bf
JM
124242010-08-16 Joseph Myers <joseph@codesourcery.com>
12425
12426 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12427
644fa7ac
JM
124282010-08-12 Joseph Myers <joseph@codesourcery.com>
12429
12430 * c.opt (MD, MMD): Change to MDX and MMDX.
12431 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12432
481e1176
JM
124332010-08-11 Joseph Myers <joseph@codesourcery.com>
12434
12435 * c-opts.c (c_common_handle_option): Call handle_generated_option
12436 instead of handle_option.
12437
ac8dc9f7
NF
124382010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12439
12440 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12441 (maybe_apply_renaming_pragma): Delete unneeded declarations.
12442
4f8c876d
NF
124432010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12444
12445 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
12446 (pending_redefine_extname): Change type to a VEC.
12447 (add_to_renaming_pragma_list): Update for new type of
12448 pending_redefine_extname.
ac8dc9f7 12449 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 12450
3b0c690e
AC
124512010-08-04 Arnaud Charlet <charlet@adacore.com>
12452
12453 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12454 visited.
12455 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12456 decide whether a type has already been declared/seen.
12457 Do not go to the original type.
12458 (dump_nested_types): New parameter forward.
12459 Generate forward declaration if needed and mark type as visited.
12460 (print_ada_declaration): Call dump_nested_types if not already done.
12461 Mark types as visited.
12462
1890bccc
JM
124632010-08-03 Joseph Myers <joseph@codesourcery.com>
12464
12465 * c.opt (-print-pch-checksum): Remove option.
12466 * c-opts.c (c_common_handle_option): Don't handle
12467 OPT_print_pch_checksum.
12468
5f20c657
JM
124692010-07-27 Joseph Myers <joseph@codesourcery.com>
12470
12471 * c-common.h (c_common_handle_option): Update prototype and return
12472 value type.
12473 * c-opts.c (c_common_handle_option): Update prototype and return
12474 value type. Update calls to handle_option and
12475 enable_warning_as_error.
12476
f551f80c
JJ
124772010-07-27 Jakub Jelinek <jakub@redhat.com>
12478
12479 PR c/45079
12480 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12481
61ff2bdc
JM
124822010-07-27 Joseph Myers <joseph@codesourcery.com>
12483
12484 * c-common.h (c_common_missing_argument): Remove.
12485 * c-opts.c (c_common_missing_argument): Remove.
12486 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12487 idirafter, imacros, include, isysroot, isystem, iquote): Add
12488 MissingArgError.
12489 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
12490
7a9bf9a4
JM
124912010-07-27 Joseph Myers <joseph@codesourcery.com>
12492
12493 * c-common.h (c_common_option_lang_mask,
12494 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
12495 New.
12496 (c_common_init_options): Update prototype.
12497 * c-opts.c (c_common_option_lang_mask): New.
12498 (c_common_initialize_diagnostics): Split out of
12499 c_common_init_options.
12500 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
12501 New.
12502 (c_common_init_options): Update prototype. Use decoded options in
12503 search for -lang-asm.
12504
910ad8de
NF
125052010-07-15 Nathan Froyd <froydnj@codesourcery.com>
12506
12507 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
12508 * c-format.c: Likewise.
12509
718f9c0f
MLI
125102010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
12511
12512 * c-common.h: Include diagnostic-core.h. Error if already
12513 included.
12514 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
12515
4d451982
MLI
125162010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
12517
adfac8df 12518 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
12519 Do not include expr.h
12520 (vector_mode_valid_p): Move here.
12521
119fe915
SB
125222010-06-21 DJ Delorie <dj@redhat.com>
12523
12524 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
12525 allow these pragmas anywhere.
12526
125272010-06-14 Jakub Jelinek <jakub@redhat.com>
12528
12529 PR bootstrap/44509
12530 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
12531 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
12532 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
12533 ggc_strdup instead of xstrdup.
12534
125352010-06-10 Jakub Jelinek <jakub@redhat.com>
12536
12537 * c-cppbuiltin.c: Include cpp-id-data.h.
12538 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
12539 (lazy_hex_fp_value): New function.
12540 (builtin_define_with_hex_fp_value): Provide definitions lazily.
12541
6662d794
MLI
125422010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12543
12544 * c-gimplify.c: Do not include tree-flow.h
12545
38f8b050
JR
125462010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
12547
12548 PR other/44034
12549 * c-common.c: Rename targetm member:
12550 targetm.enum_va_list -> targetm.enum_va_list_p
12551
9589f23e
AS
125522010-06-28 Anatoly Sokolov <aesok@post.ru>
12553
12554 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
12555
3b06d379
SB
125562010-06-28 Steven Bosscher <steven@gcc.gnu.org>
12557
12558 * c-cppbuiltin.c: Do not include except.h.
12559
d166d4c3
AK
125602010-06-24 Andi Kleen <ak@linux.intel.com>
12561
9faeb493
UB
12562 * c-common.c (warn_for_omitted_condop): New.
12563 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 12564
70cb8be6
JM
125652010-06-21 Joseph Myers <joseph@codesourcery.com>
12566
12567 * c.opt (lang-objc): Remove.
12568 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
12569
a4c97feb
JR
125702010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
12571
12572 * c-opts.c: Include "tm_p.h".
12573
6e2f1956
JM
125742010-06-20 Joseph Myers <joseph@codesourcery.com>
12575
12576 * c-common.c (parse_optimize_options): Update call to
12577 decode_options.
12578
bc87224e
NF
125792010-06-18 Nathan Froyd <froydnj@codesourcery.com>
12580
12581 * c-common.c (record_types_used_by_current_var_decl): Adjust for
12582 new type of types_used_by_cur_var_decl.
12583
b49cf425
JR
125842010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
12585
12586 PR bootstrap/44512
12587 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
12588 for C++ standard compliance.
12589
59f9c2ed
JM
125902010-06-16 Jason Merrill <jason@redhat.com>
12591
12592 * c.opt: Add -Wnoexcept.
12593
33766b66
RG
125942010-06-16 Richard Guenther <rguenther@suse.de>
12595
12596 PR c/44555
12597 * c-common.c (c_common_truthvalue_conversion): Remove
12598 premature and wrong optimization concering ADDR_EXPRs.
12599
eff7e30c
AC
126002010-06-15 Arnaud Charlet <charlet@adacore.com>
12601
12602 * c-ada-spec.c (dump_sloc): Remove column info.
12603 (is_simple_enum): New function.
12604 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
12605 enum types when relevant.
12606
6312e84d
MLI
126072010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12608
9faeb493 12609 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
12610 location.
12611
1cb42611
JM
126122010-06-10 Joseph Myers <joseph@codesourcery.com>
12613
12614 * c-opts.c (c_common_handle_option): Don't handle
12615 OPT_fshow_column.
12616
a9429e29
LB
126172010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12618
12619 * c-pragma.c (push_alignment): Use typed GC allocation.
12620 (handle_pragma_push_options): Likewise.
12621
12622 * c-common.c (parse_optimize_options): Likewise.
12623
12624 * c-common.h (struct sorted_fields_type): Add variable_size GTY
12625 option.
12626
5498f011
JM
126272010-06-07 Joseph Myers <joseph@codesourcery.com>
12628
12629 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
12630 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12631 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12632 flag_signed_bitfields, warn_strict_null_sentinel,
12633 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
12634 flag_gen_declaration, flag_no_gnu_keywords,
12635 flag_implement_inlines, flag_implicit_templates,
12636 flag_implicit_inline_templates, flag_optional_diags,
12637 flag_elide_constructors, flag_default_inline, flag_rtti,
12638 flag_conserve_space, flag_access_control, flag_check_new,
12639 flag_new_for_scope, flag_weak, flag_working_directory,
12640 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
12641 flag_enforce_eh_specs, flag_threadsafe_statics,
12642 flag_pretty_templates): Remove.
12643 * c-common.h (flag_preprocess_only, flag_nil_receivers,
12644 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
12645 flag_replace_objc_classes, flag_undef, flag_no_builtin,
12646 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12647 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12648 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
12649 flag_no_gnu_keywords, flag_implement_inlines,
12650 flag_implicit_templates, flag_implicit_inline_templates,
12651 flag_optional_diags, flag_elide_constructors, flag_default_inline,
12652 flag_rtti, flag_conserve_space, flag_access_control,
12653 flag_check_new, flag_new_for_scope, flag_weak,
12654 flag_working_directory, flag_use_cxa_atexit,
12655 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
12656 flag_threadsafe_statics, flag_pretty_templates,
12657 warn_strict_null_sentinel): Remove.
12658 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
12659 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
12660 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
12661 fimplicit-inline-templates, fimplicit-templates,
12662 flax-vector-conversions, fms-extensions, fnil-receivers,
12663 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
12664 frtti, fshort-double, fshort-enums, fshort-wchar,
12665 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
12666 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
12667 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
12668 gen-decls, undef): Use Var.
12669 (fdefault-inline, foptional-diags): Document as doing nothing.
12670 * c-opts.c (c_common_handle_option): Remove cases for options now
12671 using Var. Mark ignored options as such.
12672
39dabefd
SB
126732010-06-05 Steven Bosscher <steven@gcc.gnu.org>
12674
9faeb493 12675 * c-common.c: Moved to here from parent directory.
39dabefd
SB
12676 * c-common.def: Likewise.
12677 * c-common.h: Likewise.
12678 * c-cppbuiltin.c: Likewise.
12679 * c-dump.c: Likewise.
12680 * c-format.c: Likewise.
12681 * c-format.h : Likewise.
12682 * c-gimplify.c: Likewise.
12683 * c-lex.c: Likewise.
12684 * c-omp.c: Likewise.
12685 * c.opt: Likewise.
12686 * c-opts.c: Likewise.
12687 * c-pch.c: Likewise.
12688 * c-ppoutput.c: Likewise.
12689 * c-pragma.c: Likewise.
12690 * c-pragma.h: Likewise.
12691 * c-pretty-print.c: Likewise.
12692 * c-pretty-print.h: Likewise.
12693 * c-semantics.c: Likewise.
12694 * stub-objc.c: Likewise.
12695
12696 * c-common.c: Include gt-c-family-c-common.h.
12697 * c-pragma.c: Include gt-c-family-c-pragma.h.
12698\f
c48514be 12699Copyright (C) 2010-2021 Free Software Foundation, Inc.
39dabefd
SB
12700
12701Copying and distribution of this file, with or without modification,
12702are permitted in any medium without royalty provided the copyright
12703notice and this notice are preserved.
This page took 4.552066 seconds and 5 git commands to generate.