]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
i386: Introduce V2QImode vector compares [PR103861]
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
11ce8d04
GA
12022-01-06 Marek Polacek <polacek@redhat.com>
2
3 PR c++/103758
4 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
5 diagnostic messages.
6 (handle_pragma_diagnostic): Likewise.
7
a4ae8c37
GA
82022-01-03 Marek Polacek <polacek@redhat.com>
9
10 PR c++/103758
11 * c-format.c (check_tokens): Accept "decl-specifier*".
12
132022-01-03 Jakub Jelinek <jakub@redhat.com>
14
15 PR c++/103600
16 * c-attribs.c (handle_non_overlapping_attribute): New function.
17 (c_common_attribute_table): Add "non overlapping" attribute.
18
84790a9d
GA
192021-12-30 Jakub Jelinek <jakub@redhat.com>
20
21 PR c++/103012
22 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
23 cpp_define_unused/cpp_undef calls with forced token locations
24 BUILTINS_LOCATION.
25
d1e111da
GA
262021-12-27 Patrick Palka <ppalka@redhat.com>
27
28 PR c++/103700
29 * c-common.c (pointer_int_sum): When quiet, return
30 error_mark_node for an incomplete pointed-to type and don't
31 call size_in_bytes_loc.
32
2554e2da
GA
332021-12-17 Jason Merrill <jason@redhat.com>
34
35 PR c++/103681
36 * c-opts.c (c_common_post_options): Update defaults.
37
774269aa
GA
382021-12-16 Martin Liska <mliska@suse.cz>
39
40 PR target/103709
41 * c-pragma.c (handle_pragma_pop_options): Do not check
42 global options modification when an error is seen in parsing
43 of options (pragmas or attributes).
44
c8dcf64b
GA
452021-12-12 Jonathan Wakely <jwakely@redhat.com>
46
47 * known-headers.cc: Define INCLUDE_MEMORY instead of
48 INCLUDE_UNIQUE_PTR.
49 * name-hint.h: Likewise.
50 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
51
4b4839e3
GA
522021-12-09 Jakub Jelinek <jakub@redhat.com>
53
54 PR pch/71934
55 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
56 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
57
03a9bd05
GA
582021-12-03 Jakub Jelinek <jakub@redhat.com>
59
60 PR pch/71934
61 * c-pch.c (struct c_pch_validity): Remove pch_init member.
62 (pch_init): Don't initialize v.pch_init.
63 (c_common_valid_pch): Don't warn and punt if .text addresses change.
64
40fa651e
GA
652021-12-01 Jason Merrill <jason@redhat.com>
66
67 PR c++/103310
68 * c.opt: Add -fconstexpr-fp-except.
69
87cd82c8
GA
702021-11-29 Richard Biener <rguenther@suse.de>
71
72 * c-format.c (check_format_string): Remove spurious
73 gcc_unreachable.
74
752021-11-29 Richard Biener <rguenther@suse.de>
76
77 * c-opts.c (c_common_post_options): Remove unreachable return.
78 * c-pragma.c (handle_pragma_target): Likewise.
79 (handle_pragma_optimize): Likewise.
80
091ccc06
GA
812021-11-25 Jakub Jelinek <jakub@redhat.com>
82
83 PR c++/102611
84 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
85 default for C++23 regardless of warn_deprecated.
86 * c-cppbuiltin.c (c_cpp_builtins): Predefine
87 __cpp_multidimensional_subscript=202110L for C++23.
88
e1d43592
GA
892021-11-23 Martin Sebor <msebor@redhat.com>
90
91 PR middle-end/88232
92 * c.opt: Add -Winfinite-recursion.
93
9c077398
GA
942021-11-19 Martin Sebor <msebor@redhat.com>
95
96 PR c++/33925
97 PR c/102867
98 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
99 and improve handling tof defined symbols.
100
1012021-11-19 Martin Liska <mliska@suse.cz>
102
103 Revert:
104 2021-11-18 Martin Liska <mliska@suse.cz>
105
106 * c-gimplify.c (genericize_c_loop): Use option directly.
107
483092d3
GA
1082021-11-18 Matthias Kretz <m.kretz@gsi.de>
109
110 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
111 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
112
1132021-11-18 Martin Liska <mliska@suse.cz>
114
115 * c-gimplify.c (genericize_c_loop): Use option directly.
116
280d2838
GA
1172021-11-17 Martin Uecker <uecker@gcc.gnu.org>
118
119 PR c/91038
120 PR c/29970
121 * c-common.c (pointer_int_sum): Make sure pointer expressions
122 are evaluated first when the size expression depends on for
123 variably-modified types.
124
1252021-11-17 Marek Polacek <polacek@redhat.com>
126
127 PR preprocessor/103026
128 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
129
6b1695f4
GA
1302021-11-16 Jason Merrill <jason@redhat.com>
131
132 * c-common.c (release_tree_vector): Only cache vecs smaller than
133 16 elements.
134
e2b57363
GA
1352021-11-15 Jason Merrill <jason@redhat.com>
136
137 * c.opt: Add -fimplicit-constexpr.
138 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
139 * c-opts.c (c_common_post_options): Disable below C++14.
140
1412021-11-15 Jakub Jelinek <jakub@redhat.com>
142
143 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
144 Duplicate to both OMP_TARGET and OMP_TEAMS.
145
8d36a0d2
GA
1462021-11-10 Marek Polacek <polacek@redhat.com>
147
148 PR c++/101940
149 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
150 ignored_attributes.
151
c9b1334e
GA
1522021-11-09 David Malcolm <dmalcolm@redhat.com>
153
154 * c-pragma.c (GCC_BAD_AT): New macro.
155 (GCC_BAD2_AT): New macro.
156 (handle_pragma_pack): Use the location of the pertinent token when
157 issuing diagnostics about invalid constants/actions, and trailing
158 junk.
159 (handle_pragma_target): Likewise for non-string "GCC option".
160 (handle_pragma_message): Likewise for trailing junk.
161
18ae471f
GA
1622021-11-03 Joseph Myers <joseph@codesourcery.com>
163
164 PR c/103031
165 * c-common.c (convert_and_check): Add argument init_const. Call
166 convert_init if init_const.
167 * c-common.h (convert_and_check): Update prototype.
168 (convert_init): New prototype.
169
cf82e8d9
GA
1702021-11-01 David Malcolm <dmalcolm@redhat.com>
171
172 * c-lex.c (c_lex_with_flags): When complaining about non-printable
173 CPP_OTHER tokens, set the "escape on output" flag.
174
04a2cf3f
GA
1752021-10-27 Jakub Jelinek <jakub@redhat.com>
176
177 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
178 POINTER_PLUS_EXPR.
179 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
180 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
181
1822021-10-27 Jakub Jelinek <jakub@redhat.com>
183
184 PR c++/102854
185 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
186 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
187 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
188 conversions temporarily clear the 3rd bit from d->kind while walking
189 subtrees.
190 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
191 if possibly non-rectangular.
192
ae5c5406
GA
1932021-10-21 Jakub Jelinek <jakub@redhat.com>
194
195 PR middle-end/64888
196 * c-omp.c (c_omp_predefined_variable): Return true also for
197 ubsan_create_data created artificial variables.
198
5d5885c9
GA
1992021-10-14 Joseph Myers <joseph@codesourcery.com>
200
201 * c-format.c (printf_length_specs, scanf_length_specs)
202 (print_char_table, scan_char_table): Support DFP formats for C2X.
203 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
204 (T2X_D32, T2X_D64, T2X_D128): New macros.
205
2062021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
207
208 * c-omp.c (c_omp_check_context_selector): Rename to
209 omp_check_context_selector and move to omp-general.c.
210 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
211 move to omp-general.c.
212
52055987
GA
2132021-10-12 Joseph Myers <joseph@codesourcery.com>
214
215 * c-format.c (print_char_table): Add %b and %B formats.
216 (scan_char_table): Add %b format.
217 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
218 (T2X_UPD, T2X_UIM): New macros.
219
2202021-10-12 Jakub Jelinek <jakub@redhat.com>
221
222 * c-omp.c (c_finish_omp_atomic): Use
223 clear_padding_type_may_have_padding_p.
224
ce6eec39
GA
2252021-10-08 Martin Liska <mliska@suse.cz>
226
227 * c-opts.c (c_common_post_options): Use new macro
228 OPTION_SET_P.
229
50e20ee6
GA
2302021-10-07 Martin Liska <mliska@suse.cz>
231
232 * c-common.c (parse_optimize_options): Make
233 save_opt_decoded_options a pointer type.
234
57c7ec62
GA
2352021-10-06 Jakub Jelinek <jakub@redhat.com>
236
237 PR tree-optimization/102571
238 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
239 padding, but the non-padding bits are contiguous set of bytes
240 by adjusting the memcmp call arguments instead of emitting
241 __builtin_clear_padding and then comparing all the type's bytes.
242
2432021-10-06 Jakub Jelinek <jakub@redhat.com>
244
245 PR c++/102612
246 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
247 __cpp_constexpr to 202110L rather than 201907L.
248
da9c5f78
GA
2492021-10-04 Marek Polacek <polacek@redhat.com>
250
251 PR c++/97573
252 * c-common.h (do_warn_array_compare): Declare.
253 * c-warn.c (do_warn_array_compare): New.
254 * c.opt (Warray-compare): New option.
255
e3e07b89
GA
2562021-10-02 Iain Sandoe <iain@sandoe.co.uk>
257
258 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
259 NULL, this is not needed.
260
9d116bcc
GA
2612021-10-01 Martin Sebor <msebor@redhat.com>
262
263 PR c/102103
264 * c-common.c (decl_with_nonnull_addr_p): Handle members.
265 Check and perform warning suppression.
266 (c_common_truthvalue_conversion): Enhance warning suppression.
267
2682021-10-01 Martin Liska <mliska@suse.cz>
269
270 PR target/102552
271 * c-common.c (parse_optimize_options): decoded_options[0] is
272 used for program name, so merged_decoded_options should also
273 respect that.
274
2752021-10-01 Jakub Jelinek <jakub@redhat.com>
276 Richard Biener <rguenther@suse.de>
277
278 PR sanitizer/102515
279 * c-ubsan.c (ubsan_instrument_division): Check the right
280 flag_sanitize_recover bit, depending on which sanitization
281 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
282 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
283 and SANITIZE_DIVIDE is enabled, neither check is known
284 to be false and flag_sanitize_recover bits for those two
285 aren't the same, emit both __ubsan_handle_divrem_overflow
286 and __ubsan_handle_divrem_overflow_abort calls.
287
2882021-10-01 Martin Liska <mliska@suse.cz>
289
290 * c-common.c (parse_optimize_options): Combine optimize
291 options with what was provided on the command line.
292
2932021-10-01 Jakub Jelinek <jakub@redhat.com>
294
295 * c-omp.c (c_omp_split_clauses): Also copy
296 OMP_CLAUSE_ORDER_REPRODUCIBLE.
297
cf966403
GA
2982021-09-27 Martin Liska <mliska@suse.cz>
299
300 * c-opts.c (c_common_init_options_struct): Set also
301 x_flag_default_complex_method.
302
e4777439
GA
3032021-09-22 Jakub Jelinek <jakub@redhat.com>
304
305 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
306
62498024
GA
3072021-09-20 Matthias Kretz <m.kretz@gsi.de>
308
309 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
310 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
311 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
312 __ROUNDING_MATH__ according to the new optimization flags.
313
cf74e7b5
GA
3142021-09-18 Jakub Jelinek <jakub@redhat.com>
315
316 * c-omp.c (c_omp_split_clauses): Split order clause also to
317 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
318
0a4cb439
GA
3192021-09-17 Jakub Jelinek <jakub@redhat.com>
320
321 * c-omp.c (c_finish_omp_atomic): Avoid creating
322 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
323 create_tmp_var and add a zero initializer to TARGET_EXPRs that
324 had NULL initializer. When omitting operands after v = x,
325 use type of v rather than type of x. Fix type of vtmp
326 TARGET_EXPR.
327
07985c47
GA
3282021-09-13 Jason Merrill <jason@redhat.com>
329
330 * c.opt: Add -Winterference-size.
331 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
332 and __GCC_CONSTRUCTIVE_SIZE.
333
a26206ec
GA
3342021-09-10 Jakub Jelinek <jakub@redhat.com>
335
336 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
337 * c-omp.c: Include gimple-fold.h.
338 (c_finish_omp_atomic): Add r and weak arguments. Add support for
339 OpenMP 5.1 atomics.
340
f84e2f0b
GA
3412021-09-09 qing zhao <qing.zhao@oracle.com>
342
343 * c-attribs.c (handle_uninitialized_attribute): New function.
344 (c_common_attribute_table): Add "uninitialized" attribute.
345
b6db7cd4
GA
3462021-09-08 liuhongt <hongtao.liu@intel.com>
347
348 * c-common.c (excess_precision_mode_join): Update below comments.
349 (c_ts18661_flt_eval_method): Set excess_precision_type to
350 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
351 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
352 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
353 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
354
b2748138
GA
3552021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
356
357 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
358
7b739540
GA
3592021-09-03 Eric Botcazou <ebotcazou@adacore.com>
360
361 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
362 and -gnatwu warning for the package specification.
363
e11c6046
GA
3642021-09-01 Iain Sandoe <iain@sandoe.co.uk>
365
366 * c-attribs.c (handle_unavailable_attribute): New.
367
1e2f030b
GA
3682021-08-30 Jason Merrill <jason@redhat.com>
369
370 * c.opt: Add -Wmissing-requires.
371
85d77ac4
GA
3722021-08-25 Lewis Hyatt <lhyatt@gmail.com>
373
374 PR other/93067
375 * c-opts.c (c_common_input_charset_cb): New function.
376 (c_common_post_options): Call new function
377 diagnostic_initialize_input_context().
378
7c9e1645
GA
3792021-08-20 Tobias Burnus <tobias@codesourcery.com>
380
381 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
382 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
383 "di" and "u", respecitively; fill with BADLEN to match
384 size of 'types'.
385 (get_init_dynamic_hwi): Split off from ...
386 (init_dynamic_diag_info): ... here. Call it.
387 (init_dynamic_gfc_info): Call it.
388
3892021-08-20 Jakub Jelinek <jakub@redhat.com>
390
391 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
392 * c-pragma.c (omp_pragmas): Add error directive.
393 * c-omp.c (omp_directives): Uncomment error directive entry.
394
6e529985
GA
3952021-08-18 Jakub Jelinek <jakub@redhat.com>
396
397 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
398 * c-pragma.c (omp_pragmas): Add nothing directive.
399 * c-omp.c (omp_directives): Uncomment nothing directive entry.
400
2d14d64b
GA
4012021-08-17 Jakub Jelinek <jakub@redhat.com>
402
403 PR c++/101539
404 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
405 * c-common.c (c_common_reswords): Add __is_layout_compatible.
406
4072021-08-17 Matt Jacobson <mhjacobson@me.com>
408
409 * c-opts.c (c_common_post_options): Default to
410 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
411
4122021-08-17 Jakub Jelinek <jakub@redhat.com>
413
414 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
415 * c-pragma.c (omp_pragmas): Add scope construct.
416 * c-omp.c (omp_directives): Uncomment scope directive entry.
417
9d1d9fc8
GA
4182021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
419
420 * c-cppbuiltin.c (c_cpp_builtins): Define
421 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
422
72be20e2
GA
4232021-08-12 Jakub Jelinek <jakub@redhat.com>
424
425 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
426 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
427 * c-pragma.c (omp_pragmas_simd): Add masked construct.
428 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
429 enumerator.
430 (c_finish_omp_masked): Declare.
431 * c-omp.c (c_finish_omp_masked): New function.
432 (c_omp_split_clauses): Handle combined masked constructs.
433
4d17ca1b
GA
4342021-07-30 Jakub Jelinek <jakub@redhat.com>
435
436 PR c++/101539
437 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
438 * c-common.c (c_common_reswords): Add
439 __is_pointer_interconvertible_base_of.
440
4412021-07-29 Richard Biener <rguenther@suse.de>
442
443 PR c/101512
444 * c-common.c (c_common_mark_addressable_vec): Look through
445 C_MAYBE_CONST_EXPR even if not at the toplevel.
446
af3f12e6
GA
4472021-07-27 Martin Sebor <msebor@redhat.com>
448
449 PR c/101585
450 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
451
ead235f6
GA
4522021-07-23 Jakub Jelinek <jakub@redhat.com>
453
454 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
455 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
456 and later.
457
4582021-07-23 Jakub Jelinek <jakub@redhat.com>
459
460 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
461 PRAGMA_OMP__LAST_ enumerators.
462
419c6c68
GA
4632021-07-21 Thomas Schwinge <thomas@codesourcery.com>
464 Joseph Myers <joseph@codesourcery.com>
465 Cesar Philippidis <cesar@codesourcery.com>
466
467 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
468
92d45509
GA
4692021-07-20 Martin Sebor <msebor@redhat.com>
470
471 * c-common.c (c_build_shufflevector): Adjust by-value argument to
472 by-const-reference.
473 * c-common.h (c_build_shufflevector): Same.
474
87277b6a
GA
4752021-07-16 Andrew Pinski <apinski@marvell.com>
476
477 PR c/101453
478 * c-common.c (parse_optimize_options): Use the correct
479 size for buffer.
480
d97d71a1
GA
4812021-07-15 Martin Sebor <msebor@redhat.com>
482
483 PR c/101289
484 PR c/97548
485 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
486
c4fee1c6
GA
4872021-07-14 Jason Merrill <jason@redhat.com>
488
489 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
490
6fba0eea
GA
4912021-07-06 Martin Sebor <msebor@redhat.com>
492
493 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
494 (gcc_cdiag_char_table): Same.
495 (gcc_cxxdiag_char_table): Same.
496
7a60a6e8
GA
4972021-07-02 Jakub Jelinek <jakub@redhat.com>
498
499 * c-common.h (enum c_omp_directive_kind): New enum.
500 (struct c_omp_directive): New type.
501 (c_omp_categorize_directive): Declare.
502 * c-omp.c (omp_directives): New variable.
503 (c_omp_categorize_directive): New function.
504
bea7c16a
GA
5052021-07-01 Eric Botcazou <ebotcazou@adacore.com>
506
507 * c-ada-spec.c (packed_layout): New global variable.
508 (dump_ada_declaration): Set it upon seeing a packed record type.
509 Do not put the "aliased" keyword if it is set.
510 (dump_ada_structure): Add Pack aspect if it is set and clear it.
511
5122021-07-01 Eric Botcazou <ebotcazou@adacore.com>
513
514 * c-ada-spec.c (check_name): Rename into...
515 (check_type_name_conflict): ...this. Minor tweak.
516 (dump_ada_function_declaration): Adjust to above renaming.
517 (dump_ada_array_domains): Fix oversight.
518 (dump_ada_declaration): Call check_type_name_conflict for variables.
519
90708f87
GA
5202021-06-25 Martin Sebor <msebor@redhat.com>
521
522 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
523 (c_common_truthvalue_conversion): Replace direct uses of
524 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
525 copy_no_warning.
526 (check_function_arguments_recurse): Same.
527 * c-gimplify.c (c_gimplify_expr): Same.
528 * c-warn.c (overflow_warning): Same.
529 (warn_logical_operator): Same.
530 (warn_if_unused_value): Same.
531 (do_warn_unused_parameter): Same.
532
9aa8327e
GA
5332021-06-24 Jakub Jelinek <jakub@redhat.com>
534
535 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
536 C_ORT_OMP_TARGET.
537 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
538 combined target constructs also add map (always, tofrom:) clause.
539
ede6c356
GA
5402021-06-15 Robin Dapp <rdapp@linux.ibm.com>
541
542 * c-attribs.c (common_handle_aligned_attribute): Remove short
543 circuit and dead code.
544
8dc48181
GA
5452021-06-14 Jonathan Wakely <jwakely@redhat.com>
546
547 PR c++/101052
548 * known-headers.cc (get_stdlib_header_for_name): Add known
549 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
550 exit, and getenv.
551
8b8c3912
GA
5522021-06-12 Jason Merrill <jason@redhat.com>
553
554 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
555
f16f65f8
GA
5562021-06-11 Jakub Jelinek <jakub@redhat.com>
557
558 PR c++/100974
559 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
560 -std=c++2b for P1938R3 consteval if support.
561
4f625f47
GA
5622021-06-09 Jason Merrill <jason@redhat.com>
563
564 PR c++/100879
565 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
566 warning.
567
438aac59
GA
5682021-06-07 Martin Liska <mliska@suse.cz>
569
570 * c-target.def: Split long lines and replace them
571 with '\n\'.
572
600f90cb
GA
5732021-06-04 Martin Sebor <msebor@redhat.com>
574
575 PR c/100783
576 * c-attribs.c (positional_argument): Bail on erroneous types.
577
5782021-06-04 Martin Sebor <msebor@redhat.com>
579
580 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
581 for element presence.
582
440c8a0a
GA
5832021-06-03 Eric Botcazou <ebotcazou@adacore.com>
584
585 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
586 (dump_ada_decl_name): Likewise.
587 (dump_anonymous_type_name): Remove parent parameter and adjust.
588 (dump_sloc): Minor tweak.
589 (dump_ada_array_type): Remove type parameter and adjust.
590 (dump_ada_enum_type): Remove parent parameter and adjust.
591 (dump_ada_node): Adjust calls to above functions.
592 (dumped_anonymous_types): New global variable.
593 (dump_nested_types_1): Rename into...
594 (dump_nested_types): ...this.
595 (dump_nested_type): Remove parent and dumped_types parameters.
596 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
597 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
598 (dump_ada_specs): Initialize and free dumped_anonymous_types.
599
6002021-06-03 Eric Botcazou <ebotcazou@adacore.com>
601
602 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
603 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
604
6052021-06-03 Eric Botcazou <ebotcazou@adacore.com>
606
607 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
608 (htable_t): New typedef.
609 (overloaded_names): Use it.
610 (add_name): New function.
611 (init_overloaded_names): Use add_name to populate the table and add
612 special cases for sigaction and stat.
613 (overloaded_name_p): Rename into...
614 (overloading_index): ...this. Do not initialize overloaded_names table
615 here. Return the index or zero.
616 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
617 but add an overloading suffix instead.
618 (dump_ada_specs): Initialize overloaded_names tables here.
619
b75978d1
GA
6202021-06-01 Martin Liska <mliska@suse.cz>
621
622 PR other/100759
623 * c-attribs.c (handle_optimize_attribute): Limit sanity check
624 to a situation where we are not in processing of an optimize
625 pragma.
626 * c-pragma.c (handle_pragma_pop_options): Restore target
627 options.
628
ee682192
GA
6292021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
630
631 PR testsuite/100749
632 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
633
6342021-05-31 Richard Biener <rguenther@suse.de>
635
636 PR c++/88601
637 * c-common.c: Include tree-vector-builder.h and
638 vec-perm-indices.h.
639 (c_common_reswords): Add __builtin_shufflevector.
640 (c_build_shufflevector): New funtion.
641 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
642 (c_build_shufflevector): Declare.
643
48166757
GA
6442021-05-28 Jakub Jelinek <jakub@redhat.com>
645
646 PR middle-end/99928
647 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
648 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
649
6502021-05-28 Tobias Burnus <tobias@codesourcery.com>
651
652 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
653
2bc6dace
GA
6542021-05-25 Martin Liska <mliska@suse.cz>
655
656 PR tree-optimization/92860
657 PR target/99592
658 * c-attribs.c (handle_optimize_attribute): Save target node
659 before calling parse_optimize_options and save it in case
660 it changes.
661 * c-pragma.c (handle_pragma_target): Similarly for pragma.
662 (handle_pragma_pop_options): Likewise here.
663
6642021-05-25 Martin Liska <mliska@suse.cz>
665
666 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
667
6682021-05-25 Jakub Jelinek <jakub@redhat.com>
669
670 PR middle-end/99928
671 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
672 combined with simd and not with taskloop or for.
673
2832d51b
GA
6742021-05-21 Jakub Jelinek <jakub@redhat.com>
675
676 PR middle-end/99928
677 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
678 on firstprivate clause copy going to target construct, and for
679 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
680
ea34e2ed
GA
6812021-05-20 Jonathan Wakely <jwakely@redhat.com>
682
683 * c.opt (Wc++11-extensions, Wc++14-extensions)
684 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
685 options.
686
6872021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
688
689 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
690
6912021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
692
693 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
694 * c-pch.c (struct c_pch_validity): Use type uint32_t.
695 (pch_init): Renamed member.
696 (c_common_valid_pch): Adjust access to debug_type_names.
697
65f32e5d
GA
6982021-05-19 Martin Sebor <msebor@redhat.com>
699
700 PR c/100619
701 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
702 bounds.
703
a8daf9a1
GA
7042021-05-18 Richard Biener <rguenther@suse.de>
705
706 PR c/100547
707 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
708 Reword existing nunit diagnostic.
709
a7ffc1ef
GA
7102021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
711
712 * c-common.c (braced_list_to_string): Return CTOR unchanged
713 if host and target character sizes don't match.
714
87a7d10c
GA
7152021-05-14 Martin Liska <mliska@suse.cz>
716
717 * c.opt: Add Warning keyword for 2 options.
718
f9af11c7
GA
7192021-05-13 Martin Liska <mliska@suse.cz>
720
721 PR middle-end/100504
722 * c-attribs.c (handle_target_clones_attribute): Expect a string
723 argument to target_clone argument.
724
037e3661
GA
7252021-05-11 Joseph Myers <joseph@codesourcery.com>
726
727 * c-lex.c (interpret_float): Handle digit separators for C2X.
728
aa891c56
GA
7292021-05-10 Martin Liska <mliska@suse.cz>
730
731 * c-ada-spec.c (print_destructor): Use startswith
732 function instead of strncmp.
733 (dump_ada_declaration): Likewise.
734 * c-common.c (disable_builtin_function): Likewise.
735 (def_builtin_1): Likewise.
736 * c-format.c (check_tokens): Likewise.
737 (check_plain): Likewise.
738 (convert_format_name_to_system_name): Likewise.
739
e4ff4ffb
GA
7402021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
741
742 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
743 complex divide
744
c0fa3f2f
GA
7452021-04-26 Thomas Schwinge <thomas@codesourcery.com>
746 Nathan Sidwell <nathan@codesourcery.com>
747 Tom de Vries <vries@codesourcery.com>
748 Julian Brown <julian@codesourcery.com>
749 Kwok Cheung Yeung <kcy@codesourcery.com>
750
751 * c.opt (Wopenacc-parallelism): New.
752
6e81e015
GA
7532021-04-19 Thomas Schwinge <thomas@codesourcery.com>
754
755 * c.opt (fopenacc-kernels=): Remove.
756
019a9220
GA
7572021-04-08 Jakub Jelinek <jakub@redhat.com>
758
759 * c-warn.c (do_warn_double_promotion): Fix comment typo,
760 occured -> occurred.
761 (check_alignment_of_packed_member): Fix a comment typo,
762 memeber -> member.
763 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
764 and onless -> unless.
765 (warn_parm_array_mismatch): Fix comment typos, declaratation
766 -> declaration and woud -> would. Fix up comment indentation.
767
7682021-04-08 Martin Sebor <msebor@redhat.com>
769
770 PR middle-end/99883
771 * c.opt (Wmismatched-new-delete): Correct spelling.
772
b1da9916
GA
7732021-04-05 Eric Botcazou <ebotcazou@adacore.com>
774
775 * c-ada-spec.c (is_simple_enum): Minor tweaks.
776 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
777 enumeral types use again the type name for the enumeration constants.
778 (dump_ada_node): Adjust call to dump_ada_enum_type.
779 (dump_nested_type): Likewise.
780
f1607029
GA
7812021-04-01 Jason Merrill <jason@redhat.com>
782
783 PR c++/98481
784 * c-opts.c (c_common_post_options): Bump latest_abi_version.
785
4493b1c1
GA
7862021-03-25 Jakub Jelinek <jakub@redhat.com>
787
788 PR c++/99565
789 * c-warn.c (do_warn_duplicated_branches): Pass also
790 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
791
6af7b307
GA
7922021-03-20 Jakub Jelinek <jakub@redhat.com>
793
794 PR debug/99230
795 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
796
ceae9533
GA
7972021-03-05 Eric Botcazou <ebotcazou@adacore.com>
798
799 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
800 after entering the separate class package, if any.
801
67f10d28
GA
8022021-03-04 Richard Biener <rguenther@suse.de>
803
804 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
805 Handle ERROR_MARK.
806
8072021-03-04 Jakub Jelinek <jakub@redhat.com>
808
809 PR c/99325
810 * c-ppoutput.c (print): Change src_line type from int to unsigned.
811 (token_streamer::stream) Likewise.
812 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
813 UNKNOWN_LOCATION.
814
f3641ac7
GA
8152021-03-03 Jakub Jelinek <jakub@redhat.com>
816
817 PR c/99324
818 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
819 instead of mark_addressable. Fix a comment typo -
820 neutrallly -> neutrally.
821
2c83c3fb
GA
8222021-02-28 Jakub Jelinek <jakub@redhat.com>
823
824 PR c/99304
825 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
826 message - refernced -> referenced. Remove superfluous space before
827 closing paren of function calls.
828
daa68844
GA
8292021-02-25 Nathan Sidwell <nathan@acm.org>
830
831 PR c++/99166
832 * c.opt (-flang-info-module-cmi): Renamed option.
833
50352c6c
GA
8342021-02-19 Nathan Sidwell <nathan@acm.org>
835
836 * c.opt (flang-info-module-read, flang-info-module-read=): New.
837
bf81237e
GA
8382021-02-18 H.J. Lu <hjl.tools@gmail.com>
839
840 PR target/99113
841 * c-attribs.c (c_common_attribute_table): Add the "retain"
842 attribute.
843 (handle_retain_attribute): New function.
844
0e804ce3
GA
8452021-02-16 Marek Polacek <polacek@redhat.com>
846
847 PR c++/99062
848 * c-attribs.c (handle_assume_aligned_attribute): Check that the
849 alignment argument is non-negative. Tweak a warning message.
850
fab095da
GA
8512021-02-12 Martin Sebor <msebor@redhat.com>
852
853 PR c/99055
854 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
855 print_generic_expr_to_str.
856
4b37c3ea
GA
8572021-02-10 Richard Biener <rguenther@suse.de>
858
859 * c-common.c (parse_optimize_options): Free decoded_options.
860
a19dd5e6
GA
8612021-02-04 emsr <3dw4rd@verizon.net>
862
863 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
864
9faaa807
GA
8652021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
866
867 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
868 * c-lex.c (interpret_integer): Set node type for size literal.
869
85d04a2e
GA
8702021-01-28 Jakub Jelinek <jakub@redhat.com>
871
872 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
873 draft from description.
874 (-std=c++2b): Fix a pasto, 2020 -> 2023.
875
e62bb7f0
GA
8762021-01-26 Paul Fee <paul.f.fee@gmail.com>
877
878 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
879 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
880 and -std=gnu++2b
881 * c-opts.c (set_std_cxx23): New.
882 (c_common_handle_option): Set options when -std=c++23 is enabled.
883 (c_common_post_options): Adjust comments.
884 (set_std_cxx20): Likewise.
885
161e4c08
GA
8862021-01-25 Martin Sebor <msebor@redhat.com>
887
888 PR c++/98646
889 * c-common.c (check_nonnull_arg): Adjust warning text.
890
4c9bcd5c
GA
8912021-01-17 Martin Sebor <msebor@redhat.com>
892
893 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
894 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
895
59cf67d1
GA
8962021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
897
898 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
899 Redefine PRAGMA_OACC_CLAUSE_DETACH.
900
2f7f0d32
GA
9012021-01-15 Jakub Jelinek <jakub@redhat.com>
902
903 PR tree-optimization/98597
904 * c-pretty-print.c: Include options.h.
905 (c_fold_indirect_ref_for_warn): New function.
906 (print_mem_ref): Use it. If it returns something that has compatible
907 type and is TBAA compatible with zero offset, print it and return,
908 otherwise print it using offsetof syntax or array ref syntax. Fix up
909 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
910 argument has pointer to array type. Print pointers using the standard
911 formatting.
912
6851dda2
GA
9132021-01-12 Martin Sebor <msebor@redhat.com>
914
915 PR c/98597
916 PR c/98592
917 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
918 has pointer type. Remove redundant code. Avoid calling
919 gimple_canonical_types_compatible_p.
920
7d187e4f
GA
9212021-01-07 Martin Sebor <msebor@redhat.com>
922
923 PR middle-end/98578
924 * c-pretty-print.c (print_mem_ref): Strip array from access type.
925 Avoid assuming acces type's size is constant. Correct condition
926 guarding the printing of a parenthesis.
927
942ae5be
GA
9282021-01-06 Martin Sebor <msebor@redhat.com>
929
930 PR c++/95768
931 * c-pretty-print.c (c_pretty_printer::primary_expression): For
932 SSA_NAMEs print VLA names and GIMPLE defining statements.
933 (print_mem_ref): New function.
934 (c_pretty_printer::unary_expression): Call it.
935
9362021-01-06 Richard Biener <rguenther@suse.de>
937
938 PR tree-optimization/95582
939 * c-attribs.c (c_common_attribute_table): Add entry for
940 signed_bool_precision.
941 (handle_signed_bool_precision_attribute): New.
942
8daa719b
GA
9432020-12-24 Iain Sandoe <iain@sandoe.co.uk>
944
945 * c.opt: Add -stdlib= option and enumerations for
946 libstdc++ and libc++.
947
eefe499f
GA
9482020-12-16 Martin Liska <mliska@suse.cz>
949
950 * c.opt: Remove usage of Report.
951
d52945ce
GA
9522020-12-14 Martin Sebor <msebor@redhat.com>
953
954 PR middle-end/98166
955 PR c++/57111
956 PR middle-end/98160
957 * c-attribs.c (maybe_add_noinline): New function.
958 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
959 Implicitly add attribute noinline to functions not declared inline
960 and warn on those.
961
ca2bd949
GA
9622020-12-09 Tobias Burnus <tobias@codesourcery.com>
963
964 * c-pragma.c (omp_pragmas): Add 'allocate'.
965 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
966
f6e8e279
GA
9672020-12-08 Jakub Jelinek <jakub@redhat.com>
968
969 PR c++/98187
970 * c-pragma.c (omp_pragmas): Remove "master".
971 (omp_pragmas_simd): Add "master".
972
bc8a7013
GA
9732020-12-07 Marek Polacek <polacek@redhat.com>
974
975 PR c++/98126
976 * c-common.c (verify_tree_lim_r): New function.
977 (verify_sequence_points): Use it. Use nullptr instead of 0.
978
b8dd0ef7
GA
9792020-12-03 Martin Sebor <msebor@redhat.com>
980
981 PR c++/90629
982 PR middle-end/94527
983 * c-attribs.c (handle_dealloc_attribute): New function.
984 (handle_malloc_attribute): Handle argument forms of attribute.
985 * c.opt (-Wmismatched-dealloc): New option.
986 (-Wmismatched-new-delete): New option.
987
9882020-12-03 Jakub Jelinek <jakub@redhat.com>
989
990 PR libstdc++/93121
991 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
992 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
993
e0f5e792
GA
9942020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
995
996 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
997 {__GNUC_EXECUTION_CHARSET_NAME} and
998 _WIDE_EXECUTION_CHARSET_NAME} macros.
999
10002020-12-01 Nathan Sidwell <nathan@acm.org>
1001
1002 * c-common.c (module, import, export): New internal tokens (with
1003 trailing space).
1004 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1005 them.
1006 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1007 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1008
10092020-12-01 Nathan Sidwell <nathan@acm.org>
1010
1011 * c-opts.c (c_common_init_options): Ask for module dependencies.
1012 (c_common_handle_option): Handle -Mmodules -Mno-modules.
1013 * c-pch.c (c_common_valid_pch): ... does not play with C++
1014 modules.
1015 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1016 options.
1017 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1018 (fmodule-only, fmodule-mapper, fmodule-lazy)
1019 (fmodule-version-ignore, Winvalid-imported-macros)
1020 (flang-info-include-translate, flang-info-include-translate-not):
1021 New options
1022
5fbf0ecb
GA
10232020-11-28 Eric Botcazou <ebotcazou@adacore.com>
1024
1025 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1026 (dump_ada_structure): Also deal with convention, unchecked union and
1027 bit-field for nested types. In the latter case, print an Alignment
1028 aspect along with the Pack aspect.
1029
360258da
GA
10302020-11-25 Martin Sebor <msebor@redhat.com>
1031
1032 PR bootstrap/94982
1033 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1034 -Wformat-diag.
1035
1e2c9a27
GA
10362020-11-24 Martin Sebor <msebor@redhat.com>
1037
1038 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1039
8e6198d0
GA
10402020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1041
1042 * c-attribs.c (handle_special_var_sec_attribute): New.
1043 (handle_noinit_attribute): Remove.
1044 (attr_noinit_exclusions): Rename to...
1045 (attr_section_exclusions): ...this, and add "persistent" attribute
1046 exclusion.
1047 (c_common_attribute_table): Add "persistent" attribute.
1048
7a97e2fc
GA
10492020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
1050
1051 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1052 Treat opaque types like other types.
1053 (c_pretty_printer::direct_abstract_declarator): Opaque types are
1054 supported types.
1055
82e5048e
GA
10562020-11-20 Martin Sebor <msebor@redhat.com>
1057
1058 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1059 with fewer arguments.
1060
10612020-11-20 Martin Sebor <msebor@redhat.com>
1062
1063 PR middle-end/97879
1064 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1065 Error out on invalid modes.
1066
10672020-11-20 Jakub Jelinek <jakub@redhat.com>
1068
1069 PR libstdc++/88101
1070 * c-common.c (check_builtin_function_arguments): Handle
1071 BUILT_IN_CLEAR_PADDING.
1072
25bb75f8
GA
10732020-11-18 Nathan Sidwell <nathan@acm.org>
1074
1075 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1076
4dabb037
GA
10772020-11-17 Nathan Sidwell <nathan@acm.org>
1078
1079 * c-common.h (enum c_tree_index): Reorder to place lazy fields
1080 after newly-added CTI_MODULE_HWM.
1081
10822020-11-17 Joseph Myers <joseph@codesourcery.com>
1083
1084 * c-cppbuiltin.c (builtin_define_float_constants): Define
1085 "*_IS_IEC_60559__" macros.
1086
10872020-11-17 Nathan Sidwell <nathan@acm.org>
1088
1089 * c-lex.c: #include "langhooks.h".
1090 (cb_undef): Maybe call preprocess_undef lang hook.
1091 * c-opts.c (c_common_post_options): Maybe call preprocess_options
1092 lang hook.
1093 (push_command_line_include): Maybe call preprocess_main_file lang
1094 hook.
1095 (cb_file_change): Likewise.
1096 * c-ppoutput.c: #include "langhooks.h.
1097 (scan_translation_unit): Maybe call preprocess_token lang hook.
1098 (class do_streamer): New, derive from token_streamer.
1099 (directives_only_cb): Data pointer is do_streamer, call
1100 preprocess_token lang hook.
1101 (scan_translation_unit_directives_only): Use do_streamer.
1102 (print_line_1): Move src_line recording to after string output.
1103 (cb_undef): Maybe call preprocess_undef lang hook.
1104
11052020-11-17 Nathan Sidwell <nathan@acm.org>
1106
1107 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1108 code duplicating that functionality.
1109
11102020-11-17 Jakub Jelinek <jakub@redhat.com>
1111
1112 PR c/90628
1113 * c-common.c (check_builtin_function_arguments)
1114 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1115 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
1116 for more builtins and argument positions.
1117
29c5d9ce
GA
11182020-11-16 Iain Sandoe <iain@sandoe.co.uk>
1119
1120 PR objc/97854
1121 * stub-objc.c: Include c-common.h to declare enum rid.
1122
77f67db2
GA
11232020-11-13 Jakub Jelinek <jakub@redhat.com>
1124
1125 PR c++/63287
1126 * c-cppbuiltin.c: Include configargs.h.
1127 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1128 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1129 "single".
1130
11312020-11-13 Gergö Barany <gergo@codesourcery.com>
1132 Thomas Schwinge <thomas@codesourcery.com>
1133
1134 * c.opt (fopenacc-kernels): Add.
1135
11362020-11-13 Jason Merrill <jason@redhat.com>
1137
1138 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1139
11402020-11-13 Piotr H. Dabrowski <phd@phd.re>
1141
1142 PR c++/91318
1143 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1144
11452020-11-13 Martin Liska <mliska@suse.cz>
1146
1147 * c-attribs.c (build_attr_access_from_parms): Format properly.
1148
11492020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1150
1151 PR objc/90707
1152 * c-common.c (c_common_reswords): null_unspecified, nullable,
1153 nonnull, null_resettable: New keywords.
1154 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1155 RID_NONNULL, RID_NULL_RESETTABLE: New.
1156 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1157 ranges accepted for property attributes.
1158 * c-attribs.c (handle_objc_nullability_attribute): New.
1159 * c-objc.h (enum objc_property_attribute_group): Add
1160 OBJC_PROPATTR_GROUP_NULLABLE.
1161 (enum objc_property_attribute_kind):Add
1162 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1163 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1164
11652020-11-13 Iain Sandoe <iain@sandoe.co.uk>
1166
1167 PR objc/77404
1168 * c-attribs.c (handle_objc_root_class_attribute): New
1169 * c-objc.h (objc_start_class_interface): Add a location
1170 value for the position of the class name.
1171 * c.opt: Add Wobjc-root-class.
1172 * stub-objc.c (objc_start_class_interface): Add a location
1173 value for the position of the class name.
1174
a5a11525
GA
11752020-11-12 Joseph Myers <joseph@codesourcery.com>
1176
1177 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1178 Allow scope for C. Handle standard attributes for C. Do not
1179 accept unscoped attributes if std_syntax and not handled as
1180 standard attributes.
1181 * c-common.h (c_common_has_attribute): Update prototype.
1182
11832020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
1184
1185 PR pch/86674
1186 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1187 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1188
0f5f9ed5
GA
11892020-11-11 Patrick Palka <ppalka@redhat.com>
1190
1191 PR c++/88115
1192 * c-opts.c (c_common_post_options): Update latest_abi_version.
1193
bb622641
GA
11942020-11-10 Jakub Jelinek <jakub@redhat.com>
1195
1196 PR c/97748
1197 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1198 to false.
1199 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
1200 recursively and just return true instead of warning if it is true.
1201 Handle COMPLEX_EXPR.
1202
12032020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1204
1205 * c-common.h (c_omp_adjust_map_clauses): New declaration.
1206 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1207 (c_omp_adjust_map_clauses): New function.
1208
2bee28dd
GA
12092020-11-09 Marek Polacek <polacek@redhat.com>
1210
1211 DR 1914
1212 * c-common.c (attribute_fallthrough_p): Tweak the warning
1213 message.
1214
12152020-11-09 Patrick Palka <ppalka@redhat.com>
1216
1217 * c-pragma.c (handle_pragma_diagnostic): Split the
1218 unknown-option -Wpragmas diagnostic into a warning and a
1219 subsequent note containing a spelling suggestion. Avoid
1220 computing the suggestion if -Wpragmas warnings are being
1221 suppressed.
1222
12232020-11-09 Patrick Palka <ppalka@redhat.com>
1224
1225 PR testsuite/97117
1226 * c-indentation.c (get_visual_column): Remove location_t
1227 parameter. Move the column-tracking diagnostic code from here
1228 to ...
1229 (should_warn_for_misleading_indentation): ... here, before the
1230 early exit for when the loci are not all distinct. Don't pass a
1231 location_t argument to get_visual_column.
1232 (assert_get_visual_column_succeeds): Don't pass a location_t
1233 argument to get_visual_column.
1234 (assert_get_visual_column_fails): Likewise.
1235
fb95de7a
GA
12362020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1237
1238 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1239 of keywords accepted in @property attribute contexts.
1240 * c-objc.h (enum objc_property_attribute_group): Add
1241 OBJC_PROPATTR_GROUP_CLASS.
1242 (enum objc_property_attribute_kind): Add
1243 OBJC_PROPERTY_ATTR_CLASS.
1244
2da7ee05
GA
12452020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1246
1247 * c-common.c (c_common_reswords): Add 'atomic' property
1248 attribute.
1249 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1250 property attributes.
1251
12522020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1253
1254 * c-attribs.c (handle_nsobject_attribute): New.
1255 * c.opt: Add WNSObject-attribute.
1256
44cab2d8
GA
12572020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1258
1259 * c-objc.h (enum objc_property_attribute_group): New
1260 (enum objc_property_attribute_kind): New.
1261 (OBJC_PROPATTR_GROUP_MASK): New.
1262 (struct property_attribute_info): Small class encapsulating
1263 parser output from property attributes.
1264 (objc_prop_attr_kind_for_rid): New
1265 (objc_add_property_declaration): Simplify interface.
1266 * stub-objc.c (enum rid): Dummy type.
1267 (objc_add_property_declaration): Simplify interface.
1268 (objc_prop_attr_kind_for_rid): New.
1269
12702020-11-06 Nathan Sidwell <nathan@acm.org>
1271
1272 * c-ada-spec.c (collect_ada_nodes): Rename
1273 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1274 (collect_ada_node): Likewise.
1275 (dump_forward_type): Likewise.
1276 * c-common.c (set_underlying_type): Rename
1277 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1278 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1279
12802020-11-06 Jakub Jelinek <jakub@redhat.com>
1281
1282 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1283
0cfd9109
GA
12842020-11-05 Marek Polacek <polacek@redhat.com>
1285
1286 PR c++/97675
1287 * c.opt (Wexceptions): New option.
1288
12892020-11-05 Marek Polacek <polacek@redhat.com>
1290
1291 PR c++/25814
1292 * c.opt (Wvexing-parse): New option.
1293
35c125cb
GA
12942020-11-04 Jakub Jelinek <jakub@redhat.com>
1295
1296 PR c++/97670
1297 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1298 underlying decl to clear in the allocate_head bitmap.
1299
13002020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1301
1302 * c-objc.h (objc_non_constant_expr_p): New.
1303 * stub-objc.c (objc_non_constant_expr_p): New.
1304
fd2325ea
GA
13052020-11-03 Nathan Sidwell <nathan@acm.org>
1306
1307 * c.opt (MQ,MT): Reword description to be make-agnostic.
1308
88ce3d5f
GA
13092020-11-02 Nathan Sidwell <nathan@acm.org>
1310
1311 * c-opts.c (c_common_post_options): Move var decl to its
1312 initialization point.
1313
13142020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1315
1316 * c-lex.c (c_lex_with_flags): When combining '@' with a
1317 keyword for Objective-C, combine the location ranges too.
1318
13192020-10-30 Qing Zhao <qing.zhao@oracle.com>
1320 H.J.Lu <hjl.tools@gmail.com>
1321
1322 * c-attribs.c (c_common_attribute_table): Add new attribute
1323 zero_call_used_regs.
1324 (handle_zero_call_used_regs_attribute): New function.
1325
e93aae4a
GA
13262020-10-28 Marek Polacek <polacek@redhat.com>
1327
1328 PR c++/97573
1329 * c-opts.c (c_common_post_options): In C++20, turn on
1330 -Wdeprecated-enum-enum-conversion and
1331 -Wdeprecated-enum-float-conversion.
1332 * c.opt (Wdeprecated-enum-enum-conversion,
1333 Wdeprecated-enum-float-conversion): New options.
1334 (Wenum-conversion): Allow for C++ too.
1335
13362020-10-28 Jakub Jelinek <jakub@redhat.com>
1337
1338 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1339 * c-omp.c: Include bitmap.h.
1340 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1341
f19e7c8d
GA
13422020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1343
1344 * c-common.c (__is_nothrow_assignable): New.
1345 (__is_nothrow_constructible): Likewise.
1346 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1347 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1348
efe71fcc
GA
13492020-10-23 Jan Hubicka <hubicka@ucw.cz>
1350
1351 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1352
13532020-10-23 Marek Polacek <polacek@redhat.com>
1354
1355 PR c++/91741
1356 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1357 (c_common_init_ts): Likewise.
1358 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1359 * c-common.h (maybe_warn_sizeof_array_div): Declare.
1360 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1361 (maybe_warn_sizeof_array_div): New function.
1362 * c.opt (Wsizeof-array-div): New option.
1363
13642020-10-23 Martin Sebor <msebor@redhat.com>
1365
1366 PR c/97463
1367 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1368
56ddd5e2
GA
13692020-10-22 Martin Liska <mliska@suse.cz>
1370
1371 PR c/94722
1372 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1373 (handle_stack_protect_attribute): Add error message for a
1374 no_stack_protector function.
1375
13762020-10-22 Martin Liska <mliska@suse.cz>
1377
1378 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1379
13802020-10-22 Jan Hubicka <hubicka@ucw.cz>
1381
1382 * c-gimplify.c: Include tree-nested.h
1383 (c_genericize): Update for new nested function info.
1384
b2698c21
GA
13852020-10-14 Martin Sebor <msebor@redhat.com>
1386
1387 PR c/97413
1388 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1389 bounds in an extra list.
1390
7e9282ae
GA
13912020-10-05 Richard Biener <rguenther@suse.de>
1392 Jakub Jelinek <jakub@redhat.com>
1393
1394 PR c++/97197
1395 * c-pretty-print.c: Include langhooks.h.
1396 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1397 expression.
1398 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1399 unary_expression.
1400 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1401
660bfe61
GA
14022020-09-30 Martin Sebor <msebor@redhat.com>
1403
1404 PR middle-end/97189
1405 * c-attribs.c (append_access_attr): Use the function declaration
1406 location for a warning about an attribute access argument.
1407
93bca37c
GA
14082020-09-29 Marek Polacek <polacek@redhat.com>
1409
1410 PR c++/94695
1411 * c.opt (Wrange-loop-construct): New option.
1412
82b77dee
GA
14132020-09-23 Martin Sebor <msebor@redhat.com>
1414
1415 PR c/97131
1416 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1417
14182020-09-23 Marek Polacek <polacek@redhat.com>
1419
1420 PR c/97125
1421 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1422 after loops and other structured control constructs have been lowered.
1423
521d2711
GA
14242020-09-22 Jakub Jelinek <jakub@redhat.com>
1425
1426 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1427 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1428
44135373
GA
14292020-09-21 Marek Polacek <polacek@redhat.com>
1430
1431 * c.opt (Wctad-maybe-unsupported): New option.
1432
2fe5b7d1
GA
14332020-09-19 Martin Sebor <msebor@redhat.com>
1434
1435 PR c/50584
1436 * c-common.h (warn_parm_array_mismatch): Declare new function.
1437 (has_attribute): Move declaration of an existing function.
1438 (build_attr_access_from_parms): Declare new function.
1439 * c-warn.c (parm_array_as_string): Define new function.
1440 (plus_one): Define new function.
1441 (warn_parm_ptrarray_mismatch): Define new function.
1442 (warn_parm_array_mismatch): Define new function.
1443 (vla_bound_parm_decl): New function.
1444 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1445 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1446 qualifiers here...
1447 (c_pretty_printer::direct_abstract_declarator): ...but instead print
1448 them in brackets here. Also print [static]. Strip extraneous
1449 expressions from VLA bounds.
1450
14512020-09-19 Martin Sebor <msebor@redhat.com>
1452
1453 PR c/50584
1454 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1455 (handle_argspec_attribute): New function.
1456 (get_argument, get_argument_type): New functions.
1457 (append_access_attrs): Add overload. Handle internal attribute
1458 representation in addition to external.
1459 (handle_access_attribute): Handle internal attribute representation
1460 in addition to external.
1461 (build_attr_access_from_parms): New function.
1462
14632020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1464
1465 * c-gimplify.c (genericize_c_loop): Rewrite to match
1466 c_finish_loop in c-typeck.c.
1467
14682020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1469
1470 * c-common.c (c_block_may_fallthrough): New, split from
1471 cxx_block_may_fallthrough in the cp front end.
1472 (c_common_init_ts): Move handling of loop and switch-related
1473 statements here from the cp front end.
1474 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1475 cp front end.
1476 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1477 * c-common.h (c_block_may_fallthru): Declare.
1478 (bc_state_t): Move here from cp front end.
1479 (save_bc_state, restore_bc_state): Declare.
1480 (c_genericize_control_stmt): Declare.
1481 (WHILE_COND, WHILE_BODY): Likewise.
1482 (DO_COND, DO_BODY): Likewise.
1483 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1484 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1485 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1486 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1487 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1488 * c-dump.c (dump_stmt): Copy from cp front end.
1489 (c_dump_tree): Move code to handle structured loop and switch
1490 tree nodes here from cp front end.
1491 * c-gimplify.c: Adjust includes.
1492 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1493 cp front end.
1494 (save_bc_state, restore_bc_state): New functions using old code
1495 from cp front end.
1496 (get_bc_label, expr_loc_or_loc): Move from cp front end.
1497 (genericize_c_loop): Move from cp front end.
1498 (genericize_for_stmt, genericize_while_stmt): Likewise.
1499 (genericize_do_stmt, genericize_switch_stmt): Likewise.
1500 (genericize_continue_stmt, genericize_break_stmt): Likewise.
1501 (genericize_omp_for_stmt): Likewise.
1502 (c_genericize_control_stmt): New function using code split from
1503 cp front end.
1504 (c_genericize_control_r): New.
1505 (c_genericize): Call walk_tree with c_genericize_control_r.
1506 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1507 structured loop and switch tree nodes here from cp front end.
1508
2aad20c0
GA
15092020-09-17 Patrick Palka <ppalka@redhat.com>
1510
1511 PR c/80076
1512 * c-indentation.c (should_warn_for_misleading_indentation): Move
1513 declarations of local variables closer to their first use.
1514 Handle virtual token locations by resolving them to their
1515 respective macro expansion points. If all three tokens are
1516 produced from the same macro expansion, then instead use their
1517 loci within the macro definition.
1518
ecde1b0a
GA
15192020-09-16 Martin Sebor <msebor@redhat.com>
1520
1521 PR c/78666
1522 PR c/96126
1523 * c-attribs.c (validate_attr_args): New function.
1524 (validate_attr_arg): Same.
1525 (handle_section_attribute): Call it. Introduce a local variable.
1526 (handle_alloc_size_attribute): Same.
1527 (handle_alloc_align_attribute): Same.
1528
50a71cd0
GA
15292020-09-14 Jakub Jelinek <jakub@redhat.com>
1530
1531 * c-attribs.c (handle_optimize_attribute): Adjust
1532 cl_optimization_save, cl_optimization_restore and
1533 build_optimization_node callers.
1534 * c-pragma.c (handle_pragma_optimize): Adjust
1535 build_optimization_node caller.
1536 (handle_pragma_push_options): Adjust
1537 build_optimization_node and build_target_option_node callers.
1538 (handle_pragma_pop_options, handle_pragma_reset_options):
1539 Adjust cl_optimization_restore callers.
1540
8f7ea26a
GA
15412020-08-28 Martin Sebor <msebor@redhat.com>
1542
1543 * c.opt (Wstringop-overread): New option.
1544
a6493809
GA
15452020-08-11 Jakub Jelinek <jakub@redhat.com>
1546
1547 PR c/96545
1548 * c-common.c (get_atomic_generic_size): Require that first argument's
1549 type points to a complete type and use tree_fits_uhwi_p instead of
1550 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1551
48cc2e46
GA
15522020-07-31 Martin Sebor <msebor@redhat.com>
1553
1554 PR c++/96003
1555 * c-common.c (check_function_arguments_recurse): Return early when
1556 no-warning bit is set.
1557
15582020-07-31 Richard Biener <rguenther@suse.de>
1559
1560 PR debug/96383
1561 * c-common.h (c_common_finalize_early_debug): Declare.
1562 * c-common.c: Include debug.h.
1563 (c_common_finalize_early_debug): finalize_early_debug langhook
1564 implementation generating debug for extern declarations.
1565
e71dab87
GA
15662020-07-27 Nathan Sidwell <nathan@acm.org>
1567
1568 * c-common.c (try_to_locate_new_include_insertion_point): Use
1569 strcmp, not pointer equality.
1570
ae2e0bc1
GA
15712020-07-25 Martin Sebor <msebor@redhat.com>
1572
1573 PR c++/96310
1574 * c-common.c (check_nonnull_arg): Print note only when warning was
1575 issued.
1576
3ea9abca
GA
15772020-07-22 Tobias Burnus <tobias@codesourcery.com>
1578
1579 * c-omp.c (c_finish_omp_critical): Check for no name but
1580 nonzero hint provided.
1581
0933f508
GA
15822020-07-20 Jason Merrill <jason@redhat.com>
1583
1584 * c-cppbuiltin.c (c_cpp_builtins): Update
1585 __cpp_nontype_template_args for C++20.
1586
15872020-07-20 Martin Sebor <msebor@redhat.com>
1588
1589 PR c/96249
1590 * c.opt: Remove stray text.
1591
8ca07a30
GA
15922020-07-14 Lewis Hyatt <lhyatt@gmail.com>
1593
1594 PR other/86904
1595 * c-indentation.c (should_warn_for_misleading_indentation): Get
1596 global tabstop from the new source.
1597 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
1598 is now a common option.
1599 * c.opt: Likewise.
1600
a82c4c4c 16012020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
1602
1603 * c.opt (Wscalar-storage-order): Add explicit variable.
1604
f60ee68d
GA
16052020-07-07 Nathan Sidwell <nathan@acm.org>
1606
1607 * c-opts.c (c_common_post_options): Add 'injecting' arg to
1608 cpp_read_main_file.
1609 (c_finish_options): Add linemap_line_start calls for builtin and cmd
1610 maps. Force token position to line_table's highest line.
1611 * c-ppoutput.c (print_line_1): Refactor, print line zero.
1612 (cb_define): Always increment source line.
1613
4077d74c
GA
16142020-07-06 Martin Sebor <msebor@redhat.com>
1615
1616 PR c++/95984
1617 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
1618 to stub lambda objects with null this pointer.
1619 (check_nonnull_arg): Handle C++ nullptr.
1620
b5f24739
GA
16212020-07-02 Jason Merrill <jason@redhat.com>
1622 Jakub Jelinek <jakub@redhat.com>
1623
1624 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
1625
46fbb6c6
GA
16262020-06-30 Jakub Jelinek <jakub@redhat.com>
1627
1628 PR c++/95963
1629 * c-common.c (check_function_arguments_recurse): Don't crash on
1630 calls to internal functions.
1631
69273534
GA
16322020-06-28 Martin Sebor <msebor@redhat.com>
1633
1634 PR c++/86568
1635 * c-common.c (struct nonnull_arg_ctx): Add members.
1636 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
1637 C++ member functions specially. Consider the this pointer implicitly
1638 nonnull.
1639 (check_nonnull_arg): Use location of argument when available.
1640 (check_function_arguments): Use nonnull_arg_ctx as argument.
1641
9a33c41f
GA
16422020-06-27 Jakub Jelinek <jakub@redhat.com>
1643
1644 PR middle-end/95903
1645 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
1646 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
1647 smaller precision intop operands separately.
1648
c9c05f73
GA
16492020-06-26 Marek Polacek <polacek@redhat.com>
1650
1651 * c-opts.c (c_common_init_options): Default to gnu++17.
1652
aff95ee7
GA
16532020-06-17 Jonathan Wakely <jwakely@redhat.com>
1654
bd0a89dc 1655 PR c/95378
aff95ee7
GA
1656 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
1657 pointer arguments.
1658
56638b9b
GA
16592020-06-16 Jakub Jelinek <jakub@redhat.com>
1660
1661 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
1662 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
1663 idx members.
1664 (c_omp_is_loop_iterator): New function.
1665 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
1666 if outer loop iterator is present. Perform duplicate checking through
1667 hash_set in the function rather than expecting caller to do that.
1668 Pass NULL instead of d->ppset to walk_tree_1.
1669 (c_omp_check_nonrect_loop_iv): New function.
1670 (c_omp_check_loop_iv): Use it. Fill in new members, allow
1671 non-rectangular loop forms, diagnose multiple associated loops with
1672 the same iterator. Pass NULL instead of &pset to walk_tree_1.
1673 (c_omp_check_loop_iv_exprs): Likewise.
1674
ec6ffbb9
GA
16752020-06-10 Martin Liska <mliska@suse.cz>
1676
1677 PR tree-optimization/92860
1678 * c-attribs.c (handle_optimize_attribute):
1679 Save global options and compare it after parsing of function
1680 attribute.
1681 * c-pragma.c (opt_stack::saved_global_options): New field.
1682 (handle_pragma_push_options): Save global_options.
1683 (handle_pragma_pop_options): Compare them after pop.
1684
b952c2cf
GA
16852020-06-09 Jakub Jelinek <jakub@redhat.com>
1686
1687 PR c/95580
1688 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
1689 case when MEM_REF's first argument has type pointer to incomplete type.
1690
1a59f3db
GA
16912020-06-05 Jason Merrill <jason@redhat.com>
1692
1693 * c-pretty-print.c (pp_c_additive_expression): Handle negative
1694 operand to POINTER_PLUS_EXPR.
1695
3add3425
GA
16962020-06-04 Martin Sebor <msebor@redhat.com>
1697
1698 PR middle-end/10138
1699 PR middle-end/95136
1700 * c-attribs.c (append_access_attrs): Handle attr_access::none.
1701 (handle_access_attribute): Same.
1702
9a5b7438
GA
17032020-06-03 Mark Wielaard <mark@klomp.org>
1704
1705 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
1706 New function.
1707 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
1708 New function declaration.
1709
17102020-06-03 Mark Wielaard <mark@klomp.org>
1711
1712 * known-headers.cc (get_string_macro_hint): New function.
1713 (get_stdlib_header_for_name): Use get_string_macro_hint.
1714 (get_c_stdlib_header_for_string_macro_name): New function.
1715 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
1716 New function declaration.
1717
17182020-06-03 Tobias Burnus <tobias@codesourcery.com>
1719
1720 * c-common.h (c_omp_predetermined_mapping): Declare.
1721 * c-omp.c (c_omp_predetermined_mapping): New.
1722
af114c38
MW
17232020-05-22 Mark Wielaard <mark@klomp.org>
1724
1725 * known-headers.cc (get_stdlib_header_for_name): Add a new
1726 stdlib_hint array for stdbool and stdint.
1727
45c50b6a
MW
17282020-05-22 Mark Wielaard <mark@klomp.org>
1729
1730 * known-headers.cc (get_stdlib_header_for_name): Return
1731 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
1732 flag_isoc99.
1733
c22027a0
NS
17342020-05-20 Nathan Sidwell <nathan@acm.org>
1735
38a4db21
NS
1736 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
1737
c22027a0
NS
1738 * c-common.c (try_to_locate_new_include_insertion_point): Use
1739 strcmp to compare filenames.
1740 * c-lex.c (init_c_lex): Move declaration to initialization.
1741 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
1742 deferred count loop.
1743
29f0e90d
JM
17442020-05-15 Jason Merrill <jason@redhat.com>
1745
1746 * c-opts.c (set_std_cxx20): Set flag_coroutines.
1747
b04445d4
JM
17482020-05-13 Jason Merrill <jason@redhat.com>
1749
1750 * c.opt (std=c++20): Make c++2a the alias.
1751 (std=gnu++20): Likewise.
1752 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
1753 * c-opts.c: Adjust.
1754 * c-cppbuiltin.c: Adjust.
1755 * c-ubsan.c: Adjust.
1756 * c-warn.c: Adjust.
1757
11dd3be5
EB
17582020-05-12 Eric Botcazou <ebotcazou@adacore.com>
1759
1760 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
1761
b224c376
NS
17622020-05-08 Nathan Sidwell <nathan@acm.org>
1763
1764 Reimplement directives only processing.
1765 * c-ppoutput.c (token_streamer): Ne.
1766 (directives_only_cb): New. Swallow ...
1767 (print_lines_directives_only): ... this.
1768 (scan_translation_unit_directives_only): Reimplment using the
1769 published interface.
1770
f1d94677
MP
17712020-05-07 Marek Polacek <polacek@redhat.com>
1772
1773 * c-format.c (badwords): Add "nonstatic".
1774
9b95bb52
JJ
1775202-05-07 Jakub Jelinek <jakub@redhat.com>
1776
1777 PR c/94968
1778 * c-common.c (speculation_safe_value_resolve_params): Return false if
1779 error_operand_p (val2).
1780 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
1781 Remove extraneous semicolon.
1782
530b4409 17832020-05-06 qing zhao <qing.zhao@oracle.com>
1784
1785 PR c/94230
1786 * c-indentation.c (get_visual_column): Add a hint to use the new
1787 -flarge-source-files option.
1788
b776bdca
SSF
17892020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1790
1791 * c-attribs.c (handle_vector_size_attribute): Add attribute
1792 nonnull for argument args in order to silence warning of
1793 uninitialized variable usage. Since this is local to the
1794 compilation unit and thus cannot be checked at call sides by the
1795 compiler, added an assert statement in order to verify this.
1796
6607bdd9
L
17972020-05-01 H.J. Lu <hongjiu.lu@intel.com>
1798
1799 PR target/93492
1800 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
1801 value to USHRT_MAX (65535).
1802
691eeb65
JJ
18032020-04-29 Jakub Jelinek <jakub@redhat.com>
1804
1805 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
1806
26d76be7
JJ
18072020-04-27 Jakub Jelinek <jakub@redhat.com>
1808
1809 PR c/94755
1810 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
1811 fncode == BUILT_IN_NONE before initialization of first_param.
1812
7291b2ed
MP
18132020-04-23 Marek Polacek <polacek@redhat.com>
1814
1815 PR c++/94733
1816 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
1817 TREE_PURPOSE.
1818
58a29af8
PP
18192020-04-14 Patrick Palka <ppalka@redhat.com>
1820
1821 PR c++/85278
1822 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
1823 ampersand if it's an rvalue reference type.
1824
09f04139
MS
18252020-04-13 Martin Sebor <msebor@redhat.com>
1826
1827 PR c/92326
1828 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
1829 printing array bound for flexible array members.
1830
ee26baf4
IS
18312020-04-13 Iain Sandoe <iain@sandoe.co.uk>
1832
1833 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
1834 define, per n4861.
1835
75efe9cb
RB
18362020-04-02 Richard Biener <rguenther@suse.de>
1837
1838 PR c/94392
1839 * c-opts.c (c_common_post_options): Enable -ffinite-loops
1840 for -O2 and C++11 or newer.
1841
75defde9
PP
18422020-03-28 Patrick Palka <ppalka@redhat.com>
1843
1844 * c.opt: Add -fconcepts-diagnostics-depth.
1845
52f24a9e
MS
18462020-03-27 Martin Sebor <msebor@redhat.com>
1847
1848 PR c++/94346
1849 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
1850 to decl_attributes. Make handling of different kinds of entities
1851 more robust.
1852
ccacf77b
MS
18532020-03-27 Martin Sebor <msebor@redhat.com>
1854
1855 PR c++/94098
1856 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
1857 here.
1858
ca6c7225
JJ
18592020-03-23 Jakub Jelinek <jakub@redhat.com>
1860
1861 PR c++/91993
1862 * c-warn.c (warnings_for_convert_and_check): For expr and/or
1863 result being COMPOUND_EXPRs, skip to ultimate rhs.
1864
1aa22b19
RS
18652020-03-20 Richard Sandiford <richard.sandiford@arm.com>
1866
1867 PR middle-end/94072
1868 * c-common.c (c_common_type_for_mode): Before using a registered
1869 built-in type, check that the vectorness of the type matches
1870 the vectorness of the mode.
1871
700d4cb0
JJ
18722020-03-17 Jakub Jelinek <jakub@redhat.com>
1873
1874 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
1875 issue in a diagnostic message.
1876
b408e010
LH
18772020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1878
1879 * c.opt: Avoid redundancy in the help text.
1880
e78e50d5
MP
18812020-03-02 Marek Polacek <polacek@redhat.com>
1882
1883 PR c++/93958 - add missing -std=gnu++20.
1884 * c.opt: Add -std=gnu++20.
1885
649e1741
MS
18862020-03-01 Martin Sebor <msebor@redhat.com>
1887
1888 PR c++/92721
1889 * c-attribs.c (append_access_attrs): Correctly handle attribute.
1890 (handle_access_attribute): Same.
1891
7b60f3ba
JJ
18922020-02-25 Jakub Jelinek <jakub@redhat.com>
1893
1894 PR c/93858
1895 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
1896 "did you mean" hint in diagnostics.
1897
fb260504
JM
18982020-02-15 Jason Merrill <jason@redhat.com>
1899
1900 * c.opt: Add -std=c++20.
1901
1d757b09
EB
19022020-02-14 Eric Botcazou <ebotcazou@adacore.com>
1903
1904 * c-ada-spec.c: Include bitmap.h.
1905 (dump_ada_double_name): Rename into...
1906 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
1907 (dump_ada_array_type): Adjust to above renaming. Robustify.
1908 (dump_nested_types_1): New function copied from... Add dumped_types
1909 parameter and pass it down to dump_nested_type.
1910 (dump_nested_types): ...this. Remove parent parameter. Just call
1911 dump_nested_types_1 on an automatic bitmap.
1912 (dump_nested_type): Add dumped_types parameter.
1913 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
1914 Adjust recursive calls and adjust to above renaming.
1915 (dump_ada_declaration): Adjust call to dump_nested_types.
1916 Tidy up and adjust to above renaming.
1917 (dump_ada_specs): Initialize and release bitmap obstack.
1918
0cc575e4
MS
19192020-02-10 Martin Sebor <msebor@redhat.com>
1920
1921 PR c/93640
1922 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
1923
a59aa302
JJ
19242020-02-10 Jakub Jelinek <jakub@redhat.com>
1925
1926 PR other/93641
1927 * c-format.c (check_plain): Fix up last argument of strncasecmp.
1928 Remove useless extra test.
1929
e464fc90
TB
19302020-02-03 Julian Brown <julian@codesourcery.com>
1931 Tobias Burnus <tobias@codesourcery.com>
1932
1933 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
1934
e3b6c052
JM
19352020-01-29 Jason Merrill <jason@redhat.com>
1936
1937 PR c++/89357
1938 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
1939
6d00f052
JM
19402020-01-23 Jason Merrill <jason@redhat.com>
1941
1942 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
1943
8a990ffa
MS
19442020-01-23 Martin Sebor <msebor@redhat.com>
1945
1946 PR c/84919
1947 * c-common.c (check_function_arguments): Avoid overlap checking
1948 of sprintf functions.
1949
55b7df8b
JM
19502020-01-22 Jason Merrill <jason@redhat.com>
1951
1952 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
1953 PR c++/40752
1954 * c-warn.c (conversion_warning): Check operands only after checking
1955 the whole expression. Don't check second operand of + for sign.
1956
c77074d0
JM
19572020-01-21 Jason Merrill <jason@redhat.com>
1958 Manuel López-Ibáñez <manu@gcc.gnu.org>
1959
1960 PR c++/40752 - useless -Wconversion with short +=.
1961 * c.opt (-Warith-conversion): New.
1962 * c-warn.c (conversion_warning): Recurse for operands of
1963 operators. Only warn about the whole expression with
1964 -Warith-conversion.
1965
731dbfc3
JM
19662020-01-21 Jason Merrill <jason@redhat.com>
1967
1968 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
1969 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
1970
ad1a3914
NS
19712020-01-20 Nathan Sidwell <nathan@acm.org>
1972
1973 PR preprocessor/80005
1974 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
1975
49789fd0
IS
19762020-01-18 Iain Sandoe <iain@sandoe.co.uk>
1977
1978 * c-common.c (co_await, co_yield, co_return): New.
1979 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
1980 RID_CO_RETURN): New enumeration values.
1981 (D_CXX_COROUTINES): Bit to identify coroutines are active.
1982 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
1983 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
1984 * c.opt (fcoroutines): New command-line switch.
1985
4bc1899b
DM
19862020-01-10 David Malcolm <dmalcolm@redhat.com>
1987
1988 * c-format.c (local_event_ptr_node): New.
1989 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
1990 (init_dynamic_diag_info): Initialize local_event_ptr_node.
1991 * c-format.h (T_EVENT_PTR): New define.
1992
f25e33fa
MS
19932020-01-10 Martin Sebor <msebor@redhat.com>
1994
1995 PR c/93132
1996 * c-attribs.c (append_access_attrs): Validate against the translated
1997 access string rather than the human-readable representation.
1998
8d9254fc
JJ
19992020-01-01 Jakub Jelinek <jakub@redhat.com>
2000
2001 Update copyright years.
2002
39292e25
EB
20032019-12-20 Eric Botcazou <ebotcazou@adacore.com>
2004
2005 * c-ada-spec.h (decl_sloc): Delete.
2006 * c-ada-spec.c (decl_sloc): Make static.
2007
519d7496
JB
20082019-12-19 Julian Brown <julian@codesourcery.com>
2009
2010 * c-common.h (c_omp_map_clause_name): Add prototype.
2011 * c-omp.c (c_omp_map_clause_name): New function.
2012 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2013 PRAGMA_OACC_CLAUSE_DETACH.
2014
a6163563
JB
20152019-12-19 Julian Brown <julian@codesourcery.com>
2016 Maciej W. Rozycki <macro@codesourcery.com>
2017 Tobias Burnus <tobias@codesourcery.com>
2018 Thomas Schwinge <thomas@codesourcery.com>
2019
2020 * c-pragma.h (pragma_omp_clause): Add
2021 PRAGMA_OACC_CLAUSE_NO_CREATE.
2022
e8f1ade2
MS
20232019-12-17 Martin Sebor <msebor@redhat.com>
2024
2025 PR c++/61339
2026 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2027
368877a1
DM
20282019-12-11 David Malcolm <dmalcolm@redhat.com>
2029
2030 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2031 implementation.
2032 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2033
d68f5d45
DM
20342019-12-09 David Malcolm <dmalcolm@redhat.com>
2035
2036 * c-format.c (range_label_for_format_type_mismatch::get_text):
2037 Replace label_text ctor called with true with label_text::take.
2038
d3e28653
DM
20392019-12-09 David Malcolm <dmalcolm@redhat.com>
2040
2041 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2042 initial newline from expected outputs.
2043 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2044 call to diagnostic_show_locus.
2045
abd6d8cc
JJ
20462019-12-06 Jakub Jelinek <jakub@redhat.com>
2047
2048 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2049 now.
2050
7906797e
MP
20512019-12-05 Marek Polacek <polacek@redhat.com>
2052 Jakub Jelinek <jakub@redhat.com>
2053
2054 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2055 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2056
5c04da88
MP
20572019-12-05 Marek Polacek <polacek@redhat.com>
2058
2059 PR c++/92271 - make __is_same alias for __is_same_as.
2060 * c-common.c: Add __is_same, an alias for __is_same_as.
2061
43aae289
MP
20622019-12-03 Marek Polacek <polacek@redhat.com>
2063
2064 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2065 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2066 __cpp_aggregate_paren_init=201902 for -std=c++2a.
2067
d7ddfbcb
JH
20682019-11-30 Jan Hubicka <hubicka@ucw.cz>
2069
2070 * c-attribs.c (handle_symver_attribute): New function
2071 (c_common_attributes): Add symver.
2072
65ef05d0
RS
20732019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2074
2075 * c-common.c (pointer_int_sum): Use verify_type_context to check
2076 whether the target allows pointer arithmetic for the types involved.
2077 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2078 to check whether the target allows sizeof and alignof operations
2079 for the types involved.
2080
1a291106
JM
20812019-11-27 Jason Merrill <jason@redhat.com>
2082
2083 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2084
05d6cb1a
JJ
20852019-11-26 Jakub Jelinek <jakub@redhat.com>
2086
2087 PR c++/61414
2088 * c-attribs.c (handle_mode_attribute): Add mode attribute to
2089 ENUMERAL_TYPEs.
2090
5b8d9367
JM
20912019-11-25 Joseph Myers <joseph@codesourcery.com>
2092
2093 PR c/91985
2094 * c-common.c (c_common_type_for_mode): Handle decimal
2095 floating-point types being NULL_TREE.
2096 * c-format.c (get_format_for_type_1): Handle specified types being
2097 NULL_TREE.
2098 * c-lex.c (interpret_float): Give an error for decimal
2099 floating-point constants when decimal floating-point not
2100 supported.
2101
1fbf51cb
JJ
21022019-11-23 Jakub Jelinek <jakub@redhat.com>
2103
2104 PR middle-end/83859
2105 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
2106 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
2107 group warning with inform together.
2108 (handle_access_attribute): Formatting fix.
2109
761df906
JJ
21102019-11-22 Jakub Jelinek <jakub@redhat.com>
2111
bdaf8be1
JJ
2112 PR c/90677
2113 * c-common.h (identifier_global_tag): Declare.
2114 * c-format.c (get_pointer_to_named_type): Renamed to ...
2115 (get_named_type): ... this. Use identifier_global_tag instead of
2116 identifier_global_value, handle the return value being a TYPE_P.
2117 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2118 to call get_named_type instead. Formatting fixes.
2119
c2ecce6d 2120 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
2121 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2122 and __cpp_generic_lambdas for -std=c++2a. Define
2123 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2124 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
2125 __cpp_concepts for -std=c++2a.
2126
54aa6b58
MS
21272019-11-22 Martin Sebor <msebor@redhat.com>
2128
2129 PR middle-end/83859
2130 * c-attribs.c (handle_access_attribute): New function.
2131 (c_common_attribute_table): Add new attribute.
2132 (get_argument_type): New function.
2133 (append_access_attrs): New function.
2134 (get_nonnull_operand): Rename...
2135 (get_attribute_operand): ...to this.
2136 * c-common.c (get_nonnull_operand): Rename...
2137 (get_attribute_operand): ...to this.
2138
6c80b1b5
JM
21392019-11-21 Joseph Myers <joseph@codesourcery.com>
2140
2141 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2142 of warning.
2143
192961ff
JM
21442019-11-19 Joseph Myers <joseph@codesourcery.com>
2145
2146 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2147 warning for standard attributes mixed with fallthrough attributes.
2148
f8aea5e3
JM
21492019-11-15 Joseph Myers <joseph@codesourcery.com>
2150
2151 * c-attribs.c (handle_fallthrough_attribute): Remove static.
2152 * c-common.h (handle_fallthrough_attribute): Declare.
2153
2cc94aa8
JM
21542019-11-15 Joseph Myers <joseph@codesourcery.com>
2155
2156 * c-attribs.c (handle_deprecated_attribute): Remove static.
2157 * c-common.h (handle_deprecated_attribute): Declare.
2158
7c5890cc
JM
21592019-11-14 Joseph Myers <joseph@codesourcery.com>
2160
2161 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2162 char for C.
2163
b2417b59
JJ
21642019-11-14 Jakub Jelinek <jakub@redhat.com>
2165
d0ec7c93
JJ
2166 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2167 valid vendors.
2168
b2417b59
JJ
2169 * c-omp.c (c_omp_check_context_selector): Handle name lists
2170 containing string literals. Don't diagnose atomic_default_mem_order
2171 with multiple props.
2172
00be2a5f
JM
21732019-11-13 Joseph Myers <joseph@codesourcery.com>
2174
2175 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2176 NORM_MAX constants. Update call to get_max_float.
2177 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2178 constants.
2179
2dbad62d
EB
21802019-11-13 Eric Botcazou <ebotcazou@adacore.com>
2181
2182 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2183 (dump_forward_type): Do not generate a declaration for function types.
2184 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2185 of the component type if it is declared in another file.
2186
6ed76044
ML
21872019-11-12 Martin Liska <mliska@suse.cz>
2188
2189 * c-opts.c (c_common_post_options):
2190 Use SET_OPTION_IF_UNSET.
2191
62aee289
MR
21922019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2193 Frederik Harwath <frederik@codesourcery.com>
2194
2195 gcc/c-family/
2196 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2197 constant.
2198 * c-pragma.c (oacc_pragmas): Add "serial" entry.
2199
f486280c
RS
22002019-11-08 Richard Sandiford <richard.sandiford@arm.com>
2201
2202 * c-common.h (gnu_vector_type_p): New function.
2203 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2204 vectors to satisfy gnu_vector_type_p.
2205 (c_build_vec_convert): Likewise __builtin_convertvector.
2206 (convert_vector_to_array_for_subscript): Likewise when applying
2207 implicit vector to array conversion.
2208 (scalar_to_vector): Likewise when converting vector-scalar
2209 operations to vector-vector operations.
2210
017c6491
JM
22112019-11-08 Joseph Myers <joseph@codesourcery.com>
2212
2213 * c.opt (Wold-style-definition): Initialize to -1.
2214 * c-opts.c (c_common_post_options): Set warn_old_style_definition
2215 to flag_isoc2x if not set explicitly.
2216
c01bd174
JM
22172019-11-07 Joseph Myers <joseph@codesourcery.com>
2218
2219 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2220
0df65305
JM
22212019-11-05 Jason Merrill <jason@redhat.com>
2222
2223 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2224 -fconcepts.
2225
e0c866dd
KK
22262019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2227
2228 * c-opts.c (c_common_post_options): Update
2229 latest_abi_version.
2230
f968ef9b
JJ
22312019-11-02 Jakub Jelinek <jakub@redhat.com>
2232
d0c464d2
JJ
2233 * c-common.h (c_omp_get_context_selector): Remove.
2234 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2235 and renamed to omp_get_context_selector.
2236
917dd789
JJ
2237 * c-omp.c (c_omp_mark_declare_variant): Use
2238 omp_context_selector_set_compare.
2239
f968ef9b
JJ
2240 PR c++/88335 - Implement P1073R3: Immediate functions
2241 * c-common.h (enum rid): Add RID_CONSTEVAL.
2242 * c-common.c (c_common_reswords): Add consteval.
2243
5f6705b7
JJ
22442019-11-01 Martin Sebor <msebor@redhat.com>
2245
2246 PR middle-end/91679
2247 PR middle-end/91647
2248 PR middle-end/91463
2249 PR middle-end/92312
2250 * c-pretty-print.c (direct_abstract_declarator): Print
2251 bound in zero-length arrays.
2252 * c.opt (-Wzero-length-bounds): New option.
2253
43f1814c
NS
22542019-10-30 Nathan Sidwell <nathan@acm.org>
2255
2256 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2257 macros.
2258
ad1539d5
MS
22592019-10-28 Martin Sebor <msebor@redhat.com>
2260
2261 PR c/66970
2262 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2263 even when only preprocessing.
2264 * c-common.h (names_builtin_p): Declare new function.
2265 * c-lex.c (init_c_lex): Set has_builtin.
2266 (c_common_has_builtin): Define a new function.
2267 * c-ppoutput.c (init_pp_output): Set has_builtin.
2268
135df52c
JJ
22692019-10-24 Jakub Jelinek <jakub@redhat.com>
2270
2271 * c-common.h (c_omp_context_selector_matches): Remove.
2272 * c-omp.c (c_omp_context_selector_matches): Remove.
2273 * c-attribs.c (c_common_attribute_table): Add
2274 "omp declare target {host,nohost,block}" attributes.
2275
8ad0c477
JM
22762019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2277
2278 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2279
56898e43
RS
22802019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2281
2282 * c-common.h (user_facing_original_type_p): Declare.
2283 * c-common.c: Include c-spellcheck.h.
2284 (user_facing_original_type_p): New function.
2285
20de9568
JJ
22862019-10-12 Jakub Jelinek <jakub@redhat.com>
2287
2288 * c-common.h (c_omp_mark_declare_variant,
2289 c_omp_context_selector_matches): Declare.
2290 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2291 and hsa-common.h.
2292 (c_omp_get_context_selector): Support second argument NULL.
2293 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2294 functions.
2295 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2296 attribute, add "omp declare variant base" and
2297 "omp declare variant variant" attributes.
2298
175a85b2
JM
22992019-10-11 Joseph Myers <joseph@codesourcery.com>
2300
2301 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2302 CppReason(CPP_W_C11_C2X_COMPAT).
2303
fe2bc27c
JM
23042019-10-11 Joseph Myers <joseph@codesourcery.com>
2305
2306 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2307 _Decimal64 and _Decimal128.
2308
27dfdc0f
JM
23092019-10-10 Joseph Myers <joseph@codesourcery.com>
2310
2311 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2312 types if DFP not supported.
2313
94e7f906
JJ
23142019-10-10 Jakub Jelinek <jakub@redhat.com>
2315
2316 * c-common.h (c_omp_check_context_selector,
2317 c_omp_get_context_selector): Declare.
2318 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2319 in diagnostic message.
2320 (c_omp_check_context_selector, c_omp_get_context_selector): New
2321 functions.
2322 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2323 attribute.
2324 (handle_omp_declare_variant_attribute): New function.
2325
a7160771
MS
23262019-10-09 Martin Sebor <msebor@redhat.com>
2327
2328 PR tree-optimization/90879
2329 * c.opt (-Wstring-compare): New option.
2330
cb57504a
JM
23312019-10-08 Andrew Sutton <asutton@lock3software.com>
2332 Jason Merrill <jason@redhat.com>
2333
2334 Update the concepts implementation to conform to the C++20
2335 specification, improve compile times, and generally clean up
2336 the implementation.
2337
2338 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2339 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2340 * c.opt: Add -Wconcepts-ts.
2341 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2342 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2343 (set_std_cxx2a): Enable concepts by default.
2344
fbb2a6dc
JM
23452019-10-08 Joseph Myers <joseph@codesourcery.com>
2346
2347 * c-opts.c (c_common_post_options): Set
2348 -fno-fp-int-builtin-inexact for C2X.
2349
8e007055
JJ
23502019-10-05 Jakub Jelinek <jakub@redhat.com>
2351
2352 PR c++/91369 - Implement P0784R7: constexpr new
2353 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2354 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2355
843f104d
JM
23562019-10-04 Joseph Myers <joseph@codesourcery.com>
2357
2358 PR c/82752
2359 * c-format.c (C_STD_VER): Handle C2x.
2360 (C_STD_NAME): Likewise.
2361 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2362 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2363 modifier allowed and 'p' flag.
2364 * c-format.h (enum format_std_version): Add STD_C2X.
2365 (struct format_char_info): Mention 'p' in comment on flags2.
2366
e9c9a142
DM
23672019-10-01 David Malcolm <dmalcolm@redhat.com>
2368
2369 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2370 calling diagnostic_show_locus, rather than destroying it afterwards.
2371
7552c36a
JJ
23722019-10-01 Jakub Jelinek <jakub@redhat.com>
2373
2374 PR c++/91925
2375 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2376 with NULL DECL_FIELD_OFFSET.
2377
8209db25
RS
23782019-10-01 Richard Sandiford <richard.sandiford@arm.com>
2379
2380 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2381 has a type name, use it in preference to the __vector syntax.
2382
9343bf99
RS
23832019-09-30 Richard Sandiford <richard.sandiford@arm.com>
2384
2385 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2386 two spaces between a comma and "...".
2387
59bc434a
JJ
23882019-09-27 Jakub Jelinek <jakub@redhat.com>
2389
2390 PR c++/88203
2391 * c-common.h (c_omp_predefined_variable): Declare.
2392 * c-omp.c (c_omp_predefined_variable): New function.
2393 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2394 for predefined variables.
2395
c6447c20
RS
23962019-09-27 Richard Sandiford <richard.sandiford@arm.com>
2397
2398 * c-common.h (build_function_call_vec): Take the original
2399 function decl as an optional final parameter.
2400 (check_builtin_function_arguments): Take the original function decl.
2401 * c-common.c (check_builtin_function_arguments): Likewise.
2402 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2403 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2404
c4438114
JM
24052019-09-15 Jason Merrill <jason@redhat.com>
2406
2407 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
2408 fold_for_warn in "|| mask" warning.
2409
68a57628
ML
24102019-09-10 Martin Liska <mliska@suse.cz>
2411
2412 * c.opt: Use newly added WarnRemoved.
2413
f48ef52e
ML
24142019-09-09 Martin Liska <mliska@suse.cz>
2415
2416 * c.opt: Update comment of removed
2417 options that are preserved only for backward
2418 compatibility.
2419
67f6e649
ML
24202019-09-06 Martin Liska <mliska@suse.cz>
2421
2422 PR c++/91125
2423 * c-common.c: Remove definition of flag_use_repository.
2424 * c-common.h: Likewise.
2425 * c-opts.c (c_common_handle_option):
2426 Do not handle OPT_frepo option.
2427 * c.opt: Mark the option with Deprecated.
2428
db9d2274
MP
24292019-09-04 Marek Polacek <polacek@redhat.com>
2430
2431 * c.opt (fdeduce-init-list): Ignored.
2432
68e2c199
PK
24332019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2434
2435 PR c/78736
2436 * c.opt (Wenum-conversion): New option.
2437
7a4418a5
JL
24382019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2439
2440 * c-attribs.c (handle_section_attribute): Call the
2441 handle_generic_attribute target hook after performing target
2442 independent processing.
2443 (handle_noinit_attribute): Likewise.
2444
5f76ab15
ILT
24452019-09-03 Ian Lance Taylor <iant@golang.org>
2446
2447 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2448 when using -fgo-dump-spec.
2449
ae0d3f6a
ML
24502019-09-02 Martin Liska <mliska@suse.cz>
2451
2452 PR c++/91155
2453 * c-common.c (fname_as_string): Use cxx_printable_name for
2454 __PRETTY_FUNCTION__ same as was used before r265711.
2455
8a902edb
MP
24562019-08-28 Marek Polacek <polacek@redhat.com>
2457
2458 Implement P1152R4: Deprecating some uses of volatile.
2459 PR c++/91361
2460 * c-opts.c (c_common_post_options): Enable -Wvolatile by
2461 default for C++2a, unless -Wno-deprecated.
2462 * c.opt (Wvolatile): New warning.
2463
4742dbe7
MP
24642019-08-28 Marek Polacek <polacek@redhat.com>
2465
2466 PR c++/91360 - Implement C++20 P1143R2: constinit.
2467 * c-common.c (c_common_reswords): Add constinit and __constinit.
2468 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2469 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2470 RID_LAST_CXX20.
2471 (D_CXX20): Define.
2472 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2473 * c-format.c (cxx_keywords): Add "constinit".
2474 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2475
6a074892
JJ
24762019-08-27 Jakub Jelinek <jakub@redhat.com>
2477
2478 PR c++/91415
2479 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2480 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2481 like COMPOUND_EXPR rather than normal expression.
2482
22f8849d
IS
24832019-08-23 Iain Sandoe <iain@sandoe.co.uk>
2484
2485 PR pch/61250
2486 * c-lex.c (c_lex_with_flags): Don't call
2487 c_common_no_more_pch () from here.
2488
df375b03
JJ
24892019-08-23 Jakub Jelinek <jakub@redhat.com>
2490
2491 PR middle-end/91283
2492 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2493 instead of flag_excess_precision_cmdline.
2494 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2495 * c-opts.c (c_common_post_options): Likewise.
2496
14b7950f
MS
24972019-08-22 Martin Sebor <msebor@redhat.com>
2498
2499 PR middle-end/91490
2500 * c-common.c (braced_list_to_string): Add argument and overload.
2501 Handle flexible length arrays and unions.
2502
8bb2ee59
EB
25032019-08-21 Eric Botcazou <ebotcazou@adacore.com>
2504
2505 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2506 function declarations where arguments are missing. Rename variables.
2507
21c1e205
RB
25082019-08-15 Richard Biener <rguenther@suse.de>
2509
2510 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2511 enabled, define __SIZETYPE__.
2512
f0033821
CL
25132019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
2514
2515 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2516 exclusion with "section" attribute.
2517 (attr_noinit_exclusions): New table.
2518 (handle_noinit_attribute): New function.
2519
4d732405
RS
25202019-08-13 Richard Sandiford <richard.sandiford@arm.com>
2521
2522 PR middle-end/91421
2523 * c-common.c (resolve_overloaded_builtin): Use
2524 copy_decl_built_in_function.
2525
51ad8481
MS
25262019-08-13 Martin Sebor <msebor@redhat.com>
2527
2528 PR c/80619
2529 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2530 (asm_fprintf_length_spec): Same.
2531 * c-format.h (format_lengths): Add FMT_LEN_w.
2532
77eb117f
JJ
25332019-08-10 Jakub Jelinek <jakub@redhat.com>
2534
2535 * c-pragma.h (enum pragma_omp_clause): Add
2536 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2537
398e3feb
JJ
25382019-08-07 Jakub Jelinek <jakub@redhat.com>
2539
2540 * c-pragma.h (enum pragma_omp_clause): Add
2541 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2542 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2543 enumeration value.
2544
ab574db6
MP
25452019-08-05 Marek Polacek <polacek@redhat.com>
2546
2547 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2548 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2549 default for C++2a, unless -Wno-deprecated.
2550 * c.opt (Wcomma-subscript): New warning.
2551
554a530f
JJ
25522019-07-20 Jakub Jelinek <jakub@redhat.com>
2553
2554 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2555 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2556 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2557 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2558 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2559 constructs with the loop construct.
2560
1a888209
JJ
25612019-07-13 Jakub Jelinek <jakub@redhat.com>
2562
2563 PR c/91149
2564 * c-omp.c (c_omp_split_clauses): Fix a pasto in
2565 OMP_CLAUSE_REDUCTION_TASK handling.
2566
1fdd6f04
JJ
25672019-07-12 Jakub Jelinek <jakub@redhat.com>
2568
2569 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2570 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2571
99b1c316
MS
25722019-07-09 Martin Sebor <msebor@redhat.com>
2573
2574 PR c++/61339
1fdd6f04 2575 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
2576 and others to class.
2577 * c-pretty-print.h: Same.
2578
6c1dae73
MS
25792019-07-09 Martin Sebor <msebor@redhat.com>
2580
2581 PR c++/61339
2582 * c-format.c (check_argument_type): Change class-key from class to
2583 struct and vice versa to match convention and avoid -Wclass-is-pod
2584 and -Wstruct-no-pod.
2585 * c-pretty-print.h: Same.
2586
8ba6ea87
ML
25872019-07-03 Martin Liska <mliska@suse.cz>
2588
2589 * c-common.c (try_to_locate_new_include_insertion_point): Remove
2590 dead assignemts.
2591
83eb9522
JJ
25922019-07-03 Jakub Jelinek <jakub@redhat.com>
2593
2594 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
2595 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
2596 with OMP_PARALLEL.
2597
1c6ffbab
QZ
25982019-07-02 qing zhao <qing.zhao@oracle.com>
2599
2600 PR preprocessor/90581
2601 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
2602 * c.opt: Add new option -fmax-include-depth.
2603
7ffc7de5
JM
26042019-06-26 Jason Merrill <jason@redhat.com>
2605
2606 PR c++/55442 - memory-hog with highly recursive constexpr.
2607 * c.opt (fconstexpr-loop-limit): New.
2608
361af3e4
JJ
26092019-06-25 Jakub Jelinek <jakub@redhat.com>
2610
2611 PR sanitizer/90954
2612 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
2613 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
2614
ab20d992
JJ
26152019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2616
2617 * c-common.c (c_common_nodes_and_builtins): Define
2618 alternate "__intN__" name for "__intN" types.
2619
f4af4019
JH
26202019-06-24 Jan Hubicka <jh@suse.cz>
2621
2622 * c-common.c (braced_lists_to_strings): Check that
2623 type is array or integer prior checking string flag.
2624
da9e9b57
MB
26252019-06-21 Matthew Beliveau <mbelivea@redhat.com>
2626
2627 PR c++/90875 - added -Wswitch-outside-range option
2628 * c.opt (Wswitch-outside-range): Added new option.
2629 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
2630
3f3d6a6f
MP
26312019-06-21 Marek Polacek <polacek@redhat.com>
2632
2633 PR c++/90953 - ICE with -Wmissing-format-attribute.
2634 * c-common.c (check_function_arguments_recurse): Use
2635 get_attribute_name.
2636 (check_missing_format_attribute): Likewise.
2637
1bf32c11
MP
26382019-06-19 Marek Polacek <polacek@redhat.com>
2639
2640 PR c++/60364 - noreturn after first decl not diagnosed.
2641 * c-attribs.c (handle_noreturn_attribute): No longer static.
2642 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
2643 Declare.
2644 * c-format.c (check_function_format): Use get_attribute_name.
2645
a04c0734
MS
26462019-06-19 Martin Sebor <msebor@redhat.com>
2647
2648 PR translation/90156
2649 * c-format.c (function_format_info::format_type): Adjust type.
2650 (function_format_info::is_raw): New member.
2651 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
2652 (decode_format_attr): Adjust call to decode_format_type.
2653 Avoid a redundant call to convert_format_name_to_system_name.
2654 Avoid abbreviating the word "arguments" in a diagnostic.
2655 (format_warning_substr): New function.
2656 (avoid_dollar_number): Quote dollar sign in a diagnostic.
2657 (finish_dollar_format_checking): Same.
2658 (check_format_info): Same.
2659 (struct baltoks_t): New.
2660 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
2661 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
2662 functions.
2663 (check_format_info_main): Call check_plain. Use baltoks_t. Call
2664 maybe_diag_unbalanced_tokens.
2665 (handle_format_attribute): Spell out the word "arguments" in
2666 a diagnostic.
2667
d3786ebb
MB
26682019-06-11 Matthew Beliveau <mbelivea@redhat.com>
2669
2670 PR c++/90449 - add -Winaccessible-base option.
2671 * c.opt (Winaccessible-base): New option.
2672
bf38f7e9
JJ
26732019-06-10 Jakub Jelinek <jakub@redhat.com>
2674
2675 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
2676 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
2677 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
2678 combined/composite constructs where it is not allowed. Copy over
2679 OMP_CLAUSE_REDUCTION_INSCAN.
2680
0ecf545c
MS
26812019-06-05 Martin Sebor <msebor@redhat.com>
2682
2683 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
2684 (handle_alias_ifunc_attribute): Same.
2685 (handle_copy_attribute): Same.
2686 (handle_weakref_attribute): Same.
2687 (handle_nonnull_attribute): Same.
2688 * c-warn.c (warn_for_sign_compare): Same.
2689 (warn_for_restrict): Same.
2690 * c.opt: Same.
2691
36b34127
MS
26922019-06-05 Martin Sebor <msebor@redhat.com>
2693
2694 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
2695 * c.opt (-Wformat-diag): Remove a spurious period.
2696
357a352f
JJ
26972019-05-29 Jakub Jelinek <jakub@redhat.com>
2698
2699 PR c/90628
2700 * c-common.c (check_builtin_function_arguments)
2701 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
2702 as last argument.
2703
2b8235ea
EB
27042019-05-23 Eric Botcazou <ebotcazou@adacore.com>
2705
2706 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
2707
6d86ddc4
ML
27082019-05-22 Martin Liska <mliska@suse.cz>
2709
2710 PR lto/90500
2711 * c-attribs.c (handle_copy_attribute): Do not copy
2712 target_clones attribute.
2713
419ba5b9
EB
27142019-05-21 Eric Botcazou <ebotcazou@adacore.com>
2715
2716 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
2717 * c-ada-spec.c (print_assignment_operator): New function.
2718 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
2719 assignment operators declared as methods and filter out the others.
2720
e03436e7
TS
27212019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2722
2723 PR c/89433
2724 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
2725 "omp declare target".
2726
a9c697b8
MS
27272019-05-16 Martin Sebor <msebor@redhat.com>
2728
ab20d992
JJ
2729 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
2730 keywords, operators, and types in diagnostics.
2731 (handle_scalar_storage_order_attribute): Same.
2732 (handle_mode_attribute): Same.
2733 (handle_visibility_attribute): Same.
2734 (handle_assume_aligned_attribute): Same.
2735 (handle_no_split_stack_attribute): Same.
2736 * c-common.c (shorten_compare): Same.
2737 (c_common_truthvalue_conversion): Same.
2738 (cb_get_source_date_epoch): Same.
2739 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
2740 in diagnostics.
2741 (interpret_float): Same.
2742 * c-omp.c (c_finish_omp_for): Same.
2743 * c-opts.c (c_common_post_options): Same.
2744 * c-pch.c (c_common_pch_pragma): Same.
2745 * c-pragma.c (pop_alignment): Same.
2746 (handle_pragma_pack): Same.
2747 (apply_pragma_weak): Same.
2748 (handle_pragma_weak): Same.
2749 (handle_pragma_scalar_storage_order): Same.
2750 (handle_pragma_redefine_extname): Same.
2751 (add_to_renaming_pragma_list): Same.
2752 (maybe_apply_renaming_pragma): Same.
2753 (push_visibility): Same.
2754 (handle_pragma_visibility): Same.
2755 (handle_pragma_optimize): Same.
2756 (handle_pragma_message): Same.
2757 * c-warn.c (warn_for_omitted_condop): Same.
2758 (lvalue_error): Same.
a9c697b8 2759
6b943512
RB
27602019-05-15 Richard Biener <rguenther@suse.de>
2761
2762 PR c/90474
2763 * c-common.c (c_common_mark_addressable_vec): Also mark
2764 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
2765 c_mark_addressable.
ab20d992 2766
b744fc85
NS
27672019-05-06 Nathan Sidwell <nathan@acm.org>
2768
2769 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
2770
598f50d7
NS
27712019-04-30 Nathan Sidwell <nathan@acm.org>
2772
2773 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
2774
5bcc5a3b
ML
27752019-04-30 Martin Liska <mliska@suse.cz>
2776
2777 * c-pragma.c (handle_pragma_diagnostic): Provide hints
2778 for unknown options.
2779
e78a87f7
RS
27802019-04-26 Richard Sandiford <richard.sandiford@arm.com>
2781
2782 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
2783 the pointer target rather than the pointer itself.
2784
c280b7ee
JJ
27852019-04-19 Jakub Jelinek <jakub@redhat.com>
2786
2787 PR c/89888
2788 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
2789 arguments.
2790 (c_do_switch_warnings): Remove outside_range_p argument.
2791 * c-common.c (check_case_bounds): Removed.
2792 (c_add_case_label): Remove orig_type and outside_range_p arguments.
2793 Don't call check_case_bounds. Fold low_value as well as high_value.
2794 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
2795 Check for case labels outside of range of original type here and
2796 adjust them.
2797
8e8225e6
JJ
27982019-04-12 Jakub Jelinek <jakub@redhat.com>
2799
63b8a166
JJ
2800 PR translation/90041
2801 * c.opt (-fhandle-exceptions): Use %< and %> around option names
2802 in the Warn diagnostics.
2803
8e8225e6
JJ
2804 PR c/89946
2805 * c-attribs.c (handle_patchable_function_entry_attribute): Add
2806 function comment. Warn if arguments of the attribute are not positive
2807 integer constants.
2808
53a3f614
EB
28092019-04-09 Eric Botcazou <ebotcazou@adacore.com>
2810
2811 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
2812 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
2813
22be5873
EB
28142019-04-07 Eric Botcazou <ebotcazou@adacore.com>
2815
2816 * c-ada-spec.c (is_float128): New predicate extracted from...
2817 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
2818 <REAL_TYPE>: ...here. Call it.
2819
34facf20
DM
28202019-04-05 David Malcolm <dmalcolm@redhat.com>
2821
2822 PR c/89985
2823 * c-warn.c (check_address_or_pointer_of_packed_member): Add
2824 auto_diagnostic_group. Guard inform calls by result of
2825 warning_at call.
2826
05564120
MP
28272019-04-05 Marek Polacek <polacek@redhat.com>
2828
ab20d992 2829 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
2830 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
2831 of RHS.
2832
7a506c3c
JM
28332019-04-03 Jason Merrill <jason@redhat.com>
2834
2835 PR c++/86586 - -fcompare-debug=-Wsign-compare.
2836 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
2837
ddeae8c8
MS
28382019-04-01 Martin Sebor <msebor@redhat.com>
2839
2840 PR c/89685
2841 * c-attribs.c (handle_copy_attribute): Handle references and
2842 non-constant expressions.
2843
a15ffa22
JJ
28442019-03-22 Jakub Jelinek <jakub@redhat.com>
2845
2846 PR c++/87481
2847 * c.opt (-fconstexpr-ops-limit=): New option.
2848
36a3a7a3
JJ
28492019-03-21 Jakub Jelinek <jakub@redhat.com>
2850
2851 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
2852 template param.
2853
bec1da64
MS
28542019-03-19 Martin Sebor <msebor@redhat.com>
2855
2856 PR tree-optimization/89688
2857 * c-common.c (braced_list_to_string): Make static.
2858 (braced_lists_to_strings): Define new function.
2859 * c-common.h (braced_list_to_string): Remove.
2860 (braced_lists_to_strings): Declare.
2861
1fe61adf
ML
28622019-03-12 Martin Liska <mliska@suse.cz>
2863
2864 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
2865
93964ebd
ML
28662019-03-11 Martin Liska <mliska@suse.cz>
2867
2868 * c-opts.c (c_common_post_options): Wrap apostrophes
2869 in gcc internal format with %'.
2870
a3f9f006
ML
28712019-03-11 Martin Liska <mliska@suse.cz>
2872
2873 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
2874 in a string format message and fix GNU coding style.
2875 * c-common.c (vector_types_convertible_p): Likewise.
2876 (c_build_vec_perm_expr): Likewise.
2877 * c-indentation.c (get_visual_column): Likewise.
2878 * c-opts.c (c_common_handle_option): Likewise.
2879 (c_common_post_options): Likewise.
2880 (sanitize_cpp_opts): Likewise.
2881 * c-pch.c (c_common_pch_pragma): Likewise.
2882 * c-pragma.c (handle_pragma_pack): Likewise.
2883
1db01ff9
JJ
28842019-03-08 Jakub Jelinek <jakub@redhat.com>
2885
2886 PR tree-optimization/89550
2887 * c-common.c (c_common_truthvalue_conversion): Only set
2888 TREE_NO_WARNING if warning_at returned true.
2889 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
2890
ba790e6f
JJ
28912019-02-25 Sandra Loosemore <sandra@codesourcery.com>
2892 Martin Sebor <msebor@gmail.com>
2893
2894 * c.opt (Wmissing-attributes): Clean up doc string.
2895
7da73ba7
JJ
28962019-02-25 Jakub Jelinek <jakub@redhat.com>
2897
2898 PR c/89495
2899 * c-format.c (maybe_read_dollar_number): Compute nargnum in
2900 HOST_WIDE_INT type to avoid overflows and change overflow_flag
2901 checking.
2902
921bb9d1
RB
29032019-02-22 Richard Biener <rguenther@suse.de>
2904
2905 * c-pch.c (no_checksum): Remove.
2906 (pch_init): Remove assertion that executable_checksum is not
2907 all zero.
2908 (c_common_valid_pch): Likewise.
2909
e2ebb05c
MS
29102019-02-18 Martin Sebor <msebor@redhat.com>
2911
2912 PR middle-end/89294
2913 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
2914
3fe53000
DM
29152019-02-16 David Malcolm <dmalcolm@redhat.com>
2916
2917 PR c++/88680
2918 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
2919 implementing -Wtype-limits.
2920
28a8cef1
MS
29212019-02-11 Martin Sebor <msebor@redhat.com>
2922
2923 PR c++/87996
2924 * c-common.c (invalid_array_size_error): New function.
2925 (valid_array_size_p): Call it. Handle size as well as type.
2926 * c-common.h (valid_constant_size_p): New function.
2927 (enum cst_size_error): New type.
2928
ec2be203
DM
29292019-01-31 David Malcolm <dmalcolm@redhat.com>
2930
2931 PR c/89122
2932 * known-headers.cc (get_stdlib_header_for_name): Add
2933 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
2934
8936f047
JJ
29352019-01-31 Jakub Jelinek <jakub@redhat.com>
2936
2937 PR libstdc++/88170
2938 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
2939 a C cast in pp_c_flag_gnu_v3 mode.
2940
6a335b96
JJ
29412019-01-29 Jakub Jelinek <jakub@redhat.com>
2942
2943 PR c/86125
2944 * c-common.c (c_common_nodes_and_builtins): Build type variants for
2945 builtin_structptr_types types even for C.
2946
2a06eba5
BE
29472019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2948
2949 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
2950 when rhs is of array type correctly. Fix handling of nested structures.
2951 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
2952 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
2953 type casts within nested compound expressions.
2954
18a23298
JJ
29552019-01-22 Jakub Jelinek <jakub@redhat.com>
2956
2957 PR middle-end/88968
2958 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
2959 variable after using BIT_FIELD_REF.
2960
420183d9
L
29612019-01-18 H.J. Lu <hongjiu.lu@intel.com>
2962
2963 PR c/51628
2964 PR c/88664
2965 * c-common.h (warn_for_address_or_pointer_of_packed_member):
2966 Remove the boolean argument.
2967 * c-warn.c (check_address_of_packed_member): Renamed to ...
2968 (check_address_or_pointer_of_packed_member): This. Also
2969 warn pointer conversion.
2970 (check_and_warn_address_of_packed_member): Renamed to ...
2971 (check_and_warn_address_or_pointer_of_packed_member): This.
2972 Also warn pointer conversion.
2973 (warn_for_address_or_pointer_of_packed_member): Remove the
2974 boolean argument. Don't check pointer conversion here.
2975
99063eee
RS
29762019-01-15 Richard Sandiford <richard.sandiford@arm.com>
2977
2978 PR inline-asm/52813
2979 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
2980
a30d0196
JJ
29812019-01-14 Jakub Jelinek <jakub@redhat.com>
2982
2983 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
2984 and __cpp_nontype_template_parameter_auto. Add a comment that
2985 __cpp_template_auto is deprecated.
2986
2d91f79d
TH
29872019-01-14 Tom Honermann <tom@honermann.net>
2988
2989 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
2990 * c-common.c (c_common_reswords): Add char8_t.
2991 (fix_string_type): Use char8_t for the type of u8 string literals.
2992 (c_common_get_alias_set): char8_t doesn't alias.
2993 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
2994 C++.
2995 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
2996 (keyword_begins_type_specifier): Add RID_CHAR8.
2997 * c-common.h (rid): Add RID_CHAR8.
2998 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
2999 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3000 Define char8_type_node and char8_array_type_node.
3001 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3002 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3003 (c_cpp_builtins): Predefine __cpp_char8_t.
3004 * c-lex.c (lex_string): Use char8_array_type_node as the type of
3005 CPP_UTF8STRING.
3006 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3007 * c-opts.c: If not otherwise specified, enable -fchar8_t when
3008 targeting C++2a.
3009 * c.opt: Add the -fchar8_t command line option.
3010
23db6ced
MS
30112019-01-14 Martin Sebor <msebor@redhat.com>
3012
3013 PR target/88638
3014 * c-attribs.c (positional_argument): Call valid_format_string_type_p
3015 and issue errors if it fails.
3016 * c-common.h (valid_format_string_type_p): Declare.
3017 * c-format.c (valid_stringptr_type_p): Rename...
3018 (valid_format_string_type_p): ...to this and make extern.
3019 (handle_format_arg_attribute): Adjust to new name.
3020 (check_format_string): Same.
3021
234c3818
L
30222019-01-13 H.J. Lu <hongjiu.lu@intel.com>
3023
3024 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3025 Replace "may may" with "may" in warning message.
3026
d8fcab68
JJ
30272019-01-07 Jakub Jelinek <jakub@redhat.com>
3028
3029 PR c++/85052
3030 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3031 (c_build_vec_convert): Declare.
3032 * c-common.c (c_build_vec_convert): New function.
3033
29d24852
MS
30342019-01-04 Martin Sebor <msebor@redhat.com>
3035
3036 PR c/88546
3037 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3038 Handle C++ empty throw specification and C11 _Noreturn.
3039 (has_attribute): Also handle C11 _Noreturn.
3040
9069a4c9
MS
30412019-01-04 Martin Sebor <msebor@redhat.com>
3042
3043 PR c/88363
3044 * c-attribs.c (positional_argument): Also accept enumerated types.
3045
a5544970
JJ
30462019-01-01 Jakub Jelinek <jakub@redhat.com>
3047
3048 Update copyright years.
3049
da77eace
L
30502018-12-20 H.J. Lu <hongjiu.lu@intel.com>
3051
3052 PR c/51628
3053 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3054 * c-warn.c (check_alignment_of_packed_member): New function.
3055 (check_address_of_packed_member): Likewise.
3056 (check_and_warn_address_of_packed_member): Likewise.
3057 (warn_for_address_or_pointer_of_packed_member): Likewise.
3058 * c.opt: Add -Wno-address-of-packed-member.
3059
573767d4
DM
30602018-12-20 David Malcolm <dmalcolm@redhat.com>
3061
3062 PR c++/87504
3063 * c-warn.c (get_outermost_macro_expansion): New function.
3064 (spelled_the_same_p): Use it to unwind the macro expansions, and
3065 compare the outermost macro in each nested expansion, rather than
3066 the innermost.
3067
a14feb3c
DM
30682018-12-19 David Malcolm <dmalcolm@redhat.com>
3069
3070 PR c++/87504
3071 * c-common.h (warn_tautological_cmp): Convert 1st param from
3072 location_t to const op_location_t &.
3073 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3074 when testing for INTEGER_CST.
3075 (warn_tautological_bitwise_comparison): Convert 1st param from
3076 location_t to const op_location_t &; use it to build a
3077 binary_op_rich_location, and use this.
3078 (spelled_the_same_p): New function.
3079 (warn_tautological_cmp): Convert 1st param from location_t to
3080 const op_location_t &. Warn for macro expansions if
3081 spelled_the_same_p. Use binary_op_rich_location.
3082
dfd7fdca
DM
30832018-12-19 David Malcolm <dmalcolm@redhat.com>
3084
3085 PR c++/43064
3086 PR c++/43486
3087 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3088 (verify_tree): Handle location wrappers.
3089 (c_common_truthvalue_conversion): Strip any location wrapper.
3090 Handle CONST_DECL.
3091 (fold_offsetof): Strip any location wrapper.
3092 (complete_array_type): Likewise for initial_value.
3093 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3094 index before checking for INTEGER_CST.
3095 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3096 print parentheses around location wrappers.
3097 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3098 before checking for INTEGER_CST.
3099 (warn_tautological_bitwise_comparison): Call
3100 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3101 before checking for INTEGER_CST.
3102 (readonly_error): Strip any location wrapper.
3103 (warn_array_subscript_with_type_char): Strip location wrappers
3104 before checking for INTEGER_CST. Use the location of the index if
3105 available.
3106
5c8b3702
JM
31072018-12-06 Jason Merrill <jason@redhat.com>
3108
3109 PR c++/88136 - -Wdeprecated-copy false positives
3110 * c.opt (Wdeprecated-copy-dtor): New.
3111 (Wdeprecated-copy): Move to -Wextra.
3112
673670da
MS
31132018-11-29 Martin Sebor <msebor@redhat.com>
3114
3115 PR c/88172
3116 PR testsuite/88208
3117 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3118 alignments to values less than the target requires.
3119 (has_attribute): For attribute aligned consider both the attribute
3120 and the alignment bits.
3121 * c-common.c (c_init_attributes): Optionally issue a warning for
3122 zero alignment.
3123
04864ec8
MS
31242018-11-28 Martin Sebor <msebor@redhat.com>
3125
3126 PR c/88065
3127 PR c/87297
3128 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3129 or destination is an error.
3130
ace83db0
JJ
31312018-11-28 Jakub Jelinek <jakub@redhat.com>
3132
3133 PR c++/88215
3134 * c-ubsan.c: Include langhooks.h.
3135 (ubsan_instrument_division): Change gcc_assert that main variants
3136 of op0 and op1 types are equal to gcc_checking_assert that the
3137 main variants are compatible types.
3138
da193a27
EB
31392018-11-27 Eric Botcazou <ebotcazou@adacore.com>
3140
3141 * c-ada-spec.c: Include stringpool.h.
3142 (has_static_fields): Return false for incomplete types.
3143 (is_tagged_type): Likewise.
3144 (has_nontrivial_methods): Likewise.
3145 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3146 (struct overloaded_name_hash): New structure.
3147 (struct overloaded_name_hasher): Likewise.
3148 (overloaded_names): New global variable.
3149 (init_overloaded_names): New static function.
3150 (overloaded_name_p): New predicate.
3151 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3152 on the TYPE_STUB_DECL of the original type of a typedef, if any.
3153 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3154 Remove always-true condition and dump forward types.
3155 (dump_ada_specs): Delete overloaded_names.
3156
98f08eb8
MS
31572018-11-20 Martin Sebor <msebor@redhat.com>
3158
3159 * c-attribs.c (type_for_vector_size): New function.
3160 (type_valid_for_vector_size): Same.
3161 (handle_vector_size_attribute): Move code to the functions above
3162 and call them.
3163 (validate_attribute, has_attribute): New functions.
3164 * c-common.h (has_attribute): Declare.
3165 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3166 * c-common.c (c_common_resword): Same.
3167
2674fa47
JM
31682018-11-16 Jason Merrill <jason@redhat.com>
3169
3170 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3171 * c-attribs.c (attr_cold_hot_exclusions): Make public.
3172
258b3854
JJ
31732018-11-16 Jakub Jelinek <jakub@redhat.com>
3174
3175 PR middle-end/87854
3176 * c-common.c (fix_string_type): Reject string literals larger than
3177 TYPE_MAX_VALUE (ssizetype) bytes.
3178
1d249509
MS
31792018-11-15 Martin Sebor <msebor@redhat.com>
3180
3181 PR c++/87541
3182 PR c++/87542
3183 * c-attribs.c (positional_argument): New function.
3184 (handle_alloc_size_attribute): Use it and simplify.
3185 (handle_alloc_align_attribute): Same.
3186 (handle_assume_aligned_attribute): Same.
3187 (handle_nonnull_attribute): Same.
3188 * c-common.c (check_function_arguments): Pass fntype to
3189 check_function_format.
3190 * c-common.h (check_function_format): Add an argument.
3191 (PosArgFlags, positional_argument): Declare new type and function.
3192 * c-format.c (decode_format_attr): Add arguments.
3193 (check_format_string, get_constant): Same.
3194 (convert_format_name_to_system_name): Adjust.
3195
478dd60d
DM
31962018-11-15 David Malcolm <dmalcolm@redhat.com>
3197
3198 PR other/19165
3199 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3200
8cca0163
JJ
32012018-11-14 Jakub Jelinek <jakub@redhat.com>
3202
8ee09943
JJ
3203 P1236R1 - Signed integers are two's complement
3204 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3205 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3206 with in-range second operand well defined for -std=c++2a.
3207
8cca0163
JJ
3208 PR other/88007
3209 * c-common.c (parse_optimize_options): Allocate option string from
3210 opts_obstack rather than as GC memory. Move the allocation after
3211 warning for invalid option.
3212
620e594b
DM
32132018-11-13 David Malcolm <dmalcolm@redhat.com>
3214
3215 * c-common.c (c_get_substring_location): Update for renaming of
3216 get_source_location_for_substring to get_location_within_string.
3217 * c-lex.c: Replace "source_location" with "location_t".
3218 * c-opts.c: Likewise.
3219 * c-ppoutput.c: Likewise.
3220
f9731de3
MS
32212018-11-13 Martin Sebor <msebor@redhat.com>
3222
3223 PR middle-end/81824
3224 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3225 (handle_tls_model_attribute): Improve diagnostics.
3226
e4bd6d5e
JM
32272018-11-12 Jason Merrill <jason@redhat.com>
3228
a6bb6b07
JM
3229 * c-cppbuiltin.c (c_cpp_builtins): Define
3230 __cpp_impl_destroying_delete.
3231
e4bd6d5e
JM
3232 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3233 __cpp_conditional_explicit.
3234
79a2c428
MS
32352018-11-09 Martin Sebor <msebor@redhat.com>
3236
3237 PR middle-end/81824
3238 * c-attribs.c (handle_copy_attribute): New function.
3239
4c7bd361
MS
32402018-11-09 Martin Sebor <msebor@redhat.com>
3241
3242 PR c/87795
3243 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3244
28567c40
JJ
32452018-11-08 Jakub Jelinek <jakub@redhat.com>
3246
3247 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3248 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3249 enum omp_memory_order MEMORY_ORDER.
3250 (c_finish_omp_flush): Add MO argument.
3251 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3252 (c_finish_omp_for): Add FINAL_P argument.
3253 * c-omp.c: Include memmodel.h.
3254 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3255 OMP_TASKGROUP_CLAUSES to it.
3256 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3257 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3258 instead of OMP_ATOMIC_SEQ_CST.
3259 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3260 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3261 __atomic_thread_fence call with the given value.
3262 (check_omp_for_incr_expr): Formatting fixes.
3263 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3264 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3265 is not constant expression 1 or -1. Transform NE_EXPR loops
3266 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3267 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3268 loops too.
3269 (c_omp_split_clauses): Add support for combined
3270 #pragma omp parallel master and
3271 #pragma omp {,parallel }master taskloop{, simd} constructs.
3272 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3273 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3274 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3275 (c_omp_predetermined_sharing): Don't return
3276 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3277 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3278 PRAGMA_OMP_REQUIRES.
3279 * c-pragma.h (enum pragma_kind): Likewise.
3280 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3281 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3282
204839e7
DM
32832018-11-08 David Malcolm <dmalcolm@redhat.com>
3284
3285 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3286
d8010ee4
DM
32872018-11-08 David Malcolm <dmalcolm@redhat.com>
3288
3289 * c-format.c (local_cgraph_node_ptr_node): New variable.
3290 (gcc_dump_printf_char_table): Add entry for %C.
3291 (get_pointer_to_named_type): New function, taken from the handling
3292 code for "gimple *" from...
3293 (init_dynamic_diag_info): ...here. Add handling for
3294 "cgraph_node *".
3295 * c-format.h (T_CGRAPH_NODE): New.
3296
4be5c72c
JM
32972018-10-19 Jason Merrill <jason@redhat.com>
3298
3299 * c-cppbuiltin.c (c_cpp_builtins): Add
3300 __cpp_nontype_template_parameter_class.
3301
f3f6029d
NS
33022018-10-31 Nathan Sidwell <nathan@acm.org>
3303
ab5324fb
NS
3304 * c-opts.c (c_finish_options): Force command line macro
3305 location. Refactor to avoid repeating main debug hook.
3306 (push_command_line_include): Clarify comment.
3307
f3f6029d
NS
3308 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3309
91e3ec29
MS
33102018-10-30 Martin Sebor <msebor@redhat.com>
3311
3312 PR middle-end/87041
3313 * c-format.c (check_format_types): Avoid diagnosing null pointer
3314 arguments to printf-family of functions.
3315
b5ff4f5c
MP
33162018-10-30 Marek Polacek <polacek@redhat.com>
3317
3318 Implement P0892R2, explicit(bool).
3319 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3320
7e2de6df
DM
33212018-10-29 David Malcolm <dmalcolm@redhat.com>
3322
3323 * name-hint.h (name_hint::take_deferred): New member function.
3324
b2bf438c
DM
33252018-10-29 David Malcolm <dmalcolm@redhat.com>
3326
3327 PR c++/56856
3328 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3329 argument.
3330 (check_function_restrict): Rename param "argarray" to
3331 "unfolded_argarray", and make a copy named "argarray", calling
3332 fold_for_warn on each argument.
3333 (check_function_arguments): Add note about responsibility for
3334 folding the arguments.
3335
9f936c86
JM
33362018-10-17 Joseph Myers <joseph@codesourcery.com>
3337
3338 * c-common.c (flag_isoc2x): New variable.
3339 * c-common.h (clk_c): Update comment to reference C2X.
3340 (flag_isoc99, flag_isoc11): Update comments to reference future
3341 standard versions in general.
3342 (flag_isoc2x): Declare.
3343 * c-opts.c (set_std_c2x): New function.
3344 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3345 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3346 flag_isoc2x to 0.
3347 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3348
7a8a92c4
JM
33492018-10-17 Joseph Myers <joseph@codesourcery.com>
3350
3351 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3352 (std=iso9899:2018): Document C17 as published in 2018.
3353
4dc003ff
CL
33542018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
3355
3356 PR c++/87364
3357 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3358
79371671
WW
33592018-10-11 Will Wray <wjwray@gmail.com>
3360
3361 PR c++/87364
3362 * c-pretty-print.h (pp_c_type_cast): Prototype.
3363 (pp_c_integer_constant): Likewise.
3364 * c-pretty-print.c (pp_c_type_cast): No longer static.
3365 (pp_c_integer_constant): Likewise.
3366 (pp_c_enumeration_constant): Fix loop termination when finding
3367 name of constant. No longer returns a value. Call
3368 pp_c_integer_constant.
3369 (c_pretty_printer::constant): Update for changes to
3370 pp_c_enumeration_constant.
3371
46c62690
JJ
33722018-10-11 Jakub Jelinek <jakub@redhat.com>
3373
3374 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3375 for no_unique_address.
3376
c24300ba
DM
33772018-10-09 David Malcolm <dmalcolm@redhat.com>
3378
3379 * c-common.c (c_option_controlling_cpp_error): Rename to...
3380 (c_option_controlling_cpp_diagnostic): ...this, and convert
3381 "reason" from int to enum.
3382 (c_cpp_error): Rename to...
3383 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3384 * c-common.h (c_cpp_error): Rename to...
3385 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3386 * c-opts.c (c_common_init_options): Update for renaming.
3387
8656dafa
RS
33882018-10-08 Richard Sandiford <richard.sandiford@arm.com>
3389
3390 PR c/87286
3391 * c-common.c (vector_types_compatible_elements_p): Use
3392 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3393
8cff0652
VK
33942018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
3395
3396 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3397 to generate constructor destructor priority warning.
3398 * c.opt (-Wprio-ctor-dtor): New option.
3399
bedf03a2
JM
34002018-10-01 Jason Merrill <jason@redhat.com>
3401
3402 * c-lex.c (c_common_has_attribute): Add no_unique_address.
3403
6cc430c1
EB
34042018-10-01 Eric Botcazou <ebotcazou@adacore.com>
3405
3406 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3407 (dump_ada_node): Add const keyword.
3408
87677ac7
ML
34092018-09-25 Martin Liska <mliska@suse.cz>
3410
3411 * c-common.c (c_common_truthvalue_conversion):
3412 Remove Pascal from documentation.
3413
518196cb
EB
34142018-09-21 Eric Botcazou <ebotcazou@adacore.com>
3415
3416 * c-ada-spec.c: Include diagnostic.h.
3417 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3418
a599af84
MP
34192018-09-19 Marek Polacek <polacek@redhat.com>
3420
3421 * c.opt (Wclass-conversion): New.
3422
9c4a4b3c
DM
34232018-09-17 David Malcolm <dmalcolm@redhat.com>
3424
3425 * c-format.c (range_label_for_format_type_mismatch::get_text):
3426 Update for new param.
3427
c896ecfe
DM
34282018-09-17 David Malcolm <dmalcolm@redhat.com>
3429
3430 * c-format.c (format_warning_at_char): Update for introduction of
3431 format_string_diagnostic_t.
3432 (format_type_warning): Likewise.
3433
80c6d1f4
MJ
34342018-09-17 Martin Jambor <mjambor@suse.cz>
3435
3436 PR c/63886
3437 * c.opt (Wabsolute-value): New.
3438
6d900107
BE
34392018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
3440
3441 * c-common.c (complete_flexible_array_elts): New helper function.
3442 * c-common.h (complete_flexible_array_elts): Declare.
3443
b5764229
BE
34442018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3445
3446 * c-common.c (braced_list_to_string): Remove eval parameter.
3447 Add some more checks. Always create zero-terminated STRING_CST.
3448 * c-common.h (braced_list_to_string): Adjust prototype.
3449
85204e23
DM
34502018-08-27 David Malcolm <dmalcolm@redhat.com>
3451
3452 PR 87091
3453 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3454 to a tri-state.
3455 (maybe_suggest_missing_token_insertion): Likewise.
3456 (maybe_add_include_fixit): Add param "override_location". If set,
3457 and source-printing is enabled, then override the rich_location's
3458 primary location with that of the insertion point for the fix-it
3459 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3460 * c-common.h (extern void maybe_add_include_fixit): Add bool
3461 param.
3462 * c-format.c (selftest::test_type_mismatch_range_labels): Update
3463 for conversion of show_caret_p to a tri-state.
3464 * c-warn.c (warn_for_restrict): Likewise.
3465 * known-headers.cc
3466 (suggest_missing_header::~suggest_missing_header): Update call to
3467 maybe_add_include_fixit to suggest overriding the location, as it
3468 is for a note.
3469
3d78e008
ML
34702018-08-27 Martin Liska <mliska@suse.cz>
3471
3472 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
3473 fndecl_built_in_p and remove check for FUNCTION_DECL if
3474 possible.
3d78e008
ML
3475 (check_builtin_function_arguments): Likewise.
3476 (reject_gcc_builtin): Likewise.
3477 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3478
b5be6d0c
MP
34792018-08-26 Marek Polacek <polacek@redhat.com>
3480
3481 PR c++/87029, Implement -Wredundant-move.
3482 * c.opt (Wredundant-move): New option.
3483
79ca9c35
MP
34842018-08-21 Marek Polacek <polacek@redhat.com>
3485
3486 PR c++/86981, Implement -Wpessimizing-move.
3487 * c.opt (Wpessimizing-move): New option.
3488
097f82ec
DM
34892018-08-20 David Malcolm <dmalcolm@redhat.com>
3490
3491 PR other/84889
3492 * c-attribs.c (common_handle_aligned_attribute): Add
3493 auto_diagnostic_group instance.
3494 * c-indentation.c (warn_for_misleading_indentation): Likewise.
3495 * c-opts.c (c_common_post_options): Likewise.
3496 * c-warn.c (warn_logical_not_parentheses): Likewise.
3497 (warn_duplicated_cond_add_or_warn): Likewise.
3498 (warn_for_multistatement_macros): Likewise.
3499
3fb558b1
NS
35002018-08-20 Nathan Sidwell <nathan@acm.org>
3501
3502 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3503 access.
3504
800c0e98
NS
35052018-08-17 Nathan Sidwell <nathan@acm.org>
3506
3507 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3508 field.
3509 (laxy_hex_fp_value_count): Make unsigned.
3510 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
3511 manipulate the macro.
3512 (builtin_defin_with_hex_fp_value): Adjust callback name, use
3513 cpp_define_lazily.
3514
6f795a92
DM
35152018-08-17 David Malcolm <dmalcolm@redhat.com>
3516
3517 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3518 (gcc_dump_printf_length_specs): New.
3519 (gcc_dump_printf_flag_pairs): New.
3520 (gcc_dump_printf_flag_specs): New.
3521 (gcc_dump_printf_char_table): New.
3522 (format_types_orig): Add entry for "gcc_dump_printf".
3523 (init_dynamic_diag_info): Set up length_char_specs and
3524 conversion_specs for gcc_dump_printf_format_type.
3525 (handle_format_attribute): Handle gcc_dump_printf_format_type.
3526
c5d725c0
NS
35272018-08-17 Nathan Sidwell <nathan@acm.org>
3528
10f04917
NS
3529 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3530
c5d725c0
NS
3531 * c-ada-spec.c: Don't #include "cpp-id-data.h"
3532 * c-cppbuiltin.c: Likewise.
3533
c0c12356
ML
35342018-08-17 Martin Liska <mliska@suse.cz>
3535
3536 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
3537 Ignore/Deprecated flag. Warning is done automatically for
3538 Deprecated flags.
c0c12356 3539
10fcc142
DM
35402018-08-16 David Malcolm <dmalcolm@redhat.com>
3541
3542 PR c++/70693
3543 * c-common.c (selftest::c_family_tests): Call
3544 selftest::c_indentation_c_tests.
3545 * c-common.h (selftest::c_indentation_c_tests): New decl.
3546 * c-indentation.c: Include "selftest.h".
3547 (next_tab_stop): Add "tab_width" param, rather than accessing
3548 cpp_opts.
3549 (get_visual_column): Likewise. Clarify comment. Bulletproof
3550 against reading past the end of the line.
3551 (get_first_nws_vis_column): Add "tab_width" param.
3552 (detect_intervening_unindent): Likewise.
3553 (should_warn_for_misleading_indentation): Read tab width from
3554 cpp_opts and pass around.
3555 (selftest::test_next_tab_stop): New test.
3556 (selftest::assert_get_visual_column_succeeds): New function.
3557 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3558 (selftest::assert_get_visual_column_fails): New function.
3559 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3560 (selftest::test_get_visual_column): New test.
3561 (selftest::c_indentation_c_tests): New function.
3562
3f6677f4
NS
35632018-08-16 Nathan Sidwell <nathan@acm.org>
3564
3565 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3566 (store_ada_macro): Likewise.
3567 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3568 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3569
96e6ae57
DM
35702018-08-15 David Malcolm <dmalcolm@redhat.com>
3571
3572 * c-format.c: Include "selftest-diagnostic.h" and
3573 "gcc-rich-location.h".
3574 (format_warning_at_char): Pass NULL for new label params of
3575 format_warning_va.
3576 (class indirection_suffix): New class.
3577 (class range_label_for_format_type_mismatch): New class.
3578 (format_type_warning): Move logic for generating "*" suffix to
3579 class indirection_suffix. Create "fmt_label" and "param_label"
3580 to show their types, and pass them to the
3581 format_warning_at_substring calls.
3582 (selftest::test_type_mismatch_range_labels): New test.
3583 (selftest::c_format_c_tests): Call it.
3584
23aa9f7c
MS
35852018-08-13 Martin Sebor <msebor@redhat.com>
3586
3587 PR tree-optimization/71625
3588 * c-common.c (braced_list_to_string): New function.
3589 * c-common.h (braced_list_to_string): Declare it.
3590
f10a9135
NS
35912018-08-08 Nathan Sidwell <nathan@acm.org>
3592
3593 * c-common.c (try_to_locate_new_include_inertion_point): Use
3594 linemap_included_from_linemap.
3595 * c-lex.c (fe_file_change): Use linemap_included_from.
3596 * c-ppoutput.c (pp_file_change): Likewise.
3597
8a45b051
MS
35982018-08-01 Martin Sebor <msebor@redhat.com>
3599
3600 PR tree-optimization/86650
ab20d992 3601 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
3602 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
3603 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
3604 * c-format.h (T89_G): Update to be "gimple *" rather than
3605 "gcall *".
3606 (local_gcall_ptr_node): Rename...
3607 (local_gimple_ptr_node): ...to this.
3608
e540ccc0
DM
36092018-07-31 David Malcolm <dmalcolm@redhat.com>
3610
3611 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
3612 table entries for gcc_diag_char_table, and the 'Z' entry from
3613 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
3614 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
3615 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
3616 adding missing "Z" for this table. Remove erroneous "G" and "K"
3617 entries.
3618 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3619 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
3620 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3621
425fc685
RE
36222018-07-31 Richard Earnshaw <rearnsha@arm.com>
3623
3624 * c-common.c (speculation_safe_resolve_call): New function.
3625 (speculation_safe_resolve_params): New function.
3626 (speculation_safe_resolve_return): New function.
3627 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
3628 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
3629 __HAVE_SPECULATION_SAFE_VALUE.
3630
181463c2
DM
36312018-07-20 David Malcolm <dmalcolm@redhat.com>
3632
3633 * c-common.c (c_cpp_error): Remove redundant "line_table"
3634 parameter from call to rich_location::set_range.
3635 (maybe_suggest_missing_token_insertion): Likewise.
3636
0d7f9065
MS
36372018-07-20 Martin Sebor <msebor@redhat.com>
3638
3639 PR middle-end/82063
ab20d992 3640 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 3641
00abf86c
MS
36422018-07-20 Martin Sebor <msebor@redhat.com>
3643
3644 PR middle-end/82063
3645 * c-common.h (c_common_handle_option): Change function argument
3646 to HOST_WIDE_INT.
3647 * c-opts.c (c_common_init_options): Same.
3648 (c_common_handle_option): Same. Remove special handling of
3649 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
3650 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
3651 options to take a HOST_WIDE_INT argument and accept a byte-size
3652 suffix. Initialize.
3653 (-Wvla-larger-than): Same.
3654 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
3655 (-Wno-vla-larger-than): Same.
3656
9b452033
JJ
36572018-07-12 Jakub Jelinek <jakub@redhat.com>
3658
3659 * c-attribs.c (c_common_attribute_table): Add
3660 "omp declare target implicit" attribute.
3661
cd0762f3
RB
36622018-07-12 Richard Biener <rguenther@suse.de>
3663
3664 PR c/86453
3665 * c-attribs.c (handle_packed_attribute): Do not build a variant
3666 type with TYPE_PACKED, instead ignore the attribute if we may
3667 not apply to the original type.
3668
0b27c3ed
JJ
36692018-07-10 Jakub Jelinek <jakub@redhat.com>
3670
3671 PR c++/86443
3672 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
3673 to contain TREE_LIST for both the original class iterator and the
3674 "last" helper var.
3675
e730a0ef
EB
36762018-07-07 Eric Botcazou <ebotcazou@adacore.com>
3677
3678 * c-ada-spec.c (to_ada_name): Remove index parameter.
3679 (pp_ada_tree_identifier): Likewise.
3680 (dump_ada_macros): Adjust call to to_ada_name.
3681 (struct overloaded_name_hash): Delete.
3682 (struct overloaded_name_hasher): Likewise.
3683 (overloaded_names): Likewise.
3684 (compute_overloading_index): Likewise.
3685 (dump_ada_decl_name): Do not call compute_overloading_index and
3686 adjust calls to pp_ada_tree_identifier.
3687 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3688 (dump_ada_import): Add spc parameter and switch to aspect syntax.
3689 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
3690 (dump_ada_enum_type): Remove type and display_convention parameters.
3691 Adjust calls to pp_ada_tree_identifier.
3692 (dump_ada_node): Likewise and for dump_ada_structure.
3693 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
3694 and tidy up.
3695 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
3696 syntax.
3697 (print_constructor): Adjust call to pp_ada_tree_identifier.
3698 (print_destructor): Likewise.
3699 (dump_ada_declaration): Switch to aspect syntax.
3700 (dump_ada_structure): Likewise and tidy up. Replace display_convention
3701 parameter with nested parameter.
3702 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
3703 (dump_ada_specs): Do not delete overloaded_names table.
3704
8de583fc
PB
37052018-07-06 Peter Bergner <bergner@linux.ibm.com>
3706
3707 PR target/86324
e730a0ef 3708 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
3709 target hook.
3710
09cff37b
NS
37112018-07-05 Nathan Sidwell <nathan@acm.org>
3712
3713 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
3714 NO_IMPLICIT_EXTERN_C.
3715
98086b2b
ML
37162018-06-28 Martin Liska <mliska@suse.cz>
3717
3718 * cppspec.c: Include opt-suggestions.h.
3719
ab20d992
JJ
37202018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3721 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
3722 Cesar Philippidis <cesar@codesourcery.com>
3723
3724 * c-pragma.h (enum pragma_omp_clause): Add
3725 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
3726 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
3727
f41b7612
JJ
37282018-06-20 Jakub Jelinek <jakub@redhat.com>
3729
3730 PR c++/86210
3731 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
3732 comment.
3733
4252ccd7
MS
37342018-06-18 Martin Sebor <msebor@redhat.com>
3735
3736 PR middle-end/85602
3737 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
3738 nonstring.
3739
e197e64e
KV
37402018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
3741
3742 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
3743
34a7a230
JM
37442018-06-13 Jason Merrill <jason@redhat.com>
3745
5cef3733
JM
3746 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
3747 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
3748 handling.
3749
34a7a230
JM
3750 PR c++/86094 - wrong code with defaulted move ctor.
3751 * c-opts.c (c_common_post_options): Bump the current ABI version to
3752 13. Set warn_abi_version and flag_abi_compat_version to the current
3753 version rather than 0. Fix defaulting flag_abi_compat_version from
3754 warn_abi_version.
3755
bb0f14ae
MS
37562018-06-12 Martin Sebor <msebor@redhat.com>
3757
3758 PR c/85931
3759 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
3760 sizeof source and destination yields the same value.
3761
3713f2e2
ML
37622018-06-12 Martin Liska <mliska@suse.cz>
3763
3764 * c.opt: Make MPX-related options as Deprecated.
3765
4af78ef8
DM
37662018-06-08 David Malcolm <dmalcolm@redhat.com>
3767
3768 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
3769 rather than 0.
3770
31db0fe0
ML
37712018-06-08 Martin Liska <mliska@suse.cz>
3772
3773 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
3774 for MPX (macros, related functions, fields in cgraph_node, ...).
3775 (handle_bnd_legacy): Likewise.
3776 (handle_bnd_instrument): Likewise.
3777 * c.opt: Likewise.
3778
fe16acf2
JJ
37792018-06-06 Jakub Jelinek <jakub@redhat.com>
3780
3781 PR c++/86068
3782 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
3783 __cpp_transactional_memory to 201500 instead of 210500.
3784
4dbdb49b
JM
37852018-06-06 Jason Merrill <jason@redhat.com>
3786
3787 PR c++/85710 - ICE with -Wmemset-elt-size.
3788 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
3789
f8ad043f
JM
37902018-06-01 Jason Merrill <jason@redhat.com>
3791
3792 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
3793 201703.
3794
abc24d93
EB
37952018-06-01 Eric Botcazou <ebotcazou@adacore.com>
3796
3797 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
3798 declaration for a typedef independently of whether the declaration of
3799 the subtype is generated.
3800
d258f4aa
MS
38012018-05-31 Martin Sebor <msebor@redhat.com>
3802
3803 PR c/82063
3804 * c.opt (-Wno-alloc-size-larger-than): New option.
3805
b67b9225
DP
38062018-04-22 David Pagan <dave.pagan@oracle.com>
3807
3808 PR c/55976
3809 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 3810 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
3811 differentiate between default (no option), -Wreturn-type, and
3812 -Wno-return-type.
3813
04eb9c55
JM
38142018-05-29 Jason Merrill <jason@redhat.com>
3815
3816 * c.opt (Winit-list-lifetime): New flag.
3817
b0c31bc6
BE
38182018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3819
3820 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
3821 splay_tree_delete_pointers.
3822
44284983
JJ
38232018-05-26 Jakub Jelinek <jakub@redhat.com>
3824
3825 PR bootstrap/85921
3826 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
3827 noinline variable to workaround broken kernel headers.
3828
b46b715d
JM
38292018-05-18 Jason Merrill <jason@redhat.com>
3830
3831 * c.opt (Wdeprecated-copy): New flag.
3832
40659769
ML
38332018-05-17 Martin Liska <mliska@suse.cz>
3834
3835 * c-warn.c (overflow_warning): Do not use
3836 space in between 'G_' and '('.
3837
403962ea
JM
38382018-05-09 Jason Merrill <jason@redhat.com>
3839
3840 * c-common.c (valid_array_size_p): Add complain parameter.
3841 * c-common.h: ...which defaults to true.
3842
1c9ee609
JJ
38432018-05-11 Jakub Jelinek <jakub@redhat.com>
3844
3845 PR c/85696
3846 * c-omp.c (c_omp_predetermined_sharing): Return
3847 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
3848
19916065
ML
38492018-05-11 Martin Liska <mliska@suse.cz>
3850
92a285c1 3851 PR sanitizer/85556
19916065
ML
3852 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
3853 TREE_LIST values.
3854
79e7b1fe
JJ
38552018-05-10 Jakub Jelinek <jakub@redhat.com>
3856
3857 PR c++/85662
3858 * c-common.h (fold_offsetof_1): Removed.
3859 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
3860 CTX argument defaulted to ERROR_MARK.
3861 * c-common.c (fold_offsetof_1): Renamed to ...
3862 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
3863 argument, convert the pointer constant to TYPE and use size_binop
3864 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
3865 a pointer type. Adjust recursive calls.
3866
86c12f76
EB
38672018-05-10 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 PR c++/85400
3870 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
3871
ee336e84
NS
38722018-05-07 Nathan Sidwell <nathan@acm.org>
3873
3874 * c.opt (ffor-scope): Remove functionality, issue warning.
3875
6c072e21
NS
38762018-05-03 Nathan Sidwell <nathan@acm.org>
3877
3878 * c.opt (ffriend-injection): Remove functionality, issue warning.
3879
2cc7d3a7
DM
38802018-05-01 David Malcolm <dmalcolm@redhat.com>
3881
3882 PR c/84258
3883 * c-format.c (struct format_check_results): Add field
3884 "number_non_char".
3885 (check_format_info): Initialize it, and warn if encountered.
3886 (check_format_arg): Distinguish between wide char and
3887 everything else when detecting arrays of non-char.
3888
7761dfbe
DM
38892018-04-30 David Malcolm <dmalcolm@redhat.com>
3890
3891 * c-format.c (get_corrected_substring): Update for
3892 location_get_source_line returning a char_span. Use a char_span
3893 when handling the prefix of the correction.
3894 * c-indentation.c (get_visual_column): Update for
3895 location_get_source_line returning a char_span.
3896 (get_first_nws_vis_column): Likewise.
3897
62e98ef1
DM
38982018-03-29 David Malcolm <dmalcolm@redhat.com>
3899
3900 PR c++/84269
3901 * known-headers.cc (get_stdlib_header_for_name): Add various names
3902 from <assert.h>, <string.h>, and <memory.h>; add more names from
3903 <stdio.h>.
3904
a7dea617
JJ
39052018-03-27 Jakub Jelinek <jakub@redhat.com>
3906
3907 PR c++/85061
3908 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
3909 get_base_address of the second operand is a VAR_P, rather than the
3910 operand itself, and use gcc_checking_assert instead of gcc_assert.
3911
889a3a30
MP
39122018-03-23 Marek Polacek <polacek@redhat.com>
3913
3914 PR c++/85045
3915 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
3916 <case RDIV_EXPR>: Tweak condition.
3917
452154b9
EB
39182018-03-20 Eric Botcazou <ebotcazou@adacore.com>
3919
3920 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
3921
63ecb626
JJ
39222018-03-16 Jakub Jelinek <jakub@redhat.com>
3923
ce811fc4
JJ
3924 PR c/84909
3925 * c-warn.c (conversion_warning): Replace "to to" with "to" in
3926 diagnostics.
3927
63ecb626
JJ
3928 PR c/84910
3929 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
3930 diagnostics.
3931
a1295eec
RB
39322018-03-16 Richard Biener <rguenther@suse.de>
3933
3934 PR c/84873
3935 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
3936 unshare the possibly folded expression.
3937
919674fb
RB
39382018-03-15 Richard Biener <rguenther@suse.de>
3939
3940 PR c/84873
3941 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
3942
f99309b2
MS
39432018-03-13 Martin Sebor <msebor@redhat.com>
3944
3945 PR tree-optimization/84725
3946 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
3947 with all three narrow character types, including their qualified forms.
3948
e9b9fa4c
MS
39492018-03-12 Martin Sebor <msebor@redhat.com>
3950
3951 PR tree-optimization/83456
ab20d992 3952 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
3953 Restore checking of bounded built-in functions.
3954 (check_function_arguments): Also return the result
3955 of warn_for_restrict.
ab20d992
JJ
3956 * c-common.c (check_function_restrict): Return bool.
3957 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 3958
0805d020
MP
39592018-03-02 Marek Polacek <polacek@redhat.com>
3960
3961 PR c++/84171
3962 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
3963 is erroneous.
3964
ed2a2f08
TS
39652018-03-02 Thomas Schwinge <thomas@codesourcery.com>
3966
3967 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
3968 function".
3969
90abdde0
MP
39702018-03-01 Marek Polacek <polacek@redhat.com>
3971
3972 PR c++/84639
3973 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
3974 alignment in computation.
3975
c6db43fa
EB
39762018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3977
3978 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
3979 <REAL_TYPE>: Deal specifically with _Float128/__float128.
3980
9e25c7ed
EB
39812018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3982
3983 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
3984 (is_char_array): Take a type instead of a declaration.
3985 (dump_ada_array_type): Likewise.
3986 (is_simple_enum): Minor tweak.
3987 (dump_ada_enum_type): New function extracted from...
3988 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
3989 <INTEGER_TYPE>: Remove unreachable code.
3990 <RECORD_TYPE>: Likewise. Minor tweaks.
3991 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
3992 <ENUMERAL_TYPE>: New case.
3993 <RECORD_TYPE>: Factor out common code.
3994 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
3995 Minor tweaks. Deal with enumeral types.
3996 (dump_ada_structure): Minor tweaks.
3997
09de3550
EB
39982018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3999
4000 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4001 address for incomplete structures.
4002 (dump_forward_type): Do not bail out for incomplete structures.
4003 (dump_ada_declaration): Do not special-case incomplete structures
4004 for subtypes. Dump them as null records for types.
4005
095d8d4b
EB
40062018-02-28 Eric Botcazou <ebotcazou@adacore.com>
4007
4008 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4009 (is_char_array): Fix formatting.
4010 (dump_template_types): Likewise.
4011 (dump_generic_ada_node): Rename into...
4012 (dump_ada_node): ...this.
4013 <POINTER_TYPE>: Remove superfluous space. Use generic address for
4014 incomplete structures and not for empty structures. Do not use it
4015 when forward declarations are needed.
4016 (dump_forward_type): New function.
4017 (dump_nested_types): Remove FORWARD parameter. Do not consider
4018 TREE_VISITED and do not generate a forward declaration. Only dump
4019 original nested types for nested declaration.
4020 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4021 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4022 <RECORD_TYPE>: Do not consider TREE_VISITED.
4023 (dump_ada_declaration): Use booleans and fix formatting throughout.
4024 <TYPE_DECL>: Skip incomplete structures and not empty structures.
4025 Call dump_forward_type instead of dump_nested_types for a typedef.
4026 Remove superfluous check and adjust call to dump_nested_types.
4027 <POINTER_TYPE>: Call dump_forward_type and fall through.
4028 (dump_ada_struct_decl): Rename into...
4029 (dump_ada_structure): ...this. Do not special-case empty structures.
4030
d4cfd486
MS
40312018-02-27 Martin Sebor <msebor@redhat.com>
4032
4033 PR c++/83871
4034 * c.opt (-Wmissing-attributes): New option.
4035
b22dbd03
ML
40362018-02-21 Martin Liska <mliska@suse.cz>
4037
4038 * c.opt (Wcatch-value=): Add IntegerRange.
4039
883dfe2a
JM
40402018-02-15 Jason Merrill <jason@redhat.com>
4041
4042 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4043
0444aa9c
NS
40442018-02-09 Nathan Sidwell <nathan@acm.org>
4045
4046 PR c/84293
4047 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4048 arg.
4049 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4050 arg. Adjust.
4051
cea71f0a
MS
40522018-02-09 Martin Sebor <msebor@redhat.com>
4053
4054 PR lto/84212
4055 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4056 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4057 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4058 (-Wstrict-overflow, -Wsuggest-attribute): Same.
4059 (-Wuninitialized): Same.
4060
8c8b7be5
EB
40612018-02-09 Eric Botcazou <ebotcazou@adacore.com>
4062
4063 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4064 keyword for components.
4065
7c30b12a
PC
40662018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
4067
4068 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4069
eece7fe5
JK
40702018-02-02 Julia Koval <julia.koval@intel.com>
4071
4072 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4073
7d07a93a
MP
40742018-01-29 Marek Polacek <polacek@redhat.com>
4075
4076 PR c/83966
4077 * c-format.c (check_function_format): Check current_function_decl.
4078
53723269
JJ
40792018-01-27 Jakub Jelinek <jakub@redhat.com>
4080
4081 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4082 argument.
4083 (LAZY_HEX_FP_VALUES_CNT): Define.
4084 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4085 values rather than just 12.
4086 (builtin_define_with_hex_fp_value): Likewise.
4087
7365279f
BK
40882018-01-18 Boris Kolpackov <boris@codesynthesis.com>
4089
92a285c1
ML
4090 PR other/70268
4091 * c.opt (-fmacro-prefix-map): New option.
4092 * c-opts.c (c_common_handle_option): Handle it.
4093 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4094 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 4095
bb9869d5
DM
40962018-01-17 David Malcolm <dmalcolm@redhat.com>
4097
4098 PR c++/83814
4099 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4100
68dc87c3
EB
41012018-01-10 Eric Botcazou <ebotcazou@adacore.com>
4102
4103 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4104 Skip 'f' and 'F' characters if it is true.
4105 (store_ada_macro): Minor tweak.
4106 (dump_ada_macros) <CPP_COMMENT>: Likewise.
4107 <CPP_WSTRING>: Likewise.
4108 <CPP_STRING>: Output '&' in the buffer if not the first string.
4109 <CPP_NUMBER>: Adjust calls to dump_number.
4110
9a004410
DM
41112018-01-10 David Malcolm <dmalcolm@redhat.com>
4112
4113 PR c++/43486
4114 * c-common.c: Include "selftest.h".
4115 (get_atomic_generic_size): Perform the test for integral type
4116 before the range test for any integer constant, fixing indentation
4117 of braces. Call fold_for_warn before testing for an INTEGER_CST.
4118 (reject_gcc_builtin): Strip any location wrapper from EXPR.
4119 (selftest::test_fold_for_warn): New function.
4120 (selftest::c_common_c_tests): New function.
4121 (selftest::c_family_tests): Call it, and
4122 selftest::c_pretty_print_c_tests.
4123 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4124 * c-format.c (check_format_arg): Convert VAR_P check to a
4125 fold_for_warn.
4126 * c-pretty-print.c: Include "selftest.h".
4127 (pp_c_cast_expression): Don't print casts for location wrappers.
4128 (selftest::assert_c_pretty_printer_output): New function.
4129 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4130 (selftest::test_location_wrappers): New function.
4131 (selftest::c_pretty_print_c_tests): New function.
4132 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4133
5c0caeb3
RS
41342018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4135 Alan Hayward <alan.hayward@arm.com>
4136 David Sherwood <david.sherwood@arm.com>
4137
4138 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4139
73a699ae
RS
41402018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4141 Alan Hayward <alan.hayward@arm.com>
4142 David Sherwood <david.sherwood@arm.com>
4143
4144 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4145 as polynomial.
4146
928686b1
RS
41472018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
4148 Alan Hayward <alan.hayward@arm.com>
4149 David Sherwood <david.sherwood@arm.com>
4150
4151 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4152 (convert_vector_to_array_for_subscript): Handle polynomial
4153 TYPE_VECTOR_SUBPARTS.
4154 (c_common_type_for_mode): Check valid_vector_subparts_p.
4155 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4156 VECTOR_CST_NELTS.
4157
85ec4feb
JJ
41582018-01-03 Jakub Jelinek <jakub@redhat.com>
4159
4160 Update copyright years.
4161
170a8bd6 41622017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 4163 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
4164
4165 * c-pragma.c (init_pragma): Register pragma GCC unroll.
4166 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4167
ab20d992 41682017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
4169
4170 PR debug/83527
4171 PR debug/83419
4172 * c-semantics.c (only_debug_stmts_after_p): New.
4173 (pop_stmt_list): Clear side effects in debug-only stmt list.
4174 Check for single nondebug stmt followed by debug stmts only.
4175
c12d20d4
AO
41762017-12-21 Alexandre Oliva <aoliva@redhat.com>
4177
4178 PR debug/83419
4179 * c-semantics.c (pop_stmt_list): Propagate side effects from
4180 single nondebug stmt to container list.
4181
01512446
JJ
41822017-12-19 Jakub Jelinek <jakub@redhat.com>
4183
4184 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4185 conditions with typical order conditions.
4186
82cfbd01
MP
41872017-12-18 Marek Polacek <polacek@redhat.com>
4188
4189 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4190 not in effect.
4191
99da11ec
MS
41922017-12-17 Martin Sebor <msebor@redhat.com>
4193
4194 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4195 an error for attribute warn_if_not_aligned.
4196
cc8bea0a
MS
41972017-12-16 Martin Sebor <msebor@redhat.com>
4198
4199 PR tree-optimization/78918
4200 * c-common.c (check_function_restrict): Avoid checking built-ins.
4201 * c.opt (-Wrestrict): Include in -Wall.
4202
4849deb1
JJ
42032017-12-15 Jakub Jelinek <jakub@redhat.com>
4204
4205 * c-attribs.c (c_common_attribute_table,
4206 c_common_format_attribute_table): Swap affects_type_identity
4207 and handler fields, adjust comments.
4208
c65e18d3
BE
42092017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4210
4211 * c.opt (Wcast-function-type): New warning option.
4212 * c-lex.c (get_fileinfo): Avoid warning.
4213 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4214
2004617a
QZ
42152017-12-14 Qing Zhao <qing.zhao@oracle.com>
4216
7365279f 4217 PR middle_end/79538
2004617a
QZ
4218 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4219 Adjust the size of buf1 and buf2, add a new buf to avoid
4220 format-overflow warning.
4221
ab20d992 42222017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
4223
4224 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4225 subsequent statement list.
4226
5d9ae53d
MS
42272017-12-07 Martin Sebor <msebor@redhat.com>
4228
4229 PR c/81544
4230 PR c/81566
4231 * c-attribs.c (attr_aligned_exclusions): New array.
4232 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4233 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4234 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4235 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4236 (attr_warn_unused_result_exclusions): Same.
4237 (handle_hot_attribute, handle_cold_attribute): Simplify.
4238 (handle_const_attribute): Warn on function returning void.
4239 (handle_pure_attribute): Same.
4240 (handle_aligned_attribute): Diagnose conflicting attribute
4241 specifications.
4242 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4243
c79144f8
DM
42442017-12-06 David Malcolm <dmalcolm@redhat.com>
4245
4246 PR c/83236
4247 * c-common.c (selftest::c_family_tests): Call
4248 selftest::c_spellcheck_cc_tests.
4249 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4250 * c-spellcheck.cc: Include "selftest.h".
4251 (name_reserved_for_implementation_p): New function.
4252 (should_suggest_as_macro_p): New function.
4253 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4254 should_suggest_as_macro_p and call it.
4255 (selftest::test_name_reserved_for_implementation_p): New function.
4256 (selftest::c_spellcheck_cc_tests): New function.
4257 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4258
613bc14f
DM
42592017-12-06 David Malcolm <dmalcolm@redhat.com>
4260
4261 * c-spellcheck.cc: New file, taken from macro-handling code in
4262 spellcheck-tree.c.
4263 * c-spellcheck.h: New file, taken from macro-handling code in
4264 spellcheck-tree.h.
4265
e76c7157
JJ
42662017-12-01 Jakub Jelinek <jakub@redhat.com>
4267
4268 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4269 attribute.
4270 (handle_simd_attribute): Don't check for "cilk simd function"
4271 attribute. Reindent, formatting changes.
4272
b0da4034
JK
42732017-11-30 Julia Koval <julia.koval@intel.com>
4274
4275 * c-common.h (inv_list): Remove.
4276
058f0b9e
JJ
42772017-11-28 Jakub Jelinek <jakub@redhat.com>
4278
4279 PR sanitizer/81275
4280 * c-common.c (c_switch_covers_all_cases_p_1,
4281 c_switch_covers_all_cases_p): New functions.
4282 * c-common.h (c_switch_covers_all_cases_p): Declare.
4283
5e9d6aa4 42842017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4285 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4286
4287 * array-notation-common.c: Delete.
4288 * c-cilkplus.c: Ditto.
4289 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4290 * c-common.def (ARRAY_NOTATION_REF): Remove.
4291 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4292 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4293 c_validate_cilk_plus_loop, cilkplus_an_parts,
4294 cilk_ignorable_spawn_rhs_op,
4295 cilk_recognize_spawn): Remove.
4296 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4297 * c-omp.c: Remove CILK_SIMD check.
4298 * c-pragma.c: Ditto.
4299 * c-pragma.h: Remove CILK related pragmas.
4300 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4301 ARRAY_NOTATION_REF condition.
4302 (c_pretty_printer::expression): Ditto.
4303 * c.opt (fcilkplus): Remove.
4304 * cilk.c: Delete.
4305
1af4ebf5
MG
43062017-11-21 Marc Glisse <marc.glisse@inria.fr>
4307
4308 * c-pretty-print.c (pp_c_additive_expression,
4309 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4310
d44ed508
JJ
43112017-11-21 Jakub Jelinek <jakub@redhat.com>
4312
7d2f0f9b
JJ
4313 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4314
d44ed508
JJ
4315 PR c++/83059
4316 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4317 instead of tree_to_uhwi, formatting fix.
4318
26edace6
DM
43192017-11-20 David Malcolm <dmalcolm@redhat.com>
4320
4321 PR c/81404
4322 * known-headers.cc: New file, based on material from c/c-decl.c.
4323 (suggest_missing_header): Copied as-is.
4324 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4325 heavily edited to add C++ support. Add some knowledge about
4326 <limits.h>, <stdint.h>, and <wchar.h>.
4327 * known-headers.h: Likewise.
4328
6c7a259b
DM
43292017-11-20 David Malcolm <dmalcolm@redhat.com>
4330
4331 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4332 (lookup_name_fuzzy): Likewise. Convert return type from
4333 const char * to name_hint. Add location_t param.
4334 * name-hint.h: New header.
4335
f9c59f7e
JJ
43362017-11-19 Jakub Jelinek <jakub@redhat.com>
4337
4338 PR c/66618
4339 PR c/69960
4340 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4341
1e39313a
JM
43422017-11-16 Joseph Myers <joseph@codesourcery.com>
4343
4344 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4345 expected publication date of C17.
4346 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4347
3ca0dc60
JM
43482017-11-15 Joseph Myers <joseph@codesourcery.com>
4349
4350 PR c/81156
4351 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4352 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4353
025d57f0
MS
43542017-11-10 Martin Sebor <msebor@redhat.com>
4355
4356 PR c/81117
4357 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4358 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4359 * c.opt (-Wstringop-truncation): New option.
4360
1b6fa695
ML
43612017-11-06 Martin Liska <mliska@suse.cz>
4362
4363 PR middle-end/82404
4364 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4365 FE.
4366 * c.opt: Set default value of warn_return_type.
4367
64a5912c
DM
43682017-10-31 David Malcolm <dmalcolm@redhat.com>
4369
4370 * c-common.c (binary_op_error): Update for renaming of
4371 error_at_rich_loc.
4372 (c_parse_error): Likewise.
4373 * c-warn.c (warn_logical_not_parentheses): Likewise for
4374 renaming of inform_at_rich_loc.
4375 (warn_for_restrict): Likewise for renaming of
4376 warning_at_rich_loc_n.
4377
c76dc9c3
JM
43782017-10-30 Joseph Myers <joseph@codesourcery.com>
4379
4380 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4381 * c-opts.c (set_std_c17): New function.
4382 (c_common_init_options): Use gnu17 as default C version.
4383 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4384
ee5fd23a
MM
43852017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
4386
4387 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4388 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4389 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4390 __FP_FAST_FMA<N>X.
4391
d1047465
MP
43922017-10-23 Marek Polacek <polacek@redhat.com>
4393
4394 PR c/82681
4395 * c-warn.c (warnings_for_convert_and_check): Fix typos.
4396
9e878cf1
EB
43972017-10-19 Eric Botcazou <ebotcazou@adacore.com>
4398
4399 * c-common.c (check_builtin_function_arguments): Also check arguments
4400 of __builtin_alloca_with_align_and_max.
4401
89b6abbb
DM
44022017-10-17 David Malcolm <dmalcolm@redhat.com>
4403
4404 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4405 rather than NULL to format_warning_va.
4406 (check_format_types): Likewise when calling format_type_warning.
4407 Remove code to extract source_ranges and source_range * in favor
4408 of just a location_t.
4409 (format_type_warning): Convert source_range * param to a
4410 location_t.
4411
39382c09
JJ
44122017-10-13 Jakub Jelinek <jakub@redhat.com>
4413
4414 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4415 [LR]SHIFT_EXPR.
4416
62e1c678
DM
44172017-10-12 David Malcolm <dmalcolm@redhat.com>
4418
4419 * c-common.c (enum missing_token_insertion_kind): New enum.
4420 (get_missing_token_insertion_kind): New function.
4421 (maybe_suggest_missing_token_insertion): New function.
4422 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4423
b90c9338
NS
44242017-10-11 Nathan Sidwell <nathan@acm.org>
4425
4426 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4427 (c_common_handle_option): Update incpath_kind names.
4428
3a266bcd
ML
44292017-10-11 Martin Liska <mliska@suse.cz>
4430
4431 PR sanitizer/82490
4432 * c-attribs.c (handle_no_sanitize_attribute): Report directly
4433 Wattributes warning.
4434
8e6cdc90
RS
44352017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
4436
4437 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4438 operating on trees as wide_ints.
4439 * c-common.c (pointer_int_sum): Likewise.
4440 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4441 * c-warn.c (match_case_to_enum_1): Likewise.
4442 (c_do_switch_warnings): Likewise.
4443 (maybe_warn_shift_overflow): Likewise.
4444
802b38c9
JJ
44452017-10-10 Jakub Jelinek <jakub@redhat.com>
4446
4447 PR c/82437
4448 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4449 instead of wide_int::from.
4450
4e34b338
JJ
44512017-10-06 Jakub Jelinek <jakub@redhat.com>
4452
4453 PR c/82437
4454 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4455 using to_widest use wide_int with the larger of the two precisions.
4456
4bc4b2b4
BE
44572017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4458
4459 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4460 functions.
4461
a1488398
RS
44622017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
4463
4464 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4465 when combining the original unconverted comparison operands.
4466
01c9fb68
JJ
44672017-09-29 Jakub Jelinek <jakub@redhat.com>
4468
4469 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4470 attribute.
4471
6e3e8419
EB
44722017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4473
4474 * c-ada-spec.c (to_ada_name): Add index parameter.
4475 (pp_ada_tree_identifier): Likewise.
4476 (dump_ada_macros): Adjust call to to_ada_name.
4477 (struct overloaded_name_hash): New type.
4478 (struct overloaded_name_hasher): Likewise.
4479 (overloaded_names): New hash table.
4480 (compute_overloading_index): New function.
4481 (dump_ada_decl_name): Call it and pass the result to
4482 pp_ada_tree_identifier.
4483 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4484 (dump_ada_function_declaration): Likewise.
4485 (dump_generic_ada_node): Likewise.
4486 (print_constructor): Likewise.
4487 (print_destructor): Likewise.
4488 (dump_ada_specs): Delete overloaded_names table.
4489
79310774
EB
44902017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4491
4492 * c-ada-spec.c (max_ada_macros): Move around.
4493 (store_ada_macro_index): Likewise.
4494 (source_file): Rename into...
4495 (macro_source_file): ...this.
4496 (count_ada_macro): Move around.
4497 (store_ada_macro): Likewise.
4498 (compare_macro): Likewise.
4499 (print_ada_macros): Merge in...
4500 (dump_ada_macros): ...this.
4501 (source_file_base): Rename into...
4502 (current_source_file): ...this.
4503 (print_comment): Move around.
4504 (dump_ada_nodes): Call dump_ada_declaration directly.
4505 (struct with): Change type of limited field to bool.
4506 (append_withs): Change type of limited_access parameter to bool.
4507 (pp_ada_tree_identifie): Likewise.
4508 (dump_ada_decl_nam): Likewise.
4509 (dump_generic_ada_node): Likewise. Do not print the return type.
4510 (to_ada_name): Change type of space_found parameter to bool.
4511 (dump_ada_function_declaration): Return void and change type of
4512 parameters to bool. Also print the return type for a function.
4513 (print_ada_methods): Rename into...
4514 (dump_ada_methods): ...this.
4515 (print_ada_declaration): Rename into ...
4516 (dump_ada_declaration): ...this. Do not print the return type.
4517 (print_ada_struct_decl): Rename into...
4518 (dump_ada_struct_decl): ...this.
4519
7d386d45
JJ
45202017-09-29 Jakub Jelinek <jakub@redhat.com>
4521
4522 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4523 rather than DECL_INITIAL.
4524 (common_handle_aligned_attribute): Likewise.
4525
ab20d992 45262017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
4527
4528 * c.opt (gen-decls): Add RejectNegative.
4529
026a79f7
AS
45302017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
4531 Jakub Jelinek <jakub@redhat.com>
4532
4533 Add support for -std=c++2a.
4534 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4535 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4536 * c-opts.c (set_std_cxx2a): New.
4537 (c_common_handle_option): Set options when -std=c++2a is enabled.
4538 (c_common_post_options): Adjust comments.
4539 (set_std_cxx14, set_std_cxx17): Likewise.
4540
4a8ca690
EB
45412017-09-15 Eric Botcazou <ebotcazou@adacore.com>
4542
4543 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4544 message for non-uniform endianness and issue a warning in C++.
4545
7b936140
JJ
45462017-09-15 Jakub Jelinek <jakub@redhat.com>
4547
4548 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4549 (Wc++17-compat): Change from undocumented alias to option.
4550 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4551 change C++1z to C++17 in description.
4552 (std=c++1z, std=gnu++1z): Change from option to undocumented
4553 deprecated alias.
4554 (std=c++17, std=gnu++17): Change from undocumented alias to option.
4555 Adjust description.
4556 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4557 * c-opts.c (set_std_cxx1z): Rename to ...
4558 (set_std_cxx17): ... this.
4559 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4560 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 4561 caller.
7b936140
JJ
4562 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
4563 comments.
4564
12263f13
L
45652017-09-12 H.J. Lu <hongjiu.lu@intel.com>
4566
4567 * c-attribs.c (common_handle_aligned_attribute): Don't warn
4568 function alignment if warn_if_not_aligned_p is true.
4569
6836632e
NS
45702017-09-12 Nathan Sidwell <nathan@acm.org>
4571
4572 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4573 resort_sorted_fields): Move to c/c-decl.c.
4574 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4575 (struct sorted_fields_type): Move to c/c-lang.h.
4576
019bf9ad
JW
45772017-09-09 Jonathan Wakely <jwakely@redhat.com>
4578
4579 PR c++/81852
4580 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
4581
bc7fe952
MP
45822017-09-04 Marek Polacek <polacek@redhat.com>
4583
4584 PR c/81783
4585 * c-warn.c (warn_tautological_bitwise_comparison): New function.
4586 (warn_tautological_cmp): Call it.
4587
ab20d992 45882017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
4589
4590 * c-opts.c (c_common_finish): Write dependency information even if
4591 there are errors.
4592
d2e05fcb
JJ
45932017-09-01 Jakub Jelinek <jakub@redhat.com>
4594
4595 PR c/81887
4596 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
4597 (omp_pragmas_simd): ... here.
4598 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
4599 create new clauses list containing just simd clause.
4600
18e2a8b8
RS
46012017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4602 Alan Hayward <alan.hayward@arm.com>
4603 David Sherwood <david.sherwood@arm.com>
4604
4605 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
4606 into scalar_mode_supported_p call.
4607 (handle_mode_attribute): Update call to scalar_mode_supported_p.
4608
16d22000
RS
46092017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4610 Alan Hayward <alan.hayward@arm.com>
4611 David Sherwood <david.sherwood@arm.com>
4612
4613 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
4614 for the mode iterator.
4615
b397965c
RS
46162017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4617 Alan Hayward <alan.hayward@arm.com>
4618 David Sherwood <david.sherwood@arm.com>
4619
4620 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
4621 * c-common.c (c_build_vec_perm_expr): Likewise.
4622
357b7604
RS
46232017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4624 Alan Hayward <alan.hayward@arm.com>
4625 David Sherwood <david.sherwood@arm.com>
4626
4627 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
4628
e05c94ba
RS
46292017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4630 Alan Hayward <alan.hayward@arm.com>
4631 David Sherwood <david.sherwood@arm.com>
4632
4633 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
4634 before calling targetm.addr_space.valid_pointer_mode.
4635
5c20c4af
RS
46362017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4637 Alan Hayward <alan.hayward@arm.com>
4638 David Sherwood <david.sherwood@arm.com>
4639
4640 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
4641
c94843d2 46422017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
4643 Alan Hayward <alan.hayward@arm.com>
4644 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
4645
4646 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
4647 iterators.
4648 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4649
4e10a5a7
RS
46502017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4651 Alan Hayward <alan.hayward@arm.com>
4652 David Sherwood <david.sherwood@arm.com>
4653
4654 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
4655 case statements.
4656
130fcab0
ML
46572017-08-29 Martin Liska <mliska@suse.cz>
4658
4659 PR other/39851
4660 * c-common.c (parse_optimize_options): Add argument to function
4661 call.
4662 * c-pragma.c (handle_pragma_diagnostic): Likewise.
4663
14e18d71
DM
46642017-08-24 David Malcolm <dmalcolm@redhat.com>
4665
4666 * c-lex.c (interpret_float): Use token location
4667 when building an EXCESS_PRECISION_EXPR.
4668
2f687306
DM
46692017-08-21 David Malcolm <dmalcolm@redhat.com>
4670
4671 * c-common.c (check_function_arguments): Add "arglogs" param; pass
4672 it to check_function_format.
4673 * c-common.h (check_function_arguments): Add vec<location_t> *
4674 param.
4675 (check_function_format): Likewise.
4676 * c-format.c (struct format_check_context): Add field "arglocs".
4677 (check_function_format): Add param "arglocs"; pass it to
4678 check_format_info.
ab20d992 4679 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
4680 new field of format_ctx.
4681 (check_format_arg): Pass format_ctx->arglocs to new param of
4682 check_format_info_main.
4683 (class argument_parser): New field "arglocs".
4684 (argument_parser::argument_parser): Add "arglocs_" param and use
4685 it to initialize new field.
4686 (argument_parser::check_argument_type): Pass new arglocs field to
4687 check_format_types.
4688 (check_format_info_main): Add param "arglocs", and use it when
4689 constructing arg_parser.
4690 (check_format_types): Add param "arglocs"; use it if non-NULL when
4691 !EXPR_HAS_LOCATION (cur_param) to get at location information.
4692
00aa1fa2
L
46932017-08-18 H.J. Lu <hongjiu.lu@intel.com>
4694
4695 PR c/53037
4696 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
4697 (c_common_attribute_table): Add warn_if_not_aligned.
4698 (handle_aligned_attribute): Renamed to ...
4699 (common_handle_aligned_attribute): Remove argument, name, and add
4700 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
4701 (handle_aligned_attribute): New.
4702 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
4703
27be025d
MS
47042017-08-14 Martin Sebor <msebor@redhat.com>
4705
4706 PR c/81117
4707 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
4708 (handle_nonstring_attribute): New function.
4709
da67acb9
MS
47102017-08-14 Martin Sebor <msebor@redhat.com>
4711
4712 PR c/81117
4713 * c-format.h (T89_G): New macro.
4714 * c-format.c (local_gcall_ptr_node): New variable.
4715 (init_dynamic_diag_info): Initialize it.
4716
a8b522b4
ML
47172017-08-11 Martin Liska <mliska@suse.cz>
4718
4719 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
4720 TARGET_SUPPORTS_ALIASES.
4721
32129a17
DM
47222017-08-10 David Malcolm <dmalcolm@redhat.com>
4723
4724 * c-common.c (c_parse_error): Add rich_location * param, using it
4725 rather implicitly using input_location.
4726 * c-common.h (c_parse_error): Add rich_location * param.
4727
30af3a2b
MP
47282017-08-09 Marek Polacek <polacek@redhat.com>
4729
4730 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
4731 (c_common_truthvalue_conversion): Likewise.
4732 * c-omp.c (c_finish_omp_atomic): Likewise.
4733 * c-common.h (build_binary_op): Update declaration.
4734
314e6352
ML
47352017-08-08 Martin Liska <mliska@suse.cz>
4736
4737 * c-ada-spec.c: Include header files.
4738 * c-ubsan.c: Likewise.
4739 * c-warn.c: Likewise.
4740
56b5041c
JJ
47412017-08-07 Jakub Jelinek <jakub@redhat.com>
4742
4743 PR c/69389
4744 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
4745
db440138
EB
47462017-08-07 Eric Botcazou <ebotcazou@adacore.com>
4747
4748 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
4749 (print_ada_methods): Likewise.
4750 (print_ada_declaration): Likewise.
4751
577eec56
ML
47522017-08-07 Martin Liska <mliska@suse.cz>
4753
4754 * array-notation-common.c: Add new includes.
4755 * c-format.c( handle_format_attribute): Canonicalize a format
4756 function name.
4757 * c-lex.c (c_common_has_attribute): Canonicalize name of an
4758 attribute.
4759 * c-pretty-print.c: Add new include.
4760
b854df3c
EB
47612017-08-05 Eric Botcazou <ebotcazou@adacore.com>
4762
4763 * c-ada-spec.c (has_static_fields): Look only into variables.
4764 (print_constructor): Add TYPE parameter and use it for the name.
4765 (print_destructor): Likewise.
4766 (print_ada_declaration): Adjust to new constructor/destructor names.
4767 Adjust calls to print_constructor and print_destructor.
4768 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
4769 Look only into variables in the final loop.
4770
9f2cb25e
EB
47712017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4772
4773 * c-ada-spec.c (has_static_fields): Look only into fields.
4774 (dump_generic_ada_node): Small tweak.
4775 (dump_nested_types): Look only into fields.
4776 (print_ada_declaration): Look only into methods. Small tweak.
4777 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
4778
f4bcd9eb
EB
47792017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4780
4781 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
4782 (dump_ada_function_declaration): Likewise.
4783 (dump_generic_ada_node): Likewise.
4784 (print_ada_declaration): Add support for const-qualified variables.
4785
f34ebeb2
ML
47862017-07-31 Martin Liska <mliska@suse.cz>
4787
4788 PR sanitize/81530
4789 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
4790 Guard condition with flag_sanitize_p also with current_function_decl
4791 non-null equality.
4792 (ubsan_maybe_instrument_reference_or_call): Likewise.
4793
218e5d04
UB
47942017-07-30 Uros Bizjak <ubizjak@gmail.com>
4795
4796 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
4797
942047f2
EB
47982017-07-29 Eric Botcazou <ebotcazou@adacore.com>
4799
4800 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
4801 for enumeral types.
4802 (print_ada_declaration): Add missing guard for record types.
4803
a40ff0ae
JJ
48042017-07-27 Jakub Jelinek <jakub@redhat.com>
4805
4806 PR c/45784
4807 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
4808 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
4809 new COMPOUND_EXPRs around the rhs of the comparison.
4810
06bd22f6
MP
48112017-07-27 Marek Polacek <polacek@redhat.com>
4812
4813 PR c/81417
4814 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
4815 the types.
4816
036ea399
JJ
48172017-07-27 Jakub Jelinek <jakub@redhat.com>
4818
4819 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
4820 (handle_noipa_attribute): New function.
4821
417ca011
TD
48222017-07-07 Torsten Duwe <duwe@suse.de>
4823
4824 * c-attribs.c (c_common_attribute_table): Add entry for
4825 "patchable_function_entry".
4826
5aaa8fb4
NS
48272017-07-20 Nathan Sidwell <nathan@acm.org>
4828
4829 Remove TYPE_METHODS.
4830 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
4831 dump_ada_template, print_ada_methods,
4832 print_ada_declaration): Member fns are on TYPE_FIELDS.
4833
ff22eb12
NS
48342017-07-18 Nathan Sidwell <nathan@acm.org>
4835
4836 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
4837
eea77d1f
DM
48382017-07-14 David Malcolm <dmalcolm@redhat.com>
4839
4840 * c-common.c (try_to_locate_new_include_insertion_point): New
4841 function.
4842 (per_file_includes_t): New typedef.
4843 (added_includes_t): New typedef.
4844 (added_includes): New variable.
4845 (maybe_add_include_fixit): New function.
4846 * c-common.h (maybe_add_include_fixit): New decl.
4847
281ac396
MS
48482017-07-10 Martin Sebor <msebor@redhat.com>
4849
4850 PR other/81345
4851 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
4852
b6f43128
DM
48532017-07-06 David Malcolm <dmalcolm@redhat.com>
4854
4855 * c-common.c (selftest::c_family_tests): New.
4856 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
4857 (selftest::c_family_tests): New decl.
4858
efbf55b0
MP
48592017-07-04 Marek Polacek <polacek@redhat.com>
4860
4861 PR c/81231
4862 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
4863 types.
4864
6c86bd88
MP
48652017-07-04 Marek Polacek <polacek@redhat.com>
4866
4867 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
4868
17a7218b
ML
48692017-06-28 Martin Liska <mliska@suse.cz>
4870
4871 PR ipa/81128
4872 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
4873 to a function declaration.
4874
63010089
ML
48752017-06-28 Martin Liska <mliska@suse.cz>
4876
4877 PR driver/79659
4878 * c.opt: Add IntegerRange to various options.
4879
3e2becc4
MP
48802017-06-26 Marek Polacek <polacek@redhat.com>
4881
4882 PR c/80116
4883 * c-common.h (warn_for_multistatement_macros): Declare.
4884 * c-warn.c: Include "c-family/c-indentation.h".
4885 (warn_for_multistatement_macros): New function.
4886 * c.opt (Wmultistatement-macros): New option.
4887 * c-indentation.c (guard_tinfo_to_string): No longer static.
4888 Change the parameter type to "enum rid". Handle RID_SWITCH.
4889 * c-indentation.h (guard_tinfo_to_string): Declare.
4890
2db9b7cd
MG
48912017-06-23 Marc Glisse <marc.glisse@inria.fr>
4892
4893 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
4894
c3684b7b
MS
48952017-06-15 Martin Sebor <msebor@redhat.com>
4896
4897 PR c++/80560
4898 * c.opt (-Wclass-memaccess): New option.
4899
e72c4afd
BK
49002017-06-14 Boris Kolpackov <boris@codesynthesis.com>
4901
4902 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
4903
8a516588
MP
49042017-06-13 Marek Polacek <polacek@redhat.com>
4905
4906 PR objc/80949
4907 * c-warn.c (do_warn_duplicated_branches): Return if any of the
4908 branches is null.
4909
45b2222a
ML
49102017-06-13 Martin Liska <mliska@suse.cz>
4911
4912 PR sanitize/78204
4913 * c-attribs.c (add_no_sanitize_value): New function.
4914 (handle_no_sanitize_attribute): Likewise.
4915 (handle_no_sanitize_address_attribute): Use the function.
4916 (handle_no_sanitize_thread_attribute): New function.
4917 (handle_no_address_safety_analysis_attribute): Use
4918 add_no_sanitize_value.
4919 (handle_no_sanitize_undefined_attribute): Likewise.
4920 * c-common.h: Declare new functions.
4921 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
4922 (ubsan_instrument_shift): Likewise.
4923 (ubsan_instrument_bounds): Likewise.
4924 (ubsan_maybe_instrument_array_ref): Likewise.
4925 (ubsan_maybe_instrument_reference_or_call): Likewise.
4926
a01f151f
JM
49272017-06-11 Jason Merrill <jason@redhat.com>
4928
4929 * c-ada-spec.c, c-pragma.c: Use id_equal.
4930
3de4ac6d
MP
49312017-06-04 Marek Polacek <polacek@redhat.com>
4932
4933 PR c/80919
4934 * c-format.c (matching_type_p): Return false if any of the types
4935 requires structural equality.
4936
2474f48f
MS
49372017-06-02 Martin Sebor <msebor@redhat.com>
4938
4939 PR c/80892
4940 * c-warn.c (conversion_warning): Use -Wconversion for integer
4941 conversion and -Wfloat-conversion for floating one.
4942
40ffd95f
BE
49432017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4944
4945 * c.opt (Wsizeof-pointer-div): New warning option.
4946
3fa4634c
VR
49472017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
4948
4949 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
4950 (Wcatch-value=1): Enable by -Wall.
4951
f012c8ef
DM
49522017-05-30 David Malcolm <dmalcolm@redhat.com>
4953
4954 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
4955 format_chars.
4956 * c.opt (fdiagnostics-show-template-tree): New option.
4957 (felide-type): New option.
4958
63dbcd13
VR
49592017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
4960
4961 * c.opt (Wcatch-value=): New C++ warning flag.
4962
be136b5c
NS
49632017-05-24 Nathan Sidwell <nathan@acm.org>
4964
4965 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
4966 const casts to avoid warning.
4967
3cd211af
MS
49682017-05-24 Martin Sebor <msebor@redhat.com>
4969
4970 PR c/80731
4971 * c-common.h (unsafe_conversion_p): Add a function argument.
4972 * c-common.c (unsafe_conversion_p): Same.
4973 Add type names and values to diagnostics.
4974 (scalar_to_vector): Adjust.
4975 * c-warn.c (constant_expression_error): Add a function argument.
4976 Add type names and values to diagnostics.
4977 (conversion_warning): Add a function argument.
4978 Add type names and values to diagnostics.
4979 (warnings_for_convert_and_check): Same.
4980
1ff7be5a
JM
49812017-05-19 Jason Merrill <jason@redhat.com>
4982
4983 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
4984 enumerators.
4985
ff502317
BE
49862017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4987
4988 * c-format.c (locus): Move out of function scope,
4989 add GTY attribute.
4990
2a8a8d7b
NS
49912017-05-19 Nathan Sidwell <nathan@acm.org>
4992
4993 * c-opts.c (class_dump_file, class_dump_flags): Delete.
4994 (c_common_parse_file): Remove class dump handling.
4995 (get_dump_info): Likewise.
4996
39aac208
RB
49972017-05-19 Richard Biener <rguenther@suse.de>
4998
4999 PR c++/80593
5000 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5001 to alias-set zero memory.
5002
6ecd2339
BE
50032017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
5004
5005 * c-format.c (local_tree_type_node): Add GTY attribute.
5006
6574d78e
MP
50072017-05-18 Marek Polacek <polacek@redhat.com>
5008
5009 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5010 (c_common_fixed_point_type_for_size): Likewise.
5011 (c_common_type_for_mode): Likewise.
5012 (shorten_compare): Likewise.
5013 (c_promoting_integer_type_p): Use false/true instead of 0/1.
5014 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5015
e3455240
MP
50162017-05-18 Marek Polacek <polacek@redhat.com>
5017
5018 * c-common.c (self_promoting_args_p): Change the return type to bool.
5019 Use false/true instead of 0/1.
5020 * c-common.h (self_promoting_args_p): Update.
5021
3fa8871b
MP
50222017-05-17 Marek Polacek <polacek@redhat.com>
5023
5024 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5025 * c-warn.c: Likewise.
5026
b42cc3ca
VV
50272017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
5028
5029 Implement new C++ intrinsics __is_assignable and __is_constructible.
5030 * c-common.c (__is_assignable, __is_constructible): New.
5031 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5032
1a817418
ML
50332017-05-17 Martin Liska <mliska@suse.cz>
5034
5035 * c-common.h: Introduce dump_flags_t type and
5036 use it instead of int type.
5037 * c-gimplify.c (c_genericize): Likewise.
5038 * c-opts.c: Likewise.
5039
b2fa0a8b
MP
50402017-05-17 Marek Polacek <polacek@redhat.com>
5041
5042 * c-common.c (c_save_expr): Remove.
5043 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5044 * c-common.h (c_save_expr): Remove declaration.
5045
31c2d57d
VR
50462017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
5047
5048 PR c/35441
5049 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5050 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5051 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5052 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5053 RDIV_EXPR.
5054 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5055
684f84de
MP
50562017-05-09 Marek Polacek <polacek@redhat.com>
5057
5058 PR c/80525
5059 * c-warn.c (unwrap_c_maybe_const): New.
5060 (warn_logical_operator): Call it.
5061
641da50a
NS
50622017-05-09 Nathan Sidwell <nathan@acm.org>
5063
5064 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5065 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5066
631238ac
MS
50672017-05-08 Martin Sebor <msebor@redhat.com>
5068
5069 PR translation/80280
5070 * c-format.h (struct format_flag_spec): Add new member.
5071 (T89_T): New macro.
5072 * c-format.c (local_tree_type_node): New global.
5073 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5074 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5075 (strfmon_flag_specs): Likewise.
5076 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5077 with distinct quoting properties.
5078 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5079 (flag_chars_t::validate): Add argument and handle bad quoting.
5080 (check_format_info_main): Handle quoting problems.
5081 (init_dynamic_diag_info): Simplify.
5082
49f0c04c
JM
50832017-05-08 Jason Merrill <jason@redhat.com>
5084
5085 * c-opts.c (c_common_post_options): Update defaults for
5086 flag_abi_version and flag_abi_compat_version.
5087
56d35585
DM
50882017-05-05 David Malcolm <dmalcolm@redhat.com>
5089
5090 * c-common.c (c_cpp_error): Replace report_diagnostic
5091 with diagnostic_report_diagnostic.
5092
0f2c4a8f
MS
50932017-05-04 Martin Sebor <msebor@redhat.com>
5094
5095 PR translation/80280
5096 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5097 (handle_weakref_attribute): Same.
5098
6fe63fb4
NS
50992017-05-03 Nathan Sidwell <nathan@acm.org>
5100
5101 Canonicalize canonical type hashing
5102 * c-common.c (complete_array_type): Use type_hash_canon.
5103
815d9cc6
XR
51042017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
5105
92a285c1 5106 PR c++/80038
815d9cc6
XR
5107 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5108 prototype.
5109 (cilk_install_body_pedigree_operations): Likewise.
5110 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5111 detatched.
5112 (cilk_gimplify_call_params_in_spawned_fn): Remove.
5113 (cilk_install_body_pedigree_operations): Likewise.
5114 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5115 unwrapping.
5116
f8a36447
JJ
51172017-04-27 Jakub Jelinek <jakub@redhat.com>
5118
5119 PR c++/80534
5120 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5121 flag on non-aggregate element types.
5122
7c145456
BE
51232017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5124
5125 * c-common.c (c_type_hasher, type_hash_table): Remove.
5126 (c_common_get_alias_set): Remove unreachable code.
5127 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5128
c3cbcd45
VR
51292017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
5130
5131 * c.opt (Wextra-semi): New C++ warning flag.
5132
8a59d466
JJ
51332017-04-20 Jakub Jelinek <jakub@redhat.com>
5134
5135 PR middle-end/80423
5136 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5137
8487c9a5
JJ
51382017-04-18 Jakub Jelinek <jakub@redhat.com>
5139
5140 PR middle-end/79788
5141 PR middle-end/80375
5142 * c-common.c (c_common_type_for_mode): Don't handle
5143 widest_*_literal_type_node here.
5144 c_common_signed_or_unsigned_type): Likewise.
5145 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5146 to *intTI_type_node or *intDI_type_node depending on whether
5147 TImode is supported by the target or not.
5148
3ee0fb02
ML
51492017-04-10 Martin Liska <mliska@suse.cz>
5150
5151 PR sanitizer/80350
5152 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5153 doing an UBSAN check.
5154
5764ee3c
JW
51552017-04-03 Jonathan Wakely <jwakely@redhat.com>
5156
5157 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5158
6f3af356
JJ
51592017-03-31 Jakub Jelinek <jakub@redhat.com>
5160
5161 PR c++/79572
5162 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5163 tree *.
5164 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
5165 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5166 REFERENCE_TYPE.
5167
f6a7a9d5
DM
51682017-03-31 David Malcolm <dmalcolm@redhat.com>
5169
5170 PR documentation/78732
5171 * c.opt (Wendif-labels): Fix description to refer to
5172 #else rather than #elif.
5173
af88f557
JJ
51742017-03-31 Jakub Jelinek <jakub@redhat.com>
5175
5176 PR libstdc++/80251
5177 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5178 * c-common.c (c_common_reswords): Add __is_aggregate trait.
5179
a9e4a1a5
JJ
51802017-03-27 Jakub Jelinek <jakub@redhat.com>
5181
5182 PR middle-end/80162
5183 * c-common.c (c_common_mark_addressable_vec): Don't set
5184 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5185
3f01b620
MS
51862017-03-21 Martin Sebor <msebor@redhat.com>
5187
5188 PR c++/79548
5189 * c-common.c (set_underlying_type): Mark type used only when
5190 original del is declared unused.
5191
2f6f187a
DM
51922017-03-10 David Malcolm <dmalcolm@redhat.com>
5193
5194 PR translation/79848
5195 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5196 "%qs".
5197
a02fa805
DM
51982017-03-10 David Malcolm <dmalcolm@redhat.com>
5199
5200 PR c/79921
5201 * c-indentation.c (warn_for_misleading_indentation): Remove parens
5202 from inform's message, so that xgettext can locate it.
5203
822a132c
MP
52042017-03-09 Marek Polacek <polacek@redhat.com>
5205
5206 PR c++/79962
5207 PR c++/79984
5208 * c-attribs.c (handle_nonnull_attribute): Save the result of default
5209 conversion to the attribute list.
5210
bba81f1c
ML
52112017-03-09 Martin Liska <mliska@suse.cz>
5212
5213 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5214
108154ff
JM
52152017-03-03 Jason Merrill <jason@redhat.com>
5216
5217 * c.opt (Wnoexcept-type): New.
5218
eb0e7c34
RB
52192017-03-02 Richard Biener <rguenther@suse.de>
5220
5221 PR c/79756
5222 * c-common.c (c_common_mark_addressable_vec): Look through
5223 C_MAYBE_CONST_EXPR.
5224
9453ba0a
ML
52252017-02-28 Martin Liska <mliska@suse.cz>
5226
5227 * c.opt: Replace space with tabular for options of <number>
5228 type.
5229
6a825afe
ML
52302017-02-28 Martin Liska <mliska@suse.cz>
5231
5232 * c.opt: Fix --help=option -Q for options which are of
5233 an enum type.
5234
4227c9ad
JJ
52352017-02-24 Jakub Jelinek <jakub@redhat.com>
5236
5237 PR c++/79588
5238 * c-common.c (check_function_restrict): New function.
5239 (check_function_arguments): Add FNDECL argument. Call
5240 check_function_restrict if -Wrestrict.
5241 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5242 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5243 * c-common.h (check_function_arguments): Add FNDECL argument.
5244 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5245
59909673
EB
52462017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5247
5248 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5249 treatment of parameters with pointer-to-tagged type and tidy up.
5250 (print_ada_methods): Remove the special treatment of C++ static member
5251 functions.
5252
54dcd526
ML
52532017-02-22 Martin Liska <mliska@suse.cz>
5254
5255 * c.opt: Replace inequality signs with square brackets
5256 for -Wnornalized.
5257
00bc9de3
JJ
52582017-02-21 Jakub Jelinek <jakub@redhat.com>
5259
5260 PR c++/79641
5261 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5262 preserve quals.
5263
97fcf744
JM
52642017-02-17 Joseph Myers <joseph@codesourcery.com>
5265
5266 * c-cppbuiltin.c (builtin_define_float_constants): Define
5267 __DECIMAL_DIG__ to the value for long double.
5268
c7545f1c
MP
52692017-02-15 Marek Polacek <polacek@redhat.com>
5270
5271 PR c/79515
5272 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5273 conversion has occured.
5274
c2e84327
DM
52752017-01-24 David Malcolm <dmalcolm@redhat.com>
5276
5277 * c-common.c (c_common_reswords): Add "__RTL".
5278 * c-common.h (enum rid): Add RID_RTL.
5279
2ebd93e1
MP
52802017-01-20 Marek Polacek <polacek@redhat.com>
5281
5282 PR c/64279
5283 * c-common.h (do_warn_duplicated_branches_r): Declare.
5284 * c-gimplify.c (c_genericize): Walk the function tree calling
5285 do_warn_duplicated_branches_r.
5286 * c-warn.c (expr_from_macro_expansion_r): New.
5287 (do_warn_duplicated_branches): New.
5288 (do_warn_duplicated_branches_r): New.
5289 * c.opt (Wduplicated-branches): New option.
5290
0d80ab91
DM
52912017-01-17 David Malcolm <dmalcolm@redhat.com>
5292
5293 PR c++/71497
5294 * c-indentation.c (warn_for_misleading_indentation): Use the past
5295 subjunctive in the note.
5296
7f991c36
AH
52972017-01-17 Aldy Hernandez <aldyh@redhat.com>
5298
5299 PR c/79116
5300 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5301 start type to integer_type.
5302
1c70261c
JJ
53032017-01-16 Jakub Jelinek <jakub@redhat.com>
5304
5305 PR driver/49726
5306 * c.opt (gen-decls): Add Driver flag.
5307
1ddca3f3
PC
53082017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5309
5310 Revert:
5311 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5312
5313 PR c++/71737
5314 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5315
7d2f3f1d
PC
53162017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5317
5318 PR c++/71737
5319 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5320
bce6f760
MS
53212017-01-12 Martin Sebor <msebor@redhat.com>
5322
5323 (-Wformat-overflow): ...to this.
5324
bf5fbf46
MS
53252017-01-11 Martin Sebor <msebor@redhat.com>
5326
5327 PR c/78768
5328 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5329 Also enable for LTO.
5330
e363df3f
JM
53312017-01-10 Jason Merrill <jason@redhat.com>
5332
5333 Implement P0195R2, C++17 variadic using.
5334 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5335
bd2c6270
JJ
53362017-01-09 Jakub Jelinek <jakub@redhat.com>
5337
5338 PR translation/79019
5339 PR translation/79020
5340 * c.opt (Wnormalized=): Fix typo in description.
5341
efcc8d38
MS
53422017-01-08 Martin Sebor <msebor@redhat.com>
5343
5344 PR middle-end/77708
5345 * c.opt (-Wformat-truncation): New option.
5346
ab20d992 53472017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5348
5349 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5350 value to unsigned short to fit in 4 hex digits without
5351 warnings.
5352
4e89adf9
EB
53532017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5354
5355 * c.opt (fsso-struct): Add 'native' value.
5356
cd445b54
ML
53572017-01-05 Martin Liska <mliska@suse.cz>
5358
5359 PR pch/78970
5360 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5361 header.
5362
a9342885
MP
53632017-01-04 Marek Polacek <polacek@redhat.com>
5364
5365 PR c++/64767
5366 * c.opt (Wpointer-compare): New option.
5367
fc73e60c
JJ
53682017-01-04 Jakub Jelinek <jakub@redhat.com>
5369
5370 PR driver/78957
5371 * c.opt (fsso-struct=): Add RejectNegative.
5372
cbe34bb5
JJ
53732017-01-01 Jakub Jelinek <jakub@redhat.com>
5374
5375 Update copyright years.
5376
d4a6c0ea
ML
53772016-12-29 Martin Liska <mliska@suse.cz>
5378
5379 PR c/78933
5380 * c.opt (strong-eval-order): Add RejectNegative keyword.
5381
67a5ad7c
JM
53822016-12-22 Jason Merrill <jason@redhat.com>
5383
5384 Implement P0522R0, matching of template template arguments.
5385 * c-cppbuiltin.c (c_cpp_builtins): Define
5386 __cpp_template_template_args.
5387
0dba7960
JJ
53882016-12-21 Jakub Jelinek <jakub@redhat.com>
5389
5390 PR bootstrap/78817
5391 * c-common.c (struct nonnull_arg_ctx): New type.
5392 (check_function_nonnull): Return bool instead of void. Use
5393 nonnull_arg_ctx as context rather than just location_t.
5394 (check_nonnull_arg): Adjust for the new context type, set
5395 warned_p to true if a warning has been diagnosed.
5396 (check_function_arguments): Return bool instead of void.
5397 * c-common.h (check_function_arguments): Adjust prototype.
5398
31bfc9b9
JM
53992016-12-21 Jason Merrill <jason@redhat.com>
5400
5401 * c.opt (-fnew-ttp-matching): New flag.
5402 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5403
629b3d75
MJ
54042016-12-14 Martin Jambor <mjambor@suse.cz>
5405
5406 * c-omp.c: Include omp-general.h instead of omp-low.h.
5407 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5408 name.
5409
474da67e
MS
54102016-12-14 Martin Sebor <msebor@redhat.com>
5411
5412 PR c/17308
5413 * c-common.c (check_nonnull_arg): Disable when optimization
5414 is enabled.
5415
fe366b87
MP
54162016-12-12 Marek Polacek <polacek@redhat.com>
5417
5418 PR c++/78647
5419 * c-common.c (attribute_fallthrough_p): Return false for
5420 error_mark_node.
5421
8bd9f164
MS
54222016-12-08 Martin Sebor <msebor@redhat.com>
5423
5424 PR c/78284
5425 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5426
060162e0
MS
54272016-12-08 Martin Sebor <msebor@redhat.com>
5428
5429 PR c/78165
92a285c1
ML
5430 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5431 suffix.
060162e0 5432
ee92e7ba
MS
54332016-12-07 Martin Sebor <msebor@redhat.com>
5434
5435 PR c/53562
5436 PR middle-end/77784
5437 PR middle-end/78149
5438 PR middle-end/78138
5439 * c.opt (-Wstringop-overflow): New option.
5440
84b0769e
MO
54412016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
5442
5443 * c-attribs.c (asan odr indicator): New attribute.
5444 (handle_asan_odr_indicator_attribute): New function.
5445
7fa6a965
PK
54462016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5447
5448 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5449 ptrdiff_type_node;
5450
56d8ffc1
JG
54512016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5452
5453 * c-common.c (excess_precision_mode_join): New.
5454 (c_ts18661_flt_eval_method): New.
5455 (c_c11_flt_eval_method): Likewise.
5456 (c_flt_eval_method): Likewise.
5457 * c-common.h (excess_precision_mode_join): New.
5458 (c_flt_eval_method): Likewise.
5459 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5460 (cpp_iec_559_value): Call it.
5461 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5462 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5463 __FLT_EVAL_METHOD_TS_18661_3__.
5464
04f0fcf7
JG
54652016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5466
5467 * c-opts.c (c_common_post_options): Add logic to handle the default
5468 case for -fpermitted-flt-eval-methods.
5469
fb2675cb
PB
54702016-11-23 Paolo Bonzini <bonzini@gnu.org>
5471
5472 * c.opt (Wexpansion-to-defined): New.
5473
ec1c5694
JJ
54742016-11-23 Jakub Jelinek <jakub@redhat.com>
5475
5476 PR target/78451
5477 * c-pragma.c (handle_pragma_target): Don't replace
5478 current_target_pragma, but chainon the new args to the current one.
5479
730c9e75
NS
54802016-11-22 Nathan Sidwell <nathan@acm.org>
5481
5482 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 5483 indentation and formatting.
730c9e75 5484
89990732
MS
54852016-11-21 Martin Sebor <msebor@redhat.com>
5486
5487 * c.opt (-fprintf-return-value): Enable by default.
5488
48330c93
BE
54892016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5490
5491 PR c++/71973
5492 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5493 * c-common.c (c_common_nodes_and_builtins): Initialize
5494 const_tm_ptr_type_node.
5495
0d939c95
MP
54962016-11-16 Marek Polacek <polacek@redhat.com>
5497
5498 PR c/78285
5499 * c-common.c (c_add_case_label): Turn error_at calls into inform.
5500
8e745a17
JJ
55012016-11-14 Jakub Jelinek <jakub@redhat.com>
5502
5503 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5504
1ee62b92 55052016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
5506 Richard Biener <rguenther@suse.de>
5507
5508 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5509 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5510 * c.opt (fgimple): New option.
1ee62b92 5511
22b15758
UB
55122016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5513
5514 PR c/35503
5515 * c-common.h (warn_for_restrict): Declare.
5516 * c-warn.c: Include gcc-rich-location.h.
5517 (warn_for_restrict): New function.
5518 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5519 (gcc_cdiag_char_table): Likewise.
5520 (gcc_cxxdiag_char_table): Likewise.
5521 * c.opt (Wrestrict): New option.
5522
4be719cd
EB
55232016-11-13 Eric Botcazou <ebotcazou@adacore.com>
5524
5525 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5526 for nested types only if the type is a record or union and dump SLOC.
5527
4a826ca6
JM
55282016-11-09 Jason Merrill <jason@redhat.com>
5529
5530 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5531
2e955d50
JJ
55322016-11-09 Jakub Jelinek <jakub@redhat.com>
5533
5534 * c-ubsan.c (ubsan_instrument_shift): Handle split
5535 -fsanitize=shift-base and -fsanitize=shift-exponent.
5536
51dc6603
JM
55372016-11-07 Jason Merrill <jason@redhat.com>
5538
5539 * c.opt (Wc++1z-compat): New.
5540 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5541
6dc4a604
ML
55422016-11-07 Martin Liska <mliska@suse.cz>
5543
5544 * c-warn.c (warn_for_unused_label): Save all labels used
5545 in goto or in &label.
5546
b302001e
JM
55472016-11-03 Jason Merrill <jason@redhat.com>
5548
5549 * c-cppbuiltin.c (c_cpp_builtins): Correct
5550 __cpp_inheriting_constructors.
5551
31f7f784
JM
55522016-11-01 Jason Merrill <jason@redhat.com>
5553
2bc78e3c
JM
5554 * c-cppbuiltin.c (c_cpp_builtins): Update
5555 __cpp_inheriting_constructors.
5556
31f7f784
JM
5557 * c.opt (-fnew-inheriting-ctors): New.
5558 * c-opts.c: Default to on for ABI 11+.
5559
dcb466ec
JJ
55602016-10-31 Jakub Jelinek <jakub@redhat.com>
5561
5562 PR c++/77948
5563 * c.opt (fext-numeric-literals): Add Var and Init.
5564 * c-opts.c (c_common_handle_option): Don't clear
5565 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5566 (c_common_post_options): Clear it here if not set
5567 explicitly.
5568
52e1b91e
AH
55692016-10-28 Aldy Hernandez <aldyh@redhat.com>
5570
5571 PR debug/77773
5572 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5573 if NULL.
5574
e16f1cc7
JJ
55752016-10-25 Jakub Jelinek <jakub@redhat.com>
5576
5577 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
5578 * c-common.c (c_common_reswords): Add __builtin_launder.
5579
f8348061
BE
55802016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
5581
5582 * c-common.c (c_common_truthvalue_conversion): Warn for
5583 multiplications in boolean context. Fix the quoting of '<<' and '<'
5584 in the shift warning.
5585
eff89e01
BE
55862016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
5587
5588 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
5589
24bc7bf4
JM
55902016-10-20 Jason Merrill <jason@redhat.com>
5591
5592 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
5593
4c712374
BE
55942016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5595
5596 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
5597 integer shift ops in boolean context.
5598
55992016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
5600
5601 * c.opt (Walloca): New.
5602 (Walloca-larger-than=): New.
5603 (Wvla-larger-than=): New.
5604
8fa18c06
MP
56052016-10-17 Marek Polacek <polacek@redhat.com>
5606
5607 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
5608 Return immediately when finding a match.
5609 (warn_tautological_cmp): Remove a boolean variable that is no longer
5610 needed.
5611
b12b1915
MP
56122016-10-17 Marek Polacek <polacek@redhat.com>
5613
5614 * c-attribs.c: New file.
5615 * c-common.c: Move attributes handling to c-attribs.c.
5616 (get_nonnull_operand): No longer static.
5617 * c-common.h: Move the declarations from c-attribs.c to its own section.
5618
2045acd9
JM
56192016-10-14 Jason Merrill <jason@redhat.com>
5620
5621 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
5622 and __cpp_deduction_guides.
5623
14a2c9aa
JM
56242016-10-13 Jason Merrill <jason@redhat.com>
5625
5626 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
5627
4d0cdd0c
TP
56282016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5629
5630 * c-cppbuiltin.c: Include memmodel.h.
5631 * c-opts.c: Likewise.
5632 * c-pragma.c: Likewise.
5633 * c-warn.c: Likewise.
5634
70f6d5e1
JJ
56352016-10-12 Jakub Jelinek <jakub@redhat.com>
5636
5637 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
5638 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
5639 * c-opts.c (sanitize_cpp_opts): Initialize
5640 cpp_opts->cpp_warn_implicit_fallthrough.
5641
78f61294
MP
56422016-10-11 Marek Polacek <polacek@redhat.com>
5643
5644 * c-common.c (warning_candidate_p): Change the return type to bool
5645 and return true/false instead of 1/0.
5646 (vector_mode_valid_p): Likewise.
5647
038b5cc0
MP
56482016-10-11 Marek Polacek <polacek@redhat.com>
5649
5650 * c-common.c (fold_for_warn): No longer static.
5651 (bool_promoted_to_int_p): Likewise.
5652 (c_common_get_narrower): Likewise.
5653 (constant_expression_warning): Move to c-warn.c.
5654 (constant_expression_error): Likewise.
5655 (overflow_warning): Likewise.
5656 (warn_logical_operator): Likewise.
5657 (find_array_ref_with_const_idx_r): Likewise.
5658 (warn_tautological_cmp): Likewise.
5659 (expr_has_boolean_operands_p): Likewise.
5660 (warn_logical_not_parentheses): Likewise.
5661 (warn_if_unused_value): Likewise.
5662 (strict_aliasing_warning): Likewise.
5663 (sizeof_pointer_memaccess_warning): Likewise.
5664 (check_main_parameter_types): Likewise.
5665 (conversion_warning): Likewise.
5666 (warnings_for_convert_and_check): Likewise.
5667 (match_case_to_enum_1): Likewise.
5668 (match_case_to_enum): Likewise.
5669 (c_do_switch_warnings): Likewise.
5670 (warn_for_omitted_condop): Likewise.
5671 (readonly_error): Likewise.
5672 (lvalue_error): Likewise.
5673 (invalid_indirection_error): Likewise.
5674 (warn_array_subscript_with_type_char): Likewise.
5675 (warn_about_parentheses): Likewise.
5676 (warn_for_unused_label): Likewise.
5677 (warn_for_div_by_zero): Likewise.
5678 (warn_for_memset): Likewise.
5679 (warn_for_sign_compare): Likewise.
5680 (do_warn_double_promotion): Likewise.
5681 (do_warn_unused_parameter): Likewise.
5682 (record_locally_defined_typedef): Likewise.
5683 (maybe_record_typedef_use): Likewise.
5684 (maybe_warn_unused_local_typedefs): Likewise.
5685 (maybe_warn_bool_compare): Likewise.
5686 (maybe_warn_shift_overflow): Likewise.
5687 (warn_duplicated_cond_add_or_warn): Likewise.
5688 (diagnose_mismatched_attributes): Likewise.
5689 * c-common.h: Move the declarations from c-warn.c to its own section.
5690 * c-warn.c: New file.
5691
627be19f
JM
56922016-10-08 Jason Merrill <jason@redhat.com>
5693
5694 * c-common.c (c_common_truthvalue_conversion): Don't distribute
5695 into COND_EXPR in C++.
5696
7bad794a
JJ
56972016-10-08 Jakub Jelinek <jakub@redhat.com>
5698
5699 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
5700 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
5701 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
5702
be845b04
JJ
57032016-10-07 Jakub Jelinek <jakub@redhat.com>
5704
5705 Implement LWG2296 helper intrinsic
5706 * c-common.h (enum rid): Add RID_ADDRESSOF.
5707 * c-common.c (c_common_reswords): Add __builtin_addressof.
5708
c09c4992
BE
57092016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
5710
5711 PR c++/77700
5712 * c-common.c (c_common_truthvalue_conversion): Warn also for
5713 suspicious enum values in boolean context.
5714
342cfb3e
JJ
57152016-10-06 Jakub Jelinek <jakub@redhat.com>
5716
5717 Implement P0258R2 - helper for C++17
5718 std::has_unique_object_representations trait
5719 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
5720 * c-common.c (c_common_reswords): Add
5721 __has_unique_object_representations.
5722
2e69f143
JJ
57232016-10-05 Jakub Jelinek <jakub@redhat.com>
5724
5725 PR sanitizer/66343
5726 * c-ubsan.c (ubsan_instrument_return): Don't call
5727 initialize_sanitizer_builtins here.
5728
700fff34
BE
57292016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5730
5731 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
5732 conditional expression in boolean context when only one arm is
5733 non-boolean.
5734
9563bfcd
JJ
57352016-10-05 Jakub Jelinek <jakub@redhat.com>
5736
04a32443
JJ
5737 PR sanitizer/77823
5738 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
5739 is not integral.
5740
9563bfcd
JJ
5741 * c-common.c (c_common_reswords): Update comment for C++11.
5742
f1644724
JM
57432016-10-04 Jason Merrill <jason@redhat.com>
5744
5745 * c-common.c (make_tree_vector_from_ctor): New.
5746 * c-common.h: Declare it.
5747
5a79befb
JJ
57482016-10-04 Jakub Jelinek <jakub@redhat.com>
5749
5750 * c-cppbuiltin.c (c_cpp_builtins): Don't define
5751 __LIBGCC_JCR_SECTION_NAME__.
5752
1633d3b9
BE
57532016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
5754
5755 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
5756 left shift in boolean context.
5757
a2c6e7f2
JJ
57582016-09-29 Jakub Jelinek <jakub@redhat.com>
5759
5760 Implement P0001R1 - C++17 removal of register storage class specifier
5761 * c.opt (Wregister): New warning.
5762 * c-opts.c (c_common_post_options): Enable -Wregister by
5763 default for C++17.
5764
75304c87
JG
57652016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
5766
5767 * c-opts.c (c_common_post_options): Remove special case for
5768 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
5769 in C++.
5770
bbfac6da
JJ
57712016-09-27 Jakub Jelinek <jakub@redhat.com>
5772
6e39060a
JJ
5773 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
5774 -std=c++1z.
5775
bbfac6da
JJ
5776 * c-ada-spec.c (print_ada_declaration): Remove break after return.
5777
e73cf9a2
TP
57782016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
5779
5780 * c-common.c: Include memmodel.h.
5781
c6147dc4
MP
57822016-09-26 Marek Polacek <polacek@redhat.com>
5783
5784 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
5785
81fea426
MP
57862016-09-26 Marek Polacek <polacek@redhat.com>
5787
5788 PR c/7652
5789 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
5790 (handle_fallthrough_attribute): New function.
5791 (attribute_fallthrough_p): New function.
5792 * c-common.h (attribute_fallthrough_p): Declare.
5793
9a2300e9
MP
57942016-09-24 Marek Polacek <polacek@redhat.com>
5795
5796 PR c/77490
5797 * c.opt (Wbool-operation): New.
5798
a09e9e35
BE
57992016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5800
5801 * c-common.c (c_common_truthvalue_conversion): Inhibit
5802 Wint-in-bool-context warning with from_macro_definition_at.
5803 Mention the expression will always evaluate to true.
5804
d43b4ccc
MS
58052016-09-21 Martin Sebor <msebor@redhat.com>
5806
5807 PR bootstrap/77676
5808 * c.opt (fprintf-return-value): Temporarily initialize to zero
5809 to unblock bootstrap failures.
5810
2e1c20b1
JJ
58112016-09-21 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR c++/77651
5814 * c.opt (Waligned-new=): Add RejectNegative.
5815 (faligned-new=): Likewise. Spelling fix - change
5816 aligned_new_threshhold to aligned_new_threshold.
5817 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
5818 to aligned_new_threshold.
5819
88d0c3f0
MS
58202016-09-20 Martin Sebor <msebor@redhat.com>
5821
5822 PR middle-end/49905
5823 * c.opt: Add -Wformat-length and -fprintf-return-value.
5824
144a96e4
BE
58252016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5826
5827 PR c++/77434
5828 * c.opt (Wint-in-bool-context): New warning.
5829 * c-common.c (c_common_truthvalue_conversion): Warn on integer
5830 constants in boolean context.
5831
63012d9a
JM
58322016-09-19 Joseph Myers <joseph@codesourcery.com>
5833
5834 * c-common.c (max_align_t_align): Also consider alignment of
5835 float128_type_node.
5836
931388ce
JM
58372016-09-15 Jason Merrill <jason@redhat.com>
5838
5839 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
5840 DECL_EXTERNAL.
5841
38711381
JM
58422016-09-14 Jason Merrill <jason@redhat.com>
5843
5844 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5845 limit FIELD_DECL, either.
5846
e51fbec3
MP
58472016-09-14 Marek Polacek <polacek@redhat.com>
5848
5849 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
5850 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
5851 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
5852
254830ba
DM
58532016-09-13 David Malcolm <dmalcolm@redhat.com>
5854
5855 * c-common.c (warn_logical_not_parentheses): Replace
5856 rich_location::add_fixit_insert calls with add_fixit_insert_before
5857 and add_fixit_insert_after, eliminating the "next_loc" calculation.
5858
42763690
JM
58592016-09-13 Jason Merrill <jason@redhat.com>
5860 Tom de Vries <tom@codesourcery.com>
5861
5862 PR c++/77427
5863 * c-common.c (set_underlying_type): Don't treat array as builtin type.
5864
9453eee9
JM
58652016-09-13 Jason Merrill <jason@redhat.com>
5866
5867 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5868 limit types at all.
5869
e96809e3
JM
58702016-09-12 Jason Merrill <jason@redhat.com>
5871
5872 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
5873 bit/byte confusion, allow large alignment for types.
5874
54dcdb88
BE
58752016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
5876
5877 PR c++/77496
5878 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
5879
d1463eb9
DM
58802016-09-12 David Malcolm <dmalcolm@redhat.com>
5881
5882 PR c/72858
5883 * c-format.c (argument_parser::check_argument_type): Add params
5884 "type_start" and "conversion_char". Use the former to generate
5885 offset_to_type_start and pass it and conversion_char to
5886 check_format_types.
5887 (check_format_info_main): Capture the start of the type
5888 information as "type_start", and pass it an format_char
5889 to arg_parser.check_argument_type.
5890 (check_format_types): Provide an example in the leading comment.
5891 Add params "offset_to_type_start" and "conversion_char"; pass
5892 them to format_type_warning calls.
5893 (test_get_modifier_for_format_len): Likewise.
5894 (matching_type_p): New function.
5895 (get_format_for_type): Add param "conversion_char" and move
5896 implementation into...
5897 (get_format_for_type_1): ...new function, called twice.
5898 Use new function matching_type_p rather than checking for
5899 TYPE_CANONICAL equality.
5900 (get_corrected_substring): New function.
5901 (format_type_warning): Provide an example in the leading comment.
5902 Add params "offset_to_type_start" and "conversion_char". Replace
5903 call to get_format_for_type with call to get_corrected_substring
5904 and move rejection of hints for widths/precisions there.
5905 (assert_format_for_type_streq): Add param "conversion_char".
5906 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
5907 (test_get_format_for_type_printf): Add conversion chars to the
5908 tests, adding coverage for various combinations of integer
5909 vs double conversions, and for preserving octal and hexadecimal
5910 conversions.
5911 (test_get_format_for_type_scanf): Add conversion chars to the
5912 tests.
5913
5b28efbb
TV
59142016-09-10 Tom de Vries <tom@codesourcery.com>
5915
5916 PR C/71602
5917 * c-common.c (build_va_arg): Handle more strict
5918 targetm.canonical_va_list_type. Replace first argument type error with
5919 assert.
5920
3f0177e7
MS
59212016-09-09 Martin Sebor <msebor@redhat.com>
5922
5923 PR c/77520
5924 PR c/77521
5925 * c-format.c (argument_parser::find_format_char_info): Use %qc
5926 format directive unconditionally.
5927
af63ba4b
JM
59282016-09-09 Jason Merrill <jason@redhat.com>
5929
5930 Implement C++17 new of over-aligned types.
5931 * c.opt: Add -faligned-new and -Waligned-new.
5932 * c-common.c (max_align_t_align): Split out from...
5933 (cxx_fundamental_alignment_p): ...here.
5934 * c-common.h: Declare it.
5935 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
5936
c65248cb
JM
59372016-09-09 Joseph Myers <joseph@codesourcery.com>
5938
5939 * c-cppbuiltin.c (builtin_define_type_width): New function.
5940 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
5941 macros.
5942
e5106e27
DM
59432016-09-07 David Malcolm <dmalcolm@redhat.com>
5944
5945 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
5946 a POINTER_TYPE.
5947 (substring_loc::get_location): Move to substring-locations.c,
5948 keeping implementation as...
5949 (c_get_substring_location): New function, from the above, reworked
5950 to use accessors rather than member lookup.
5951 * c-common.h (class substring_loc): Move to substring-locations.h,
5952 replacing with a forward decl.
5953 (c_get_substring_location): New decl.
5954 * c-format.c: Include "substring-locations.h".
5955 (format_warning_va): Move to substring-locations.c.
5956 (format_warning_at_substring): Likewise.
5957
ab20d992 59582016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
5959
5960 PR c/77336
5961 * c-format.c (check_function_format): Avoid issuing warnings for
5962 functions unless they call format functions with non-constant
5963 format strings.
5964
b772a565
RB
59652016-09-06 Richard Biener <rguenther@suse.de>
5966
5967 PR c/77450
5968 * c-common.c (c_common_mark_addressable_vec): Handle
5969 COMPOUND_LITERAL_EXPR.
5970
25ff5dd3
MP
59712016-09-05 Marek Polacek <polacek@redhat.com>
5972
5973 PR c/77423
5974 * c-common.c (bool_promoted_to_int_p): New function.
5975 (expr_has_boolean_operands_p): New function.
5976 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
5977 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
5978
21234eb5
TV
59792016-09-04 Tom de Vries <tom@codesourcery.com>
5980
5981 revert:
5982 2016-08-29 Tom de Vries <tom@codesourcery.com>
5983
5984 * c-common.c (build_va_arg): Replace first argument type error
5985 with assert.
5986
9dc5773f
JJ
59872016-09-02 Jakub Jelinek <jakub@redhat.com>
5988
5989 PR c/65467
5990 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
5991 (c_finish_omp_for): Reject _Atomic qualified iterators.
5992
59932016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
5994
5995 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
5996 size to guarantee it fits the output of the formatted function
5997 regardless of its arguments.
5998
295844f6
MP
59992016-09-01 Marek Polacek <polacek@redhat.com>
6000
6001 PR c/7652
6002 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
6003 FALLTHRU comments.
6004
3d06b6f2
MP
60052016-08-29 Marek Polacek <polacek@redhat.com>
6006
6007 PR c/77292
6008 * c-common.c (warn_logical_not_parentheses): Don't warn for
6009 a comparison or a logical operator.
6010
34cedad5
TV
60112016-08-29 Tom de Vries <tom@codesourcery.com>
6012
6013 * c-common.c (build_va_arg): Fix type comparison assert.
6014
f162d717
TV
60152016-08-29 Tom de Vries <tom@codesourcery.com>
6016
6017 * c-common.c (build_va_arg): Replace first argument type error
6018 with assert.
6019
ba9bbd6f
TV
60202016-08-29 Tom de Vries <tom@codesourcery.com>
6021
6022 PR c/77398
6023 * c-common.c (build_va_arg): Add first argument error. Build va_arg
6024 with error_mark_node as va_list instead of with illegal va_list.
6025
ebef225f
MP
60262016-08-25 Marek Polacek <polacek@redhat.com>
6027 David Malcolm <dmalcolm@redhat.com>
6028
6029 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6030 * c-common.h (warn_logical_not_parentheses): Update declaration.
6031
b00e6e75
MP
60322016-08-22 Marek Polacek <polacek@redhat.com>
6033
6034 PR c++/77321
6035 * c-common.c (warn_for_memset): Check type for null.
6036
6dc198e3
JM
60372016-08-22 Joseph Myers <joseph@codesourcery.com>
6038
14ec014e 6039 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
6040 _FloatNx types for suffixes for built-in functions.
6041
c65699ef
JM
60422016-08-19 Joseph Myers <joseph@codesourcery.com>
6043
6044 PR c/32187
6045 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6046 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6047 (RID_FLOAT128X): New enum rid values.
6048 (CASE_RID_FLOATN_NX): New macro.
6049 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6050 keywords.
6051 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6052 corresponding complex types.
6053 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6054 _FloatNx and corresponding complex types.
6055 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6056 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6057 and _FloatNx types for the widest type for determining
6058 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
6059 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
6060 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6061 and _FloatNx types.
6062 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6063 constants.
6064 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6065 _FloatNx types.
6066
cc015f3a
DM
60672016-08-18 David Malcolm <dmalcolm@redhat.com>
6068
6069 * c-opts.c (c_diagnostic_finalizer): Update for change to
6070 diagnostic_show_locus.
6071
cb18fd07
DM
60722016-08-18 David Malcolm <dmalcolm@redhat.com>
6073
6074 * c-common.c: Include "spellcheck.h".
6075 (cb_get_suggestion): New function.
6076 * c-common.h (cb_get_suggestion): New decl.
6077 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6078 cb_get_suggestion.
6079
a76989dc
MP
60802016-08-18 Marek Polacek <polacek@redhat.com>
6081
6082 PR c/71514
6083 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6084 and pointer-to-VLA.
6085
65e736c0
DM
60862016-08-16 David Malcolm <dmalcolm@redhat.com>
6087
6088 PR c/72857
6089 * c-common.c (substring_loc::get_range): Rename to...
6090 (substring_loc::get_location): ...this, converting param from a
6091 source_range * to a location_t *. Call
6092 get_source_location_for_substring rather than
6093 get_source_range_for_substring, and pass in m_caret_idx.
6094 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6095 (substring_loc::get_range): Replace with...
6096 (substring_loc::get_location): ...this.
6097 (substring_loc::set_caret_index): New method.
6098 (substring_loc): Add field m_caret_idx.
6099 * c-format.c (format_warning_va): Update for above changes.
6100 Rename local "substring_loc" to "fmt_substring_loc" to avoid
6101 clashing with type name.
6102 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6103 (check_argument_type): Likewise.
6104 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6105 Use a copy when emitting warnings, setting the caret index from TYPE.
6106
7e1dde14 61072016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6108 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
6109
6110 * c-ada-spec.c (dump_number): New function.
6111 (handle_escape_character): Likewise.
6112 (print_ada_macros): Add handling of constant integers and strings.
6113
191816a3
MP
61142016-08-12 Marek Polacek <polacek@redhat.com>
6115
6116 PR c/7652
6117 * c-common.c (scalar_to_vector): Adjust fall through comment.
6118 * c-opts.c (c_common_handle_option): Likewise.
6119 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6120 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6121 fall through comment.
6122 * cilk.c (extract_free_variables): Add FALLTHRU.
6123
452df4a4
JM
61242016-08-10 Jason Merrill <jason@redhat.com>
6125
6126 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6127
f3365c12
JM
61282016-08-09 Jason Merrill <jason@redhat.com>
6129
6130 * c-common.c (c_common_attribute_table): vector_size affects type
6131 identity.
6132
f0bc3323
MP
61332016-08-09 Marek Polacek <polacek@redhat.com>
6134
6135 PR c/7652
6136 * c-ada-spec.c (dump_generic_ada_node): Add return.
6137
98e5a19a
JM
61382016-08-09 Jason Merrill <jason@redhat.com>
6139
6140 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6141 C++17 constexpr lambdas.
6142
895aa8e1
DM
61432016-08-08 David Malcolm <dmalcolm@redhat.com>
6144
6145 PR c/64955
6146 * c-common.h (selftest::c_format_c_tests): New declaration.
6147 (selftest::run_c_tests): New declaration.
6148 * c-format.c: Include "selftest.h.
6149 (format_warning_va): Add param "corrected_substring" and use
6150 it to add a replacement fix-it hint.
6151 (format_warning_at_substring): Likewise.
6152 (format_warning_at_char): Update for new param of
6153 format_warning_va.
6154 (argument_parser::check_argument_type): Pass "fki" to
6155 check_format_types.
6156 (check_format_types): Add param "fki" and pass it to
6157 format_type_warning.
6158 (deref_n_times): New function.
6159 (get_modifier_for_format_len): New function.
6160 (selftest::test_get_modifier_for_format_len): New function.
6161 (get_format_for_type): New function.
6162 (format_type_warning): Add param "fki" and use it to attempt
6163 to provide hints for argument types when calling
6164 format_warning_at_substring.
6165 (selftest::get_info): New function.
6166 (selftest::assert_format_for_type_streq): New function.
6167 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6168 (selftest::test_get_format_for_type_printf): New function.
6169 (selftest::test_get_format_for_type_scanf): New function.
6170 (selftest::c_format_c_tests): New function.
6171
e52ed3fe
DM
61722016-08-08 David Malcolm <dmalcolm@redhat.com>
6173
6174 PR c/52952
6175 * c-format.c: Include "diagnostic.h".
6176 (location_column_from_byte_offset): Delete.
6177 (location_from_offset): Delete.
6178 (format_warning_va): New function.
6179 (format_warning_at_substring): New function.
6180 (format_warning_at_char): New function.
6181 (check_format_arg): Capture location of format_tree and pass to
6182 check_format_info_main.
6183 (argument_parser): Add fields "start_of_this_format" and
6184 "format_string_cst".
6185 (flag_chars_t::validate): Add param "format_string_cst". Convert
6186 warning_at call using location_from_offset to call to
6187 format_warning_at_char.
6188 (argument_parser::argument_parser): Add param "format_string_cst_"
6189 and use use it to initialize field "format_string_cst".
6190 Initialize new field "start_of_this_format".
6191 (argument_parser::read_format_flags): Convert warning_at call
6192 using location_from_offset to a call to format_warning_at_char.
6193 (argument_parser::read_any_format_left_precision): Likewise.
6194 (argument_parser::read_any_format_precision): Likewise.
6195 (argument_parser::read_any_other_modifier): Likewise.
6196 (argument_parser::find_format_char_info): Likewise, in three places.
6197 (argument_parser::parse_any_scan_set): Likewise, in one place.
6198 (argument_parser::handle_conversions): Likewise, in two places.
6199 (argument_parser::check_argument_type): Add param "fmt_param_loc"
6200 and use it to make a substring_loc. Pass the latter to
6201 check_format_types.
6202 (check_format_info_main): Add params "fmt_param_loc" and
6203 "format_string_cst". Convert warning_at calls using
6204 location_from_offset to calls to format_warning_at_char. Pass the
6205 new params to the arg_parser ctor. Pass "format_string_cst" to
6206 flag_chars.validate. Pass "fmt_param_loc" to
6207 arg_parser.check_argument_type.
6208 (check_format_types): Convert first param from a location_t
6209 to a const substring_loc & and rename to "fmt_loc". Attempt
6210 to extract the range of the relevant parameter and pass it
6211 to format_type_warning.
6212 (format_type_warning): Convert first param from a location_t
6213 to a const substring_loc & and rename to "fmt_loc". Add
6214 params "param_range" and "type". Replace calls to warning_at
6215 with calls to format_warning_at_substring.
6216
1c4d457e
DM
62172016-08-08 David Malcolm <dmalcolm@redhat.com>
6218
6219 * c-format.c (class flag_chars_t): New class.
6220 (struct length_modifier): New struct.
6221 (class argument_parser): New class.
6222 (flag_chars_t::flag_chars_t): New ctor.
6223 (flag_chars_t::has_char_p): New method.
6224 (flag_chars_t::add_char): New method.
6225 (flag_chars_t::validate): New method.
6226 (flag_chars_t::get_alloc_flag): New method.
6227 (flag_chars_t::assignment_suppression_p): New method.
6228 (argument_parser::argument_parser): New ctor.
6229 (argument_parser::read_any_dollar): New method.
6230 (argument_parser::read_format_flags): New method.
6231 (argument_parser::read_any_format_width): New method.
6232 (argument_parser::read_any_format_left_precision): New method.
6233 (argument_parser::read_any_format_precision): New method.
6234 (argument_parser::handle_alloc_chars): New method.
6235 (argument_parser::read_any_length_modifier): New method.
6236 (argument_parser::read_any_other_modifier): New method.
6237 (argument_parser::find_format_char_info): New method.
6238 (argument_parser::validate_flag_pairs): New method.
6239 (argument_parser::give_y2k_warnings): New method.
6240 (argument_parser::parse_any_scan_set): New method.
6241 (argument_parser::handle_conversions): New method.
6242 (argument_parser::check_argument_type): New method.
6243 (check_format_info_main): Introduce classes argument_parser
6244 and flag_chars_t, moving the code within the loop into methods
6245 of these classes. Make various locals "const".
6246
88fa5555
DM
62472016-08-05 David Malcolm <dmalcolm@redhat.com>
6248
6249 * c-common.c: Include "substring-locations.h".
6250 (get_cpp_ttype_from_string_type): New function.
6251 (g_string_concat_db): New global.
6252 (substring_loc::get_range): New method.
6253 * c-common.h (g_string_concat_db): New declaration.
6254 (class substring_loc): New class.
6255 * c-lex.c (lex_string): When concatenating strings, capture the
6256 locations of all tokens using a new obstack, and record the
6257 concatenation locations within g_string_concat_db.
6258 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6259 on the ggc-heap.
6260
78169471
MP
62612016-07-29 Marek Polacek <polacek@redhat.com>
6262
638fc14f
MP
6263 PR c/71926
6264 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6265 parentheses warning.
6266
78169471
MP
6267 PR c/71574
6268 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6269
1225d6b1
ML
62702016-07-28 Martin Liska <mliska@suse.cz>
6271
6272 PR gcov-profile/68025
6273 * c-common.c (handle_no_profile_instrument_function_attribute):
6274
ec1e2a40
BE
62752016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6276
6277 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6278 BITS_PER_UNIT_LOG.
6279
5ec2cd9f
JM
62802016-07-25 Jason Merrill <jason@redhat.com>
6281
6282 PR c++/65970
6283 * c.opt (fconstexpr-loop-limit): New.
6284
9dc5773f 62852016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6286
6287 PR c++/71675
6288 * c-common.c (resolve_overloaded_builtin): Avoid converting
6289 __atomic_compare_exchange_n return type to that of what its
6290 first argument points to.
6291
e3fe09c1
UB
62922016-07-22 Uros Bizjak <ubizjak@gmail.com>
6293
6294 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6295 ~(unsigned HOST_WIDE_INT) 0.
6296
bc91c436
ML
62972016-07-22 Martin Liska <mliska@suse.cz>
6298
6299 PR gcov-profile/69028
6300 PR gcov-profile/62047
6301 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6302 to the current_function_decl.
6303
451dcc66
JM
63042016-07-21 Jason Merrill <jason@redhat.com>
6305
6306 PR c++/65168
6307 * c-common.c (c_common_truthvalue_conversion): Check
6308 c_inhibit_evaluation_warnings for warning about address of
6309 reference.
6310
de6a69ee
DM
63112016-07-20 David Malcolm <dmalcolm@redhat.com>
6312
6313 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6314 const char *.
6315
d022c55a
JM
63162016-07-15 Jason Merrill <jason@redhat.com>
6317
6318 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6319
ddbbcb19
JJ
63202016-07-15 Jakub Jelinek <jakub@redhat.com>
6321
6322 PR c/71858
6323 * c-common.h (enum lookup_name_fuzzy_kind): Add
6324 FUZZY_LOOKUP_FUNCTION_NAME.
6325
d0cf395a
JM
63262016-07-08 Jason Merrill <jason@redhat.com>
6327
6328 P0145: Refining Expression Order for C++.
6329 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6330 * c-opts.c: Adjust.
6331
98d44e93
MT
63322016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6333
6334 PR c++/71214
6335 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6336
f9d8d994
TS
63372016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6338
6339 * c-pragma.h (enum pragma_kind): Rename
6340 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6341 users.
6342
4aa83879
RB
63432016-06-29 Richard Biener <rguenther@suse.de>
6344
6345 PR middle-end/71002
6346 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6347
a25bd9e6
JM
63482016-06-24 Jason Merrill <jason@redhat.com>
6349
6350 P0145R2: Refining Expression Order for C++.
6351 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6352 MODIFY_EXPR.
6353
a86451b9
JJ
63542016-06-24 Jakub Jelinek <jakub@redhat.com>
6355
6356 * c-common.c (check_builtin_function_arguments): Require last
6357 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6358 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6359 if the last argument is pointer to enumerated or boolean type.
6360
1a4f11c8
DM
63612016-06-22 David Malcolm <dmalcolm@redhat.com>
6362
6363 PR c/70339
6364 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6365 (lookup_name_fuzzy): New prototype.
6366
fe55692c
JDA
63672016-06-21 John David Anglin <danglin@gcc.gnu.org>
6368
6369 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6370
4eb24e01
JM
63712016-06-14 Jason Merrill <jason@redhat.com>
6372
6373 P0145R2: Refining Expression Order for C++.
6374 * c.opt (fargs-in-order): New.
6375 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6376
ef7cf206
JJ
63772016-06-13 Jakub Jelinek <jakub@redhat.com>
6378
0dda258b
JJ
6379 PR sanitizer/71498
6380 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6381 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6382
ef7cf206
JJ
6383 PR preprocessor/71183
6384 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6385 to cb_get_source_date_epoch.
6386
50b15873
JJ
63872016-06-10 Jakub Jelinek <jakub@redhat.com>
6388
6389 PR c/68657
6390 * c.opt (Wpsabi): Add Warning flag.
6391
4d926e34
MS
63922016-06-10 Martin Sebor <msebor@redhat.com>
6393
6394 PR c/71392
14ec014e 6395 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
6396 the nonnull attribute in type-generic builtins.
6397
e01b4e16
MS
63982016-06-09 Martin Sebor <msebor@redhat.com>
6399
6400 PR c/70883
6401 * c-common.c (builtin_function_validate_nargs): Make text of error
6402 message consistent with others like it.
6403
44a845ca
MS
64042016-06-08 Martin Sebor <msebor@redhat.com>
6405 Jakub Jelinek <jakub@redhat.com>
6406
6407 PR c++/70507
6408 PR c/68120
6409 * c-common.c (check_builtin_function_arguments): Handle
6410 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6411
a80a7051
RB
64122016-06-08 Richard Biener <rguenther@suse.de>
6413
6414 * c-common.c (parse_optimize_options): Improve diagnostic messages.
6415
bfd67b47
RB
64162016-06-07 Richard Biener <rguenther@suse.de>
6417
6418 PR c/61564
6419 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6420 options and warn about others.
6421
15c98b2e
ES
64222016-06-01 Eduard Sanou <dhole@openmailbox.org>
6423
6424 * c-common.c (get_source_date_epoch): Rename to
6425 cb_get_source_date_epoch.
6426 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6427 message when the parsing fails. Use error_at instead of fatal_error.
6428 * c-common.h (get_source_date_epoch): Rename to
6429 cb_get_source_date_epoch.
6430 * c-common.h (cb_get_source_date_epoch): Prototype.
6431 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6432 * c-common.h (c_omp_region_type): Remove trailing comma.
6433 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6434 * c-lex.c (c_lex_with_flags): Remove initialization of
6435 pfile->source_date_epoch.
6436
00631022
JJ
64372016-05-30 Jakub Jelinek <jakub@redhat.com>
6438
6439 PR c++/71349
6440 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6441 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
6442 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6443 instead of C_OMP_CLAUSE_SPLIT_FOR.
6444
f17a223d
RB
64452016-05-24 Richard Biener <rguenther@suse.de>
6446
6447 PR middle-end/70434
6448 PR c/69504
6449 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6450 (convert_vector_to_array_for_subscript): ... this.
6451 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6452 VIEW_CONVERT_EXPR to an array type. Rename to ...
6453 (convert_vector_to_array_for_subscript): ... this.
6454
4f2e1536
MP
64552016-05-12 Marek Polacek <polacek@redhat.com>
6456
6457 PR c/70756
6458 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6459 size_in_bytes and pass LOC to it.
6460
d6e83a8d
MM
64612016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
6462
6463 PR c/43651
6464 * c.opt (Wduplicate-decl-specifier): New option.
6465
5c3a10fb
MP
64662016-05-11 Marek Polacek <polacek@redhat.com>
6467
6468 PR c++/71024
6469 * c-common.c (diagnose_mismatched_attributes): New function.
6470 * c-common.h (diagnose_mismatched_attributes): Declare.
6471
deef7113
MP
64722016-05-04 Marek Polacek <polacek@redhat.com>
6473
6474 * c.opt (Wdangling-else): New option.
6475
79ce98bc
MP
64762016-05-03 Marek Polacek <polacek@redhat.com>
6477
6478 PR c/70859
6479 * c-common.c (builtin_function_validate_nargs): Add location
6480 parameter. Use it.
6481 (check_builtin_function_arguments): Add location and arguments
6482 parameters. Use them.
6483 * c-common.h (check_builtin_function_arguments): Update declaration.
6484
381cdae4
RB
64852016-05-03 Richard Biener <rguenther@suse.de>
6486
6487 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6488 allow call args to gimplify to SSA names.
6489
1d793c34
MP
64902016-05-03 Marek Polacek <polacek@redhat.com>
6491
6492 * c-common.h (enum c_omp_region_type): Remove stray comma.
6493
77886428
CP
64942016-05-02 Cesar Philippidis <cesar@codesourcery.com>
6495
6496 * c-common.h (enum c_omp_region_type): Define.
6497
697e0b28
RS
64982016-05-02 Richard Sandiford <richard.sandiford@arm.com>
6499
6500 * c-common.c (shorten_compare): Use wi::to_wide.
6501
e7ff0319
CP
65022016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6503
6504 PR middle-end/70626
6505 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6506 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6507 reduction clauses in acc parallel loops.
6508
2fff3db8
MP
65092016-04-29 Marek Polacek <polacek@redhat.com>
6510
6511 PR c/70852
6512 * c-common.c (warn_for_memset): Check domain before accessing it.
6513
509063eb
DV
65142016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
6515
6516 PR/69089
6517 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6518 "aligned" attribute.
6519
b632761d
JM
65202016-04-28 Jason Merrill <jason@redhat.com>
6521
6522 * c-lex.c (c_common_has_attribute): Handle nodiscard.
6523
174f6622
ES
65242016-04-28 Eduard Sanou <dhole@openmailbox.org>
6525 Matthias Klose <doko@debian.org>
6526
6527 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 6528 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
6529 handling.
6530 * c-common.h (get_source_date_epoch): Prototype.
6531 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6532
6bc2bb18
RB
65332015-04-27 Ryan Burn <contact@rnburn.com>
6534
6535 PR c++/69024
6536 PR c++/68997
6537 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6538 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6539 external linkage.
6540 (cilk_detect_and_unwrap): Corresponding changes.
6541 (extract_free_variables): Don't extract free variables from
6542 AGGR_INIT_EXPR slot.
6543 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6544 (cilk_recognize_spawn): Likewise.
6545
c1e1f433
BS
65462016-04-27 Bernd Schmidt <bschmidt@redhat.com>
6547
6548 * c.opt (Wmemset-elt-size): New option.
6549 * c-common.c (warn_for_memset): New function.
6550 * c-common.h (warn_for_memset): Declare.
6551
d067e05f
JM
65522016-04-25 Jason Merrill <jason@redhat.com>
6553
6554 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6555 No longer static.
6556 * c-common.h: Declare it.
6557 * c-lex.c (c_common_has_attribute): Add maybe_unused.
6558
9aa36ae5
JM
65592016-04-22 Jason Merrill <jason@redhat.com>
6560
6561 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6562
477d4906
IV
65632016-04-20 Ilya Verbin <ilya.verbin@intel.com>
6564
6565 PR c++/69363
6566 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6567 * c-common.h (c_finish_cilk_clauses): Remove declaration.
6568
fe37c7af
MM
65692016-04-18 Michael Matz <matz@suse.de>
6570
6571 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6572 and SET_DECL_ALIGN.
6573
23f2660f
EB
65742016-04-17 Eric Botcazou <ebotcazou@adacore.com>
6575
6576 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
6577 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
6578 to incomplete types.
6579 (dump_nested_type): Remove redundant tests and tidy up.
6580 (print_ada_declaration): Also set TREE_VISITED on the declaration of
6581 a type which is the typedef of an original type.
6582
1e77281b
MP
65832016-04-15 Marek Polacek <polacek@redhat.com>
6584
6585 PR c/70651
6586 * c-common.c (build_va_arg): Change two asserts into errors and return
6587 error_mark_node.
6588
b3a77f21
MP
65892016-04-13 Marek Polacek <polacek@redhat.com>
6590
6591 PR c++/70639
6592 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
6593 for switch statements, too.
6594
322b8466
JM
65952016-03-28 Jason Merrill <jason@redhat.com>
6596
6597 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
6598
fbdb6baf
MP
65992016-03-23 Marek Polacek <polacek@redhat.com>
6600
6601 PR c++/69884
6602 * c.opt (Wignored-attributes): New option.
6603
5c240f4d
DM
66042016-03-22 David Malcolm <dmalcolm@redhat.com>
6605
6606 PR c/69993
6607 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
6608 diagnostic text, reversing the order of the warning and note so
6609 that they appear in source order.
6610
14ba7b28
MP
66112016-03-17 Marek Polacek <polacek@redhat.com>
6612
6613 PR c/69407
6614 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
6615 operations.
6616
08a1cadc
JM
66172016-03-14 Jason Merrill <jason@redhat.com>
6618
2aaeea19
JM
6619 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
6620
08a1cadc
JM
6621 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
6622
c06d25bb
RB
66232016-03-09 Richard Biener <rguenther@suse.de>
6624
6625 PR c/70143
6626 * c-common.c (strict_aliasing_warning): Add back
6627 alias_sets_conflict_p check.
6628
80aac5c8
JM
66292016-03-08 Jason Merrill <jason@redhat.com>
6630
6631 * c-opts.c (set_std_cxx1z): Don't enable concepts.
6632
64b23c13
DM
66332016-03-04 David Malcolm <dmalcolm@redhat.com>
6634
6635 PR c/68187
6636 * c-indentation.c (get_visual_column): Move code to determine next
6637 tab stop to...
6638 (next_tab_stop): ...this new function.
6639 (line_contains_hash_if): Delete function.
6640 (detect_preprocessor_logic): Delete function.
6641 (get_first_nws_vis_column): New function.
6642 (detect_intervening_unindent): New function.
6643 (should_warn_for_misleading_indentation): Replace call to
6644 detect_preprocessor_logic with a call to
6645 detect_intervening_unindent.
6646
729526f5
DM
66472016-03-04 David Malcolm <dmalcolm@redhat.com>
6648
6649 PR c/68187
6650 * c-indentation.c (should_warn_for_misleading_indentation): When
6651 suppressing warnings about cases where the guard and body are on
6652 the same column, only use the first non-whitespace column in place
6653 of the guard token column when dealing with "else" clauses.
6654 When rejecting aligned BODY and NEXT, loosen the requirement
6655 from equality with the first non-whitespace of guard to simply
6656 that they not be indented relative to it.
6657
e9a35493
RB
66582016-03-04 Richard Biener <rguenther@suse.de>
6659
6660 PR c++/70054
6661 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
6662 instead of alias_sets_conflict_p.
6663
1be56bc5
MP
66642016-03-01 Marek Polacek <polacek@redhat.com>
6665
6666 PR c++/69795
6667 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
6668 any DECL.
6669
35886f0b
MS
66702016-02-22 Martin Sebor <msebor@redhat.com>
6671
6672 PR middle-end/69780
6673 * c-common.c (check_builtin_function_arguments): Validate and
6674 reject invalid arguments to __builtin_alloca_with_align.
6675
4246c8da
MW
66762016-02-20 Mark Wielaard <mjw@redhat.com>
6677
6678 PR c/28901
6679 * c.opt (Wunused-const-variable): Turn into Alias for...
6680 (Wunused-const-variable=): New option.
6681
268be88c
BE
66822016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6683
6684 PR c++/69865
6685 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
6686 here...
6687 (c_common_init_options): ...to here.
6688 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
6689
871b3f47
JJ
66902016-02-19 Jakub Jelinek <jakub@redhat.com>
6691
6692 PR c++/69826
6693 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
6694 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
6695 flag_preprocess_only.
6696
bf14eba2
JJ
66972016-02-16 Jakub Jelinek <jakub@redhat.com>
6698
6699 PR c/69835
6700 * c.opt (Wnonnull-compare): Enable for -Wall.
6701
ba6b3795
JJ
67022016-02-15 Jakub Jelinek <jakub@redhat.com>
6703
6704 PR c++/69797
6705 * c-common.c (sync_resolve_size): Diagnose too few arguments
6706 even when params is non-NULL empty vector.
6707
a011cd92
BS
67082016-02-08 Bernd Schmidt <bschmidt@redhat.com>
6709
6710 PR target/60410
6711 * c.opt (fshort-double): Remove.
6712
46cb9332
MS
67132016-02-05 Martin Sebor <msebor@redhat.com>
6714
6715 PR c++/69662
6716 * c.opt (Warning options): Update -Wplacement-new to take
6717 an optional argument.
6718
e1b81f2b
JJ
67192016-02-01 Jakub Jelinek <jakub@redhat.com>
6720
6721 PR preprocessor/69543
6722 PR c/69558
6723 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
6724 instead of loc to control_warning_option.
6725
b6adbb9f
NS
67262016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6727
6728 * c.opt (fopenacc-dim=): New option.
6729
5d70666e
RB
67302016-01-27 Ryan Burn <contact@rnburn.com>
6731
6732 PR cilkplus/69267
6733 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
6734 gimplify_arg. Removed superfluous post_p argument.
6735 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
6736 superfluous post_p argument.
6737 * c-gimplify.c (c_gimplify_expr): Likewise.
6738
01e1dea3
DM
67392016-01-26 David Malcolm <dmalcolm@redhat.com>
6740
6741 PR other/69006
6742 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
6743 pp_newline_and_flush with pp_flush.
6744
9f04a53e
MS
67452016-01-20 Martin Sebor <msebor@redhat.com>
6746
6747 PR c/69405
6748 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
6749 an incompatible argument when the argument isn't a valid tree node.
6750
7f26f7df
JM
67512016-01-18 Jason Merrill <jason@redhat.com>
6752
6753 PR c++/68767
6754 * c-common.c (check_function_arguments_recurse): Fold the whole
6755 COND_EXPR, not just the condition.
6756
f62bf092
TV
67572016-01-18 Tom de Vries <tom@codesourcery.com>
6758
6759 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
6760 classify as loop clause.
6761
e0a575ff
JJ
67622016-01-15 Jakub Jelinek <jakub@redhat.com>
6763
6764 PR bootstrap/68271
6765 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
6766 C++ FE no longer has limit on number of pragmas.
6767
67682015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
6769
6770 PR c++/69048
6771 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 6772 to add missing cleanup point.
b6e3db06 6773
c7df95d8
DM
67742016-01-14 David Malcolm <dmalcolm@redhat.com>
6775
6776 PR c++/68819
6777 * c-indentation.c (get_visual_column): Add location_t param.
6778 Handle the column number being zero by effectively disabling the
6779 warning, with an "inform".
6780 (should_warn_for_misleading_indentation): Add location_t argument
6781 for all uses of get_visual_column.
6782
21efdd80
PP
67832016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
6784
6785 PR c++/69029
6786 * c-indentation.c (should_warn_for_misleading_indentation):
6787 Don't warn about do-while statements.
6788
7a127fa7
MS
67892016-01-07 Martin Sebor <msebor@redhat.com>
6790
6791 PR c/68966
6792 * c-common.c (sync_resolve_size): Reject first argument when it's
6793 a pointer to _Bool.
6794
c589e975
DM
67952016-01-05 David Malcolm <dmalcolm@redhat.com>
6796
6797 PR c/69122
6798 * c-indentation.c (get_visual_column): Remove default argument.
6799 (should_warn_for_misleading_indentation): For the multiline case,
6800 update call to get_visual_column for next_stmt_exploc so that it
6801 captures the location of the first non-whitespace character in the
6802 relevant line. Don't issue warnings if there is non-whitespace
6803 before the next statement.
6804
818ab71a
JJ
68052016-01-04 Jakub Jelinek <jakub@redhat.com>
6806
6807 Update copyright years.
6808
745e411d
DM
68092015-12-21 David Malcolm <dmalcolm@redhat.com>
6810
6811 * c-common.c (binary_op_error): Convert first param from
6812 location_t to rich_location * and use it when emitting an error.
6813 * c-common.h (binary_op_error): Convert first param from
6814 location_t to rich_location *.
6815
de67c4c3
DM
68162015-12-16 David Malcolm <dmalcolm@redhat.com>
6817
6818 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
6819 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
6820
4a38b02b
IV
68212015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6822
6823 * c-common.c (c_common_attribute_table): Handle "omp declare target
6824 link" attribute.
6825
54d62f51
JJ
68262015-12-14 Jakub Jelinek <jakub@redhat.com>
6827
6828 PR c/68833
6829 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
6830
8d4227c8
TB
68312014-12-12 Tobias Burnus <burnus@net-b.de>
6832
6833 PR fortran/68815
6834 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
6835 specifiers (%d, %i,%u and %c).
6836
f6069ccc
DM
68372015-12-10 David Malcolm <dmalcolm@redhat.com>
6838
6839 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
6840
63bbf46d
JJ
68412015-12-08 Jakub Jelinek <jakub@redhat.com>
6842
6843 PR c/48088
6844 PR c/68657
6845 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
6846 * c-pragma.c (handle_pragma_diagnostic): Adjust
6847 control_warning_option caller.
6848
f79520bb
DM
68492015-12-07 David Malcolm <dmalcolm@redhat.com>
6850
6851 * c-common.c (c_cpp_error): Update for change to
6852 rich_location::set_range.
6853
b3d5bc62
JJ
68542015-12-04 Paolo Bonzini <bonzini@gnu.org>
6855
6856 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
6857 shifting 1 out of the sign bit.
6858
68592015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
6860
6861 * c-common.c (c_common_attribute_table[]): Update max arguments
6862 count for "simd" attribute.
6863 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
6864
6eb4a537
JJ
68652015-12-03 Jakub Jelinek <jakub@redhat.com>
6866
6867 PR preprocessor/57580
6868 * c-ppoutput.c (print): Change printed field to bool.
6869 Move src_file last for smaller padding.
6870 (init_pp_output): Set print.printed to false instead of 0.
6871 (scan_translation_unit): Fix up formatting. Set print.printed
6872 to true after printing something other than newline.
6873 (scan_translation_unit_trad): Set print.printed to true instead of 1.
6874 (maybe_print_line_1): Set print.printed to false instead of 0.
6875 (print_line_1): Likewise.
6876 (do_line_change): Set print.printed to true instead of 1.
6877 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
6878 dump_macro): Set print.printed to false after printing newline.
6879
4250754e
JM
68802015-12-02 Jason Merrill <jason@redhat.com>
6881
f479b43d
JM
6882 * c-common.c (fold_for_warn): New.
6883 (warn_logical_operator, warn_tautological_cmp)
6884 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
6885
4250754e
JM
6886 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
6887 (c_fully_fold_internal, decl_constant_value_for_optimization):
6888 Move to c/c-fold.c.
6889 * c-common.h: Don't declare decl_constant_value_for_optimization.
6890
e9e32ee6
JM
68912015-12-02 Joseph Myers <joseph@codesourcery.com>
6892
6893 PR c/68162
6894 * c-common.h (c_build_qualified_type): Add extra default
6895 arguments.
6896
37d5ad46
JB
68972015-12-01 Julian Brown <julian@codesourcery.com>
6898 Cesar Philippidis <cesar@codesourcery.com>
6899 James Norris <James_Norris@mentor.com>
6900
6901 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
6902 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
6903 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
6904
f07862c7
EB
69052015-11-30 Eric Botcazou <ebotcazou@adacore.com>
6906
6907 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
6908 (decl_sloc_common): Delete and move bulk of processing to...
6909 (decl_sloc): ...here.
6910 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
6911 (dump_ada_double_name): Remove S parameter and compute the suffix.
6912 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
6913 element type and deal with an anonymous one.
6914 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
6915 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
6916 and remove reference to QUAL_UNION_TYPE.
6917 (dump_nested_types): Make 2 passes on the fields and move bulk to...
6918 (dump_nested_type): ...here. New function extracted from above.
6919 Generate a full declaration for anonymous element type of arrays.
6920 (print_ada_declaration): Really skip anonymous declarations. Remove
6921 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
6922 Clean up processing of declarations of array types and objects.
6923 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
6924 Remove obsolete code and tidy up.
6925
75c8aac3
JH
69262015-11-29 Jan Hubicka <hubicka@ucw.cz>
6927
6928 PR c/67581
6929 * c-common.c (handle_transparent_union_attribute): Update
6930 also type variants.
6931
b58d3df2
ML
69322015-11-27 Martin Liska <mliska@suse.cz>
6933
6934 PR c++/68312
6935 * array-notation-common.c (cilkplus_extract_an_triplets):
6936 Release vector of vectors.
6937 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
6938
89a01fcf
EB
69392015-11-26 Eric Botcazou <ebotcazou@adacore.com>
6940
6941 PR c++/68527
6942 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
6943 (print_ada_struct_decl): Likewise.
6944
cc5c5226
IZ
69452015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
6946
6947 PR c++/68001
6948 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
6949 * cilk.c (recognize_spawn): Determine location in a more precise
6950 way.
6951
269adb9d
JM
69522015-11-19 Jason Merrill <jason@redhat.com>
6953
6954 * c-common.c (shorten_compare): But look through macros from
6955 system headers.
6956
d0eccfcd
JM
69572015-11-18 Jason Merrill <jason@redhat.com>
6958
6959 * c-common.c (shorten_compare): Don't -Wtype-limits if the
6960 non-constant operand comes from a macro.
6961
3e44547c
JM
69622015-11-17 Jason Merrill <jason@redhat.com>
6963
6964 PR bootstrap/68346
6965 * c-common.c (warn_tautological_cmp): Fold before checking for
6966 constants.
6967
0f62c7a0
MP
69682015-11-16 Marek Polacek <polacek@redhat.com>
6969
6970 PR c++/68362
6971 * c-common.c (check_case_bounds): Fold low and high cases.
6972
a868811e
MP
69732015-11-16 Marek Polacek <polacek@redhat.com>
6974
6975 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
6976 * c-common.c (c_common_get_alias_set): Likewise.
6977 (handle_visibility_attribute): Likewise.
6978
fff77217
KY
69792015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
6980
6981 * c-common.c (handle_simd_attribute): New.
6982 (struct attribute_spec): Add entry for "simd".
6983 (handle_simd_attribute): New.
6984
269e63b7
KT
69852015-11-13 Kai Tietz <ktietz70@googlemail.com>
6986
6987 * c-lex.c (interpret_float): Use fold_convert.
6988
ebedc9a3
DM
69892015-11-13 David Malcolm <dmalcolm@redhat.com>
6990
6991 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
6992 and store it on the result.
6993 * c-opts.c (c_common_init_options): Set
6994 global_dc->colorize_source_p.
6995
6e232ba4
JN
69962015-11-12 James Norris <jnorris@codesourcery.com>
6997 Joseph Myers <joseph@codesourcery.com>
6998
7365279f 6999 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
7000 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7001 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7002 PRAGMA_OACC_CLAUSE_LINK.
7003
e78bede6
MP
70042015-11-11 Marek Polacek <polacek@redhat.com>
7005
7006 PR c/68107
7007 PR c++/68266
7008 * c-common.c (valid_array_size_p): New function.
7009 * c-common.h (valid_array_size_p): Declare.
7010
3f8257db 70112015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
7012
7013 PR bootstrap/68271
7014 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7015
69f293c9
AM
70162015-11-11 Andrew MacLeod <amacleod@redhat.com>
7017
7018 * array-notation-common.c: Remove unused header files.
7019 * c-ada-spec.c: Likewise.
7020 * c-cilkplus.c: Likewise.
7021 * c-common.c: Likewise.
7022 * c-cppbuiltin.c: Likewise.
7023 * c-dump.c: Likewise.
7024 * c-format.c: Likewise.
7025 * c-gimplify.c: Likewise.
7026 * c-indentation.c: Likewise.
7027 * c-lex.c: Likewise.
7028 * c-omp.c: Likewise.
7029 * c-opts.c: Likewise.
7030 * c-pch.c: Likewise.
7031 * c-ppoutput.c: Likewise.
7032 * c-pragma.c: Likewise.
7033 * c-pretty-print.c: Likewise.
7034 * c-semantics.c: Likewise.
7035 * c-ubsan.c: Likewise.
7036 * cilk.c: Likewise.
7037 * stub-objc.c: Likewise.
7038
3a40d81d
NS
70392015-11-09 Thomas Schwinge <thomas@codesourcery.com>
7040 Cesar Philippidis <cesar@codesourcery.com>
7041 James Norris <jnorris@codesourcery.com>
7042 Julian Brown <julian@codesourcery.com>
7043 Nathan Sidwell <nathan@codesourcery.com>
7044
7045 * c-pragma.c (oacc_pragmas): Add "routine".
7046 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7047
ee45a32d
EB
70482015-11-08 Eric Botcazou <ebotcazou@adacore.com>
7049
7050 * c-common.c (c_common_attributes): Add scalar_storage_order.
7051 (handle_scalar_storage_order_attribute): New function.
7052 * c-pragma.c (global_sso): New variable.
7053 (maybe_apply_pragma_scalar_storage_order): New function.
7054 (handle_pragma_scalar_storage_order): Likewise.
7055 (init_pragma): Register scalar_storage_order.
7056 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7057 * c.opt (Wscalar-storage-order): New warning.
7058 (fsso-struct=): New option.
7059
eb11eb15
MS
70602015-11-08 Martin Sebor <msebor@redhat.com>
7061
7062 * c.opt (Wplacement-new): Add a period to the end of a sentence.
7063
0aad0198
RS
70642015-11-07 Richard Sandiford <richard.sandiford@arm.com>
7065
7066 * c-common.c: Don't undef DEF_BUILTIN.
7067
8a645150
DM
70682015-11-06 David Malcolm <dmalcolm@redhat.com>
7069
7070 * c-common.c (c_cpp_error): Convert parameter from location_t to
7071 rich_location *. Eliminate the "column_override" parameter and
7072 the call to diagnostic_override_column.
7073 Update the "done_lexing" clause to set range 0
7074 on the rich_location, rather than overwriting a location_t.
7075 * c-common.h (c_cpp_error): Convert parameter from location_t to
7076 rich_location *. Eliminate the "column_override" parameter.
7077
7a5e4956
CP
70782015-11-05 Cesar Philippidis <cesar@codesourcery.com>
7079 Thomas Schwinge <thomas@codesourcery.com>
7080 James Norris <jnorris@codesourcery.com>
7081
7082 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7083 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
7084 clauses with parallel and kernels and loops.
7085 * c-pragma.h (enum pragma_omp_clause): Add entries for
7086 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7087 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7088 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7089 INDEPENDENT,SEQ}.
7090 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7091
e2f5cc96
MS
70922015-11-05 Martin Sebor <msebor@redhat.com>
7093
7094 PR c++/67942
7095 * c.opt (-Wplacement-new): New option.
7096
e01d41e5
JJ
70972015-11-05 Jakub Jelinek <jakub@redhat.com>
7098
7099 * c-common.h (c_finish_omp_atomic): Add TEST argument.
7100 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7101 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
7102 save_expr or create_tmp_var* if TEST is true.
7103 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7104 Don't call add_stmt here.
7105 (struct c_omp_check_loop_iv_data): New type.
7106 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7107 c_omp_check_loop_iv_exprs): New functions.
7108 (c_omp_split_clauses): Adjust for lastprivate being allowed on
7109 distribute.
7110 (c_omp_declare_simd_clauses_to_numbers): Change
7111 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7112 (c_omp_declare_simd_clauses_to_decls): Similarly change those
7113 from numbers to PARM_DECLs.
7114
595278be
MM
71152015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
7116
7117 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7118 flag_checking.
7119
3f8257db 71202015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
7121
7122 PR c++-common/67882
b3d5bc62
JJ
7123 * c-common.h (fold_offsetof_1): Add argument.
7124 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
7125 offsetof expressions that reference elements past the end of
7126 an array.
7127
4bf9e5a8
TS
71282015-11-03 Thomas Schwinge <thomas@codesourcery.com>
7129 Chung-Lin Tang <cltang@codesourcery.com>
7130
7131 * c-pragma.c (oacc_pragmas): Add "atomic".
7132 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7133
3b1661a9
ES
71342015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
7135
7136 * c-common.c (handle_target_clones_attribute): New.
7137 (c_common_attribute_table): Add handle_target_clones_attribute.
7138 (handle_always_inline_attribute): Add check on target_clones attribute.
7139 (handle_target_attribute): Ditto.
7140
2adfab87
AM
71412015-10-29 Andrew MacLeod <amacleod@redhat.com>
7142
7143 * array-notation-common.c: Reorder #include's and remove duplicates.
7144 * c-ada-spec.c: Likewise.
7145 * c-cilkplus.c: Likewise.
7146 * c-common.c: Likewise.
7147 * c-cppbuiltin.c: Likewise.
7148 * c-dump.c: Likewise.
7149 * c-format.c: Likewise.
7150 * c-gimplify.c: Likewise.
7151 * c-indentation.c: Likewise.
7152 * c-lex.c: Likewise.
7153 * c-omp.c: Likewise.
7154 * c-opts.c: Likewise.
7155 * c-pch.c: Likewise.
7156 * c-ppoutput.c: Likewise.
7157 * c-pragma.c: Likewise.
7158 * c-pretty-print.c: Likewise.
7159 * c-semantics.c: Likewise.
7160 * c-ubsan.c: Likewise.
7161 * cilk.c: Likewise.
7162 * stub-objc.c: Likewise.
7163
d90ec4f2
JM
71642015-10-28 Jason Merrill <jason@redhat.com>
7165
7166 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7167
88bae6f4
TS
71682015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7169 James Norris <jnorris@codesourcery.com>
7170 Cesar Philippidis <cesar@codesourcery.com>
7171
7172 PR c/64765
7173 PR c/64880
7174 * c-common.h (c_oacc_split_loop_clauses): Declare function.
7175 * c-omp.c (c_oacc_split_loop_clauses): New function.
7176
b1726d6c
MS
71772015-10-21 Martin Sebor <msebor@redhat.com>
7178
7179 PR driver/68043
7180 * c.opt: End each sentence that describes an option with a period.
7181
fa60eeb9
MP
71822015-10-20 Marek Polacek <polacek@redhat.com>
7183
7184 * array-notation-common.c (is_cilkplus_vector_p): Define.
7185 * c-common.h (is_cilkplus_vector_p): Declare.
7186
95979049
MP
71872015-10-20 Marek Polacek <polacek@redhat.com>
7188
7189 * c.opt (std=gnu++11): Do not describe as experimental.
7190 (std=gnu++14): Likewise.
7191
2a9fb712
JM
71922015-10-19 Jason Merrill <jason@redhat.com>
7193
7194 * c-cppbuiltin.c (c_cpp_builtins): Define
7195 __cpp_nontype_template_args.
7196
13b380a3
JM
71972015-10-19 Jason Merrill <jason@redhat.com>
7198
7199 * c-cppbuiltin.c (c_cpp_builtins): Define
7200 __cpp_enumerator_attributes, __cpp_fold_expressions,
7201 __cpp_unicode_characters.
7202
d9a6bd32
JJ
72032015-10-13 Jakub Jelinek <jakub@redhat.com>
7204 Aldy Hernandez <aldyh@redhat.com>
7205
7206 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7207 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7208 (c_define_builtins): Likewise.
7209 * c-common.h (enum c_omp_clause_split): Add
7210 C_OMP_CLAUSE_SPLIT_TASKLOOP.
7211 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7212 (c_finish_omp_for): Add ORIG_DECLV argument.
7213 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7214 201511 instead of 201307.
7215 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7216 OMP_CRITICAL_CLAUSES to it.
7217 (c_finish_omp_ordered): Add CLAUSES argument, set
7218 OMP_ORDERED_CLAUSES to it.
7219 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7220 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
7221 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7222 constructs and new OpenMP 4.5 clauses. Clear
7223 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7224 verification code.
7225 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7226 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7227 (enum pragma_omp_clause): Add
7228 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7229 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7230
624d31fe
RS
72312015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7232
7233 * c-lex.c (interpret_float): Use real_equal instead of
7234 REAL_VALUES_EQUAL.
7235
b8fd7909
JM
72362015-10-04 Jason Merrill <jason@redhat.com>
7237
7238 Implement N4514, C++ Extensions for Transactional Memory.
7239 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7240 (c_common_attribute_table): Add transaction_safe_dynamic.
7241 transaction_safe now affects type identity.
7242 (handle_tm_attribute): Handle transaction_safe_dynamic.
7243 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7244 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7245 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7246 (D_TRANSMEM): New.
7247 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7248 * c-pretty-print.c (pp_c_attributes_display): Don't print
7249 transaction_safe in C++.
7250
12651878
MP
72512015-10-02 Marek Polacek <polacek@redhat.com>
7252
7253 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7254
3e3b8d63
MP
72552015-10-02 Marek Polacek <polacek@redhat.com>
7256
7257 PR c/64249
7258 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7259 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7260 * c.opt (Wduplicated-cond): New option.
7261
0d1a8f75
JM
72622015-10-01 Joseph Myers <joseph@codesourcery.com>
7263
7264 * c.opt (std=c11): Do not describe as experimental.
7265 (std=gnu11): Likewise.
7266 (std=iso9899:2011): Likewise.
7267
3e32ee19
NS
72682015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7269
7270 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7271 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7272
974348ee
MP
72732015-09-25 Marek Polacek <polacek@redhat.com>
7274
7275 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7276 (ubsan_instrument_shift): Likewise.
7277
15dbc1a6
MP
72782015-09-25 Marek Polacek <polacek@redhat.com>
7279
7280 PR sanitizer/64906
7281 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7282
6b95d7cc
PP
72832015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7284
7285 * c-indentation.c (should_warn_for_misleading_indentation):
7286 Compare next_stmt_vis_column with guard_line_first_nws instead
7287 of with guard_line_vis_column.
7288
c1822f9c
MLI
72892015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7290
7291 PR c/49654
7292 PR c/49655
7293 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7294 options and options not valid for the current language.
7295
d5398058
PP
72962015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7297
7298 * c-indentation.c (should_warn_for_misleading_indentation):
7299 Float out and consolidate the calls to get_visual_column that
7300 are passed guard_exploc as an argument. Compare
7301 next_stmt_vis_column with guard_line_first_nws instead of with
7302 body_line_first_nws.
7303
6b333269
NS
73042015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7305
7306 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7307 Wnamespaces): New C++ warnings.
7308
a75f1574
JM
73092015-09-22 Jason Merrill <jason@redhat.com>
7310
7311 * c-common.h (abi_compat_version_crosses): New.
7312 (warn_abi_version): Declare.
7313 * c-common.c: Define it.
7314 * c-opts.c (c_common_post_options): Handle it.
7315 flag_abi_compat_version defaults to 8.
7316
bdaaa8b7
VV
73172015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7318
7319 Complete the implementation of N4230, Nested namespace definition.
7320 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7321 __cpp_nested_namespace_definitions.
7322
eaa797e8
MLI
73232015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7324
7325 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7326
c4914de6
MLI
73272015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7328
7329 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7330 when warning.
7331 * c-pragma.h (pragma_lex): Add optional loc argument.
7332
fcb87c50
MM
73332015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7334
7335 * c-format.c (check_format_arg): Adjust to use common block size in all
7336 object pools.
7337
31bdd08a
DM
73382015-09-15 David Malcolm <dmalcolm@redhat.com>
7339
7340 * c-format.c (location_from_offset): Update for change in
7341 signature of location_get_source_line.
7342 * c-indentation.c (get_visual_column): Likewise.
7343 (line_contains_hash_if): Likewise.
7344
aa9f4b4c
MP
73452015-09-14 Marek Polacek <polacek@redhat.com>
7346
7347 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7348 setting various warnings.
7349
aa256c4a
MP
73502015-09-14 Marek Polacek <polacek@redhat.com>
7351
7352 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7353 a negative value.
7354
0f876f22
MW
73552015-09-11 Mark Wielaard <mjw@redhat.com>
7356
7357 PR c/28901
7358 * c.opt (Wunused-variable): Option from common.opt.
7359 (Wunused-const-variable): New option.
7360
273aa49e
PC
73612015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7362
7363 PR c++/53184
7364 * c.opt ([Wsubobject-linkage]): Add.
7365
1807ffc1
MS
73662015-09-03 Martin Sebor <msebor@redhat.com>
7367
7368 PR c/66516
7369 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7370 functions.
7371 * c-common.c (reject_gcc_builtin): Define.
7372
38942840
BI
73732015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
7374
7375 PR middle-end/60586
7376 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7377 prototype.
7378 * c-gimplify.c (c_gimplify_expr): Added a call to the function
7379 cilk_gimplify_call_params_in_spawned_fn.
7380 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7381 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7382 unwrapping.
7383
c316b5e4
MP
73842015-08-25 Marek Polacek <polacek@redhat.com>
7385
7386 PR middle-end/67330
7387 * c-common.c (handle_weak_attribute): Don't check whether the
7388 visibility can be changed here.
7389
584a7c46
MLI
73902015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7391
7392 * c-lex.c (c_lex_with_flags): Use explicit locations.
7393
a79683d5
TS
73942015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
7395
7396 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7397 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7398
61717a45
FXC
73992015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7400
7401 PR middle-end/36757
7402 * c-common.c (check_builtin_function_arguments): Add check
7403 for BUILT_IN_SIGNBIT argument.
7404
329524f5
PC
74052015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
7406
7407 PR c++/67160
7408 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7409 in c++1z mode.
7410
4ee55665
MP
74112015-08-17 Marek Polacek <polacek@redhat.com>
7412
7413 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7414 with whitespaces before qualifier names.
7415
b893e375
MP
74162015-08-12 Marek Polacek <polacek@redhat.com>
7417
7418 PR c++/55095
7419 * c-common.c (maybe_warn_shift_overflow): Properly handle
7420 left-shifting 1 into the sign bit.
7421
c2d89095
MLI
74222015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7423
7424 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7425
971e17ff
AS
74262015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
7427 Braden Obrzut <admin@maniacsvault.net>
7428 Jason Merrill <jason@redhat.com>
7429
7430 Add C++ Concepts TS support.
7431 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7432 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7433 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7434 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7435 * c-opts.c (set_std_cxx1z): Set flag_concepts.
7436 * c.opt (fconcepts): New.
7437
b3d5bc62
JJ
74382015-08-02 Martin Sebor <msebor@redhat.com>
7439
7440 * c.opt (-Wframe-address): New warning option.
7441
8ebca419
PP
74422015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7443
7444 * c-indentation.c (should_warn_for_misleading_indentation):
7445 Improve heuristics.
7446
1a1e101f
PP
74472015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7448
7449 * c-indentation.c (get_visual_column): Add parameter first_nws,
7450 use it. Update comment documenting the function.
7451 (is_first_nonwhitespace_on_line): Remove.
7452 (should_warn_for_misleading_indentation): Replace usage of
7453 of is_first_nonwhitespace_on_line with get_visual_column.
7454
992118a1
PP
74552015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7456
7457 * c-indentation.h (struct token_indent_info): Define.
7458 (get_token_indent_info): Define.
7459 (warn_for_misleading_information): Declare.
7460 * c-common.h (warn_for_misleading_information): Remove.
7461 * c-identation.c (warn_for_misleading_indentation):
7462 Change declaration to take three token_indent_infos. Adjust
7463 accordingly.
7464 * c-identation.c (should_warn_for_misleading_indentation):
7465 Likewise. Bail out early if the body is a compound statement.
7466 (guard_tinfo_to_string): Define.
7467
e8fa3817
JM
74682015-07-30 Jason Merrill <jason@redhat.com>
7469
7470 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7471 '*' for reference decay.
7472
173864e8
MP
74732015-07-30 Marek Polacek <polacek@redhat.com>
7474
7475 * c-common.c (warn_tautological_cmp): Bail for float types.
7476
f2afe6dd
MP
74772015-07-27 Marek Polacek <polacek@redhat.com>
7478
7479 PR bootstrap/67030
7480 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7481
05b28fd6
MP
74822015-07-27 Marek Polacek <polacek@redhat.com>
7483
7484 PR c++/66555
7485 PR c/54979
7486 * c-common.c (find_array_ref_with_const_idx_r): New function.
7487 (warn_tautological_cmp): New function.
7488 * c-common.h (warn_tautological_cmp): Declare.
7489 * c.opt (Wtautological-compare): New option.
7490
5a5062b8
MP
74912015-07-23 Marek Polacek <polacek@redhat.com>
7492
7493 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7494 (ubsan_instrument_shift): Likewise.
7495
dc891fe7
MP
74962015-07-23 Marek Polacek <polacek@redhat.com>
7497
7498 PR sanitizer/66908
7499 * c-ubsan.c: Include gimplify.h.
7500 (ubsan_instrument_division): Unshare OP0 and OP1.
7501 (ubsan_instrument_shift): Likewise.
7502
451b5e48
MP
75032015-07-20 Marek Polacek <polacek@redhat.com>
7504 Richard Sandiford <richard.sandiford@arm.com>
7505
7506 PR c++/55095
7507 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7508 Use EXPR_LOC_OR_LOC.
7509 (maybe_warn_shift_overflow): New function.
7510 * c-common.h (maybe_warn_shift_overflow): Declare.
7511 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7512 * c.opt (Wshift-overflow): New option.
7513
fb0b2914
ML
75142015-07-16 Martin Liska <mliska@suse.cz>
7515
7516 * c-format.c (static void check_format_info_main): Use
7517 object_allocator instead of pool_allocator.
7518 (check_format_arg): Likewise.
7519 (check_format_info_main): Likewise.
7520
903f5c23
AM
75212015-07-15 Andrew MacLeod <amacleod@redhat.com>
7522
7523 * c-opts.c: Remove multiline #include comment.
7524
026c3cfd
AH
75252015-07-12 Aldy Hernandez <aldyh@redhat.com>
7526
7527 * c-common.c: Fix double word typos.
7528
bb49ee66
EB
75292015-07-10 Eric Botcazou <ebotcazou@adacore.com>
7530
7531 * c-ada-spec.h (cpp_operation): Revert latest change.
7532 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
7533 constructors and destructors.
7534
1916bcb5
AM
75352015-07-09 Andrew MacLeod <amacleod@redhat.com>
7536
7537 * c-common.h: Adjust includes for flags.h changes.
7538 * stub-objc.c: Likewise.
026c3cfd 7539
a9dcd529
EB
75402015-07-08 Eric Botcazou <ebotcazou@adacore.com>
7541
7542 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7543 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7544
b03b462f
JJ
75452015-07-08 Jakub Jelinek <jakub@redhat.com>
7546
7547 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7548 are to be removed, return NULL rather than original clauses list.
7549
c7131fb2
AM
75502015-07-07 Andrew MacLeod <amacleod@redhat.com>
7551
7552 * array-notation-common.c: Adjust includes.
7553 * c-ada-spec.c: Likewise.
7554 * c-cilkplus.c: Likewise.
7555 * c-common.h: Likewise.
7556 * c-cppbuiltin.c: Likewise.
7557 * c-dump.c: Likewise.
7558 * c-format.c: Likewise.
7559 * c-gimplify.c: Likewise.
7560 * c-indentation.c: Likewise.
7561 * c-lex.c: Likewise.
7562 * c-omp.c: Likewise.
7563 * c-opts.c: Likewise.
7564 * c-pch.c: Likewise.
7565 * c-ppoutput.c: Likewise.
7566 * c-pragma.c: Likewise.
7567 * c-pretty-print.c: Likewise.
7568 * c-semantics.c: Likewise.
7569 * c-ubsan.c: Likewise.
7570 * cilk.c: Likewise.
7571 * stub-objc.c: Likewise.
7572
2a7fb83f
EB
75732015-07-07 Eric Botcazou <ebotcazou@adacore.com>
7574
7575 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7576 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
7577
a03c9bf1
JM
75782015-07-01 Jason Merrill <jason@redhat.com>
7579
36a85135
JM
7580 * c-common.h (D_CXX11): Rename from D_CXX0X.
7581 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
7582 * c-common.c: Adjust.
7583
e7fa68d5
JM
7584 * c-opts.c (c_common_post_options): Default to C++14.
7585
a03c9bf1
JM
7586 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
7587
fe95b036
ESR
75882015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
7589
7590 Implement N4197 - Adding u8 character literals
b3d5bc62 7591 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 7592 CPP_CHAR.
b3d5bc62 7593 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 7594 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 7595 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
7596 and CPP_UTF8CHAR tokens.
7597 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 7598
da2e71c9
MLI
75992015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7600
7601 PR fortran/66605
7602 * c-common.c (do_warn_unused_parameter): Move here.
7603 * c-common.h (do_warn_unused_parameter): Declare.
7604
b155cfd9
MP
76052015-06-29 Marek Polacek <polacek@redhat.com>
7606
7607 PR c/66322
7608 * c-common.c (check_case_bounds): Add bool * parameter. Set
7609 OUTSIDE_RANGE_P.
7610 (c_add_case_label): Add bool * parameter. Pass it down to
7611 check_case_bounds.
7612 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
7613 warning here.
7614 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
7615 declarations.
7616
31521951
MP
76172015-06-27 Marek Polacek <polacek@redhat.com>
7618
7619 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
7620 or VECTOR_INTEGER_TYPE_P throughout.
7621 * c-gimplify.c: Likewise.
7622
22d03525
MP
76232015-06-26 Marek Polacek <polacek@redhat.com>
7624
7625 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
7626 * c-common.c (c_fully_fold_internal): Likewise.
7627 (c_alignof_expr): Likewise.
7628 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
7629 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 7630 * cilk.c (create_parm_list): Likewise.
22d03525 7631
af05e6e5
MP
76322015-06-26 Marek Polacek <polacek@redhat.com>
7633
7634 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
7635
f0889939
AM
76362015-06-25 Andrew MacLeod <amacleod@redhat.com>
7637
7638 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
7639 * c-gimplify.c: Likewise.
7640 * c-pragma.c: Likewise.
7641 * c-ubsan.c: Likewise.
7642 * cilk.c: Likewise.
7643
ca752f39
RS
76442015-06-25 Richard Sandiford <richard.sandiford@arm.com>
7645
7646 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
7647 ggc_hasher.
7648
16a16ec7
AM
76492015-06-25 Andrew MacLeod <amacleod@redhat.com>
7650
7651 * cilk.c: Move calls.h after tm.h in the include chain.
7652
0ae9bd27
MP
76532015-06-25 Marek Polacek <polacek@redhat.com>
7654
7655 * array-notation-common.c: Use VAR_P throughout.
7656 * c-ada-spec.c: Likewise.
7657 * c-common.c: Likewise.
7658 * c-format.c: Likewise.
7659 * c-gimplify.c: Likewise.
7660 * c-omp.c: Likewise.
7661 * c-pragma.c: Likewise.
7662 * c-pretty-print.c: Likewise.
7663 * cilk.c: Likewise.
7664
62f9079a
MP
76652015-06-25 Marek Polacek <polacek@redhat.com>
7666
7667 * cilk.c (extract_free_variables): Use is_global_var.
7668
0fa16060
RS
76692015-06-23 Richard Sandiford <richard.sandiford@arm.com>
7670
7671 * c-common.c: Don't include target-def.h.
7672
a68ae2e1
MP
76732015-06-23 Marek Polacek <polacek@redhat.com>
7674
7675 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
7676 when comparing INTEGER_CSTs.
7677
c6a2f2d9
PMR
76782015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
7679
7680 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
7681 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
7682 (dump_ada_template): Skip partially specialized types.
7683
6b4db501
MM
76842015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
7685
7686 * c-common.c (scalar_to_vector): Use std::swap instead of manually
7687 swapping.
7688
abb226c9
AM
76892015-06-17 Andrew MacLeod <amacleod@redhat.com>
7690
7691 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
7692 * c-ada-spec.c: Likewise.
7693 * c-cilkplus.c: Likewise.
7694 * c-common.c: Likewise.
7695 * c-common.h: Likewise.
7696 * c-cppbuiltin.c: Likewise.
7697 * c-dump.c: Likewise.
7698 * c-format.c: Likewise.
7699 * c-gimplify.c: Likewise.
7700 * c-indentation.c: Likewise.
7701 * c-lex.c: Likewise.
7702 * c-omp.c: Likewise.
7703 * c-opts.c: Likewise.
7704 * c-pch.c: Likewise.
7705 * c-ppoutput.c: Likewise.
7706 * c-pragma.c: Likewise.
7707 * c-pretty-print.c: Likewise.
7708 * c-semantics.c: Likewise.
7709 * c-ubsan.c: Likewise.
7710 * cilk.c: Likewise.
7711 * stub-objc.c: Likewise.
7712
076fecad
PP
77132015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
7714
7715 PR c++/65168
7716 * c-common.c (c_common_truthvalue_conversion): Warn when
7717 converting an address of a reference to a truth value.
7718
13fdf2e2
AM
77192015-06-08 Andrew MacLeod <amacleod@redhat.com>
7720
7721 * array-notation-common.c : Adjust include files.
7722 * c-ada-spec.c : Likewise.
7723 * c-cilkplus.c : Likewise.
7724 * c-common.c : Likewise.
7725 * c-common.h : Likewise.
7726 * c-cppbuiltin.c : Likewise.
7727 * c-dump.c : Likewise.
7728 * c-format.c : Likewise.
7729 * c-gimplify.c : Likewise.
7730 * c-indentation.c : Likewise.
7731 * c-lex.c : Likewise.
7732 * c-omp.c : Likewise.
7733 * c-opts.c : Likewise.
7734 * c-pch.c : Likewise.
7735 * c-ppoutput.c : Likewise.
7736 * c-pragma.c : Likewise.
7737 * c-pretty-print.c : Likewise.
7738 * c-semantics.c : Likewise.
7739 * c-ubsan.c : Likewise.
7740 * cilk.c : Likewise.
7741 * stub-objc.c : Likewise.
7742
a1661b90
MP
77432015-06-08 Marek Polacek <polacek@redhat.com>
7744
7745 PR c/66415
7746 * c-format.c (location_from_offset): Return LOC if LINE is null.
7747
d7438551
AH
77482015-06-05 Aldy Hernandez <aldyh@redhat.com>
7749
7750 * c-common.h (c_parse_final_cleanups): New prototype.
7751 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
7752
b3d5bc62
JJ
77532015-06-04 Sriraman Tallam <tmsriram@google.com>
7754
7755 * c-common.c (noplt): New attribute.
7756 (handle_noplt_attribute): New handler.
7757
ecb9f223
AM
77582015-06-04 Andrew MacLeod <amacleod@redhat.com>
7759
7760 * array-notation-common.c: Adjust includes for restructured coretypes.h.
7761 * c-ada-spec.c: Likewise.
7762 * c-cilkplus.c: Likewise.
7763 * c-common.c: Likewise.
7764 * c-common.h: Likewise.
7765 * c-cppbuiltin.c: Likewise.
7766 * c-dump.c: Likewise.
7767 * c-format.c: Likewise.
7768 * c-gimplify.c: Likewise.
7769 * c-indentation.c: Likewise.
7770 * c-lex.c: Likewise.
7771 * c-omp.c: Likewise.
7772 * c-opts.c: Likewise.
7773 * c-pch.c: Likewise.
7774 * c-ppoutput.c: Likewise.
7775 * c-pragma.c: Likewise.
7776 * c-pretty-print.c: Likewise.
7777 * c-semantics.c: Likewise.
7778 * c-ubsan.c: Likewise.
7779 * cilk.c: Likewise.
7780 * stub-objc.c: Likewise.
7781
6ac48155
DM
77822015-06-02 David Malcolm <dmalcolm@redhat.com>
7783
7784 PR c/66220:
7785 * c-indentation.c (should_warn_for_misleading_indentation): Use
7786 expand_location rather than expand_location_to_spelling_point.
7787 Don't warn if the guarding statement is more indented than the
7788 next/body stmts.
7789
773ce42e
DM
77902015-06-02 David Malcolm <dmalcolm@redhat.com>
7791
7792 * c-indentation.c (warn_for_misleading_indentation): Bail out
7793 immediately if -Wmisleading-indentation isn't enabled.
7794
4fef8379
ML
77952015-06-01 Martin Liska <mliska@suse.cz>
7796
7797 * c-format.c (check_format_arg):Use new type-based pool allocator.
7798 (check_format_info_main) Likewise.
7799
1edfb384
EB
78002015-05-31 Eric Botcazou <ebotcazou@adacore.com>
7801
7802 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
7803 (has_nontrivial_methods): Likewise.
7804
9677ef52
MP
78052015-05-25 Marek Polacek <polacek@redhat.com>
7806
7807 * c-ubsan.c (ubsan_instrument_shift): Use type0.
7808
fd5c817a
MP
78092015-05-22 Marek Polacek <polacek@redhat.com>
7810
7811 PR c/47043
7812 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
7813
a2f45fe6 78142015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
7815
7816 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
7817 STACK_GROWS_DOWNWARD.
7818
a2f45fe6 78192015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
7820
7821 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
7822 STACK_GROWS_DOWNWARD rather than if it is defined.
7823
0fee2ac2 78242015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 7825
0fee2ac2
MLI
7826 PR c/52952
7827 * c-format.c (location_column_from_byte_offset): New.
7828 (location_from_offset): New.
7829 (struct format_wanted_type): Add offset_loc field.
7830 (check_format_info): Move handling of location for extra arguments
7831 closer to the point of warning.
7832 (check_format_info_main): Pass the result of location_from_offset
7833 to warning_at.
7834 (format_type_warning): Pass the result of location_from_offset
7835 to warning_at.
7836
cf4ef6f7
MP
78372015-05-20 Marek Polacek <polacek@redhat.com>
7838
7839 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
7840
3a65ee74
MP
78412015-05-20 Marek Polacek <polacek@redhat.com>
7842
7843 * c-ada-spec.c (dump_sloc): Use DECL_P.
7844
21b634ae
MP
78452015-05-20 Marek Polacek <polacek@redhat.com>
7846
7847 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
7848 * c-common.c: Likewise.
7849
0e50b624
DM
78502015-05-19 David Malcolm <dmalcolm@redhat.com>
7851
7852 * c-common.h (fe_file_change): Strengthen param from
7853 const line_map * to const line_map_ordinary *.
7854 (pp_file_change): Likewise.
7855 * c-lex.c (fe_file_change): Likewise.
7856 (cb_define): Use linemap_check_ordinary when invoking
7857 SOURCE_LINE.
7858 (cb_undef): Likewise.
7859 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
7860 invoking cb_file_change.
7861 (c_finish_options): Likewise.
7862 (push_command_line_include): Likewise.
7863 (cb_file_change): Strengthen param "new_map" from
7864 const line_map * to const line_map_ordinary *.
7865 * c-ppoutput.c (cb_define): Likewise for local "map".
7866 (pp_file_change): Likewise for param "map" and local "from".
7867
fab27f52
MM
78682015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
7869
7870 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
7871
2fe1d762
TV
78722015-05-18 Tom de Vries <tom@codesourcery.com>
7873
7874 * c-common.c (build_va_arg_1): New function.
7875 (build_va_arg): Add address operator to va_list operand if necessary.
7876
7a37fa90
MM
78772015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
7878
7879 PR c/48956
7880 * c-common.c (int_safely_convertible_to_real_p): Define.
7881 (unsafe_conversion_p): Check conversions involving complex types.
7882 (conversion_warning): Add new warning message for conversions which
7883 discard imaginary component.
7884 * c-common.h: (enum conversion_safety): Add new enumerator for such
7885 conversions.
7886
3aa3c9fc
MP
78872015-05-14 Marek Polacek <polacek@redhat.com>
7888
7889 PR c/66066
7890 PR c/66127
7891 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
7892 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
7893 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
7894 use it. If FOR_INT_CONST, require that all evaluated operands be
7895 INTEGER_CSTs.
7896
c3388e62
DM
78972015-05-12 David Malcolm <dmalcolm@redhat.com>
7898
7899 * c-common.h (warn_for_misleading_indentation): New prototype.
7900 * c-indentation.c: New file.
7901 * c.opt (Wmisleading-indentation): New option.
7902
c7b38fd5
TV
79032015-05-12 Tom de Vries <tom@codesourcery.com>
7904
7905 PR tree-optimization/66010
7906 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
7907
381bf11e
JM
79082015-05-09 Jason Merrill <jason@redhat.com>
7909
edff0c06
JM
7910 * c-opts.c (c_common_post_options): Also clear
7911 cpp_opts->cpp_warn_cxx11_compat.
7912
129211bc
JM
7913 * c-common.h (enum cxx_dialect): Add cxx_unset.
7914 * c-common.c (cxx_dialect): Initialize to cxx_unset.
7915 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
7916
381bf11e
JM
7917 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
7918 (std=gnu++0x): Mark as Undocumented.
7919 (std=gnu++1y): Add deprecated message.
7920
fe191308
JM
79212015-05-08 Jason Merrill <jason@redhat.com>
7922
765189ff
JM
7923 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
7924 * c-opts.c: Adjust.
7925
fe191308
JM
7926 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
7927
755e528f
MP
79282015-05-08 Marek Polacek <polacek@redhat.com>
7929
7930 PR c/64918
7931 * c.opt (Woverride-init-side-effects): New option.
7932
0173bd2a
MP
79332015-05-07 Marek Polacek <polacek@redhat.com>
7934
7935 PR c/65179
7936 * c-common.c (c_fully_fold_internal): Warn when left shifting a
7937 negative value.
7938 * c.opt (Wshift-negative-value): New option.
7939 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
7940 when -Wextra and C99/C++11 mode.
7941
e0f0d3b9
MP
79422015-05-07 Marek Polacek <polacek@redhat.com>
7943 Martin Uecker <uecker@eecs.berkeley.edu>
7944
7945 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
7946 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
7947
8243e2a9
JM
79482015-05-05 Jason Merrill <jason@redhat.com>
7949
7950 * c.opt (Wterminate): New.
7951
577cd070
MP
79522015-04-30 Marek Polacek <polacek@redhat.com>
7953
7954 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
7955 require that the non-constant be of a boolean type.
7956
0373796b
JT
79572015-04-29 Josh Triplett <josh@joshtriplett.org>
7958
e0f0d3b9
MP
7959 * c-common.c (handle_section_attribute): Refactor to reduce
7960 nesting and distinguish between error cases.
0373796b 7961
716c0ba6
MP
79622015-04-29 Marek Polacek <polacek@redhat.com>
7963
7964 PR c/64610
7965 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
7966 with 0/1.
7967
8848828b
JJ
79682015-04-29 Jakub Jelinek <jakub@redhat.com>
7969
7970 * c-common.h (omp_clause_mask): Unconditionally define as a class.
7971 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
7972 HOST_BITS_PER_WIDE_INT.
7973
ecd0e562
TV
79742015-04-28 Tom de Vries <tom@codesourcery.com>
7975
7976 PR tree-optimization/65887
7977 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
7978
2a877204 79792015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 7980 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
7981
7982 * c-ada-spec.c (in_function): Delete.
7983 (dump_generic_ada_node): Do not change in_function and remove the
7984 redundant code dealing with it.
7985 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
7986 (print_ada_methods): Output the static member functions in a nested
7987 package after the regular methods as well as associated renamings.
7988
4853031e
MP
79892015-04-24 Marek Polacek <polacek@redhat.com>
7990
7991 PR c/65830
7992 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
7993 and OPT_Wshift_count_overflow.
7994
8c2b7f79
MP
7995 PR c/63357
7996 * c-common.c (warn_logical_operator): Warn if the operands have the
7997 same expressions.
7998
b8787813
MP
79992015-04-24 Marek Polacek <polacek@redhat.com>
8000
8001 PR c/61534
8002 * c-common.c (warn_logical_operator): Bail if either operand comes
8003 from a macro expansion.
8004
8fba1830
BRF
80052015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8006
8007 PR target/55143
8008 * c-common.c (c_default_pointer_mode): Add definition.
8009 * c-common.h (c_default_pointer_mode): Add declaration.
8010
17958621
JJ
80112015-03-11 Jakub Jelinek <jakub@redhat.com>
8012
8013 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8014 on record_builtin_type argument.
8015
7ccb1a11
JJ
80162015-03-10 Jakub Jelinek <jakub@redhat.com>
8017
8018 PR c/65120
8019 * c-common.c (warn_logical_not_parentheses): Don't warn for
8020 !x == 0 or !x != 0.
8021
04fd785e
MP
80222015-03-07 Marek Polacek <polacek@redhat.com>
8023
8024 PR sanitizer/65280
8025 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8026 before trying to figure out whether we have a flexible array member.
8027
a4e26206 80282015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 8029 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
8030
8031 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8032
0d2489f4
EB
80332015-03-05 Eric Botcazou <ebotcazou@adacore.com>
8034
8035 PR ada/65319
8036 * c-ada-spec.c (print_destructor): Remove obsolete code.
8037
83ed54d7
EB
80382015-03-01 Eric Botcazou <ebotcazou@adacore.com>
8039
8040 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8041 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8042 DECL_TEMPLATE_RESULT emulations.
8043 (dump_ada_template)): Add guard for TYPE_METHODS.
8044
7631f0e2
MP
80452015-02-27 Marek Polacek <polacek@redhat.com>
8046
8047 PR c/65040
8048 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8049
d1783ae5
KT
80502015-02-27 Kai Tietz <ktietz@redhat.com>
8051
8052 PR c/35330
8053 * c-pragma.c (handle_pragma_weak): Do not try to create
8054 weak/alias of declarations not being function, or variable
8055 declarations.
8056
56a9f6bc
TS
80572015-02-24 Thomas Schwinge <thomas@codesourcery.com>
8058
8059 PR libgomp/64625
8060 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8061 Remove macros.
8062 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8063
3d5cb23d
MP
80642015-02-16 Marek Polacek <polacek@redhat.com>
8065
8066 PR c/65066
8067 * c-format.c (check_format_types): Handle null param.
8068
fa008882
MP
80692015-02-13 Marek Polacek <polacek@redhat.com>
8070
8071 PR c/65040
8072 * c-format.c (check_format_types): Don't warn about different
8073 signedness if the original value is in the range of WANTED_TYPE.
8074
785f21af
JM
80752015-02-12 Jason Merrill <jason@redhat.com>
8076
8077 PR c++/64956
8078 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8079 to the current highest version.
8080 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8081
4886ec8e
JJ
80822015-02-04 Jakub Jelinek <jakub@redhat.com>
8083
8084 PR c/64824
8085 PR c/64868
8086 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8087 instead of RDIV_EXPR. Use build_binary_op instead of
8088 build2_loc.
8089
40fecdd6
JM
80902015-01-30 Joseph Myers <joseph@codesourcery.com>
8091
8092 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8093 to pass input_location as first argument.
8094
a0c88d06
TV
80952015-01-23 Tom de Vries <tom@codesourcery.com>
8096
8097 PR libgomp/64672
8098 * c.opt (fopenacc): Mark as LTO option.
8099
1506ae0e
TV
81002015-01-23 Tom de Vries <tom@codesourcery.com>
8101
8102 PR libgomp/64707
8103 * c.opt (fopenmp): Mark as LTO option.
8104
31be63ab
JJ
81052015-01-21 Jakub Jelinek <jakub@redhat.com>
8106
8107 PR c/63307
b1726d6c 8108 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
8109 (compare_decls): Fix up formatting.
8110
81112015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
8112
8113 PR c/63307
8114 * cilk.c: Include vec.h.
8115 (struct cilk_decls): New structure.
8116 (wrapper_parm_cb): Split this function to...
8117 (fill_decls_vec): ...this...
8118 (create_parm_list): ...and this.
8119 (compare_decls): New function.
8120 (for_local_cb): Remove.
8121 (wrapper_local_cb): Ditto.
8122 (build_wrapper_type): For now first traverse and fill vector of
8123 declarations then sort it and then deal with sorted vector.
8124 (cilk_outline): Ditto.
8125 (declare_one_free_variable): Ditto.
8126
6875457f
JM
81272015-01-21 Jason Merrill <jason@redhat.com>
8128
8129 PR c++/64629
8130 * c-format.c (check_format_arg): Call decl_constant_value.
8131
185c9e56
ML
81322015-01-19 Martin Liska <mliska@suse.cz>
8133
8134 * c-common.c (handle_noicf_attribute): New function.
8135
41dbbb37
TS
81362015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8137 Bernd Schmidt <bernds@codesourcery.com>
8138 James Norris <jnorris@codesourcery.com>
8139 Cesar Philippidis <cesar@codesourcery.com>
8140 Ilmir Usmanov <i.usmanov@samsung.com>
8141 Jakub Jelinek <jakub@redhat.com>
8142
8143 * c.opt (fopenacc): New option.
8144 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8145 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8146 New macros.
8147 * c-common.h (c_finish_oacc_wait): New prototype.
8148 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8149 (c_finish_oacc_wait): New function.
8150 * c-pragma.c (oacc_pragmas): New variable.
8151 (c_pp_lookup_pragma, init_pragma): Handle it.
8152 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8153 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8154 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8155 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8156 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8157 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8158 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8159 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8160 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8161 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8162 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8163 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8164 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8165 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8166 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8167 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8168 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8169 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8170 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8171 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8172 PRAGMA_OACC_CLAUSE_WORKER.
8173
3f8257db 81742015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
8175
8176 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8177 for the new option fstack-protector_explicit.
8178 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8179 (handle_stack_protect_attribute): New function.
8180
3f8257db 81812015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
8182
8183 * c.opt: New option -Warray-bounds=.
8184
adfac8df
JJ
81852015-01-09 Michael Collison <michael.collison@linaro.org>
8186
8187 * array-notation-common.c: Include hash-set.h, machmode.h,
8188 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8189 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8190 * c-ada-spec.c: Ditto.
8191 * c-cilkplus.c: Ditto.
8192 * c-common.c: Include input.h due to flattening of tree.h.
8193 Define macro GCC_C_COMMON_C.
8194 * c-common.h: Flatten tree.h header files into c-common.h.
8195 Remove include of tree-core.h.
8196 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8197 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8198 fold-const.h, wide-int.h, and inchash.h due to
8199 flattening of tree.h.
8200 * c-dump.c: Ditto.
8201 * c-format.c: Flatten tree.h header files into c-common.h.
8202 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8203 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8204 fold-const.h, wide-int.h, and inchash.h due to
8205 flattening of tree.h.
8206 * c-dump.c: Include hash-set.h, machmode.h,
8207 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8208 fold-const.h, wide-int.h, and inchash.h due to
8209 flattening of tree.h.
8210 * c-format.c: Include hash-set.h, machmode.h,
8211 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8212 fold-const.h, wide-int.h, inchash.h and real.h due to
8213 flattening of tree.h.
8214 * c-gimplify.c: Include hash-set.h, machmode.h,
8215 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8216 fold-const.h, wide-int.h, and inchash.h due to
8217 flattening of tree.h.
8218 * cilk.c: Ditto.
8219 * c-lex.c: Ditto.
8220 * c-omp.c: Ditto.
8221 * c-opts.c: Ditto.
8222 * c-pch.c: Ditto.
8223 * c-ppoutput.c: Ditto.
8224 * c-pragma.c: Ditto.
8225 * c-pretty-print.c: Ditto.
8226 * c-semantics.c: Ditto.
8227 * c-ubsan.c: Ditto.
8228 * stub-objc.c: Ditto.
8229
f5481fc4
JM
82302015-01-08 Jason Merrill <jason@redhat.com>
8231
8232 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8233 do_ubsan_in_current_function.
8234 (ubsan_maybe_instrument_reference_or_call): Likewise.
8235 * c-ubsan.h: Declare it.
8236
de35aa66
MS
82372015-01-08 Mike Stump <mikestump@comcast.net>
8238
8239 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8240
4a9a42ab
MP
82412015-01-07 Marek Polacek <polacek@redhat.com>
8242
8243 PR c/64440
8244 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8245 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8246
2f42e5de
TS
82472015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8248
8249 PR c++/31397
8250 * c.opt (Wsuggest-override): New option.
8251
5624e564
JJ
82522015-01-05 Jakub Jelinek <jakub@redhat.com>
8253
8254 Update copyright years.
8255
5bd012f8
MP
82562015-01-05 Marek Polacek <polacek@redhat.com>
8257
8258 PR c/64423
8259 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8260 parameter. Use it.
8261 * c-common.h (warn_array_subscript_with_type_char): Update
8262 declaration.
8263
a7fa8d18
ESR
82642014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8265
8266 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8267 Control macro with flag_sized_deallocation.
8268
3f8257db 82692014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8270
8271 * c.opt (Wdiscarded-array-qualifiers): New option.
8272
1f8d3e84
JJ
82732014-12-19 Jakub Jelinek <jakub@redhat.com>
8274
8275 PR preprocessor/63831
8276 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8277 and __has_cpp_attribute here.
8278 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8279 c_common_has_attribute.
8280 * c-common.h (c_common_has_attribute): New prototype.
8281 * c-lex.c (init_c_lex): Set cb->has_attribute to
8282 c_common_has_attribute instead of cb_has_attribute.
8283 (get_token_no_padding): New function.
8284 (cb_has_attribute): Renamed to ...
8285 (c_common_has_attribute): ... this. No longer static. Use
8286 get_token_no_padding, require ()s, don't build TREE_LIST
8287 unnecessarily, fix up formatting, adjust diagnostics, call
8288 init_attributes.
8289
20b06add
JM
82902014-12-15 Jason Merrill <jason@redhat.com>
8291
8292 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8293 (-Wsized-deallocation): New.
8294 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8295 to on in C++14 and up.
8296
94a073b2
JM
82972014-12-11 Jason Merrill <jason@redhat.com>
8298
acaa5911
JM
8299 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8300
94a073b2
JM
8301 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8302 we aren't complaining about VLAs.
8303
7fb66c15
MP
83042014-12-06 Marek Polacek <polacek@redhat.com>
8305
8306 PR tree-optimization/64183
8307 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8308 shift-expression if it is integer_type_node. Use types_compatible_p.
8309
b731b390
JJ
83102014-11-29 Jakub Jelinek <jakub@redhat.com>
8311
8312 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8313 last argument from create_tmp_var_raw and create_tmp_var calls.
8314 * cilk.c (gimplify_cilk_spawn): Likewise.
8315 * c-omp.c (c_finish_omp_atomic): Likewise.
8316
6a4da643
MP
83172014-11-28 Marek Polacek <polacek@redhat.com>
8318
8319 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8320 instead of unsigned_type_node.
8321
541e35a6
MP
83222014-11-28 Marek Polacek <polacek@redhat.com>
8323
8324 PR c/63862
8325 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8326 to op1_utype.
8327 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8328 expression to unsigned_type_node.
8329
dcc97066
MW
83302014-11-20 Mark Wielaard <mjw@redhat.com>
8331
8332 PR debug/38757
8333 * c-opts.c (set_std_c89): Set lang_hooks.name.
8334 (set_std_c99): Likewise.
8335 (set_std_c11): Likewise.
8336 (set_std_cxx98): Likewise.
8337 (set_std_cxx11): Likewise.
8338 (set_std_cxx14): Likewise.
8339 (set_std_cxx1z): Likewise.
8340
aa7da51a
JJ
83412014-11-21 Jakub Jelinek <jakub@redhat.com>
8342
8343 PR target/63764
8344 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8345 return type to bool.
009a3480 8346 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8347 (convert_vector_to_pointer_for_subscript): Change return type to
8348 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8349 and copy it into a TARGET_EXPR and use that instead of *vecp
8350 directly.
8351
538dd0b7
DM
83522014-11-19 David Malcolm <dmalcolm@redhat.com>
8353
8354 Merger of git branch "gimple-classes-v2-option-3".
8355 * ChangeLog.gimple-classes: New.
8356 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8357 from being just a vec<gimple> to a vec<gbind *>.
8358
c39a5e99
JJ
83592014-11-18 Jakub Jelinek <jakub@redhat.com>
8360
8361 PR sanitizer/63813
8362 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8363 argument to ptype, set type to TREE_TYPE (ptype). Don't call
8364 get_pointer_alignment for non-pointers. Use ptype, or if it is
8365 reference type, corresponding pointer type, as type of kind
8366 argument.
8367 (ubsan_maybe_instrument_reference,
8368 ubsan_maybe_instrument_member_call): Adjust callers.
8369
8537a4a9
MP
83702014-11-15 Marek Polacek <polacek@redhat.com>
8371
8372 PR middle-end/63884
8373 * array-notation-common.c (is_sec_implicit_index_fn): Return false
8374 for NULL fndecl.
8375 (extract_array_notation_exprs): Return for NULL node.
8376
2079956a
JM
83772014-11-12 Joseph Myers <joseph@codesourcery.com>
8378
8379 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8380 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8381
1304953e
JJ
83822014-11-12 Jakub Jelinek <jakub@redhat.com>
8383
8384 PR c/59708
8385 * c-common.c (check_builtin_function_arguments): Handle
8386 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8387
e5e44252
AK
83882014-11-10 Andi Kleen <ak@linux.intel.com>
8389
8390 PR c/60804
8391 * c-common.h (check_no_cilk): Declare.
8392 * cilk.c (get_error_location): New function.
8393 (check_no_cilk): Dito.
8394
e64b984d
AK
83952014-11-10 Andi Kleen <ak@linux.intel.com>
8396
8397 * cilk.c (recognize_spawn): Use expression location
8398 for error message.
8399
13c21655
PC
84002014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
8401
8402 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8403
42fd12b1
ESR
84042014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
8405
8406 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8407 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8408 (__cpp_range_based_for, __cpp_initializer_lists,
8409 __cpp_delegating_constructors, __cpp_nsdmi,
8410 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8411 for C++11; (__cpp_attribute_deprecated): Remove in favor of
8412 __has_cpp_attribute.
8413 * c-lex.c (cb_has_attribute): New callback CPP function;
8414 (init_c_lex): Set has_attribute callback.
8415
6f450181
RB
84162014-11-04 Richard Biener <rguenther@suse.de>
8417
8418 * c-common.c (shorten_compare): Do not shorten mixed
8419 DFP and non-DFP compares.
8420
26f0e1d6
ESR
84212014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8422
8423 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8424 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8425 Commentary and rearrangement of tests.
8426 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8427 Commentary and rearrangement of tests.
ab20d992 8428 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
8429 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8430
ef4bddc2
RS
84312014-10-29 Richard Sandiford <richard.sandiford@arm.com>
8432
8433 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8434 enum from machine_mode.
8435
c582198b
AM
84362014-10-28 Andrew MacLeod <amacleod@redhat.com>
8437
adfac8df
JJ
8438 * c-common.c: Adjust include files.
8439 * c-gimplify.c: Ditto.
8440 * cilk.c: Ditto.
8441 * c-pragma.c: Ditto.
8442 * c-ubsan.c: Ditto.
c582198b 8443
60393bbc
AM
84442014-10-27 Andrew MacLeod <amacleod@redhat.com>
8445
8446 * c-gimplify.c: Adjust include files.
8447
d723bb7c
MLI
84482014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8449
8450 PR c++/53061
8451 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8452 c_common_initialize_diagnostics.
8453 * c-common.h: Likewise.
8454
90f3520e
MP
84552014-10-24 Marek Polacek <polacek@redhat.com>
8456
8457 PR c/56980
8458 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8459 print "struct"/"union"/"enum" for typedefed names.
8460
59d7607a
MP
84612014-10-23 Marek Polacek <polacek@redhat.com>
8462
8463 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8464 in unsigned type.
8465
d95a2703
JJ
84662014-10-22 Jakub Jelinek <jakub@redhat.com>
8467 Yury Gribov <y.gribov@samsung.com>
8468
8469 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8470 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8471 instead of flag_sanitize_recover as bool flag.
8472
8e6ef852
KY
84732014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
8474
8475 * cilk.c: Revert previous change.
8476
948cf550
IZ
84772014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
8478
8479 PR c/63307
8480 * cilk.c: Include vec.h.
8481 (struct cilk_decls): New structure.
8482 (wrapper_parm_cb): Split this function to...
8483 (fill_decls_vec): ...this...
8484 (create_parm_list): ...and this.
8485 (compare_decls): New function.
8486 (for_local_cb): Remove.
8487 (wrapper_local_cb): Ditto.
8488 (build_wrapper_type): For now first traverse and fill vector of
8489 declarations then sort it and then deal with sorted vector.
8490 (cilk_outline): Ditto.
8491 (declare_one_free_variable): Ditto.
8492
92574c7c
MP
84932014-10-17 Marek Polacek <polacek@redhat.com>
8494
8495 * c-opts.c (c_common_post_options): Set warn_implicit_int.
8496 * c.opt (Wimplicit-int): Initialize to -1.
8497
83685514
AM
84982014-10-16 Andrew MacLeod <amacleod@redhat.com>
8499
8500 * c-pragma.c: Adjust include files.
8501 * c-semantics.c: Likewise.
8502
5b8300ea
DD
85032014-10-16 DJ Delorie <dj@redhat.com>
8504
8505 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8506 multiples of bytes.
8507
5f83e90b
JM
85082014-10-14 Jason Merrill <jason@redhat.com>
8509
8510 PR c++/63455
8511 * c-common.h (CPP_PREPARSED_EXPR): New.
8512 (N_CP_TTYPES): Adjust.
8513
d73326ca
MP
85142014-10-15 Marek Polacek <polacek@redhat.com>
8515
8516 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8517
78a7c317
DD
85182014-10-14 DJ Delorie <dj@redhat.com>
8519
8520 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8521 types, not just __int128.
8522 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8523 types, not just __int128.
8524 (cpp_atomic_builtins): Round pointer sizes up.
8525 (type_suffix): Use type precision, not specific types.
8526 * c-common.c (c_common_reswords): Remove __int128 special case.
8527 (c_common_type_for_size): Check for all __intN types, not just
8528 __int128.
8529 (c_common_type_for_mode): Likewise.
8530 (c_common_signed_or_unsigned_type): Likewise.
8531 (c_build_bitfield_integer_type): Likewise.
8532 (c_common_nodes_and_builtins): Likewise.
8533 (keyword_begins_type_specifier): Likewise.
8534 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8535 __intN variants.
8536
2a22f99c
TS
85372014-10-12 Trevor Saunders <tsaunders@mozilla.com>
8538
8539 * c-common.c: Use hash_table instead of hashtab.
8540
2a8ef767
ESR
85412014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
8542
adfac8df 8543 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
8544 C++11 section.
8545
3c9aabbd
MG
85462014-10-03 Marc Glisse <marc.glisse@inria.fr>
8547
8548 PR c++/54427
8549 PR c++/57198
8550 PR c++/58845
8551 * c-common.c (warn_logical_operator): Punt for vectors.
8552
a15f7cb8
ESR
85532014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8554
8555 Implement SD-6: SG10 Feature Test Recommendations
8556 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8557 macros and the __has_header macro.
8558
8d0cf15e
JM
85592014-09-30 Jason Merrill <jason@redhat.com>
8560
dd5d5481
JM
8561 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8562 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8563 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8564
b752325e
JM
8565 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8566 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8567
8d0cf15e
JM
8568 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8569 * c-common.c (c_common_reswords): Remove __is_convertible_to.
8570
083e891e
MP
85712014-09-24 Marek Polacek <polacek@redhat.com>
8572
8573 PR c/61405
8574 PR c/53874
8575 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8576
7861b648
AK
85772014-09-23 Andi Kleen <ak@linux.intel.com>
8578
8579 * c-common.c (handle_no_reorder_attribute): New function.
8580 (c_common_attribute_table): Add no_reorder attribute.
8581
9a79452d
JM
85822014-09-22 Joseph Myers <joseph@codesourcery.com>
8583
8584 * c-cppbuiltin.c (c_cpp_builtins): Define
8585 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
8586 modes.
8587
dd69f047
JM
85882014-09-18 Joseph Myers <joseph@codesourcery.com>
8589
8590 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
8591 for supported floating-point modes.
8592
737a4826
MLI
85932014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8594
8595 * c.opt (Wpsabi): Use LangEnabledBy.
8596 * c-opts.c (c_common_handle_option): Do not handle here.
8597
8cc4b7a2
JM
85982014-09-12 Joseph Myers <joseph@codesourcery.com>
8599
8600 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
8601 macros for floating-point modes.
8602
179b5a55
MG
86032014-09-11 Marc Glisse <marc.glisse@inria.fr>
8604
8605 PR target/58757
8606 * c-cppbuiltin.c (builtin_define_float_constants): Correct
8607 __*_DENORM_MIN__ without denormals.
8608
570a11fe
JJ
86092014-09-10 Jakub Jelinek <jakub@redhat.com>
8610
8611 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8612 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8613 ubsan_create_data callers.
8614 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
8615 index is constant or BIT_AND_EXPR with constant mask and is
8616 small enough for the bound.
8617 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
8618 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
8619
b559c810
MLI
86202014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8621
8622 * c.opt: Add CppReason to various flags.
8623 (Wdate-time): Re-sort.
8624 * c-common.c: Include c-common.h earlier.
8625 (struct reason_option_codes_t): Delete.
8626 (c_option_controlling_cpp_error): Prefix global type and struct
8627 with cpp_.
8628
1ef33fd4
MLI
86292014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8630
8631 * c.opt (Wnormalized): New.
8632 (Wnormalized=): Use Enum and Reject Negative.
8633 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
8634
66bb34c0
JM
86352014-09-08 Joseph Myers <joseph@codesourcery.com>
8636
8637 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
8638 digits of floating-point modes if -fbuilding-libgcc.
8639
53d68b9f
JM
86402014-09-05 Joseph Myers <joseph@codesourcery.com>
8641
8642 * c-cppbuiltin.c (c_cpp_builtins): Also define
8643 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
8644 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
8645 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
8646 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
8647 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
8648 __LIBGCC_STACK_GROWS_DOWNWARD__,
8649 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
8650 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
8651 __LIBGCC_DWARF_FRAME_REGISTERS__,
8652 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
8653 __LIBGCC_STACK_POINTER_REGNUM__ and
8654 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
8655 (builtin_define_with_value): Handle backslash-escaping in string
8656 macro values.
8657
f65586dc
RB
86582014-09-05 Richard Biener <rguenther@suse.de>
8659
8660 PR middle-end/63148
8661 * c-format.c (check_format_arg): Properly handle
8662 effectively signed POINTER_PLUS_EXPR offset.
8663
2b71f4a4
MLI
86642014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8665
8666 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
8667 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
8668 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
8669 and Init.
8670 * c-opts.c (c_common_handle_option): Do not handle here.
8671 (sanitize_cpp_opts): Likewise.
8672 * c-common.c (struct reason_option_codes_t): Handle
8673 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
8674
d2e4feca
MP
86752014-09-03 Marek Polacek <polacek@redhat.com>
8676
8677 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
8678
9a771876
JJ
86792014-09-02 Jakub Jelinek <jakub@redhat.com>
8680 Balaji V. Iyer <balaji.v.iyer@intel.com>
8681 Igor Zamyatin <igor.zamyatin@intel.com>
8682
8683 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
8684 * c-common.c (c_common_reswords): Added _Cilk_for.
8685 * c-common.h (enum rid): Added RID_CILK_FOR.
8686 (cilk_for_number_of_iterations): Add declaration.
8687 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
8688 CILK_FOR.
8689 * c-pragma.c (init_pragma): Register "grainsize" pragma.
8690 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
8691
81b5d104
MLI
86922014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8693
8694 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
8695 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
8696 Wundef): Use CPP, Var and Init.
8697 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
8698
b753b37b
MLI
86992014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8700
8701 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
8702 * c-opts.c (c_common_handle_option): Do not handle here.
8703
028aee17
JM
87042014-08-25 Jason Merrill <jason@redhat.com>
8705
8706 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
8707 -std=c++14 and -std=gnu++14, rather than the reverse.
8708 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
8709 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
8710 * c-common.h (cxx_dialect): Remove cxx1y.
8711
e4276ba5
ESR
87122014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
8713
8714 * c-common.h (enum cxx_dialect): Add cxx14.
8715 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
8716 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
8717 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
8718
a545cacd
JM
87192014-08-22 Jason Merrill <jason@redhat.com>
8720
8721 * c.opt (std=gnu++17): Fix alias.
8722
59ea0364
MP
87232014-08-22 Marek Polacek <polacek@redhat.com>
8724
8725 PR c++/62199
8726 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
8727 check for vector types. Drop LHS argument.
8728 * c-common.h (warn_logical_not_parentheses): Adjust.
8729
596e808c
MLI
87302014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8731
8732 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
8733 (Wmultichar): Likewise.
8734 (Wdate-time): Use C-family languages instead of Common. Use CPP
8735 and Var.
8736 * c-opts.c (c_common_handle_option): Do not handle the above
8737 options here.
8738 (sanitize_cpp_opts): Likewise.
8739
18767f65
MLI
87402014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8741
8742 PR fortran/44054
8743 * c-opts.c: Include tree-diagnostics.h.
8744 (c_diagnostic_finalizer): New.
8745 (c_common_initialize_diagnostics): Use it.
8746
b4413594
MLI
87472014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8748
8749 PR preprocessor/51303
8750 * c-common.c (struct reason_option_codes_t option_codes):
8751 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
8752
43f9a13c
MLI
87532014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8754
8755 PR c/60975
8756 PR c/53063
8757 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
8758 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
8759 (c_common_post_options): Call init_global_opts_from_cpp.
8760 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
8761
04159acf
MP
87622014-08-19 Marek Polacek <polacek@redhat.com>
8763
8764 PR c++/62153
8765 * c-common.c (maybe_warn_bool_compare): New function.
8766 * c-common.h (maybe_warn_bool_compare): Declare.
8767 * c.opt (Wbool-compare): New option.
8768
35aff4fb
MP
87692014-08-19 Marek Polacek <polacek@redhat.com>
8770
8771 * c.opt (Wc99-c11-compat): New option.
8772
177cce46
MP
87732014-08-19 Marek Polacek <polacek@redhat.com>
8774
8775 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
8776 to warn_c90_c99_compat.
8777 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
8778 to -1.
8779
6ae9194f
MLI
87802014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
8781 Steven Bosscher <steven@gcc.gnu.org>
8782
8783 PR c/52952
8784 * c-format.c: Add extra_arg_loc and format_string_loc to struct
8785 format_check_results.
8786 (check_function_format): Use true and add comment for boolean
8787 argument.
8788 (finish_dollar_format_checking): Use explicit location when warning.
8789 (check_format_info): Likewise.
8790 (check_format_arg): Set extra_arg_loc and format_string_loc.
8791 (check_format_info_main): Use explicit location when warning.
8792 (check_format_types): Pass explicit location.
8793 (format_type_warning): Likewise.
8794
8e54f6d3
MLI
87952014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8796
8797 PR fortran/44054
8798 * c-format.c: Handle Fortran flags.
8799
cd4e76fc
IZ
88002014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
8801
8802 PR other/61962
8803 * array-notation-common.c (find_rank): Added handling for other
8804 types of references.
8805
f3bede71
MP
88062014-08-10 Marek Polacek <polacek@redhat.com>
8807
8808 PR c/51849
8809 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
8810 * c.opt (Wc90-c99-compat): Add option.
8811
9f25a338
TS
88122014-08-07 Trevor Saunders <tsaunders@mozilla.com>
8813
8814 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
8815
62e4eb35
MP
88162014-08-03 Marek Polacek <polacek@redhat.com>
8817
ab20d992 8818 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
8819 (c_add_case_label): Pass loc to check_case_value.
8820
b787e7a2
TS
88212014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8822
8823 * cilk.c: Use hash_map instead of pointer_map.
8824
6e2830c3
TS
88252014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8826
8827 * c-gimplify.c: Use hash_set instead of pointer_set.
8828
a7ee52fb
IZ
88292014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
8830
8831 PR middle-end/61455
8832 * array-notation-common.c (extract_array_notation_exprs): Handling
8833 of DECL_EXPR added.
8834
944fa280
JJ
88352014-08-01 Jakub Jelinek <jakub@redhat.com>
8836
8837 * c-common.h (min_align_of_type): Removed prototype.
8838 * c-common.c (min_align_of_type): Removed.
8839 * c-ubsan.h (ubsan_maybe_instrument_reference,
8840 ubsan_maybe_instrument_member_call): New prototypes.
8841 * c-ubsan.c: Include stor-layout.h and builtins.h.
8842 (ubsan_maybe_instrument_reference_or_call,
8843 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
8844 functions.
8845
b4dfdc11
MG
88462014-07-31 Marc Glisse <marc.glisse@inria.fr>
8847
8848 PR c++/60517
8849 * c.opt (-Wreturn-local-addr): Move to common.opt.
8850
a41844e5
JM
88512014-07-30 Jason Merrill <jason@redhat.com>
8852
8853 PR c++/61659
8854 PR c++/61687
8855 Revert:
8856 * c.opt (-fuse-all-virtuals): New.
8857
976d5a22
TT
88582014-07-30 Tom Tromey <tromey@redhat.com>
8859
8860 PR c/59855
8861 * c.opt (Wdesignated-init): New option.
8862 * c-common.c (c_common_attribute_table): Add "designated_init".
8863 (handle_designated_init): New function.
8864
cdc94aca
MP
88652014-07-24 Marek Polacek <polacek@redhat.com>
8866
8867 PR c/57653
8868 * c-opts.c (c_finish_options): If -imacros is in effect, return.
8869
f41373b6
DS
88702014-07-16 Dodji Seketeli <dodji@redhat.com>
8871
8872 PR preprocessor/60723 - missing system-ness marks for macro tokens
8873 * c-ppoutput.c (struct print::prev_was_system_token): New data
8874 member.
8875 (init_pp_output): Initialize it.
8876 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
8877 (do_line_change): Return a flag saying if a line marker was
8878 emitted or not.
8879 (scan_translation_unit): Detect if the system-ness of the token we
8880 are about to emit is different from the one of the previously
8881 emitted token. If so, emit a line marker. Avoid emitting useless
8882 adjacent line markers. Avoid emitting line markers for tokens
8883 originating from the expansion of built-in macros.
8884 (scan_translation_unit_directives_only): Adjust.
8885
4d661eaa
MP
88862014-07-15 Marek Polacek <polacek@redhat.com>
8887
8888 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
8889 TYPE_MAX_VALUE is NULL.
8890
b108f48f
JJ
88912014-07-14 Jakub Jelinek <jakub@redhat.com>
8892
8893 PR middle-end/61294
8894 * c.opt (Wmemset-transposed-args): New warning.
8895
c0221884
JM
88962014-07-10 Jason Merrill <jason@redhat.com>
8897
8898 PR c++/61659
8899 PR c++/61687
8900 * c.opt (-fuse-all-virtuals): New.
8901
63dfbb95
RB
89022014-07-09 Richard Biener <rguenther@suse.de>
8903
8904 PR c-family/61741
8905 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8906 using unsigned arithmetic if overflow does not wrap instead of
8907 if overflow is undefined.
8908
773ec47f
MP
89092014-07-06 Marek Polacek <polacek@redhat.com>
8910
8911 PR c/6940
8912 * c.opt (Wsizeof-array-argument): New option.
8913
00a7ba58
JJ
89142014-07-03 Jakub Jelinek <jakub@redhat.com>
8915
b1726d6c 8916 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
8917 comments->count <= 1, as comments->entries might be NULL.
8918
52ec0ea3
MP
89192014-07-01 Marek Polacek <polacek@redhat.com>
8920
8921 * c.opt (Wint-conversion): New option.
8922
d5c3d343
MP
89232014-07-01 Marek Polacek <polacek@redhat.com>
8924
8925 PR c/58286
8926 * c.opt (Wincompatible-pointer-types): New option.
8927
6e7ceb17
PC
89282014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
8929
8930 PR c++/51400
8931 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
8932 Do not discard TYPE_QUALS of type.
8933
da73100b
JM
89342014-06-26 Jason Merrill <jason@redhat.com>
8935
8936 * c-common.h (enum cxx_dialect): Add cxx1z.
8937 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
8938 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
8939
08eedf75
TJ
89402014-06-26 Teresa Johnson <tejohnson@google.com>
8941
8942 * c-common.h (get_dump_info): Declare.
8943 * c-gimplify.c (c_genericize): Use saved dump files.
8944 * c-opts.c (c_common_parse_file): Begin and end dumps
8945 once around parsing invocation.
8946 (get_dump_info): New function.
8947
7b56b2f8
MP
89482014-06-23 Marek Polacek <polacek@redhat.com>
8949 Andrew MacLeod <amacleod@redhat.com>
8950
8951 PR c/61553
8952 * c-common.c (get_atomic_generic_size): Don't segfault if the
8953 type doesn't have a size.
8954
0e37a2f3
MP
89552014-06-20 Marek Polacek <polacek@redhat.com>
8956
8957 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
8958 (ubsan_walk_array_refs_r): New function.
8959 (c_genericize): Instrument array bounds.
8960 * c-ubsan.c: Include "internal-fn.h".
8961 (ubsan_instrument_division): Mark instrumented arrays as having
8962 side effects. Adjust ubsan_type_descriptor call.
8963 (ubsan_instrument_shift): Likewise.
8964 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
8965 (ubsan_instrument_bounds): New function.
8966 (ubsan_array_ref_instrumented_p): New function.
8967 (ubsan_maybe_instrument_array_ref): New function.
8968 * c-ubsan.h (ubsan_instrument_bounds): Declare.
8969 (ubsan_array_ref_instrumented_p): Declare.
8970 (ubsan_maybe_instrument_array_ref): Declare.
8971
89722014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
8973
8974 PR lto/61123
8975 * c.opt (fshort-enums): Add to LTO.
8976 * c.opt (fshort-wchar): Likewise.
8977
5c3d09f7
MP
89782014-06-16 Marek Polacek <polacek@redhat.com>
8979
8980 PR c/60439
8981 * c.opt (Wswitch-bool): Add Var.
8982
9cf32741
JJ
89832014-06-12 Jakub Jelinek <jakub@redhat.com>
8984
8985 PR middle-end/61486
8986 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
8987 #pragma omp target teams or
8988 #pragma omp {,target }teams distribute simd.
8989
62984918
JM
89902014-06-12 Jason Merrill <jason@redhat.com>
8991
8992 * c.opt (Wabi=, fabi-compat-version): New.
8993 * c-opts.c (c_common_handle_option): Handle -Wabi=.
8994 (c_common_post_options): Handle flag_abi_compat_version default.
8995 Disallow -fabi-compat-version=1.
8996 * c-common.h (abi_version_crosses): New.
8997
f961457f
JH
89982014-06-11 Jan Hubicka <hubicka@ucw.cz>
8999
adfac8df 9000 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
9001 section names that are no longer trees.
9002
92d28cbb
JJ
90032014-06-10 Jakub Jelinek <jakub@redhat.com>
9004
9005 PR fortran/60928
9006 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9007 (omp_pragmas): ... back here.
9008
742938c9
MP
90092014-06-05 Marek Polacek <polacek@redhat.com>
9010
9011 PR c/49706
9012 * c-common.c (warn_logical_not_parentheses): New function.
9013 * c-common.h (warn_logical_not_parentheses): Declare.
9014 * c.opt (Wlogical-not-parentheses): New option.
9015
9d548dfb
MP
90162014-06-04 Marek Polacek <polacek@redhat.com>
9017
9018 PR c/30020
9019 * c-common.c (check_case_bounds): Add location parameter.
9020 Use it.
9021 (c_add_case_label): Pass loc to check_case_bounds.
9022
fedfecef
MP
90232014-06-03 Marek Polacek <polacek@redhat.com>
9024
9025 PR c/60439
9026 * c.opt (Wswitch-bool): New option.
9027
f6a7cffc
TS
90282014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9029
040d18b6
TS
9030 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9031 Remove prototypes.
9032 (record_types_used_by_current_var_decl): Move prototype to where
9033 it belongs.
9034
f6a7cffc
TS
9035 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9036 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9037 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9038
632f2871
RS
90392014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9040
9041 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9042 * c-common.c (c_common_nodes_and_builtins): Don't initialize
9043 void_zero_node.
9044 * c-pretty-print.c (pp_c_void_constant): New function.
9045 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9046 (c_pretty_printer::expression): Handle VOID_CST.
9047 * cilk.c (extract_free_variables): Likewise.
9048 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9049 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9050
766090c2
TS
90512014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9052
9053 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9054 * c-pragma.c (push_alignment): Adjust.
9055 (handle_pragma_push_options): Likewise.
9056
661a0813
MP
90572014-05-09 Marek Polacek <polacek@redhat.com>
9058
9059 PR c/50459
9060 * c-common.c (check_user_alignment): Return -1 if alignment is error
9061 node.
9062 (handle_aligned_attribute): Don't call default_conversion on
9063 FUNCTION_DECLs.
9064 (handle_vector_size_attribute): Likewise.
9065 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9066 (handle_sentinel_attribute): Call default_conversion and allow even
9067 integral types as an argument.
9068
2793eeab
MP
90692014-05-08 Marek Polacek <polacek@redhat.com>
9070
9071 PR c/61053
9072 * c-common.c (min_align_of_type): New function factored out from...
9073 (c_sizeof_or_alignof_type): ...here.
9074 * c-common.h (min_align_of_type): Declare.
9075
f827930a
MP
90762014-05-08 Marek Polacek <polacek@redhat.com>
9077
9078 PR c/61077
9079 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9080 parameter type of main.
9081
ca49b74e
DD
90822014-05-07 DJ Delorie <dj@redhat.com>
9083
9084 * c-cppbuiltin.c (print_bits_of_hex): New.
9085 (builtin_define_type_minmax): Print values using hex so as not to
9086 require a pre-computed list of string values.
9087
1d60af08
KZ
90882014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
9089 Mike Stump <mikestump@comcast.net>
9090 Richard Sandiford <rdsandiford@googlemail.com>
9091
9092 * c-ada-spec.c: Include wide-int.h.
9093 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9094 (dump_generic_ada_node): Use wide-int interfaces.
9095 * c-common.c: Include wide-int-print.h.
9096 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9097 (pointer_int_sum): Use wide-int interfaces.
9098 (c_common_nodes_and_builtins): Use make_int_cst.
9099 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9100 (handle_alloc_size_attribute): Use wide-int interfaces.
9101 (get_nonnull_operand): Likewise.
9102 * c-format.c (get_constant): Use tree_fits_uhwi_p.
9103 * c-lex.c: Include wide-int.h.
9104 (narrowest_unsigned_type): Take a widest_int rather than two
9105 HOST_WIDE_INTs.
9106 (narrowest_signed_type): Likewise.
9107 (interpret_integer): Update accordingly. Use wide-int interfaces.
9108 (lex_charconst): Use wide-int interfaces.
9109 * c-pretty-print.c: Include wide-int.h.
9110 (pp_c_integer_constant): Use wide-int interfaces.
9111 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9112 INT_CST_LT_UNSIGNED.
9113
b15458be
RB
91142014-05-06 Richard Biener <rguenther@suse.de>
9115
9116 * c-opts.c (c_common_post_options): For -freestanding,
9117 -fno-hosted and -fno-builtin disable pattern recognition
9118 if not enabled explicitely.
9119
6577374e
MP
91202014-05-02 Marek Polacek <polacek@redhat.com>
9121
9122 * c.opt (Wsizeof-pointer-memaccess): Describe option.
9123
d00887e8
MP
91242014-05-01 Marek Polacek <polacek@redhat.com>
9125
9126 PR c/43245
9127 * c.opt (Wdiscarded-qualifiers): Add.
9128
f8ed5150
MP
91292014-04-30 Marek Polacek <polacek@redhat.com>
9130
9131 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
9132 INT_MIN / -1 sanitization only for integer types.
9133
45484dcf
MP
91342014-04-25 Marek Polacek <polacek@redhat.com>
9135
9136 PR c/18079
9137 * c-common.c (handle_noinline_attribute): Warn if the attribute
9138 conflicts with always_inline attribute.
9139 (handle_always_inline_attribute): Warn if the attribute conflicts
9140 with noinline attribute.
9141
38e514c0
MP
91422014-04-25 Marek Polacek <polacek@redhat.com>
9143
9144 PR c/60156
9145 * c-common.c (check_main_parameter_types): Warn about variadic main.
9146
44875f92
MS
91472014-04-24 Mike Stump <mikestump@comcast.net>
9148
9149 * c.opt (Wshadow-ivar): Default to on.
9150
dcaaa5a0
DP
91512014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9152
9153 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9154
c07d7c02
MP
91552014-04-23 Marek Polacek <polacek@redhat.com>
9156
9157 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9158
1c33c9b7
JJ
91592014-04-22 Jakub Jelinek <jakub@redhat.com>
9160
9161 PR sanitizer/60275
9162 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9163 if flag_sanitize_undefined_trap_on_error.
9164 (ubsan_instrument_division, ubsan_instrument_shift,
9165 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
9166 if !flag_sanitize_recover.
9167
793c625f
MG
91682014-04-22 Marc Glisse <marc.glisse@inria.fr>
9169
9170 PR libstdc++/43622
9171 * c-common.c (registered_builtin_types): Make non-static.
9172 * c-common.h (registered_builtin_types): Declare.
9173
b0f1bf36 91742014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 9175 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
9176
9177 PR c/60819
9178 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9179 apply may-alias the scalar pointer type when applicable.
9180
3b07fa4a
IZ
91812014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
9182
9183 PR middle-end/60467
9184 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9185 as possible argument for Cilk_spawn.
9186
cbbd2b1c
TB
91872014-04-11 Tobias Burnus <burnus@net-b.de>
9188
9189 PR c/60194
9190 * c.opt (Wformat-signedness): Add
9191 * c-format.c(check_format_types): Use it.
9192
6415bd5d
JM
91932014-04-11 Jason Merrill <jason@redhat.com>
9194
9195 PR c++/57926
9196 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9197 default_conversion for an array argument.
9198
6525783a
MP
91992014-04-08 Marek Polacek <polacek@redhat.com>
9200
9201 PR sanitizer/60745
9202 * c-ubsan.c: Include asan.h.
9203 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9204
880a467b
NS
92052014-04-03 Nathan Sidwell <nathan@codesourcery.com>
9206
9207 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9208
7b59ff2d
MP
92092014-04-02 Marek Polacek <polacek@redhat.com>
9210
9211 * c-common.h (c_expand_expr): Remove declaration.
9212
8edbfaa6
JJ
92132014-03-28 Jakub Jelinek <jakub@redhat.com>
9214
9215 PR c++/60689
9216 * c-common.c (add_atomic_size_parameter): When creating new
9217 params vector, push the size argument first.
9218
07d72e1d
JJ
92192014-03-26 Jakub Jelinek <jakub@redhat.com>
9220
9221 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9222 ubsan_instrument_vla, ubsan_instrument_return): Adjust
9223 ubsan_create_data callers.
9224
b35e0fa0
JJ
92252014-03-22 Jakub Jelinek <jakub@redhat.com>
9226
9227 PR debug/60603
9228 * c-opts.c (c_finish_options): Restore cb_file_change call to
9229 <built-in>.
9230
39a1ebb3
JJ
92312014-03-13 Jakub Jelinek <jakub@redhat.com>
9232
9233 PR middle-end/36282
9234 * c-pragma.c (apply_pragma_weak): Only look at
9235 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9236 DECL_ASSEMBLER_NAME_SET_P (decl).
9237 (maybe_apply_pending_pragma_weaks): Exit early if
9238 vec_safe_is_empty (pending_weaks) rather than only when
9239 !pending_weaks.
9240 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9241 set assembler name back to NULL afterwards.
9242
a07f6ed2
JM
92432014-03-11 Jason Merrill <jason@redhat.com>
9244
9245 * c.opt: Add -std=gnu++14.
9246
75b107f5
IB
92472014-03-11 Ian Bolton <ian.bolton@arm.com>
9248
9249 * c-opts.c (c_common_post_options): Don't override
9250 -ffp-contract=fast if unsafe-math-optimizations is on.
9251
f42c637e
PM
92522014-03-08 Paulo Matos <paulo@matos-sorge.com>
9253
22b15758 9254 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9255
70e24808
JM
92562014-03-07 Jason Merrill <jason@redhat.com>
9257
9258 * c.opt: Add -std=c++14.
9259
3af9c5e9
MP
92602014-03-06 Marek Polacek <polacek@redhat.com>
9261
9262 PR c/60197
9263 * cilk.c (contains_cilk_spawn_stmt): New function.
9264 (contains_cilk_spawn_stmt_walker): Likewise.
9265 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9266 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9267
b3bdf019
JJ
92682014-03-03 Jakub Jelinek <jakub@redhat.com>
9269
9270 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9271 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9272 even when flag_preprocess_only.
9273
ca7e759d
JM
92742014-02-26 Jason Merrill <jason@redhat.com>
9275
9276 PR c++/59231
9277 PR c++/11586
9278 * c-common.c (shorten_compare): Don't check
9279 c_inhibit_evaluation_warnings.
9280
28e41874
JJ
92812014-02-19 Jakub Jelinek <jakub@redhat.com>
9282
cca615af
JJ
9283 PR c/37743
9284 * c-common.c (c_common_nodes_and_builtins): When initializing
9285 c_uint{16,32,64}_type_node, also set corresponding
9286 uint{16,32,64}_type_node to the same value.
9287
28e41874
JJ
9288 PR c++/60267
9289 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9290 for PRAGMA_IVDEP if flag_preprocess_only.
9291
c2bf53a1
JJ
92922014-02-12 Jakub Jelinek <jakub@redhat.com>
9293
9294 PR c/60101
9295 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9296 if false, add ADD itself, rather than vice versa.
9297 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9298 copy. For SAVE_EXPR, only call merge_tlist once.
9299
8fcbce72
JJ
93002014-02-08 Jakub Jelinek <jakub@redhat.com>
9301
9302 PR middle-end/60092
9303 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9304 and tree_to_uhwi.
9305 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9306 functions.
9307 (c_common_attribute_table): Add alloc_align and assume_aligned
9308 attributes.
9309
0a756a3f
MP
93102014-02-06 Marek Polacek <polacek@redhat.com>
9311
9312 PR c/60087
9313 * c-common.c (warn_for_sign_compare): Call warning_at with location
9314 instead of warning.
9315
7ec4847a
MP
93162014-02-05 Marek Polacek <polacek@redhat.com>
9317
9318 PR c/53123
9319 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9320 statement.
9321
66f20604
MP
93222014-02-04 Marek Polacek <polacek@redhat.com>
9323
9324 PR c/60036
9325 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9326 SAVE_EXPR.
9327
5d77fb19
MG
93282014-02-03 Marc Glisse <marc.glisse@inria.fr>
9329
9330 PR c++/53017
9331 PR c++/59211
9332 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9333 handle_vector_size_attribute, handle_nonnull_attribute): Call
9334 default_conversion on the attribute argument.
9335 (handle_nonnull_attribute): Increment the argument number.
9336
81e5eca8
MP
93372014-01-31 Marek Polacek <polacek@redhat.com>
9338
9339 PR c/59963
9340 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9341 build_function_call_vec.
9342 (resolve_overloaded_builtin): Likewise.
9343 * c-common.h (build_function_call_vec): Adjust declaration.
9344
68fca595
MP
93452014-01-30 Marek Polacek <polacek@redhat.com>
9346
9347 PR c/59940
9348 * c-common.h (unsafe_conversion_p): Adjust declaration.
9349 (warnings_for_convert_and_check): Likewise.
9350 (convert_and_check): Likewise.
9351 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9352 expansion_point_location_if_in_system_header on it.
9353 (warnings_for_convert_and_check): Add location parameter. Call
9354 expansion_point_location_if_in_system_header on it. Use it.
9355 (convert_and_check): Add location parameter. Use it.
9356 (conversion_warning): Likewise.
9357 (c_add_case_label): Adjust convert_and_check calls.
9358 (scalar_to_vector): Adjust unsafe_conversion_p calls.
9359
b72271b9
BI
93602014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9361
9362 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9363 flag_cilkplus.
9364 * c-pragma.c (init_pragma): Likewise.
9365 * c.opt: Likewise.
9366
393e8e8b
MP
93672014-01-23 Marek Polacek <polacek@redhat.com>
9368
9369 PR c/59846
9370 * c-common.c (shorten_compare): Add location_t parameter.
9371 * c-common.h (shorten_binary_op): Adjust declaration.
9372
f04dda30
MP
93732014-01-23 Marek Polacek <polacek@redhat.com>
9374
9375 PR c/58346
9376 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9377 * c-common.h: Declare it.
9378
621955cb
EB
93792014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9380
9381 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9382 * c-ada-spec.c (dump_ads): Likewise.
9383 (cpp_check): Likewise.
9384 (dump_ada_specs): Likewise.
9385
93862014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
9387
9388 PR c++/49718
9389 * c-common.c (handle_no_instrument_function_attribute): Allow
9390 no_instrument_function attribute in class member
9391 definition/declaration.
9392
241f845a
JJ
93932014-01-15 Jakub Jelinek <jakub@redhat.com>
9394
9395 PR c/58943
9396 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9397 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
9398 being COMPOUND_EXPR.
9399 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9400 operand a SAVE_EXPR and second MODIFY_EXPR.
9401
e83b8e2e
JJ
94022014-01-09 Jakub Jelinek <jakub@redhat.com>
9403
9404 PR target/58115
9405 * c-pch.c (c_common_write_pch): Call
9406 prepare_target_option_nodes_for_pch.
9407
23a5b65a
RS
94082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9409
9410 Update copyright years
9411
f9030485
RS
94122014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9413
9414 * array-notation-common.c, c-cilkplus.c: Use the standard form for
9415 the copyright notice.
9416
f2aa696b
EB
94172013-12-28 Eric Botcazou <ebotcazou@adacore.com>
9418
9419 * c-ada-spec.c (print_constructor): New function.
9420 (print_destructor): Retrieve the origin of the destructor.
9421 (print_ada_declaration): Revamp handling of constructors/destructors.
9422
3f8257db 94232013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
9424 Bill Maddox <maddox@google.com>
9425 Jason Merrill <jason@redhat.com>
9426
9427 * c.opt: Add -fdeclone-ctor-dtor.
9428 * c-opts.c (c_common_post_options): Default to on iff -Os.
9429
41958c28
BI
94302013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
9431
9432 * c-common.c (c_common_attribute_table): Added "cilk simd function"
9433 attribute.
9434 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 9435 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
9436 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9437 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9438 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9439 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9440 PRAGMA_CILK_CLAUSE_UNIFORM.
9441
b1726d6c 9442
12893402
BI
94432013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
9444
9445 * cilk.c (cilk_outline): Made this function non-static.
9446 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9447 (create_cilk_wrapper): Added a new parameter: a function pointer.
9448 (c_install_body_w_frame_cleanup): Remove
9449 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9450 * c-common.h (cilk_outline): New prototype.
9451 (gimplify_cilk_spawn): Removed two parameters.
9452 (cilk_install_body_with_frame_cleanup): New prototype.
9453 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9454 CILK_SPAWN_STMT case.
9455
085b42ed
BS
94562013-12-11 Bernd Schmidt <bernds@codesourcery.com>
9457
2ce064c3
BS
9458 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9459
085b42ed
BS
9460 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9461 (int_array_type_node): Remove.
9462 * c-common.c (c_common_nodes_and_builtins): Don't build it.
9463
9e36c9ed
MP
94642013-12-05 Marek Polacek <polacek@redhat.com>
9465
9466 PR c/52023
9467 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9468 [ADJUST_FIELD_ALIGN].
9469
296674db
JM
94702013-12-04 Joseph Myers <joseph@codesourcery.com>
9471
9472 PR c/52023
9473 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9474 and check field alignment if set.
9475 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9476 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9477
b1726d6c 94782013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
9479 Marek Polacek <polacek@redhat.com>
9480
9481 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9482 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9483
d7947e19
L
94842013-11-29 H.J. Lu <hongjiu.lu@intel.com>
9485
9486 PR c/59309
9487 * cilk.c (gimplify_cilk_spawn): Properly handle function without
9488 arguments.
9489
fad7652e
JJ
94902013-11-29 Jakub Jelinek <jakub@redhat.com>
9491
9492 PR c/59280
9493 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9494 goto invalid. If it is error_mark_node, don't issue further
9495 diagnostics.
9496
8b5e1202
SO
94972013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
9498
9499 * c.opt (Wopenmp-simd): New.
9500
0a508bb6
JJ
95012013-11-22 Jakub Jelinek <jakub@redhat.com>
9502
9503 * c-ubsan.h (ubsan_instrument_return): New prototype.
9504 * c-ubsan.c (ubsan_instrument_return): New function.
9505
2fb9a547
AM
95062013-11-22 Andrew MacLeod <amacleod@redhat.com>
9507
9508 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
9509 * c-gimplify.c: Likewise.
9510 * cilk.c: Likewise.
2fb9a547 9511
8400e75e
DM
95122013-11-22 David Malcolm <dmalcolm@redhat.com>
9513
9514 * c-common.c (unsafe_conversion_p): Remove use of
9515 EXPR_LOC_OR_HERE macro.
9516 (conversion_warning): Likewise.
9517 (warnings_for_convert_and_check): Likewise.
9518 (warn_for_collisions_1): Likewise.
9519 (shorten_compare): Likewise, and remove use of in_system_header
9520 macro, using the location from the former.
9521 * c-lex.c (dump_one_header): Remove use of input_filename macro.
9522 (cb_def_pragma): Remove use of in_system_header macro.
9523 (lex_string): Likewise.
9524 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9525
eb1ce453
KZ
95262013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9527 Mike Stump <mikestump@comcast.net>
9528 Richard Sandiford <rdsandiford@googlemail.com>
9529
9530 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9531 instead of TREE_INT_CST_LOW, in cases where there is a protecting
9532 tree_fits_shwi_p or tree_fits_uhwi_p.
9533 (dump_generic_ada_node): Likewise.
9534 * c-format.c (check_format_arg): Likewise.
9535 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9536
6b3b8c27
KZ
95372013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9538
9539 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9540
49b0aa18
JC
95412013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
9542
9543 PR c/53001
9544 * c-common.c (unsafe_conversion_p): Make this function
9545 return an enumeration with more detail.
9546 (conversion_warning): Use the new return type of
9547 unsafe_conversion_p to separately warn either about conversions
9548 that lower floating point number precision or about the other
9549 kinds of conversions.
9550 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
9551 (unsafe_conversion_p): switching return type to
9552 conversion_safety enumeration.
49b0aa18
JC
9553 * c.opt: Adding new warning -Wfloat-conversion and
9554 enabling it with -Wconversion.
9555
b826515a
BS
95562013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
9557
8e745a17
JJ
9558 * c-opts.c: Include plugin.h.
9559 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 9560
b9a55b13
MP
95612013-11-19 Marek Polacek <polacek@redhat.com>
9562
9563 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9564 call.
9565 (ubsan_instrument_shift): Likewise.
9566 (ubsan_instrument_vla): Likewise.
9567
7d362f6c
RS
95682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9569
9570 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9571 cast to unsigned type.
9572
386b1f1f
RS
95732013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9574
9575 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9576 tree_low_cst.
9577 (complete_array_type): Update comment to refer to tree_to_[su]hwi
9578 rather than tree_low_cst.
9579
ae7e9ddd
RS
95802013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9581
9582 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
9583 tree_to_uhwi throughout.
9584
9439e9a1
RS
95852013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9586
9587 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
9588 tree_low_cst (..., 0) with tree_to_shwi throughout.
9589
cc269bb6
RS
95902013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9591
9592 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
9593 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
9594
9541ffee
RS
95952013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9596
9597 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
9598 host_integerp (..., 0) with tree_fits_shwi_p throughout.
9599
c02065fc
AH
96002013-11-15 Aldy Hernandez <aldyh@redhat.com>
9601
9602 * c-cilkplus.c: New file.
9603 * c-common.c (readonly_error): Add location argument.
9604 * c-common.h (readonly_error): Same.
9605 (c_finish_cilk_clauses): Protoize.
9606 (c_check_cilk_loop): Same.
9607 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9608 Do not fail on error_mark_node.
9609 Abstract increment canonicalization to here...
9610 (c_omp_for_incr_canonicalize_ptr): New.
9611 c-pragma.c (init_pragma): Register "simd" pragma.
9612 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
9613 (enum pragma_cilk_clause): New.
9614
9cc65f15
RS
96152013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
9616
9617 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
9618 wchar_type and host_integerp checks.
9619
18f429e2
AM
96202013-11-14 Andrew MacLeod <amacleod@redhat.com>
9621
9622 * c-common.c: Likewise.
9623 * c-gimplify.c: Likewise.
9624 * cilk.c: Likewise.
9625
d8a2d370
DN
96262013-11-14 Diego Novillo <dnovillo@google.com>
9627
9628 * c-common.c: Include fold-const.h.
9629 Include stor-layout.h.
9630 Include calls.h.
9631 Include stringpool.h.
9632 Include attribs.h.
9633 Include varasm.h.
9634 Include trans-mem.h.
9635 * c-cppbuiltin.c: Include stor-layout.h.
9636 Include stringpool.h.
9637 * c-format.c: Include stringpool.h.
9638 * c-lex.c: Include stringpool.h.
9639 Include stor-layout.h.
9640 * c-pragma.c: Include stringpool.h.
9641 Include attribs.h.
9642 Include varasm.h.
9643 Include gcc-symtab.h.
9644 * c-pretty-print.c: Include stor-layout.h.
9645 Include attribs.h.
9646 * cilk.c: Include stringpool.h.
9647 Include calls.h.
9648
38b7bc7f
JM
96492013-11-13 Joseph Myers <joseph@codesourcery.com>
9650
9651 * c-common.h (enum rid): Add RID_AUTO_TYPE.
9652 * c-common.c (c_common_reswords): Add __auto_type.
9653 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
9654
45b0be94
AM
96552013-11-12 Andrew MacLeod <amacleod@redhat.com>
9656
18f429e2
AM
9657 * c-common.c: Include gimplify.h.
9658 * c-gimplify.c: Likewise.
9659 * cilk.c: Likewise.
9660 * c-omp.c: Include gimple-expr.h instead of gimple.h.
9661 * c-ubsan.c: Don't include gimple.h.
45b0be94 9662
582d9b50
JM
96632013-11-12 Joseph Myers <joseph@codesourcery.com>
9664
9665 * c-common.c (c_common_reswords): Add _Thread_local.
9666
6b28e197
JM
96672013-11-09 Joseph Myers <joseph@codesourcery.com>
9668
9669 * c-common.c (atomic_size_supported_p): New function.
9670 (resolve_overloaded_atomic_exchange)
9671 (resolve_overloaded_atomic_compare_exchange)
9672 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
9673 Use it instead of comparing size with a local list of sizes.
9674
267bac10
JM
96752013-11-07 Andrew MacLeod <amacleod@redhat.com>
9676 Joseph Myers <joseph@codesourcery.com>
9677
9678 * c-common.h (enum rid): Add RID_ATOMIC.
9679 * c-common.c (c_common_reswords): Add _Atomic.
9680 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
9681 (keyword_is_type_qualifier): Accept RID_ATOMIC.
9682 * c-format.c (check_format_types): Check for extra _Atomic
9683 qualifiers in format argument.
9684 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
9685 (pp_c_type_qualifier_list): Mention _Atomic in comment.
9686
5157b91e
TB
96872013-11-06 Tobias Burnus <burnus@net-b.de>
9688
9689 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
9690
6dbe0958
JM
96912013-11-06 Joseph Myers <joseph@codesourcery.com>
9692
9693 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
9694 standards modes.
9695 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
9696 to mean lack of IEEE 754 support.
9697
e8ff5196
TB
96982013-11-05 Tobias Burnus <burnus@net-b.de>
9699
9700 * c.opt (-Wdate-time): New option
9701 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
9702
254a0760
JM
97032013-11-05 Joseph Myers <joseph@codesourcery.com>
9704
9705 * c-cppbuiltin.c (cpp_iec_559_value): Test
9706 flag_excess_precision_cmdline not flag_excess_precision.
9707
6d7f7e0a
TB
97082013-11-05 Tobias Burnus <burnus@net-b.de>
9709
9710 * c.opt (fopenmp-simd): New option.
9711 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
9712 (omp_pragmas): ... this new struct.
9713 (c_pp_lookup_pragma): Also walk omp_pragmas.
9714 (init_pragma): Init pragmas for -fopenmp-simd.
9715
55a7f02f
MP
97162013-11-04 Marek Polacek <polacek@redhat.com>
9717
9718 PR c++/58979
9719 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
9720
9193fb05
JM
97212013-11-04 Joseph Myers <joseph@codesourcery.com>
9722
9723 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
9724 New functions.
9725 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
9726
94159ecf
EB
97272013-11-04 Eric Botcazou <ebotcazou@adacore.com>
9728
9729 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
9730 (dump_ada_specs): Adjust prototype of second callback.
9731 * c-ada-spec.c (cpp_check): New global variable.
9732 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
9733 (print_generic_ada_decl): Likewise.
9734 (has_static_fields): Change return type to bool and add guard.
9735 (has_nontrivial_methods): New predicate.
9736 (is_tagged_type): Change return type to bool.
9737 (separate_class_package): Call has_nontrivial_methods.
9738 (pp_ada_tree_identifier): Minor tweaks.
9739 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
9740 (dump_ada_array_domains): Likewise.
9741 (dump_ada_array_type): Likewise.
9742 (dump_template_types): Remove cpp_check parameter and do not pass it to
9743 dump_generic_ada_node.
9744 (dump_ada_template): Likewise.
9745 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
9746 recursively.
9747 (print_ada_methods): Change return type to integer. Remove cpp_check
9748 parameter and do not pass it down.
9749 (dump_nested_types): Remove cpp_check parameter and do not pass it to
9750 dump_generic_ada_node.
9751 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
9752 accessing methods.
9753 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
9754 down. Use has_nontrivial_methods to recognize C++ classes. Use return
9755 value of print_ada_methods.
9756 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
9757 Set cpp_check to it before invoking dump_ada_nodes.
9758 (dump_ada_specs): Likewise.
9759
b906f4ca
MP
97602013-11-03 Marek Polacek <polacek@redhat.com>
9761
9762 * c-ubsan.c: Don't include hash-table.h.
9763 (ubsan_instrument_vla): New function.
9764 * c-ubsan.h: Declare it.
9765
5e20cdc9
DM
97662013-10-31 David Malcolm <dmalcolm@redhat.com>
9767
9768 Automated part of renaming of symtab_node_base to symtab_node.
9769
9770 Patch autogenerated by rename_symtab.py from
9771 https://github.com/davidmalcolm/gcc-refactoring-scripts
9772 revision 58bb219cc090b2f4516a9297d868c245495ee622
9773
9774 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
9775 symtab_node_base to symtab_node.
9776
7057e645
ESR
97772013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
9778
8e745a17 9779 Implement C++14 digit separators.
7057e645
ESR
9780 * c-lex.c (interpret_float): Remove digit separators from scratch string
9781 before building real literal.
9782
193ea7bc
JJ
97832013-10-30 Jakub Jelinek <jakub@redhat.com>
9784
9785 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
9786
939b37da
BI
97872013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
9788
9789 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
9790 fields.
9791 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
9792 enabled.
9793 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
9794 (insert_cilk_frame): New prototype.
9795 (cilk_init_builtins): Likewise.
9796 (gimplify_cilk_spawn): Likewise.
9797 (c_cilk_install_body_w_frame_cleanup): Likewise.
9798 (cilk_detect_spawn_and_unwrap): Likewise.
9799 (cilk_set_spawn_marker): Likewise.
9800 (build_cilk_sync): Likewise.
9801 (build_cilk_spawn): Likewise.
9802 * cilk.c: New file.
9803
67348ccc
DM
98042013-10-29 David Malcolm <dmalcolm@redhat.com>
9805
9806 Patch autogenerated by refactor_symtab.py from
9807 https://github.com/davidmalcolm/gcc-refactoring-scripts
9808 revision 58bb219cc090b2f4516a9297d868c245495ee622
9809
9810 * c-gimplify.c (c_genericize): Update for conversion of symtab types
9811 to a true class hierarchy.
9812 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
9813
d570872d
RS
98142013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
9815
9816 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
9817
98906124
JL
98182013-10-26 Jeff Law <law@redhat.com>
9819
adfac8df
JJ
9820 * c-common.c (c_define_builtins): Remove mudflap support.
9821 * c.opt: Ignore and warn for mudflap options.
98906124 9822
d73749df 98232013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
9824
9825 PR other/33426
9826 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
9827 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
9828
3f04b1bb
JM
98292013-10-23 Jason Merrill <jason@redhat.com>
9830
9831 * c-format.c (gcc_cxxdiag_char_table): Add %X.
9832
acf0174b
JJ
98332013-10-11 Jakub Jelinek <jakub@redhat.com>
9834
acd15a28
JJ
9835 * c-common.h (omp_clause_mask::operator !=): New method.
9836 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
9837 instead of if (mask & something) tests everywhere.
9838
acf0174b
JJ
9839 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
9840 201307 instead of 201107.
9841 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
9842 (c_common_attribute_table): Add "omp declare target" and
9843 "omp declare simd" attributes.
9844 (handle_omp_declare_target_attribute,
9845 handle_omp_declare_simd_attribute): New functions.
9846 * c-omp.c: Include c-pragma.h.
9847 (c_finish_omp_taskgroup): New function.
9848 (c_finish_omp_atomic): Add swapped argument, if true,
9849 build the operation first with rhs, lhs arguments and use NOP_EXPR
9850 build_modify_expr.
9851 (c_finish_omp_for): Add code argument, pass it down to make_code.
9852 (c_omp_split_clauses): New function.
9853 (c_split_parallel_clauses): Removed.
9854 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
9855 c_omp_declare_simd_clauses_to_decls): New functions.
9856 * c-common.h (omp_clause_mask): New type.
9857 (OMP_CLAUSE_MASK_1): Define.
9858 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
9859 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
9860 omp_clause_mask::operator |, omp_clause_mask::operator &,
9861 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
9862 omp_clause_mask::operator ==): New methods.
9863 (enum c_omp_clause_split): New.
9864 (c_finish_omp_taskgroup): New prototype.
9865 (c_finish_omp_atomic): Add swapped argument.
9866 (c_finish_omp_for): Add code argument.
9867 (c_omp_split_clauses): New prototype.
9868 (c_split_parallel_clauses): Removed.
9869 (c_omp_declare_simd_clauses_to_numbers,
9870 c_omp_declare_simd_clauses_to_decls): New prototypes.
9871 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
9872 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
9873 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
9874 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
9875 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
9876 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
9877 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
9878 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
9879 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
9880 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
9881 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
9882 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
9883 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
9884 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
9885 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
9886 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
9887 PRAGMA_OMP_CLAUSE_UNIFORM.
9888
826cacfe
MG
98892013-10-09 Marc Glisse <marc.glisse@inria.fr>
9890
9891 PR tree-optimization/20318
9892 * c-common.c (handle_returns_nonnull_attribute): New function.
9893 (c_common_attribute_table): Add returns_nonnull.
9894
2284b034
MG
98952013-10-03 Marc Glisse <marc.glisse@inria.fr>
9896
9897 PR c++/19476
9898 * c.opt (fcheck-new): Move to common.opt.
9899
b56e9788
MP
99002013-09-25 Marek Polacek <polacek@redhat.com>
9901 Jakub Jelinek <jakub@redhat.com>
9902
9903 PR sanitizer/58413
9904 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
9905 an expression if we can prove it is correct.
9906 (ubsan_instrument_division): Likewise. Remove unnecessary
9907 check.
9908
ce6923c5
MP
99092013-09-18 Marek Polacek <polacek@redhat.com>
9910
9911 PR sanitizer/58411
9912 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
9913 Declare it.
9914 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
9915
fb5610fb
IS
99162013-09-14 Iain Sandoe <iain@codesourcery.com>
9917
9918 PR target/48094
9919 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
9920 fobjc-gc, freplace-objc-classes): Accept for LTO.
9921
88b0e79e
JC
99222013-09-13 Jacek Caban <jacek@codeweavers.com>
9923
9924 * c-target.def: New hook
9925
c9b0866a
PC
99262013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
9927
9928 PR c++/43452
9929 * c.opt (Wdelete-incomplete): Add.
9930
0af94e6f
JR
99312013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
9932
9933 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
9934 (vector_types_compatible_elements_p): New function.
9935 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
9936 declaration.
9937 (vector_types_compatible_elements_p): Declare.
9938
7c26172c
GDR
99392013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
9940
9941 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
9942 a virtual member function.
9943 (pp_simple_type_specifier): Remove.
9944 (pp_c_type_specifier): Likewise.
9945 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
9946 Rename from pp_c_type_specifier. Adjust.
9947 (c_pretty_printer::c_pretty_printer): Do not assign to
9948 simple_type_specifier.
9949
20059c8b
GDR
99502013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9951
9952 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
9953 member function.
9954 (c_pretty_printer::storage_class_specifier): Likewise.
9955 (c_pretty_printer::initializer): Likewise.
9956 (pp_declaration): Remove.
9957 (pp_declaration_specifiers): Likewise.
9958 (pp_abstract_declarator): Likewise.
9959 (pp_declarator): Likewise.
9960 (pp_type_id): Likewise.
9961 (pp_statement): Likewise.
9962 (pp_constant): Likewise.
9963 (pp_id_expression): Likewise.
9964 (pp_primary_expression): Likewise.
9965 (pp_unary_expression): Likewise.
9966 (pp_multiplicative_expression): Likewise.
9967 (pp_conditional_expression): Likewise.
9968 (pp_assignment_expression): Likewise.
9969 (pp_expression): Likewise.
9970 (pp_c_type_id): Likewise.
9971 (pp_c_storage_class_specifier): Likewise.
9972 * c-pretty-print.c (pp_c_type_cast): Tidy.
9973 (pp_c_pointer): Likewise.
9974 (pp_c_type_specifier): Likewise.
9975 (pp_c_parameter_type_list): Likewise.
9976 (pp_c_function_definition): Likewise.
9977 (pp_c_init_declarator): Likewise.
9978 (pp_c_initializer_list): Likewise.
9979 (pp_c_constructor_elts): Likewise.
9980 (c_pretty_printer::direct_abstract_declarator): Likewise.
9981 (c_pretty_printer::declaration_specifiers): Likewise.
9982 (c_pretty_printer::primary_expression): Likewise.
9983 (c_pretty_printer::postfix_expression): Likewise.
9984 (c_pretty_printer::type_id): Rename from pp_c_type_id.
9985 (c_pretty_printer::storage_class_specifier): Rename from
9986 pp_c_storage_class_specifier.
9987 (c_pretty_printer::initializer): Rename from pp_c_initializer.
9988 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
9989 storage_class_specifier, initializer, offset_list, flags.
9990
de5a5fa1
MP
99912013-08-30 Marek Polacek <polacek@redhat.com>
9992
9993 * c-ubsan.c: New file.
9994 * c-ubsan.h: New file.
9995
8f0e4d72
GDR
99962013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
9997
9998 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
9999 member function.
10000 (c_pretty_printer::declaration_specifiers): Likewise.
10001 (c_pretty_printer::declarator): Likewise.
10002 (c_pretty_printer::abstract_declarator): Likewise.
10003 (c_pretty_printer::direct_abstract_declarator): Likewise.
10004 (c_pretty_printer::direct_declarator): Likewise.
10005 (c_pretty_printer::function_specifier): Likewise.
10006 (pp_declaration): Adjust.
10007 (pp_declaration_specifiers): Likewise.
10008 (pp_abstract_declarator): Likewise.
10009 (pp_direct_declarator): Likewise.
10010 (pp_function_specifier): Likewise.
10011 (pp_direct_abstract_declarator): Remove as unused.
10012 (pp_c_declaration): Remove.
10013 (pp_c_declaration_specifiers): Likewise.
10014 (pp_c_declarator): Likewise.
10015 (pp_c_direct_declarator): Likewise.
10016 (pp_c_function_specifier): Likewise.
10017 (pp_c_direct_abstract_declarator): Likewise.
10018 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10019 from pp_c_abstract_declarator. Adjust.
ab20d992 10020 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
10021 pp_c_direct_abstract_declarator. Adjust.
10022 (c_pretty_printer::function_specifier): Rename from
10023 pp_c_function_specifier. Adjust.
10024 (c_pretty_printer::declaration_specifiers): Rename from
10025 pp_c_declaration_specifiers. Adjust.
10026 (c_pretty_printer::direct_declarator): Rename from
10027 pp_c_direct_declarator. Adjust.
10028 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
10029 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
10030 (c_pretty_printer::c_pretty_printer): Do not assign to
10031 declaration, declaration_specifiers, declarator,
10032 direct_declarator, direct_abstract_declarator, function_specifier.
10033
00d34d3a
GDR
100342013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
10035
10036 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10037 virtual member function.
10038 (c_pretty_printer::multiplicative_expression): Likewise.
10039 (c_pretty_printer::conditional_expression): Likewise.
10040 (c_pretty_printer::assignment_expression): Likewise.
10041 (c_pretty_printer::expression): Likewise.
10042 (pp_unary_expression): Adjust.
10043 (pp_multiplicative_expression): Likewise.
10044 (pp_assignment_expression): Likewise.
10045 (pp_conditional_expression): Likewise.
10046 (pp_expression): Likewise.
10047 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10048 from pp_c_unary_expression. Adjust.
10049 (c_pretty_printer::multiplicative_expression): Rename from
10050 pp_c_multiplicative_expression. Adjust.
10051 (c_pretty_printer::conditional_expression): Rename from
10052 pp_c_conditional_expression. Adjust.
10053 (c_pretty_printer::assignment_expression): Rename from
10054 pp_c_assignment_expression. Adjust.
10055 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
10056 (c_pretty_printer::c_pretty_printer): Do not assign to
10057 unary_expression, multiplicative_expression,
10058 conditional_expression, expression.
10059
fb22178f
GDR
100602013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10061
10062 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10063 virtual member function.
10064 (pp_postfix_expression): Adjust.
10065 (pp_c_postfix_expression): Remove.
10066 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10067 from pp_c_postfix_expression. Adjust.
10068 (c_pretty_printer::c_pretty_printer): Do not assign to
10069 postfix_expression.
10070
7ecc2600
GDR
100712013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10072
10073 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10074 virtua member function.
10075 (pp_primary_expression): Adjust.
10076 (pp_c_primary_expression): Remove.
10077 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10078 from pp_c_primary_expression. Adjust.
10079 (pp_c_initializer_list): Use pp_primary_expression.
10080 (c_pretty_printer::c_pretty_printer): Do not assign to
10081 primary_expression.
10082
0691175f
GDR
100832013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
10084
10085 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10086 * c-pretty-print.c (M_): Remove.
10087 (c_pretty_printer::translate_string): Define.
10088 (pp_c_type_specifier): Use it.
10089 (pp_c_primary_expression): Likewise.
10090 (pp_c_expression): Likewise.
10091
66dfe4c4
GDR
100922013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10093
10094 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10095 virtual function.
10096 (pp_c_id_expression): Remove.
10097 (pp_id_expression): Adjust.
10098 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10099 pp_c_id_expression. Adjust.
10100 (pp_c_postfix_expression): Use pp_id_expression.
10101 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10102
ca43e9d5
GDR
101032013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
10104
10105 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10106 member function.
10107 (pp_constant): Adjust.
10108 (pp_c_constant): Remove.
10109 * c-pretty-print.c (c_pretty_printer::constant): Rename from
10110 pp_c_constant. Adjust.
10111 (pp_c_constant)
10112 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10113 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10114
da6ca2b5
GDR
101152013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10116
10117 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10118 (c_pretty_printer::c_pretty_printer): Declare.
10119 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10120 c_pretty_printer_init. Adjust.
10121 (print_c_tree): Do not call c_pretty_printer_init.
10122 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10123
65a372f4
AC
101242013-08-09 Arnaud Charlet <charlet@adacore.com>
10125
10126 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10127
fd9b0f32
PC
101282013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
10129
10130 PR c++/58080
10131 * c-common.c (pointer_int_sum): Add bool parameter.
10132 * c-common.h (pointer_int_sum): Adjust declaration.
10133
e0aec1e9
GDR
101342013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10135
10136 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
10137 c_pretty_printer variable.
10138
b066401f
GDR
101392013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
10140
10141 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10142 (pp_base): Remove.
10143 (pp_c_base): Likewise. Adjust users.
10144 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10145 (pp_c_whitespace): Do not call pp_base.
10146 (pp_c_left_paren): Likewise.
10147 (pp_c_right_paren): Likewise.
10148 (pp_c_left_brace): Likewise.
10149 (pp_c_right_brace): Likewise.
10150 (pp_c_left_bracket): Likewise.
10151 (pp_c_right_bracket): Likewise.
10152 (pp_c_dot): Likewise.
10153 (pp_c_ampersand): Likewise.
10154 (pp_c_star): Likewise.
10155 (pp_c_arrow): Likewise.
10156 (pp_c_semicolon): Likewise.
10157 (pp_c_complement): Likewise.
10158 (pp_c_exclamation): Likewise.
10159 (pp_c_direct_declarator): Likewise.
10160 (pp_c_ws_string): Likewise.
10161 (pp_c_identifier): Likewise.
10162 (pp_c_statement): Likewise.
10163 (print_c_tree): Likewise.
10164
65e5a578
ESR
101652013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
10166
10167 PR c++/58072
10168 * c-common.c (c_parse_error): Catch user-defined literal tokens and
10169 provide useful error strings.
10170
137a1a27
GDR
101712013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10172
10173 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10174 printer functions instead of pp_string or operators and punctuators.
10175 (dump_generic_ada_node): Likewise.
10176 * c-pretty-print.c (pp_c_type_specifier): Likewise.
10177 (pp_c_relational_expression): Likewise.
10178 (pp_c_logical_or_expression): Likewise.
10179
07838b13
GDR
101802013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10181
10182 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10183 functions instead of pp_character.
10184 (pp_ada_tree_identifier): Likewise.
10185 (dump_ada_double_name): Likewise.
10186 (dump_ada_function_declaration): Likewise.
10187 (dump_ada_array_domains): Likewise.
10188 (dump_template_types): Likewise.
10189 (dump_generic_ada_node): Likewise.
10190 (print_ada_declaration): Likewise.
10191 (print_ada_struct_decl): Likewise.
10192 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10193
433cc7b0
TT
101942013-07-23 Tom Tromey <tromey@redhat.com>
10195
10196 * c-common.h (enum rid) <RID_GENERIC>: New constant.
10197 * c-common.c (c_common_reswords): Add _Generic.
10198
688010ba
OB
101992013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
10200
10201 * c-common.c: Fix typos.
10202 * c-common.h: Likewise.
10203
2a99e5e6
LL
102042013-07-13 Lubos Lunak <l.lunak@suse.cz>
10205
10206 PR c++/55203
10207 * c-common.c (c_common_attribute_table): Add warn_unused.
10208 (handle_warn_unused_attribute): New.
10209
c26302d5
JJ
102102013-07-10 Jakub Jelinek <jakub@redhat.com>
10211
10212 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10213 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10214
dfeadaa0
PC
102152013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
10216
10217 PR c++/57869
10218 * c.opt: Add Wconditionally-supported.
10219
6a2fa4b2
GS
102202013-07-08 Graham Stott <graham.stott@btinternet.com>
10221
adfac8df 10222 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
10223 unused variables l_length and l_node.
10224
ecdbd01a 102252013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10226
10227 PR c/57821
10228 * c-common.c (complete_array_type): Delay folding first index
10229 like other indices. When folding, check for index overflow.
10230
bedc293e
MG
102312013-06-27 Marc Glisse <marc.glisse@inria.fr>
10232
10233 PR c++/57509
10234 * c-common.h (c_build_vec_perm_expr): New complain argument.
10235 * c-common.c (c_build_vec_perm_expr): Likewise.
10236 Use save_expr also in C++.
10237
604b2bfc
GDR
102382013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10239
10240 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10241 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10242 * c-opts.c (c_common_post_options): Likewise.
10243
dfeadaa0 102442013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10245
10246 * array-notation-common.c (length_mismatch_in_expr): Changed the
10247 parameter type's from a dynamic array to a vec_tree. Also removed
10248 the size parameters.
10249 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10250 the change above.
10251
2ce86d2e
BI
102522013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10253
10254 * c-common.h (struct cilkplus_an_parts): New structure.
10255 (struct cilkplus_an_loop_parts): Likewise.
10256 (cilkplus_extract_an_triplets): New prototype.
10257 (fix_sec_implicit_args): Likewise.
10258 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10259 (fix_sec_implicit_args): Likewise.
604b2bfc 10260
07a6825b
BI
102612013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10262
10263 * array-notation-common.c (find_inv_trees): Removed an unwanted
10264 typecasting.
10265 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10266 enum rid to enum tree_code.
10267
08346abd
JH
102682013-06-11 Jan Hubicka <jh@suse.cz>
10269
10270 * c-common.c (handle_alias_ifunc_attribute): Do not set
10271 DECL_EXTERNAL for weakref variables.
10272 * c-pragma.c (handle_pragma_weak): Make sure aliases
10273 are not declared as external.
10274
d60f1706
BI
102752013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10276
10277 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10278 function from c/c-array-notation.c.
10279 (is_cilkplus_reduce_builtin): Likewise.
10280 (find_rank): Likewise.
10281 (extract_array_notation_exprs): Likewise.
10282 (replace_array_notations): Likewise.
10283 (find_inv_trees): Likewise.
10284 (replace_inv_trees): Likewise.
10285 (contains_array_notation_expr): Likewise.
10286 (find_correct_array_notation_type): Likewise.
10287 * c-common.h (struct inv_list): Moved this struct from the file
10288 c/c-array-notation.c and added a new field called additional tcodes.
10289 (length_mismatch_in_expr_p): New prototype.
10290 (is_cilkplus_reduce_builtin): Likewise.
10291 (find_rank): Likewise.
10292 (extract_array_notation_exprs): Likewise.
10293 (replace_array_notation): Likewise.
10294 (find_inv_trees): Likewise.
10295 (replace_inv_trees): Likewise.
10296 (find_correct_array_notation_type): Likewise.
dfeadaa0 10297
36536d79
BI
102982013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10299
10300 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10301 function array_notation_init_builtins is called.
10302 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10303 * c-common.def (ARRAY_NOTATION_REF): New tree.
10304 * c-common.h (build_array_notation_expr): New function declaration.
10305 (build_array_notation_ref): Likewise.
10306 (extract_sec_implicit_index_arg): New extern declaration.
10307 (is_sec_implicit_index_fn): Likewise.
10308 (ARRAY_NOTATION_CHECK): New define.
10309 (ARRAY_NOTATION_ARRAY): Likewise.
10310 (ARRAY_NOTATION_START): Likewise.
10311 (ARRAY_NOTATION_LENGTH): Likewise.
10312 (ARRAY_NOTATION_STRIDE): Likewise.
10313 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10314 ARRAY_NOTATION_REF.
10315 (pp_c_expression): Likewise.
10316 * c.opt (flag_enable_cilkplus): New flag.
10317 * array-notation-common.c: New file.
10318
f7716d57
JJ
103192013-05-14 Jakub Jelinek <jakub@redhat.com>
10320
10321 PR c++/57274
10322 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10323
a5e0cd1d
MG
103242013-05-10 Marc Glisse <marc.glisse@inria.fr>
10325
10326 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10327 vectors.
10328
f6bc1c4a
HS
103292013-05-07 Han Shen <shenhan@google.com>
10330
10331 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10332
3f12f6e9
SKS
103332013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10334
10335 * c-common.c (check_user_alignment): Emit error for negative values.
10336
61949153
PC
103372013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10338
10339 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10340
e93e18e9
PC
103412013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10342
10343 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10344 __GXX_EXPERIMENTAL_CXX1Y__.
10345
44d90fe1 103462013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10347 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10348
10349 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10350 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10351 to simply use OPT_Wpointer_arith.
10352 (c_sizeof_or_alignof_type): Likewise.
10353
13f39b2e
PC
103542013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10355
10356 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10357
4b84d650
JJ
103582013-04-12 Jakub Jelinek <jakub@redhat.com>
10359
10360 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10361 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10362 specifiers.
10363
fb037b5d
SB
103642013-04-07 Steven Bosscher <steven@gcc.gnu.org>
10365
10366 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10367
4e856798
PC
103682013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
10369
10370 * c-common.c (pointer_int_sum): Remove dead code.
10371
4b1baac8
RS
103722013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
10373
10374 PR middle-end/56524
10375 * c-common.c (handle_optimize_attribute): Don't call
10376 save_optabs_if_changed.
10377
0b50e654
JJ
103782013-03-05 Jakub Jelinek <jakub@redhat.com>
10379
10380 PR middle-end/56461
10381 * c-pch.c (pch_init): Free target_validity at the end.
10382
48c41403
JJ
103832013-03-04 Jakub Jelinek <jakub@redhat.com>
10384
10385 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10386
e664c61c
KS
103872013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
10388 Jakub Jelinek <jakub@redhat.com>
10389
10390 PR sanitizer/56454
10391 * c-common.c (handle_no_sanitize_address_attribute): New function.
10392 (c_common_attribute_table): Add no_sanitize_address attribute.
10393 (handle_no_address_safety_analysis_attribute): Add
10394 no_sanitize_address attribute, not no_address_safety_analysis
10395 attribute.
10396
a475fd3d 103972013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
10398
10399 PR target/52555
10400 * c-common.c (handle_optimize_attribute): Call
10401 save_optabs_if_changed.
10402
f6007d99
JJ
104032013-02-18 Jakub Jelinek <jakub@redhat.com>
10404 Steven Bosscher <steven@gcc.gnu.org>
10405
10406 PR pch/54117
10407 * c-opts.c (c_common_post_options): If debug info is enabled
10408 and non-dwarf*, refuse to load PCH files and when writing PCH
10409 file warn.
10410
cf35e2b1
JJ
104112013-02-05 Jakub Jelinek <jakub@redhat.com>
10412
10413 PR middle-end/56167
10414 * c-common.c (handle_error_attribute): Fix condition.
10415
32887460
JJ
104162013-01-30 Jakub Jelinek <jakub@redhat.com>
10417
10418 PR c++/55742
10419 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10420
5af057d8
JM
104212013-01-18 Jason Merrill <jason@redhat.com>
10422
10423 PR target/54908
10424 * c.opt (-fextern-tls-init): New.
10425 * c-opts.c (c_common_post_options): Handle it.
10426
cc83c823
JJ
104272013-01-09 Jakub Jelinek <jakub@redhat.com>
10428
10429 PR c/48418
10430 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10431 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10432 and is either negative or bigger or equal to type precision
10433 of the first operand.
10434
a859517f
MP
104352012-12-03 Marek Polacek <polacek@redhat.com>
10436
10437 PR c/55570
10438 * c-common.c (check_user_alignment): Swap order of tests,
10439 check TREE_CODE first.
10440
2d7aa578
ESR
104412012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
10442
10443 PR c++/52654
10444 * c-common.h (overflow_type): New enum.
10445 (build_userdef_literal): Add overflow_type argument.
10446 (tree_userdef_literal): Add overflow_type.
10447 (USERDEF_LITERAL_OVERFLOW): New access macro.
10448 * c-common.c (build_userdef_literal): Add overflow_type
10449 argument.
10450 * c-lex.c (c_lex_with_flags): Add overflow_type to
10451 build_userdef_literal calls.
10452 (interpret_integer, interpret_float): Add overflow_type argument.
10453
cc3c4f62
RB
104542012-11-28 Richard Biener <rguenther@suse.de>
10455
10456 PR c/35634
10457 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10458 here and use a type with proper overflow behavior for types that would
10459 need to be promoted for the arithmetic.
10460
77bc5132
JJ
104612012-11-23 Jakub Jelinek <jakub@redhat.com>
10462
10463 PR sanitizer/55435
10464 * c-common.c (handle_no_address_safety_analysis_attribute): New
10465 function.
10466 (c_common_attribute_table): Add no_address_safety_analysis.
10467
5dc99c46
SB
104682012-11-16 Simon Baldwin <simonb@google.com>
10469
10470 * c.opt: Add f[no-]canonical-system-headers.
10471 * c-opts.c (c_common_handle_option): Handle
10472 OPT_fcanonical_system_headers.
10473
a4a0016d
ESR
104742012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
10475
10476 PR c++/54413
10477 * c-opts.c (c_common_handle_option): Set new flags.
10478 * c.opt: Describe new flags.
10479
7dbb85a7
JM
104802012-11-09 Jason Merrill <jason@redhat.com>
10481
10482 * c.opt (Wabi-tag): New.
10483
ad7bac31
AK
104842012-11-09 Andi Kleen <ak@linux.intel.com>
10485
10486 PR 55139
10487 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 10488 MEMMODEL_MASK
ad7bac31 10489
7332899a
MLI
104902012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10491
10492 PR c/53063
10493 * c.opt (Wformat): Make it Alias Wformat=1.
10494 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10495 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10496 LangEnabledBy.
10497 (Wformat=): RejectNegative. Use LangEnabledBy.
10498 (Wnonnull): Use LangEnabledBy.
10499 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10500 * c-format.c (set_Wformat): Delete.
10501 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
10502 (maybe_read_dollar_number): Likewise.
10503 (avoid_dollar_number): Likewise.
10504 (finish_dollar_format_checking): Likewise.
10505 (check_format_info): Likewise.
10506 (check_format_info_main): Likewise.
10507 (check_format_types): Likewise.
10508 (format_type_warning): Likewise.
10509 * c-common.c (int): Likewise.
10510 (check_function_sentinel): Likewise.
8e745a17 10511 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 10512
34a180a6
MLI
105132012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10514
10515 PR c/53063
10516 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10517 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10518 Use LangEnabledBy.
10519 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10520 common.opt.
10521 (Wvariadic-macros): Init(1).
10522 * c-opts.c (c_common_handle_option): Do not handle them
10523 explicitly.
10524 (c_common_post_options): Likewise.
10525 (sanitize_cpp_opts): warn_unused_macros is now
10526 cpp_warn_unused_macros.
10527 (push_command_line_include): Likewise.
10528 * c-common.c (warn_unknown_pragmas): Do not define.
10529 * c-common.h (warn_unknown_pragmas): Do not declare.
10530
3f46d6a5
MLI
105312012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10532
10533 PR c/51294
10534 * c-common.c (conversion_warning): Handle conditional expressions.
10535
880661a4
JW
105362012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
10537
10538 PR c++/54930
10539 * c.opt (Wreturn_local_addr): Define new option.
10540
4514a96b
JM
105412012-10-25 Jason Merrill <jason@redhat.com>
10542
f14edc1a
JM
10543 * c.opt (Wvirtual-move-assign): New.
10544
4514a96b
JM
10545 * c.opt (Winherited-variadic-ctor): New.
10546
93100c6b
MG
105472012-10-25 Marc Glisse <marc.glisse@inria.fr>
10548
10549 PR c++/54427
10550 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10551
1efcb8c6
JM
105522012-10-23 Joseph Myers <joseph@codesourcery.com>
10553
10554 * c-common.h (pch_cpp_save_state): Declare.
10555 * c-target.def (c_preinclude): New hook.
10556 * c-opts.c (done_preinclude): New.
10557 (push_command_line_include): Handle default preincluded header.
10558 (cb_file_change): Call pch_cpp_save_state when calling
10559 push_command_line_include.
10560 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10561 (pch_cpp_save_state): New.
10562 (pch_init): Call pch_cpp_save_state conditionally, instead of
10563 calling cpp_save_state.
10564
4a0ae68e
MLI
105652012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10566
10567 PR c/53063
10568 PR c/40989
10569 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10570 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10571 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10572 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10573 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10574 * c-opts.c (c_common_handle_option): Remove explicit handling from
10575 here.
10576 (c_common_post_options): Likewise.
10577
67e4210b
EB
105782012-10-18 Eric Botcazou <ebotcazou@adacore.com>
10579
10580 * c-ada-spec.c (LOCATION_COL): Delete.
10581 (compare_location): New function.
10582 (compare_node): Use it.
10583 (compare_comment): Likewise.
10584
65d4f2cd
MLI
105852012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10586
10587 PR c/53063
10588 PR c/40989
10589 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
10590 * c-opts.c (c_common_handle_option): Do not set them here. Add
10591 comment.
10592 (c_common_post_options): Likewise.
10593
909881cb
EB
105942012-10-16 Eric Botcazou <ebotcazou@adacore.com>
10595
10596 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
10597 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
10598 Remove POINTER_TYPE handling, add large unsigned handling and use
10599 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
10600
3a785c97
JJ
106012012-10-12 Jakub Jelinek <jakub@redhat.com>
10602
10603 PR c/54381
10604 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
10605 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
10606 locs and array of 3 trees instead of just single loc and single
10607 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
10608 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
10609 For *cmp* builtins that take two sources strings report warnings
10610 about first and second source, not about destination and source.
10611
5e54f81d
MG
106122012-10-12 Marc Glisse <marc.glisse@inria.fr>
10613
10614 PR c++/53055
10615 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
10616
f5b02f1e
EB
106172012-10-11 Eric Botcazou <ebotcazou@adacore.com>
10618
10619 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
10620 declaring something coming from another file.
10621
b46dbc6c
AC
106222012-10-10 Arnaud Charlet <charlet@adacore.com>
10623
f5b02f1e 10624 PR ada/54845
b46dbc6c
AC
10625 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
10626
5d9de0d0
PC
106272012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
10628
10629 PR c++/54194
10630 * c-common.c (warn_about_parentheses): Add location_t parameter;
10631 use EXPR_LOC_OR_LOC.
10632 * c-common.h: Update declaration.
10633
a212e43f
MG
106342012-10-09 Marc Glisse <marc.glisse@inria.fr>
10635
10636 PR c++/54427
10637 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
10638 more operations. Make error messages optional.
10639 * c-common.h (enum stv_conv): Moved from c-typeck.c.
10640 (scalar_to_vector): Declare.
10641
b1db7f91
JM
106422012-10-08 Jason Merrill <jason@redhat.com>
10643
10644 * c-common.c (c_common_reswords): Add thread_local.
10645
e28d52cf
DS
106462012-10-08 Dodji Seketeli <dodji@redhat.com>
10647
10648 PR c++/53528 C++11 attribute support
10649 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
10650 new functions.
10651 * c-common.c (check_cxx_fundamental_alignment_constraints): New
10652 static function.
10653 (handle_aligned_attribute): In choose strictest alignment
10654 among many. Use new check_cxx_fundamental_alignment_constraints.
10655 (handle_transparent_union_attribute): In c++11 attribute syntax,
10656 don't look through typedefs.
10657
3b78de56
AC
106582012-10-04 Arnaud Charlet <charlet@adacore.com>
10659
10660 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
10661 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
10662 out of dumpfile.h.
10663
6040bb5f
DC
106642012-09-25 Dehao Chen <dehao@google.com>
10665
10666 PR middle-end/54645
3b78de56 10667 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
10668 map when read in the pch.
10669
3f8257db 106702012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
10671
10672 * c-ada-spec.c: Style fixes.
10673
3f8257db 106742012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
10675
10676 * c.opt (-fada-spec-parent): Define new command line switch.
10677 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
10678 is specified, generate binding spec as a child of the specified unit.
10679
0ccb505d
PC
106802012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
10681 Manuel López-Ibáñez <manu@gcc.gnu.org>
10682
10683 PR c++/53210
10684 * c.opt ([Winit-self]): Enabled by -Wall in C++.
10685
c583af79
AC
106862012-08-23 Arnaud Charlet <charlet@adacore.com>
10687
10688 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
10689 for pointers, and add missing Convention C pragma.
10690 (print_ada_struct_decl): Add missing aliased keyword.
10691 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
10692
1a4049e7
JJ
106932012-08-17 Jakub Jelinek <jakub@redhat.com>
10694
10695 * c-common.c (sizeof_pointer_memaccess_warning): New function.
10696 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
10697 * c-opts.c (c_common_handle_option): Enable it for -Wall.
10698 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
10699 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
10700
70b5e7dc
RG
107012012-08-10 Richard Guenther <rguenther@suse.de>
10702
10703 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
10704
f8923f7e
SB
107052012-08-07 Steven Bosscher <steven@gcc.gnu.org>
10706
10707 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
10708 instead of separate pp_newline and pp_flush.
10709 (print_c_tree): Likewise.
10710
e45abe1f
RH
107112012-07-26 Richard Henderson <rth@redhat.com>
10712
10713 * c-common.c (handle_hot_attribute): Allow labels.
10714 (handle_cold_attribute): Likewise.
10715
332f1d24
JJ
107162012-07-20 Jakub Jelinek <jakub@redhat.com>
10717
10718 PR c++/28656
10719 * c-common.c (check_function_nonnull): Handle multiple nonnull
10720 attributes properly.
10721
7ee2468b
SB
107222012-07-16 Steven Bosscher <steven@gcc.gnu.org>
10723
10724 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
10725 * c-ada-spec.c: Likewise.
10726 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
10727
ee7b28eb
SB
107282012-07-14 Steven Bosscher <steven@gcc.gnu.org>
10729
10730 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
10731 Remove code conditional on it.
10732
6bdf3519
SB
107332012-07-11 Steven Bosscher <steven@gcc.gnu.org>
10734
10735 * c-gimplify.c: Do not include basic-block.h.
10736 * c-common.c: Do not include linfuncs.h.
10737
532aafad
SB
107382012-07-08 Steven Bosscher <steven@gcc.gnu.org>
10739
10740 * c-common.h: Include tree.h.
10741
8d0d1915
JM
107422012-07-02 Jason Merrill <jason@redhat.com>
10743
10744 PR c++/53524
10745 * c-common.c (get_priority): Call default_conversion.
10746
fbc873ad
UB
107472012-07-01 Uros Bizjak <ubizjak@gmail.com>
10748
10749 * c-pch.c (c_common_write_pch): Remove unused variables.
10750
d4a10d0a
SB
107512012-06-29 Steven Bosscher <steven@gcc.gnu.org>
10752
10753 * cppspec.c: Moved from gcc/ to here.
10754
6f3a2e23
KT
107552012-06-27 Kai Tietz <ktietz@redhat.com>
10756
10757 PR preprocessor/37215
10758 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
10759
8ca92d04
SB
107602012-06-21 Steven Bosscher <steven@gcc.gnu.org>
10761
10762 * c-common.h (c_common_print_pch_checksum): Remove.
10763 * c-pch.c: Do not include output.h.
10764 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
10765 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
10766 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
10767 (struct c_pch_header): Remove.
10768 (get_ident): Update gpch version.
10769 (pch_init): Do not print executable_checksum to asm_out_file.
10770 Do not fail if there is no asm_out_file to read back from. Set
10771 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
10772 (c_common_write_pch): Verify that nothing was written to asm_out_file
10773 since pch_init was called. Do not write a c_pch_header, and do not
10774 copy from asm_out_file to the PCH.
10775 (c_common_read_pch): Do not read a c_pch_header, and do not restore
10776 the content of asm_out_file from the PCH.
10777 (c_common_print_pch_checksum): Remove.
10778 * c-opts.c (c_common_init): Print out executable_checksum directly.
10779
70f42967
SB
107802012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10781
10782 * c-target.def (objc_declare_unresolved_class_reference,
10783 objc_declare_class_definition): Add new hooks.
10784
a8781821
SB
107852012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10786
10787 * c-lex.c: Do not include output.h.
10788 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
10789 Remove uses of ASM_OUTPUT_IDENT.
10790
9e1a8dd1
RR
107912012-06-15 Marc Glisse <marc.glisse@inria.fr>
10792
10793 PR c++/51033
10794 * c-common.h (c_build_vec_perm_expr): Move decl here.
10795 * c-common.c (c_build_vec_perm_expr): Move definition
10796 here.
10797
6f07a821
SB
107982012-06-06 Steven Bosscher <steven@gcc.gnu.org>
10799
10800 * c.opt (fconserve-space): Turn into a no-op.
10801
9faeb493 108022012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
10803
10804 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
10805 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
10806 both the start and end of the function.
10807
a4b7d13c
SB
108082012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10809
10810 * c-common.c: Do not include output.h.
10811 * c-pragma.c: Likewise.
10812
c265f413
SA
108132012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10814
10815 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
10816 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
10817 (lang_decl_name): Handle namespace decls.
10818
be7a421e
SB
108192012-05-31 Steven Bosscher <steven@gcc.gnu.org>
10820
10821 * c-ada-spec.c: Do not include output.h.
10822 * c-semantics.c: Likewise.
10823
65de6659
JM
108242012-05-29 Joseph Myers <joseph@codesourcery.com>
10825
10826 * c-common.c: Fix typo.
10827
ca5f4331
MM
108282012-05-29 Michael Matz <matz@suse.de>
10829
10830 * c-common.h (c_expand_decl): Remove prototype.
10831
4f7f7aca
MLI
108322012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10833
10834 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
10835 * c-opts.c (c_common_handle_option): Remove code handling
10836 warn_missing_braces.
10837
4a792f9b
PC
108382012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
10839
10840 PR c++/25137
10841 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
10842 -Wmissing_braces.
10843
650dc14a
DS
108442012-05-22 Dodji Seketeli <dodji@redhat.com>
10845
10846 PR c++/53322
10847 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
10848
9b095bf1
MLI
108492012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
10850
10851 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
10852 * c-opts.c (c_common_handle_option): Do not handle explicitly
10853 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
10854
0b2c4be5
DS
108552012-05-16 Dodji Seketeli <dodji@redhat.com>
10856
10857 PR preprocessor/7263
ab20d992 10858 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
10859 to cpp_classify_number. For diagnostics, use the precise location
10860 instead of the global input_location.
10861
a1bde5af
PC
108622012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10863
d02924ef 10864 PR c++/11856
a1bde5af
PC
10865 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
10866
d1ede5f4
BS
108672012-05-14 Bernd Schmidt <bernds@codesourcery.com>
10868
a1bde5af 10869 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 10870
f2bc201f
MLI
108712012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
10872
10873 PR 53063
10874 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
10875 Wreorder): Use LangEnabledBy.
10876 * c-opts.c (c_common_handle_option): Do not enable them
10877 explicitly. Call lang-specific generated functions.
10878 (c_common_post_options): Do not set them here.
10879
95744782
MLI
108802012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
10881
10882 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
10883 Wmissing-field-initializers,Wmissing-parameter-type,
10884 Wold-style-declaration,Woverride-init): Use EnabledBy.
10885 * c-opts.c (c_common_post_options): Do not set here explicitly.
10886
7d5a5747
MLI
108872012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10888
10889 PR 53063
10890 * c-opts.c (c_common_handle_option): Use handle_generated_option
10891 to enable sub-options.
10892
5a3c9cf2
PC
108932012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
10894
10895 PR c++/53158
10896 * c-common.c (warnings_for_convert_and_check): Use warning_at.
10897
3ac8781c
RG
108982012-05-10 Richard Guenther <rguenther@suse.de>
10899
10900 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
10901 adjust commentary about TYPE_IS_SIZETYPE types.
10902
1e537948
MLI
109032012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10904
10905 PR c++/53261
10906 * c-common.c (warn_logical_operator): Check that argument of
10907 integer_zerop is not NULL.
10908
f2c4a785
MLI
109092012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
10910
10911 PR c/43772
10912 * c-common.c (warn_logical_operator): Do not warn if either side
10913 is already true or false.
10914
50f305ca
MLI
109152012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
10916
10917 PR c/51712
10918 * c-common.c (expr_original_type): New.
10919 (shorten_compare): Do not warn for enumeration types.
10920
0c3641b0
MLI
109212012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10922
10923 * c.opt (fpermissive): Add Var(flag_permissive).
10924
7edaa4d2
MG
109252012-04-30 Marc Glisse <marc.glisse@inria.fr>
10926
10927 PR c++/51033
10928 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
10929 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
10930
b9c8da34
DS
109312012-04-30 Dodji Seketeli <dodji@redhat.com>
10932
10933 Add -Wvarargs option
ab20d992 10934 * c.opt (Wvarargs): Define new option.
b9c8da34 10935
e6c69da0
MLI
109362012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10937
10938 * c-common.c (check_function_arguments): Replace
10939 Wmissing-format-attribute with Wsuggest-attribute=format.
10940
90137d8f
MLI
109412012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10942
10943 * c.opt (Wsuggest-attribute=format): New. Alias of
10944 Wmissing-format-attribute.
10945 * c-format.c (decode_format_type): Replace
10946 Wmissing-format-attribute with Wsuggest-attribute=format.
10947 (check_function_format): Likewise.
10948
9faeb493 109492012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
10950
10951 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
10952 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
10953 * c.opt: Add Wliteral-suffix.
10954
c1771a20
MLI
109552012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
10956
10957 PR c/44774
10958 * c.opt (Wpedantic): New.
10959 (pedantic): Alias Wpedantic.
10960 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
10961 (c_common_post_options): Likewise.
10962 (sanitize_cpp_opts): Likewise.
10963 * c-lex.c (interpret_float): Likewise.
10964 * c-format.c (check_format_types): Likewise.
10965 * c-common.c (pointer_int_sum): Likewise.
10966 (c_sizeof_or_alignof_type): Likewise.
10967 (c_add_case_label): Likewise.
10968 (c_do_switch_warnings): Likewise.
10969 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10970
04b391c1
JM
109712012-04-15 Jason Merrill <jason@redhat.com>
10972
10973 PR c++/52818
10974 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
10975 (C_STD_NAME): Distinguish between C++98 and C++11.
10976
ac868f29
EB
109772012-04-11 Eric Botcazou <ebotcazou@adacore.com>
10978
10979 PR target/52624
10980 * c-common.h (uint16_type_node): Rename into...
10981 (c_uint16_type_node): ...this.
10982 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
10983 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
10984
fd4116f4
MLI
109852012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
10986
10987 * c-common.c (warn_if_unused_value): Move definition to here.
10988 * c-common.h (warn_if_unused_value): Move declaration to here.
10989
573ac65e
WB
109902012-03-23 William Bader <williambader@hotmail.com>
10991
10992 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
10993
552b8185
JM
109942012-03-20 Jason Merrill <jason@redhat.com>
10995
10996 * c-common.h (enum cxx_dialect): Add cxx1y.
10997 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
10998 test.
10999 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11000 * c-opts.c (c_common_post_options): Likewise.
11001 (set_std_cxx1y): New.
11002 (c_common_handle_option): Call it.
11003 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11004
04398fa8
PC
110052012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
11006
11007 PR c++/14710
11008 * c.opt ([Wuseless-cast]): Add.
11009
d2a12ae7
RG
110102012-03-16 Richard Guenther <rguenther@suse.de>
11011
11012 * c-pretty-print.c (pp_c_initializer_list): Adjust.
11013
a12bf402
MLI
110142012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
11015
11016 PR c++/44783
11017 * c.opt (ftemplate-backtrace-limit) Add.
11018
5c30094f
RO
110192012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11020
11021 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11022 handling.
11023 * c-pragma.c (handle_pragma_extern_prefix): Remove.
11024 (init_pragma): Don't register extern_prefix.
11025
21fa2faf
RG
110262012-03-12 Richard Guenther <rguenther@suse.de>
11027
11028 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11029 (builtin_type_for_size): Likewise.
11030
e3793c6f
JJ
110312012-02-13 Jakub Jelinek <jakub@redhat.com>
11032
11033 PR c++/52215
11034 * c-common.c (sync_resolve_params): Don't decide whether to convert
11035 or not based on TYPE_SIZE comparison, convert whenever arg_type
11036 is unsigned INTEGER_TYPE.
11037
93286335
PC
110382012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
11039
11040 PR c/52118
11041 * c.opt ([Wunused-local-typedefs]): Fix description.
11042
7a421706
MS
110432012-01-24 Mike Stump <mikestump@comcast.net>
11044
11045 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11046 exactly.
11047
ba9b1f11
RG
110482012-01-18 Richard Guenther <rguenther@suse.de>
11049
11050 * c-opts.c (c_common_post_options): Reset LTO flags if
11051 we are about to generate a PCH.
11052
465406be
PC
110532012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
11054
11055 PR c++/51777
11056 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11057 use pp_unsigned_wide_integer.
11058
aee15221
RG
110592012-01-10 Richard Guenther <rguenther@suse.de>
11060
11061 PR middle-end/51806
11062 * c-opts.c (c_common_handle_option): Move -Werror handling
11063 to language independent code.
11064
5720c0dc
RG
110652012-01-05 Richard Guenther <rguenther@suse.de>
11066
11067 PR middle-end/51764
11068 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11069 from common.opt.
11070
73ac190a
PC
110712011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
11072
11073 PR c++/51316
11074 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11075 of array types with an unknown bound.
11076
48b0b196
JM
110772011-12-20 Joseph Myers <joseph@codesourcery.com>
11078
11079 * c-common.c (flag_isoc99): Update comment to refer to C11.
11080 (flag_isoc1x): Change to flag_isoc11.
11081 * c-common.h (flag_isoc99): Update comment to refer to C11.
11082 (flag_isoc1x): Change to flag_isoc11.
11083 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11084 C11.
11085 * c-opts.c (set_std_c1x): Change to set_std_c11.
11086 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11087 Call set_std_c11.
11088 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11089 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11090 * c.opt (std=c1x): Change to std=c11. Document as non-draft
11091 standard.
11092 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11093 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
11094 (std=gnu1x): Make alias of std=gnu11.
11095
d58d6eb5
JM
110962011-12-19 Jason Merrill <jason@redhat.com>
11097
11098 PR c++/51228
11099 * c-common.c (handle_transparent_union_attribute): Check the first
11100 field if the type is complete.
11101
b3908fcc
JW
111022011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
11103
11104 PR libstdc++/51365
11105 * c-common.c (RID_IS_FINAL): Add.
11106 * c-common.h (RID_IS_FINAL): Add.
11107
fea3ca91
IS
111082011-11-30 Iain Sandoe <iains@gcc.gnu.org>
11109
11110 * c.opt (fgnu-runtime): Provide full description.
11111 (fnext-runtime): Likewise.
11112 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11113
62bad7cd
AM
111142011-11-28 Andrew MacLeod <amacleod@redhat.com>
11115
11116 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
11117 predefines in one place. Add LOCK_FREE predefines.
11118 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11119 new func.
11120
c466c4ff
AM
111212011-11-24 Andrew MacLeod <amacleod@redhat.com>
11122
11123 PR c/51256
9faeb493 11124 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 11125 conditions
9faeb493
UB
11126 (resolve_overloaded_atomic_exchange,
11127 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
11128 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11129 error_mark_node for error conditions.
9faeb493 11130
a5952633
RG
111312011-11-08 Richard Guenther <rguenther@suse.de>
11132
11133 PR middle-end/51010
ab20d992 11134 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 11135
0a35513e
AH
111362011-11-07 Richard Henderson <rth@redhat.com>
11137 Aldy Hernandez <aldyh@redhat.com>
11138 Torvald Riegel <triegel@redhat.com>
11139
11140 Merged from transactional-memory.
11141
11142 * c-common.c (handle_tm_wrap_attribute,
11143 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11144 (struct c_common_reswords): Added __transaction* keywords.
11145 (struct c_common_attribute_table): Added transaction* and tm_regparm
11146 attributes.
11147 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11148 masks.
11149 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11150 find_tm_attribute): Declare.
11151
6d87092d
JM
111522011-11-07 Jason Merrill <jason@redhat.com>
11153
11154 PR c++/35688
11155 * c-common.c, c-common.h: Revert yesterday's changes.
11156
8e7860a1
JM
111572011-11-06 Jason Merrill <jason@redhat.com>
11158
11159 PR c++/35688
11160 * c-common.c (decl_has_visibility_attr): Split out from...
11161 (c_determine_visibility): ...here.
11162 * c-common.h: Declare it.
11163
d19fa6b5
JM
111642011-11-06 Joseph Myers <joseph@codesourcery.com>
11165
11166 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11167 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11168 type.
11169 (check_user_alignment): New. Split out of
11170 handle_aligned_attribute. Disallow integer constants with
11171 noninteger types. Conditionally allow zero.
11172 (handle_aligned_attribute): Use check_user_alignment.
11173 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11174
86951993
AM
111752011-11-06 Andrew MacLeod <amacleod@redhat.com>
11176 Richard Henderson <rth@redhat.com>
11177
11178 Merged from cxx-mem-model.
11179
11180 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 11181 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
11182 parameters that are the same type size.
11183 (get_atomic_generic_size): New. Find size of generic
11184 atomic function parameters and do typechecking.
11185 (add_atomic_size_parameter): New. Insert size into parameter list.
11186 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11187 either __atomic_exchange_n or external library call.
9faeb493 11188 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 11189 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 11190 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
11191 __atomic_load_n or an external library call.
11192 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11193 __atomic_store_n or an external library call.
11194 (resolve_overloaded_builtin): Handle new __atomic builtins.
11195
cf9e9959
EB
111962011-11-04 Eric Botcazou <ebotcazou@adacore.com>
11197
11198 PR c++/50608
11199 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11200 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
11201 <INDIRECT_REF>: Return the argument.
11202 <ARRAY_REF>: Remove special code for negative offset.
11203 Call fold_build_pointer_plus instead of size_binop.
11204 (fold_offsetof): Remove STOP_REF argument and adjust.
11205 * c-common.h (fold_offsetof_1): Declare.
11206 (fold_offsetof): Remove STOP_REF argument.
11207
25339f10
JM
112082011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
11209
11210 PR c++/50810
11211 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11212 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11213 Wnarrowing for C++0x and C++98.
11214 * c.opt ([Wnarrowing]): Update.
11215
89401152
PC
112162011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
11217
11218 PR c++/44277
11219 * c.opt: Add Wzero-as-null-pointer-constant.
11220
97e3ad20
JM
112212011-10-31 Jason Merrill <jason@redhat.com>
11222
15694fdd
JM
11223 * c.opt (-fdeduce-init-list): Off by default.
11224
97e3ad20
JM
11225 PR c++/50920
11226 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11227 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11228 and -Wc++11-compat.
11229 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11230
fb9120e3
RAV
112312011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11232
11233 PR c++/30066
11234 * c.opt (fvisibility-inlines-hidden): Description change.
11235
3ce4f9e4
ESR
112362011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11237
11238 Implement C++11 user-defined literals.
11239 * c-common.c (build_userdef_literal): New.
11240 * c-common.def: New tree code.
11241 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11242 * c-lex.c (interpret_float): Add suffix parm.
11243 (c_lex_with_flags): Build literal tokens.
11244
5f53c243
PC
112452011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11246
11247 PR c++/50841
11248 Revert:
11249 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11250
11251 PR c++/50810
11252 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11253 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11254 Wnarrowing for C++0x and C++98.
11255 * c.opt ([Wnarrowing]): Update.
11256
263734e1
PC
112572011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11258
11259 PR c++/50810
11260 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11261 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11262 Wnarrowing for C++0x and C++98.
11263 * c.opt ([Wnarrowing]): Update.
11264
d2e312d7
PC
112652011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11266
11267 PR c++/45385
11268 * c-common.c (conversion_warning): Remove code looking for
11269 artificial operands.
11270
d17687f6
DS
112712011-10-18 Dodji Seketeli <dodji@redhat.com>
11272
11273 PR bootstrap/50760
11274 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11275 !NO_IMPLICIT_EXTERN_C.
d17687f6 11276
fc8396e9
PC
112772011-10-17 Michael Spertus <mike_spertus@symantec.com>
11278
11279 * c-common.c (c_common_reswords): Add __bases,
11280 __direct_bases.
11281 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11282
112832011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11284
11285 PR c++/50757
11286 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11287
847e697a
TT
112882011-10-15 Tom Tromey <tromey@redhat.com>
11289 Dodji Seketeli <dodji@redhat.com>
11290
11291 * c.opt (fdebug-cpp): New option.
11292 * c-opts.c (c_common_handle_option): Handle the option.
11293 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11294 output stream in parameter. Factorized from ...
11295 (maybe_print_line): ... this. Dump location debug information when
11296 -fdebug-cpp is in effect.
11297 (print_line_1): New static function. Takes an output stream in
11298 parameter. Factorized from ...
11299 (print_line): ... here. Dump location information when -fdebug-cpp
11300 is in effect.
11301 (scan_translation_unit): Dump location information when
11302 -fdebug-cpp is in effect.
11303
92582b75
TT
113042011-10-15 Tom Tromey <tromey@redhat.com>
11305 Dodji Seketeli <dodji@redhat.com>
11306
11307 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11308 without argument.
11309 * c-opts.c (c_common_handle_option)<case
11310 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11311 cases. Handle -ftrack-macro-expansion with and without argument.
11312
46427374
TT
113132011-10-15 Tom Tromey <tromey@redhat.com>
11314 Dodji Seketeli <dodji@redhat.com>
11315
11316 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11317 (print_line, cb_define, do_line_change): Adjust to avoid touching
11318 the internals of struct line_map. Use the public API instead.
11319 * c-pch.c (c_common_read_pch): Likewise.
11320 * c-lex.c (fe_file_change): Likewise.
11321
fc8396e9
PC
113222011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11323
11324 PR c++/17212
11325 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11326
113272011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11328
11329 PR c++/33067
11330 * c-pretty-print.c (pp_c_floating_constant): Output
11331 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11332
e79983f4
MM
113332011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11334
11335 * c-common.c (def_builtin_1): Delete old interface with two
11336 parallel arrays to hold standard builtin declarations, and replace
11337 it with a function based interface that can support creating
11338 builtins on the fly in the future. Change all uses, and poison
11339 the old names. Make sure 0 is not a legitimate builtin index.
11340 * c-omp.c (c_finish_omp_barrier): Ditto.
11341 (c_finish_omp_taskwait): Ditto.
11342 (c_finish_omp_flush): Ditto.
11343
6637388f
TG
113442011-10-11 Tristan Gingold <gingold@adacore.com>
11345
11346 * c.opt: (fallow-parameterless-variadic-functions): New.
11347
3797cb21
DS
113482011-09-08 Dodji Seketeli <dodji@redhat.com>
11349
11350 PR c++/33255 - Support -Wunused-local-typedefs warning
11351 * c-common.h (struct c_language_function::local_typedefs): New
11352 field.
9faeb493
UB
11353 (record_locally_defined_typedef, maybe_record_typedef_use)
11354 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 11355 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
11356 (maybe_record_typedef_use)
11357 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
11358 * c.opt: Declare new -Wunused-local-typedefs flag.
11359
693ddb1b
EB
113602011-09-06 Eric Botcazou <ebotcazou@adacore.com>
11361
11362 PR middle-end/50266
11363 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11364 computations.
11365
830c740f
RG
113662011-09-05 Richard Guenther <rguenther@suse.de>
11367
11368 * c-common.c (complete_array_type): Use ssize_int (-1) instead
11369 of integer_minus_one_node for empty array upper bounds.
11370
892a371f
DS
113712011-08-28 Dodji Seketeli <dodji@redhat.com>
11372
11373 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11374 it's the first time it's being called on this main TU.
11375
0e3fdb48
RB
113762011-08-24 Richard Guenther <rguenther@suse.de>
11377
11378 PR c/49396
11379 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11380
113812011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
11382
11383 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11384 defined in cpp_init_builtins and c_cpp_builtins.
11385
d4a83c10
JM
113862011-08-19 Joseph Myers <joseph@codesourcery.com>
11387
11388 * c-common.c (c_common_reswords): Add __builtin_complex.
11389 * c-common.h (RID_BUILTIN_COMPLEX): New.
11390
bbceee64
JM
113912011-08-18 Joseph Myers <joseph@codesourcery.com>
11392
11393 * c-common.c (c_common_reswords): Add _Noreturn.
11394 (keyword_is_function_specifier): Handle RID_NORETURN.
11395 * c-common.h (RID_NORETURN): New.
11396
3f8257db 113972011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
11398
11399 * c-common.c (unsafe_conversion_p): New function. Check if it is
11400 unsafe to convert an expression to the type.
11401 (conversion_warning): Adjust, use unsafe_conversion_p.
11402 * c-common.h (unsafe_conversion_p): New function declaration.
11403
20906c66
JJ
114042011-08-02 Jakub Jelinek <jakub@redhat.com>
11405
11406 * c-common.h (c_finish_omp_atomic): Adjust prototype.
11407 (c_finish_omp_taskyield): New prototype.
11408 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11409 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11410 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
11411 or RHS1 have side-effects, evaluate those too in the right spot,
11412 if it is a decl and LHS is also a decl, error out if they
11413 aren't the same.
11414 (c_finish_omp_taskyield): New function.
11415 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11416 * c-pragma.c (omp_pragmas): Add taskyield.
11417 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11418 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11419 PRAGMA_OMP_CLAUSE_MERGEABLE.
11420
770e5a2e
DS
114212011-07-25 Dodji Seketeli <dodji@redhat.com>
11422
11423 * c-common.h (set_underlying_type): Remove parm name from
11424 declaration.
11425
1baae426
RG
114262011-07-25 Romain Geissler <romain.geissler@gmail.com>
11427
11428 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 11429
fcb21722
JM
114302011-07-22 Jason Merrill <jason@redhat.com>
11431
76f86d00
JM
11432 PR c++/49793
11433 * c.opt (Wnarrowing): New.
11434
3a636414
JM
11435 PR c++/30112
11436 * c-common.h: Declare c_linkage_bindings.
11437 * c-pragma.c (handle_pragma_redefine_extname): Use it.
11438
fcb21722
JM
11439 PR c++/49813
11440 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11441 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11442 as flag_isoc99 for 'restrict'.
11443 (pp_c_specifier_qualifier_list): Likewise for _Complex.
11444
02614448
ILT
114452011-07-21 Ian Lance Taylor <iant@google.com>
11446
11447 PR middle-end/49705
11448 * c-common.c (c_disable_warnings): New static function.
11449 (c_enable_warnings): New static function.
11450 (c_fully_fold_internal): Change local unused_p to bool. Call
11451 c_disable_warnings and c_enable_warnings rather than change
11452 c_inhibit_evaluation_warnings.
11453
34429675
JM
114542011-07-20 Jason Merrill <jason@redhat.com>
11455
11456 PR c++/6709 (DR 743)
11457 PR c++/42603 (DR 950)
11458 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11459 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11460 (CPP_DECLTYPE): New.
11461 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11462
5d49b6a7
RG
114632011-07-19 Richard Guenther <rguenther@suse.de>
11464
11465 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11466 * c-omp.c (c_finish_omp_for): Likewise.
11467
e84a58ff
EB
114682011-07-12 Eric Botcazou <ebotcazou@adacore.com>
11469
11470 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11471 body on the next line.
11472
329af3c7
JM
114732011-07-08 Jason Merrill <jason@redhat.com>
11474
4063e61b
JM
11475 PR c++/45437
11476 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11477
329af3c7
JM
11478 PR c++/49673
11479 * c-common.c (c_apply_type_quals_to_decl): Don't check
11480 TYPE_NEEDS_CONSTRUCTING.
11481
1a072294
RG
114822011-07-06 Richard Guenther <rguenther@suse.de>
11483
11484 * c-common.c (c_common_nodes_and_builtins):
11485 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11486
fce5dddd
RG
114872011-07-05 Richard Guenther <rguenther@suse.de>
11488
11489 * c-common.c (c_common_nodes_and_builtins): Build all common
11490 tree nodes first.
11491
45d439ac
JJ
114922011-06-27 Jakub Jelinek <jakub@redhat.com>
11493
56300785
JJ
11494 * c-common.h (c_tree_chain_next): New static inline function.
11495
45d439ac
JJ
11496 * c-common.c (check_builtin_function_arguments): Handle
11497 BUILT_IN_ASSUME_ALIGNED.
11498
e0a8ecf2
AM
114992011-06-21 Andrew MacLeod <amacleod@redhat.com>
11500
11501 * c-common.c: Add sync_ or SYNC__ to builtin names.
11502 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
11503
115042011-06-20 Pierre Vittet <piervit@pvittet.com>
11505
11506 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11507 handler.
11508 (gen_pragma_handler): New union.
11509 (internal_pragma_handler): New type.
11510 (c_register_pragma_with_data)
11511 (c_register_pragma_with_expansion_and_data): New functions.
11512
11513 * c-pragma.c (registered_pragmas, c_register_pragma_1)
11514 (c_register_pragma, c_register_pragma_with_expansion)
11515 (c_invoke_pragma_handler): Changed to work with
11516 internal_pragma_handler.
11517 (c_register_pragma_with_data)
11518 (c_register_pragma_with_expansion_and_data): New functions.
11519
677f3fa8
JM
115202011-06-14 Joseph Myers <joseph@codesourcery.com>
11521
11522 * c-common.c: Include common/common-target.h.
11523 (handle_section_attribute): Use
11524 targetm_common.have_named_sections.
11525 * c-cppbuiltin.c: Include common/common-target.h.
11526 (c_cpp_builtins): Use targetm_common.except_unwind_info.
11527
d7fc8c14
RG
115282011-06-10 Richard Guenther <rguenther@suse.de>
11529
11530 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11531 to print a IDENTIFIER_NODE.
11532
10e48e39
RO
115332011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11534 Joseph Myers <joseph@codesourcery.com>
11535
11536 * c.opt (fbuilding-libgcc): New option.
11537 * c-cppbuiltin.c (c_cpp_builtins): Define
11538 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11539
6976ae51
JM
115402011-06-07 Jason Merrill <jason@redhat.com>
11541
3ff60975
JM
11542 * c-common.c (max_tinst_depth): Lower default to 900.
11543
6976ae51
JM
11544 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11545
009db074
RG
115462011-06-07 Richard Guenther <rguenther@suse.de>
11547
11548 * c-common.c (c_common_nodes_and_builtins): Do not set
11549 size_type_node or call set_sizetype.
11550
b4592b92
DS
115512011-06-07 Dodji Seketeli <dodji@redhat.com>
11552
11553 PR debug/49130
11554 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 11555 type when using pointer comparison to compare types.
b4592b92 11556
014ab419
JW
115572011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
11558
11559 * c.opt: Add -Wdelete-non-virtual-dtor.
11560 * c-opts.c (c_common_handle_option): Include it in -Wall.
11561
4f60111f
NF
115622011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
11563
11564 PR bootstrap/49190
11565
11566 Revert:
11567 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11568
11569 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11570 not tree_common.
11571
4cc4f2f4
JJ
115722011-05-27 Jakub Jelinek <jakub@redhat.com>
11573
11574 PR c++/49165
11575 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11576 C++ don't call c_common_truthvalue_conversion on void type arms.
11577
38e01f9e
NF
115782011-05-27 Nathan Froyd <froydnj@codesourcery.com>
11579
11580 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
11581 (stmt_list_stack): Define.
11582 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
11583 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
11584
92e948a8
NF
115852011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11586
11587 * c-common.c (warning_candidate_p): Check for BLOCKs.
11588
a2fc3e63
NF
115892011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11590
11591 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11592 not tree_common.
11593
0957c029
JJ
115942011-05-25 Jakub Jelinek <jakub@redhat.com>
11595
11596 * c-common.c (def_fn_type): Remove extra va_end.
11597
828fb3ba
JM
115982011-05-23 Jason Merrill <jason@redhat.com>
11599
11600 PR c++/48106
11601 * c-common.c (c_common_get_narrower): New.
11602 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
11603
dde05067
NF
116042011-05-23 Nathan Froyd <froydnj@codesourcery.com>
11605
11606 * c-common.h (check_function_arguments): Tweak prototype of
11607 check_function_arguments.
11608 * c-common.c (check_function_arguments): Likewise. Adjust
11609 calls to check_function_nonnull, check_function_format, and
11610 check_function_sentinel.
11611 (check_function_sentinel): Take a FUNCTION_TYPE rather than
11612 separate attributes and typelist arguments. Use
11613 FOREACH_FUNCTION_ARGS to iterate over argument types.
11614
3c0d13bf
PC
116152011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11616
11617 * c-common.c (c_common_reswords): Reorder.
11618 * c-common.h (rid): Likewise.
11619
8242dd04
NF
116202011-05-10 Nathan Froyd <froydnj@codesourcery.com>
11621
11622 * c-common.c (def_fn_type): Don't call build_function_type, call
11623 build_function_type_array or build_varargs_function_type_array
11624 instead.
11625 (c_common_nodes_and_builtins): Likewise.
11626
3d528853
NF
116272011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11628
11629 * c-common.c (c_add_case_label): Omit the loc argument to
11630 build_case_label.
11631 * c-common.h (build_case_label): Remove.
11632 * c-semantics.c (build_case_label): Remove.
11633
a04a722b
JM
116342011-05-05 Joseph Myers <joseph@codesourcery.com>
11635
11636 * c-objc.h (objc_start_method_definition): Update prototype.
11637 * stub-objc.c (objc_start_method_definition): Add extra parameter.
11638
e19a18d4
NF
116392011-05-04 Nathan Froyd <froydnj@codesourcery.com>
11640
11641 * c-common.c (check_main_parameter_types): Reindent. Don't use
11642 TYPE_ARG_TYPES directly.
11643 (handle_nonnull_attribute): Likewise.
11644 (sync_resolve_params): Likewise.
11645 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
11646 to check_format_string.
11647 (handle_format_attribute): Likewise.
11648 (check_format_string): Take a function type to examine instead of
11649 a type list. Use a function_arg_iterator to step through argument
11650 types.
11651
c62c040f
RG
116522011-05-04 Richard Guenther <rguenther@suse.de>
11653
11654 * c-common.c (fix_string_type): Use size_int for index type bounds.
11655 (start_fname_decls): Do not pass NULL to build_int_cst.
11656 (c_init_attributes): Likewise.
11657 * c-lex.c (c_lex_with_flags): Likewise.
11658
c12ff9d8
JM
116592011-04-27 Jason Merrill <jason@redhat.com>
11660
11661 * c-common.c (make_tree_vector_from_list): New.
11662 * c-common.h: Declare it.
11663
304dfbe3
RG
116642011-04-26 Richard Guenther <rguenther@suse.de>
11665
11666 PR preprocessor/48248
11667 * c-ppoutput.c (maybe_print_line): Always optimize newlines
11668 for output size with -P.
11669
3c0d13bf
PC
116702011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
11671
11672 * c-common.c (struct c_common_resword): Add __underlying_type.
11673 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
11674
04695783
JM
116752011-04-20 Jim Meyering <meyering@redhat.com>
11676
11677 * c-format.c (init_dollar_format_checking): Remove useless
11678 if-before-free.
11679
0dc33c3c
NP
116802011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
11681
11682 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 11683 (objc_detect_field_duplicates): New.
0dc33c3c 11684 * stub-objc.c: Likewise.
3c0d13bf 11685
c59633d9
NP
116862011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11687
11688 * stub-objc.c (objc_declare_protocols): Renamed to
11689 objc_declare_protocol.
11690 * c-objc.h: Likewise.
3c0d13bf 11691
32dabdaf
NP
116922011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11693
11694 * stub-objc.c (objc_declare_class): Updated argument name.
11695
81f653d6
NF
116962011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11697
11698 * c-common.h (c_common_init_ts): Declare.
11699 * c-common.c (c_common_init_ts): Define.
11700
eb345401
NP
117012011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
11702
11703 * c-objc.h (objc_build_message_expr): Updated prototype.
11704 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 11705
a358e188
MJ
117062011-04-12 Martin Jambor <mjambor@suse.cz>
11707
11708 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
11709 of cgraph_node.
11710
e6313a78
RG
117112011-04-11 Richard Guenther <rguenther@suse.de>
11712
11713 * c-common.c (complete_array_type): Build a range type of
11714 proper type.
11715
dcf0c47e
NF
117162011-04-08 Nathan Froyd <froydnj@codesourcery.com>
11717
11718 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
11719 (handle_type_generic_attribute): Likewise.
11720
1ee44b26
JM
117212011-04-07 Jason Merrill <jason@redhat.com>
11722
11723 PR c++/48450
11724 * c-common.c (c_common_truthvalue_conversion): Don't ignore
11725 conversion from C++0x scoped enum.
11726
acce4e77
JM
117272011-04-06 Joseph Myers <joseph@codesourcery.com>
11728
11729 * c-target-def.h: New file.
11730 * c-target.def: New file.
11731 * c-target.h: New file.
11732 * c-common.c (targetcm): Don't define here.
11733 * c-common.h (default_handle_c_option): Declare.
11734 * c-format.c: Include c-target.h instead of target.h.
11735 * c-opts.c: Include c-target.h instead of target.h. Explicitly
11736 include tm.h.
11737 (default_handle_c_option): Move from targhooks.c.
11738
e2eefb55
JJ
117392011-03-29 Jakub Jelinek <jakub@redhat.com>
11740
11741 PR preprocessor/48248
11742 * c-ppoutput.c (print): Add src_file field.
11743 (init_pp_output): Initialize it.
11744 (maybe_print_line): Don't optimize by adding up to 8 newlines
11745 if map->to_file and print.src_file are different file.
11746 (print_line): Update print.src_file.
11747
ba78087b
KT
117482011-03-25 Kai Tietz <ktietz@redhat.com>
11749
11750 * c-ada-spec.c (compare_comment): Use filename_cmp
11751 instead of strcmp for filename.
11752
0edf1bb2
JL
117532011-03-25 Jeff Law <law@redhat.com>
11754
adfac8df 11755 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 11756
c7dc8804
JM
117572011-03-25 Jason Merrill <jason@redhat.com>
11758
11759 * c.opt: Add -std=c++03.
11760
d1d879b1
EB
117612011-03-22 Eric Botcazou <ebotcazou@adacore.com>
11762
11763 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
11764
3f8257db 117652011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
11766
11767 PR target/12171
5050afdf
KT
11768 * c-pretty-print.c (pp_c_specifier_qualifier_list):
11769 Display allowed attributes for function pointer types.
11770 (pp_c_attributes_display): New function to display
11771 attributes having affects_type_identity flag set to true.
11772 * c-pretty-print.h (pp_c_attributes_display): New prototype.
11773
62d784f7
KT
11774 * c-common.c (c_common_attribute_table):
11775 Add new element.
11776 (c_common_format_attribute_table): Likewise.
11777
82d37118
JM
117782011-03-18 Jason Merrill <jason@redhat.com>
11779
49a000c3
JM
11780 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
11781 * c-common.h: Don't declare it here.
11782 * c-common.c: Or define it here.
11783 * c-opts.c (c_common_handle_option): Or set it here.
11784
82d37118
JM
11785 PR c++/35315
11786 * c-common.c (handle_transparent_union_attribute): Don't
11787 make a duplicate type in C++.
11788
17bc631c
JM
117892011-03-15 Jason Merrill <jason@redhat.com>
11790
11791 * c-common.c (max_constexpr_depth): New.
11792 * c-common.h: Declare it.
11793 * c-opts.c (c_common_handle_option): Set it.
11794 * c.opt (fconstexpr-depth): New option.
11795
1b9b91a6
JM
117962011-03-11 Jason Merrill <jason@redhat.com>
11797
f231b5ff
JM
11798 * c-common.c (attribute_takes_identifier_p): Add missing const.
11799
1b9b91a6
JM
11800 PR c++/46803
11801 * c-common.c (attribute_takes_identifier_p): Assume that an
11802 unknown attribute takes an identifier.
11803
a19e4d44
NF
118042011-03-07 Nathan Froyd <froydnj@codesourcery.com>
11805
11806 PR c/47786
11807 * c-common.c (c_type_hash): Call list_length instead of iterating
11808 through DECL_CHAIN. Rename 'i' to 'n_elements'.
11809
982d62f6
JJ
118102011-02-19 Jakub Jelinek <jakub@redhat.com>
11811
11812 PR c/47809
11813 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
11814
0a256240
NP
118152011-02-17 Iain Sandoe <iains@gcc.gnu.org>
11816
11817 * c.opt (fobjc-abi-version=) New.
11818 (fobjc-nilcheck): New.
11819
ba9e6dd5
NF
118202011-02-03 Nathan Froyd <froydnj@codesourcery.com>
11821
11822 PR c++/46890
11823 * c-common.h (keyword_is_decl_specifier): Declare.
11824 * c-common.c (keyword_is_decl_specifier): Define.
11825 (keyword_is_function_specifier): New function.
11826
7273813a
JJ
118272011-01-26 Jakub Jelinek <jakub@redhat.com>
11828
11829 PR c/47473
11830 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
11831 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
11832 REAL_TYPE.
11833
908ef79b
AC
118342011-01-26 Arnaud Charlet <charlet@adacore.com>
11835
11836 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
11837
237e9384
JJ
118382011-01-26 Jakub Jelinek <jakub@redhat.com>
11839
11840 PR pch/47430
11841 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
11842 after init_c_lex if pch_file is set.
11843
47ea1edf
DK
118442011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
11845
d4dba752 11846 PR c++/43601
47ea1edf
DK
11847 * c.opt (-fkeep-inline-dllexport): New switch.
11848
2aa9c6ae
RG
118492011-01-12 Richard Guenther <rguenther@suse.de>
11850
11851 PR middle-end/32511
11852 * c-common.c (handle_weak_attribute): Warn instead of error
11853 on declaring an inline function weak.
11854
7bd11157
TT
118552011-01-05 Tom Tromey <tromey@redhat.com>
11856
11857 * c-common.h (lvalue_error): Update.
11858 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
11859 not error.
11860
0e66e494 118612010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 11862
b4f588c4
NP
11863 PR objc/47075
11864 * c-objc.h (objc_finish_message_expr): Added argument to
11865 prototype.
11866
f4da8dce
NF
118672010-12-22 Nathan Froyd <froydnj@codesourcery.com>
11868
11869 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
11870 Use prototype_p.
11871
46270f14
NP
118722010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
11873
11874 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 11875 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 11876
4816c593
NF
118772010-12-10 Nathan Froyd <froydnj@codesourcery.com>
11878
11879 * c-common.h (readonly_error): Declare.
11880 * c-common.c (readonly_error): Define.
11881
7a6daeb0
NF
118822010-12-09 Nathan Froyd <froydnj@codesourcery.com>
11883
11884 * c-common.h (invalid_indirection_error): Declare.
11885 * c-common.c (invalid_indirection_error): Define.
11886
892f6119
RG
118872010-12-03 Richard Guenther <rguenther@suse.de>
11888
11889 PR c/46745
11890 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
11891 (pp_c_unary_expression): Likewise.
11892 (pp_c_expression): Likewise.
11893
6c39e757
NP
118942010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
11895
11896 * c-common.h (objc_finish_function): New.
11897 (objc_non_volatilized_type): Removed.
11898 (objc_type_quals_match): Removed.
11899 * stub-objc.c (objc_finish_function): New.
11900 (objc_non_volatilized_type): Removed.
11901 (objc_type_quals_match): Removed.
9faeb493 11902
7c475d11
JM
119032010-11-30 Joseph Myers <joseph@codesourcery.com>
11904
11905 * c-common.h (parse_optimize_options): Declare.
11906 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
11907 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
11908
71f3e391
JM
119092010-11-29 Joseph Myers <joseph@codesourcery.com>
11910
11911 * c-opts.c (check_deps_environment_vars): Use getenv instead of
11912 GET_ENVIRONMENT.
11913 * c-pch.c (O_BINARY): Don't define here.
11914 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
11915
d5fabb58
JM
119162010-11-25 Joseph Myers <joseph@codesourcery.com>
11917
11918 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
11919 targetm.except_unwind_info.
11920
299404a1
JM
119212010-11-23 Joseph Myers <joseph@codesourcery.com>
11922
11923 * c-opts.c (c_common_handle_option): Pass location to
11924 set_struct_debug_option.
11925
c98cd5bf
JM
119262010-11-23 Joseph Myers <joseph@codesourcery.com>
11927
11928 * c-common.c (visibility_options): Move from ../opts.c.
11929 * c-common.h (struct visibility_flags, visibility_options):
11930 Declare here.
11931 * c-opts.c (finish_options): Rename to c_finish_options.
11932 (c_common_init): Update call to finish_options.
11933
a9546771
NP
119342010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
11935
11936 PR objc/34033
11937 * c-lex.c (lex_string): Check that each string in an Objective-C
11938 string concat sequence starts with either one or zero '@', and
11939 that there are no spurious '@' signs at the end.
11940
24a57808
JM
119412010-11-20 Joseph Myers <joseph@codesourcery.com>
11942
11943 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
11944 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
11945 HANDLE_PRAGMA_VISIBILITY.
11946 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
11947 HANDLE_PRAGMA_VISIBILITY): Don't define.
11948 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
11949
a9aa2c3a
NF
119502010-11-20 Nathan Froyd <froydnj@codesourcery.com>
11951
11952 PR c++/16189
11953 PR c++/36888
11954 PR c++/45331
11955 * c-common.h (keyword_begins_type_specifier): Declare.
11956 (keyword_is_storage_class_specifier): Declare.
11957 (keyword_is_type_qualifier): Declare.
11958 * c-common.c (keyword_begins_type_specifier): New function.
11959 (keyword_is_storage_class_specifier): New function.
11960 (keyword_is_type_qualifier): Declare.
11961
5386338c
JM
119622010-11-19 Joseph Myers <joseph@codesourcery.com>
11963
11964 PR c/46547
11965 * c-common.c (in_late_binary_op): Define.
11966 (c_common_truthvalue_conversion): Check in_late_binary_op before
11967 calling c_save_expr.
11968 * c-common.h (in_late_binary_op): Declare.
11969
69ccdddb
JM
119702010-11-19 Joseph Myers <joseph@codesourcery.com>
11971
11972 * c-opts.c (c_common_handle_option): Update calls to
11973 set_struct_debug_option.
11974
6b192a09
NP
119752010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
11976
11977 * c-common.h (objc_declare_protocols): Added additional argument.
11978 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 11979
fb52b50a
NF
119802010-11-18 Nathan Froyd <froydnj@codesourcery.com>
11981
11982 PR c/33193
11983 * c-common.h (build_real_imag_expr): Declare.
11984 * c-semantics.c (build_real_imag_expr): Define.
11985
b37421c6
JM
119862010-11-17 Joseph Myers <joseph@codesourcery.com>
11987
11988 * c-opts.c (c_common_parse_file): Take no arguments.
11989 * c-common.h (c_common_parse_file): Update prototype.
11990
07078664
JJ
119912010-11-16 Jakub Jelinek <jakub@redhat.com>
11992
11993 PR c++/46401
11994 * c-common.c (warning_candidate_p): Don't track non-const calls
11995 or STRING_CSTs.
11996
c6a13190
ILT
119972010-11-15 Ian Lance Taylor <iant@google.com>
11998
11999 * c-lex.c (init_c_lex): Set macro debug callbacks if
12000 flag_dump_go_spec is set.
12001
925e8657
NP
120022010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
12003
12004 * c-common.h (objc_build_incr_expr_for_property_ref): New.
12005 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12006
bb0a9581
NF
120072010-11-15 Nathan Froyd <froydnj@codesourcery.com>
12008
12009 PR preprocessor/45038
12010 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12011 dialects.
12012
c5fa0890
JM
120132010-11-12 Joseph Myers <joseph@codesourcery.com>
12014
12015 * c-common.h (c_family_lang_mask): Declare.
12016 * c-opts.c (c_family_lang_mask): Make extern.
12017 * c-pragma.c (handle_pragma_diagnostic): Use
12018 control_warning_option.
12019
a4d8c676
JM
120202010-11-12 Joseph Myers <joseph@codesourcery.com>
12021
12022 * c-common.c (parse_optimize_options): Update call to
12023 decode_options.
12024 * c-common.h (c_common_handle_option): Update prototype.
12025 * c-opts.c (c_common_handle_option): Take location_t parameter and
12026 pass it to other functions.
12027
f954bd2c
JM
120282010-11-11 Joseph Myers <joseph@codesourcery.com>
12029
12030 * c-opts.c (warning_as_error_callback): Remove.
12031 (c_common_initialize_diagnostics): Don't call
12032 register_warning_as_error_callback.
12033 (c_common_handle_option): Handle -Werror=normalized= here.
12034
d8a07487
JM
120352010-11-10 Joseph Myers <joseph@codesourcery.com>
12036
12037 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12038 in diagnostic.
12039 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12040 letter.
12041 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12042 Remove trailing '.' from diagnostics.
12043 * c.opt (Wwrite-strings_: Avoid '`' in help text.
12044
d5478783
JM
120452010-11-10 Joseph Myers <joseph@codesourcery.com>
12046
12047 * c-common.c (parse_optimize_options): Pass global_dc to
12048 decode_options.
12049 * c-opts.c (c_common_handle_option): Pass &global_options to
12050 set_Wstrict_aliasing.
12051 * c.opt (v): Don't mark Common or document here.
12052
91ebb981
IS
120532010-11-06 Iain Sandoe <iains@gcc.gnu.org>
12054
12055 PR target/44981
12056 * c-format.c (format_type): New type gcc_objc_string_format_type.
12057 (valid_stringptr_type_p): New.
12058 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 12059 (check_format_string): Pass expected type, use
91ebb981
IS
12060 valid_stringptr_type_p (), check that the format string types are
12061 consistent with the format specification.
12062 (decode_format_attr): Warn if NSString is used outside objective-c.
12063 (format_types_orig): Add NSString.
12064 (format_name): New.
12065 (format_flags): New.
12066 (check_format_arg): Handle format strings requiring an external parser.
12067 first_target_format_type: New variable.
12068 (handle_format_attribute): Set up first_target_format_type, pass the
12069 expected format arg string type to check_format_string().
ab20d992 12070 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
12071 * stub-objc.c (objc_string_ref_type_p): New.
12072 (objc_check_format_arg): New.
12073
bede2adc
NP
120742010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
12075
9faeb493 12076 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
12077 * c-common.h (objc_build_class_component_ref): New.
12078 * stub-objc.c (objc_build_class_component_ref): New.
12079
9a179d01
NP
120802010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12081
12082 * c.opt (Wproperty-assign-default): New option.
12083
22d8d616
NP
120842010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
12085
12086 Implemented -fobjc-std=objc1 flag.
12087 * c.opt (fobjc-std=objc1): New option.
12088
2debdb4f
NP
120892010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
12090
12091 Implemented format and noreturn attributes for Objective-C methods.
12092 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12093 attribute for Objective-C methods.
12094
ec52b111
JM
120952010-10-31 Jason Merrill <jason@redhat.com>
12096
12097 * c-common.c (conversion_warning, warn_for_collisions_1): Use
12098 EXPR_LOC_OR_HERE.
12099
46a88c12
NP
121002010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
12101
12102 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12103 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12104 (objc_add_property_declaration): Removed arguments for copies and
12105 ivar.
12106 (objc_build_getter_call): Renamed to
12107 objc_maybe_build_component_ref.
12108 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12109 (objc_is_property_ref): New.
12110 * c-common.c (c_common_reswords): Removed copies and ivar.
12111 * stub-objc.c (objc_add_property_declaration): Removed arguments
12112 for copies and ivar.
12113 (objc_build_getter_call): Renamed to
12114 objc_maybe_build_component_ref.
12115 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12116 (objc_is_property_ref): New.
9faeb493 12117
1e4bf85b
AC
121182010-10-29 Arnaud Charlet <charlet@adacore.com>
12119 Matthew Gingell <gingell@adacore.com>
12120
12121 * c-ada-spec.c (separate_class_package): New function.
12122 (pp_ada_tree_identifier): Prefix references to C++ classes with the
12123 name of their enclosing package.
12124 (print_ada_declaration): Use separate_class_package.
12125
81f0bab2
JM
121262010-10-27 Jason Merrill <jason@redhat.com>
12127
2b08f2c5
JM
12128 * c-common.c (c_common_reswords): Add __is_literal_type.
12129 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12130
81f0bab2
JM
12131 * c-common.c (check_case_value): Remove special C++ code.
12132
200290f2
NP
121332010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12134
12135 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12136 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
12137 and RID_LAST_PATTR.
12138 (objc_add_property_declaration): Added additional arguments.
12139 (objc_property_attribute_kind): Removed.
12140 (objc_set_property_attr): Removed.
12141 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12142 copy and nonatomic.
12143 * stub-objc.c (objc_add_property_declaration): Added additional
12144 arguments.
12145 (objc_set_property_attr): Removed.
9faeb493 12146
f614132b
NP
121472010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
12148
12149 * c-common.h (objc_add_property_variable): Renamed to
12150 objc_add_property_declaration. Added location argument.
12151 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 12152
b8a18805
NP
121532010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
12154
12155 * c-common.h (objc_maybe_printable_name): New.
12156 * stub-objc.c (objc_maybe_printable_name): New.
12157
3f8257db
JJ
121582010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
12159 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
12160
12161 * c-common.h (c_common_mark_addressable_vec): Declare.
12162 * c-common.c (c_common_mark_addressable_vec): New function.
12163
249a82c4
NP
121642010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12165
12166 * c-common.h (objc_set_method_type): Removed.
12167 (objc_add_method_declaration): Added boolean argument.
12168 (objc_start_method_definition): Same change.
12169 (objc_build_method_signature): Same change.
12170 * stub-objc.c (objc_set_method_type): Removed.
12171 (objc_add_method_declaration): Added boolean argument.
12172 (objc_start_method_definition): Same change.
12173 (objc_build_method_signature): Same change.
12174
977e30bc
NP
121752010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
12176
12177 * c-common.h (finish_file): Removed.
12178 (objc_write_global_declarations): New.
12179 * c-opts.c (c_common_parse_file): Do not call finish_file.
12180 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 12181
da57d1b9
NP
121822010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12183
12184 Implemented parsing @synthesize and @dynamic for
12185 Objective-C/Objective-C++.
12186 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12187 (objc_add_synthesize_declaration): New.
12188 (objc_add_dynamic_declaration): New.
12189 * c-common.c (c_common_reswords): Add synthesize and dynamic.
12190 * stub-objc.c (objc_add_synthesize_declaration): New.
12191 (objc_add_dynamic_declaration): New.
9faeb493 12192
0069111f
MM
121932010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12194
12195 PR target/46041
12196 * c-cppbuiltin.c (mode_has_fma): Move function here from
12197 builtins.c. Don't use the fma optab, instead just use the
12198 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12199 using -save-temps.
12200
e426b47b
NP
122012010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
12202
12203 Merge from 'apple/trunk' branch on FSF servers.
0069111f 12204
3f8257db 12205 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 12206
9faeb493 12207 Radar 4330422
e426b47b
NP
12208 * c-common.h (objc_non_volatilized_type): New declaration
12209 * stub-objc.c (objc_non_volatilized_type): New stub.
12210
90fbfdc3
NP
122112010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
12212
e426b47b 12213 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 12214
ab20d992 12215 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 12216
9faeb493 12217 Radar 4133425
90fbfdc3 12218 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 12219 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 12220
c37d8c30
IS
122212010-10-17 Iain Sandoe <iains@gcc.gnu.org>
12222
12223 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12224 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12225 (objc_ivar_visibility_kind): New enum.
12226 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12227 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12228 visibility enum.
12229
1b1562a5
MM
122302010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12231
12232 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12233 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12234 has the appropriate fma builtins.
12235 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12236
668ea4b1
IS
122372010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12238
1b1562a5 12239 merge from FSF apple 'trunk' branch.
3f8257db 12240 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12241
668ea4b1
IS
12242 Radars 4436866, 4505126, 4506903, 4517826
12243 * c-common.c (c_common_resword): Define @property and its attributes.
12244 * c-common.h: Define property attribute enum entries.
12245 (OBJC_IS_PATTR_KEYWORD): New.
12246 (objc_property_attribute_kind): New enum.
12247 Declare objc_set_property_attr (), objc_add_property_variable (),
12248 objc_build_getter_call () and objc_build_setter_call ().
12249 * stub-objc.c (objc_set_property_attr): New stub.
12250 (objc_add_property_variable): Likewise.
12251 (objc_build_getter_call): Likewise.
12252 (objc_build_setter_call) Likewise.
1b1562a5 12253
a1178b30
IS
122542010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12255
1b1562a5 12256 merge from FSF apple 'trunk' branch.
ab20d992 12257 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12258
12259 Radar 3803157 (method attributes)
12260 * c-common.c (handle_deprecated_attribute): Recognize
12261 objc methods as valid declarations.
12262 * c-common.h: Declare objc_method_decl ().
1b1562a5 12263 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12264
a75bfaa6
JM
122652010-10-08 Joseph Myers <joseph@codesourcery.com>
12266
12267 * c-common.c (parse_optimize_options): Call
12268 decode_cmdline_options_to_array_default_mask before
12269 decode_options. Update arguments to decode_options.
12270 * c-common.h (c_common_init_options_struct): Declare.
12271 * c-opts.c (c_common_init_options_struct): New. Split out from
12272 c_common_init_options.
12273
f05b9d93
NP
122742010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12275
12276 Implemented fast enumeration for Objective-C.
12277 * c-common.h (objc_finish_foreach_loop): New.
12278 * stub-objc.c (objc_finish_foreach_loop): New.
12279
1ebe4b4f
JM
122802010-10-05 Joseph Myers <joseph@codesourcery.com>
12281
12282 * c-common.h (struct diagnostic_context): Don't declare here.
12283 (c_common_initialize_diagnostics): Declare using
12284 diagnostic_context typedef.
12285 * c-opts.c (c_common_handle_option): Pass global_dc to
12286 handle_generated_option.
12287
d4d24ba4
JM
122882010-10-04 Joseph Myers <joseph@codesourcery.com>
12289
12290 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12291 handle_generated_option.
12292
478a1c5b
ILT
122932010-10-03 Ian Lance Taylor <iant@google.com>
12294
12295 * c.opt (-fplan9-extensions): New option.
12296
82a1c2fe
FXC
122972010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12298
12299 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12300 Remove.
12301 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12302 of duplicating code.
12303
92902b1b
IS
123042010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12305
12306 * c-common.c: Add two new entries for @optional
12307 and @required keywords.
12308
12309 merge from FSF 'apple/trunk' branch.
3f8257db 12310 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12311
12312 Radar 4386773
12313 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12314 objective-c keywords.
12315 (objc_set_method_opt): New declaration.
12316 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12317
46625112
JM
123182010-09-30 Joseph Myers <joseph@codesourcery.com>
12319
12320 * c-common.c (handle_optimize_attribute): Pass &global_options to
12321 cl_optimization_save and cl_optimization_restore.
12322 * c-opts.c (c_common_handle_option): Pass &global_options to
12323 handle_generated_option.
12324 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12325 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12326 &global_options to cl_optimization_restore.
12327
49b91f05
NP
123282010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12329
12330 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12331 Objective-C/Objective-C++ keywords.
12332
13ed556f 123332010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12334
9faeb493
UB
12335 Merge from 'apple/trunk' branch on FSF servers.
12336
3f8257db 12337 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12338
12339 Radar 4281748
12340 * c-common.h (objc_check_global_decl): New declaration.
12341 * stub-objc.c (objc_check_global_decl): New stub.
12342
f0036cca
JM
123432010-09-29 Joseph Myers <joseph@codesourcery.com>
12344
12345 * c.opt: Don't use VarExists.
12346
e3339d0f
JM
123472010-09-29 Joseph Myers <joseph@codesourcery.com>
12348
12349 * c-common.c (c_cpp_error): Update names of diagnostic_context
12350 members.
12351 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12352 cl_optimization members.
12353 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12354 sanitize_cpp_opts, finish_options): Update names of cpp_options
12355 members.
12356
1973201f
NP
123572010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
12358
12359 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
12360 (objc_is_reserved_word): Removed.
12361 * c-common.c: Updated comments.
12362 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12363 objc_is_reserved_word.
12364 * stub-objc.c (objc_is_reserved_word): Removed.
12365
f7e71da5
IS
123662010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12367
9faeb493 12368 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
12369 include attributes.
12370 (objc_start_method_definition): Likewise.
12371 (objc_build_keyword_decl): Likewise.
12372 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12373 (objc_start_method_definition): Likewise.
12374 (objc_build_keyword_decl): Likewise.
12375
c165dca7
IS
123762010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12377
12378 * c-common.h (objc_start_class_interface): Adjust prototype.
12379 (objc_start_category_interface): Likewise.
12380 (objc_start_protocol): Likewise.
12381 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12382 (objc_start_class_interface): Likewise.
12383 (objc_start_category_interface): Likewise.
12384
7458026b
ILT
123852010-09-27 Ian Lance Taylor <iant@google.com>
12386
12387 * c-common.c (c_common_attribute_table): Add no_split_stack.
12388 (handle_no_split_stack_attribute): New static function.
12389
b581b85b
NP
123902010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
12391
9faeb493 12392 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 12393
3f8257db 12394 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 12395
9faeb493 12396 Radar 4229905
b581b85b
NP
12397 * c-common.h (objc_have_common_type): New declaration.
12398 * stub-objc.c (objc_have_common_type): New stub.
12399
12400 2005-06-22 Ziemowit Laski <zlaski@apple.com>
12401
12402 Radar 4154928
12403 * c-common.h (objc_common_type): New prototype.
9faeb493 12404 * stub-objc.c (objc_common_type): New stub.
b581b85b 12405
46a4da10
JH
124062010-09-24 Jan Hubicka <jh@suse.cz>
12407
12408 * c-common.c (handle_leaf_attribute): New function.
12409 (struct attribute_spec c_common_att): Add leaf.
12410
e200444e
JM
124112010-09-22 Joseph Myers <joseph@codesourcery.com>
12412
12413 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12414 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12415 -dump, -dump=, -imacros, -imacros=, -include, -include=,
12416 -include-barrier, -include-directory, -include-directory=,
12417 -include-directory-after, -include-directory-after=,
12418 -include-prefix, -include-prefix=, -include-with-prefix,
12419 -include-with-prefix=, -include-with-prefix-after,
12420 -include-with-prefix-after=, -include-with-prefix-before,
12421 -include-with-prefix-before=, -no-integrated-cpp,
12422 -no-line-commands, -no-standard-includes, -no-warnings, -output,
12423 -output=, -pedantic, -pedantic-errors, -preprocess,
12424 -print-missing-file-dependencies, -trace-includes, -traditional,
12425 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12426 -user-dependencies, -verbose, -write-dependencies,
12427 -write-user-dependencies, no-integrated-cpp, traditional): New.
12428
29a80ea6
NP
124292010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12430
12431 PR objc/23710
ac1fc2fc
NP
12432 * c-common.h (objc_start_method_definition): Return bool instead
12433 of void.
12434 * stub-objc.c (objc_start_method_definition): Return bool instead
12435 of void.
12436
124372010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12438
12439 PR objc/25965
12440 * c-common.h (objc_get_interface_ivars): New declaration.
12441 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 12442
de621752
ILT
124432010-09-15 Ian Lance Taylor <iant@google.com>
12444
12445 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 12446 messages. Remove period at end of warning message.
de621752 12447
ba885ec5
NS
124482010-09-09 Nathan Sidwell <nathan@codesourcery.com>
12449
12450 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12451 (handle_alias_attribute): ... here.
12452 (handle_ifunc_attribute): New.
12453
c5ee1358
MM
124542010-09-06 Mark Mitchell <mark@codesourcery.com>
12455
12456 * c-common.h (do_warn_double_promotion): Declare.
12457 * c-common.c (do_warn_double_promotion): Define.
12458
0a0b3574
MM
124592010-09-05 Mark Mitchell <mark@codesourcery.com>
12460
12461 * c.opt (Wdouble-promotion): New.
12462
d1779886
JM
124632010-09-02 Joseph Myers <joseph@codesourcery.com>
12464
12465 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12466 fvtable-thunks, fxref): Mark no longer supported in help text.
12467
2d2bd949
JM
124682010-09-02 Joseph Myers <joseph@codesourcery.com>
12469
12470 * c.opt (Wimport, fall-virtual, falt-external-templates,
12471 fdefault-inline, fenum-int-equiv, fexternal-templates,
12472 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12473 fname-mangling-version-, fnew-abi, fnonnull-objects,
12474 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12475 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12476 applicable.
12477 (fhandle-exceptions): Mark with Alias and Warn.
12478 * c-opts.c (c_common_handle_option): Don't handle options marked
12479 as ignored.
12480
5de8299c
JM
124812010-09-02 Joseph Myers <joseph@codesourcery.com>
12482
12483 * c.opt (Wcomments, Werror-implicit-function-declaration,
12484 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12485 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12486 aliases.
12487 * c-common.c (option_codes): Use OPT_Wcomment instead of
12488 OPT_Wcomments.
12489 * c-opts.c (warning_as_error_callback, c_common_handle_option):
12490 Don't handle options marked as aliases.
12491
0ceb0201
RG
124922010-08-25 Richard Guenther <rguenther@suse.de>
12493
12494 * c-common.c (c_common_get_alias_set): Remove special
12495 handling for pointers.
12496
ac47786e
NF
124972010-08-20 Nathan Froyd <froydnj@codesourcery.com>
12498
12499 * c-common.c: Use FOR_EACH_VEC_ELT.
12500 * c-gimplify.c: Likewise.
12501 * c-pragma.c: Likewise.
12502
c878765b
JM
125032010-08-16 Joseph Myers <joseph@codesourcery.com>
12504
12505 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
12506 RejectDriver.
12507 (MMDX): Change back to MMD. Mark NoDriverArg instead of
12508 RejectDriver.
12509 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12510 instead of OPT_MDX and OPT_MMDX.
12511
603349bf
JM
125122010-08-16 Joseph Myers <joseph@codesourcery.com>
12513
12514 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12515
644fa7ac
JM
125162010-08-12 Joseph Myers <joseph@codesourcery.com>
12517
12518 * c.opt (MD, MMD): Change to MDX and MMDX.
12519 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12520
481e1176
JM
125212010-08-11 Joseph Myers <joseph@codesourcery.com>
12522
12523 * c-opts.c (c_common_handle_option): Call handle_generated_option
12524 instead of handle_option.
12525
ac8dc9f7
NF
125262010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12527
12528 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12529 (maybe_apply_renaming_pragma): Delete unneeded declarations.
12530
4f8c876d
NF
125312010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12532
12533 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
12534 (pending_redefine_extname): Change type to a VEC.
12535 (add_to_renaming_pragma_list): Update for new type of
12536 pending_redefine_extname.
ac8dc9f7 12537 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 12538
3b0c690e
AC
125392010-08-04 Arnaud Charlet <charlet@adacore.com>
12540
12541 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12542 visited.
12543 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12544 decide whether a type has already been declared/seen.
12545 Do not go to the original type.
12546 (dump_nested_types): New parameter forward.
12547 Generate forward declaration if needed and mark type as visited.
12548 (print_ada_declaration): Call dump_nested_types if not already done.
12549 Mark types as visited.
12550
1890bccc
JM
125512010-08-03 Joseph Myers <joseph@codesourcery.com>
12552
12553 * c.opt (-print-pch-checksum): Remove option.
12554 * c-opts.c (c_common_handle_option): Don't handle
12555 OPT_print_pch_checksum.
12556
5f20c657
JM
125572010-07-27 Joseph Myers <joseph@codesourcery.com>
12558
12559 * c-common.h (c_common_handle_option): Update prototype and return
12560 value type.
12561 * c-opts.c (c_common_handle_option): Update prototype and return
12562 value type. Update calls to handle_option and
12563 enable_warning_as_error.
12564
f551f80c
JJ
125652010-07-27 Jakub Jelinek <jakub@redhat.com>
12566
12567 PR c/45079
12568 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12569
61ff2bdc
JM
125702010-07-27 Joseph Myers <joseph@codesourcery.com>
12571
12572 * c-common.h (c_common_missing_argument): Remove.
12573 * c-opts.c (c_common_missing_argument): Remove.
12574 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12575 idirafter, imacros, include, isysroot, isystem, iquote): Add
12576 MissingArgError.
12577 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
12578
7a9bf9a4
JM
125792010-07-27 Joseph Myers <joseph@codesourcery.com>
12580
12581 * c-common.h (c_common_option_lang_mask,
12582 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
12583 New.
12584 (c_common_init_options): Update prototype.
12585 * c-opts.c (c_common_option_lang_mask): New.
12586 (c_common_initialize_diagnostics): Split out of
12587 c_common_init_options.
12588 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
12589 New.
12590 (c_common_init_options): Update prototype. Use decoded options in
12591 search for -lang-asm.
12592
910ad8de
NF
125932010-07-15 Nathan Froyd <froydnj@codesourcery.com>
12594
12595 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
12596 * c-format.c: Likewise.
12597
718f9c0f
MLI
125982010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
12599
12600 * c-common.h: Include diagnostic-core.h. Error if already
12601 included.
12602 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
12603
4d451982
MLI
126042010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
12605
adfac8df 12606 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
12607 Do not include expr.h
12608 (vector_mode_valid_p): Move here.
12609
119fe915
SB
126102010-06-21 DJ Delorie <dj@redhat.com>
12611
12612 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
12613 allow these pragmas anywhere.
12614
126152010-06-14 Jakub Jelinek <jakub@redhat.com>
12616
12617 PR bootstrap/44509
12618 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
12619 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
12620 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
12621 ggc_strdup instead of xstrdup.
12622
126232010-06-10 Jakub Jelinek <jakub@redhat.com>
12624
12625 * c-cppbuiltin.c: Include cpp-id-data.h.
12626 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
12627 (lazy_hex_fp_value): New function.
12628 (builtin_define_with_hex_fp_value): Provide definitions lazily.
12629
6662d794
MLI
126302010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12631
12632 * c-gimplify.c: Do not include tree-flow.h
12633
38f8b050
JR
126342010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
12635
12636 PR other/44034
12637 * c-common.c: Rename targetm member:
12638 targetm.enum_va_list -> targetm.enum_va_list_p
12639
9589f23e
AS
126402010-06-28 Anatoly Sokolov <aesok@post.ru>
12641
12642 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
12643
3b06d379
SB
126442010-06-28 Steven Bosscher <steven@gcc.gnu.org>
12645
12646 * c-cppbuiltin.c: Do not include except.h.
12647
d166d4c3
AK
126482010-06-24 Andi Kleen <ak@linux.intel.com>
12649
9faeb493
UB
12650 * c-common.c (warn_for_omitted_condop): New.
12651 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 12652
70cb8be6
JM
126532010-06-21 Joseph Myers <joseph@codesourcery.com>
12654
12655 * c.opt (lang-objc): Remove.
12656 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
12657
a4c97feb
JR
126582010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
12659
12660 * c-opts.c: Include "tm_p.h".
12661
6e2f1956
JM
126622010-06-20 Joseph Myers <joseph@codesourcery.com>
12663
12664 * c-common.c (parse_optimize_options): Update call to
12665 decode_options.
12666
bc87224e
NF
126672010-06-18 Nathan Froyd <froydnj@codesourcery.com>
12668
12669 * c-common.c (record_types_used_by_current_var_decl): Adjust for
12670 new type of types_used_by_cur_var_decl.
12671
b49cf425
JR
126722010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
12673
12674 PR bootstrap/44512
12675 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
12676 for C++ standard compliance.
12677
59f9c2ed
JM
126782010-06-16 Jason Merrill <jason@redhat.com>
12679
12680 * c.opt: Add -Wnoexcept.
12681
33766b66
RG
126822010-06-16 Richard Guenther <rguenther@suse.de>
12683
12684 PR c/44555
12685 * c-common.c (c_common_truthvalue_conversion): Remove
12686 premature and wrong optimization concering ADDR_EXPRs.
12687
eff7e30c
AC
126882010-06-15 Arnaud Charlet <charlet@adacore.com>
12689
12690 * c-ada-spec.c (dump_sloc): Remove column info.
12691 (is_simple_enum): New function.
12692 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
12693 enum types when relevant.
12694
6312e84d
MLI
126952010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12696
9faeb493 12697 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
12698 location.
12699
1cb42611
JM
127002010-06-10 Joseph Myers <joseph@codesourcery.com>
12701
12702 * c-opts.c (c_common_handle_option): Don't handle
12703 OPT_fshow_column.
12704
a9429e29
LB
127052010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12706
12707 * c-pragma.c (push_alignment): Use typed GC allocation.
12708 (handle_pragma_push_options): Likewise.
12709
12710 * c-common.c (parse_optimize_options): Likewise.
12711
12712 * c-common.h (struct sorted_fields_type): Add variable_size GTY
12713 option.
12714
5498f011
JM
127152010-06-07 Joseph Myers <joseph@codesourcery.com>
12716
12717 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
12718 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12719 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12720 flag_signed_bitfields, warn_strict_null_sentinel,
12721 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
12722 flag_gen_declaration, flag_no_gnu_keywords,
12723 flag_implement_inlines, flag_implicit_templates,
12724 flag_implicit_inline_templates, flag_optional_diags,
12725 flag_elide_constructors, flag_default_inline, flag_rtti,
12726 flag_conserve_space, flag_access_control, flag_check_new,
12727 flag_new_for_scope, flag_weak, flag_working_directory,
12728 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
12729 flag_enforce_eh_specs, flag_threadsafe_statics,
12730 flag_pretty_templates): Remove.
12731 * c-common.h (flag_preprocess_only, flag_nil_receivers,
12732 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
12733 flag_replace_objc_classes, flag_undef, flag_no_builtin,
12734 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12735 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12736 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
12737 flag_no_gnu_keywords, flag_implement_inlines,
12738 flag_implicit_templates, flag_implicit_inline_templates,
12739 flag_optional_diags, flag_elide_constructors, flag_default_inline,
12740 flag_rtti, flag_conserve_space, flag_access_control,
12741 flag_check_new, flag_new_for_scope, flag_weak,
12742 flag_working_directory, flag_use_cxa_atexit,
12743 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
12744 flag_threadsafe_statics, flag_pretty_templates,
12745 warn_strict_null_sentinel): Remove.
12746 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
12747 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
12748 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
12749 fimplicit-inline-templates, fimplicit-templates,
12750 flax-vector-conversions, fms-extensions, fnil-receivers,
12751 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
12752 frtti, fshort-double, fshort-enums, fshort-wchar,
12753 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
12754 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
12755 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
12756 gen-decls, undef): Use Var.
12757 (fdefault-inline, foptional-diags): Document as doing nothing.
12758 * c-opts.c (c_common_handle_option): Remove cases for options now
12759 using Var. Mark ignored options as such.
12760
39dabefd
SB
127612010-06-05 Steven Bosscher <steven@gcc.gnu.org>
12762
9faeb493 12763 * c-common.c: Moved to here from parent directory.
39dabefd
SB
12764 * c-common.def: Likewise.
12765 * c-common.h: Likewise.
12766 * c-cppbuiltin.c: Likewise.
12767 * c-dump.c: Likewise.
12768 * c-format.c: Likewise.
12769 * c-format.h : Likewise.
12770 * c-gimplify.c: Likewise.
12771 * c-lex.c: Likewise.
12772 * c-omp.c: Likewise.
12773 * c.opt: Likewise.
12774 * c-opts.c: Likewise.
12775 * c-pch.c: Likewise.
12776 * c-ppoutput.c: Likewise.
12777 * c-pragma.c: Likewise.
12778 * c-pragma.h: Likewise.
12779 * c-pretty-print.c: Likewise.
12780 * c-pretty-print.h: Likewise.
12781 * c-semantics.c: Likewise.
12782 * stub-objc.c: Likewise.
12783
12784 * c-common.c: Include gt-c-family-c-common.h.
12785 * c-pragma.c: Include gt-c-family-c-pragma.h.
12786\f
877e3c2a 12787Copyright (C) 2010-2022 Free Software Foundation, Inc.
39dabefd
SB
12788
12789Copying and distribution of this file, with or without modification,
12790are permitted in any medium without royalty provided the copyright
12791notice and this notice are preserved.