]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
c-family: Support format checking C2X %b, %B formats
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
ce6eec39
GA
12021-10-08 Martin Liska <mliska@suse.cz>
2
3 * c-opts.c (c_common_post_options): Use new macro
4 OPTION_SET_P.
5
50e20ee6
GA
62021-10-07 Martin Liska <mliska@suse.cz>
7
8 * c-common.c (parse_optimize_options): Make
9 save_opt_decoded_options a pointer type.
10
57c7ec62
GA
112021-10-06 Jakub Jelinek <jakub@redhat.com>
12
13 PR tree-optimization/102571
14 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
15 padding, but the non-padding bits are contiguous set of bytes
16 by adjusting the memcmp call arguments instead of emitting
17 __builtin_clear_padding and then comparing all the type's bytes.
18
192021-10-06 Jakub Jelinek <jakub@redhat.com>
20
21 PR c++/102612
22 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
23 __cpp_constexpr to 202110L rather than 201907L.
24
da9c5f78
GA
252021-10-04 Marek Polacek <polacek@redhat.com>
26
27 PR c++/97573
28 * c-common.h (do_warn_array_compare): Declare.
29 * c-warn.c (do_warn_array_compare): New.
30 * c.opt (Warray-compare): New option.
31
e3e07b89
GA
322021-10-02 Iain Sandoe <iain@sandoe.co.uk>
33
34 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
35 NULL, this is not needed.
36
9d116bcc
GA
372021-10-01 Martin Sebor <msebor@redhat.com>
38
39 PR c/102103
40 * c-common.c (decl_with_nonnull_addr_p): Handle members.
41 Check and perform warning suppression.
42 (c_common_truthvalue_conversion): Enhance warning suppression.
43
442021-10-01 Martin Liska <mliska@suse.cz>
45
46 PR target/102552
47 * c-common.c (parse_optimize_options): decoded_options[0] is
48 used for program name, so merged_decoded_options should also
49 respect that.
50
512021-10-01 Jakub Jelinek <jakub@redhat.com>
52 Richard Biener <rguenther@suse.de>
53
54 PR sanitizer/102515
55 * c-ubsan.c (ubsan_instrument_division): Check the right
56 flag_sanitize_recover bit, depending on which sanitization
57 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
58 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
59 and SANITIZE_DIVIDE is enabled, neither check is known
60 to be false and flag_sanitize_recover bits for those two
61 aren't the same, emit both __ubsan_handle_divrem_overflow
62 and __ubsan_handle_divrem_overflow_abort calls.
63
642021-10-01 Martin Liska <mliska@suse.cz>
65
66 * c-common.c (parse_optimize_options): Combine optimize
67 options with what was provided on the command line.
68
692021-10-01 Jakub Jelinek <jakub@redhat.com>
70
71 * c-omp.c (c_omp_split_clauses): Also copy
72 OMP_CLAUSE_ORDER_REPRODUCIBLE.
73
cf966403
GA
742021-09-27 Martin Liska <mliska@suse.cz>
75
76 * c-opts.c (c_common_init_options_struct): Set also
77 x_flag_default_complex_method.
78
e4777439
GA
792021-09-22 Jakub Jelinek <jakub@redhat.com>
80
81 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
82
62498024
GA
832021-09-20 Matthias Kretz <m.kretz@gsi.de>
84
85 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
86 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
87 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
88 __ROUNDING_MATH__ according to the new optimization flags.
89
cf74e7b5
GA
902021-09-18 Jakub Jelinek <jakub@redhat.com>
91
92 * c-omp.c (c_omp_split_clauses): Split order clause also to
93 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
94
0a4cb439
GA
952021-09-17 Jakub Jelinek <jakub@redhat.com>
96
97 * c-omp.c (c_finish_omp_atomic): Avoid creating
98 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
99 create_tmp_var and add a zero initializer to TARGET_EXPRs that
100 had NULL initializer. When omitting operands after v = x,
101 use type of v rather than type of x. Fix type of vtmp
102 TARGET_EXPR.
103
07985c47
GA
1042021-09-13 Jason Merrill <jason@redhat.com>
105
106 * c.opt: Add -Winterference-size.
107 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
108 and __GCC_CONSTRUCTIVE_SIZE.
109
a26206ec
GA
1102021-09-10 Jakub Jelinek <jakub@redhat.com>
111
112 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
113 * c-omp.c: Include gimple-fold.h.
114 (c_finish_omp_atomic): Add r and weak arguments. Add support for
115 OpenMP 5.1 atomics.
116
f84e2f0b
GA
1172021-09-09 qing zhao <qing.zhao@oracle.com>
118
119 * c-attribs.c (handle_uninitialized_attribute): New function.
120 (c_common_attribute_table): Add "uninitialized" attribute.
121
b6db7cd4
GA
1222021-09-08 liuhongt <hongtao.liu@intel.com>
123
124 * c-common.c (excess_precision_mode_join): Update below comments.
125 (c_ts18661_flt_eval_method): Set excess_precision_type to
126 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
127 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
128 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
129 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
130
b2748138
GA
1312021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
132
133 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
134
7b739540
GA
1352021-09-03 Eric Botcazou <ebotcazou@adacore.com>
136
137 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
138 and -gnatwu warning for the package specification.
139
e11c6046
GA
1402021-09-01 Iain Sandoe <iain@sandoe.co.uk>
141
142 * c-attribs.c (handle_unavailable_attribute): New.
143
1e2f030b
GA
1442021-08-30 Jason Merrill <jason@redhat.com>
145
146 * c.opt: Add -Wmissing-requires.
147
85d77ac4
GA
1482021-08-25 Lewis Hyatt <lhyatt@gmail.com>
149
150 PR other/93067
151 * c-opts.c (c_common_input_charset_cb): New function.
152 (c_common_post_options): Call new function
153 diagnostic_initialize_input_context().
154
7c9e1645
GA
1552021-08-20 Tobias Burnus <tobias@codesourcery.com>
156
157 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
158 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
159 "di" and "u", respecitively; fill with BADLEN to match
160 size of 'types'.
161 (get_init_dynamic_hwi): Split off from ...
162 (init_dynamic_diag_info): ... here. Call it.
163 (init_dynamic_gfc_info): Call it.
164
1652021-08-20 Jakub Jelinek <jakub@redhat.com>
166
167 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
168 * c-pragma.c (omp_pragmas): Add error directive.
169 * c-omp.c (omp_directives): Uncomment error directive entry.
170
6e529985
GA
1712021-08-18 Jakub Jelinek <jakub@redhat.com>
172
173 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
174 * c-pragma.c (omp_pragmas): Add nothing directive.
175 * c-omp.c (omp_directives): Uncomment nothing directive entry.
176
2d14d64b
GA
1772021-08-17 Jakub Jelinek <jakub@redhat.com>
178
179 PR c++/101539
180 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
181 * c-common.c (c_common_reswords): Add __is_layout_compatible.
182
1832021-08-17 Matt Jacobson <mhjacobson@me.com>
184
185 * c-opts.c (c_common_post_options): Default to
186 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
187
1882021-08-17 Jakub Jelinek <jakub@redhat.com>
189
190 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
191 * c-pragma.c (omp_pragmas): Add scope construct.
192 * c-omp.c (omp_directives): Uncomment scope directive entry.
193
9d1d9fc8
GA
1942021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
195
196 * c-cppbuiltin.c (c_cpp_builtins): Define
197 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
198
72be20e2
GA
1992021-08-12 Jakub Jelinek <jakub@redhat.com>
200
201 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
202 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
203 * c-pragma.c (omp_pragmas_simd): Add masked construct.
204 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
205 enumerator.
206 (c_finish_omp_masked): Declare.
207 * c-omp.c (c_finish_omp_masked): New function.
208 (c_omp_split_clauses): Handle combined masked constructs.
209
4d17ca1b
GA
2102021-07-30 Jakub Jelinek <jakub@redhat.com>
211
212 PR c++/101539
213 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
214 * c-common.c (c_common_reswords): Add
215 __is_pointer_interconvertible_base_of.
216
2172021-07-29 Richard Biener <rguenther@suse.de>
218
219 PR c/101512
220 * c-common.c (c_common_mark_addressable_vec): Look through
221 C_MAYBE_CONST_EXPR even if not at the toplevel.
222
af3f12e6
GA
2232021-07-27 Martin Sebor <msebor@redhat.com>
224
225 PR c/101585
226 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
227
ead235f6
GA
2282021-07-23 Jakub Jelinek <jakub@redhat.com>
229
230 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
231 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
232 and later.
233
2342021-07-23 Jakub Jelinek <jakub@redhat.com>
235
236 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
237 PRAGMA_OMP__LAST_ enumerators.
238
419c6c68
GA
2392021-07-21 Thomas Schwinge <thomas@codesourcery.com>
240 Joseph Myers <joseph@codesourcery.com>
241 Cesar Philippidis <cesar@codesourcery.com>
242
243 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
244
92d45509
GA
2452021-07-20 Martin Sebor <msebor@redhat.com>
246
247 * c-common.c (c_build_shufflevector): Adjust by-value argument to
248 by-const-reference.
249 * c-common.h (c_build_shufflevector): Same.
250
87277b6a
GA
2512021-07-16 Andrew Pinski <apinski@marvell.com>
252
253 PR c/101453
254 * c-common.c (parse_optimize_options): Use the correct
255 size for buffer.
256
d97d71a1
GA
2572021-07-15 Martin Sebor <msebor@redhat.com>
258
259 PR c/101289
260 PR c/97548
261 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
262
c4fee1c6
GA
2632021-07-14 Jason Merrill <jason@redhat.com>
264
265 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
266
6fba0eea
GA
2672021-07-06 Martin Sebor <msebor@redhat.com>
268
269 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
270 (gcc_cdiag_char_table): Same.
271 (gcc_cxxdiag_char_table): Same.
272
7a60a6e8
GA
2732021-07-02 Jakub Jelinek <jakub@redhat.com>
274
275 * c-common.h (enum c_omp_directive_kind): New enum.
276 (struct c_omp_directive): New type.
277 (c_omp_categorize_directive): Declare.
278 * c-omp.c (omp_directives): New variable.
279 (c_omp_categorize_directive): New function.
280
bea7c16a
GA
2812021-07-01 Eric Botcazou <ebotcazou@adacore.com>
282
283 * c-ada-spec.c (packed_layout): New global variable.
284 (dump_ada_declaration): Set it upon seeing a packed record type.
285 Do not put the "aliased" keyword if it is set.
286 (dump_ada_structure): Add Pack aspect if it is set and clear it.
287
2882021-07-01 Eric Botcazou <ebotcazou@adacore.com>
289
290 * c-ada-spec.c (check_name): Rename into...
291 (check_type_name_conflict): ...this. Minor tweak.
292 (dump_ada_function_declaration): Adjust to above renaming.
293 (dump_ada_array_domains): Fix oversight.
294 (dump_ada_declaration): Call check_type_name_conflict for variables.
295
90708f87
GA
2962021-06-25 Martin Sebor <msebor@redhat.com>
297
298 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
299 (c_common_truthvalue_conversion): Replace direct uses of
300 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
301 copy_no_warning.
302 (check_function_arguments_recurse): Same.
303 * c-gimplify.c (c_gimplify_expr): Same.
304 * c-warn.c (overflow_warning): Same.
305 (warn_logical_operator): Same.
306 (warn_if_unused_value): Same.
307 (do_warn_unused_parameter): Same.
308
9aa8327e
GA
3092021-06-24 Jakub Jelinek <jakub@redhat.com>
310
311 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
312 C_ORT_OMP_TARGET.
313 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
314 combined target constructs also add map (always, tofrom:) clause.
315
ede6c356
GA
3162021-06-15 Robin Dapp <rdapp@linux.ibm.com>
317
318 * c-attribs.c (common_handle_aligned_attribute): Remove short
319 circuit and dead code.
320
8dc48181
GA
3212021-06-14 Jonathan Wakely <jwakely@redhat.com>
322
323 PR c++/101052
324 * known-headers.cc (get_stdlib_header_for_name): Add known
325 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
326 exit, and getenv.
327
8b8c3912
GA
3282021-06-12 Jason Merrill <jason@redhat.com>
329
330 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
331
f16f65f8
GA
3322021-06-11 Jakub Jelinek <jakub@redhat.com>
333
334 PR c++/100974
335 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
336 -std=c++2b for P1938R3 consteval if support.
337
4f625f47
GA
3382021-06-09 Jason Merrill <jason@redhat.com>
339
340 PR c++/100879
341 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
342 warning.
343
438aac59
GA
3442021-06-07 Martin Liska <mliska@suse.cz>
345
346 * c-target.def: Split long lines and replace them
347 with '\n\'.
348
600f90cb
GA
3492021-06-04 Martin Sebor <msebor@redhat.com>
350
351 PR c/100783
352 * c-attribs.c (positional_argument): Bail on erroneous types.
353
3542021-06-04 Martin Sebor <msebor@redhat.com>
355
356 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
357 for element presence.
358
440c8a0a
GA
3592021-06-03 Eric Botcazou <ebotcazou@adacore.com>
360
361 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
362 (dump_ada_decl_name): Likewise.
363 (dump_anonymous_type_name): Remove parent parameter and adjust.
364 (dump_sloc): Minor tweak.
365 (dump_ada_array_type): Remove type parameter and adjust.
366 (dump_ada_enum_type): Remove parent parameter and adjust.
367 (dump_ada_node): Adjust calls to above functions.
368 (dumped_anonymous_types): New global variable.
369 (dump_nested_types_1): Rename into...
370 (dump_nested_types): ...this.
371 (dump_nested_type): Remove parent and dumped_types parameters.
372 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
373 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
374 (dump_ada_specs): Initialize and free dumped_anonymous_types.
375
3762021-06-03 Eric Botcazou <ebotcazou@adacore.com>
377
378 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
379 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
380
3812021-06-03 Eric Botcazou <ebotcazou@adacore.com>
382
383 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
384 (htable_t): New typedef.
385 (overloaded_names): Use it.
386 (add_name): New function.
387 (init_overloaded_names): Use add_name to populate the table and add
388 special cases for sigaction and stat.
389 (overloaded_name_p): Rename into...
390 (overloading_index): ...this. Do not initialize overloaded_names table
391 here. Return the index or zero.
392 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
393 but add an overloading suffix instead.
394 (dump_ada_specs): Initialize overloaded_names tables here.
395
b75978d1
GA
3962021-06-01 Martin Liska <mliska@suse.cz>
397
398 PR other/100759
399 * c-attribs.c (handle_optimize_attribute): Limit sanity check
400 to a situation where we are not in processing of an optimize
401 pragma.
402 * c-pragma.c (handle_pragma_pop_options): Restore target
403 options.
404
ee682192
GA
4052021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
406
407 PR testsuite/100749
408 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
409
4102021-05-31 Richard Biener <rguenther@suse.de>
411
412 PR c++/88601
413 * c-common.c: Include tree-vector-builder.h and
414 vec-perm-indices.h.
415 (c_common_reswords): Add __builtin_shufflevector.
416 (c_build_shufflevector): New funtion.
417 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
418 (c_build_shufflevector): Declare.
419
48166757
GA
4202021-05-28 Jakub Jelinek <jakub@redhat.com>
421
422 PR middle-end/99928
423 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
424 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
425
4262021-05-28 Tobias Burnus <tobias@codesourcery.com>
427
428 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
429
2bc6dace
GA
4302021-05-25 Martin Liska <mliska@suse.cz>
431
432 PR tree-optimization/92860
433 PR target/99592
434 * c-attribs.c (handle_optimize_attribute): Save target node
435 before calling parse_optimize_options and save it in case
436 it changes.
437 * c-pragma.c (handle_pragma_target): Similarly for pragma.
438 (handle_pragma_pop_options): Likewise here.
439
4402021-05-25 Martin Liska <mliska@suse.cz>
441
442 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
443
4442021-05-25 Jakub Jelinek <jakub@redhat.com>
445
446 PR middle-end/99928
447 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
448 combined with simd and not with taskloop or for.
449
2832d51b
GA
4502021-05-21 Jakub Jelinek <jakub@redhat.com>
451
452 PR middle-end/99928
453 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
454 on firstprivate clause copy going to target construct, and for
455 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
456
ea34e2ed
GA
4572021-05-20 Jonathan Wakely <jwakely@redhat.com>
458
459 * c.opt (Wc++11-extensions, Wc++14-extensions)
460 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
461 options.
462
4632021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
464
465 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
466
4672021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
468
469 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
470 * c-pch.c (struct c_pch_validity): Use type uint32_t.
471 (pch_init): Renamed member.
472 (c_common_valid_pch): Adjust access to debug_type_names.
473
65f32e5d
GA
4742021-05-19 Martin Sebor <msebor@redhat.com>
475
476 PR c/100619
477 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
478 bounds.
479
a8daf9a1
GA
4802021-05-18 Richard Biener <rguenther@suse.de>
481
482 PR c/100547
483 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
484 Reword existing nunit diagnostic.
485
a7ffc1ef
GA
4862021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
487
488 * c-common.c (braced_list_to_string): Return CTOR unchanged
489 if host and target character sizes don't match.
490
87a7d10c
GA
4912021-05-14 Martin Liska <mliska@suse.cz>
492
493 * c.opt: Add Warning keyword for 2 options.
494
f9af11c7
GA
4952021-05-13 Martin Liska <mliska@suse.cz>
496
497 PR middle-end/100504
498 * c-attribs.c (handle_target_clones_attribute): Expect a string
499 argument to target_clone argument.
500
037e3661
GA
5012021-05-11 Joseph Myers <joseph@codesourcery.com>
502
503 * c-lex.c (interpret_float): Handle digit separators for C2X.
504
aa891c56
GA
5052021-05-10 Martin Liska <mliska@suse.cz>
506
507 * c-ada-spec.c (print_destructor): Use startswith
508 function instead of strncmp.
509 (dump_ada_declaration): Likewise.
510 * c-common.c (disable_builtin_function): Likewise.
511 (def_builtin_1): Likewise.
512 * c-format.c (check_tokens): Likewise.
513 (check_plain): Likewise.
514 (convert_format_name_to_system_name): Likewise.
515
e4ff4ffb
GA
5162021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
517
518 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
519 complex divide
520
c0fa3f2f
GA
5212021-04-26 Thomas Schwinge <thomas@codesourcery.com>
522 Nathan Sidwell <nathan@codesourcery.com>
523 Tom de Vries <vries@codesourcery.com>
524 Julian Brown <julian@codesourcery.com>
525 Kwok Cheung Yeung <kcy@codesourcery.com>
526
527 * c.opt (Wopenacc-parallelism): New.
528
6e81e015
GA
5292021-04-19 Thomas Schwinge <thomas@codesourcery.com>
530
531 * c.opt (fopenacc-kernels=): Remove.
532
019a9220
GA
5332021-04-08 Jakub Jelinek <jakub@redhat.com>
534
535 * c-warn.c (do_warn_double_promotion): Fix comment typo,
536 occured -> occurred.
537 (check_alignment_of_packed_member): Fix a comment typo,
538 memeber -> member.
539 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
540 and onless -> unless.
541 (warn_parm_array_mismatch): Fix comment typos, declaratation
542 -> declaration and woud -> would. Fix up comment indentation.
543
5442021-04-08 Martin Sebor <msebor@redhat.com>
545
546 PR middle-end/99883
547 * c.opt (Wmismatched-new-delete): Correct spelling.
548
b1da9916
GA
5492021-04-05 Eric Botcazou <ebotcazou@adacore.com>
550
551 * c-ada-spec.c (is_simple_enum): Minor tweaks.
552 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
553 enumeral types use again the type name for the enumeration constants.
554 (dump_ada_node): Adjust call to dump_ada_enum_type.
555 (dump_nested_type): Likewise.
556
f1607029
GA
5572021-04-01 Jason Merrill <jason@redhat.com>
558
559 PR c++/98481
560 * c-opts.c (c_common_post_options): Bump latest_abi_version.
561
4493b1c1
GA
5622021-03-25 Jakub Jelinek <jakub@redhat.com>
563
564 PR c++/99565
565 * c-warn.c (do_warn_duplicated_branches): Pass also
566 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
567
6af7b307
GA
5682021-03-20 Jakub Jelinek <jakub@redhat.com>
569
570 PR debug/99230
571 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
572
ceae9533
GA
5732021-03-05 Eric Botcazou <ebotcazou@adacore.com>
574
575 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
576 after entering the separate class package, if any.
577
67f10d28
GA
5782021-03-04 Richard Biener <rguenther@suse.de>
579
580 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
581 Handle ERROR_MARK.
582
5832021-03-04 Jakub Jelinek <jakub@redhat.com>
584
585 PR c/99325
586 * c-ppoutput.c (print): Change src_line type from int to unsigned.
587 (token_streamer::stream) Likewise.
588 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
589 UNKNOWN_LOCATION.
590
f3641ac7
GA
5912021-03-03 Jakub Jelinek <jakub@redhat.com>
592
593 PR c/99324
594 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
595 instead of mark_addressable. Fix a comment typo -
596 neutrallly -> neutrally.
597
2c83c3fb
GA
5982021-02-28 Jakub Jelinek <jakub@redhat.com>
599
600 PR c/99304
601 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
602 message - refernced -> referenced. Remove superfluous space before
603 closing paren of function calls.
604
daa68844
GA
6052021-02-25 Nathan Sidwell <nathan@acm.org>
606
607 PR c++/99166
608 * c.opt (-flang-info-module-cmi): Renamed option.
609
50352c6c
GA
6102021-02-19 Nathan Sidwell <nathan@acm.org>
611
612 * c.opt (flang-info-module-read, flang-info-module-read=): New.
613
bf81237e
GA
6142021-02-18 H.J. Lu <hjl.tools@gmail.com>
615
616 PR target/99113
617 * c-attribs.c (c_common_attribute_table): Add the "retain"
618 attribute.
619 (handle_retain_attribute): New function.
620
0e804ce3
GA
6212021-02-16 Marek Polacek <polacek@redhat.com>
622
623 PR c++/99062
624 * c-attribs.c (handle_assume_aligned_attribute): Check that the
625 alignment argument is non-negative. Tweak a warning message.
626
fab095da
GA
6272021-02-12 Martin Sebor <msebor@redhat.com>
628
629 PR c/99055
630 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
631 print_generic_expr_to_str.
632
4b37c3ea
GA
6332021-02-10 Richard Biener <rguenther@suse.de>
634
635 * c-common.c (parse_optimize_options): Free decoded_options.
636
a19dd5e6
GA
6372021-02-04 emsr <3dw4rd@verizon.net>
638
639 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
640
9faaa807
GA
6412021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
642
643 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
644 * c-lex.c (interpret_integer): Set node type for size literal.
645
85d04a2e
GA
6462021-01-28 Jakub Jelinek <jakub@redhat.com>
647
648 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
649 draft from description.
650 (-std=c++2b): Fix a pasto, 2020 -> 2023.
651
e62bb7f0
GA
6522021-01-26 Paul Fee <paul.f.fee@gmail.com>
653
654 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
655 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
656 and -std=gnu++2b
657 * c-opts.c (set_std_cxx23): New.
658 (c_common_handle_option): Set options when -std=c++23 is enabled.
659 (c_common_post_options): Adjust comments.
660 (set_std_cxx20): Likewise.
661
161e4c08
GA
6622021-01-25 Martin Sebor <msebor@redhat.com>
663
664 PR c++/98646
665 * c-common.c (check_nonnull_arg): Adjust warning text.
666
4c9bcd5c
GA
6672021-01-17 Martin Sebor <msebor@redhat.com>
668
669 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
670 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
671
59cf67d1
GA
6722021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
673
674 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
675 Redefine PRAGMA_OACC_CLAUSE_DETACH.
676
2f7f0d32
GA
6772021-01-15 Jakub Jelinek <jakub@redhat.com>
678
679 PR tree-optimization/98597
680 * c-pretty-print.c: Include options.h.
681 (c_fold_indirect_ref_for_warn): New function.
682 (print_mem_ref): Use it. If it returns something that has compatible
683 type and is TBAA compatible with zero offset, print it and return,
684 otherwise print it using offsetof syntax or array ref syntax. Fix up
685 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
686 argument has pointer to array type. Print pointers using the standard
687 formatting.
688
6851dda2
GA
6892021-01-12 Martin Sebor <msebor@redhat.com>
690
691 PR c/98597
692 PR c/98592
693 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
694 has pointer type. Remove redundant code. Avoid calling
695 gimple_canonical_types_compatible_p.
696
7d187e4f
GA
6972021-01-07 Martin Sebor <msebor@redhat.com>
698
699 PR middle-end/98578
700 * c-pretty-print.c (print_mem_ref): Strip array from access type.
701 Avoid assuming acces type's size is constant. Correct condition
702 guarding the printing of a parenthesis.
703
942ae5be
GA
7042021-01-06 Martin Sebor <msebor@redhat.com>
705
706 PR c++/95768
707 * c-pretty-print.c (c_pretty_printer::primary_expression): For
708 SSA_NAMEs print VLA names and GIMPLE defining statements.
709 (print_mem_ref): New function.
710 (c_pretty_printer::unary_expression): Call it.
711
7122021-01-06 Richard Biener <rguenther@suse.de>
713
714 PR tree-optimization/95582
715 * c-attribs.c (c_common_attribute_table): Add entry for
716 signed_bool_precision.
717 (handle_signed_bool_precision_attribute): New.
718
8daa719b
GA
7192020-12-24 Iain Sandoe <iain@sandoe.co.uk>
720
721 * c.opt: Add -stdlib= option and enumerations for
722 libstdc++ and libc++.
723
eefe499f
GA
7242020-12-16 Martin Liska <mliska@suse.cz>
725
726 * c.opt: Remove usage of Report.
727
d52945ce
GA
7282020-12-14 Martin Sebor <msebor@redhat.com>
729
730 PR middle-end/98166
731 PR c++/57111
732 PR middle-end/98160
733 * c-attribs.c (maybe_add_noinline): New function.
734 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
735 Implicitly add attribute noinline to functions not declared inline
736 and warn on those.
737
ca2bd949
GA
7382020-12-09 Tobias Burnus <tobias@codesourcery.com>
739
740 * c-pragma.c (omp_pragmas): Add 'allocate'.
741 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
742
f6e8e279
GA
7432020-12-08 Jakub Jelinek <jakub@redhat.com>
744
745 PR c++/98187
746 * c-pragma.c (omp_pragmas): Remove "master".
747 (omp_pragmas_simd): Add "master".
748
bc8a7013
GA
7492020-12-07 Marek Polacek <polacek@redhat.com>
750
751 PR c++/98126
752 * c-common.c (verify_tree_lim_r): New function.
753 (verify_sequence_points): Use it. Use nullptr instead of 0.
754
b8dd0ef7
GA
7552020-12-03 Martin Sebor <msebor@redhat.com>
756
757 PR c++/90629
758 PR middle-end/94527
759 * c-attribs.c (handle_dealloc_attribute): New function.
760 (handle_malloc_attribute): Handle argument forms of attribute.
761 * c.opt (-Wmismatched-dealloc): New option.
762 (-Wmismatched-new-delete): New option.
763
7642020-12-03 Jakub Jelinek <jakub@redhat.com>
765
766 PR libstdc++/93121
767 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
768 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
769
e0f5e792
GA
7702020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
771
772 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
773 {__GNUC_EXECUTION_CHARSET_NAME} and
774 _WIDE_EXECUTION_CHARSET_NAME} macros.
775
7762020-12-01 Nathan Sidwell <nathan@acm.org>
777
778 * c-common.c (module, import, export): New internal tokens (with
779 trailing space).
780 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
781 them.
782 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
783 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
784
7852020-12-01 Nathan Sidwell <nathan@acm.org>
786
787 * c-opts.c (c_common_init_options): Ask for module dependencies.
788 (c_common_handle_option): Handle -Mmodules -Mno-modules.
789 * c-pch.c (c_common_valid_pch): ... does not play with C++
790 modules.
791 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
792 options.
793 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
794 (fmodule-only, fmodule-mapper, fmodule-lazy)
795 (fmodule-version-ignore, Winvalid-imported-macros)
796 (flang-info-include-translate, flang-info-include-translate-not):
797 New options
798
5fbf0ecb
GA
7992020-11-28 Eric Botcazou <ebotcazou@adacore.com>
800
801 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
802 (dump_ada_structure): Also deal with convention, unchecked union and
803 bit-field for nested types. In the latter case, print an Alignment
804 aspect along with the Pack aspect.
805
360258da
GA
8062020-11-25 Martin Sebor <msebor@redhat.com>
807
808 PR bootstrap/94982
809 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
810 -Wformat-diag.
811
1e2c9a27
GA
8122020-11-24 Martin Sebor <msebor@redhat.com>
813
814 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
815
8e6198d0
GA
8162020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
817
818 * c-attribs.c (handle_special_var_sec_attribute): New.
819 (handle_noinit_attribute): Remove.
820 (attr_noinit_exclusions): Rename to...
821 (attr_section_exclusions): ...this, and add "persistent" attribute
822 exclusion.
823 (c_common_attribute_table): Add "persistent" attribute.
824
7a97e2fc
GA
8252020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
826
827 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
828 Treat opaque types like other types.
829 (c_pretty_printer::direct_abstract_declarator): Opaque types are
830 supported types.
831
82e5048e
GA
8322020-11-20 Martin Sebor <msebor@redhat.com>
833
834 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
835 with fewer arguments.
836
8372020-11-20 Martin Sebor <msebor@redhat.com>
838
839 PR middle-end/97879
840 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
841 Error out on invalid modes.
842
8432020-11-20 Jakub Jelinek <jakub@redhat.com>
844
845 PR libstdc++/88101
846 * c-common.c (check_builtin_function_arguments): Handle
847 BUILT_IN_CLEAR_PADDING.
848
25bb75f8
GA
8492020-11-18 Nathan Sidwell <nathan@acm.org>
850
851 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
852
4dabb037
GA
8532020-11-17 Nathan Sidwell <nathan@acm.org>
854
855 * c-common.h (enum c_tree_index): Reorder to place lazy fields
856 after newly-added CTI_MODULE_HWM.
857
8582020-11-17 Joseph Myers <joseph@codesourcery.com>
859
860 * c-cppbuiltin.c (builtin_define_float_constants): Define
861 "*_IS_IEC_60559__" macros.
862
8632020-11-17 Nathan Sidwell <nathan@acm.org>
864
865 * c-lex.c: #include "langhooks.h".
866 (cb_undef): Maybe call preprocess_undef lang hook.
867 * c-opts.c (c_common_post_options): Maybe call preprocess_options
868 lang hook.
869 (push_command_line_include): Maybe call preprocess_main_file lang
870 hook.
871 (cb_file_change): Likewise.
872 * c-ppoutput.c: #include "langhooks.h.
873 (scan_translation_unit): Maybe call preprocess_token lang hook.
874 (class do_streamer): New, derive from token_streamer.
875 (directives_only_cb): Data pointer is do_streamer, call
876 preprocess_token lang hook.
877 (scan_translation_unit_directives_only): Use do_streamer.
878 (print_line_1): Move src_line recording to after string output.
879 (cb_undef): Maybe call preprocess_undef lang hook.
880
8812020-11-17 Nathan Sidwell <nathan@acm.org>
882
883 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
884 code duplicating that functionality.
885
8862020-11-17 Jakub Jelinek <jakub@redhat.com>
887
888 PR c/90628
889 * c-common.c (check_builtin_function_arguments)
890 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
891 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
892 for more builtins and argument positions.
893
29c5d9ce
GA
8942020-11-16 Iain Sandoe <iain@sandoe.co.uk>
895
896 PR objc/97854
897 * stub-objc.c: Include c-common.h to declare enum rid.
898
77f67db2
GA
8992020-11-13 Jakub Jelinek <jakub@redhat.com>
900
901 PR c++/63287
902 * c-cppbuiltin.c: Include configargs.h.
903 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
904 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
905 "single".
906
9072020-11-13 Gergö Barany <gergo@codesourcery.com>
908 Thomas Schwinge <thomas@codesourcery.com>
909
910 * c.opt (fopenacc-kernels): Add.
911
9122020-11-13 Jason Merrill <jason@redhat.com>
913
914 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
915
9162020-11-13 Piotr H. Dabrowski <phd@phd.re>
917
918 PR c++/91318
919 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
920
9212020-11-13 Martin Liska <mliska@suse.cz>
922
923 * c-attribs.c (build_attr_access_from_parms): Format properly.
924
9252020-11-13 Iain Sandoe <iain@sandoe.co.uk>
926
927 PR objc/90707
928 * c-common.c (c_common_reswords): null_unspecified, nullable,
929 nonnull, null_resettable: New keywords.
930 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
931 RID_NONNULL, RID_NULL_RESETTABLE: New.
932 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
933 ranges accepted for property attributes.
934 * c-attribs.c (handle_objc_nullability_attribute): New.
935 * c-objc.h (enum objc_property_attribute_group): Add
936 OBJC_PROPATTR_GROUP_NULLABLE.
937 (enum objc_property_attribute_kind):Add
938 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
939 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
940
9412020-11-13 Iain Sandoe <iain@sandoe.co.uk>
942
943 PR objc/77404
944 * c-attribs.c (handle_objc_root_class_attribute): New
945 * c-objc.h (objc_start_class_interface): Add a location
946 value for the position of the class name.
947 * c.opt: Add Wobjc-root-class.
948 * stub-objc.c (objc_start_class_interface): Add a location
949 value for the position of the class name.
950
a5a11525
GA
9512020-11-12 Joseph Myers <joseph@codesourcery.com>
952
953 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
954 Allow scope for C. Handle standard attributes for C. Do not
955 accept unscoped attributes if std_syntax and not handled as
956 standard attributes.
957 * c-common.h (c_common_has_attribute): Update prototype.
958
9592020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
960
961 PR pch/86674
962 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
963 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
964
0f5f9ed5
GA
9652020-11-11 Patrick Palka <ppalka@redhat.com>
966
967 PR c++/88115
968 * c-opts.c (c_common_post_options): Update latest_abi_version.
969
bb622641
GA
9702020-11-10 Jakub Jelinek <jakub@redhat.com>
971
972 PR c/97748
973 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
974 to false.
975 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
976 recursively and just return true instead of warning if it is true.
977 Handle COMPLEX_EXPR.
978
9792020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
980
981 * c-common.h (c_omp_adjust_map_clauses): New declaration.
982 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
983 (c_omp_adjust_map_clauses): New function.
984
2bee28dd
GA
9852020-11-09 Marek Polacek <polacek@redhat.com>
986
987 DR 1914
988 * c-common.c (attribute_fallthrough_p): Tweak the warning
989 message.
990
9912020-11-09 Patrick Palka <ppalka@redhat.com>
992
993 * c-pragma.c (handle_pragma_diagnostic): Split the
994 unknown-option -Wpragmas diagnostic into a warning and a
995 subsequent note containing a spelling suggestion. Avoid
996 computing the suggestion if -Wpragmas warnings are being
997 suppressed.
998
9992020-11-09 Patrick Palka <ppalka@redhat.com>
1000
1001 PR testsuite/97117
1002 * c-indentation.c (get_visual_column): Remove location_t
1003 parameter. Move the column-tracking diagnostic code from here
1004 to ...
1005 (should_warn_for_misleading_indentation): ... here, before the
1006 early exit for when the loci are not all distinct. Don't pass a
1007 location_t argument to get_visual_column.
1008 (assert_get_visual_column_succeeds): Don't pass a location_t
1009 argument to get_visual_column.
1010 (assert_get_visual_column_fails): Likewise.
1011
fb95de7a
GA
10122020-11-08 Iain Sandoe <iain@sandoe.co.uk>
1013
1014 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1015 of keywords accepted in @property attribute contexts.
1016 * c-objc.h (enum objc_property_attribute_group): Add
1017 OBJC_PROPATTR_GROUP_CLASS.
1018 (enum objc_property_attribute_kind): Add
1019 OBJC_PROPERTY_ATTR_CLASS.
1020
2da7ee05
GA
10212020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1022
1023 * c-common.c (c_common_reswords): Add 'atomic' property
1024 attribute.
1025 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1026 property attributes.
1027
10282020-11-07 Iain Sandoe <iain@sandoe.co.uk>
1029
1030 * c-attribs.c (handle_nsobject_attribute): New.
1031 * c.opt: Add WNSObject-attribute.
1032
44cab2d8
GA
10332020-11-06 Iain Sandoe <iain@sandoe.co.uk>
1034
1035 * c-objc.h (enum objc_property_attribute_group): New
1036 (enum objc_property_attribute_kind): New.
1037 (OBJC_PROPATTR_GROUP_MASK): New.
1038 (struct property_attribute_info): Small class encapsulating
1039 parser output from property attributes.
1040 (objc_prop_attr_kind_for_rid): New
1041 (objc_add_property_declaration): Simplify interface.
1042 * stub-objc.c (enum rid): Dummy type.
1043 (objc_add_property_declaration): Simplify interface.
1044 (objc_prop_attr_kind_for_rid): New.
1045
10462020-11-06 Nathan Sidwell <nathan@acm.org>
1047
1048 * c-ada-spec.c (collect_ada_nodes): Rename
1049 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1050 (collect_ada_node): Likewise.
1051 (dump_forward_type): Likewise.
1052 * c-common.c (set_underlying_type): Rename
1053 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1054 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1055
10562020-11-06 Jakub Jelinek <jakub@redhat.com>
1057
1058 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1059
0cfd9109
GA
10602020-11-05 Marek Polacek <polacek@redhat.com>
1061
1062 PR c++/97675
1063 * c.opt (Wexceptions): New option.
1064
10652020-11-05 Marek Polacek <polacek@redhat.com>
1066
1067 PR c++/25814
1068 * c.opt (Wvexing-parse): New option.
1069
35c125cb
GA
10702020-11-04 Jakub Jelinek <jakub@redhat.com>
1071
1072 PR c++/97670
1073 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1074 underlying decl to clear in the allocate_head bitmap.
1075
10762020-11-04 Iain Sandoe <iain@sandoe.co.uk>
1077
1078 * c-objc.h (objc_non_constant_expr_p): New.
1079 * stub-objc.c (objc_non_constant_expr_p): New.
1080
fd2325ea
GA
10812020-11-03 Nathan Sidwell <nathan@acm.org>
1082
1083 * c.opt (MQ,MT): Reword description to be make-agnostic.
1084
88ce3d5f
GA
10852020-11-02 Nathan Sidwell <nathan@acm.org>
1086
1087 * c-opts.c (c_common_post_options): Move var decl to its
1088 initialization point.
1089
10902020-11-01 Iain Sandoe <iain@sandoe.co.uk>
1091
1092 * c-lex.c (c_lex_with_flags): When combining '@' with a
1093 keyword for Objective-C, combine the location ranges too.
1094
10952020-10-30 Qing Zhao <qing.zhao@oracle.com>
1096 H.J.Lu <hjl.tools@gmail.com>
1097
1098 * c-attribs.c (c_common_attribute_table): Add new attribute
1099 zero_call_used_regs.
1100 (handle_zero_call_used_regs_attribute): New function.
1101
e93aae4a
GA
11022020-10-28 Marek Polacek <polacek@redhat.com>
1103
1104 PR c++/97573
1105 * c-opts.c (c_common_post_options): In C++20, turn on
1106 -Wdeprecated-enum-enum-conversion and
1107 -Wdeprecated-enum-float-conversion.
1108 * c.opt (Wdeprecated-enum-enum-conversion,
1109 Wdeprecated-enum-float-conversion): New options.
1110 (Wenum-conversion): Allow for C++ too.
1111
11122020-10-28 Jakub Jelinek <jakub@redhat.com>
1113
1114 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1115 * c-omp.c: Include bitmap.h.
1116 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1117
f19e7c8d
GA
11182020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1119
1120 * c-common.c (__is_nothrow_assignable): New.
1121 (__is_nothrow_constructible): Likewise.
1122 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1123 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1124
efe71fcc
GA
11252020-10-23 Jan Hubicka <hubicka@ucw.cz>
1126
1127 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1128
11292020-10-23 Marek Polacek <polacek@redhat.com>
1130
1131 PR c++/91741
1132 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1133 (c_common_init_ts): Likewise.
1134 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1135 * c-common.h (maybe_warn_sizeof_array_div): Declare.
1136 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1137 (maybe_warn_sizeof_array_div): New function.
1138 * c.opt (Wsizeof-array-div): New option.
1139
11402020-10-23 Martin Sebor <msebor@redhat.com>
1141
1142 PR c/97463
1143 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1144
56ddd5e2
GA
11452020-10-22 Martin Liska <mliska@suse.cz>
1146
1147 PR c/94722
1148 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1149 (handle_stack_protect_attribute): Add error message for a
1150 no_stack_protector function.
1151
11522020-10-22 Martin Liska <mliska@suse.cz>
1153
1154 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1155
11562020-10-22 Jan Hubicka <hubicka@ucw.cz>
1157
1158 * c-gimplify.c: Include tree-nested.h
1159 (c_genericize): Update for new nested function info.
1160
b2698c21
GA
11612020-10-14 Martin Sebor <msebor@redhat.com>
1162
1163 PR c/97413
1164 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1165 bounds in an extra list.
1166
7e9282ae
GA
11672020-10-05 Richard Biener <rguenther@suse.de>
1168 Jakub Jelinek <jakub@redhat.com>
1169
1170 PR c++/97197
1171 * c-pretty-print.c: Include langhooks.h.
1172 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1173 expression.
1174 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1175 unary_expression.
1176 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1177
660bfe61
GA
11782020-09-30 Martin Sebor <msebor@redhat.com>
1179
1180 PR middle-end/97189
1181 * c-attribs.c (append_access_attr): Use the function declaration
1182 location for a warning about an attribute access argument.
1183
93bca37c
GA
11842020-09-29 Marek Polacek <polacek@redhat.com>
1185
1186 PR c++/94695
1187 * c.opt (Wrange-loop-construct): New option.
1188
82b77dee
GA
11892020-09-23 Martin Sebor <msebor@redhat.com>
1190
1191 PR c/97131
1192 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1193
11942020-09-23 Marek Polacek <polacek@redhat.com>
1195
1196 PR c/97125
1197 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1198 after loops and other structured control constructs have been lowered.
1199
521d2711
GA
12002020-09-22 Jakub Jelinek <jakub@redhat.com>
1201
1202 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1203 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1204
44135373
GA
12052020-09-21 Marek Polacek <polacek@redhat.com>
1206
1207 * c.opt (Wctad-maybe-unsupported): New option.
1208
2fe5b7d1
GA
12092020-09-19 Martin Sebor <msebor@redhat.com>
1210
1211 PR c/50584
1212 * c-common.h (warn_parm_array_mismatch): Declare new function.
1213 (has_attribute): Move declaration of an existing function.
1214 (build_attr_access_from_parms): Declare new function.
1215 * c-warn.c (parm_array_as_string): Define new function.
1216 (plus_one): Define new function.
1217 (warn_parm_ptrarray_mismatch): Define new function.
1218 (warn_parm_array_mismatch): Define new function.
1219 (vla_bound_parm_decl): New function.
1220 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1221 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1222 qualifiers here...
1223 (c_pretty_printer::direct_abstract_declarator): ...but instead print
1224 them in brackets here. Also print [static]. Strip extraneous
1225 expressions from VLA bounds.
1226
12272020-09-19 Martin Sebor <msebor@redhat.com>
1228
1229 PR c/50584
1230 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1231 (handle_argspec_attribute): New function.
1232 (get_argument, get_argument_type): New functions.
1233 (append_access_attrs): Add overload. Handle internal attribute
1234 representation in addition to external.
1235 (handle_access_attribute): Handle internal attribute representation
1236 in addition to external.
1237 (build_attr_access_from_parms): New function.
1238
12392020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1240
1241 * c-gimplify.c (genericize_c_loop): Rewrite to match
1242 c_finish_loop in c-typeck.c.
1243
12442020-09-19 Sandra Loosemore <sandra@codesourcery.com>
1245
1246 * c-common.c (c_block_may_fallthrough): New, split from
1247 cxx_block_may_fallthrough in the cp front end.
1248 (c_common_init_ts): Move handling of loop and switch-related
1249 statements here from the cp front end.
1250 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1251 cp front end.
1252 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1253 * c-common.h (c_block_may_fallthru): Declare.
1254 (bc_state_t): Move here from cp front end.
1255 (save_bc_state, restore_bc_state): Declare.
1256 (c_genericize_control_stmt): Declare.
1257 (WHILE_COND, WHILE_BODY): Likewise.
1258 (DO_COND, DO_BODY): Likewise.
1259 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1260 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1261 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1262 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1263 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1264 * c-dump.c (dump_stmt): Copy from cp front end.
1265 (c_dump_tree): Move code to handle structured loop and switch
1266 tree nodes here from cp front end.
1267 * c-gimplify.c: Adjust includes.
1268 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1269 cp front end.
1270 (save_bc_state, restore_bc_state): New functions using old code
1271 from cp front end.
1272 (get_bc_label, expr_loc_or_loc): Move from cp front end.
1273 (genericize_c_loop): Move from cp front end.
1274 (genericize_for_stmt, genericize_while_stmt): Likewise.
1275 (genericize_do_stmt, genericize_switch_stmt): Likewise.
1276 (genericize_continue_stmt, genericize_break_stmt): Likewise.
1277 (genericize_omp_for_stmt): Likewise.
1278 (c_genericize_control_stmt): New function using code split from
1279 cp front end.
1280 (c_genericize_control_r): New.
1281 (c_genericize): Call walk_tree with c_genericize_control_r.
1282 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1283 structured loop and switch tree nodes here from cp front end.
1284
2aad20c0
GA
12852020-09-17 Patrick Palka <ppalka@redhat.com>
1286
1287 PR c/80076
1288 * c-indentation.c (should_warn_for_misleading_indentation): Move
1289 declarations of local variables closer to their first use.
1290 Handle virtual token locations by resolving them to their
1291 respective macro expansion points. If all three tokens are
1292 produced from the same macro expansion, then instead use their
1293 loci within the macro definition.
1294
ecde1b0a
GA
12952020-09-16 Martin Sebor <msebor@redhat.com>
1296
1297 PR c/78666
1298 PR c/96126
1299 * c-attribs.c (validate_attr_args): New function.
1300 (validate_attr_arg): Same.
1301 (handle_section_attribute): Call it. Introduce a local variable.
1302 (handle_alloc_size_attribute): Same.
1303 (handle_alloc_align_attribute): Same.
1304
50a71cd0
GA
13052020-09-14 Jakub Jelinek <jakub@redhat.com>
1306
1307 * c-attribs.c (handle_optimize_attribute): Adjust
1308 cl_optimization_save, cl_optimization_restore and
1309 build_optimization_node callers.
1310 * c-pragma.c (handle_pragma_optimize): Adjust
1311 build_optimization_node caller.
1312 (handle_pragma_push_options): Adjust
1313 build_optimization_node and build_target_option_node callers.
1314 (handle_pragma_pop_options, handle_pragma_reset_options):
1315 Adjust cl_optimization_restore callers.
1316
8f7ea26a
GA
13172020-08-28 Martin Sebor <msebor@redhat.com>
1318
1319 * c.opt (Wstringop-overread): New option.
1320
a6493809
GA
13212020-08-11 Jakub Jelinek <jakub@redhat.com>
1322
1323 PR c/96545
1324 * c-common.c (get_atomic_generic_size): Require that first argument's
1325 type points to a complete type and use tree_fits_uhwi_p instead of
1326 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1327
48cc2e46
GA
13282020-07-31 Martin Sebor <msebor@redhat.com>
1329
1330 PR c++/96003
1331 * c-common.c (check_function_arguments_recurse): Return early when
1332 no-warning bit is set.
1333
13342020-07-31 Richard Biener <rguenther@suse.de>
1335
1336 PR debug/96383
1337 * c-common.h (c_common_finalize_early_debug): Declare.
1338 * c-common.c: Include debug.h.
1339 (c_common_finalize_early_debug): finalize_early_debug langhook
1340 implementation generating debug for extern declarations.
1341
e71dab87
GA
13422020-07-27 Nathan Sidwell <nathan@acm.org>
1343
1344 * c-common.c (try_to_locate_new_include_insertion_point): Use
1345 strcmp, not pointer equality.
1346
ae2e0bc1
GA
13472020-07-25 Martin Sebor <msebor@redhat.com>
1348
1349 PR c++/96310
1350 * c-common.c (check_nonnull_arg): Print note only when warning was
1351 issued.
1352
3ea9abca
GA
13532020-07-22 Tobias Burnus <tobias@codesourcery.com>
1354
1355 * c-omp.c (c_finish_omp_critical): Check for no name but
1356 nonzero hint provided.
1357
0933f508
GA
13582020-07-20 Jason Merrill <jason@redhat.com>
1359
1360 * c-cppbuiltin.c (c_cpp_builtins): Update
1361 __cpp_nontype_template_args for C++20.
1362
13632020-07-20 Martin Sebor <msebor@redhat.com>
1364
1365 PR c/96249
1366 * c.opt: Remove stray text.
1367
8ca07a30
GA
13682020-07-14 Lewis Hyatt <lhyatt@gmail.com>
1369
1370 PR other/86904
1371 * c-indentation.c (should_warn_for_misleading_indentation): Get
1372 global tabstop from the new source.
1373 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
1374 is now a common option.
1375 * c.opt: Likewise.
1376
a82c4c4c 13772020-07-08 Eric Botcazou <ebotcazou@adacore.com>
50873cc5
GA
1378
1379 * c.opt (Wscalar-storage-order): Add explicit variable.
1380
f60ee68d
GA
13812020-07-07 Nathan Sidwell <nathan@acm.org>
1382
1383 * c-opts.c (c_common_post_options): Add 'injecting' arg to
1384 cpp_read_main_file.
1385 (c_finish_options): Add linemap_line_start calls for builtin and cmd
1386 maps. Force token position to line_table's highest line.
1387 * c-ppoutput.c (print_line_1): Refactor, print line zero.
1388 (cb_define): Always increment source line.
1389
4077d74c
GA
13902020-07-06 Martin Sebor <msebor@redhat.com>
1391
1392 PR c++/95984
1393 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
1394 to stub lambda objects with null this pointer.
1395 (check_nonnull_arg): Handle C++ nullptr.
1396
b5f24739
GA
13972020-07-02 Jason Merrill <jason@redhat.com>
1398 Jakub Jelinek <jakub@redhat.com>
1399
1400 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
1401
46fbb6c6
GA
14022020-06-30 Jakub Jelinek <jakub@redhat.com>
1403
1404 PR c++/95963
1405 * c-common.c (check_function_arguments_recurse): Don't crash on
1406 calls to internal functions.
1407
69273534
GA
14082020-06-28 Martin Sebor <msebor@redhat.com>
1409
1410 PR c++/86568
1411 * c-common.c (struct nonnull_arg_ctx): Add members.
1412 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
1413 C++ member functions specially. Consider the this pointer implicitly
1414 nonnull.
1415 (check_nonnull_arg): Use location of argument when available.
1416 (check_function_arguments): Use nonnull_arg_ctx as argument.
1417
9a33c41f
GA
14182020-06-27 Jakub Jelinek <jakub@redhat.com>
1419
1420 PR middle-end/95903
1421 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
1422 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
1423 smaller precision intop operands separately.
1424
c9c05f73
GA
14252020-06-26 Marek Polacek <polacek@redhat.com>
1426
1427 * c-opts.c (c_common_init_options): Default to gnu++17.
1428
aff95ee7
GA
14292020-06-17 Jonathan Wakely <jwakely@redhat.com>
1430
bd0a89dc 1431 PR c/95378
aff95ee7
GA
1432 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
1433 pointer arguments.
1434
56638b9b
GA
14352020-06-16 Jakub Jelinek <jakub@redhat.com>
1436
1437 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
1438 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
1439 idx members.
1440 (c_omp_is_loop_iterator): New function.
1441 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
1442 if outer loop iterator is present. Perform duplicate checking through
1443 hash_set in the function rather than expecting caller to do that.
1444 Pass NULL instead of d->ppset to walk_tree_1.
1445 (c_omp_check_nonrect_loop_iv): New function.
1446 (c_omp_check_loop_iv): Use it. Fill in new members, allow
1447 non-rectangular loop forms, diagnose multiple associated loops with
1448 the same iterator. Pass NULL instead of &pset to walk_tree_1.
1449 (c_omp_check_loop_iv_exprs): Likewise.
1450
ec6ffbb9
GA
14512020-06-10 Martin Liska <mliska@suse.cz>
1452
1453 PR tree-optimization/92860
1454 * c-attribs.c (handle_optimize_attribute):
1455 Save global options and compare it after parsing of function
1456 attribute.
1457 * c-pragma.c (opt_stack::saved_global_options): New field.
1458 (handle_pragma_push_options): Save global_options.
1459 (handle_pragma_pop_options): Compare them after pop.
1460
b952c2cf
GA
14612020-06-09 Jakub Jelinek <jakub@redhat.com>
1462
1463 PR c/95580
1464 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
1465 case when MEM_REF's first argument has type pointer to incomplete type.
1466
1a59f3db
GA
14672020-06-05 Jason Merrill <jason@redhat.com>
1468
1469 * c-pretty-print.c (pp_c_additive_expression): Handle negative
1470 operand to POINTER_PLUS_EXPR.
1471
3add3425
GA
14722020-06-04 Martin Sebor <msebor@redhat.com>
1473
1474 PR middle-end/10138
1475 PR middle-end/95136
1476 * c-attribs.c (append_access_attrs): Handle attr_access::none.
1477 (handle_access_attribute): Same.
1478
9a5b7438
GA
14792020-06-03 Mark Wielaard <mark@klomp.org>
1480
1481 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
1482 New function.
1483 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
1484 New function declaration.
1485
14862020-06-03 Mark Wielaard <mark@klomp.org>
1487
1488 * known-headers.cc (get_string_macro_hint): New function.
1489 (get_stdlib_header_for_name): Use get_string_macro_hint.
1490 (get_c_stdlib_header_for_string_macro_name): New function.
1491 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
1492 New function declaration.
1493
14942020-06-03 Tobias Burnus <tobias@codesourcery.com>
1495
1496 * c-common.h (c_omp_predetermined_mapping): Declare.
1497 * c-omp.c (c_omp_predetermined_mapping): New.
1498
af114c38
MW
14992020-05-22 Mark Wielaard <mark@klomp.org>
1500
1501 * known-headers.cc (get_stdlib_header_for_name): Add a new
1502 stdlib_hint array for stdbool and stdint.
1503
45c50b6a
MW
15042020-05-22 Mark Wielaard <mark@klomp.org>
1505
1506 * known-headers.cc (get_stdlib_header_for_name): Return
1507 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
1508 flag_isoc99.
1509
c22027a0
NS
15102020-05-20 Nathan Sidwell <nathan@acm.org>
1511
38a4db21
NS
1512 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
1513
c22027a0
NS
1514 * c-common.c (try_to_locate_new_include_insertion_point): Use
1515 strcmp to compare filenames.
1516 * c-lex.c (init_c_lex): Move declaration to initialization.
1517 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
1518 deferred count loop.
1519
29f0e90d
JM
15202020-05-15 Jason Merrill <jason@redhat.com>
1521
1522 * c-opts.c (set_std_cxx20): Set flag_coroutines.
1523
b04445d4
JM
15242020-05-13 Jason Merrill <jason@redhat.com>
1525
1526 * c.opt (std=c++20): Make c++2a the alias.
1527 (std=gnu++20): Likewise.
1528 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
1529 * c-opts.c: Adjust.
1530 * c-cppbuiltin.c: Adjust.
1531 * c-ubsan.c: Adjust.
1532 * c-warn.c: Adjust.
1533
11dd3be5
EB
15342020-05-12 Eric Botcazou <ebotcazou@adacore.com>
1535
1536 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
1537
b224c376
NS
15382020-05-08 Nathan Sidwell <nathan@acm.org>
1539
1540 Reimplement directives only processing.
1541 * c-ppoutput.c (token_streamer): Ne.
1542 (directives_only_cb): New. Swallow ...
1543 (print_lines_directives_only): ... this.
1544 (scan_translation_unit_directives_only): Reimplment using the
1545 published interface.
1546
f1d94677
MP
15472020-05-07 Marek Polacek <polacek@redhat.com>
1548
1549 * c-format.c (badwords): Add "nonstatic".
1550
9b95bb52
JJ
1551202-05-07 Jakub Jelinek <jakub@redhat.com>
1552
1553 PR c/94968
1554 * c-common.c (speculation_safe_value_resolve_params): Return false if
1555 error_operand_p (val2).
1556 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
1557 Remove extraneous semicolon.
1558
530b4409 15592020-05-06 qing zhao <qing.zhao@oracle.com>
1560
1561 PR c/94230
1562 * c-indentation.c (get_visual_column): Add a hint to use the new
1563 -flarge-source-files option.
1564
b776bdca
SSF
15652020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1566
1567 * c-attribs.c (handle_vector_size_attribute): Add attribute
1568 nonnull for argument args in order to silence warning of
1569 uninitialized variable usage. Since this is local to the
1570 compilation unit and thus cannot be checked at call sides by the
1571 compiler, added an assert statement in order to verify this.
1572
6607bdd9
L
15732020-05-01 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 PR target/93492
1576 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
1577 value to USHRT_MAX (65535).
1578
691eeb65
JJ
15792020-04-29 Jakub Jelinek <jakub@redhat.com>
1580
1581 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
1582
26d76be7
JJ
15832020-04-27 Jakub Jelinek <jakub@redhat.com>
1584
1585 PR c/94755
1586 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
1587 fncode == BUILT_IN_NONE before initialization of first_param.
1588
7291b2ed
MP
15892020-04-23 Marek Polacek <polacek@redhat.com>
1590
1591 PR c++/94733
1592 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
1593 TREE_PURPOSE.
1594
58a29af8
PP
15952020-04-14 Patrick Palka <ppalka@redhat.com>
1596
1597 PR c++/85278
1598 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
1599 ampersand if it's an rvalue reference type.
1600
09f04139
MS
16012020-04-13 Martin Sebor <msebor@redhat.com>
1602
1603 PR c/92326
1604 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
1605 printing array bound for flexible array members.
1606
ee26baf4
IS
16072020-04-13 Iain Sandoe <iain@sandoe.co.uk>
1608
1609 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
1610 define, per n4861.
1611
75efe9cb
RB
16122020-04-02 Richard Biener <rguenther@suse.de>
1613
1614 PR c/94392
1615 * c-opts.c (c_common_post_options): Enable -ffinite-loops
1616 for -O2 and C++11 or newer.
1617
75defde9
PP
16182020-03-28 Patrick Palka <ppalka@redhat.com>
1619
1620 * c.opt: Add -fconcepts-diagnostics-depth.
1621
52f24a9e
MS
16222020-03-27 Martin Sebor <msebor@redhat.com>
1623
1624 PR c++/94346
1625 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
1626 to decl_attributes. Make handling of different kinds of entities
1627 more robust.
1628
ccacf77b
MS
16292020-03-27 Martin Sebor <msebor@redhat.com>
1630
1631 PR c++/94098
1632 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
1633 here.
1634
ca6c7225
JJ
16352020-03-23 Jakub Jelinek <jakub@redhat.com>
1636
1637 PR c++/91993
1638 * c-warn.c (warnings_for_convert_and_check): For expr and/or
1639 result being COMPOUND_EXPRs, skip to ultimate rhs.
1640
1aa22b19
RS
16412020-03-20 Richard Sandiford <richard.sandiford@arm.com>
1642
1643 PR middle-end/94072
1644 * c-common.c (c_common_type_for_mode): Before using a registered
1645 built-in type, check that the vectorness of the type matches
1646 the vectorness of the mode.
1647
700d4cb0
JJ
16482020-03-17 Jakub Jelinek <jakub@redhat.com>
1649
1650 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
1651 issue in a diagnostic message.
1652
b408e010
LH
16532020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1654
1655 * c.opt: Avoid redundancy in the help text.
1656
e78e50d5
MP
16572020-03-02 Marek Polacek <polacek@redhat.com>
1658
1659 PR c++/93958 - add missing -std=gnu++20.
1660 * c.opt: Add -std=gnu++20.
1661
649e1741
MS
16622020-03-01 Martin Sebor <msebor@redhat.com>
1663
1664 PR c++/92721
1665 * c-attribs.c (append_access_attrs): Correctly handle attribute.
1666 (handle_access_attribute): Same.
1667
7b60f3ba
JJ
16682020-02-25 Jakub Jelinek <jakub@redhat.com>
1669
1670 PR c/93858
1671 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
1672 "did you mean" hint in diagnostics.
1673
fb260504
JM
16742020-02-15 Jason Merrill <jason@redhat.com>
1675
1676 * c.opt: Add -std=c++20.
1677
1d757b09
EB
16782020-02-14 Eric Botcazou <ebotcazou@adacore.com>
1679
1680 * c-ada-spec.c: Include bitmap.h.
1681 (dump_ada_double_name): Rename into...
1682 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
1683 (dump_ada_array_type): Adjust to above renaming. Robustify.
1684 (dump_nested_types_1): New function copied from... Add dumped_types
1685 parameter and pass it down to dump_nested_type.
1686 (dump_nested_types): ...this. Remove parent parameter. Just call
1687 dump_nested_types_1 on an automatic bitmap.
1688 (dump_nested_type): Add dumped_types parameter.
1689 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
1690 Adjust recursive calls and adjust to above renaming.
1691 (dump_ada_declaration): Adjust call to dump_nested_types.
1692 Tidy up and adjust to above renaming.
1693 (dump_ada_specs): Initialize and release bitmap obstack.
1694
0cc575e4
MS
16952020-02-10 Martin Sebor <msebor@redhat.com>
1696
1697 PR c/93640
1698 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
1699
a59aa302
JJ
17002020-02-10 Jakub Jelinek <jakub@redhat.com>
1701
1702 PR other/93641
1703 * c-format.c (check_plain): Fix up last argument of strncasecmp.
1704 Remove useless extra test.
1705
e464fc90
TB
17062020-02-03 Julian Brown <julian@codesourcery.com>
1707 Tobias Burnus <tobias@codesourcery.com>
1708
1709 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
1710
e3b6c052
JM
17112020-01-29 Jason Merrill <jason@redhat.com>
1712
1713 PR c++/89357
1714 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
1715
6d00f052
JM
17162020-01-23 Jason Merrill <jason@redhat.com>
1717
1718 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
1719
8a990ffa
MS
17202020-01-23 Martin Sebor <msebor@redhat.com>
1721
1722 PR c/84919
1723 * c-common.c (check_function_arguments): Avoid overlap checking
1724 of sprintf functions.
1725
55b7df8b
JM
17262020-01-22 Jason Merrill <jason@redhat.com>
1727
1728 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
1729 PR c++/40752
1730 * c-warn.c (conversion_warning): Check operands only after checking
1731 the whole expression. Don't check second operand of + for sign.
1732
c77074d0
JM
17332020-01-21 Jason Merrill <jason@redhat.com>
1734 Manuel López-Ibáñez <manu@gcc.gnu.org>
1735
1736 PR c++/40752 - useless -Wconversion with short +=.
1737 * c.opt (-Warith-conversion): New.
1738 * c-warn.c (conversion_warning): Recurse for operands of
1739 operators. Only warn about the whole expression with
1740 -Warith-conversion.
1741
731dbfc3
JM
17422020-01-21 Jason Merrill <jason@redhat.com>
1743
1744 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
1745 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
1746
ad1a3914
NS
17472020-01-20 Nathan Sidwell <nathan@acm.org>
1748
1749 PR preprocessor/80005
1750 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
1751
49789fd0
IS
17522020-01-18 Iain Sandoe <iain@sandoe.co.uk>
1753
1754 * c-common.c (co_await, co_yield, co_return): New.
1755 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
1756 RID_CO_RETURN): New enumeration values.
1757 (D_CXX_COROUTINES): Bit to identify coroutines are active.
1758 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
1759 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
1760 * c.opt (fcoroutines): New command-line switch.
1761
4bc1899b
DM
17622020-01-10 David Malcolm <dmalcolm@redhat.com>
1763
1764 * c-format.c (local_event_ptr_node): New.
1765 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
1766 (init_dynamic_diag_info): Initialize local_event_ptr_node.
1767 * c-format.h (T_EVENT_PTR): New define.
1768
f25e33fa
MS
17692020-01-10 Martin Sebor <msebor@redhat.com>
1770
1771 PR c/93132
1772 * c-attribs.c (append_access_attrs): Validate against the translated
1773 access string rather than the human-readable representation.
1774
8d9254fc
JJ
17752020-01-01 Jakub Jelinek <jakub@redhat.com>
1776
1777 Update copyright years.
1778
39292e25
EB
17792019-12-20 Eric Botcazou <ebotcazou@adacore.com>
1780
1781 * c-ada-spec.h (decl_sloc): Delete.
1782 * c-ada-spec.c (decl_sloc): Make static.
1783
519d7496
JB
17842019-12-19 Julian Brown <julian@codesourcery.com>
1785
1786 * c-common.h (c_omp_map_clause_name): Add prototype.
1787 * c-omp.c (c_omp_map_clause_name): New function.
1788 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
1789 PRAGMA_OACC_CLAUSE_DETACH.
1790
a6163563
JB
17912019-12-19 Julian Brown <julian@codesourcery.com>
1792 Maciej W. Rozycki <macro@codesourcery.com>
1793 Tobias Burnus <tobias@codesourcery.com>
1794 Thomas Schwinge <thomas@codesourcery.com>
1795
1796 * c-pragma.h (pragma_omp_clause): Add
1797 PRAGMA_OACC_CLAUSE_NO_CREATE.
1798
e8f1ade2
MS
17992019-12-17 Martin Sebor <msebor@redhat.com>
1800
1801 PR c++/61339
1802 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
1803
368877a1
DM
18042019-12-11 David Malcolm <dmalcolm@redhat.com>
1805
1806 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
1807 implementation.
1808 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
1809
d68f5d45
DM
18102019-12-09 David Malcolm <dmalcolm@redhat.com>
1811
1812 * c-format.c (range_label_for_format_type_mismatch::get_text):
1813 Replace label_text ctor called with true with label_text::take.
1814
d3e28653
DM
18152019-12-09 David Malcolm <dmalcolm@redhat.com>
1816
1817 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
1818 initial newline from expected outputs.
1819 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
1820 call to diagnostic_show_locus.
1821
abd6d8cc
JJ
18222019-12-06 Jakub Jelinek <jakub@redhat.com>
1823
1824 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
1825 now.
1826
7906797e
MP
18272019-12-05 Marek Polacek <polacek@redhat.com>
1828 Jakub Jelinek <jakub@redhat.com>
1829
1830 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
1831 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
1832
5c04da88
MP
18332019-12-05 Marek Polacek <polacek@redhat.com>
1834
1835 PR c++/92271 - make __is_same alias for __is_same_as.
1836 * c-common.c: Add __is_same, an alias for __is_same_as.
1837
43aae289
MP
18382019-12-03 Marek Polacek <polacek@redhat.com>
1839
1840 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
1841 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1842 __cpp_aggregate_paren_init=201902 for -std=c++2a.
1843
d7ddfbcb
JH
18442019-11-30 Jan Hubicka <hubicka@ucw.cz>
1845
1846 * c-attribs.c (handle_symver_attribute): New function
1847 (c_common_attributes): Add symver.
1848
65ef05d0
RS
18492019-11-30 Richard Sandiford <richard.sandiford@arm.com>
1850
1851 * c-common.c (pointer_int_sum): Use verify_type_context to check
1852 whether the target allows pointer arithmetic for the types involved.
1853 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
1854 to check whether the target allows sizeof and alignof operations
1855 for the types involved.
1856
1a291106
JM
18572019-11-27 Jason Merrill <jason@redhat.com>
1858
1859 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1860
05d6cb1a
JJ
18612019-11-26 Jakub Jelinek <jakub@redhat.com>
1862
1863 PR c++/61414
1864 * c-attribs.c (handle_mode_attribute): Add mode attribute to
1865 ENUMERAL_TYPEs.
1866
5b8d9367
JM
18672019-11-25 Joseph Myers <joseph@codesourcery.com>
1868
1869 PR c/91985
1870 * c-common.c (c_common_type_for_mode): Handle decimal
1871 floating-point types being NULL_TREE.
1872 * c-format.c (get_format_for_type_1): Handle specified types being
1873 NULL_TREE.
1874 * c-lex.c (interpret_float): Give an error for decimal
1875 floating-point constants when decimal floating-point not
1876 supported.
1877
1fbf51cb
JJ
18782019-11-23 Jakub Jelinek <jakub@redhat.com>
1879
1880 PR middle-end/83859
1881 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
1882 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
1883 group warning with inform together.
1884 (handle_access_attribute): Formatting fix.
1885
761df906
JJ
18862019-11-22 Jakub Jelinek <jakub@redhat.com>
1887
bdaf8be1
JJ
1888 PR c/90677
1889 * c-common.h (identifier_global_tag): Declare.
1890 * c-format.c (get_pointer_to_named_type): Renamed to ...
1891 (get_named_type): ... this. Use identifier_global_tag instead of
1892 identifier_global_value, handle the return value being a TYPE_P.
1893 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
1894 to call get_named_type instead. Formatting fixes.
1895
c2ecce6d 1896 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
1897 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
1898 and __cpp_generic_lambdas for -std=c++2a. Define
1899 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
1900 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
1901 __cpp_concepts for -std=c++2a.
1902
54aa6b58
MS
19032019-11-22 Martin Sebor <msebor@redhat.com>
1904
1905 PR middle-end/83859
1906 * c-attribs.c (handle_access_attribute): New function.
1907 (c_common_attribute_table): Add new attribute.
1908 (get_argument_type): New function.
1909 (append_access_attrs): New function.
1910 (get_nonnull_operand): Rename...
1911 (get_attribute_operand): ...to this.
1912 * c-common.c (get_nonnull_operand): Rename...
1913 (get_attribute_operand): ...to this.
1914
6c80b1b5
JM
19152019-11-21 Joseph Myers <joseph@codesourcery.com>
1916
1917 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
1918 of warning.
1919
192961ff
JM
19202019-11-19 Joseph Myers <joseph@codesourcery.com>
1921
1922 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
1923 warning for standard attributes mixed with fallthrough attributes.
1924
f8aea5e3
JM
19252019-11-15 Joseph Myers <joseph@codesourcery.com>
1926
1927 * c-attribs.c (handle_fallthrough_attribute): Remove static.
1928 * c-common.h (handle_fallthrough_attribute): Declare.
1929
2cc94aa8
JM
19302019-11-15 Joseph Myers <joseph@codesourcery.com>
1931
1932 * c-attribs.c (handle_deprecated_attribute): Remove static.
1933 * c-common.h (handle_deprecated_attribute): Declare.
1934
7c5890cc
JM
19352019-11-14 Joseph Myers <joseph@codesourcery.com>
1936
1937 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
1938 char for C.
1939
b2417b59
JJ
19402019-11-14 Jakub Jelinek <jakub@redhat.com>
1941
d0ec7c93
JJ
1942 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
1943 valid vendors.
1944
b2417b59
JJ
1945 * c-omp.c (c_omp_check_context_selector): Handle name lists
1946 containing string literals. Don't diagnose atomic_default_mem_order
1947 with multiple props.
1948
00be2a5f
JM
19492019-11-13 Joseph Myers <joseph@codesourcery.com>
1950
1951 * c-cppbuiltin.c (builtin_define_float_constants): Also define
1952 NORM_MAX constants. Update call to get_max_float.
1953 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
1954 constants.
1955
2dbad62d
EB
19562019-11-13 Eric Botcazou <ebotcazou@adacore.com>
1957
1958 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
1959 (dump_forward_type): Do not generate a declaration for function types.
1960 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
1961 of the component type if it is declared in another file.
1962
6ed76044
ML
19632019-11-12 Martin Liska <mliska@suse.cz>
1964
1965 * c-opts.c (c_common_post_options):
1966 Use SET_OPTION_IF_UNSET.
1967
62aee289
MR
19682019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1969 Frederik Harwath <frederik@codesourcery.com>
1970
1971 gcc/c-family/
1972 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
1973 constant.
1974 * c-pragma.c (oacc_pragmas): Add "serial" entry.
1975
f486280c
RS
19762019-11-08 Richard Sandiford <richard.sandiford@arm.com>
1977
1978 * c-common.h (gnu_vector_type_p): New function.
1979 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
1980 vectors to satisfy gnu_vector_type_p.
1981 (c_build_vec_convert): Likewise __builtin_convertvector.
1982 (convert_vector_to_array_for_subscript): Likewise when applying
1983 implicit vector to array conversion.
1984 (scalar_to_vector): Likewise when converting vector-scalar
1985 operations to vector-vector operations.
1986
017c6491
JM
19872019-11-08 Joseph Myers <joseph@codesourcery.com>
1988
1989 * c.opt (Wold-style-definition): Initialize to -1.
1990 * c-opts.c (c_common_post_options): Set warn_old_style_definition
1991 to flag_isoc2x if not set explicitly.
1992
c01bd174
JM
19932019-11-07 Joseph Myers <joseph@codesourcery.com>
1994
1995 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
1996
0df65305
JM
19972019-11-05 Jason Merrill <jason@redhat.com>
1998
1999 * c-opts.c (c_common_post_options): -fconcepts-ts implies
2000 -fconcepts.
2001
e0c866dd
KK
20022019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
2003
2004 * c-opts.c (c_common_post_options): Update
2005 latest_abi_version.
2006
f968ef9b
JJ
20072019-11-02 Jakub Jelinek <jakub@redhat.com>
2008
d0c464d2
JJ
2009 * c-common.h (c_omp_get_context_selector): Remove.
2010 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2011 and renamed to omp_get_context_selector.
2012
917dd789
JJ
2013 * c-omp.c (c_omp_mark_declare_variant): Use
2014 omp_context_selector_set_compare.
2015
f968ef9b
JJ
2016 PR c++/88335 - Implement P1073R3: Immediate functions
2017 * c-common.h (enum rid): Add RID_CONSTEVAL.
2018 * c-common.c (c_common_reswords): Add consteval.
2019
5f6705b7
JJ
20202019-11-01 Martin Sebor <msebor@redhat.com>
2021
2022 PR middle-end/91679
2023 PR middle-end/91647
2024 PR middle-end/91463
2025 PR middle-end/92312
2026 * c-pretty-print.c (direct_abstract_declarator): Print
2027 bound in zero-length arrays.
2028 * c.opt (-Wzero-length-bounds): New option.
2029
43f1814c
NS
20302019-10-30 Nathan Sidwell <nathan@acm.org>
2031
2032 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2033 macros.
2034
ad1539d5
MS
20352019-10-28 Martin Sebor <msebor@redhat.com>
2036
2037 PR c/66970
2038 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2039 even when only preprocessing.
2040 * c-common.h (names_builtin_p): Declare new function.
2041 * c-lex.c (init_c_lex): Set has_builtin.
2042 (c_common_has_builtin): Define a new function.
2043 * c-ppoutput.c (init_pp_output): Set has_builtin.
2044
135df52c
JJ
20452019-10-24 Jakub Jelinek <jakub@redhat.com>
2046
2047 * c-common.h (c_omp_context_selector_matches): Remove.
2048 * c-omp.c (c_omp_context_selector_matches): Remove.
2049 * c-attribs.c (c_common_attribute_table): Add
2050 "omp declare target {host,nohost,block}" attributes.
2051
8ad0c477
JM
20522019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
2053
2054 * c-lex.c (c_common_has_attribute): Update nodiscard value.
2055
56898e43
RS
20562019-10-14 Richard Sandiford <richard.sandiford@arm.com>
2057
2058 * c-common.h (user_facing_original_type_p): Declare.
2059 * c-common.c: Include c-spellcheck.h.
2060 (user_facing_original_type_p): New function.
2061
20de9568
JJ
20622019-10-12 Jakub Jelinek <jakub@redhat.com>
2063
2064 * c-common.h (c_omp_mark_declare_variant,
2065 c_omp_context_selector_matches): Declare.
2066 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2067 and hsa-common.h.
2068 (c_omp_get_context_selector): Support second argument NULL.
2069 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2070 functions.
2071 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2072 attribute, add "omp declare variant base" and
2073 "omp declare variant variant" attributes.
2074
175a85b2
JM
20752019-10-11 Joseph Myers <joseph@codesourcery.com>
2076
2077 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2078 CppReason(CPP_W_C11_C2X_COMPAT).
2079
fe2bc27c
JM
20802019-10-11 Joseph Myers <joseph@codesourcery.com>
2081
2082 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2083 _Decimal64 and _Decimal128.
2084
27dfdc0f
JM
20852019-10-10 Joseph Myers <joseph@codesourcery.com>
2086
2087 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2088 types if DFP not supported.
2089
94e7f906
JJ
20902019-10-10 Jakub Jelinek <jakub@redhat.com>
2091
2092 * c-common.h (c_omp_check_context_selector,
2093 c_omp_get_context_selector): Declare.
2094 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2095 in diagnostic message.
2096 (c_omp_check_context_selector, c_omp_get_context_selector): New
2097 functions.
2098 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2099 attribute.
2100 (handle_omp_declare_variant_attribute): New function.
2101
a7160771
MS
21022019-10-09 Martin Sebor <msebor@redhat.com>
2103
2104 PR tree-optimization/90879
2105 * c.opt (-Wstring-compare): New option.
2106
cb57504a
JM
21072019-10-08 Andrew Sutton <asutton@lock3software.com>
2108 Jason Merrill <jason@redhat.com>
2109
2110 Update the concepts implementation to conform to the C++20
2111 specification, improve compile times, and generally clean up
2112 the implementation.
2113
2114 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2115 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2116 * c.opt: Add -Wconcepts-ts.
2117 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2118 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2119 (set_std_cxx2a): Enable concepts by default.
2120
fbb2a6dc
JM
21212019-10-08 Joseph Myers <joseph@codesourcery.com>
2122
2123 * c-opts.c (c_common_post_options): Set
2124 -fno-fp-int-builtin-inexact for C2X.
2125
8e007055
JJ
21262019-10-05 Jakub Jelinek <jakub@redhat.com>
2127
2128 PR c++/91369 - Implement P0784R7: constexpr new
2129 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2130 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2131
843f104d
JM
21322019-10-04 Joseph Myers <joseph@codesourcery.com>
2133
2134 PR c/82752
2135 * c-format.c (C_STD_VER): Handle C2x.
2136 (C_STD_NAME): Likewise.
2137 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2138 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2139 modifier allowed and 'p' flag.
2140 * c-format.h (enum format_std_version): Add STD_C2X.
2141 (struct format_char_info): Mention 'p' in comment on flags2.
2142
e9c9a142
DM
21432019-10-01 David Malcolm <dmalcolm@redhat.com>
2144
2145 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2146 calling diagnostic_show_locus, rather than destroying it afterwards.
2147
7552c36a
JJ
21482019-10-01 Jakub Jelinek <jakub@redhat.com>
2149
2150 PR c++/91925
2151 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2152 with NULL DECL_FIELD_OFFSET.
2153
8209db25
RS
21542019-10-01 Richard Sandiford <richard.sandiford@arm.com>
2155
2156 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2157 has a type name, use it in preference to the __vector syntax.
2158
9343bf99
RS
21592019-09-30 Richard Sandiford <richard.sandiford@arm.com>
2160
2161 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2162 two spaces between a comma and "...".
2163
59bc434a
JJ
21642019-09-27 Jakub Jelinek <jakub@redhat.com>
2165
2166 PR c++/88203
2167 * c-common.h (c_omp_predefined_variable): Declare.
2168 * c-omp.c (c_omp_predefined_variable): New function.
2169 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2170 for predefined variables.
2171
c6447c20
RS
21722019-09-27 Richard Sandiford <richard.sandiford@arm.com>
2173
2174 * c-common.h (build_function_call_vec): Take the original
2175 function decl as an optional final parameter.
2176 (check_builtin_function_arguments): Take the original function decl.
2177 * c-common.c (check_builtin_function_arguments): Likewise.
2178 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2179 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2180
c4438114
JM
21812019-09-15 Jason Merrill <jason@redhat.com>
2182
2183 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
2184 fold_for_warn in "|| mask" warning.
2185
68a57628
ML
21862019-09-10 Martin Liska <mliska@suse.cz>
2187
2188 * c.opt: Use newly added WarnRemoved.
2189
f48ef52e
ML
21902019-09-09 Martin Liska <mliska@suse.cz>
2191
2192 * c.opt: Update comment of removed
2193 options that are preserved only for backward
2194 compatibility.
2195
67f6e649
ML
21962019-09-06 Martin Liska <mliska@suse.cz>
2197
2198 PR c++/91125
2199 * c-common.c: Remove definition of flag_use_repository.
2200 * c-common.h: Likewise.
2201 * c-opts.c (c_common_handle_option):
2202 Do not handle OPT_frepo option.
2203 * c.opt: Mark the option with Deprecated.
2204
db9d2274
MP
22052019-09-04 Marek Polacek <polacek@redhat.com>
2206
2207 * c.opt (fdeduce-init-list): Ignored.
2208
68e2c199
PK
22092019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2210
2211 PR c/78736
2212 * c.opt (Wenum-conversion): New option.
2213
7a4418a5
JL
22142019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2215
2216 * c-attribs.c (handle_section_attribute): Call the
2217 handle_generic_attribute target hook after performing target
2218 independent processing.
2219 (handle_noinit_attribute): Likewise.
2220
5f76ab15
ILT
22212019-09-03 Ian Lance Taylor <iant@golang.org>
2222
2223 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2224 when using -fgo-dump-spec.
2225
ae0d3f6a
ML
22262019-09-02 Martin Liska <mliska@suse.cz>
2227
2228 PR c++/91155
2229 * c-common.c (fname_as_string): Use cxx_printable_name for
2230 __PRETTY_FUNCTION__ same as was used before r265711.
2231
8a902edb
MP
22322019-08-28 Marek Polacek <polacek@redhat.com>
2233
2234 Implement P1152R4: Deprecating some uses of volatile.
2235 PR c++/91361
2236 * c-opts.c (c_common_post_options): Enable -Wvolatile by
2237 default for C++2a, unless -Wno-deprecated.
2238 * c.opt (Wvolatile): New warning.
2239
4742dbe7
MP
22402019-08-28 Marek Polacek <polacek@redhat.com>
2241
2242 PR c++/91360 - Implement C++20 P1143R2: constinit.
2243 * c-common.c (c_common_reswords): Add constinit and __constinit.
2244 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2245 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2246 RID_LAST_CXX20.
2247 (D_CXX20): Define.
2248 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2249 * c-format.c (cxx_keywords): Add "constinit".
2250 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2251
6a074892
JJ
22522019-08-27 Jakub Jelinek <jakub@redhat.com>
2253
2254 PR c++/91415
2255 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2256 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2257 like COMPOUND_EXPR rather than normal expression.
2258
22f8849d
IS
22592019-08-23 Iain Sandoe <iain@sandoe.co.uk>
2260
2261 PR pch/61250
2262 * c-lex.c (c_lex_with_flags): Don't call
2263 c_common_no_more_pch () from here.
2264
df375b03
JJ
22652019-08-23 Jakub Jelinek <jakub@redhat.com>
2266
2267 PR middle-end/91283
2268 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2269 instead of flag_excess_precision_cmdline.
2270 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2271 * c-opts.c (c_common_post_options): Likewise.
2272
14b7950f
MS
22732019-08-22 Martin Sebor <msebor@redhat.com>
2274
2275 PR middle-end/91490
2276 * c-common.c (braced_list_to_string): Add argument and overload.
2277 Handle flexible length arrays and unions.
2278
8bb2ee59
EB
22792019-08-21 Eric Botcazou <ebotcazou@adacore.com>
2280
2281 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2282 function declarations where arguments are missing. Rename variables.
2283
21c1e205
RB
22842019-08-15 Richard Biener <rguenther@suse.de>
2285
2286 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2287 enabled, define __SIZETYPE__.
2288
f0033821
CL
22892019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
2290
2291 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2292 exclusion with "section" attribute.
2293 (attr_noinit_exclusions): New table.
2294 (handle_noinit_attribute): New function.
2295
4d732405
RS
22962019-08-13 Richard Sandiford <richard.sandiford@arm.com>
2297
2298 PR middle-end/91421
2299 * c-common.c (resolve_overloaded_builtin): Use
2300 copy_decl_built_in_function.
2301
51ad8481
MS
23022019-08-13 Martin Sebor <msebor@redhat.com>
2303
2304 PR c/80619
2305 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2306 (asm_fprintf_length_spec): Same.
2307 * c-format.h (format_lengths): Add FMT_LEN_w.
2308
77eb117f
JJ
23092019-08-10 Jakub Jelinek <jakub@redhat.com>
2310
2311 * c-pragma.h (enum pragma_omp_clause): Add
2312 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2313
398e3feb
JJ
23142019-08-07 Jakub Jelinek <jakub@redhat.com>
2315
2316 * c-pragma.h (enum pragma_omp_clause): Add
2317 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2318 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2319 enumeration value.
2320
ab574db6
MP
23212019-08-05 Marek Polacek <polacek@redhat.com>
2322
2323 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2324 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2325 default for C++2a, unless -Wno-deprecated.
2326 * c.opt (Wcomma-subscript): New warning.
2327
554a530f
JJ
23282019-07-20 Jakub Jelinek <jakub@redhat.com>
2329
2330 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2331 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2332 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2333 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2334 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2335 constructs with the loop construct.
2336
1a888209
JJ
23372019-07-13 Jakub Jelinek <jakub@redhat.com>
2338
2339 PR c/91149
2340 * c-omp.c (c_omp_split_clauses): Fix a pasto in
2341 OMP_CLAUSE_REDUCTION_TASK handling.
2342
1fdd6f04
JJ
23432019-07-12 Jakub Jelinek <jakub@redhat.com>
2344
2345 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2346 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2347
99b1c316
MS
23482019-07-09 Martin Sebor <msebor@redhat.com>
2349
2350 PR c++/61339
1fdd6f04 2351 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
2352 and others to class.
2353 * c-pretty-print.h: Same.
2354
6c1dae73
MS
23552019-07-09 Martin Sebor <msebor@redhat.com>
2356
2357 PR c++/61339
2358 * c-format.c (check_argument_type): Change class-key from class to
2359 struct and vice versa to match convention and avoid -Wclass-is-pod
2360 and -Wstruct-no-pod.
2361 * c-pretty-print.h: Same.
2362
8ba6ea87
ML
23632019-07-03 Martin Liska <mliska@suse.cz>
2364
2365 * c-common.c (try_to_locate_new_include_insertion_point): Remove
2366 dead assignemts.
2367
83eb9522
JJ
23682019-07-03 Jakub Jelinek <jakub@redhat.com>
2369
2370 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
2371 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
2372 with OMP_PARALLEL.
2373
1c6ffbab
QZ
23742019-07-02 qing zhao <qing.zhao@oracle.com>
2375
2376 PR preprocessor/90581
2377 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
2378 * c.opt: Add new option -fmax-include-depth.
2379
7ffc7de5
JM
23802019-06-26 Jason Merrill <jason@redhat.com>
2381
2382 PR c++/55442 - memory-hog with highly recursive constexpr.
2383 * c.opt (fconstexpr-loop-limit): New.
2384
361af3e4
JJ
23852019-06-25 Jakub Jelinek <jakub@redhat.com>
2386
2387 PR sanitizer/90954
2388 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
2389 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
2390
ab20d992
JJ
23912019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2392
2393 * c-common.c (c_common_nodes_and_builtins): Define
2394 alternate "__intN__" name for "__intN" types.
2395
f4af4019
JH
23962019-06-24 Jan Hubicka <jh@suse.cz>
2397
2398 * c-common.c (braced_lists_to_strings): Check that
2399 type is array or integer prior checking string flag.
2400
da9e9b57
MB
24012019-06-21 Matthew Beliveau <mbelivea@redhat.com>
2402
2403 PR c++/90875 - added -Wswitch-outside-range option
2404 * c.opt (Wswitch-outside-range): Added new option.
2405 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
2406
3f3d6a6f
MP
24072019-06-21 Marek Polacek <polacek@redhat.com>
2408
2409 PR c++/90953 - ICE with -Wmissing-format-attribute.
2410 * c-common.c (check_function_arguments_recurse): Use
2411 get_attribute_name.
2412 (check_missing_format_attribute): Likewise.
2413
1bf32c11
MP
24142019-06-19 Marek Polacek <polacek@redhat.com>
2415
2416 PR c++/60364 - noreturn after first decl not diagnosed.
2417 * c-attribs.c (handle_noreturn_attribute): No longer static.
2418 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
2419 Declare.
2420 * c-format.c (check_function_format): Use get_attribute_name.
2421
a04c0734
MS
24222019-06-19 Martin Sebor <msebor@redhat.com>
2423
2424 PR translation/90156
2425 * c-format.c (function_format_info::format_type): Adjust type.
2426 (function_format_info::is_raw): New member.
2427 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
2428 (decode_format_attr): Adjust call to decode_format_type.
2429 Avoid a redundant call to convert_format_name_to_system_name.
2430 Avoid abbreviating the word "arguments" in a diagnostic.
2431 (format_warning_substr): New function.
2432 (avoid_dollar_number): Quote dollar sign in a diagnostic.
2433 (finish_dollar_format_checking): Same.
2434 (check_format_info): Same.
2435 (struct baltoks_t): New.
2436 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
2437 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
2438 functions.
2439 (check_format_info_main): Call check_plain. Use baltoks_t. Call
2440 maybe_diag_unbalanced_tokens.
2441 (handle_format_attribute): Spell out the word "arguments" in
2442 a diagnostic.
2443
d3786ebb
MB
24442019-06-11 Matthew Beliveau <mbelivea@redhat.com>
2445
2446 PR c++/90449 - add -Winaccessible-base option.
2447 * c.opt (Winaccessible-base): New option.
2448
bf38f7e9
JJ
24492019-06-10 Jakub Jelinek <jakub@redhat.com>
2450
2451 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
2452 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
2453 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
2454 combined/composite constructs where it is not allowed. Copy over
2455 OMP_CLAUSE_REDUCTION_INSCAN.
2456
0ecf545c
MS
24572019-06-05 Martin Sebor <msebor@redhat.com>
2458
2459 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
2460 (handle_alias_ifunc_attribute): Same.
2461 (handle_copy_attribute): Same.
2462 (handle_weakref_attribute): Same.
2463 (handle_nonnull_attribute): Same.
2464 * c-warn.c (warn_for_sign_compare): Same.
2465 (warn_for_restrict): Same.
2466 * c.opt: Same.
2467
36b34127
MS
24682019-06-05 Martin Sebor <msebor@redhat.com>
2469
2470 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
2471 * c.opt (-Wformat-diag): Remove a spurious period.
2472
357a352f
JJ
24732019-05-29 Jakub Jelinek <jakub@redhat.com>
2474
2475 PR c/90628
2476 * c-common.c (check_builtin_function_arguments)
2477 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
2478 as last argument.
2479
2b8235ea
EB
24802019-05-23 Eric Botcazou <ebotcazou@adacore.com>
2481
2482 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
2483
6d86ddc4
ML
24842019-05-22 Martin Liska <mliska@suse.cz>
2485
2486 PR lto/90500
2487 * c-attribs.c (handle_copy_attribute): Do not copy
2488 target_clones attribute.
2489
419ba5b9
EB
24902019-05-21 Eric Botcazou <ebotcazou@adacore.com>
2491
2492 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
2493 * c-ada-spec.c (print_assignment_operator): New function.
2494 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
2495 assignment operators declared as methods and filter out the others.
2496
e03436e7
TS
24972019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2498
2499 PR c/89433
2500 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
2501 "omp declare target".
2502
a9c697b8
MS
25032019-05-16 Martin Sebor <msebor@redhat.com>
2504
ab20d992
JJ
2505 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
2506 keywords, operators, and types in diagnostics.
2507 (handle_scalar_storage_order_attribute): Same.
2508 (handle_mode_attribute): Same.
2509 (handle_visibility_attribute): Same.
2510 (handle_assume_aligned_attribute): Same.
2511 (handle_no_split_stack_attribute): Same.
2512 * c-common.c (shorten_compare): Same.
2513 (c_common_truthvalue_conversion): Same.
2514 (cb_get_source_date_epoch): Same.
2515 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
2516 in diagnostics.
2517 (interpret_float): Same.
2518 * c-omp.c (c_finish_omp_for): Same.
2519 * c-opts.c (c_common_post_options): Same.
2520 * c-pch.c (c_common_pch_pragma): Same.
2521 * c-pragma.c (pop_alignment): Same.
2522 (handle_pragma_pack): Same.
2523 (apply_pragma_weak): Same.
2524 (handle_pragma_weak): Same.
2525 (handle_pragma_scalar_storage_order): Same.
2526 (handle_pragma_redefine_extname): Same.
2527 (add_to_renaming_pragma_list): Same.
2528 (maybe_apply_renaming_pragma): Same.
2529 (push_visibility): Same.
2530 (handle_pragma_visibility): Same.
2531 (handle_pragma_optimize): Same.
2532 (handle_pragma_message): Same.
2533 * c-warn.c (warn_for_omitted_condop): Same.
2534 (lvalue_error): Same.
a9c697b8 2535
6b943512
RB
25362019-05-15 Richard Biener <rguenther@suse.de>
2537
2538 PR c/90474
2539 * c-common.c (c_common_mark_addressable_vec): Also mark
2540 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
2541 c_mark_addressable.
ab20d992 2542
b744fc85
NS
25432019-05-06 Nathan Sidwell <nathan@acm.org>
2544
2545 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
2546
598f50d7
NS
25472019-04-30 Nathan Sidwell <nathan@acm.org>
2548
2549 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
2550
5bcc5a3b
ML
25512019-04-30 Martin Liska <mliska@suse.cz>
2552
2553 * c-pragma.c (handle_pragma_diagnostic): Provide hints
2554 for unknown options.
2555
e78a87f7
RS
25562019-04-26 Richard Sandiford <richard.sandiford@arm.com>
2557
2558 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
2559 the pointer target rather than the pointer itself.
2560
c280b7ee
JJ
25612019-04-19 Jakub Jelinek <jakub@redhat.com>
2562
2563 PR c/89888
2564 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
2565 arguments.
2566 (c_do_switch_warnings): Remove outside_range_p argument.
2567 * c-common.c (check_case_bounds): Removed.
2568 (c_add_case_label): Remove orig_type and outside_range_p arguments.
2569 Don't call check_case_bounds. Fold low_value as well as high_value.
2570 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
2571 Check for case labels outside of range of original type here and
2572 adjust them.
2573
8e8225e6
JJ
25742019-04-12 Jakub Jelinek <jakub@redhat.com>
2575
63b8a166
JJ
2576 PR translation/90041
2577 * c.opt (-fhandle-exceptions): Use %< and %> around option names
2578 in the Warn diagnostics.
2579
8e8225e6
JJ
2580 PR c/89946
2581 * c-attribs.c (handle_patchable_function_entry_attribute): Add
2582 function comment. Warn if arguments of the attribute are not positive
2583 integer constants.
2584
53a3f614
EB
25852019-04-09 Eric Botcazou <ebotcazou@adacore.com>
2586
2587 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
2588 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
2589
22be5873
EB
25902019-04-07 Eric Botcazou <ebotcazou@adacore.com>
2591
2592 * c-ada-spec.c (is_float128): New predicate extracted from...
2593 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
2594 <REAL_TYPE>: ...here. Call it.
2595
34facf20
DM
25962019-04-05 David Malcolm <dmalcolm@redhat.com>
2597
2598 PR c/89985
2599 * c-warn.c (check_address_or_pointer_of_packed_member): Add
2600 auto_diagnostic_group. Guard inform calls by result of
2601 warning_at call.
2602
05564120
MP
26032019-04-05 Marek Polacek <polacek@redhat.com>
2604
ab20d992 2605 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
2606 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
2607 of RHS.
2608
7a506c3c
JM
26092019-04-03 Jason Merrill <jason@redhat.com>
2610
2611 PR c++/86586 - -fcompare-debug=-Wsign-compare.
2612 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
2613
ddeae8c8
MS
26142019-04-01 Martin Sebor <msebor@redhat.com>
2615
2616 PR c/89685
2617 * c-attribs.c (handle_copy_attribute): Handle references and
2618 non-constant expressions.
2619
a15ffa22
JJ
26202019-03-22 Jakub Jelinek <jakub@redhat.com>
2621
2622 PR c++/87481
2623 * c.opt (-fconstexpr-ops-limit=): New option.
2624
36a3a7a3
JJ
26252019-03-21 Jakub Jelinek <jakub@redhat.com>
2626
2627 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
2628 template param.
2629
bec1da64
MS
26302019-03-19 Martin Sebor <msebor@redhat.com>
2631
2632 PR tree-optimization/89688
2633 * c-common.c (braced_list_to_string): Make static.
2634 (braced_lists_to_strings): Define new function.
2635 * c-common.h (braced_list_to_string): Remove.
2636 (braced_lists_to_strings): Declare.
2637
1fe61adf
ML
26382019-03-12 Martin Liska <mliska@suse.cz>
2639
2640 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
2641
93964ebd
ML
26422019-03-11 Martin Liska <mliska@suse.cz>
2643
2644 * c-opts.c (c_common_post_options): Wrap apostrophes
2645 in gcc internal format with %'.
2646
a3f9f006
ML
26472019-03-11 Martin Liska <mliska@suse.cz>
2648
2649 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
2650 in a string format message and fix GNU coding style.
2651 * c-common.c (vector_types_convertible_p): Likewise.
2652 (c_build_vec_perm_expr): Likewise.
2653 * c-indentation.c (get_visual_column): Likewise.
2654 * c-opts.c (c_common_handle_option): Likewise.
2655 (c_common_post_options): Likewise.
2656 (sanitize_cpp_opts): Likewise.
2657 * c-pch.c (c_common_pch_pragma): Likewise.
2658 * c-pragma.c (handle_pragma_pack): Likewise.
2659
1db01ff9
JJ
26602019-03-08 Jakub Jelinek <jakub@redhat.com>
2661
2662 PR tree-optimization/89550
2663 * c-common.c (c_common_truthvalue_conversion): Only set
2664 TREE_NO_WARNING if warning_at returned true.
2665 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
2666
ba790e6f
JJ
26672019-02-25 Sandra Loosemore <sandra@codesourcery.com>
2668 Martin Sebor <msebor@gmail.com>
2669
2670 * c.opt (Wmissing-attributes): Clean up doc string.
2671
7da73ba7
JJ
26722019-02-25 Jakub Jelinek <jakub@redhat.com>
2673
2674 PR c/89495
2675 * c-format.c (maybe_read_dollar_number): Compute nargnum in
2676 HOST_WIDE_INT type to avoid overflows and change overflow_flag
2677 checking.
2678
921bb9d1
RB
26792019-02-22 Richard Biener <rguenther@suse.de>
2680
2681 * c-pch.c (no_checksum): Remove.
2682 (pch_init): Remove assertion that executable_checksum is not
2683 all zero.
2684 (c_common_valid_pch): Likewise.
2685
e2ebb05c
MS
26862019-02-18 Martin Sebor <msebor@redhat.com>
2687
2688 PR middle-end/89294
2689 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
2690
3fe53000
DM
26912019-02-16 David Malcolm <dmalcolm@redhat.com>
2692
2693 PR c++/88680
2694 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
2695 implementing -Wtype-limits.
2696
28a8cef1
MS
26972019-02-11 Martin Sebor <msebor@redhat.com>
2698
2699 PR c++/87996
2700 * c-common.c (invalid_array_size_error): New function.
2701 (valid_array_size_p): Call it. Handle size as well as type.
2702 * c-common.h (valid_constant_size_p): New function.
2703 (enum cst_size_error): New type.
2704
ec2be203
DM
27052019-01-31 David Malcolm <dmalcolm@redhat.com>
2706
2707 PR c/89122
2708 * known-headers.cc (get_stdlib_header_for_name): Add
2709 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
2710
8936f047
JJ
27112019-01-31 Jakub Jelinek <jakub@redhat.com>
2712
2713 PR libstdc++/88170
2714 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
2715 a C cast in pp_c_flag_gnu_v3 mode.
2716
6a335b96
JJ
27172019-01-29 Jakub Jelinek <jakub@redhat.com>
2718
2719 PR c/86125
2720 * c-common.c (c_common_nodes_and_builtins): Build type variants for
2721 builtin_structptr_types types even for C.
2722
2a06eba5
BE
27232019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2724
2725 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
2726 when rhs is of array type correctly. Fix handling of nested structures.
2727 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
2728 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
2729 type casts within nested compound expressions.
2730
18a23298
JJ
27312019-01-22 Jakub Jelinek <jakub@redhat.com>
2732
2733 PR middle-end/88968
2734 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
2735 variable after using BIT_FIELD_REF.
2736
420183d9
L
27372019-01-18 H.J. Lu <hongjiu.lu@intel.com>
2738
2739 PR c/51628
2740 PR c/88664
2741 * c-common.h (warn_for_address_or_pointer_of_packed_member):
2742 Remove the boolean argument.
2743 * c-warn.c (check_address_of_packed_member): Renamed to ...
2744 (check_address_or_pointer_of_packed_member): This. Also
2745 warn pointer conversion.
2746 (check_and_warn_address_of_packed_member): Renamed to ...
2747 (check_and_warn_address_or_pointer_of_packed_member): This.
2748 Also warn pointer conversion.
2749 (warn_for_address_or_pointer_of_packed_member): Remove the
2750 boolean argument. Don't check pointer conversion here.
2751
99063eee
RS
27522019-01-15 Richard Sandiford <richard.sandiford@arm.com>
2753
2754 PR inline-asm/52813
2755 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
2756
a30d0196
JJ
27572019-01-14 Jakub Jelinek <jakub@redhat.com>
2758
2759 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
2760 and __cpp_nontype_template_parameter_auto. Add a comment that
2761 __cpp_template_auto is deprecated.
2762
2d91f79d
TH
27632019-01-14 Tom Honermann <tom@honermann.net>
2764
2765 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
2766 * c-common.c (c_common_reswords): Add char8_t.
2767 (fix_string_type): Use char8_t for the type of u8 string literals.
2768 (c_common_get_alias_set): char8_t doesn't alias.
2769 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
2770 C++.
2771 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
2772 (keyword_begins_type_specifier): Add RID_CHAR8.
2773 * c-common.h (rid): Add RID_CHAR8.
2774 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
2775 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
2776 Define char8_type_node and char8_array_type_node.
2777 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
2778 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
2779 (c_cpp_builtins): Predefine __cpp_char8_t.
2780 * c-lex.c (lex_string): Use char8_array_type_node as the type of
2781 CPP_UTF8STRING.
2782 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
2783 * c-opts.c: If not otherwise specified, enable -fchar8_t when
2784 targeting C++2a.
2785 * c.opt: Add the -fchar8_t command line option.
2786
23db6ced
MS
27872019-01-14 Martin Sebor <msebor@redhat.com>
2788
2789 PR target/88638
2790 * c-attribs.c (positional_argument): Call valid_format_string_type_p
2791 and issue errors if it fails.
2792 * c-common.h (valid_format_string_type_p): Declare.
2793 * c-format.c (valid_stringptr_type_p): Rename...
2794 (valid_format_string_type_p): ...to this and make extern.
2795 (handle_format_arg_attribute): Adjust to new name.
2796 (check_format_string): Same.
2797
234c3818
L
27982019-01-13 H.J. Lu <hongjiu.lu@intel.com>
2799
2800 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
2801 Replace "may may" with "may" in warning message.
2802
d8fcab68
JJ
28032019-01-07 Jakub Jelinek <jakub@redhat.com>
2804
2805 PR c++/85052
2806 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
2807 (c_build_vec_convert): Declare.
2808 * c-common.c (c_build_vec_convert): New function.
2809
29d24852
MS
28102019-01-04 Martin Sebor <msebor@redhat.com>
2811
2812 PR c/88546
2813 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
2814 Handle C++ empty throw specification and C11 _Noreturn.
2815 (has_attribute): Also handle C11 _Noreturn.
2816
9069a4c9
MS
28172019-01-04 Martin Sebor <msebor@redhat.com>
2818
2819 PR c/88363
2820 * c-attribs.c (positional_argument): Also accept enumerated types.
2821
a5544970
JJ
28222019-01-01 Jakub Jelinek <jakub@redhat.com>
2823
2824 Update copyright years.
2825
da77eace
L
28262018-12-20 H.J. Lu <hongjiu.lu@intel.com>
2827
2828 PR c/51628
2829 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
2830 * c-warn.c (check_alignment_of_packed_member): New function.
2831 (check_address_of_packed_member): Likewise.
2832 (check_and_warn_address_of_packed_member): Likewise.
2833 (warn_for_address_or_pointer_of_packed_member): Likewise.
2834 * c.opt: Add -Wno-address-of-packed-member.
2835
573767d4
DM
28362018-12-20 David Malcolm <dmalcolm@redhat.com>
2837
2838 PR c++/87504
2839 * c-warn.c (get_outermost_macro_expansion): New function.
2840 (spelled_the_same_p): Use it to unwind the macro expansions, and
2841 compare the outermost macro in each nested expansion, rather than
2842 the innermost.
2843
a14feb3c
DM
28442018-12-19 David Malcolm <dmalcolm@redhat.com>
2845
2846 PR c++/87504
2847 * c-common.h (warn_tautological_cmp): Convert 1st param from
2848 location_t to const op_location_t &.
2849 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
2850 when testing for INTEGER_CST.
2851 (warn_tautological_bitwise_comparison): Convert 1st param from
2852 location_t to const op_location_t &; use it to build a
2853 binary_op_rich_location, and use this.
2854 (spelled_the_same_p): New function.
2855 (warn_tautological_cmp): Convert 1st param from location_t to
2856 const op_location_t &. Warn for macro expansions if
2857 spelled_the_same_p. Use binary_op_rich_location.
2858
dfd7fdca
DM
28592018-12-19 David Malcolm <dmalcolm@redhat.com>
2860
2861 PR c++/43064
2862 PR c++/43486
2863 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
2864 (verify_tree): Handle location wrappers.
2865 (c_common_truthvalue_conversion): Strip any location wrapper.
2866 Handle CONST_DECL.
2867 (fold_offsetof): Strip any location wrapper.
2868 (complete_array_type): Likewise for initial_value.
2869 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
2870 index before checking for INTEGER_CST.
2871 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
2872 print parentheses around location wrappers.
2873 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
2874 before checking for INTEGER_CST.
2875 (warn_tautological_bitwise_comparison): Call
2876 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
2877 before checking for INTEGER_CST.
2878 (readonly_error): Strip any location wrapper.
2879 (warn_array_subscript_with_type_char): Strip location wrappers
2880 before checking for INTEGER_CST. Use the location of the index if
2881 available.
2882
5c8b3702
JM
28832018-12-06 Jason Merrill <jason@redhat.com>
2884
2885 PR c++/88136 - -Wdeprecated-copy false positives
2886 * c.opt (Wdeprecated-copy-dtor): New.
2887 (Wdeprecated-copy): Move to -Wextra.
2888
673670da
MS
28892018-11-29 Martin Sebor <msebor@redhat.com>
2890
2891 PR c/88172
2892 PR testsuite/88208
2893 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
2894 alignments to values less than the target requires.
2895 (has_attribute): For attribute aligned consider both the attribute
2896 and the alignment bits.
2897 * c-common.c (c_init_attributes): Optionally issue a warning for
2898 zero alignment.
2899
04864ec8
MS
29002018-11-28 Martin Sebor <msebor@redhat.com>
2901
2902 PR c/88065
2903 PR c/87297
2904 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
2905 or destination is an error.
2906
ace83db0
JJ
29072018-11-28 Jakub Jelinek <jakub@redhat.com>
2908
2909 PR c++/88215
2910 * c-ubsan.c: Include langhooks.h.
2911 (ubsan_instrument_division): Change gcc_assert that main variants
2912 of op0 and op1 types are equal to gcc_checking_assert that the
2913 main variants are compatible types.
2914
da193a27
EB
29152018-11-27 Eric Botcazou <ebotcazou@adacore.com>
2916
2917 * c-ada-spec.c: Include stringpool.h.
2918 (has_static_fields): Return false for incomplete types.
2919 (is_tagged_type): Likewise.
2920 (has_nontrivial_methods): Likewise.
2921 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
2922 (struct overloaded_name_hash): New structure.
2923 (struct overloaded_name_hasher): Likewise.
2924 (overloaded_names): New global variable.
2925 (init_overloaded_names): New static function.
2926 (overloaded_name_p): New predicate.
2927 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
2928 on the TYPE_STUB_DECL of the original type of a typedef, if any.
2929 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
2930 Remove always-true condition and dump forward types.
2931 (dump_ada_specs): Delete overloaded_names.
2932
98f08eb8
MS
29332018-11-20 Martin Sebor <msebor@redhat.com>
2934
2935 * c-attribs.c (type_for_vector_size): New function.
2936 (type_valid_for_vector_size): Same.
2937 (handle_vector_size_attribute): Move code to the functions above
2938 and call them.
2939 (validate_attribute, has_attribute): New functions.
2940 * c-common.h (has_attribute): Declare.
2941 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
2942 * c-common.c (c_common_resword): Same.
2943
2674fa47
JM
29442018-11-16 Jason Merrill <jason@redhat.com>
2945
2946 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
2947 * c-attribs.c (attr_cold_hot_exclusions): Make public.
2948
258b3854
JJ
29492018-11-16 Jakub Jelinek <jakub@redhat.com>
2950
2951 PR middle-end/87854
2952 * c-common.c (fix_string_type): Reject string literals larger than
2953 TYPE_MAX_VALUE (ssizetype) bytes.
2954
1d249509
MS
29552018-11-15 Martin Sebor <msebor@redhat.com>
2956
2957 PR c++/87541
2958 PR c++/87542
2959 * c-attribs.c (positional_argument): New function.
2960 (handle_alloc_size_attribute): Use it and simplify.
2961 (handle_alloc_align_attribute): Same.
2962 (handle_assume_aligned_attribute): Same.
2963 (handle_nonnull_attribute): Same.
2964 * c-common.c (check_function_arguments): Pass fntype to
2965 check_function_format.
2966 * c-common.h (check_function_format): Add an argument.
2967 (PosArgFlags, positional_argument): Declare new type and function.
2968 * c-format.c (decode_format_attr): Add arguments.
2969 (check_format_string, get_constant): Same.
2970 (convert_format_name_to_system_name): Adjust.
2971
478dd60d
DM
29722018-11-15 David Malcolm <dmalcolm@redhat.com>
2973
2974 PR other/19165
2975 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
2976
8cca0163
JJ
29772018-11-14 Jakub Jelinek <jakub@redhat.com>
2978
8ee09943
JJ
2979 P1236R1 - Signed integers are two's complement
2980 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
2981 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
2982 with in-range second operand well defined for -std=c++2a.
2983
8cca0163
JJ
2984 PR other/88007
2985 * c-common.c (parse_optimize_options): Allocate option string from
2986 opts_obstack rather than as GC memory. Move the allocation after
2987 warning for invalid option.
2988
620e594b
DM
29892018-11-13 David Malcolm <dmalcolm@redhat.com>
2990
2991 * c-common.c (c_get_substring_location): Update for renaming of
2992 get_source_location_for_substring to get_location_within_string.
2993 * c-lex.c: Replace "source_location" with "location_t".
2994 * c-opts.c: Likewise.
2995 * c-ppoutput.c: Likewise.
2996
f9731de3
MS
29972018-11-13 Martin Sebor <msebor@redhat.com>
2998
2999 PR middle-end/81824
3000 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3001 (handle_tls_model_attribute): Improve diagnostics.
3002
e4bd6d5e
JM
30032018-11-12 Jason Merrill <jason@redhat.com>
3004
a6bb6b07
JM
3005 * c-cppbuiltin.c (c_cpp_builtins): Define
3006 __cpp_impl_destroying_delete.
3007
e4bd6d5e
JM
3008 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3009 __cpp_conditional_explicit.
3010
79a2c428
MS
30112018-11-09 Martin Sebor <msebor@redhat.com>
3012
3013 PR middle-end/81824
3014 * c-attribs.c (handle_copy_attribute): New function.
3015
4c7bd361
MS
30162018-11-09 Martin Sebor <msebor@redhat.com>
3017
3018 PR c/87795
3019 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3020
28567c40
JJ
30212018-11-08 Jakub Jelinek <jakub@redhat.com>
3022
3023 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3024 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3025 enum omp_memory_order MEMORY_ORDER.
3026 (c_finish_omp_flush): Add MO argument.
3027 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3028 (c_finish_omp_for): Add FINAL_P argument.
3029 * c-omp.c: Include memmodel.h.
3030 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
3031 OMP_TASKGROUP_CLAUSES to it.
3032 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3033 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
3034 instead of OMP_ATOMIC_SEQ_CST.
3035 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3036 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3037 __atomic_thread_fence call with the given value.
3038 (check_omp_for_incr_expr): Formatting fixes.
3039 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
3040 even in OpenMP loops, diagnose if NE_EXPR and incr expression
3041 is not constant expression 1 or -1. Transform NE_EXPR loops
3042 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3043 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3044 loops too.
3045 (c_omp_split_clauses): Add support for combined
3046 #pragma omp parallel master and
3047 #pragma omp {,parallel }master taskloop{, simd} constructs.
3048 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
3049 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
3050 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3051 (c_omp_predetermined_sharing): Don't return
3052 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3053 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3054 PRAGMA_OMP_REQUIRES.
3055 * c-pragma.h (enum pragma_kind): Likewise.
3056 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3057 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3058
204839e7
DM
30592018-11-08 David Malcolm <dmalcolm@redhat.com>
3060
3061 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3062
d8010ee4
DM
30632018-11-08 David Malcolm <dmalcolm@redhat.com>
3064
3065 * c-format.c (local_cgraph_node_ptr_node): New variable.
3066 (gcc_dump_printf_char_table): Add entry for %C.
3067 (get_pointer_to_named_type): New function, taken from the handling
3068 code for "gimple *" from...
3069 (init_dynamic_diag_info): ...here. Add handling for
3070 "cgraph_node *".
3071 * c-format.h (T_CGRAPH_NODE): New.
3072
4be5c72c
JM
30732018-10-19 Jason Merrill <jason@redhat.com>
3074
3075 * c-cppbuiltin.c (c_cpp_builtins): Add
3076 __cpp_nontype_template_parameter_class.
3077
f3f6029d
NS
30782018-10-31 Nathan Sidwell <nathan@acm.org>
3079
ab5324fb
NS
3080 * c-opts.c (c_finish_options): Force command line macro
3081 location. Refactor to avoid repeating main debug hook.
3082 (push_command_line_include): Clarify comment.
3083
f3f6029d
NS
3084 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3085
91e3ec29
MS
30862018-10-30 Martin Sebor <msebor@redhat.com>
3087
3088 PR middle-end/87041
3089 * c-format.c (check_format_types): Avoid diagnosing null pointer
3090 arguments to printf-family of functions.
3091
b5ff4f5c
MP
30922018-10-30 Marek Polacek <polacek@redhat.com>
3093
3094 Implement P0892R2, explicit(bool).
3095 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3096
7e2de6df
DM
30972018-10-29 David Malcolm <dmalcolm@redhat.com>
3098
3099 * name-hint.h (name_hint::take_deferred): New member function.
3100
b2bf438c
DM
31012018-10-29 David Malcolm <dmalcolm@redhat.com>
3102
3103 PR c++/56856
3104 * c-common.c (check_function_sentinel): Call fold_for_warn on the
3105 argument.
3106 (check_function_restrict): Rename param "argarray" to
3107 "unfolded_argarray", and make a copy named "argarray", calling
3108 fold_for_warn on each argument.
3109 (check_function_arguments): Add note about responsibility for
3110 folding the arguments.
3111
9f936c86
JM
31122018-10-17 Joseph Myers <joseph@codesourcery.com>
3113
3114 * c-common.c (flag_isoc2x): New variable.
3115 * c-common.h (clk_c): Update comment to reference C2X.
3116 (flag_isoc99, flag_isoc11): Update comments to reference future
3117 standard versions in general.
3118 (flag_isoc2x): Declare.
3119 * c-opts.c (set_std_c2x): New function.
3120 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3121 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3122 flag_isoc2x to 0.
3123 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3124
7a8a92c4
JM
31252018-10-17 Joseph Myers <joseph@codesourcery.com>
3126
3127 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3128 (std=iso9899:2018): Document C17 as published in 2018.
3129
4dc003ff
CL
31302018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
3131
3132 PR c++/87364
3133 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3134
79371671
WW
31352018-10-11 Will Wray <wjwray@gmail.com>
3136
3137 PR c++/87364
3138 * c-pretty-print.h (pp_c_type_cast): Prototype.
3139 (pp_c_integer_constant): Likewise.
3140 * c-pretty-print.c (pp_c_type_cast): No longer static.
3141 (pp_c_integer_constant): Likewise.
3142 (pp_c_enumeration_constant): Fix loop termination when finding
3143 name of constant. No longer returns a value. Call
3144 pp_c_integer_constant.
3145 (c_pretty_printer::constant): Update for changes to
3146 pp_c_enumeration_constant.
3147
46c62690
JJ
31482018-10-11 Jakub Jelinek <jakub@redhat.com>
3149
3150 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3151 for no_unique_address.
3152
c24300ba
DM
31532018-10-09 David Malcolm <dmalcolm@redhat.com>
3154
3155 * c-common.c (c_option_controlling_cpp_error): Rename to...
3156 (c_option_controlling_cpp_diagnostic): ...this, and convert
3157 "reason" from int to enum.
3158 (c_cpp_error): Rename to...
3159 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3160 * c-common.h (c_cpp_error): Rename to...
3161 (c_cpp_diagnostic): ...this, converting level and reason to enums.
3162 * c-opts.c (c_common_init_options): Update for renaming.
3163
8656dafa
RS
31642018-10-08 Richard Sandiford <richard.sandiford@arm.com>
3165
3166 PR c/87286
3167 * c-common.c (vector_types_compatible_elements_p): Use
3168 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3169
8cff0652
VK
31702018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
3171
3172 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3173 to generate constructor destructor priority warning.
3174 * c.opt (-Wprio-ctor-dtor): New option.
3175
bedf03a2
JM
31762018-10-01 Jason Merrill <jason@redhat.com>
3177
3178 * c-lex.c (c_common_has_attribute): Add no_unique_address.
3179
6cc430c1
EB
31802018-10-01 Eric Botcazou <ebotcazou@adacore.com>
3181
3182 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3183 (dump_ada_node): Add const keyword.
3184
87677ac7
ML
31852018-09-25 Martin Liska <mliska@suse.cz>
3186
3187 * c-common.c (c_common_truthvalue_conversion):
3188 Remove Pascal from documentation.
3189
518196cb
EB
31902018-09-21 Eric Botcazou <ebotcazou@adacore.com>
3191
3192 * c-ada-spec.c: Include diagnostic.h.
3193 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3194
a599af84
MP
31952018-09-19 Marek Polacek <polacek@redhat.com>
3196
3197 * c.opt (Wclass-conversion): New.
3198
9c4a4b3c
DM
31992018-09-17 David Malcolm <dmalcolm@redhat.com>
3200
3201 * c-format.c (range_label_for_format_type_mismatch::get_text):
3202 Update for new param.
3203
c896ecfe
DM
32042018-09-17 David Malcolm <dmalcolm@redhat.com>
3205
3206 * c-format.c (format_warning_at_char): Update for introduction of
3207 format_string_diagnostic_t.
3208 (format_type_warning): Likewise.
3209
80c6d1f4
MJ
32102018-09-17 Martin Jambor <mjambor@suse.cz>
3211
3212 PR c/63886
3213 * c.opt (Wabsolute-value): New.
3214
6d900107
BE
32152018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
3216
3217 * c-common.c (complete_flexible_array_elts): New helper function.
3218 * c-common.h (complete_flexible_array_elts): Declare.
3219
b5764229
BE
32202018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3221
3222 * c-common.c (braced_list_to_string): Remove eval parameter.
3223 Add some more checks. Always create zero-terminated STRING_CST.
3224 * c-common.h (braced_list_to_string): Adjust prototype.
3225
85204e23
DM
32262018-08-27 David Malcolm <dmalcolm@redhat.com>
3227
3228 PR 87091
3229 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3230 to a tri-state.
3231 (maybe_suggest_missing_token_insertion): Likewise.
3232 (maybe_add_include_fixit): Add param "override_location". If set,
3233 and source-printing is enabled, then override the rich_location's
3234 primary location with that of the insertion point for the fix-it
3235 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3236 * c-common.h (extern void maybe_add_include_fixit): Add bool
3237 param.
3238 * c-format.c (selftest::test_type_mismatch_range_labels): Update
3239 for conversion of show_caret_p to a tri-state.
3240 * c-warn.c (warn_for_restrict): Likewise.
3241 * known-headers.cc
3242 (suggest_missing_header::~suggest_missing_header): Update call to
3243 maybe_add_include_fixit to suggest overriding the location, as it
3244 is for a note.
3245
3d78e008
ML
32462018-08-27 Martin Liska <mliska@suse.cz>
3247
3248 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
3249 fndecl_built_in_p and remove check for FUNCTION_DECL if
3250 possible.
3d78e008
ML
3251 (check_builtin_function_arguments): Likewise.
3252 (reject_gcc_builtin): Likewise.
3253 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3254
b5be6d0c
MP
32552018-08-26 Marek Polacek <polacek@redhat.com>
3256
3257 PR c++/87029, Implement -Wredundant-move.
3258 * c.opt (Wredundant-move): New option.
3259
79ca9c35
MP
32602018-08-21 Marek Polacek <polacek@redhat.com>
3261
3262 PR c++/86981, Implement -Wpessimizing-move.
3263 * c.opt (Wpessimizing-move): New option.
3264
097f82ec
DM
32652018-08-20 David Malcolm <dmalcolm@redhat.com>
3266
3267 PR other/84889
3268 * c-attribs.c (common_handle_aligned_attribute): Add
3269 auto_diagnostic_group instance.
3270 * c-indentation.c (warn_for_misleading_indentation): Likewise.
3271 * c-opts.c (c_common_post_options): Likewise.
3272 * c-warn.c (warn_logical_not_parentheses): Likewise.
3273 (warn_duplicated_cond_add_or_warn): Likewise.
3274 (warn_for_multistatement_macros): Likewise.
3275
3fb558b1
NS
32762018-08-20 Nathan Sidwell <nathan@acm.org>
3277
3278 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3279 access.
3280
800c0e98
NS
32812018-08-17 Nathan Sidwell <nathan@acm.org>
3282
3283 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3284 field.
3285 (laxy_hex_fp_value_count): Make unsigned.
3286 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
3287 manipulate the macro.
3288 (builtin_defin_with_hex_fp_value): Adjust callback name, use
3289 cpp_define_lazily.
3290
6f795a92
DM
32912018-08-17 David Malcolm <dmalcolm@redhat.com>
3292
3293 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3294 (gcc_dump_printf_length_specs): New.
3295 (gcc_dump_printf_flag_pairs): New.
3296 (gcc_dump_printf_flag_specs): New.
3297 (gcc_dump_printf_char_table): New.
3298 (format_types_orig): Add entry for "gcc_dump_printf".
3299 (init_dynamic_diag_info): Set up length_char_specs and
3300 conversion_specs for gcc_dump_printf_format_type.
3301 (handle_format_attribute): Handle gcc_dump_printf_format_type.
3302
c5d725c0
NS
33032018-08-17 Nathan Sidwell <nathan@acm.org>
3304
10f04917
NS
3305 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3306
c5d725c0
NS
3307 * c-ada-spec.c: Don't #include "cpp-id-data.h"
3308 * c-cppbuiltin.c: Likewise.
3309
c0c12356
ML
33102018-08-17 Martin Liska <mliska@suse.cz>
3311
3312 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
3313 Ignore/Deprecated flag. Warning is done automatically for
3314 Deprecated flags.
c0c12356 3315
10fcc142
DM
33162018-08-16 David Malcolm <dmalcolm@redhat.com>
3317
3318 PR c++/70693
3319 * c-common.c (selftest::c_family_tests): Call
3320 selftest::c_indentation_c_tests.
3321 * c-common.h (selftest::c_indentation_c_tests): New decl.
3322 * c-indentation.c: Include "selftest.h".
3323 (next_tab_stop): Add "tab_width" param, rather than accessing
3324 cpp_opts.
3325 (get_visual_column): Likewise. Clarify comment. Bulletproof
3326 against reading past the end of the line.
3327 (get_first_nws_vis_column): Add "tab_width" param.
3328 (detect_intervening_unindent): Likewise.
3329 (should_warn_for_misleading_indentation): Read tab width from
3330 cpp_opts and pass around.
3331 (selftest::test_next_tab_stop): New test.
3332 (selftest::assert_get_visual_column_succeeds): New function.
3333 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3334 (selftest::assert_get_visual_column_fails): New function.
3335 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3336 (selftest::test_get_visual_column): New test.
3337 (selftest::c_indentation_c_tests): New function.
3338
3f6677f4
NS
33392018-08-16 Nathan Sidwell <nathan@acm.org>
3340
3341 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3342 (store_ada_macro): Likewise.
3343 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3344 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3345
96e6ae57
DM
33462018-08-15 David Malcolm <dmalcolm@redhat.com>
3347
3348 * c-format.c: Include "selftest-diagnostic.h" and
3349 "gcc-rich-location.h".
3350 (format_warning_at_char): Pass NULL for new label params of
3351 format_warning_va.
3352 (class indirection_suffix): New class.
3353 (class range_label_for_format_type_mismatch): New class.
3354 (format_type_warning): Move logic for generating "*" suffix to
3355 class indirection_suffix. Create "fmt_label" and "param_label"
3356 to show their types, and pass them to the
3357 format_warning_at_substring calls.
3358 (selftest::test_type_mismatch_range_labels): New test.
3359 (selftest::c_format_c_tests): Call it.
3360
23aa9f7c
MS
33612018-08-13 Martin Sebor <msebor@redhat.com>
3362
3363 PR tree-optimization/71625
3364 * c-common.c (braced_list_to_string): New function.
3365 * c-common.h (braced_list_to_string): Declare it.
3366
f10a9135
NS
33672018-08-08 Nathan Sidwell <nathan@acm.org>
3368
3369 * c-common.c (try_to_locate_new_include_inertion_point): Use
3370 linemap_included_from_linemap.
3371 * c-lex.c (fe_file_change): Use linemap_included_from.
3372 * c-ppoutput.c (pp_file_change): Likewise.
3373
8a45b051
MS
33742018-08-01 Martin Sebor <msebor@redhat.com>
3375
3376 PR tree-optimization/86650
ab20d992 3377 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
3378 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
3379 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
3380 * c-format.h (T89_G): Update to be "gimple *" rather than
3381 "gcall *".
3382 (local_gcall_ptr_node): Rename...
3383 (local_gimple_ptr_node): ...to this.
3384
e540ccc0
DM
33852018-07-31 David Malcolm <dmalcolm@redhat.com>
3386
3387 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
3388 table entries for gcc_diag_char_table, and the 'Z' entry from
3389 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
3390 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
3391 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
3392 adding missing "Z" for this table. Remove erroneous "G" and "K"
3393 entries.
3394 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3395 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
3396 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
3397
425fc685
RE
33982018-07-31 Richard Earnshaw <rearnsha@arm.com>
3399
3400 * c-common.c (speculation_safe_resolve_call): New function.
3401 (speculation_safe_resolve_params): New function.
3402 (speculation_safe_resolve_return): New function.
3403 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
3404 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
3405 __HAVE_SPECULATION_SAFE_VALUE.
3406
181463c2
DM
34072018-07-20 David Malcolm <dmalcolm@redhat.com>
3408
3409 * c-common.c (c_cpp_error): Remove redundant "line_table"
3410 parameter from call to rich_location::set_range.
3411 (maybe_suggest_missing_token_insertion): Likewise.
3412
0d7f9065
MS
34132018-07-20 Martin Sebor <msebor@redhat.com>
3414
3415 PR middle-end/82063
ab20d992 3416 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 3417
00abf86c
MS
34182018-07-20 Martin Sebor <msebor@redhat.com>
3419
3420 PR middle-end/82063
3421 * c-common.h (c_common_handle_option): Change function argument
3422 to HOST_WIDE_INT.
3423 * c-opts.c (c_common_init_options): Same.
3424 (c_common_handle_option): Same. Remove special handling of
3425 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
3426 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
3427 options to take a HOST_WIDE_INT argument and accept a byte-size
3428 suffix. Initialize.
3429 (-Wvla-larger-than): Same.
3430 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
3431 (-Wno-vla-larger-than): Same.
3432
9b452033
JJ
34332018-07-12 Jakub Jelinek <jakub@redhat.com>
3434
3435 * c-attribs.c (c_common_attribute_table): Add
3436 "omp declare target implicit" attribute.
3437
cd0762f3
RB
34382018-07-12 Richard Biener <rguenther@suse.de>
3439
3440 PR c/86453
3441 * c-attribs.c (handle_packed_attribute): Do not build a variant
3442 type with TYPE_PACKED, instead ignore the attribute if we may
3443 not apply to the original type.
3444
0b27c3ed
JJ
34452018-07-10 Jakub Jelinek <jakub@redhat.com>
3446
3447 PR c++/86443
3448 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
3449 to contain TREE_LIST for both the original class iterator and the
3450 "last" helper var.
3451
e730a0ef
EB
34522018-07-07 Eric Botcazou <ebotcazou@adacore.com>
3453
3454 * c-ada-spec.c (to_ada_name): Remove index parameter.
3455 (pp_ada_tree_identifier): Likewise.
3456 (dump_ada_macros): Adjust call to to_ada_name.
3457 (struct overloaded_name_hash): Delete.
3458 (struct overloaded_name_hasher): Likewise.
3459 (overloaded_names): Likewise.
3460 (compute_overloading_index): Likewise.
3461 (dump_ada_decl_name): Do not call compute_overloading_index and
3462 adjust calls to pp_ada_tree_identifier.
3463 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3464 (dump_ada_import): Add spc parameter and switch to aspect syntax.
3465 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
3466 (dump_ada_enum_type): Remove type and display_convention parameters.
3467 Adjust calls to pp_ada_tree_identifier.
3468 (dump_ada_node): Likewise and for dump_ada_structure.
3469 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
3470 and tidy up.
3471 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
3472 syntax.
3473 (print_constructor): Adjust call to pp_ada_tree_identifier.
3474 (print_destructor): Likewise.
3475 (dump_ada_declaration): Switch to aspect syntax.
3476 (dump_ada_structure): Likewise and tidy up. Replace display_convention
3477 parameter with nested parameter.
3478 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
3479 (dump_ada_specs): Do not delete overloaded_names table.
3480
8de583fc
PB
34812018-07-06 Peter Bergner <bergner@linux.ibm.com>
3482
3483 PR target/86324
e730a0ef 3484 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
3485 target hook.
3486
09cff37b
NS
34872018-07-05 Nathan Sidwell <nathan@acm.org>
3488
3489 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
3490 NO_IMPLICIT_EXTERN_C.
3491
98086b2b
ML
34922018-06-28 Martin Liska <mliska@suse.cz>
3493
3494 * cppspec.c: Include opt-suggestions.h.
3495
ab20d992
JJ
34962018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3497 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
3498 Cesar Philippidis <cesar@codesourcery.com>
3499
3500 * c-pragma.h (enum pragma_omp_clause): Add
3501 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
3502 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
3503
f41b7612
JJ
35042018-06-20 Jakub Jelinek <jakub@redhat.com>
3505
3506 PR c++/86210
3507 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
3508 comment.
3509
4252ccd7
MS
35102018-06-18 Martin Sebor <msebor@redhat.com>
3511
3512 PR middle-end/85602
3513 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
3514 nonstring.
3515
e197e64e
KV
35162018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
3517
3518 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
3519
34a7a230
JM
35202018-06-13 Jason Merrill <jason@redhat.com>
3521
5cef3733
JM
3522 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
3523 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
3524 handling.
3525
34a7a230
JM
3526 PR c++/86094 - wrong code with defaulted move ctor.
3527 * c-opts.c (c_common_post_options): Bump the current ABI version to
3528 13. Set warn_abi_version and flag_abi_compat_version to the current
3529 version rather than 0. Fix defaulting flag_abi_compat_version from
3530 warn_abi_version.
3531
bb0f14ae
MS
35322018-06-12 Martin Sebor <msebor@redhat.com>
3533
3534 PR c/85931
3535 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
3536 sizeof source and destination yields the same value.
3537
3713f2e2
ML
35382018-06-12 Martin Liska <mliska@suse.cz>
3539
3540 * c.opt: Make MPX-related options as Deprecated.
3541
4af78ef8
DM
35422018-06-08 David Malcolm <dmalcolm@redhat.com>
3543
3544 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
3545 rather than 0.
3546
31db0fe0
ML
35472018-06-08 Martin Liska <mliska@suse.cz>
3548
3549 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
3550 for MPX (macros, related functions, fields in cgraph_node, ...).
3551 (handle_bnd_legacy): Likewise.
3552 (handle_bnd_instrument): Likewise.
3553 * c.opt: Likewise.
3554
fe16acf2
JJ
35552018-06-06 Jakub Jelinek <jakub@redhat.com>
3556
3557 PR c++/86068
3558 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
3559 __cpp_transactional_memory to 201500 instead of 210500.
3560
4dbdb49b
JM
35612018-06-06 Jason Merrill <jason@redhat.com>
3562
3563 PR c++/85710 - ICE with -Wmemset-elt-size.
3564 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
3565
f8ad043f
JM
35662018-06-01 Jason Merrill <jason@redhat.com>
3567
3568 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
3569 201703.
3570
abc24d93
EB
35712018-06-01 Eric Botcazou <ebotcazou@adacore.com>
3572
3573 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
3574 declaration for a typedef independently of whether the declaration of
3575 the subtype is generated.
3576
d258f4aa
MS
35772018-05-31 Martin Sebor <msebor@redhat.com>
3578
3579 PR c/82063
3580 * c.opt (-Wno-alloc-size-larger-than): New option.
3581
b67b9225
DP
35822018-04-22 David Pagan <dave.pagan@oracle.com>
3583
3584 PR c/55976
3585 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 3586 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
3587 differentiate between default (no option), -Wreturn-type, and
3588 -Wno-return-type.
3589
04eb9c55
JM
35902018-05-29 Jason Merrill <jason@redhat.com>
3591
3592 * c.opt (Winit-list-lifetime): New flag.
3593
b0c31bc6
BE
35942018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3595
3596 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
3597 splay_tree_delete_pointers.
3598
44284983
JJ
35992018-05-26 Jakub Jelinek <jakub@redhat.com>
3600
3601 PR bootstrap/85921
3602 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
3603 noinline variable to workaround broken kernel headers.
3604
b46b715d
JM
36052018-05-18 Jason Merrill <jason@redhat.com>
3606
3607 * c.opt (Wdeprecated-copy): New flag.
3608
40659769
ML
36092018-05-17 Martin Liska <mliska@suse.cz>
3610
3611 * c-warn.c (overflow_warning): Do not use
3612 space in between 'G_' and '('.
3613
403962ea
JM
36142018-05-09 Jason Merrill <jason@redhat.com>
3615
3616 * c-common.c (valid_array_size_p): Add complain parameter.
3617 * c-common.h: ...which defaults to true.
3618
1c9ee609
JJ
36192018-05-11 Jakub Jelinek <jakub@redhat.com>
3620
3621 PR c/85696
3622 * c-omp.c (c_omp_predetermined_sharing): Return
3623 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
3624
19916065
ML
36252018-05-11 Martin Liska <mliska@suse.cz>
3626
92a285c1 3627 PR sanitizer/85556
19916065
ML
3628 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
3629 TREE_LIST values.
3630
79e7b1fe
JJ
36312018-05-10 Jakub Jelinek <jakub@redhat.com>
3632
3633 PR c++/85662
3634 * c-common.h (fold_offsetof_1): Removed.
3635 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
3636 CTX argument defaulted to ERROR_MARK.
3637 * c-common.c (fold_offsetof_1): Renamed to ...
3638 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
3639 argument, convert the pointer constant to TYPE and use size_binop
3640 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
3641 a pointer type. Adjust recursive calls.
3642
86c12f76
EB
36432018-05-10 Eric Botcazou <ebotcazou@adacore.com>
3644
3645 PR c++/85400
3646 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
3647
ee336e84
NS
36482018-05-07 Nathan Sidwell <nathan@acm.org>
3649
3650 * c.opt (ffor-scope): Remove functionality, issue warning.
3651
6c072e21
NS
36522018-05-03 Nathan Sidwell <nathan@acm.org>
3653
3654 * c.opt (ffriend-injection): Remove functionality, issue warning.
3655
2cc7d3a7
DM
36562018-05-01 David Malcolm <dmalcolm@redhat.com>
3657
3658 PR c/84258
3659 * c-format.c (struct format_check_results): Add field
3660 "number_non_char".
3661 (check_format_info): Initialize it, and warn if encountered.
3662 (check_format_arg): Distinguish between wide char and
3663 everything else when detecting arrays of non-char.
3664
7761dfbe
DM
36652018-04-30 David Malcolm <dmalcolm@redhat.com>
3666
3667 * c-format.c (get_corrected_substring): Update for
3668 location_get_source_line returning a char_span. Use a char_span
3669 when handling the prefix of the correction.
3670 * c-indentation.c (get_visual_column): Update for
3671 location_get_source_line returning a char_span.
3672 (get_first_nws_vis_column): Likewise.
3673
62e98ef1
DM
36742018-03-29 David Malcolm <dmalcolm@redhat.com>
3675
3676 PR c++/84269
3677 * known-headers.cc (get_stdlib_header_for_name): Add various names
3678 from <assert.h>, <string.h>, and <memory.h>; add more names from
3679 <stdio.h>.
3680
a7dea617
JJ
36812018-03-27 Jakub Jelinek <jakub@redhat.com>
3682
3683 PR c++/85061
3684 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
3685 get_base_address of the second operand is a VAR_P, rather than the
3686 operand itself, and use gcc_checking_assert instead of gcc_assert.
3687
889a3a30
MP
36882018-03-23 Marek Polacek <polacek@redhat.com>
3689
3690 PR c++/85045
3691 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
3692 <case RDIV_EXPR>: Tweak condition.
3693
452154b9
EB
36942018-03-20 Eric Botcazou <ebotcazou@adacore.com>
3695
3696 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
3697
63ecb626
JJ
36982018-03-16 Jakub Jelinek <jakub@redhat.com>
3699
ce811fc4
JJ
3700 PR c/84909
3701 * c-warn.c (conversion_warning): Replace "to to" with "to" in
3702 diagnostics.
3703
63ecb626
JJ
3704 PR c/84910
3705 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
3706 diagnostics.
3707
a1295eec
RB
37082018-03-16 Richard Biener <rguenther@suse.de>
3709
3710 PR c/84873
3711 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
3712 unshare the possibly folded expression.
3713
919674fb
RB
37142018-03-15 Richard Biener <rguenther@suse.de>
3715
3716 PR c/84873
3717 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
3718
f99309b2
MS
37192018-03-13 Martin Sebor <msebor@redhat.com>
3720
3721 PR tree-optimization/84725
3722 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
3723 with all three narrow character types, including their qualified forms.
3724
e9b9fa4c
MS
37252018-03-12 Martin Sebor <msebor@redhat.com>
3726
3727 PR tree-optimization/83456
ab20d992 3728 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
3729 Restore checking of bounded built-in functions.
3730 (check_function_arguments): Also return the result
3731 of warn_for_restrict.
ab20d992
JJ
3732 * c-common.c (check_function_restrict): Return bool.
3733 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 3734
0805d020
MP
37352018-03-02 Marek Polacek <polacek@redhat.com>
3736
3737 PR c++/84171
3738 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
3739 is erroneous.
3740
ed2a2f08
TS
37412018-03-02 Thomas Schwinge <thomas@codesourcery.com>
3742
3743 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
3744 function".
3745
90abdde0
MP
37462018-03-01 Marek Polacek <polacek@redhat.com>
3747
3748 PR c++/84639
3749 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
3750 alignment in computation.
3751
c6db43fa
EB
37522018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3753
3754 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
3755 <REAL_TYPE>: Deal specifically with _Float128/__float128.
3756
9e25c7ed
EB
37572018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3758
3759 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
3760 (is_char_array): Take a type instead of a declaration.
3761 (dump_ada_array_type): Likewise.
3762 (is_simple_enum): Minor tweak.
3763 (dump_ada_enum_type): New function extracted from...
3764 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
3765 <INTEGER_TYPE>: Remove unreachable code.
3766 <RECORD_TYPE>: Likewise. Minor tweaks.
3767 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
3768 <ENUMERAL_TYPE>: New case.
3769 <RECORD_TYPE>: Factor out common code.
3770 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
3771 Minor tweaks. Deal with enumeral types.
3772 (dump_ada_structure): Minor tweaks.
3773
09de3550
EB
37742018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3775
3776 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
3777 address for incomplete structures.
3778 (dump_forward_type): Do not bail out for incomplete structures.
3779 (dump_ada_declaration): Do not special-case incomplete structures
3780 for subtypes. Dump them as null records for types.
3781
095d8d4b
EB
37822018-02-28 Eric Botcazou <ebotcazou@adacore.com>
3783
3784 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
3785 (is_char_array): Fix formatting.
3786 (dump_template_types): Likewise.
3787 (dump_generic_ada_node): Rename into...
3788 (dump_ada_node): ...this.
3789 <POINTER_TYPE>: Remove superfluous space. Use generic address for
3790 incomplete structures and not for empty structures. Do not use it
3791 when forward declarations are needed.
3792 (dump_forward_type): New function.
3793 (dump_nested_types): Remove FORWARD parameter. Do not consider
3794 TREE_VISITED and do not generate a forward declaration. Only dump
3795 original nested types for nested declaration.
3796 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
3797 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
3798 <RECORD_TYPE>: Do not consider TREE_VISITED.
3799 (dump_ada_declaration): Use booleans and fix formatting throughout.
3800 <TYPE_DECL>: Skip incomplete structures and not empty structures.
3801 Call dump_forward_type instead of dump_nested_types for a typedef.
3802 Remove superfluous check and adjust call to dump_nested_types.
3803 <POINTER_TYPE>: Call dump_forward_type and fall through.
3804 (dump_ada_struct_decl): Rename into...
3805 (dump_ada_structure): ...this. Do not special-case empty structures.
3806
d4cfd486
MS
38072018-02-27 Martin Sebor <msebor@redhat.com>
3808
3809 PR c++/83871
3810 * c.opt (-Wmissing-attributes): New option.
3811
b22dbd03
ML
38122018-02-21 Martin Liska <mliska@suse.cz>
3813
3814 * c.opt (Wcatch-value=): Add IntegerRange.
3815
883dfe2a
JM
38162018-02-15 Jason Merrill <jason@redhat.com>
3817
3818 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
3819
0444aa9c
NS
38202018-02-09 Nathan Sidwell <nathan@acm.org>
3821
3822 PR c/84293
3823 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
3824 arg.
3825 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
3826 arg. Adjust.
3827
cea71f0a
MS
38282018-02-09 Martin Sebor <msebor@redhat.com>
3829
3830 PR lto/84212
3831 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
3832 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
3833 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
3834 (-Wstrict-overflow, -Wsuggest-attribute): Same.
3835 (-Wuninitialized): Same.
3836
8c8b7be5
EB
38372018-02-09 Eric Botcazou <ebotcazou@adacore.com>
3838
3839 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
3840 keyword for components.
3841
7c30b12a
PC
38422018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
3843
3844 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
3845
eece7fe5
JK
38462018-02-02 Julia Koval <julia.koval@intel.com>
3847
3848 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
3849
7d07a93a
MP
38502018-01-29 Marek Polacek <polacek@redhat.com>
3851
3852 PR c/83966
3853 * c-format.c (check_function_format): Check current_function_decl.
3854
53723269
JJ
38552018-01-27 Jakub Jelinek <jakub@redhat.com>
3856
3857 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
3858 argument.
3859 (LAZY_HEX_FP_VALUES_CNT): Define.
3860 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
3861 values rather than just 12.
3862 (builtin_define_with_hex_fp_value): Likewise.
3863
7365279f
BK
38642018-01-18 Boris Kolpackov <boris@codesynthesis.com>
3865
92a285c1
ML
3866 PR other/70268
3867 * c.opt (-fmacro-prefix-map): New option.
3868 * c-opts.c (c_common_handle_option): Handle it.
3869 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
3870 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 3871
bb9869d5
DM
38722018-01-17 David Malcolm <dmalcolm@redhat.com>
3873
3874 PR c++/83814
3875 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
3876
68dc87c3
EB
38772018-01-10 Eric Botcazou <ebotcazou@adacore.com>
3878
3879 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
3880 Skip 'f' and 'F' characters if it is true.
3881 (store_ada_macro): Minor tweak.
3882 (dump_ada_macros) <CPP_COMMENT>: Likewise.
3883 <CPP_WSTRING>: Likewise.
3884 <CPP_STRING>: Output '&' in the buffer if not the first string.
3885 <CPP_NUMBER>: Adjust calls to dump_number.
3886
9a004410
DM
38872018-01-10 David Malcolm <dmalcolm@redhat.com>
3888
3889 PR c++/43486
3890 * c-common.c: Include "selftest.h".
3891 (get_atomic_generic_size): Perform the test for integral type
3892 before the range test for any integer constant, fixing indentation
3893 of braces. Call fold_for_warn before testing for an INTEGER_CST.
3894 (reject_gcc_builtin): Strip any location wrapper from EXPR.
3895 (selftest::test_fold_for_warn): New function.
3896 (selftest::c_common_c_tests): New function.
3897 (selftest::c_family_tests): Call it, and
3898 selftest::c_pretty_print_c_tests.
3899 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
3900 * c-format.c (check_format_arg): Convert VAR_P check to a
3901 fold_for_warn.
3902 * c-pretty-print.c: Include "selftest.h".
3903 (pp_c_cast_expression): Don't print casts for location wrappers.
3904 (selftest::assert_c_pretty_printer_output): New function.
3905 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
3906 (selftest::test_location_wrappers): New function.
3907 (selftest::c_pretty_print_c_tests): New function.
3908 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
3909
5c0caeb3
RS
39102018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
3911 Alan Hayward <alan.hayward@arm.com>
3912 David Sherwood <david.sherwood@arm.com>
3913
3914 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
3915
73a699ae
RS
39162018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
3917 Alan Hayward <alan.hayward@arm.com>
3918 David Sherwood <david.sherwood@arm.com>
3919
3920 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
3921 as polynomial.
3922
928686b1
RS
39232018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
3924 Alan Hayward <alan.hayward@arm.com>
3925 David Sherwood <david.sherwood@arm.com>
3926
3927 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
3928 (convert_vector_to_array_for_subscript): Handle polynomial
3929 TYPE_VECTOR_SUBPARTS.
3930 (c_common_type_for_mode): Check valid_vector_subparts_p.
3931 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
3932 VECTOR_CST_NELTS.
3933
85ec4feb
JJ
39342018-01-03 Jakub Jelinek <jakub@redhat.com>
3935
3936 Update copyright years.
3937
170a8bd6 39382017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 3939 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
3940
3941 * c-pragma.c (init_pragma): Register pragma GCC unroll.
3942 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
3943
ab20d992 39442017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
3945
3946 PR debug/83527
3947 PR debug/83419
3948 * c-semantics.c (only_debug_stmts_after_p): New.
3949 (pop_stmt_list): Clear side effects in debug-only stmt list.
3950 Check for single nondebug stmt followed by debug stmts only.
3951
c12d20d4
AO
39522017-12-21 Alexandre Oliva <aoliva@redhat.com>
3953
3954 PR debug/83419
3955 * c-semantics.c (pop_stmt_list): Propagate side effects from
3956 single nondebug stmt to container list.
3957
01512446
JJ
39582017-12-19 Jakub Jelinek <jakub@redhat.com>
3959
3960 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
3961 conditions with typical order conditions.
3962
82cfbd01
MP
39632017-12-18 Marek Polacek <polacek@redhat.com>
3964
3965 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
3966 not in effect.
3967
99da11ec
MS
39682017-12-17 Martin Sebor <msebor@redhat.com>
3969
3970 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
3971 an error for attribute warn_if_not_aligned.
3972
cc8bea0a
MS
39732017-12-16 Martin Sebor <msebor@redhat.com>
3974
3975 PR tree-optimization/78918
3976 * c-common.c (check_function_restrict): Avoid checking built-ins.
3977 * c.opt (-Wrestrict): Include in -Wall.
3978
4849deb1
JJ
39792017-12-15 Jakub Jelinek <jakub@redhat.com>
3980
3981 * c-attribs.c (c_common_attribute_table,
3982 c_common_format_attribute_table): Swap affects_type_identity
3983 and handler fields, adjust comments.
3984
c65e18d3
BE
39852017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
3986
3987 * c.opt (Wcast-function-type): New warning option.
3988 * c-lex.c (get_fileinfo): Avoid warning.
3989 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
3990
2004617a
QZ
39912017-12-14 Qing Zhao <qing.zhao@oracle.com>
3992
7365279f 3993 PR middle_end/79538
2004617a
QZ
3994 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
3995 Adjust the size of buf1 and buf2, add a new buf to avoid
3996 format-overflow warning.
3997
ab20d992 39982017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
3999
4000 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4001 subsequent statement list.
4002
5d9ae53d
MS
40032017-12-07 Martin Sebor <msebor@redhat.com>
4004
4005 PR c/81544
4006 PR c/81566
4007 * c-attribs.c (attr_aligned_exclusions): New array.
4008 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4009 (attr_common_exclusions, attr_const_pure_exclusions): Same.
4010 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4011 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4012 (attr_warn_unused_result_exclusions): Same.
4013 (handle_hot_attribute, handle_cold_attribute): Simplify.
4014 (handle_const_attribute): Warn on function returning void.
4015 (handle_pure_attribute): Same.
4016 (handle_aligned_attribute): Diagnose conflicting attribute
4017 specifications.
4018 * c-warn.c (diagnose_mismatched_attributes): Simplify.
4019
c79144f8
DM
40202017-12-06 David Malcolm <dmalcolm@redhat.com>
4021
4022 PR c/83236
4023 * c-common.c (selftest::c_family_tests): Call
4024 selftest::c_spellcheck_cc_tests.
4025 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4026 * c-spellcheck.cc: Include "selftest.h".
4027 (name_reserved_for_implementation_p): New function.
4028 (should_suggest_as_macro_p): New function.
4029 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4030 should_suggest_as_macro_p and call it.
4031 (selftest::test_name_reserved_for_implementation_p): New function.
4032 (selftest::c_spellcheck_cc_tests): New function.
4033 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4034
613bc14f
DM
40352017-12-06 David Malcolm <dmalcolm@redhat.com>
4036
4037 * c-spellcheck.cc: New file, taken from macro-handling code in
4038 spellcheck-tree.c.
4039 * c-spellcheck.h: New file, taken from macro-handling code in
4040 spellcheck-tree.h.
4041
e76c7157
JJ
40422017-12-01 Jakub Jelinek <jakub@redhat.com>
4043
4044 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4045 attribute.
4046 (handle_simd_attribute): Don't check for "cilk simd function"
4047 attribute. Reindent, formatting changes.
4048
b0da4034
JK
40492017-11-30 Julia Koval <julia.koval@intel.com>
4050
4051 * c-common.h (inv_list): Remove.
4052
058f0b9e
JJ
40532017-11-28 Jakub Jelinek <jakub@redhat.com>
4054
4055 PR sanitizer/81275
4056 * c-common.c (c_switch_covers_all_cases_p_1,
4057 c_switch_covers_all_cases_p): New functions.
4058 * c-common.h (c_switch_covers_all_cases_p): Declare.
4059
5e9d6aa4 40602017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 4061 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
4062
4063 * array-notation-common.c: Delete.
4064 * c-cilkplus.c: Ditto.
4065 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4066 * c-common.def (ARRAY_NOTATION_REF): Remove.
4067 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4068 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4069 c_validate_cilk_plus_loop, cilkplus_an_parts,
4070 cilk_ignorable_spawn_rhs_op,
4071 cilk_recognize_spawn): Remove.
4072 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4073 * c-omp.c: Remove CILK_SIMD check.
4074 * c-pragma.c: Ditto.
4075 * c-pragma.h: Remove CILK related pragmas.
4076 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4077 ARRAY_NOTATION_REF condition.
4078 (c_pretty_printer::expression): Ditto.
4079 * c.opt (fcilkplus): Remove.
4080 * cilk.c: Delete.
4081
1af4ebf5
MG
40822017-11-21 Marc Glisse <marc.glisse@inria.fr>
4083
4084 * c-pretty-print.c (pp_c_additive_expression,
4085 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4086
d44ed508
JJ
40872017-11-21 Jakub Jelinek <jakub@redhat.com>
4088
7d2f0f9b
JJ
4089 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4090
d44ed508
JJ
4091 PR c++/83059
4092 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4093 instead of tree_to_uhwi, formatting fix.
4094
26edace6
DM
40952017-11-20 David Malcolm <dmalcolm@redhat.com>
4096
4097 PR c/81404
4098 * known-headers.cc: New file, based on material from c/c-decl.c.
4099 (suggest_missing_header): Copied as-is.
4100 (get_stdlib_header_for_name): New, based on get_c_name_hint but
4101 heavily edited to add C++ support. Add some knowledge about
4102 <limits.h>, <stdint.h>, and <wchar.h>.
4103 * known-headers.h: Likewise.
4104
6c7a259b
DM
41052017-11-20 David Malcolm <dmalcolm@redhat.com>
4106
4107 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4108 (lookup_name_fuzzy): Likewise. Convert return type from
4109 const char * to name_hint. Add location_t param.
4110 * name-hint.h: New header.
4111
f9c59f7e
JJ
41122017-11-19 Jakub Jelinek <jakub@redhat.com>
4113
4114 PR c/66618
4115 PR c/69960
4116 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4117
1e39313a
JM
41182017-11-16 Joseph Myers <joseph@codesourcery.com>
4119
4120 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4121 expected publication date of C17.
4122 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4123
3ca0dc60
JM
41242017-11-15 Joseph Myers <joseph@codesourcery.com>
4125
4126 PR c/81156
4127 * c-common.c (c_common_reswords): Add __builtin_tgmath.
4128 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4129
025d57f0
MS
41302017-11-10 Martin Sebor <msebor@redhat.com>
4131
4132 PR c/81117
4133 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4134 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4135 * c.opt (-Wstringop-truncation): New option.
4136
1b6fa695
ML
41372017-11-06 Martin Liska <mliska@suse.cz>
4138
4139 PR middle-end/82404
4140 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4141 FE.
4142 * c.opt: Set default value of warn_return_type.
4143
64a5912c
DM
41442017-10-31 David Malcolm <dmalcolm@redhat.com>
4145
4146 * c-common.c (binary_op_error): Update for renaming of
4147 error_at_rich_loc.
4148 (c_parse_error): Likewise.
4149 * c-warn.c (warn_logical_not_parentheses): Likewise for
4150 renaming of inform_at_rich_loc.
4151 (warn_for_restrict): Likewise for renaming of
4152 warning_at_rich_loc_n.
4153
c76dc9c3
JM
41542017-10-30 Joseph Myers <joseph@codesourcery.com>
4155
4156 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4157 * c-opts.c (set_std_c17): New function.
4158 (c_common_init_options): Use gnu17 as default C version.
4159 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4160
ee5fd23a
MM
41612017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
4162
4163 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4164 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4165 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4166 __FP_FAST_FMA<N>X.
4167
d1047465
MP
41682017-10-23 Marek Polacek <polacek@redhat.com>
4169
4170 PR c/82681
4171 * c-warn.c (warnings_for_convert_and_check): Fix typos.
4172
9e878cf1
EB
41732017-10-19 Eric Botcazou <ebotcazou@adacore.com>
4174
4175 * c-common.c (check_builtin_function_arguments): Also check arguments
4176 of __builtin_alloca_with_align_and_max.
4177
89b6abbb
DM
41782017-10-17 David Malcolm <dmalcolm@redhat.com>
4179
4180 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4181 rather than NULL to format_warning_va.
4182 (check_format_types): Likewise when calling format_type_warning.
4183 Remove code to extract source_ranges and source_range * in favor
4184 of just a location_t.
4185 (format_type_warning): Convert source_range * param to a
4186 location_t.
4187
39382c09
JJ
41882017-10-13 Jakub Jelinek <jakub@redhat.com>
4189
4190 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4191 [LR]SHIFT_EXPR.
4192
62e1c678
DM
41932017-10-12 David Malcolm <dmalcolm@redhat.com>
4194
4195 * c-common.c (enum missing_token_insertion_kind): New enum.
4196 (get_missing_token_insertion_kind): New function.
4197 (maybe_suggest_missing_token_insertion): New function.
4198 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4199
b90c9338
NS
42002017-10-11 Nathan Sidwell <nathan@acm.org>
4201
4202 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4203 (c_common_handle_option): Update incpath_kind names.
4204
3a266bcd
ML
42052017-10-11 Martin Liska <mliska@suse.cz>
4206
4207 PR sanitizer/82490
4208 * c-attribs.c (handle_no_sanitize_attribute): Report directly
4209 Wattributes warning.
4210
8e6cdc90
RS
42112017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
4212
4213 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4214 operating on trees as wide_ints.
4215 * c-common.c (pointer_int_sum): Likewise.
4216 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4217 * c-warn.c (match_case_to_enum_1): Likewise.
4218 (c_do_switch_warnings): Likewise.
4219 (maybe_warn_shift_overflow): Likewise.
4220
802b38c9
JJ
42212017-10-10 Jakub Jelinek <jakub@redhat.com>
4222
4223 PR c/82437
4224 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4225 instead of wide_int::from.
4226
4e34b338
JJ
42272017-10-06 Jakub Jelinek <jakub@redhat.com>
4228
4229 PR c/82437
4230 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4231 using to_widest use wide_int with the larger of the two precisions.
4232
4bc4b2b4
BE
42332017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4234
4235 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4236 functions.
4237
a1488398
RS
42382017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
4239
4240 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4241 when combining the original unconverted comparison operands.
4242
01c9fb68
JJ
42432017-09-29 Jakub Jelinek <jakub@redhat.com>
4244
4245 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4246 attribute.
4247
6e3e8419
EB
42482017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4249
4250 * c-ada-spec.c (to_ada_name): Add index parameter.
4251 (pp_ada_tree_identifier): Likewise.
4252 (dump_ada_macros): Adjust call to to_ada_name.
4253 (struct overloaded_name_hash): New type.
4254 (struct overloaded_name_hasher): Likewise.
4255 (overloaded_names): New hash table.
4256 (compute_overloading_index): New function.
4257 (dump_ada_decl_name): Call it and pass the result to
4258 pp_ada_tree_identifier.
4259 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4260 (dump_ada_function_declaration): Likewise.
4261 (dump_generic_ada_node): Likewise.
4262 (print_constructor): Likewise.
4263 (print_destructor): Likewise.
4264 (dump_ada_specs): Delete overloaded_names table.
4265
79310774
EB
42662017-09-29 Eric Botcazou <ebotcazou@adacore.com>
4267
4268 * c-ada-spec.c (max_ada_macros): Move around.
4269 (store_ada_macro_index): Likewise.
4270 (source_file): Rename into...
4271 (macro_source_file): ...this.
4272 (count_ada_macro): Move around.
4273 (store_ada_macro): Likewise.
4274 (compare_macro): Likewise.
4275 (print_ada_macros): Merge in...
4276 (dump_ada_macros): ...this.
4277 (source_file_base): Rename into...
4278 (current_source_file): ...this.
4279 (print_comment): Move around.
4280 (dump_ada_nodes): Call dump_ada_declaration directly.
4281 (struct with): Change type of limited field to bool.
4282 (append_withs): Change type of limited_access parameter to bool.
4283 (pp_ada_tree_identifie): Likewise.
4284 (dump_ada_decl_nam): Likewise.
4285 (dump_generic_ada_node): Likewise. Do not print the return type.
4286 (to_ada_name): Change type of space_found parameter to bool.
4287 (dump_ada_function_declaration): Return void and change type of
4288 parameters to bool. Also print the return type for a function.
4289 (print_ada_methods): Rename into...
4290 (dump_ada_methods): ...this.
4291 (print_ada_declaration): Rename into ...
4292 (dump_ada_declaration): ...this. Do not print the return type.
4293 (print_ada_struct_decl): Rename into...
4294 (dump_ada_struct_decl): ...this.
4295
7d386d45
JJ
42962017-09-29 Jakub Jelinek <jakub@redhat.com>
4297
4298 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4299 rather than DECL_INITIAL.
4300 (common_handle_aligned_attribute): Likewise.
4301
ab20d992 43022017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
4303
4304 * c.opt (gen-decls): Add RejectNegative.
4305
026a79f7
AS
43062017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
4307 Jakub Jelinek <jakub@redhat.com>
4308
4309 Add support for -std=c++2a.
4310 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4311 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4312 * c-opts.c (set_std_cxx2a): New.
4313 (c_common_handle_option): Set options when -std=c++2a is enabled.
4314 (c_common_post_options): Adjust comments.
4315 (set_std_cxx14, set_std_cxx17): Likewise.
4316
4a8ca690
EB
43172017-09-15 Eric Botcazou <ebotcazou@adacore.com>
4318
4319 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4320 message for non-uniform endianness and issue a warning in C++.
4321
7b936140
JJ
43222017-09-15 Jakub Jelinek <jakub@redhat.com>
4323
4324 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4325 (Wc++17-compat): Change from undocumented alias to option.
4326 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4327 change C++1z to C++17 in description.
4328 (std=c++1z, std=gnu++1z): Change from option to undocumented
4329 deprecated alias.
4330 (std=c++17, std=gnu++17): Change from undocumented alias to option.
4331 Adjust description.
4332 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4333 * c-opts.c (set_std_cxx1z): Rename to ...
4334 (set_std_cxx17): ... this.
4335 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4336 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 4337 caller.
7b936140
JJ
4338 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
4339 comments.
4340
12263f13
L
43412017-09-12 H.J. Lu <hongjiu.lu@intel.com>
4342
4343 * c-attribs.c (common_handle_aligned_attribute): Don't warn
4344 function alignment if warn_if_not_aligned_p is true.
4345
6836632e
NS
43462017-09-12 Nathan Sidwell <nathan@acm.org>
4347
4348 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4349 resort_sorted_fields): Move to c/c-decl.c.
4350 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4351 (struct sorted_fields_type): Move to c/c-lang.h.
4352
019bf9ad
JW
43532017-09-09 Jonathan Wakely <jwakely@redhat.com>
4354
4355 PR c++/81852
4356 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
4357
bc7fe952
MP
43582017-09-04 Marek Polacek <polacek@redhat.com>
4359
4360 PR c/81783
4361 * c-warn.c (warn_tautological_bitwise_comparison): New function.
4362 (warn_tautological_cmp): Call it.
4363
ab20d992 43642017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
4365
4366 * c-opts.c (c_common_finish): Write dependency information even if
4367 there are errors.
4368
d2e05fcb
JJ
43692017-09-01 Jakub Jelinek <jakub@redhat.com>
4370
4371 PR c/81887
4372 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
4373 (omp_pragmas_simd): ... here.
4374 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
4375 create new clauses list containing just simd clause.
4376
18e2a8b8
RS
43772017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4378 Alan Hayward <alan.hayward@arm.com>
4379 David Sherwood <david.sherwood@arm.com>
4380
4381 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
4382 into scalar_mode_supported_p call.
4383 (handle_mode_attribute): Update call to scalar_mode_supported_p.
4384
16d22000
RS
43852017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4386 Alan Hayward <alan.hayward@arm.com>
4387 David Sherwood <david.sherwood@arm.com>
4388
4389 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
4390 for the mode iterator.
4391
b397965c
RS
43922017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4393 Alan Hayward <alan.hayward@arm.com>
4394 David Sherwood <david.sherwood@arm.com>
4395
4396 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
4397 * c-common.c (c_build_vec_perm_expr): Likewise.
4398
357b7604
RS
43992017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4400 Alan Hayward <alan.hayward@arm.com>
4401 David Sherwood <david.sherwood@arm.com>
4402
4403 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
4404
e05c94ba
RS
44052017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4406 Alan Hayward <alan.hayward@arm.com>
4407 David Sherwood <david.sherwood@arm.com>
4408
4409 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
4410 before calling targetm.addr_space.valid_pointer_mode.
4411
5c20c4af
RS
44122017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4413 Alan Hayward <alan.hayward@arm.com>
4414 David Sherwood <david.sherwood@arm.com>
4415
4416 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
4417
c94843d2 44182017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
4419 Alan Hayward <alan.hayward@arm.com>
4420 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
4421
4422 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
4423 iterators.
4424 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4425
4e10a5a7
RS
44262017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
4427 Alan Hayward <alan.hayward@arm.com>
4428 David Sherwood <david.sherwood@arm.com>
4429
4430 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
4431 case statements.
4432
130fcab0
ML
44332017-08-29 Martin Liska <mliska@suse.cz>
4434
4435 PR other/39851
4436 * c-common.c (parse_optimize_options): Add argument to function
4437 call.
4438 * c-pragma.c (handle_pragma_diagnostic): Likewise.
4439
14e18d71
DM
44402017-08-24 David Malcolm <dmalcolm@redhat.com>
4441
4442 * c-lex.c (interpret_float): Use token location
4443 when building an EXCESS_PRECISION_EXPR.
4444
2f687306
DM
44452017-08-21 David Malcolm <dmalcolm@redhat.com>
4446
4447 * c-common.c (check_function_arguments): Add "arglogs" param; pass
4448 it to check_function_format.
4449 * c-common.h (check_function_arguments): Add vec<location_t> *
4450 param.
4451 (check_function_format): Likewise.
4452 * c-format.c (struct format_check_context): Add field "arglocs".
4453 (check_function_format): Add param "arglocs"; pass it to
4454 check_format_info.
ab20d992 4455 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
4456 new field of format_ctx.
4457 (check_format_arg): Pass format_ctx->arglocs to new param of
4458 check_format_info_main.
4459 (class argument_parser): New field "arglocs".
4460 (argument_parser::argument_parser): Add "arglocs_" param and use
4461 it to initialize new field.
4462 (argument_parser::check_argument_type): Pass new arglocs field to
4463 check_format_types.
4464 (check_format_info_main): Add param "arglocs", and use it when
4465 constructing arg_parser.
4466 (check_format_types): Add param "arglocs"; use it if non-NULL when
4467 !EXPR_HAS_LOCATION (cur_param) to get at location information.
4468
00aa1fa2
L
44692017-08-18 H.J. Lu <hongjiu.lu@intel.com>
4470
4471 PR c/53037
4472 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
4473 (c_common_attribute_table): Add warn_if_not_aligned.
4474 (handle_aligned_attribute): Renamed to ...
4475 (common_handle_aligned_attribute): Remove argument, name, and add
4476 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
4477 (handle_aligned_attribute): New.
4478 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
4479
27be025d
MS
44802017-08-14 Martin Sebor <msebor@redhat.com>
4481
4482 PR c/81117
4483 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
4484 (handle_nonstring_attribute): New function.
4485
da67acb9
MS
44862017-08-14 Martin Sebor <msebor@redhat.com>
4487
4488 PR c/81117
4489 * c-format.h (T89_G): New macro.
4490 * c-format.c (local_gcall_ptr_node): New variable.
4491 (init_dynamic_diag_info): Initialize it.
4492
a8b522b4
ML
44932017-08-11 Martin Liska <mliska@suse.cz>
4494
4495 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
4496 TARGET_SUPPORTS_ALIASES.
4497
32129a17
DM
44982017-08-10 David Malcolm <dmalcolm@redhat.com>
4499
4500 * c-common.c (c_parse_error): Add rich_location * param, using it
4501 rather implicitly using input_location.
4502 * c-common.h (c_parse_error): Add rich_location * param.
4503
30af3a2b
MP
45042017-08-09 Marek Polacek <polacek@redhat.com>
4505
4506 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
4507 (c_common_truthvalue_conversion): Likewise.
4508 * c-omp.c (c_finish_omp_atomic): Likewise.
4509 * c-common.h (build_binary_op): Update declaration.
4510
314e6352
ML
45112017-08-08 Martin Liska <mliska@suse.cz>
4512
4513 * c-ada-spec.c: Include header files.
4514 * c-ubsan.c: Likewise.
4515 * c-warn.c: Likewise.
4516
56b5041c
JJ
45172017-08-07 Jakub Jelinek <jakub@redhat.com>
4518
4519 PR c/69389
4520 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
4521
db440138
EB
45222017-08-07 Eric Botcazou <ebotcazou@adacore.com>
4523
4524 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
4525 (print_ada_methods): Likewise.
4526 (print_ada_declaration): Likewise.
4527
577eec56
ML
45282017-08-07 Martin Liska <mliska@suse.cz>
4529
4530 * array-notation-common.c: Add new includes.
4531 * c-format.c( handle_format_attribute): Canonicalize a format
4532 function name.
4533 * c-lex.c (c_common_has_attribute): Canonicalize name of an
4534 attribute.
4535 * c-pretty-print.c: Add new include.
4536
b854df3c
EB
45372017-08-05 Eric Botcazou <ebotcazou@adacore.com>
4538
4539 * c-ada-spec.c (has_static_fields): Look only into variables.
4540 (print_constructor): Add TYPE parameter and use it for the name.
4541 (print_destructor): Likewise.
4542 (print_ada_declaration): Adjust to new constructor/destructor names.
4543 Adjust calls to print_constructor and print_destructor.
4544 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
4545 Look only into variables in the final loop.
4546
9f2cb25e
EB
45472017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4548
4549 * c-ada-spec.c (has_static_fields): Look only into fields.
4550 (dump_generic_ada_node): Small tweak.
4551 (dump_nested_types): Look only into fields.
4552 (print_ada_declaration): Look only into methods. Small tweak.
4553 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
4554
f4bcd9eb
EB
45552017-08-01 Eric Botcazou <ebotcazou@adacore.com>
4556
4557 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
4558 (dump_ada_function_declaration): Likewise.
4559 (dump_generic_ada_node): Likewise.
4560 (print_ada_declaration): Add support for const-qualified variables.
4561
f34ebeb2
ML
45622017-07-31 Martin Liska <mliska@suse.cz>
4563
4564 PR sanitize/81530
4565 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
4566 Guard condition with flag_sanitize_p also with current_function_decl
4567 non-null equality.
4568 (ubsan_maybe_instrument_reference_or_call): Likewise.
4569
218e5d04
UB
45702017-07-30 Uros Bizjak <ubizjak@gmail.com>
4571
4572 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
4573
942047f2
EB
45742017-07-29 Eric Botcazou <ebotcazou@adacore.com>
4575
4576 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
4577 for enumeral types.
4578 (print_ada_declaration): Add missing guard for record types.
4579
a40ff0ae
JJ
45802017-07-27 Jakub Jelinek <jakub@redhat.com>
4581
4582 PR c/45784
4583 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
4584 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
4585 new COMPOUND_EXPRs around the rhs of the comparison.
4586
06bd22f6
MP
45872017-07-27 Marek Polacek <polacek@redhat.com>
4588
4589 PR c/81417
4590 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
4591 the types.
4592
036ea399
JJ
45932017-07-27 Jakub Jelinek <jakub@redhat.com>
4594
4595 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
4596 (handle_noipa_attribute): New function.
4597
417ca011
TD
45982017-07-07 Torsten Duwe <duwe@suse.de>
4599
4600 * c-attribs.c (c_common_attribute_table): Add entry for
4601 "patchable_function_entry".
4602
5aaa8fb4
NS
46032017-07-20 Nathan Sidwell <nathan@acm.org>
4604
4605 Remove TYPE_METHODS.
4606 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
4607 dump_ada_template, print_ada_methods,
4608 print_ada_declaration): Member fns are on TYPE_FIELDS.
4609
ff22eb12
NS
46102017-07-18 Nathan Sidwell <nathan@acm.org>
4611
4612 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
4613
eea77d1f
DM
46142017-07-14 David Malcolm <dmalcolm@redhat.com>
4615
4616 * c-common.c (try_to_locate_new_include_insertion_point): New
4617 function.
4618 (per_file_includes_t): New typedef.
4619 (added_includes_t): New typedef.
4620 (added_includes): New variable.
4621 (maybe_add_include_fixit): New function.
4622 * c-common.h (maybe_add_include_fixit): New decl.
4623
281ac396
MS
46242017-07-10 Martin Sebor <msebor@redhat.com>
4625
4626 PR other/81345
4627 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
4628
b6f43128
DM
46292017-07-06 David Malcolm <dmalcolm@redhat.com>
4630
4631 * c-common.c (selftest::c_family_tests): New.
4632 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
4633 (selftest::c_family_tests): New decl.
4634
efbf55b0
MP
46352017-07-04 Marek Polacek <polacek@redhat.com>
4636
4637 PR c/81231
4638 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
4639 types.
4640
6c86bd88
MP
46412017-07-04 Marek Polacek <polacek@redhat.com>
4642
4643 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
4644
17a7218b
ML
46452017-06-28 Martin Liska <mliska@suse.cz>
4646
4647 PR ipa/81128
4648 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
4649 to a function declaration.
4650
63010089
ML
46512017-06-28 Martin Liska <mliska@suse.cz>
4652
4653 PR driver/79659
4654 * c.opt: Add IntegerRange to various options.
4655
3e2becc4
MP
46562017-06-26 Marek Polacek <polacek@redhat.com>
4657
4658 PR c/80116
4659 * c-common.h (warn_for_multistatement_macros): Declare.
4660 * c-warn.c: Include "c-family/c-indentation.h".
4661 (warn_for_multistatement_macros): New function.
4662 * c.opt (Wmultistatement-macros): New option.
4663 * c-indentation.c (guard_tinfo_to_string): No longer static.
4664 Change the parameter type to "enum rid". Handle RID_SWITCH.
4665 * c-indentation.h (guard_tinfo_to_string): Declare.
4666
2db9b7cd
MG
46672017-06-23 Marc Glisse <marc.glisse@inria.fr>
4668
4669 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
4670
c3684b7b
MS
46712017-06-15 Martin Sebor <msebor@redhat.com>
4672
4673 PR c++/80560
4674 * c.opt (-Wclass-memaccess): New option.
4675
e72c4afd
BK
46762017-06-14 Boris Kolpackov <boris@codesynthesis.com>
4677
4678 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
4679
8a516588
MP
46802017-06-13 Marek Polacek <polacek@redhat.com>
4681
4682 PR objc/80949
4683 * c-warn.c (do_warn_duplicated_branches): Return if any of the
4684 branches is null.
4685
45b2222a
ML
46862017-06-13 Martin Liska <mliska@suse.cz>
4687
4688 PR sanitize/78204
4689 * c-attribs.c (add_no_sanitize_value): New function.
4690 (handle_no_sanitize_attribute): Likewise.
4691 (handle_no_sanitize_address_attribute): Use the function.
4692 (handle_no_sanitize_thread_attribute): New function.
4693 (handle_no_address_safety_analysis_attribute): Use
4694 add_no_sanitize_value.
4695 (handle_no_sanitize_undefined_attribute): Likewise.
4696 * c-common.h: Declare new functions.
4697 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
4698 (ubsan_instrument_shift): Likewise.
4699 (ubsan_instrument_bounds): Likewise.
4700 (ubsan_maybe_instrument_array_ref): Likewise.
4701 (ubsan_maybe_instrument_reference_or_call): Likewise.
4702
a01f151f
JM
47032017-06-11 Jason Merrill <jason@redhat.com>
4704
4705 * c-ada-spec.c, c-pragma.c: Use id_equal.
4706
3de4ac6d
MP
47072017-06-04 Marek Polacek <polacek@redhat.com>
4708
4709 PR c/80919
4710 * c-format.c (matching_type_p): Return false if any of the types
4711 requires structural equality.
4712
2474f48f
MS
47132017-06-02 Martin Sebor <msebor@redhat.com>
4714
4715 PR c/80892
4716 * c-warn.c (conversion_warning): Use -Wconversion for integer
4717 conversion and -Wfloat-conversion for floating one.
4718
40ffd95f
BE
47192017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4720
4721 * c.opt (Wsizeof-pointer-div): New warning option.
4722
3fa4634c
VR
47232017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
4724
4725 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
4726 (Wcatch-value=1): Enable by -Wall.
4727
f012c8ef
DM
47282017-05-30 David Malcolm <dmalcolm@redhat.com>
4729
4730 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
4731 format_chars.
4732 * c.opt (fdiagnostics-show-template-tree): New option.
4733 (felide-type): New option.
4734
63dbcd13
VR
47352017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
4736
4737 * c.opt (Wcatch-value=): New C++ warning flag.
4738
be136b5c
NS
47392017-05-24 Nathan Sidwell <nathan@acm.org>
4740
4741 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
4742 const casts to avoid warning.
4743
3cd211af
MS
47442017-05-24 Martin Sebor <msebor@redhat.com>
4745
4746 PR c/80731
4747 * c-common.h (unsafe_conversion_p): Add a function argument.
4748 * c-common.c (unsafe_conversion_p): Same.
4749 Add type names and values to diagnostics.
4750 (scalar_to_vector): Adjust.
4751 * c-warn.c (constant_expression_error): Add a function argument.
4752 Add type names and values to diagnostics.
4753 (conversion_warning): Add a function argument.
4754 Add type names and values to diagnostics.
4755 (warnings_for_convert_and_check): Same.
4756
1ff7be5a
JM
47572017-05-19 Jason Merrill <jason@redhat.com>
4758
4759 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
4760 enumerators.
4761
ff502317
BE
47622017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4763
4764 * c-format.c (locus): Move out of function scope,
4765 add GTY attribute.
4766
2a8a8d7b
NS
47672017-05-19 Nathan Sidwell <nathan@acm.org>
4768
4769 * c-opts.c (class_dump_file, class_dump_flags): Delete.
4770 (c_common_parse_file): Remove class dump handling.
4771 (get_dump_info): Likewise.
4772
39aac208
RB
47732017-05-19 Richard Biener <rguenther@suse.de>
4774
4775 PR c++/80593
4776 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
4777 to alias-set zero memory.
4778
6ecd2339
BE
47792017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
4780
4781 * c-format.c (local_tree_type_node): Add GTY attribute.
4782
6574d78e
MP
47832017-05-18 Marek Polacek <polacek@redhat.com>
4784
4785 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
4786 (c_common_fixed_point_type_for_size): Likewise.
4787 (c_common_type_for_mode): Likewise.
4788 (shorten_compare): Likewise.
4789 (c_promoting_integer_type_p): Use false/true instead of 0/1.
4790 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
4791
e3455240
MP
47922017-05-18 Marek Polacek <polacek@redhat.com>
4793
4794 * c-common.c (self_promoting_args_p): Change the return type to bool.
4795 Use false/true instead of 0/1.
4796 * c-common.h (self_promoting_args_p): Update.
4797
3fa8871b
MP
47982017-05-17 Marek Polacek <polacek@redhat.com>
4799
4800 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
4801 * c-warn.c: Likewise.
4802
b42cc3ca
VV
48032017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
4804
4805 Implement new C++ intrinsics __is_assignable and __is_constructible.
4806 * c-common.c (__is_assignable, __is_constructible): New.
4807 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
4808
1a817418
ML
48092017-05-17 Martin Liska <mliska@suse.cz>
4810
4811 * c-common.h: Introduce dump_flags_t type and
4812 use it instead of int type.
4813 * c-gimplify.c (c_genericize): Likewise.
4814 * c-opts.c: Likewise.
4815
b2fa0a8b
MP
48162017-05-17 Marek Polacek <polacek@redhat.com>
4817
4818 * c-common.c (c_save_expr): Remove.
4819 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
4820 * c-common.h (c_save_expr): Remove declaration.
4821
31c2d57d
VR
48222017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
4823
4824 PR c/35441
4825 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
4826 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
4827 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
4828 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
4829 RDIV_EXPR.
4830 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
4831
684f84de
MP
48322017-05-09 Marek Polacek <polacek@redhat.com>
4833
4834 PR c/80525
4835 * c-warn.c (unwrap_c_maybe_const): New.
4836 (warn_logical_operator): Call it.
4837
641da50a
NS
48382017-05-09 Nathan Sidwell <nathan@acm.org>
4839
4840 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
4841 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
4842
631238ac
MS
48432017-05-08 Martin Sebor <msebor@redhat.com>
4844
4845 PR translation/80280
4846 * c-format.h (struct format_flag_spec): Add new member.
4847 (T89_T): New macro.
4848 * c-format.c (local_tree_type_node): New global.
4849 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
4850 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
4851 (strfmon_flag_specs): Likewise.
4852 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
4853 with distinct quoting properties.
4854 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
4855 (flag_chars_t::validate): Add argument and handle bad quoting.
4856 (check_format_info_main): Handle quoting problems.
4857 (init_dynamic_diag_info): Simplify.
4858
49f0c04c
JM
48592017-05-08 Jason Merrill <jason@redhat.com>
4860
4861 * c-opts.c (c_common_post_options): Update defaults for
4862 flag_abi_version and flag_abi_compat_version.
4863
56d35585
DM
48642017-05-05 David Malcolm <dmalcolm@redhat.com>
4865
4866 * c-common.c (c_cpp_error): Replace report_diagnostic
4867 with diagnostic_report_diagnostic.
4868
0f2c4a8f
MS
48692017-05-04 Martin Sebor <msebor@redhat.com>
4870
4871 PR translation/80280
4872 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
4873 (handle_weakref_attribute): Same.
4874
6fe63fb4
NS
48752017-05-03 Nathan Sidwell <nathan@acm.org>
4876
4877 Canonicalize canonical type hashing
4878 * c-common.c (complete_array_type): Use type_hash_canon.
4879
815d9cc6
XR
48802017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
4881
92a285c1 4882 PR c++/80038
815d9cc6
XR
4883 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
4884 prototype.
4885 (cilk_install_body_pedigree_operations): Likewise.
4886 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
4887 detatched.
4888 (cilk_gimplify_call_params_in_spawned_fn): Remove.
4889 (cilk_install_body_pedigree_operations): Likewise.
4890 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
4891 unwrapping.
4892
f8a36447
JJ
48932017-04-27 Jakub Jelinek <jakub@redhat.com>
4894
4895 PR c++/80534
4896 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
4897 flag on non-aggregate element types.
4898
7c145456
BE
48992017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
4900
4901 * c-common.c (c_type_hasher, type_hash_table): Remove.
4902 (c_common_get_alias_set): Remove unreachable code.
4903 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
4904
c3cbcd45
VR
49052017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
4906
4907 * c.opt (Wextra-semi): New C++ warning flag.
4908
8a59d466
JJ
49092017-04-20 Jakub Jelinek <jakub@redhat.com>
4910
4911 PR middle-end/80423
4912 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
4913
8487c9a5
JJ
49142017-04-18 Jakub Jelinek <jakub@redhat.com>
4915
4916 PR middle-end/79788
4917 PR middle-end/80375
4918 * c-common.c (c_common_type_for_mode): Don't handle
4919 widest_*_literal_type_node here.
4920 c_common_signed_or_unsigned_type): Likewise.
4921 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
4922 to *intTI_type_node or *intDI_type_node depending on whether
4923 TImode is supported by the target or not.
4924
3ee0fb02
ML
49252017-04-10 Martin Liska <mliska@suse.cz>
4926
4927 PR sanitizer/80350
4928 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
4929 doing an UBSAN check.
4930
5764ee3c
JW
49312017-04-03 Jonathan Wakely <jwakely@redhat.com>
4932
4933 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
4934
6f3af356
JJ
49352017-03-31 Jakub Jelinek <jakub@redhat.com>
4936
4937 PR c++/79572
4938 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
4939 tree *.
4940 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
4941 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
4942 REFERENCE_TYPE.
4943
f6a7a9d5
DM
49442017-03-31 David Malcolm <dmalcolm@redhat.com>
4945
4946 PR documentation/78732
4947 * c.opt (Wendif-labels): Fix description to refer to
4948 #else rather than #elif.
4949
af88f557
JJ
49502017-03-31 Jakub Jelinek <jakub@redhat.com>
4951
4952 PR libstdc++/80251
4953 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
4954 * c-common.c (c_common_reswords): Add __is_aggregate trait.
4955
a9e4a1a5
JJ
49562017-03-27 Jakub Jelinek <jakub@redhat.com>
4957
4958 PR middle-end/80162
4959 * c-common.c (c_common_mark_addressable_vec): Don't set
4960 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
4961
3f01b620
MS
49622017-03-21 Martin Sebor <msebor@redhat.com>
4963
4964 PR c++/79548
4965 * c-common.c (set_underlying_type): Mark type used only when
4966 original del is declared unused.
4967
2f6f187a
DM
49682017-03-10 David Malcolm <dmalcolm@redhat.com>
4969
4970 PR translation/79848
4971 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
4972 "%qs".
4973
a02fa805
DM
49742017-03-10 David Malcolm <dmalcolm@redhat.com>
4975
4976 PR c/79921
4977 * c-indentation.c (warn_for_misleading_indentation): Remove parens
4978 from inform's message, so that xgettext can locate it.
4979
822a132c
MP
49802017-03-09 Marek Polacek <polacek@redhat.com>
4981
4982 PR c++/79962
4983 PR c++/79984
4984 * c-attribs.c (handle_nonnull_attribute): Save the result of default
4985 conversion to the attribute list.
4986
bba81f1c
ML
49872017-03-09 Martin Liska <mliska@suse.cz>
4988
4989 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
4990
108154ff
JM
49912017-03-03 Jason Merrill <jason@redhat.com>
4992
4993 * c.opt (Wnoexcept-type): New.
4994
eb0e7c34
RB
49952017-03-02 Richard Biener <rguenther@suse.de>
4996
4997 PR c/79756
4998 * c-common.c (c_common_mark_addressable_vec): Look through
4999 C_MAYBE_CONST_EXPR.
5000
9453ba0a
ML
50012017-02-28 Martin Liska <mliska@suse.cz>
5002
5003 * c.opt: Replace space with tabular for options of <number>
5004 type.
5005
6a825afe
ML
50062017-02-28 Martin Liska <mliska@suse.cz>
5007
5008 * c.opt: Fix --help=option -Q for options which are of
5009 an enum type.
5010
4227c9ad
JJ
50112017-02-24 Jakub Jelinek <jakub@redhat.com>
5012
5013 PR c++/79588
5014 * c-common.c (check_function_restrict): New function.
5015 (check_function_arguments): Add FNDECL argument. Call
5016 check_function_restrict if -Wrestrict.
5017 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5018 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
5019 * c-common.h (check_function_arguments): Add FNDECL argument.
5020 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5021
59909673
EB
50222017-02-24 Eric Botcazou <ebotcazou@adacore.com>
5023
5024 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5025 treatment of parameters with pointer-to-tagged type and tidy up.
5026 (print_ada_methods): Remove the special treatment of C++ static member
5027 functions.
5028
54dcd526
ML
50292017-02-22 Martin Liska <mliska@suse.cz>
5030
5031 * c.opt: Replace inequality signs with square brackets
5032 for -Wnornalized.
5033
00bc9de3
JJ
50342017-02-21 Jakub Jelinek <jakub@redhat.com>
5035
5036 PR c++/79641
5037 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5038 preserve quals.
5039
97fcf744
JM
50402017-02-17 Joseph Myers <joseph@codesourcery.com>
5041
5042 * c-cppbuiltin.c (builtin_define_float_constants): Define
5043 __DECIMAL_DIG__ to the value for long double.
5044
c7545f1c
MP
50452017-02-15 Marek Polacek <polacek@redhat.com>
5046
5047 PR c/79515
5048 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5049 conversion has occured.
5050
c2e84327
DM
50512017-01-24 David Malcolm <dmalcolm@redhat.com>
5052
5053 * c-common.c (c_common_reswords): Add "__RTL".
5054 * c-common.h (enum rid): Add RID_RTL.
5055
2ebd93e1
MP
50562017-01-20 Marek Polacek <polacek@redhat.com>
5057
5058 PR c/64279
5059 * c-common.h (do_warn_duplicated_branches_r): Declare.
5060 * c-gimplify.c (c_genericize): Walk the function tree calling
5061 do_warn_duplicated_branches_r.
5062 * c-warn.c (expr_from_macro_expansion_r): New.
5063 (do_warn_duplicated_branches): New.
5064 (do_warn_duplicated_branches_r): New.
5065 * c.opt (Wduplicated-branches): New option.
5066
0d80ab91
DM
50672017-01-17 David Malcolm <dmalcolm@redhat.com>
5068
5069 PR c++/71497
5070 * c-indentation.c (warn_for_misleading_indentation): Use the past
5071 subjunctive in the note.
5072
7f991c36
AH
50732017-01-17 Aldy Hernandez <aldyh@redhat.com>
5074
5075 PR c/79116
5076 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5077 start type to integer_type.
5078
1c70261c
JJ
50792017-01-16 Jakub Jelinek <jakub@redhat.com>
5080
5081 PR driver/49726
5082 * c.opt (gen-decls): Add Driver flag.
5083
1ddca3f3
PC
50842017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5085
5086 Revert:
5087 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5088
5089 PR c++/71737
5090 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5091
7d2f3f1d
PC
50922017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
5093
5094 PR c++/71737
5095 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5096
bce6f760
MS
50972017-01-12 Martin Sebor <msebor@redhat.com>
5098
5099 (-Wformat-overflow): ...to this.
5100
bf5fbf46
MS
51012017-01-11 Martin Sebor <msebor@redhat.com>
5102
5103 PR c/78768
5104 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5105 Also enable for LTO.
5106
e363df3f
JM
51072017-01-10 Jason Merrill <jason@redhat.com>
5108
5109 Implement P0195R2, C++17 variadic using.
5110 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5111
bd2c6270
JJ
51122017-01-09 Jakub Jelinek <jakub@redhat.com>
5113
5114 PR translation/79019
5115 PR translation/79020
5116 * c.opt (Wnormalized=): Fix typo in description.
5117
efcc8d38
MS
51182017-01-08 Martin Sebor <msebor@redhat.com>
5119
5120 PR middle-end/77708
5121 * c.opt (-Wformat-truncation): New option.
5122
ab20d992 51232017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
5124
5125 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5126 value to unsigned short to fit in 4 hex digits without
5127 warnings.
5128
4e89adf9
EB
51292017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5130
5131 * c.opt (fsso-struct): Add 'native' value.
5132
cd445b54
ML
51332017-01-05 Martin Liska <mliska@suse.cz>
5134
5135 PR pch/78970
5136 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5137 header.
5138
a9342885
MP
51392017-01-04 Marek Polacek <polacek@redhat.com>
5140
5141 PR c++/64767
5142 * c.opt (Wpointer-compare): New option.
5143
fc73e60c
JJ
51442017-01-04 Jakub Jelinek <jakub@redhat.com>
5145
5146 PR driver/78957
5147 * c.opt (fsso-struct=): Add RejectNegative.
5148
cbe34bb5
JJ
51492017-01-01 Jakub Jelinek <jakub@redhat.com>
5150
5151 Update copyright years.
5152
d4a6c0ea
ML
51532016-12-29 Martin Liska <mliska@suse.cz>
5154
5155 PR c/78933
5156 * c.opt (strong-eval-order): Add RejectNegative keyword.
5157
67a5ad7c
JM
51582016-12-22 Jason Merrill <jason@redhat.com>
5159
5160 Implement P0522R0, matching of template template arguments.
5161 * c-cppbuiltin.c (c_cpp_builtins): Define
5162 __cpp_template_template_args.
5163
0dba7960
JJ
51642016-12-21 Jakub Jelinek <jakub@redhat.com>
5165
5166 PR bootstrap/78817
5167 * c-common.c (struct nonnull_arg_ctx): New type.
5168 (check_function_nonnull): Return bool instead of void. Use
5169 nonnull_arg_ctx as context rather than just location_t.
5170 (check_nonnull_arg): Adjust for the new context type, set
5171 warned_p to true if a warning has been diagnosed.
5172 (check_function_arguments): Return bool instead of void.
5173 * c-common.h (check_function_arguments): Adjust prototype.
5174
31bfc9b9
JM
51752016-12-21 Jason Merrill <jason@redhat.com>
5176
5177 * c.opt (-fnew-ttp-matching): New flag.
5178 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5179
629b3d75
MJ
51802016-12-14 Martin Jambor <mjambor@suse.cz>
5181
5182 * c-omp.c: Include omp-general.h instead of omp-low.h.
5183 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5184 name.
5185
474da67e
MS
51862016-12-14 Martin Sebor <msebor@redhat.com>
5187
5188 PR c/17308
5189 * c-common.c (check_nonnull_arg): Disable when optimization
5190 is enabled.
5191
fe366b87
MP
51922016-12-12 Marek Polacek <polacek@redhat.com>
5193
5194 PR c++/78647
5195 * c-common.c (attribute_fallthrough_p): Return false for
5196 error_mark_node.
5197
8bd9f164
MS
51982016-12-08 Martin Sebor <msebor@redhat.com>
5199
5200 PR c/78284
5201 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5202
060162e0
MS
52032016-12-08 Martin Sebor <msebor@redhat.com>
5204
5205 PR c/78165
92a285c1
ML
5206 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5207 suffix.
060162e0 5208
ee92e7ba
MS
52092016-12-07 Martin Sebor <msebor@redhat.com>
5210
5211 PR c/53562
5212 PR middle-end/77784
5213 PR middle-end/78149
5214 PR middle-end/78138
5215 * c.opt (-Wstringop-overflow): New option.
5216
84b0769e
MO
52172016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
5218
5219 * c-attribs.c (asan odr indicator): New attribute.
5220 (handle_asan_odr_indicator_attribute): New function.
5221
7fa6a965
PK
52222016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5223
5224 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5225 ptrdiff_type_node;
5226
56d8ffc1
JG
52272016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5228
5229 * c-common.c (excess_precision_mode_join): New.
5230 (c_ts18661_flt_eval_method): New.
5231 (c_c11_flt_eval_method): Likewise.
5232 (c_flt_eval_method): Likewise.
5233 * c-common.h (excess_precision_mode_join): New.
5234 (c_flt_eval_method): Likewise.
5235 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5236 (cpp_iec_559_value): Call it.
5237 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5238 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5239 __FLT_EVAL_METHOD_TS_18661_3__.
5240
04f0fcf7
JG
52412016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
5242
5243 * c-opts.c (c_common_post_options): Add logic to handle the default
5244 case for -fpermitted-flt-eval-methods.
5245
fb2675cb
PB
52462016-11-23 Paolo Bonzini <bonzini@gnu.org>
5247
5248 * c.opt (Wexpansion-to-defined): New.
5249
ec1c5694
JJ
52502016-11-23 Jakub Jelinek <jakub@redhat.com>
5251
5252 PR target/78451
5253 * c-pragma.c (handle_pragma_target): Don't replace
5254 current_target_pragma, but chainon the new args to the current one.
5255
730c9e75
NS
52562016-11-22 Nathan Sidwell <nathan@acm.org>
5257
5258 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 5259 indentation and formatting.
730c9e75 5260
89990732
MS
52612016-11-21 Martin Sebor <msebor@redhat.com>
5262
5263 * c.opt (-fprintf-return-value): Enable by default.
5264
48330c93
BE
52652016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5266
5267 PR c++/71973
5268 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5269 * c-common.c (c_common_nodes_and_builtins): Initialize
5270 const_tm_ptr_type_node.
5271
0d939c95
MP
52722016-11-16 Marek Polacek <polacek@redhat.com>
5273
5274 PR c/78285
5275 * c-common.c (c_add_case_label): Turn error_at calls into inform.
5276
8e745a17
JJ
52772016-11-14 Jakub Jelinek <jakub@redhat.com>
5278
5279 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5280
1ee62b92 52812016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
5282 Richard Biener <rguenther@suse.de>
5283
5284 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5285 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5286 * c.opt (fgimple): New option.
1ee62b92 5287
22b15758
UB
52882016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5289
5290 PR c/35503
5291 * c-common.h (warn_for_restrict): Declare.
5292 * c-warn.c: Include gcc-rich-location.h.
5293 (warn_for_restrict): New function.
5294 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5295 (gcc_cdiag_char_table): Likewise.
5296 (gcc_cxxdiag_char_table): Likewise.
5297 * c.opt (Wrestrict): New option.
5298
4be719cd
EB
52992016-11-13 Eric Botcazou <ebotcazou@adacore.com>
5300
5301 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5302 for nested types only if the type is a record or union and dump SLOC.
5303
4a826ca6
JM
53042016-11-09 Jason Merrill <jason@redhat.com>
5305
5306 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5307
2e955d50
JJ
53082016-11-09 Jakub Jelinek <jakub@redhat.com>
5309
5310 * c-ubsan.c (ubsan_instrument_shift): Handle split
5311 -fsanitize=shift-base and -fsanitize=shift-exponent.
5312
51dc6603
JM
53132016-11-07 Jason Merrill <jason@redhat.com>
5314
5315 * c.opt (Wc++1z-compat): New.
5316 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5317
6dc4a604
ML
53182016-11-07 Martin Liska <mliska@suse.cz>
5319
5320 * c-warn.c (warn_for_unused_label): Save all labels used
5321 in goto or in &label.
5322
b302001e
JM
53232016-11-03 Jason Merrill <jason@redhat.com>
5324
5325 * c-cppbuiltin.c (c_cpp_builtins): Correct
5326 __cpp_inheriting_constructors.
5327
31f7f784
JM
53282016-11-01 Jason Merrill <jason@redhat.com>
5329
2bc78e3c
JM
5330 * c-cppbuiltin.c (c_cpp_builtins): Update
5331 __cpp_inheriting_constructors.
5332
31f7f784
JM
5333 * c.opt (-fnew-inheriting-ctors): New.
5334 * c-opts.c: Default to on for ABI 11+.
5335
dcb466ec
JJ
53362016-10-31 Jakub Jelinek <jakub@redhat.com>
5337
5338 PR c++/77948
5339 * c.opt (fext-numeric-literals): Add Var and Init.
5340 * c-opts.c (c_common_handle_option): Don't clear
5341 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5342 (c_common_post_options): Clear it here if not set
5343 explicitly.
5344
52e1b91e
AH
53452016-10-28 Aldy Hernandez <aldyh@redhat.com>
5346
5347 PR debug/77773
5348 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5349 if NULL.
5350
e16f1cc7
JJ
53512016-10-25 Jakub Jelinek <jakub@redhat.com>
5352
5353 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
5354 * c-common.c (c_common_reswords): Add __builtin_launder.
5355
f8348061
BE
53562016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
5357
5358 * c-common.c (c_common_truthvalue_conversion): Warn for
5359 multiplications in boolean context. Fix the quoting of '<<' and '<'
5360 in the shift warning.
5361
eff89e01
BE
53622016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
5363
5364 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
5365
24bc7bf4
JM
53662016-10-20 Jason Merrill <jason@redhat.com>
5367
5368 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
5369
4c712374
BE
53702016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5371
5372 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
5373 integer shift ops in boolean context.
5374
53752016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
5376
5377 * c.opt (Walloca): New.
5378 (Walloca-larger-than=): New.
5379 (Wvla-larger-than=): New.
5380
8fa18c06
MP
53812016-10-17 Marek Polacek <polacek@redhat.com>
5382
5383 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
5384 Return immediately when finding a match.
5385 (warn_tautological_cmp): Remove a boolean variable that is no longer
5386 needed.
5387
b12b1915
MP
53882016-10-17 Marek Polacek <polacek@redhat.com>
5389
5390 * c-attribs.c: New file.
5391 * c-common.c: Move attributes handling to c-attribs.c.
5392 (get_nonnull_operand): No longer static.
5393 * c-common.h: Move the declarations from c-attribs.c to its own section.
5394
2045acd9
JM
53952016-10-14 Jason Merrill <jason@redhat.com>
5396
5397 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
5398 and __cpp_deduction_guides.
5399
14a2c9aa
JM
54002016-10-13 Jason Merrill <jason@redhat.com>
5401
5402 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
5403
4d0cdd0c
TP
54042016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5405
5406 * c-cppbuiltin.c: Include memmodel.h.
5407 * c-opts.c: Likewise.
5408 * c-pragma.c: Likewise.
5409 * c-warn.c: Likewise.
5410
70f6d5e1
JJ
54112016-10-12 Jakub Jelinek <jakub@redhat.com>
5412
5413 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
5414 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
5415 * c-opts.c (sanitize_cpp_opts): Initialize
5416 cpp_opts->cpp_warn_implicit_fallthrough.
5417
78f61294
MP
54182016-10-11 Marek Polacek <polacek@redhat.com>
5419
5420 * c-common.c (warning_candidate_p): Change the return type to bool
5421 and return true/false instead of 1/0.
5422 (vector_mode_valid_p): Likewise.
5423
038b5cc0
MP
54242016-10-11 Marek Polacek <polacek@redhat.com>
5425
5426 * c-common.c (fold_for_warn): No longer static.
5427 (bool_promoted_to_int_p): Likewise.
5428 (c_common_get_narrower): Likewise.
5429 (constant_expression_warning): Move to c-warn.c.
5430 (constant_expression_error): Likewise.
5431 (overflow_warning): Likewise.
5432 (warn_logical_operator): Likewise.
5433 (find_array_ref_with_const_idx_r): Likewise.
5434 (warn_tautological_cmp): Likewise.
5435 (expr_has_boolean_operands_p): Likewise.
5436 (warn_logical_not_parentheses): Likewise.
5437 (warn_if_unused_value): Likewise.
5438 (strict_aliasing_warning): Likewise.
5439 (sizeof_pointer_memaccess_warning): Likewise.
5440 (check_main_parameter_types): Likewise.
5441 (conversion_warning): Likewise.
5442 (warnings_for_convert_and_check): Likewise.
5443 (match_case_to_enum_1): Likewise.
5444 (match_case_to_enum): Likewise.
5445 (c_do_switch_warnings): Likewise.
5446 (warn_for_omitted_condop): Likewise.
5447 (readonly_error): Likewise.
5448 (lvalue_error): Likewise.
5449 (invalid_indirection_error): Likewise.
5450 (warn_array_subscript_with_type_char): Likewise.
5451 (warn_about_parentheses): Likewise.
5452 (warn_for_unused_label): Likewise.
5453 (warn_for_div_by_zero): Likewise.
5454 (warn_for_memset): Likewise.
5455 (warn_for_sign_compare): Likewise.
5456 (do_warn_double_promotion): Likewise.
5457 (do_warn_unused_parameter): Likewise.
5458 (record_locally_defined_typedef): Likewise.
5459 (maybe_record_typedef_use): Likewise.
5460 (maybe_warn_unused_local_typedefs): Likewise.
5461 (maybe_warn_bool_compare): Likewise.
5462 (maybe_warn_shift_overflow): Likewise.
5463 (warn_duplicated_cond_add_or_warn): Likewise.
5464 (diagnose_mismatched_attributes): Likewise.
5465 * c-common.h: Move the declarations from c-warn.c to its own section.
5466 * c-warn.c: New file.
5467
627be19f
JM
54682016-10-08 Jason Merrill <jason@redhat.com>
5469
5470 * c-common.c (c_common_truthvalue_conversion): Don't distribute
5471 into COND_EXPR in C++.
5472
7bad794a
JJ
54732016-10-08 Jakub Jelinek <jakub@redhat.com>
5474
5475 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
5476 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
5477 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
5478
be845b04
JJ
54792016-10-07 Jakub Jelinek <jakub@redhat.com>
5480
5481 Implement LWG2296 helper intrinsic
5482 * c-common.h (enum rid): Add RID_ADDRESSOF.
5483 * c-common.c (c_common_reswords): Add __builtin_addressof.
5484
c09c4992
BE
54852016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
5486
5487 PR c++/77700
5488 * c-common.c (c_common_truthvalue_conversion): Warn also for
5489 suspicious enum values in boolean context.
5490
342cfb3e
JJ
54912016-10-06 Jakub Jelinek <jakub@redhat.com>
5492
5493 Implement P0258R2 - helper for C++17
5494 std::has_unique_object_representations trait
5495 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
5496 * c-common.c (c_common_reswords): Add
5497 __has_unique_object_representations.
5498
2e69f143
JJ
54992016-10-05 Jakub Jelinek <jakub@redhat.com>
5500
5501 PR sanitizer/66343
5502 * c-ubsan.c (ubsan_instrument_return): Don't call
5503 initialize_sanitizer_builtins here.
5504
700fff34
BE
55052016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5506
5507 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
5508 conditional expression in boolean context when only one arm is
5509 non-boolean.
5510
9563bfcd
JJ
55112016-10-05 Jakub Jelinek <jakub@redhat.com>
5512
04a32443
JJ
5513 PR sanitizer/77823
5514 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
5515 is not integral.
5516
9563bfcd
JJ
5517 * c-common.c (c_common_reswords): Update comment for C++11.
5518
f1644724
JM
55192016-10-04 Jason Merrill <jason@redhat.com>
5520
5521 * c-common.c (make_tree_vector_from_ctor): New.
5522 * c-common.h: Declare it.
5523
5a79befb
JJ
55242016-10-04 Jakub Jelinek <jakub@redhat.com>
5525
5526 * c-cppbuiltin.c (c_cpp_builtins): Don't define
5527 __LIBGCC_JCR_SECTION_NAME__.
5528
1633d3b9
BE
55292016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
5530
5531 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
5532 left shift in boolean context.
5533
a2c6e7f2
JJ
55342016-09-29 Jakub Jelinek <jakub@redhat.com>
5535
5536 Implement P0001R1 - C++17 removal of register storage class specifier
5537 * c.opt (Wregister): New warning.
5538 * c-opts.c (c_common_post_options): Enable -Wregister by
5539 default for C++17.
5540
75304c87
JG
55412016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
5542
5543 * c-opts.c (c_common_post_options): Remove special case for
5544 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
5545 in C++.
5546
bbfac6da
JJ
55472016-09-27 Jakub Jelinek <jakub@redhat.com>
5548
6e39060a
JJ
5549 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
5550 -std=c++1z.
5551
bbfac6da
JJ
5552 * c-ada-spec.c (print_ada_declaration): Remove break after return.
5553
e73cf9a2
TP
55542016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
5555
5556 * c-common.c: Include memmodel.h.
5557
c6147dc4
MP
55582016-09-26 Marek Polacek <polacek@redhat.com>
5559
5560 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
5561
81fea426
MP
55622016-09-26 Marek Polacek <polacek@redhat.com>
5563
5564 PR c/7652
5565 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
5566 (handle_fallthrough_attribute): New function.
5567 (attribute_fallthrough_p): New function.
5568 * c-common.h (attribute_fallthrough_p): Declare.
5569
9a2300e9
MP
55702016-09-24 Marek Polacek <polacek@redhat.com>
5571
5572 PR c/77490
5573 * c.opt (Wbool-operation): New.
5574
a09e9e35
BE
55752016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5576
5577 * c-common.c (c_common_truthvalue_conversion): Inhibit
5578 Wint-in-bool-context warning with from_macro_definition_at.
5579 Mention the expression will always evaluate to true.
5580
d43b4ccc
MS
55812016-09-21 Martin Sebor <msebor@redhat.com>
5582
5583 PR bootstrap/77676
5584 * c.opt (fprintf-return-value): Temporarily initialize to zero
5585 to unblock bootstrap failures.
5586
2e1c20b1
JJ
55872016-09-21 Jakub Jelinek <jakub@redhat.com>
5588
5589 PR c++/77651
5590 * c.opt (Waligned-new=): Add RejectNegative.
5591 (faligned-new=): Likewise. Spelling fix - change
5592 aligned_new_threshhold to aligned_new_threshold.
5593 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
5594 to aligned_new_threshold.
5595
88d0c3f0
MS
55962016-09-20 Martin Sebor <msebor@redhat.com>
5597
5598 PR middle-end/49905
5599 * c.opt: Add -Wformat-length and -fprintf-return-value.
5600
144a96e4
BE
56012016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5602
5603 PR c++/77434
5604 * c.opt (Wint-in-bool-context): New warning.
5605 * c-common.c (c_common_truthvalue_conversion): Warn on integer
5606 constants in boolean context.
5607
63012d9a
JM
56082016-09-19 Joseph Myers <joseph@codesourcery.com>
5609
5610 * c-common.c (max_align_t_align): Also consider alignment of
5611 float128_type_node.
5612
931388ce
JM
56132016-09-15 Jason Merrill <jason@redhat.com>
5614
5615 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
5616 DECL_EXTERNAL.
5617
38711381
JM
56182016-09-14 Jason Merrill <jason@redhat.com>
5619
5620 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5621 limit FIELD_DECL, either.
5622
e51fbec3
MP
56232016-09-14 Marek Polacek <polacek@redhat.com>
5624
5625 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
5626 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
5627 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
5628
254830ba
DM
56292016-09-13 David Malcolm <dmalcolm@redhat.com>
5630
5631 * c-common.c (warn_logical_not_parentheses): Replace
5632 rich_location::add_fixit_insert calls with add_fixit_insert_before
5633 and add_fixit_insert_after, eliminating the "next_loc" calculation.
5634
42763690
JM
56352016-09-13 Jason Merrill <jason@redhat.com>
5636 Tom de Vries <tom@codesourcery.com>
5637
5638 PR c++/77427
5639 * c-common.c (set_underlying_type): Don't treat array as builtin type.
5640
9453eee9
JM
56412016-09-13 Jason Merrill <jason@redhat.com>
5642
5643 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5644 limit types at all.
5645
e96809e3
JM
56462016-09-12 Jason Merrill <jason@redhat.com>
5647
5648 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
5649 bit/byte confusion, allow large alignment for types.
5650
54dcdb88
BE
56512016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
5652
5653 PR c++/77496
5654 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
5655
d1463eb9
DM
56562016-09-12 David Malcolm <dmalcolm@redhat.com>
5657
5658 PR c/72858
5659 * c-format.c (argument_parser::check_argument_type): Add params
5660 "type_start" and "conversion_char". Use the former to generate
5661 offset_to_type_start and pass it and conversion_char to
5662 check_format_types.
5663 (check_format_info_main): Capture the start of the type
5664 information as "type_start", and pass it an format_char
5665 to arg_parser.check_argument_type.
5666 (check_format_types): Provide an example in the leading comment.
5667 Add params "offset_to_type_start" and "conversion_char"; pass
5668 them to format_type_warning calls.
5669 (test_get_modifier_for_format_len): Likewise.
5670 (matching_type_p): New function.
5671 (get_format_for_type): Add param "conversion_char" and move
5672 implementation into...
5673 (get_format_for_type_1): ...new function, called twice.
5674 Use new function matching_type_p rather than checking for
5675 TYPE_CANONICAL equality.
5676 (get_corrected_substring): New function.
5677 (format_type_warning): Provide an example in the leading comment.
5678 Add params "offset_to_type_start" and "conversion_char". Replace
5679 call to get_format_for_type with call to get_corrected_substring
5680 and move rejection of hints for widths/precisions there.
5681 (assert_format_for_type_streq): Add param "conversion_char".
5682 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
5683 (test_get_format_for_type_printf): Add conversion chars to the
5684 tests, adding coverage for various combinations of integer
5685 vs double conversions, and for preserving octal and hexadecimal
5686 conversions.
5687 (test_get_format_for_type_scanf): Add conversion chars to the
5688 tests.
5689
5b28efbb
TV
56902016-09-10 Tom de Vries <tom@codesourcery.com>
5691
5692 PR C/71602
5693 * c-common.c (build_va_arg): Handle more strict
5694 targetm.canonical_va_list_type. Replace first argument type error with
5695 assert.
5696
3f0177e7
MS
56972016-09-09 Martin Sebor <msebor@redhat.com>
5698
5699 PR c/77520
5700 PR c/77521
5701 * c-format.c (argument_parser::find_format_char_info): Use %qc
5702 format directive unconditionally.
5703
af63ba4b
JM
57042016-09-09 Jason Merrill <jason@redhat.com>
5705
5706 Implement C++17 new of over-aligned types.
5707 * c.opt: Add -faligned-new and -Waligned-new.
5708 * c-common.c (max_align_t_align): Split out from...
5709 (cxx_fundamental_alignment_p): ...here.
5710 * c-common.h: Declare it.
5711 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
5712
c65248cb
JM
57132016-09-09 Joseph Myers <joseph@codesourcery.com>
5714
5715 * c-cppbuiltin.c (builtin_define_type_width): New function.
5716 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
5717 macros.
5718
e5106e27
DM
57192016-09-07 David Malcolm <dmalcolm@redhat.com>
5720
5721 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
5722 a POINTER_TYPE.
5723 (substring_loc::get_location): Move to substring-locations.c,
5724 keeping implementation as...
5725 (c_get_substring_location): New function, from the above, reworked
5726 to use accessors rather than member lookup.
5727 * c-common.h (class substring_loc): Move to substring-locations.h,
5728 replacing with a forward decl.
5729 (c_get_substring_location): New decl.
5730 * c-format.c: Include "substring-locations.h".
5731 (format_warning_va): Move to substring-locations.c.
5732 (format_warning_at_substring): Likewise.
5733
ab20d992 57342016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
5735
5736 PR c/77336
5737 * c-format.c (check_function_format): Avoid issuing warnings for
5738 functions unless they call format functions with non-constant
5739 format strings.
5740
b772a565
RB
57412016-09-06 Richard Biener <rguenther@suse.de>
5742
5743 PR c/77450
5744 * c-common.c (c_common_mark_addressable_vec): Handle
5745 COMPOUND_LITERAL_EXPR.
5746
25ff5dd3
MP
57472016-09-05 Marek Polacek <polacek@redhat.com>
5748
5749 PR c/77423
5750 * c-common.c (bool_promoted_to_int_p): New function.
5751 (expr_has_boolean_operands_p): New function.
5752 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
5753 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
5754
21234eb5
TV
57552016-09-04 Tom de Vries <tom@codesourcery.com>
5756
5757 revert:
5758 2016-08-29 Tom de Vries <tom@codesourcery.com>
5759
5760 * c-common.c (build_va_arg): Replace first argument type error
5761 with assert.
5762
9dc5773f
JJ
57632016-09-02 Jakub Jelinek <jakub@redhat.com>
5764
5765 PR c/65467
5766 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
5767 (c_finish_omp_for): Reject _Atomic qualified iterators.
5768
57692016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
5770
5771 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
5772 size to guarantee it fits the output of the formatted function
5773 regardless of its arguments.
5774
295844f6
MP
57752016-09-01 Marek Polacek <polacek@redhat.com>
5776
5777 PR c/7652
5778 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
5779 FALLTHRU comments.
5780
3d06b6f2
MP
57812016-08-29 Marek Polacek <polacek@redhat.com>
5782
5783 PR c/77292
5784 * c-common.c (warn_logical_not_parentheses): Don't warn for
5785 a comparison or a logical operator.
5786
34cedad5
TV
57872016-08-29 Tom de Vries <tom@codesourcery.com>
5788
5789 * c-common.c (build_va_arg): Fix type comparison assert.
5790
f162d717
TV
57912016-08-29 Tom de Vries <tom@codesourcery.com>
5792
5793 * c-common.c (build_va_arg): Replace first argument type error
5794 with assert.
5795
ba9bbd6f
TV
57962016-08-29 Tom de Vries <tom@codesourcery.com>
5797
5798 PR c/77398
5799 * c-common.c (build_va_arg): Add first argument error. Build va_arg
5800 with error_mark_node as va_list instead of with illegal va_list.
5801
ebef225f
MP
58022016-08-25 Marek Polacek <polacek@redhat.com>
5803 David Malcolm <dmalcolm@redhat.com>
5804
5805 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
5806 * c-common.h (warn_logical_not_parentheses): Update declaration.
5807
b00e6e75
MP
58082016-08-22 Marek Polacek <polacek@redhat.com>
5809
5810 PR c++/77321
5811 * c-common.c (warn_for_memset): Check type for null.
5812
6dc198e3
JM
58132016-08-22 Joseph Myers <joseph@codesourcery.com>
5814
14ec014e 5815 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
5816 _FloatNx types for suffixes for built-in functions.
5817
c65699ef
JM
58182016-08-19 Joseph Myers <joseph@codesourcery.com>
5819
5820 PR c/32187
5821 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
5822 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
5823 (RID_FLOAT128X): New enum rid values.
5824 (CASE_RID_FLOATN_NX): New macro.
5825 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
5826 keywords.
5827 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
5828 corresponding complex types.
5829 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
5830 _FloatNx and corresponding complex types.
5831 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
5832 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
5833 and _FloatNx types for the widest type for determining
5834 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
5835 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
5836 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
5837 and _FloatNx types.
5838 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
5839 constants.
5840 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
5841 _FloatNx types.
5842
cc015f3a
DM
58432016-08-18 David Malcolm <dmalcolm@redhat.com>
5844
5845 * c-opts.c (c_diagnostic_finalizer): Update for change to
5846 diagnostic_show_locus.
5847
cb18fd07
DM
58482016-08-18 David Malcolm <dmalcolm@redhat.com>
5849
5850 * c-common.c: Include "spellcheck.h".
5851 (cb_get_suggestion): New function.
5852 * c-common.h (cb_get_suggestion): New decl.
5853 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
5854 cb_get_suggestion.
5855
a76989dc
MP
58562016-08-18 Marek Polacek <polacek@redhat.com>
5857
5858 PR c/71514
5859 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
5860 and pointer-to-VLA.
5861
65e736c0
DM
58622016-08-16 David Malcolm <dmalcolm@redhat.com>
5863
5864 PR c/72857
5865 * c-common.c (substring_loc::get_range): Rename to...
5866 (substring_loc::get_location): ...this, converting param from a
5867 source_range * to a location_t *. Call
5868 get_source_location_for_substring rather than
5869 get_source_range_for_substring, and pass in m_caret_idx.
5870 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
5871 (substring_loc::get_range): Replace with...
5872 (substring_loc::get_location): ...this.
5873 (substring_loc::set_caret_index): New method.
5874 (substring_loc): Add field m_caret_idx.
5875 * c-format.c (format_warning_va): Update for above changes.
5876 Rename local "substring_loc" to "fmt_substring_loc" to avoid
5877 clashing with type name.
5878 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
5879 (check_argument_type): Likewise.
5880 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
5881 Use a copy when emitting warnings, setting the caret index from TYPE.
5882
7e1dde14 58832016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5884 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
5885
5886 * c-ada-spec.c (dump_number): New function.
5887 (handle_escape_character): Likewise.
5888 (print_ada_macros): Add handling of constant integers and strings.
5889
191816a3
MP
58902016-08-12 Marek Polacek <polacek@redhat.com>
5891
5892 PR c/7652
5893 * c-common.c (scalar_to_vector): Adjust fall through comment.
5894 * c-opts.c (c_common_handle_option): Likewise.
5895 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
5896 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
5897 fall through comment.
5898 * cilk.c (extract_free_variables): Add FALLTHRU.
5899
452df4a4
JM
59002016-08-10 Jason Merrill <jason@redhat.com>
5901
5902 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
5903
f3365c12
JM
59042016-08-09 Jason Merrill <jason@redhat.com>
5905
5906 * c-common.c (c_common_attribute_table): vector_size affects type
5907 identity.
5908
f0bc3323
MP
59092016-08-09 Marek Polacek <polacek@redhat.com>
5910
5911 PR c/7652
5912 * c-ada-spec.c (dump_generic_ada_node): Add return.
5913
98e5a19a
JM
59142016-08-09 Jason Merrill <jason@redhat.com>
5915
5916 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
5917 C++17 constexpr lambdas.
5918
895aa8e1
DM
59192016-08-08 David Malcolm <dmalcolm@redhat.com>
5920
5921 PR c/64955
5922 * c-common.h (selftest::c_format_c_tests): New declaration.
5923 (selftest::run_c_tests): New declaration.
5924 * c-format.c: Include "selftest.h.
5925 (format_warning_va): Add param "corrected_substring" and use
5926 it to add a replacement fix-it hint.
5927 (format_warning_at_substring): Likewise.
5928 (format_warning_at_char): Update for new param of
5929 format_warning_va.
5930 (argument_parser::check_argument_type): Pass "fki" to
5931 check_format_types.
5932 (check_format_types): Add param "fki" and pass it to
5933 format_type_warning.
5934 (deref_n_times): New function.
5935 (get_modifier_for_format_len): New function.
5936 (selftest::test_get_modifier_for_format_len): New function.
5937 (get_format_for_type): New function.
5938 (format_type_warning): Add param "fki" and use it to attempt
5939 to provide hints for argument types when calling
5940 format_warning_at_substring.
5941 (selftest::get_info): New function.
5942 (selftest::assert_format_for_type_streq): New function.
5943 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
5944 (selftest::test_get_format_for_type_printf): New function.
5945 (selftest::test_get_format_for_type_scanf): New function.
5946 (selftest::c_format_c_tests): New function.
5947
e52ed3fe
DM
59482016-08-08 David Malcolm <dmalcolm@redhat.com>
5949
5950 PR c/52952
5951 * c-format.c: Include "diagnostic.h".
5952 (location_column_from_byte_offset): Delete.
5953 (location_from_offset): Delete.
5954 (format_warning_va): New function.
5955 (format_warning_at_substring): New function.
5956 (format_warning_at_char): New function.
5957 (check_format_arg): Capture location of format_tree and pass to
5958 check_format_info_main.
5959 (argument_parser): Add fields "start_of_this_format" and
5960 "format_string_cst".
5961 (flag_chars_t::validate): Add param "format_string_cst". Convert
5962 warning_at call using location_from_offset to call to
5963 format_warning_at_char.
5964 (argument_parser::argument_parser): Add param "format_string_cst_"
5965 and use use it to initialize field "format_string_cst".
5966 Initialize new field "start_of_this_format".
5967 (argument_parser::read_format_flags): Convert warning_at call
5968 using location_from_offset to a call to format_warning_at_char.
5969 (argument_parser::read_any_format_left_precision): Likewise.
5970 (argument_parser::read_any_format_precision): Likewise.
5971 (argument_parser::read_any_other_modifier): Likewise.
5972 (argument_parser::find_format_char_info): Likewise, in three places.
5973 (argument_parser::parse_any_scan_set): Likewise, in one place.
5974 (argument_parser::handle_conversions): Likewise, in two places.
5975 (argument_parser::check_argument_type): Add param "fmt_param_loc"
5976 and use it to make a substring_loc. Pass the latter to
5977 check_format_types.
5978 (check_format_info_main): Add params "fmt_param_loc" and
5979 "format_string_cst". Convert warning_at calls using
5980 location_from_offset to calls to format_warning_at_char. Pass the
5981 new params to the arg_parser ctor. Pass "format_string_cst" to
5982 flag_chars.validate. Pass "fmt_param_loc" to
5983 arg_parser.check_argument_type.
5984 (check_format_types): Convert first param from a location_t
5985 to a const substring_loc & and rename to "fmt_loc". Attempt
5986 to extract the range of the relevant parameter and pass it
5987 to format_type_warning.
5988 (format_type_warning): Convert first param from a location_t
5989 to a const substring_loc & and rename to "fmt_loc". Add
5990 params "param_range" and "type". Replace calls to warning_at
5991 with calls to format_warning_at_substring.
5992
1c4d457e
DM
59932016-08-08 David Malcolm <dmalcolm@redhat.com>
5994
5995 * c-format.c (class flag_chars_t): New class.
5996 (struct length_modifier): New struct.
5997 (class argument_parser): New class.
5998 (flag_chars_t::flag_chars_t): New ctor.
5999 (flag_chars_t::has_char_p): New method.
6000 (flag_chars_t::add_char): New method.
6001 (flag_chars_t::validate): New method.
6002 (flag_chars_t::get_alloc_flag): New method.
6003 (flag_chars_t::assignment_suppression_p): New method.
6004 (argument_parser::argument_parser): New ctor.
6005 (argument_parser::read_any_dollar): New method.
6006 (argument_parser::read_format_flags): New method.
6007 (argument_parser::read_any_format_width): New method.
6008 (argument_parser::read_any_format_left_precision): New method.
6009 (argument_parser::read_any_format_precision): New method.
6010 (argument_parser::handle_alloc_chars): New method.
6011 (argument_parser::read_any_length_modifier): New method.
6012 (argument_parser::read_any_other_modifier): New method.
6013 (argument_parser::find_format_char_info): New method.
6014 (argument_parser::validate_flag_pairs): New method.
6015 (argument_parser::give_y2k_warnings): New method.
6016 (argument_parser::parse_any_scan_set): New method.
6017 (argument_parser::handle_conversions): New method.
6018 (argument_parser::check_argument_type): New method.
6019 (check_format_info_main): Introduce classes argument_parser
6020 and flag_chars_t, moving the code within the loop into methods
6021 of these classes. Make various locals "const".
6022
88fa5555
DM
60232016-08-05 David Malcolm <dmalcolm@redhat.com>
6024
6025 * c-common.c: Include "substring-locations.h".
6026 (get_cpp_ttype_from_string_type): New function.
6027 (g_string_concat_db): New global.
6028 (substring_loc::get_range): New method.
6029 * c-common.h (g_string_concat_db): New declaration.
6030 (class substring_loc): New class.
6031 * c-lex.c (lex_string): When concatenating strings, capture the
6032 locations of all tokens using a new obstack, and record the
6033 concatenation locations within g_string_concat_db.
6034 * c-opts.c (c_common_init_options): Construct g_string_concat_db
6035 on the ggc-heap.
6036
78169471
MP
60372016-07-29 Marek Polacek <polacek@redhat.com>
6038
638fc14f
MP
6039 PR c/71926
6040 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6041 parentheses warning.
6042
78169471
MP
6043 PR c/71574
6044 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6045
1225d6b1
ML
60462016-07-28 Martin Liska <mliska@suse.cz>
6047
6048 PR gcov-profile/68025
6049 * c-common.c (handle_no_profile_instrument_function_attribute):
6050
ec1e2a40
BE
60512016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
6052
6053 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6054 BITS_PER_UNIT_LOG.
6055
5ec2cd9f
JM
60562016-07-25 Jason Merrill <jason@redhat.com>
6057
6058 PR c++/65970
6059 * c.opt (fconstexpr-loop-limit): New.
6060
9dc5773f 60612016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
6062
6063 PR c++/71675
6064 * c-common.c (resolve_overloaded_builtin): Avoid converting
6065 __atomic_compare_exchange_n return type to that of what its
6066 first argument points to.
6067
e3fe09c1
UB
60682016-07-22 Uros Bizjak <ubizjak@gmail.com>
6069
6070 * c-common.c: Use HOST_WIDE_INT_M1U instead of
6071 ~(unsigned HOST_WIDE_INT) 0.
6072
bc91c436
ML
60732016-07-22 Martin Liska <mliska@suse.cz>
6074
6075 PR gcov-profile/69028
6076 PR gcov-profile/62047
6077 * cilk.c (create_cilk_helper_decl): Set location of a new decl
6078 to the current_function_decl.
6079
451dcc66
JM
60802016-07-21 Jason Merrill <jason@redhat.com>
6081
6082 PR c++/65168
6083 * c-common.c (c_common_truthvalue_conversion): Check
6084 c_inhibit_evaluation_warnings for warning about address of
6085 reference.
6086
de6a69ee
DM
60872016-07-20 David Malcolm <dmalcolm@redhat.com>
6088
6089 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6090 const char *.
6091
d022c55a
JM
60922016-07-15 Jason Merrill <jason@redhat.com>
6093
6094 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6095
ddbbcb19
JJ
60962016-07-15 Jakub Jelinek <jakub@redhat.com>
6097
6098 PR c/71858
6099 * c-common.h (enum lookup_name_fuzzy_kind): Add
6100 FUZZY_LOOKUP_FUNCTION_NAME.
6101
d0cf395a
JM
61022016-07-08 Jason Merrill <jason@redhat.com>
6103
6104 P0145: Refining Expression Order for C++.
6105 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6106 * c-opts.c: Adjust.
6107
98d44e93
MT
61082016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
6109
6110 PR c++/71214
6111 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6112
f9d8d994
TS
61132016-06-29 Thomas Schwinge <thomas@codesourcery.com>
6114
6115 * c-pragma.h (enum pragma_kind): Rename
6116 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
6117 users.
6118
4aa83879
RB
61192016-06-29 Richard Biener <rguenther@suse.de>
6120
6121 PR middle-end/71002
6122 * c-common.c (c_common_get_alias_set): Remove union type punning case.
6123
a25bd9e6
JM
61242016-06-24 Jason Merrill <jason@redhat.com>
6125
6126 P0145R2: Refining Expression Order for C++.
6127 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6128 MODIFY_EXPR.
6129
a86451b9
JJ
61302016-06-24 Jakub Jelinek <jakub@redhat.com>
6131
6132 * c-common.c (check_builtin_function_arguments): Require last
6133 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6134 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6135 if the last argument is pointer to enumerated or boolean type.
6136
1a4f11c8
DM
61372016-06-22 David Malcolm <dmalcolm@redhat.com>
6138
6139 PR c/70339
6140 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6141 (lookup_name_fuzzy): New prototype.
6142
fe55692c
JDA
61432016-06-21 John David Anglin <danglin@gcc.gnu.org>
6144
6145 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6146
4eb24e01
JM
61472016-06-14 Jason Merrill <jason@redhat.com>
6148
6149 P0145R2: Refining Expression Order for C++.
6150 * c.opt (fargs-in-order): New.
6151 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6152
ef7cf206
JJ
61532016-06-13 Jakub Jelinek <jakub@redhat.com>
6154
0dda258b
JJ
6155 PR sanitizer/71498
6156 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6157 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6158
ef7cf206
JJ
6159 PR preprocessor/71183
6160 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6161 to cb_get_source_date_epoch.
6162
50b15873
JJ
61632016-06-10 Jakub Jelinek <jakub@redhat.com>
6164
6165 PR c/68657
6166 * c.opt (Wpsabi): Add Warning flag.
6167
4d926e34
MS
61682016-06-10 Martin Sebor <msebor@redhat.com>
6169
6170 PR c/71392
14ec014e 6171 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
6172 the nonnull attribute in type-generic builtins.
6173
e01b4e16
MS
61742016-06-09 Martin Sebor <msebor@redhat.com>
6175
6176 PR c/70883
6177 * c-common.c (builtin_function_validate_nargs): Make text of error
6178 message consistent with others like it.
6179
44a845ca
MS
61802016-06-08 Martin Sebor <msebor@redhat.com>
6181 Jakub Jelinek <jakub@redhat.com>
6182
6183 PR c++/70507
6184 PR c/68120
6185 * c-common.c (check_builtin_function_arguments): Handle
6186 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6187
a80a7051
RB
61882016-06-08 Richard Biener <rguenther@suse.de>
6189
6190 * c-common.c (parse_optimize_options): Improve diagnostic messages.
6191
bfd67b47
RB
61922016-06-07 Richard Biener <rguenther@suse.de>
6193
6194 PR c/61564
6195 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6196 options and warn about others.
6197
15c98b2e
ES
61982016-06-01 Eduard Sanou <dhole@openmailbox.org>
6199
6200 * c-common.c (get_source_date_epoch): Rename to
6201 cb_get_source_date_epoch.
6202 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6203 message when the parsing fails. Use error_at instead of fatal_error.
6204 * c-common.h (get_source_date_epoch): Rename to
6205 cb_get_source_date_epoch.
6206 * c-common.h (cb_get_source_date_epoch): Prototype.
6207 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6208 * c-common.h (c_omp_region_type): Remove trailing comma.
6209 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6210 * c-lex.c (c_lex_with_flags): Remove initialization of
6211 pfile->source_date_epoch.
6212
00631022
JJ
62132016-05-30 Jakub Jelinek <jakub@redhat.com>
6214
6215 PR c++/71349
6216 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6217 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
6218 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6219 instead of C_OMP_CLAUSE_SPLIT_FOR.
6220
f17a223d
RB
62212016-05-24 Richard Biener <rguenther@suse.de>
6222
6223 PR middle-end/70434
6224 PR c/69504
6225 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6226 (convert_vector_to_array_for_subscript): ... this.
6227 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6228 VIEW_CONVERT_EXPR to an array type. Rename to ...
6229 (convert_vector_to_array_for_subscript): ... this.
6230
4f2e1536
MP
62312016-05-12 Marek Polacek <polacek@redhat.com>
6232
6233 PR c/70756
6234 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6235 size_in_bytes and pass LOC to it.
6236
d6e83a8d
MM
62372016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
6238
6239 PR c/43651
6240 * c.opt (Wduplicate-decl-specifier): New option.
6241
5c3a10fb
MP
62422016-05-11 Marek Polacek <polacek@redhat.com>
6243
6244 PR c++/71024
6245 * c-common.c (diagnose_mismatched_attributes): New function.
6246 * c-common.h (diagnose_mismatched_attributes): Declare.
6247
deef7113
MP
62482016-05-04 Marek Polacek <polacek@redhat.com>
6249
6250 * c.opt (Wdangling-else): New option.
6251
79ce98bc
MP
62522016-05-03 Marek Polacek <polacek@redhat.com>
6253
6254 PR c/70859
6255 * c-common.c (builtin_function_validate_nargs): Add location
6256 parameter. Use it.
6257 (check_builtin_function_arguments): Add location and arguments
6258 parameters. Use them.
6259 * c-common.h (check_builtin_function_arguments): Update declaration.
6260
381cdae4
RB
62612016-05-03 Richard Biener <rguenther@suse.de>
6262
6263 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6264 allow call args to gimplify to SSA names.
6265
1d793c34
MP
62662016-05-03 Marek Polacek <polacek@redhat.com>
6267
6268 * c-common.h (enum c_omp_region_type): Remove stray comma.
6269
77886428
CP
62702016-05-02 Cesar Philippidis <cesar@codesourcery.com>
6271
6272 * c-common.h (enum c_omp_region_type): Define.
6273
697e0b28
RS
62742016-05-02 Richard Sandiford <richard.sandiford@arm.com>
6275
6276 * c-common.c (shorten_compare): Use wi::to_wide.
6277
e7ff0319
CP
62782016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6279
6280 PR middle-end/70626
6281 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6282 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6283 reduction clauses in acc parallel loops.
6284
2fff3db8
MP
62852016-04-29 Marek Polacek <polacek@redhat.com>
6286
6287 PR c/70852
6288 * c-common.c (warn_for_memset): Check domain before accessing it.
6289
509063eb
DV
62902016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
6291
6292 PR/69089
6293 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6294 "aligned" attribute.
6295
b632761d
JM
62962016-04-28 Jason Merrill <jason@redhat.com>
6297
6298 * c-lex.c (c_common_has_attribute): Handle nodiscard.
6299
174f6622
ES
63002016-04-28 Eduard Sanou <dhole@openmailbox.org>
6301 Matthias Klose <doko@debian.org>
6302
6303 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 6304 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
6305 handling.
6306 * c-common.h (get_source_date_epoch): Prototype.
6307 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6308
6bc2bb18
RB
63092015-04-27 Ryan Burn <contact@rnburn.com>
6310
6311 PR c++/69024
6312 PR c++/68997
6313 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6314 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6315 external linkage.
6316 (cilk_detect_and_unwrap): Corresponding changes.
6317 (extract_free_variables): Don't extract free variables from
6318 AGGR_INIT_EXPR slot.
6319 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6320 (cilk_recognize_spawn): Likewise.
6321
c1e1f433
BS
63222016-04-27 Bernd Schmidt <bschmidt@redhat.com>
6323
6324 * c.opt (Wmemset-elt-size): New option.
6325 * c-common.c (warn_for_memset): New function.
6326 * c-common.h (warn_for_memset): Declare.
6327
d067e05f
JM
63282016-04-25 Jason Merrill <jason@redhat.com>
6329
6330 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6331 No longer static.
6332 * c-common.h: Declare it.
6333 * c-lex.c (c_common_has_attribute): Add maybe_unused.
6334
9aa36ae5
JM
63352016-04-22 Jason Merrill <jason@redhat.com>
6336
6337 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6338
477d4906
IV
63392016-04-20 Ilya Verbin <ilya.verbin@intel.com>
6340
6341 PR c++/69363
6342 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6343 * c-common.h (c_finish_cilk_clauses): Remove declaration.
6344
fe37c7af
MM
63452016-04-18 Michael Matz <matz@suse.de>
6346
6347 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6348 and SET_DECL_ALIGN.
6349
23f2660f
EB
63502016-04-17 Eric Botcazou <ebotcazou@adacore.com>
6351
6352 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
6353 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
6354 to incomplete types.
6355 (dump_nested_type): Remove redundant tests and tidy up.
6356 (print_ada_declaration): Also set TREE_VISITED on the declaration of
6357 a type which is the typedef of an original type.
6358
1e77281b
MP
63592016-04-15 Marek Polacek <polacek@redhat.com>
6360
6361 PR c/70651
6362 * c-common.c (build_va_arg): Change two asserts into errors and return
6363 error_mark_node.
6364
b3a77f21
MP
63652016-04-13 Marek Polacek <polacek@redhat.com>
6366
6367 PR c++/70639
6368 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
6369 for switch statements, too.
6370
322b8466
JM
63712016-03-28 Jason Merrill <jason@redhat.com>
6372
6373 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
6374
fbdb6baf
MP
63752016-03-23 Marek Polacek <polacek@redhat.com>
6376
6377 PR c++/69884
6378 * c.opt (Wignored-attributes): New option.
6379
5c240f4d
DM
63802016-03-22 David Malcolm <dmalcolm@redhat.com>
6381
6382 PR c/69993
6383 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
6384 diagnostic text, reversing the order of the warning and note so
6385 that they appear in source order.
6386
14ba7b28
MP
63872016-03-17 Marek Polacek <polacek@redhat.com>
6388
6389 PR c/69407
6390 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
6391 operations.
6392
08a1cadc
JM
63932016-03-14 Jason Merrill <jason@redhat.com>
6394
2aaeea19
JM
6395 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
6396
08a1cadc
JM
6397 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
6398
c06d25bb
RB
63992016-03-09 Richard Biener <rguenther@suse.de>
6400
6401 PR c/70143
6402 * c-common.c (strict_aliasing_warning): Add back
6403 alias_sets_conflict_p check.
6404
80aac5c8
JM
64052016-03-08 Jason Merrill <jason@redhat.com>
6406
6407 * c-opts.c (set_std_cxx1z): Don't enable concepts.
6408
64b23c13
DM
64092016-03-04 David Malcolm <dmalcolm@redhat.com>
6410
6411 PR c/68187
6412 * c-indentation.c (get_visual_column): Move code to determine next
6413 tab stop to...
6414 (next_tab_stop): ...this new function.
6415 (line_contains_hash_if): Delete function.
6416 (detect_preprocessor_logic): Delete function.
6417 (get_first_nws_vis_column): New function.
6418 (detect_intervening_unindent): New function.
6419 (should_warn_for_misleading_indentation): Replace call to
6420 detect_preprocessor_logic with a call to
6421 detect_intervening_unindent.
6422
729526f5
DM
64232016-03-04 David Malcolm <dmalcolm@redhat.com>
6424
6425 PR c/68187
6426 * c-indentation.c (should_warn_for_misleading_indentation): When
6427 suppressing warnings about cases where the guard and body are on
6428 the same column, only use the first non-whitespace column in place
6429 of the guard token column when dealing with "else" clauses.
6430 When rejecting aligned BODY and NEXT, loosen the requirement
6431 from equality with the first non-whitespace of guard to simply
6432 that they not be indented relative to it.
6433
e9a35493
RB
64342016-03-04 Richard Biener <rguenther@suse.de>
6435
6436 PR c++/70054
6437 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
6438 instead of alias_sets_conflict_p.
6439
1be56bc5
MP
64402016-03-01 Marek Polacek <polacek@redhat.com>
6441
6442 PR c++/69795
6443 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
6444 any DECL.
6445
35886f0b
MS
64462016-02-22 Martin Sebor <msebor@redhat.com>
6447
6448 PR middle-end/69780
6449 * c-common.c (check_builtin_function_arguments): Validate and
6450 reject invalid arguments to __builtin_alloca_with_align.
6451
4246c8da
MW
64522016-02-20 Mark Wielaard <mjw@redhat.com>
6453
6454 PR c/28901
6455 * c.opt (Wunused-const-variable): Turn into Alias for...
6456 (Wunused-const-variable=): New option.
6457
268be88c
BE
64582016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
6459
6460 PR c++/69865
6461 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
6462 here...
6463 (c_common_init_options): ...to here.
6464 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
6465
871b3f47
JJ
64662016-02-19 Jakub Jelinek <jakub@redhat.com>
6467
6468 PR c++/69826
6469 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
6470 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
6471 flag_preprocess_only.
6472
bf14eba2
JJ
64732016-02-16 Jakub Jelinek <jakub@redhat.com>
6474
6475 PR c/69835
6476 * c.opt (Wnonnull-compare): Enable for -Wall.
6477
ba6b3795
JJ
64782016-02-15 Jakub Jelinek <jakub@redhat.com>
6479
6480 PR c++/69797
6481 * c-common.c (sync_resolve_size): Diagnose too few arguments
6482 even when params is non-NULL empty vector.
6483
a011cd92
BS
64842016-02-08 Bernd Schmidt <bschmidt@redhat.com>
6485
6486 PR target/60410
6487 * c.opt (fshort-double): Remove.
6488
46cb9332
MS
64892016-02-05 Martin Sebor <msebor@redhat.com>
6490
6491 PR c++/69662
6492 * c.opt (Warning options): Update -Wplacement-new to take
6493 an optional argument.
6494
e1b81f2b
JJ
64952016-02-01 Jakub Jelinek <jakub@redhat.com>
6496
6497 PR preprocessor/69543
6498 PR c/69558
6499 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
6500 instead of loc to control_warning_option.
6501
b6adbb9f
NS
65022016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6503
6504 * c.opt (fopenacc-dim=): New option.
6505
5d70666e
RB
65062016-01-27 Ryan Burn <contact@rnburn.com>
6507
6508 PR cilkplus/69267
6509 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
6510 gimplify_arg. Removed superfluous post_p argument.
6511 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
6512 superfluous post_p argument.
6513 * c-gimplify.c (c_gimplify_expr): Likewise.
6514
01e1dea3
DM
65152016-01-26 David Malcolm <dmalcolm@redhat.com>
6516
6517 PR other/69006
6518 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
6519 pp_newline_and_flush with pp_flush.
6520
9f04a53e
MS
65212016-01-20 Martin Sebor <msebor@redhat.com>
6522
6523 PR c/69405
6524 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
6525 an incompatible argument when the argument isn't a valid tree node.
6526
7f26f7df
JM
65272016-01-18 Jason Merrill <jason@redhat.com>
6528
6529 PR c++/68767
6530 * c-common.c (check_function_arguments_recurse): Fold the whole
6531 COND_EXPR, not just the condition.
6532
f62bf092
TV
65332016-01-18 Tom de Vries <tom@codesourcery.com>
6534
6535 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
6536 classify as loop clause.
6537
e0a575ff
JJ
65382016-01-15 Jakub Jelinek <jakub@redhat.com>
6539
6540 PR bootstrap/68271
6541 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
6542 C++ FE no longer has limit on number of pragmas.
6543
65442015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
6545
6546 PR c++/69048
6547 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 6548 to add missing cleanup point.
b6e3db06 6549
c7df95d8
DM
65502016-01-14 David Malcolm <dmalcolm@redhat.com>
6551
6552 PR c++/68819
6553 * c-indentation.c (get_visual_column): Add location_t param.
6554 Handle the column number being zero by effectively disabling the
6555 warning, with an "inform".
6556 (should_warn_for_misleading_indentation): Add location_t argument
6557 for all uses of get_visual_column.
6558
21efdd80
PP
65592016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
6560
6561 PR c++/69029
6562 * c-indentation.c (should_warn_for_misleading_indentation):
6563 Don't warn about do-while statements.
6564
7a127fa7
MS
65652016-01-07 Martin Sebor <msebor@redhat.com>
6566
6567 PR c/68966
6568 * c-common.c (sync_resolve_size): Reject first argument when it's
6569 a pointer to _Bool.
6570
c589e975
DM
65712016-01-05 David Malcolm <dmalcolm@redhat.com>
6572
6573 PR c/69122
6574 * c-indentation.c (get_visual_column): Remove default argument.
6575 (should_warn_for_misleading_indentation): For the multiline case,
6576 update call to get_visual_column for next_stmt_exploc so that it
6577 captures the location of the first non-whitespace character in the
6578 relevant line. Don't issue warnings if there is non-whitespace
6579 before the next statement.
6580
818ab71a
JJ
65812016-01-04 Jakub Jelinek <jakub@redhat.com>
6582
6583 Update copyright years.
6584
745e411d
DM
65852015-12-21 David Malcolm <dmalcolm@redhat.com>
6586
6587 * c-common.c (binary_op_error): Convert first param from
6588 location_t to rich_location * and use it when emitting an error.
6589 * c-common.h (binary_op_error): Convert first param from
6590 location_t to rich_location *.
6591
de67c4c3
DM
65922015-12-16 David Malcolm <dmalcolm@redhat.com>
6593
6594 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
6595 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
6596
4a38b02b
IV
65972015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6598
6599 * c-common.c (c_common_attribute_table): Handle "omp declare target
6600 link" attribute.
6601
54d62f51
JJ
66022015-12-14 Jakub Jelinek <jakub@redhat.com>
6603
6604 PR c/68833
6605 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
6606
8d4227c8
TB
66072014-12-12 Tobias Burnus <burnus@net-b.de>
6608
6609 PR fortran/68815
6610 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
6611 specifiers (%d, %i,%u and %c).
6612
f6069ccc
DM
66132015-12-10 David Malcolm <dmalcolm@redhat.com>
6614
6615 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
6616
63bbf46d
JJ
66172015-12-08 Jakub Jelinek <jakub@redhat.com>
6618
6619 PR c/48088
6620 PR c/68657
6621 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
6622 * c-pragma.c (handle_pragma_diagnostic): Adjust
6623 control_warning_option caller.
6624
f79520bb
DM
66252015-12-07 David Malcolm <dmalcolm@redhat.com>
6626
6627 * c-common.c (c_cpp_error): Update for change to
6628 rich_location::set_range.
6629
b3d5bc62
JJ
66302015-12-04 Paolo Bonzini <bonzini@gnu.org>
6631
6632 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
6633 shifting 1 out of the sign bit.
6634
66352015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
6636
6637 * c-common.c (c_common_attribute_table[]): Update max arguments
6638 count for "simd" attribute.
6639 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
6640
6eb4a537
JJ
66412015-12-03 Jakub Jelinek <jakub@redhat.com>
6642
6643 PR preprocessor/57580
6644 * c-ppoutput.c (print): Change printed field to bool.
6645 Move src_file last for smaller padding.
6646 (init_pp_output): Set print.printed to false instead of 0.
6647 (scan_translation_unit): Fix up formatting. Set print.printed
6648 to true after printing something other than newline.
6649 (scan_translation_unit_trad): Set print.printed to true instead of 1.
6650 (maybe_print_line_1): Set print.printed to false instead of 0.
6651 (print_line_1): Likewise.
6652 (do_line_change): Set print.printed to true instead of 1.
6653 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
6654 dump_macro): Set print.printed to false after printing newline.
6655
4250754e
JM
66562015-12-02 Jason Merrill <jason@redhat.com>
6657
f479b43d
JM
6658 * c-common.c (fold_for_warn): New.
6659 (warn_logical_operator, warn_tautological_cmp)
6660 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
6661
4250754e
JM
6662 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
6663 (c_fully_fold_internal, decl_constant_value_for_optimization):
6664 Move to c/c-fold.c.
6665 * c-common.h: Don't declare decl_constant_value_for_optimization.
6666
e9e32ee6
JM
66672015-12-02 Joseph Myers <joseph@codesourcery.com>
6668
6669 PR c/68162
6670 * c-common.h (c_build_qualified_type): Add extra default
6671 arguments.
6672
37d5ad46
JB
66732015-12-01 Julian Brown <julian@codesourcery.com>
6674 Cesar Philippidis <cesar@codesourcery.com>
6675 James Norris <James_Norris@mentor.com>
6676
6677 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
6678 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
6679 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
6680
f07862c7
EB
66812015-11-30 Eric Botcazou <ebotcazou@adacore.com>
6682
6683 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
6684 (decl_sloc_common): Delete and move bulk of processing to...
6685 (decl_sloc): ...here.
6686 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
6687 (dump_ada_double_name): Remove S parameter and compute the suffix.
6688 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
6689 element type and deal with an anonymous one.
6690 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
6691 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
6692 and remove reference to QUAL_UNION_TYPE.
6693 (dump_nested_types): Make 2 passes on the fields and move bulk to...
6694 (dump_nested_type): ...here. New function extracted from above.
6695 Generate a full declaration for anonymous element type of arrays.
6696 (print_ada_declaration): Really skip anonymous declarations. Remove
6697 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
6698 Clean up processing of declarations of array types and objects.
6699 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
6700 Remove obsolete code and tidy up.
6701
75c8aac3
JH
67022015-11-29 Jan Hubicka <hubicka@ucw.cz>
6703
6704 PR c/67581
6705 * c-common.c (handle_transparent_union_attribute): Update
6706 also type variants.
6707
b58d3df2
ML
67082015-11-27 Martin Liska <mliska@suse.cz>
6709
6710 PR c++/68312
6711 * array-notation-common.c (cilkplus_extract_an_triplets):
6712 Release vector of vectors.
6713 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
6714
89a01fcf
EB
67152015-11-26 Eric Botcazou <ebotcazou@adacore.com>
6716
6717 PR c++/68527
6718 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
6719 (print_ada_struct_decl): Likewise.
6720
cc5c5226
IZ
67212015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
6722
6723 PR c++/68001
6724 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
6725 * cilk.c (recognize_spawn): Determine location in a more precise
6726 way.
6727
269adb9d
JM
67282015-11-19 Jason Merrill <jason@redhat.com>
6729
6730 * c-common.c (shorten_compare): But look through macros from
6731 system headers.
6732
d0eccfcd
JM
67332015-11-18 Jason Merrill <jason@redhat.com>
6734
6735 * c-common.c (shorten_compare): Don't -Wtype-limits if the
6736 non-constant operand comes from a macro.
6737
3e44547c
JM
67382015-11-17 Jason Merrill <jason@redhat.com>
6739
6740 PR bootstrap/68346
6741 * c-common.c (warn_tautological_cmp): Fold before checking for
6742 constants.
6743
0f62c7a0
MP
67442015-11-16 Marek Polacek <polacek@redhat.com>
6745
6746 PR c++/68362
6747 * c-common.c (check_case_bounds): Fold low and high cases.
6748
a868811e
MP
67492015-11-16 Marek Polacek <polacek@redhat.com>
6750
6751 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
6752 * c-common.c (c_common_get_alias_set): Likewise.
6753 (handle_visibility_attribute): Likewise.
6754
fff77217
KY
67552015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
6756
6757 * c-common.c (handle_simd_attribute): New.
6758 (struct attribute_spec): Add entry for "simd".
6759 (handle_simd_attribute): New.
6760
269e63b7
KT
67612015-11-13 Kai Tietz <ktietz70@googlemail.com>
6762
6763 * c-lex.c (interpret_float): Use fold_convert.
6764
ebedc9a3
DM
67652015-11-13 David Malcolm <dmalcolm@redhat.com>
6766
6767 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
6768 and store it on the result.
6769 * c-opts.c (c_common_init_options): Set
6770 global_dc->colorize_source_p.
6771
6e232ba4
JN
67722015-11-12 James Norris <jnorris@codesourcery.com>
6773 Joseph Myers <joseph@codesourcery.com>
6774
7365279f 6775 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
6776 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
6777 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
6778 PRAGMA_OACC_CLAUSE_LINK.
6779
e78bede6
MP
67802015-11-11 Marek Polacek <polacek@redhat.com>
6781
6782 PR c/68107
6783 PR c++/68266
6784 * c-common.c (valid_array_size_p): New function.
6785 * c-common.h (valid_array_size_p): Declare.
6786
3f8257db 67872015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
6788
6789 PR bootstrap/68271
6790 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
6791
69f293c9
AM
67922015-11-11 Andrew MacLeod <amacleod@redhat.com>
6793
6794 * array-notation-common.c: Remove unused header files.
6795 * c-ada-spec.c: Likewise.
6796 * c-cilkplus.c: Likewise.
6797 * c-common.c: Likewise.
6798 * c-cppbuiltin.c: Likewise.
6799 * c-dump.c: Likewise.
6800 * c-format.c: Likewise.
6801 * c-gimplify.c: Likewise.
6802 * c-indentation.c: Likewise.
6803 * c-lex.c: Likewise.
6804 * c-omp.c: Likewise.
6805 * c-opts.c: Likewise.
6806 * c-pch.c: Likewise.
6807 * c-ppoutput.c: Likewise.
6808 * c-pragma.c: Likewise.
6809 * c-pretty-print.c: Likewise.
6810 * c-semantics.c: Likewise.
6811 * c-ubsan.c: Likewise.
6812 * cilk.c: Likewise.
6813 * stub-objc.c: Likewise.
6814
3a40d81d
NS
68152015-11-09 Thomas Schwinge <thomas@codesourcery.com>
6816 Cesar Philippidis <cesar@codesourcery.com>
6817 James Norris <jnorris@codesourcery.com>
6818 Julian Brown <julian@codesourcery.com>
6819 Nathan Sidwell <nathan@codesourcery.com>
6820
6821 * c-pragma.c (oacc_pragmas): Add "routine".
6822 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
6823
ee45a32d
EB
68242015-11-08 Eric Botcazou <ebotcazou@adacore.com>
6825
6826 * c-common.c (c_common_attributes): Add scalar_storage_order.
6827 (handle_scalar_storage_order_attribute): New function.
6828 * c-pragma.c (global_sso): New variable.
6829 (maybe_apply_pragma_scalar_storage_order): New function.
6830 (handle_pragma_scalar_storage_order): Likewise.
6831 (init_pragma): Register scalar_storage_order.
6832 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
6833 * c.opt (Wscalar-storage-order): New warning.
6834 (fsso-struct=): New option.
6835
eb11eb15
MS
68362015-11-08 Martin Sebor <msebor@redhat.com>
6837
6838 * c.opt (Wplacement-new): Add a period to the end of a sentence.
6839
0aad0198
RS
68402015-11-07 Richard Sandiford <richard.sandiford@arm.com>
6841
6842 * c-common.c: Don't undef DEF_BUILTIN.
6843
8a645150
DM
68442015-11-06 David Malcolm <dmalcolm@redhat.com>
6845
6846 * c-common.c (c_cpp_error): Convert parameter from location_t to
6847 rich_location *. Eliminate the "column_override" parameter and
6848 the call to diagnostic_override_column.
6849 Update the "done_lexing" clause to set range 0
6850 on the rich_location, rather than overwriting a location_t.
6851 * c-common.h (c_cpp_error): Convert parameter from location_t to
6852 rich_location *. Eliminate the "column_override" parameter.
6853
7a5e4956
CP
68542015-11-05 Cesar Philippidis <cesar@codesourcery.com>
6855 Thomas Schwinge <thomas@codesourcery.com>
6856 James Norris <jnorris@codesourcery.com>
6857
6858 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
6859 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
6860 clauses with parallel and kernels and loops.
6861 * c-pragma.h (enum pragma_omp_clause): Add entries for
6862 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
6863 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
6864 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
6865 INDEPENDENT,SEQ}.
6866 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
6867
e2f5cc96
MS
68682015-11-05 Martin Sebor <msebor@redhat.com>
6869
6870 PR c++/67942
6871 * c.opt (-Wplacement-new): New option.
6872
e01d41e5
JJ
68732015-11-05 Jakub Jelinek <jakub@redhat.com>
6874
6875 * c-common.h (c_finish_omp_atomic): Add TEST argument.
6876 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
6877 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
6878 save_expr or create_tmp_var* if TEST is true.
6879 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
6880 Don't call add_stmt here.
6881 (struct c_omp_check_loop_iv_data): New type.
6882 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
6883 c_omp_check_loop_iv_exprs): New functions.
6884 (c_omp_split_clauses): Adjust for lastprivate being allowed on
6885 distribute.
6886 (c_omp_declare_simd_clauses_to_numbers): Change
6887 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
6888 (c_omp_declare_simd_clauses_to_decls): Similarly change those
6889 from numbers to PARM_DECLs.
6890
595278be
MM
68912015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
6892
6893 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
6894 flag_checking.
6895
3f8257db 68962015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
6897
6898 PR c++-common/67882
b3d5bc62
JJ
6899 * c-common.h (fold_offsetof_1): Add argument.
6900 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
6901 offsetof expressions that reference elements past the end of
6902 an array.
6903
4bf9e5a8
TS
69042015-11-03 Thomas Schwinge <thomas@codesourcery.com>
6905 Chung-Lin Tang <cltang@codesourcery.com>
6906
6907 * c-pragma.c (oacc_pragmas): Add "atomic".
6908 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
6909
3b1661a9
ES
69102015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
6911
6912 * c-common.c (handle_target_clones_attribute): New.
6913 (c_common_attribute_table): Add handle_target_clones_attribute.
6914 (handle_always_inline_attribute): Add check on target_clones attribute.
6915 (handle_target_attribute): Ditto.
6916
2adfab87
AM
69172015-10-29 Andrew MacLeod <amacleod@redhat.com>
6918
6919 * array-notation-common.c: Reorder #include's and remove duplicates.
6920 * c-ada-spec.c: Likewise.
6921 * c-cilkplus.c: Likewise.
6922 * c-common.c: Likewise.
6923 * c-cppbuiltin.c: Likewise.
6924 * c-dump.c: Likewise.
6925 * c-format.c: Likewise.
6926 * c-gimplify.c: Likewise.
6927 * c-indentation.c: Likewise.
6928 * c-lex.c: Likewise.
6929 * c-omp.c: Likewise.
6930 * c-opts.c: Likewise.
6931 * c-pch.c: Likewise.
6932 * c-ppoutput.c: Likewise.
6933 * c-pragma.c: Likewise.
6934 * c-pretty-print.c: Likewise.
6935 * c-semantics.c: Likewise.
6936 * c-ubsan.c: Likewise.
6937 * cilk.c: Likewise.
6938 * stub-objc.c: Likewise.
6939
d90ec4f2
JM
69402015-10-28 Jason Merrill <jason@redhat.com>
6941
6942 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
6943
88bae6f4
TS
69442015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6945 James Norris <jnorris@codesourcery.com>
6946 Cesar Philippidis <cesar@codesourcery.com>
6947
6948 PR c/64765
6949 PR c/64880
6950 * c-common.h (c_oacc_split_loop_clauses): Declare function.
6951 * c-omp.c (c_oacc_split_loop_clauses): New function.
6952
b1726d6c
MS
69532015-10-21 Martin Sebor <msebor@redhat.com>
6954
6955 PR driver/68043
6956 * c.opt: End each sentence that describes an option with a period.
6957
fa60eeb9
MP
69582015-10-20 Marek Polacek <polacek@redhat.com>
6959
6960 * array-notation-common.c (is_cilkplus_vector_p): Define.
6961 * c-common.h (is_cilkplus_vector_p): Declare.
6962
95979049
MP
69632015-10-20 Marek Polacek <polacek@redhat.com>
6964
6965 * c.opt (std=gnu++11): Do not describe as experimental.
6966 (std=gnu++14): Likewise.
6967
2a9fb712
JM
69682015-10-19 Jason Merrill <jason@redhat.com>
6969
6970 * c-cppbuiltin.c (c_cpp_builtins): Define
6971 __cpp_nontype_template_args.
6972
13b380a3
JM
69732015-10-19 Jason Merrill <jason@redhat.com>
6974
6975 * c-cppbuiltin.c (c_cpp_builtins): Define
6976 __cpp_enumerator_attributes, __cpp_fold_expressions,
6977 __cpp_unicode_characters.
6978
d9a6bd32
JJ
69792015-10-13 Jakub Jelinek <jakub@redhat.com>
6980 Aldy Hernandez <aldyh@redhat.com>
6981
6982 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
6983 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
6984 (c_define_builtins): Likewise.
6985 * c-common.h (enum c_omp_clause_split): Add
6986 C_OMP_CLAUSE_SPLIT_TASKLOOP.
6987 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
6988 (c_finish_omp_for): Add ORIG_DECLV argument.
6989 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
6990 201511 instead of 201307.
6991 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
6992 OMP_CRITICAL_CLAUSES to it.
6993 (c_finish_omp_ordered): Add CLAUSES argument, set
6994 OMP_ORDERED_CLAUSES to it.
6995 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
6996 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
6997 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
6998 constructs and new OpenMP 4.5 clauses. Clear
6999 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
7000 verification code.
7001 * c-pragma.c (omp_pragmas_simd): Add taskloop.
7002 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7003 (enum pragma_omp_clause): Add
7004 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7005 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7006
624d31fe
RS
70072015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7008
7009 * c-lex.c (interpret_float): Use real_equal instead of
7010 REAL_VALUES_EQUAL.
7011
b8fd7909
JM
70122015-10-04 Jason Merrill <jason@redhat.com>
7013
7014 Implement N4514, C++ Extensions for Transactional Memory.
7015 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7016 (c_common_attribute_table): Add transaction_safe_dynamic.
7017 transaction_safe now affects type identity.
7018 (handle_tm_attribute): Handle transaction_safe_dynamic.
7019 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7020 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7021 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7022 (D_TRANSMEM): New.
7023 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7024 * c-pretty-print.c (pp_c_attributes_display): Don't print
7025 transaction_safe in C++.
7026
12651878
MP
70272015-10-02 Marek Polacek <polacek@redhat.com>
7028
7029 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7030
3e3b8d63
MP
70312015-10-02 Marek Polacek <polacek@redhat.com>
7032
7033 PR c/64249
7034 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7035 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7036 * c.opt (Wduplicated-cond): New option.
7037
0d1a8f75
JM
70382015-10-01 Joseph Myers <joseph@codesourcery.com>
7039
7040 * c.opt (std=c11): Do not describe as experimental.
7041 (std=gnu11): Likewise.
7042 (std=iso9899:2011): Likewise.
7043
3e32ee19
NS
70442015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7045
7046 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7047 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7048
974348ee
MP
70492015-09-25 Marek Polacek <polacek@redhat.com>
7050
7051 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7052 (ubsan_instrument_shift): Likewise.
7053
15dbc1a6
MP
70542015-09-25 Marek Polacek <polacek@redhat.com>
7055
7056 PR sanitizer/64906
7057 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7058
6b95d7cc
PP
70592015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
7060
7061 * c-indentation.c (should_warn_for_misleading_indentation):
7062 Compare next_stmt_vis_column with guard_line_first_nws instead
7063 of with guard_line_vis_column.
7064
c1822f9c
MLI
70652015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
7066
7067 PR c/49654
7068 PR c/49655
7069 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7070 options and options not valid for the current language.
7071
d5398058
PP
70722015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
7073
7074 * c-indentation.c (should_warn_for_misleading_indentation):
7075 Float out and consolidate the calls to get_visual_column that
7076 are passed guard_exploc as an argument. Compare
7077 next_stmt_vis_column with guard_line_first_nws instead of with
7078 body_line_first_nws.
7079
6b333269
NS
70802015-09-22 Nathan Sidwell <nathan@codesourcery.com>
7081
7082 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7083 Wnamespaces): New C++ warnings.
7084
a75f1574
JM
70852015-09-22 Jason Merrill <jason@redhat.com>
7086
7087 * c-common.h (abi_compat_version_crosses): New.
7088 (warn_abi_version): Declare.
7089 * c-common.c: Define it.
7090 * c-opts.c (c_common_post_options): Handle it.
7091 flag_abi_compat_version defaults to 8.
7092
bdaaa8b7
VV
70932015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
7094
7095 Complete the implementation of N4230, Nested namespace definition.
7096 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7097 __cpp_nested_namespace_definitions.
7098
eaa797e8
MLI
70992015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7100
7101 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7102
c4914de6
MLI
71032015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
7104
7105 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7106 when warning.
7107 * c-pragma.h (pragma_lex): Add optional loc argument.
7108
fcb87c50
MM
71092015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
7110
7111 * c-format.c (check_format_arg): Adjust to use common block size in all
7112 object pools.
7113
31bdd08a
DM
71142015-09-15 David Malcolm <dmalcolm@redhat.com>
7115
7116 * c-format.c (location_from_offset): Update for change in
7117 signature of location_get_source_line.
7118 * c-indentation.c (get_visual_column): Likewise.
7119 (line_contains_hash_if): Likewise.
7120
aa9f4b4c
MP
71212015-09-14 Marek Polacek <polacek@redhat.com>
7122
7123 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7124 setting various warnings.
7125
aa256c4a
MP
71262015-09-14 Marek Polacek <polacek@redhat.com>
7127
7128 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7129 a negative value.
7130
0f876f22
MW
71312015-09-11 Mark Wielaard <mjw@redhat.com>
7132
7133 PR c/28901
7134 * c.opt (Wunused-variable): Option from common.opt.
7135 (Wunused-const-variable): New option.
7136
273aa49e
PC
71372015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7138
7139 PR c++/53184
7140 * c.opt ([Wsubobject-linkage]): Add.
7141
1807ffc1
MS
71422015-09-03 Martin Sebor <msebor@redhat.com>
7143
7144 PR c/66516
7145 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7146 functions.
7147 * c-common.c (reject_gcc_builtin): Define.
7148
38942840
BI
71492015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
7150
7151 PR middle-end/60586
7152 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7153 prototype.
7154 * c-gimplify.c (c_gimplify_expr): Added a call to the function
7155 cilk_gimplify_call_params_in_spawned_fn.
7156 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7157 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7158 unwrapping.
7159
c316b5e4
MP
71602015-08-25 Marek Polacek <polacek@redhat.com>
7161
7162 PR middle-end/67330
7163 * c-common.c (handle_weak_attribute): Don't check whether the
7164 visibility can be changed here.
7165
584a7c46
MLI
71662015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7167
7168 * c-lex.c (c_lex_with_flags): Use explicit locations.
7169
a79683d5
TS
71702015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
7171
7172 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7173 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7174
61717a45
FXC
71752015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7176
7177 PR middle-end/36757
7178 * c-common.c (check_builtin_function_arguments): Add check
7179 for BUILT_IN_SIGNBIT argument.
7180
329524f5
PC
71812015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
7182
7183 PR c++/67160
7184 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7185 in c++1z mode.
7186
4ee55665
MP
71872015-08-17 Marek Polacek <polacek@redhat.com>
7188
7189 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7190 with whitespaces before qualifier names.
7191
b893e375
MP
71922015-08-12 Marek Polacek <polacek@redhat.com>
7193
7194 PR c++/55095
7195 * c-common.c (maybe_warn_shift_overflow): Properly handle
7196 left-shifting 1 into the sign bit.
7197
c2d89095
MLI
71982015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7199
7200 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7201
971e17ff
AS
72022015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
7203 Braden Obrzut <admin@maniacsvault.net>
7204 Jason Merrill <jason@redhat.com>
7205
7206 Add C++ Concepts TS support.
7207 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7208 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7209 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7210 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7211 * c-opts.c (set_std_cxx1z): Set flag_concepts.
7212 * c.opt (fconcepts): New.
7213
b3d5bc62
JJ
72142015-08-02 Martin Sebor <msebor@redhat.com>
7215
7216 * c.opt (-Wframe-address): New warning option.
7217
8ebca419
PP
72182015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7219
7220 * c-indentation.c (should_warn_for_misleading_indentation):
7221 Improve heuristics.
7222
1a1e101f
PP
72232015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7224
7225 * c-indentation.c (get_visual_column): Add parameter first_nws,
7226 use it. Update comment documenting the function.
7227 (is_first_nonwhitespace_on_line): Remove.
7228 (should_warn_for_misleading_indentation): Replace usage of
7229 of is_first_nonwhitespace_on_line with get_visual_column.
7230
992118a1
PP
72312015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
7232
7233 * c-indentation.h (struct token_indent_info): Define.
7234 (get_token_indent_info): Define.
7235 (warn_for_misleading_information): Declare.
7236 * c-common.h (warn_for_misleading_information): Remove.
7237 * c-identation.c (warn_for_misleading_indentation):
7238 Change declaration to take three token_indent_infos. Adjust
7239 accordingly.
7240 * c-identation.c (should_warn_for_misleading_indentation):
7241 Likewise. Bail out early if the body is a compound statement.
7242 (guard_tinfo_to_string): Define.
7243
e8fa3817
JM
72442015-07-30 Jason Merrill <jason@redhat.com>
7245
7246 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7247 '*' for reference decay.
7248
173864e8
MP
72492015-07-30 Marek Polacek <polacek@redhat.com>
7250
7251 * c-common.c (warn_tautological_cmp): Bail for float types.
7252
f2afe6dd
MP
72532015-07-27 Marek Polacek <polacek@redhat.com>
7254
7255 PR bootstrap/67030
7256 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7257
05b28fd6
MP
72582015-07-27 Marek Polacek <polacek@redhat.com>
7259
7260 PR c++/66555
7261 PR c/54979
7262 * c-common.c (find_array_ref_with_const_idx_r): New function.
7263 (warn_tautological_cmp): New function.
7264 * c-common.h (warn_tautological_cmp): Declare.
7265 * c.opt (Wtautological-compare): New option.
7266
5a5062b8
MP
72672015-07-23 Marek Polacek <polacek@redhat.com>
7268
7269 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7270 (ubsan_instrument_shift): Likewise.
7271
dc891fe7
MP
72722015-07-23 Marek Polacek <polacek@redhat.com>
7273
7274 PR sanitizer/66908
7275 * c-ubsan.c: Include gimplify.h.
7276 (ubsan_instrument_division): Unshare OP0 and OP1.
7277 (ubsan_instrument_shift): Likewise.
7278
451b5e48
MP
72792015-07-20 Marek Polacek <polacek@redhat.com>
7280 Richard Sandiford <richard.sandiford@arm.com>
7281
7282 PR c++/55095
7283 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7284 Use EXPR_LOC_OR_LOC.
7285 (maybe_warn_shift_overflow): New function.
7286 * c-common.h (maybe_warn_shift_overflow): Declare.
7287 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7288 * c.opt (Wshift-overflow): New option.
7289
fb0b2914
ML
72902015-07-16 Martin Liska <mliska@suse.cz>
7291
7292 * c-format.c (static void check_format_info_main): Use
7293 object_allocator instead of pool_allocator.
7294 (check_format_arg): Likewise.
7295 (check_format_info_main): Likewise.
7296
903f5c23
AM
72972015-07-15 Andrew MacLeod <amacleod@redhat.com>
7298
7299 * c-opts.c: Remove multiline #include comment.
7300
026c3cfd
AH
73012015-07-12 Aldy Hernandez <aldyh@redhat.com>
7302
7303 * c-common.c: Fix double word typos.
7304
bb49ee66
EB
73052015-07-10 Eric Botcazou <ebotcazou@adacore.com>
7306
7307 * c-ada-spec.h (cpp_operation): Revert latest change.
7308 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
7309 constructors and destructors.
7310
1916bcb5
AM
73112015-07-09 Andrew MacLeod <amacleod@redhat.com>
7312
7313 * c-common.h: Adjust includes for flags.h changes.
7314 * stub-objc.c: Likewise.
026c3cfd 7315
a9dcd529
EB
73162015-07-08 Eric Botcazou <ebotcazou@adacore.com>
7317
7318 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7319 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7320
b03b462f
JJ
73212015-07-08 Jakub Jelinek <jakub@redhat.com>
7322
7323 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7324 are to be removed, return NULL rather than original clauses list.
7325
c7131fb2
AM
73262015-07-07 Andrew MacLeod <amacleod@redhat.com>
7327
7328 * array-notation-common.c: Adjust includes.
7329 * c-ada-spec.c: Likewise.
7330 * c-cilkplus.c: Likewise.
7331 * c-common.h: Likewise.
7332 * c-cppbuiltin.c: Likewise.
7333 * c-dump.c: Likewise.
7334 * c-format.c: Likewise.
7335 * c-gimplify.c: Likewise.
7336 * c-indentation.c: Likewise.
7337 * c-lex.c: Likewise.
7338 * c-omp.c: Likewise.
7339 * c-opts.c: Likewise.
7340 * c-pch.c: Likewise.
7341 * c-ppoutput.c: Likewise.
7342 * c-pragma.c: Likewise.
7343 * c-pretty-print.c: Likewise.
7344 * c-semantics.c: Likewise.
7345 * c-ubsan.c: Likewise.
7346 * cilk.c: Likewise.
7347 * stub-objc.c: Likewise.
7348
2a7fb83f
EB
73492015-07-07 Eric Botcazou <ebotcazou@adacore.com>
7350
7351 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7352 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
7353
a03c9bf1
JM
73542015-07-01 Jason Merrill <jason@redhat.com>
7355
36a85135
JM
7356 * c-common.h (D_CXX11): Rename from D_CXX0X.
7357 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
7358 * c-common.c: Adjust.
7359
e7fa68d5
JM
7360 * c-opts.c (c_common_post_options): Default to C++14.
7361
a03c9bf1
JM
7362 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
7363
fe95b036
ESR
73642015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
7365
7366 Implement N4197 - Adding u8 character literals
b3d5bc62 7367 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 7368 CPP_CHAR.
b3d5bc62 7369 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 7370 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 7371 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
7372 and CPP_UTF8CHAR tokens.
7373 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 7374
da2e71c9
MLI
73752015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7376
7377 PR fortran/66605
7378 * c-common.c (do_warn_unused_parameter): Move here.
7379 * c-common.h (do_warn_unused_parameter): Declare.
7380
b155cfd9
MP
73812015-06-29 Marek Polacek <polacek@redhat.com>
7382
7383 PR c/66322
7384 * c-common.c (check_case_bounds): Add bool * parameter. Set
7385 OUTSIDE_RANGE_P.
7386 (c_add_case_label): Add bool * parameter. Pass it down to
7387 check_case_bounds.
7388 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
7389 warning here.
7390 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
7391 declarations.
7392
31521951
MP
73932015-06-27 Marek Polacek <polacek@redhat.com>
7394
7395 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
7396 or VECTOR_INTEGER_TYPE_P throughout.
7397 * c-gimplify.c: Likewise.
7398
22d03525
MP
73992015-06-26 Marek Polacek <polacek@redhat.com>
7400
7401 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
7402 * c-common.c (c_fully_fold_internal): Likewise.
7403 (c_alignof_expr): Likewise.
7404 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
7405 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 7406 * cilk.c (create_parm_list): Likewise.
22d03525 7407
af05e6e5
MP
74082015-06-26 Marek Polacek <polacek@redhat.com>
7409
7410 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
7411
f0889939
AM
74122015-06-25 Andrew MacLeod <amacleod@redhat.com>
7413
7414 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
7415 * c-gimplify.c: Likewise.
7416 * c-pragma.c: Likewise.
7417 * c-ubsan.c: Likewise.
7418 * cilk.c: Likewise.
7419
ca752f39
RS
74202015-06-25 Richard Sandiford <richard.sandiford@arm.com>
7421
7422 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
7423 ggc_hasher.
7424
16a16ec7
AM
74252015-06-25 Andrew MacLeod <amacleod@redhat.com>
7426
7427 * cilk.c: Move calls.h after tm.h in the include chain.
7428
0ae9bd27
MP
74292015-06-25 Marek Polacek <polacek@redhat.com>
7430
7431 * array-notation-common.c: Use VAR_P throughout.
7432 * c-ada-spec.c: Likewise.
7433 * c-common.c: Likewise.
7434 * c-format.c: Likewise.
7435 * c-gimplify.c: Likewise.
7436 * c-omp.c: Likewise.
7437 * c-pragma.c: Likewise.
7438 * c-pretty-print.c: Likewise.
7439 * cilk.c: Likewise.
7440
62f9079a
MP
74412015-06-25 Marek Polacek <polacek@redhat.com>
7442
7443 * cilk.c (extract_free_variables): Use is_global_var.
7444
0fa16060
RS
74452015-06-23 Richard Sandiford <richard.sandiford@arm.com>
7446
7447 * c-common.c: Don't include target-def.h.
7448
a68ae2e1
MP
74492015-06-23 Marek Polacek <polacek@redhat.com>
7450
7451 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
7452 when comparing INTEGER_CSTs.
7453
c6a2f2d9
PMR
74542015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
7455
7456 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
7457 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
7458 (dump_ada_template): Skip partially specialized types.
7459
6b4db501
MM
74602015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
7461
7462 * c-common.c (scalar_to_vector): Use std::swap instead of manually
7463 swapping.
7464
abb226c9
AM
74652015-06-17 Andrew MacLeod <amacleod@redhat.com>
7466
7467 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
7468 * c-ada-spec.c: Likewise.
7469 * c-cilkplus.c: Likewise.
7470 * c-common.c: Likewise.
7471 * c-common.h: Likewise.
7472 * c-cppbuiltin.c: Likewise.
7473 * c-dump.c: Likewise.
7474 * c-format.c: Likewise.
7475 * c-gimplify.c: Likewise.
7476 * c-indentation.c: Likewise.
7477 * c-lex.c: Likewise.
7478 * c-omp.c: Likewise.
7479 * c-opts.c: Likewise.
7480 * c-pch.c: Likewise.
7481 * c-ppoutput.c: Likewise.
7482 * c-pragma.c: Likewise.
7483 * c-pretty-print.c: Likewise.
7484 * c-semantics.c: Likewise.
7485 * c-ubsan.c: Likewise.
7486 * cilk.c: Likewise.
7487 * stub-objc.c: Likewise.
7488
076fecad
PP
74892015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
7490
7491 PR c++/65168
7492 * c-common.c (c_common_truthvalue_conversion): Warn when
7493 converting an address of a reference to a truth value.
7494
13fdf2e2
AM
74952015-06-08 Andrew MacLeod <amacleod@redhat.com>
7496
7497 * array-notation-common.c : Adjust include files.
7498 * c-ada-spec.c : Likewise.
7499 * c-cilkplus.c : Likewise.
7500 * c-common.c : Likewise.
7501 * c-common.h : Likewise.
7502 * c-cppbuiltin.c : Likewise.
7503 * c-dump.c : Likewise.
7504 * c-format.c : Likewise.
7505 * c-gimplify.c : Likewise.
7506 * c-indentation.c : Likewise.
7507 * c-lex.c : Likewise.
7508 * c-omp.c : Likewise.
7509 * c-opts.c : Likewise.
7510 * c-pch.c : Likewise.
7511 * c-ppoutput.c : Likewise.
7512 * c-pragma.c : Likewise.
7513 * c-pretty-print.c : Likewise.
7514 * c-semantics.c : Likewise.
7515 * c-ubsan.c : Likewise.
7516 * cilk.c : Likewise.
7517 * stub-objc.c : Likewise.
7518
a1661b90
MP
75192015-06-08 Marek Polacek <polacek@redhat.com>
7520
7521 PR c/66415
7522 * c-format.c (location_from_offset): Return LOC if LINE is null.
7523
d7438551
AH
75242015-06-05 Aldy Hernandez <aldyh@redhat.com>
7525
7526 * c-common.h (c_parse_final_cleanups): New prototype.
7527 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
7528
b3d5bc62
JJ
75292015-06-04 Sriraman Tallam <tmsriram@google.com>
7530
7531 * c-common.c (noplt): New attribute.
7532 (handle_noplt_attribute): New handler.
7533
ecb9f223
AM
75342015-06-04 Andrew MacLeod <amacleod@redhat.com>
7535
7536 * array-notation-common.c: Adjust includes for restructured coretypes.h.
7537 * c-ada-spec.c: Likewise.
7538 * c-cilkplus.c: Likewise.
7539 * c-common.c: Likewise.
7540 * c-common.h: Likewise.
7541 * c-cppbuiltin.c: Likewise.
7542 * c-dump.c: Likewise.
7543 * c-format.c: Likewise.
7544 * c-gimplify.c: Likewise.
7545 * c-indentation.c: Likewise.
7546 * c-lex.c: Likewise.
7547 * c-omp.c: Likewise.
7548 * c-opts.c: Likewise.
7549 * c-pch.c: Likewise.
7550 * c-ppoutput.c: Likewise.
7551 * c-pragma.c: Likewise.
7552 * c-pretty-print.c: Likewise.
7553 * c-semantics.c: Likewise.
7554 * c-ubsan.c: Likewise.
7555 * cilk.c: Likewise.
7556 * stub-objc.c: Likewise.
7557
6ac48155
DM
75582015-06-02 David Malcolm <dmalcolm@redhat.com>
7559
7560 PR c/66220:
7561 * c-indentation.c (should_warn_for_misleading_indentation): Use
7562 expand_location rather than expand_location_to_spelling_point.
7563 Don't warn if the guarding statement is more indented than the
7564 next/body stmts.
7565
773ce42e
DM
75662015-06-02 David Malcolm <dmalcolm@redhat.com>
7567
7568 * c-indentation.c (warn_for_misleading_indentation): Bail out
7569 immediately if -Wmisleading-indentation isn't enabled.
7570
4fef8379
ML
75712015-06-01 Martin Liska <mliska@suse.cz>
7572
7573 * c-format.c (check_format_arg):Use new type-based pool allocator.
7574 (check_format_info_main) Likewise.
7575
1edfb384
EB
75762015-05-31 Eric Botcazou <ebotcazou@adacore.com>
7577
7578 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
7579 (has_nontrivial_methods): Likewise.
7580
9677ef52
MP
75812015-05-25 Marek Polacek <polacek@redhat.com>
7582
7583 * c-ubsan.c (ubsan_instrument_shift): Use type0.
7584
fd5c817a
MP
75852015-05-22 Marek Polacek <polacek@redhat.com>
7586
7587 PR c/47043
7588 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
7589
a2f45fe6 75902015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
7591
7592 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
7593 STACK_GROWS_DOWNWARD.
7594
a2f45fe6 75952015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
7596
7597 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
7598 STACK_GROWS_DOWNWARD rather than if it is defined.
7599
0fee2ac2 76002015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 7601
0fee2ac2
MLI
7602 PR c/52952
7603 * c-format.c (location_column_from_byte_offset): New.
7604 (location_from_offset): New.
7605 (struct format_wanted_type): Add offset_loc field.
7606 (check_format_info): Move handling of location for extra arguments
7607 closer to the point of warning.
7608 (check_format_info_main): Pass the result of location_from_offset
7609 to warning_at.
7610 (format_type_warning): Pass the result of location_from_offset
7611 to warning_at.
7612
cf4ef6f7
MP
76132015-05-20 Marek Polacek <polacek@redhat.com>
7614
7615 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
7616
3a65ee74
MP
76172015-05-20 Marek Polacek <polacek@redhat.com>
7618
7619 * c-ada-spec.c (dump_sloc): Use DECL_P.
7620
21b634ae
MP
76212015-05-20 Marek Polacek <polacek@redhat.com>
7622
7623 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
7624 * c-common.c: Likewise.
7625
0e50b624
DM
76262015-05-19 David Malcolm <dmalcolm@redhat.com>
7627
7628 * c-common.h (fe_file_change): Strengthen param from
7629 const line_map * to const line_map_ordinary *.
7630 (pp_file_change): Likewise.
7631 * c-lex.c (fe_file_change): Likewise.
7632 (cb_define): Use linemap_check_ordinary when invoking
7633 SOURCE_LINE.
7634 (cb_undef): Likewise.
7635 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
7636 invoking cb_file_change.
7637 (c_finish_options): Likewise.
7638 (push_command_line_include): Likewise.
7639 (cb_file_change): Strengthen param "new_map" from
7640 const line_map * to const line_map_ordinary *.
7641 * c-ppoutput.c (cb_define): Likewise for local "map".
7642 (pp_file_change): Likewise for param "map" and local "from".
7643
fab27f52
MM
76442015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
7645
7646 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
7647
2fe1d762
TV
76482015-05-18 Tom de Vries <tom@codesourcery.com>
7649
7650 * c-common.c (build_va_arg_1): New function.
7651 (build_va_arg): Add address operator to va_list operand if necessary.
7652
7a37fa90
MM
76532015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
7654
7655 PR c/48956
7656 * c-common.c (int_safely_convertible_to_real_p): Define.
7657 (unsafe_conversion_p): Check conversions involving complex types.
7658 (conversion_warning): Add new warning message for conversions which
7659 discard imaginary component.
7660 * c-common.h: (enum conversion_safety): Add new enumerator for such
7661 conversions.
7662
3aa3c9fc
MP
76632015-05-14 Marek Polacek <polacek@redhat.com>
7664
7665 PR c/66066
7666 PR c/66127
7667 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
7668 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
7669 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
7670 use it. If FOR_INT_CONST, require that all evaluated operands be
7671 INTEGER_CSTs.
7672
c3388e62
DM
76732015-05-12 David Malcolm <dmalcolm@redhat.com>
7674
7675 * c-common.h (warn_for_misleading_indentation): New prototype.
7676 * c-indentation.c: New file.
7677 * c.opt (Wmisleading-indentation): New option.
7678
c7b38fd5
TV
76792015-05-12 Tom de Vries <tom@codesourcery.com>
7680
7681 PR tree-optimization/66010
7682 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
7683
381bf11e
JM
76842015-05-09 Jason Merrill <jason@redhat.com>
7685
edff0c06
JM
7686 * c-opts.c (c_common_post_options): Also clear
7687 cpp_opts->cpp_warn_cxx11_compat.
7688
129211bc
JM
7689 * c-common.h (enum cxx_dialect): Add cxx_unset.
7690 * c-common.c (cxx_dialect): Initialize to cxx_unset.
7691 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
7692
381bf11e
JM
7693 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
7694 (std=gnu++0x): Mark as Undocumented.
7695 (std=gnu++1y): Add deprecated message.
7696
fe191308
JM
76972015-05-08 Jason Merrill <jason@redhat.com>
7698
765189ff
JM
7699 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
7700 * c-opts.c: Adjust.
7701
fe191308
JM
7702 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
7703
755e528f
MP
77042015-05-08 Marek Polacek <polacek@redhat.com>
7705
7706 PR c/64918
7707 * c.opt (Woverride-init-side-effects): New option.
7708
0173bd2a
MP
77092015-05-07 Marek Polacek <polacek@redhat.com>
7710
7711 PR c/65179
7712 * c-common.c (c_fully_fold_internal): Warn when left shifting a
7713 negative value.
7714 * c.opt (Wshift-negative-value): New option.
7715 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
7716 when -Wextra and C99/C++11 mode.
7717
e0f0d3b9
MP
77182015-05-07 Marek Polacek <polacek@redhat.com>
7719 Martin Uecker <uecker@eecs.berkeley.edu>
7720
7721 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
7722 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
7723
8243e2a9
JM
77242015-05-05 Jason Merrill <jason@redhat.com>
7725
7726 * c.opt (Wterminate): New.
7727
577cd070
MP
77282015-04-30 Marek Polacek <polacek@redhat.com>
7729
7730 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
7731 require that the non-constant be of a boolean type.
7732
0373796b
JT
77332015-04-29 Josh Triplett <josh@joshtriplett.org>
7734
e0f0d3b9
MP
7735 * c-common.c (handle_section_attribute): Refactor to reduce
7736 nesting and distinguish between error cases.
0373796b 7737
716c0ba6
MP
77382015-04-29 Marek Polacek <polacek@redhat.com>
7739
7740 PR c/64610
7741 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
7742 with 0/1.
7743
8848828b
JJ
77442015-04-29 Jakub Jelinek <jakub@redhat.com>
7745
7746 * c-common.h (omp_clause_mask): Unconditionally define as a class.
7747 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
7748 HOST_BITS_PER_WIDE_INT.
7749
ecd0e562
TV
77502015-04-28 Tom de Vries <tom@codesourcery.com>
7751
7752 PR tree-optimization/65887
7753 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
7754
2a877204 77552015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 7756 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
7757
7758 * c-ada-spec.c (in_function): Delete.
7759 (dump_generic_ada_node): Do not change in_function and remove the
7760 redundant code dealing with it.
7761 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
7762 (print_ada_methods): Output the static member functions in a nested
7763 package after the regular methods as well as associated renamings.
7764
4853031e
MP
77652015-04-24 Marek Polacek <polacek@redhat.com>
7766
7767 PR c/65830
7768 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
7769 and OPT_Wshift_count_overflow.
7770
8c2b7f79
MP
7771 PR c/63357
7772 * c-common.c (warn_logical_operator): Warn if the operands have the
7773 same expressions.
7774
b8787813
MP
77752015-04-24 Marek Polacek <polacek@redhat.com>
7776
7777 PR c/61534
7778 * c-common.c (warn_logical_operator): Bail if either operand comes
7779 from a macro expansion.
7780
8fba1830
BRF
77812015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7782
7783 PR target/55143
7784 * c-common.c (c_default_pointer_mode): Add definition.
7785 * c-common.h (c_default_pointer_mode): Add declaration.
7786
17958621
JJ
77872015-03-11 Jakub Jelinek <jakub@redhat.com>
7788
7789 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
7790 on record_builtin_type argument.
7791
7ccb1a11
JJ
77922015-03-10 Jakub Jelinek <jakub@redhat.com>
7793
7794 PR c/65120
7795 * c-common.c (warn_logical_not_parentheses): Don't warn for
7796 !x == 0 or !x != 0.
7797
04fd785e
MP
77982015-03-07 Marek Polacek <polacek@redhat.com>
7799
7800 PR sanitizer/65280
7801 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
7802 before trying to figure out whether we have a flexible array member.
7803
a4e26206 78042015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 7805 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
7806
7807 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
7808
0d2489f4
EB
78092015-03-05 Eric Botcazou <ebotcazou@adacore.com>
7810
7811 PR ada/65319
7812 * c-ada-spec.c (print_destructor): Remove obsolete code.
7813
83ed54d7
EB
78142015-03-01 Eric Botcazou <ebotcazou@adacore.com>
7815
7816 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
7817 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
7818 DECL_TEMPLATE_RESULT emulations.
7819 (dump_ada_template)): Add guard for TYPE_METHODS.
7820
7631f0e2
MP
78212015-02-27 Marek Polacek <polacek@redhat.com>
7822
7823 PR c/65040
7824 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
7825
d1783ae5
KT
78262015-02-27 Kai Tietz <ktietz@redhat.com>
7827
7828 PR c/35330
7829 * c-pragma.c (handle_pragma_weak): Do not try to create
7830 weak/alias of declarations not being function, or variable
7831 declarations.
7832
56a9f6bc
TS
78332015-02-24 Thomas Schwinge <thomas@codesourcery.com>
7834
7835 PR libgomp/64625
7836 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
7837 Remove macros.
7838 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
7839
3d5cb23d
MP
78402015-02-16 Marek Polacek <polacek@redhat.com>
7841
7842 PR c/65066
7843 * c-format.c (check_format_types): Handle null param.
7844
fa008882
MP
78452015-02-13 Marek Polacek <polacek@redhat.com>
7846
7847 PR c/65040
7848 * c-format.c (check_format_types): Don't warn about different
7849 signedness if the original value is in the range of WANTED_TYPE.
7850
785f21af
JM
78512015-02-12 Jason Merrill <jason@redhat.com>
7852
7853 PR c++/64956
7854 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
7855 to the current highest version.
7856 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
7857
4886ec8e
JJ
78582015-02-04 Jakub Jelinek <jakub@redhat.com>
7859
7860 PR c/64824
7861 PR c/64868
7862 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
7863 instead of RDIV_EXPR. Use build_binary_op instead of
7864 build2_loc.
7865
40fecdd6
JM
78662015-01-30 Joseph Myers <joseph@codesourcery.com>
7867
7868 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
7869 to pass input_location as first argument.
7870
a0c88d06
TV
78712015-01-23 Tom de Vries <tom@codesourcery.com>
7872
7873 PR libgomp/64672
7874 * c.opt (fopenacc): Mark as LTO option.
7875
1506ae0e
TV
78762015-01-23 Tom de Vries <tom@codesourcery.com>
7877
7878 PR libgomp/64707
7879 * c.opt (fopenmp): Mark as LTO option.
7880
31be63ab
JJ
78812015-01-21 Jakub Jelinek <jakub@redhat.com>
7882
7883 PR c/63307
b1726d6c 7884 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
7885 (compare_decls): Fix up formatting.
7886
78872015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
7888
7889 PR c/63307
7890 * cilk.c: Include vec.h.
7891 (struct cilk_decls): New structure.
7892 (wrapper_parm_cb): Split this function to...
7893 (fill_decls_vec): ...this...
7894 (create_parm_list): ...and this.
7895 (compare_decls): New function.
7896 (for_local_cb): Remove.
7897 (wrapper_local_cb): Ditto.
7898 (build_wrapper_type): For now first traverse and fill vector of
7899 declarations then sort it and then deal with sorted vector.
7900 (cilk_outline): Ditto.
7901 (declare_one_free_variable): Ditto.
7902
6875457f
JM
79032015-01-21 Jason Merrill <jason@redhat.com>
7904
7905 PR c++/64629
7906 * c-format.c (check_format_arg): Call decl_constant_value.
7907
185c9e56
ML
79082015-01-19 Martin Liska <mliska@suse.cz>
7909
7910 * c-common.c (handle_noicf_attribute): New function.
7911
41dbbb37
TS
79122015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7913 Bernd Schmidt <bernds@codesourcery.com>
7914 James Norris <jnorris@codesourcery.com>
7915 Cesar Philippidis <cesar@codesourcery.com>
7916 Ilmir Usmanov <i.usmanov@samsung.com>
7917 Jakub Jelinek <jakub@redhat.com>
7918
7919 * c.opt (fopenacc): New option.
7920 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
7921 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
7922 New macros.
7923 * c-common.h (c_finish_oacc_wait): New prototype.
7924 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
7925 (c_finish_oacc_wait): New function.
7926 * c-pragma.c (oacc_pragmas): New variable.
7927 (c_pp_lookup_pragma, init_pragma): Handle it.
7928 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
7929 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
7930 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
7931 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
7932 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
7933 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
7934 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
7935 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
7936 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
7937 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
7938 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
7939 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
7940 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
7941 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
7942 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
7943 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
7944 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
7945 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
7946 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
7947 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
7948 PRAGMA_OACC_CLAUSE_WORKER.
7949
3f8257db 79502015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
7951
7952 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
7953 for the new option fstack-protector_explicit.
7954 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
7955 (handle_stack_protect_attribute): New function.
7956
3f8257db 79572015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
7958
7959 * c.opt: New option -Warray-bounds=.
7960
adfac8df
JJ
79612015-01-09 Michael Collison <michael.collison@linaro.org>
7962
7963 * array-notation-common.c: Include hash-set.h, machmode.h,
7964 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7965 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
7966 * c-ada-spec.c: Ditto.
7967 * c-cilkplus.c: Ditto.
7968 * c-common.c: Include input.h due to flattening of tree.h.
7969 Define macro GCC_C_COMMON_C.
7970 * c-common.h: Flatten tree.h header files into c-common.h.
7971 Remove include of tree-core.h.
7972 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
7973 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7974 fold-const.h, wide-int.h, and inchash.h due to
7975 flattening of tree.h.
7976 * c-dump.c: Ditto.
7977 * c-format.c: Flatten tree.h header files into c-common.h.
7978 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
7979 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7980 fold-const.h, wide-int.h, and inchash.h due to
7981 flattening of tree.h.
7982 * c-dump.c: Include hash-set.h, machmode.h,
7983 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7984 fold-const.h, wide-int.h, and inchash.h due to
7985 flattening of tree.h.
7986 * c-format.c: Include hash-set.h, machmode.h,
7987 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7988 fold-const.h, wide-int.h, inchash.h and real.h due to
7989 flattening of tree.h.
7990 * c-gimplify.c: Include hash-set.h, machmode.h,
7991 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7992 fold-const.h, wide-int.h, and inchash.h due to
7993 flattening of tree.h.
7994 * cilk.c: Ditto.
7995 * c-lex.c: Ditto.
7996 * c-omp.c: Ditto.
7997 * c-opts.c: Ditto.
7998 * c-pch.c: Ditto.
7999 * c-ppoutput.c: Ditto.
8000 * c-pragma.c: Ditto.
8001 * c-pretty-print.c: Ditto.
8002 * c-semantics.c: Ditto.
8003 * c-ubsan.c: Ditto.
8004 * stub-objc.c: Ditto.
8005
f5481fc4
JM
80062015-01-08 Jason Merrill <jason@redhat.com>
8007
8008 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8009 do_ubsan_in_current_function.
8010 (ubsan_maybe_instrument_reference_or_call): Likewise.
8011 * c-ubsan.h: Declare it.
8012
de35aa66
MS
80132015-01-08 Mike Stump <mikestump@comcast.net>
8014
8015 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8016
4a9a42ab
MP
80172015-01-07 Marek Polacek <polacek@redhat.com>
8018
8019 PR c/64440
8020 * c-common.c (c_fully_fold_internal): Warn for division and modulo
8021 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8022
2f42e5de
TS
80232015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8024
8025 PR c++/31397
8026 * c.opt (Wsuggest-override): New option.
8027
5624e564
JJ
80282015-01-05 Jakub Jelinek <jakub@redhat.com>
8029
8030 Update copyright years.
8031
5bd012f8
MP
80322015-01-05 Marek Polacek <polacek@redhat.com>
8033
8034 PR c/64423
8035 * c-common.c (warn_array_subscript_with_type_char): Add location_t
8036 parameter. Use it.
8037 * c-common.h (warn_array_subscript_with_type_char): Update
8038 declaration.
8039
a7fa8d18
ESR
80402014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
8041
8042 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8043 Control macro with flag_sized_deallocation.
8044
3f8257db 80452014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
8046
8047 * c.opt (Wdiscarded-array-qualifiers): New option.
8048
1f8d3e84
JJ
80492014-12-19 Jakub Jelinek <jakub@redhat.com>
8050
8051 PR preprocessor/63831
8052 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8053 and __has_cpp_attribute here.
8054 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8055 c_common_has_attribute.
8056 * c-common.h (c_common_has_attribute): New prototype.
8057 * c-lex.c (init_c_lex): Set cb->has_attribute to
8058 c_common_has_attribute instead of cb_has_attribute.
8059 (get_token_no_padding): New function.
8060 (cb_has_attribute): Renamed to ...
8061 (c_common_has_attribute): ... this. No longer static. Use
8062 get_token_no_padding, require ()s, don't build TREE_LIST
8063 unnecessarily, fix up formatting, adjust diagnostics, call
8064 init_attributes.
8065
20b06add
JM
80662014-12-15 Jason Merrill <jason@redhat.com>
8067
8068 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8069 (-Wsized-deallocation): New.
8070 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8071 to on in C++14 and up.
8072
94a073b2
JM
80732014-12-11 Jason Merrill <jason@redhat.com>
8074
acaa5911
JM
8075 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8076
94a073b2
JM
8077 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8078 we aren't complaining about VLAs.
8079
7fb66c15
MP
80802014-12-06 Marek Polacek <polacek@redhat.com>
8081
8082 PR tree-optimization/64183
8083 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8084 shift-expression if it is integer_type_node. Use types_compatible_p.
8085
b731b390
JJ
80862014-11-29 Jakub Jelinek <jakub@redhat.com>
8087
8088 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8089 last argument from create_tmp_var_raw and create_tmp_var calls.
8090 * cilk.c (gimplify_cilk_spawn): Likewise.
8091 * c-omp.c (c_finish_omp_atomic): Likewise.
8092
6a4da643
MP
80932014-11-28 Marek Polacek <polacek@redhat.com>
8094
8095 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8096 instead of unsigned_type_node.
8097
541e35a6
MP
80982014-11-28 Marek Polacek <polacek@redhat.com>
8099
8100 PR c/63862
8101 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8102 to op1_utype.
8103 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8104 expression to unsigned_type_node.
8105
dcc97066
MW
81062014-11-20 Mark Wielaard <mjw@redhat.com>
8107
8108 PR debug/38757
8109 * c-opts.c (set_std_c89): Set lang_hooks.name.
8110 (set_std_c99): Likewise.
8111 (set_std_c11): Likewise.
8112 (set_std_cxx98): Likewise.
8113 (set_std_cxx11): Likewise.
8114 (set_std_cxx14): Likewise.
8115 (set_std_cxx1z): Likewise.
8116
aa7da51a
JJ
81172014-11-21 Jakub Jelinek <jakub@redhat.com>
8118
8119 PR target/63764
8120 * c-common.h (convert_vector_to_pointer_for_subscript): Change
8121 return type to bool.
009a3480 8122 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
8123 (convert_vector_to_pointer_for_subscript): Change return type to
8124 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8125 and copy it into a TARGET_EXPR and use that instead of *vecp
8126 directly.
8127
538dd0b7
DM
81282014-11-19 David Malcolm <dmalcolm@redhat.com>
8129
8130 Merger of git branch "gimple-classes-v2-option-3".
8131 * ChangeLog.gimple-classes: New.
8132 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8133 from being just a vec<gimple> to a vec<gbind *>.
8134
c39a5e99
JJ
81352014-11-18 Jakub Jelinek <jakub@redhat.com>
8136
8137 PR sanitizer/63813
8138 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8139 argument to ptype, set type to TREE_TYPE (ptype). Don't call
8140 get_pointer_alignment for non-pointers. Use ptype, or if it is
8141 reference type, corresponding pointer type, as type of kind
8142 argument.
8143 (ubsan_maybe_instrument_reference,
8144 ubsan_maybe_instrument_member_call): Adjust callers.
8145
8537a4a9
MP
81462014-11-15 Marek Polacek <polacek@redhat.com>
8147
8148 PR middle-end/63884
8149 * array-notation-common.c (is_sec_implicit_index_fn): Return false
8150 for NULL fndecl.
8151 (extract_array_notation_exprs): Return for NULL node.
8152
2079956a
JM
81532014-11-12 Joseph Myers <joseph@codesourcery.com>
8154
8155 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8156 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8157
1304953e
JJ
81582014-11-12 Jakub Jelinek <jakub@redhat.com>
8159
8160 PR c/59708
8161 * c-common.c (check_builtin_function_arguments): Handle
8162 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8163
e5e44252
AK
81642014-11-10 Andi Kleen <ak@linux.intel.com>
8165
8166 PR c/60804
8167 * c-common.h (check_no_cilk): Declare.
8168 * cilk.c (get_error_location): New function.
8169 (check_no_cilk): Dito.
8170
e64b984d
AK
81712014-11-10 Andi Kleen <ak@linux.intel.com>
8172
8173 * cilk.c (recognize_spawn): Use expression location
8174 for error message.
8175
13c21655
PC
81762014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
8177
8178 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8179
42fd12b1
ESR
81802014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
8181
8182 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8183 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8184 (__cpp_range_based_for, __cpp_initializer_lists,
8185 __cpp_delegating_constructors, __cpp_nsdmi,
8186 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8187 for C++11; (__cpp_attribute_deprecated): Remove in favor of
8188 __has_cpp_attribute.
8189 * c-lex.c (cb_has_attribute): New callback CPP function;
8190 (init_c_lex): Set has_attribute callback.
8191
6f450181
RB
81922014-11-04 Richard Biener <rguenther@suse.de>
8193
8194 * c-common.c (shorten_compare): Do not shorten mixed
8195 DFP and non-DFP compares.
8196
26f0e1d6
ESR
81972014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8198
8199 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8200 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8201 Commentary and rearrangement of tests.
8202 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8203 Commentary and rearrangement of tests.
ab20d992 8204 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
8205 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8206
ef4bddc2
RS
82072014-10-29 Richard Sandiford <richard.sandiford@arm.com>
8208
8209 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8210 enum from machine_mode.
8211
c582198b
AM
82122014-10-28 Andrew MacLeod <amacleod@redhat.com>
8213
adfac8df
JJ
8214 * c-common.c: Adjust include files.
8215 * c-gimplify.c: Ditto.
8216 * cilk.c: Ditto.
8217 * c-pragma.c: Ditto.
8218 * c-ubsan.c: Ditto.
c582198b 8219
60393bbc
AM
82202014-10-27 Andrew MacLeod <amacleod@redhat.com>
8221
8222 * c-gimplify.c: Adjust include files.
8223
d723bb7c
MLI
82242014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8225
8226 PR c++/53061
8227 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8228 c_common_initialize_diagnostics.
8229 * c-common.h: Likewise.
8230
90f3520e
MP
82312014-10-24 Marek Polacek <polacek@redhat.com>
8232
8233 PR c/56980
8234 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8235 print "struct"/"union"/"enum" for typedefed names.
8236
59d7607a
MP
82372014-10-23 Marek Polacek <polacek@redhat.com>
8238
8239 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8240 in unsigned type.
8241
d95a2703
JJ
82422014-10-22 Jakub Jelinek <jakub@redhat.com>
8243 Yury Gribov <y.gribov@samsung.com>
8244
8245 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8246 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8247 instead of flag_sanitize_recover as bool flag.
8248
8e6ef852
KY
82492014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
8250
8251 * cilk.c: Revert previous change.
8252
948cf550
IZ
82532014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
8254
8255 PR c/63307
8256 * cilk.c: Include vec.h.
8257 (struct cilk_decls): New structure.
8258 (wrapper_parm_cb): Split this function to...
8259 (fill_decls_vec): ...this...
8260 (create_parm_list): ...and this.
8261 (compare_decls): New function.
8262 (for_local_cb): Remove.
8263 (wrapper_local_cb): Ditto.
8264 (build_wrapper_type): For now first traverse and fill vector of
8265 declarations then sort it and then deal with sorted vector.
8266 (cilk_outline): Ditto.
8267 (declare_one_free_variable): Ditto.
8268
92574c7c
MP
82692014-10-17 Marek Polacek <polacek@redhat.com>
8270
8271 * c-opts.c (c_common_post_options): Set warn_implicit_int.
8272 * c.opt (Wimplicit-int): Initialize to -1.
8273
83685514
AM
82742014-10-16 Andrew MacLeod <amacleod@redhat.com>
8275
8276 * c-pragma.c: Adjust include files.
8277 * c-semantics.c: Likewise.
8278
5b8300ea
DD
82792014-10-16 DJ Delorie <dj@redhat.com>
8280
8281 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8282 multiples of bytes.
8283
5f83e90b
JM
82842014-10-14 Jason Merrill <jason@redhat.com>
8285
8286 PR c++/63455
8287 * c-common.h (CPP_PREPARSED_EXPR): New.
8288 (N_CP_TTYPES): Adjust.
8289
d73326ca
MP
82902014-10-15 Marek Polacek <polacek@redhat.com>
8291
8292 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8293
78a7c317
DD
82942014-10-14 DJ Delorie <dj@redhat.com>
8295
8296 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8297 types, not just __int128.
8298 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8299 types, not just __int128.
8300 (cpp_atomic_builtins): Round pointer sizes up.
8301 (type_suffix): Use type precision, not specific types.
8302 * c-common.c (c_common_reswords): Remove __int128 special case.
8303 (c_common_type_for_size): Check for all __intN types, not just
8304 __int128.
8305 (c_common_type_for_mode): Likewise.
8306 (c_common_signed_or_unsigned_type): Likewise.
8307 (c_build_bitfield_integer_type): Likewise.
8308 (c_common_nodes_and_builtins): Likewise.
8309 (keyword_begins_type_specifier): Likewise.
8310 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8311 __intN variants.
8312
2a22f99c
TS
83132014-10-12 Trevor Saunders <tsaunders@mozilla.com>
8314
8315 * c-common.c: Use hash_table instead of hashtab.
8316
2a8ef767
ESR
83172014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
8318
adfac8df 8319 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
8320 C++11 section.
8321
3c9aabbd
MG
83222014-10-03 Marc Glisse <marc.glisse@inria.fr>
8323
8324 PR c++/54427
8325 PR c++/57198
8326 PR c++/58845
8327 * c-common.c (warn_logical_operator): Punt for vectors.
8328
a15f7cb8
ESR
83292014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
8330
8331 Implement SD-6: SG10 Feature Test Recommendations
8332 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8333 macros and the __has_header macro.
8334
8d0cf15e
JM
83352014-09-30 Jason Merrill <jason@redhat.com>
8336
dd5d5481
JM
8337 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8338 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8339 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8340
b752325e
JM
8341 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8342 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8343
8d0cf15e
JM
8344 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8345 * c-common.c (c_common_reswords): Remove __is_convertible_to.
8346
083e891e
MP
83472014-09-24 Marek Polacek <polacek@redhat.com>
8348
8349 PR c/61405
8350 PR c/53874
8351 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8352
7861b648
AK
83532014-09-23 Andi Kleen <ak@linux.intel.com>
8354
8355 * c-common.c (handle_no_reorder_attribute): New function.
8356 (c_common_attribute_table): Add no_reorder attribute.
8357
9a79452d
JM
83582014-09-22 Joseph Myers <joseph@codesourcery.com>
8359
8360 * c-cppbuiltin.c (c_cpp_builtins): Define
8361 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
8362 modes.
8363
dd69f047
JM
83642014-09-18 Joseph Myers <joseph@codesourcery.com>
8365
8366 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
8367 for supported floating-point modes.
8368
737a4826
MLI
83692014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8370
8371 * c.opt (Wpsabi): Use LangEnabledBy.
8372 * c-opts.c (c_common_handle_option): Do not handle here.
8373
8cc4b7a2
JM
83742014-09-12 Joseph Myers <joseph@codesourcery.com>
8375
8376 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
8377 macros for floating-point modes.
8378
179b5a55
MG
83792014-09-11 Marc Glisse <marc.glisse@inria.fr>
8380
8381 PR target/58757
8382 * c-cppbuiltin.c (builtin_define_float_constants): Correct
8383 __*_DENORM_MIN__ without denormals.
8384
570a11fe
JJ
83852014-09-10 Jakub Jelinek <jakub@redhat.com>
8386
8387 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8388 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8389 ubsan_create_data callers.
8390 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
8391 index is constant or BIT_AND_EXPR with constant mask and is
8392 small enough for the bound.
8393 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
8394 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
8395
b559c810
MLI
83962014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8397
8398 * c.opt: Add CppReason to various flags.
8399 (Wdate-time): Re-sort.
8400 * c-common.c: Include c-common.h earlier.
8401 (struct reason_option_codes_t): Delete.
8402 (c_option_controlling_cpp_error): Prefix global type and struct
8403 with cpp_.
8404
1ef33fd4
MLI
84052014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8406
8407 * c.opt (Wnormalized): New.
8408 (Wnormalized=): Use Enum and Reject Negative.
8409 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
8410
66bb34c0
JM
84112014-09-08 Joseph Myers <joseph@codesourcery.com>
8412
8413 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
8414 digits of floating-point modes if -fbuilding-libgcc.
8415
53d68b9f
JM
84162014-09-05 Joseph Myers <joseph@codesourcery.com>
8417
8418 * c-cppbuiltin.c (c_cpp_builtins): Also define
8419 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
8420 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
8421 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
8422 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
8423 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
8424 __LIBGCC_STACK_GROWS_DOWNWARD__,
8425 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
8426 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
8427 __LIBGCC_DWARF_FRAME_REGISTERS__,
8428 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
8429 __LIBGCC_STACK_POINTER_REGNUM__ and
8430 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
8431 (builtin_define_with_value): Handle backslash-escaping in string
8432 macro values.
8433
f65586dc
RB
84342014-09-05 Richard Biener <rguenther@suse.de>
8435
8436 PR middle-end/63148
8437 * c-format.c (check_format_arg): Properly handle
8438 effectively signed POINTER_PLUS_EXPR offset.
8439
2b71f4a4
MLI
84402014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8441
8442 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
8443 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
8444 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
8445 and Init.
8446 * c-opts.c (c_common_handle_option): Do not handle here.
8447 (sanitize_cpp_opts): Likewise.
8448 * c-common.c (struct reason_option_codes_t): Handle
8449 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
8450
d2e4feca
MP
84512014-09-03 Marek Polacek <polacek@redhat.com>
8452
8453 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
8454
9a771876
JJ
84552014-09-02 Jakub Jelinek <jakub@redhat.com>
8456 Balaji V. Iyer <balaji.v.iyer@intel.com>
8457 Igor Zamyatin <igor.zamyatin@intel.com>
8458
8459 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
8460 * c-common.c (c_common_reswords): Added _Cilk_for.
8461 * c-common.h (enum rid): Added RID_CILK_FOR.
8462 (cilk_for_number_of_iterations): Add declaration.
8463 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
8464 CILK_FOR.
8465 * c-pragma.c (init_pragma): Register "grainsize" pragma.
8466 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
8467
81b5d104
MLI
84682014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8469
8470 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
8471 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
8472 Wundef): Use CPP, Var and Init.
8473 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
8474
b753b37b
MLI
84752014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8476
8477 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
8478 * c-opts.c (c_common_handle_option): Do not handle here.
8479
028aee17
JM
84802014-08-25 Jason Merrill <jason@redhat.com>
8481
8482 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
8483 -std=c++14 and -std=gnu++14, rather than the reverse.
8484 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
8485 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
8486 * c-common.h (cxx_dialect): Remove cxx1y.
8487
e4276ba5
ESR
84882014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
8489
8490 * c-common.h (enum cxx_dialect): Add cxx14.
8491 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
8492 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
8493 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
8494
a545cacd
JM
84952014-08-22 Jason Merrill <jason@redhat.com>
8496
8497 * c.opt (std=gnu++17): Fix alias.
8498
59ea0364
MP
84992014-08-22 Marek Polacek <polacek@redhat.com>
8500
8501 PR c++/62199
8502 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
8503 check for vector types. Drop LHS argument.
8504 * c-common.h (warn_logical_not_parentheses): Adjust.
8505
596e808c
MLI
85062014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8507
8508 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
8509 (Wmultichar): Likewise.
8510 (Wdate-time): Use C-family languages instead of Common. Use CPP
8511 and Var.
8512 * c-opts.c (c_common_handle_option): Do not handle the above
8513 options here.
8514 (sanitize_cpp_opts): Likewise.
8515
18767f65
MLI
85162014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8517
8518 PR fortran/44054
8519 * c-opts.c: Include tree-diagnostics.h.
8520 (c_diagnostic_finalizer): New.
8521 (c_common_initialize_diagnostics): Use it.
8522
b4413594
MLI
85232014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8524
8525 PR preprocessor/51303
8526 * c-common.c (struct reason_option_codes_t option_codes):
8527 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
8528
43f9a13c
MLI
85292014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8530
8531 PR c/60975
8532 PR c/53063
8533 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
8534 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
8535 (c_common_post_options): Call init_global_opts_from_cpp.
8536 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
8537
04159acf
MP
85382014-08-19 Marek Polacek <polacek@redhat.com>
8539
8540 PR c++/62153
8541 * c-common.c (maybe_warn_bool_compare): New function.
8542 * c-common.h (maybe_warn_bool_compare): Declare.
8543 * c.opt (Wbool-compare): New option.
8544
35aff4fb
MP
85452014-08-19 Marek Polacek <polacek@redhat.com>
8546
8547 * c.opt (Wc99-c11-compat): New option.
8548
177cce46
MP
85492014-08-19 Marek Polacek <polacek@redhat.com>
8550
8551 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
8552 to warn_c90_c99_compat.
8553 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
8554 to -1.
8555
6ae9194f
MLI
85562014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
8557 Steven Bosscher <steven@gcc.gnu.org>
8558
8559 PR c/52952
8560 * c-format.c: Add extra_arg_loc and format_string_loc to struct
8561 format_check_results.
8562 (check_function_format): Use true and add comment for boolean
8563 argument.
8564 (finish_dollar_format_checking): Use explicit location when warning.
8565 (check_format_info): Likewise.
8566 (check_format_arg): Set extra_arg_loc and format_string_loc.
8567 (check_format_info_main): Use explicit location when warning.
8568 (check_format_types): Pass explicit location.
8569 (format_type_warning): Likewise.
8570
8e54f6d3
MLI
85712014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8572
8573 PR fortran/44054
8574 * c-format.c: Handle Fortran flags.
8575
cd4e76fc
IZ
85762014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
8577
8578 PR other/61962
8579 * array-notation-common.c (find_rank): Added handling for other
8580 types of references.
8581
f3bede71
MP
85822014-08-10 Marek Polacek <polacek@redhat.com>
8583
8584 PR c/51849
8585 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
8586 * c.opt (Wc90-c99-compat): Add option.
8587
9f25a338
TS
85882014-08-07 Trevor Saunders <tsaunders@mozilla.com>
8589
8590 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
8591
62e4eb35
MP
85922014-08-03 Marek Polacek <polacek@redhat.com>
8593
ab20d992 8594 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
8595 (c_add_case_label): Pass loc to check_case_value.
8596
b787e7a2
TS
85972014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8598
8599 * cilk.c: Use hash_map instead of pointer_map.
8600
6e2830c3
TS
86012014-08-02 Trevor Saunders <tsaunders@mozilla.com>
8602
8603 * c-gimplify.c: Use hash_set instead of pointer_set.
8604
a7ee52fb
IZ
86052014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
8606
8607 PR middle-end/61455
8608 * array-notation-common.c (extract_array_notation_exprs): Handling
8609 of DECL_EXPR added.
8610
944fa280
JJ
86112014-08-01 Jakub Jelinek <jakub@redhat.com>
8612
8613 * c-common.h (min_align_of_type): Removed prototype.
8614 * c-common.c (min_align_of_type): Removed.
8615 * c-ubsan.h (ubsan_maybe_instrument_reference,
8616 ubsan_maybe_instrument_member_call): New prototypes.
8617 * c-ubsan.c: Include stor-layout.h and builtins.h.
8618 (ubsan_maybe_instrument_reference_or_call,
8619 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
8620 functions.
8621
b4dfdc11
MG
86222014-07-31 Marc Glisse <marc.glisse@inria.fr>
8623
8624 PR c++/60517
8625 * c.opt (-Wreturn-local-addr): Move to common.opt.
8626
a41844e5
JM
86272014-07-30 Jason Merrill <jason@redhat.com>
8628
8629 PR c++/61659
8630 PR c++/61687
8631 Revert:
8632 * c.opt (-fuse-all-virtuals): New.
8633
976d5a22
TT
86342014-07-30 Tom Tromey <tromey@redhat.com>
8635
8636 PR c/59855
8637 * c.opt (Wdesignated-init): New option.
8638 * c-common.c (c_common_attribute_table): Add "designated_init".
8639 (handle_designated_init): New function.
8640
cdc94aca
MP
86412014-07-24 Marek Polacek <polacek@redhat.com>
8642
8643 PR c/57653
8644 * c-opts.c (c_finish_options): If -imacros is in effect, return.
8645
f41373b6
DS
86462014-07-16 Dodji Seketeli <dodji@redhat.com>
8647
8648 PR preprocessor/60723 - missing system-ness marks for macro tokens
8649 * c-ppoutput.c (struct print::prev_was_system_token): New data
8650 member.
8651 (init_pp_output): Initialize it.
8652 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
8653 (do_line_change): Return a flag saying if a line marker was
8654 emitted or not.
8655 (scan_translation_unit): Detect if the system-ness of the token we
8656 are about to emit is different from the one of the previously
8657 emitted token. If so, emit a line marker. Avoid emitting useless
8658 adjacent line markers. Avoid emitting line markers for tokens
8659 originating from the expansion of built-in macros.
8660 (scan_translation_unit_directives_only): Adjust.
8661
4d661eaa
MP
86622014-07-15 Marek Polacek <polacek@redhat.com>
8663
8664 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
8665 TYPE_MAX_VALUE is NULL.
8666
b108f48f
JJ
86672014-07-14 Jakub Jelinek <jakub@redhat.com>
8668
8669 PR middle-end/61294
8670 * c.opt (Wmemset-transposed-args): New warning.
8671
c0221884
JM
86722014-07-10 Jason Merrill <jason@redhat.com>
8673
8674 PR c++/61659
8675 PR c++/61687
8676 * c.opt (-fuse-all-virtuals): New.
8677
63dfbb95
RB
86782014-07-09 Richard Biener <rguenther@suse.de>
8679
8680 PR c-family/61741
8681 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8682 using unsigned arithmetic if overflow does not wrap instead of
8683 if overflow is undefined.
8684
773ec47f
MP
86852014-07-06 Marek Polacek <polacek@redhat.com>
8686
8687 PR c/6940
8688 * c.opt (Wsizeof-array-argument): New option.
8689
00a7ba58
JJ
86902014-07-03 Jakub Jelinek <jakub@redhat.com>
8691
b1726d6c 8692 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
8693 comments->count <= 1, as comments->entries might be NULL.
8694
52ec0ea3
MP
86952014-07-01 Marek Polacek <polacek@redhat.com>
8696
8697 * c.opt (Wint-conversion): New option.
8698
d5c3d343
MP
86992014-07-01 Marek Polacek <polacek@redhat.com>
8700
8701 PR c/58286
8702 * c.opt (Wincompatible-pointer-types): New option.
8703
6e7ceb17
PC
87042014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
8705
8706 PR c++/51400
8707 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
8708 Do not discard TYPE_QUALS of type.
8709
da73100b
JM
87102014-06-26 Jason Merrill <jason@redhat.com>
8711
8712 * c-common.h (enum cxx_dialect): Add cxx1z.
8713 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
8714 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
8715
08eedf75
TJ
87162014-06-26 Teresa Johnson <tejohnson@google.com>
8717
8718 * c-common.h (get_dump_info): Declare.
8719 * c-gimplify.c (c_genericize): Use saved dump files.
8720 * c-opts.c (c_common_parse_file): Begin and end dumps
8721 once around parsing invocation.
8722 (get_dump_info): New function.
8723
7b56b2f8
MP
87242014-06-23 Marek Polacek <polacek@redhat.com>
8725 Andrew MacLeod <amacleod@redhat.com>
8726
8727 PR c/61553
8728 * c-common.c (get_atomic_generic_size): Don't segfault if the
8729 type doesn't have a size.
8730
0e37a2f3
MP
87312014-06-20 Marek Polacek <polacek@redhat.com>
8732
8733 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
8734 (ubsan_walk_array_refs_r): New function.
8735 (c_genericize): Instrument array bounds.
8736 * c-ubsan.c: Include "internal-fn.h".
8737 (ubsan_instrument_division): Mark instrumented arrays as having
8738 side effects. Adjust ubsan_type_descriptor call.
8739 (ubsan_instrument_shift): Likewise.
8740 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
8741 (ubsan_instrument_bounds): New function.
8742 (ubsan_array_ref_instrumented_p): New function.
8743 (ubsan_maybe_instrument_array_ref): New function.
8744 * c-ubsan.h (ubsan_instrument_bounds): Declare.
8745 (ubsan_array_ref_instrumented_p): Declare.
8746 (ubsan_maybe_instrument_array_ref): Declare.
8747
87482014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
8749
8750 PR lto/61123
8751 * c.opt (fshort-enums): Add to LTO.
8752 * c.opt (fshort-wchar): Likewise.
8753
5c3d09f7
MP
87542014-06-16 Marek Polacek <polacek@redhat.com>
8755
8756 PR c/60439
8757 * c.opt (Wswitch-bool): Add Var.
8758
9cf32741
JJ
87592014-06-12 Jakub Jelinek <jakub@redhat.com>
8760
8761 PR middle-end/61486
8762 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
8763 #pragma omp target teams or
8764 #pragma omp {,target }teams distribute simd.
8765
62984918
JM
87662014-06-12 Jason Merrill <jason@redhat.com>
8767
8768 * c.opt (Wabi=, fabi-compat-version): New.
8769 * c-opts.c (c_common_handle_option): Handle -Wabi=.
8770 (c_common_post_options): Handle flag_abi_compat_version default.
8771 Disallow -fabi-compat-version=1.
8772 * c-common.h (abi_version_crosses): New.
8773
f961457f
JH
87742014-06-11 Jan Hubicka <hubicka@ucw.cz>
8775
adfac8df 8776 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
8777 section names that are no longer trees.
8778
92d28cbb
JJ
87792014-06-10 Jakub Jelinek <jakub@redhat.com>
8780
8781 PR fortran/60928
8782 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
8783 (omp_pragmas): ... back here.
8784
742938c9
MP
87852014-06-05 Marek Polacek <polacek@redhat.com>
8786
8787 PR c/49706
8788 * c-common.c (warn_logical_not_parentheses): New function.
8789 * c-common.h (warn_logical_not_parentheses): Declare.
8790 * c.opt (Wlogical-not-parentheses): New option.
8791
9d548dfb
MP
87922014-06-04 Marek Polacek <polacek@redhat.com>
8793
8794 PR c/30020
8795 * c-common.c (check_case_bounds): Add location parameter.
8796 Use it.
8797 (c_add_case_label): Pass loc to check_case_bounds.
8798
fedfecef
MP
87992014-06-03 Marek Polacek <polacek@redhat.com>
8800
8801 PR c/60439
8802 * c.opt (Wswitch-bool): New option.
8803
f6a7cffc
TS
88042014-05-22 Thomas Schwinge <thomas@codesourcery.com>
8805
040d18b6
TS
8806 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
8807 Remove prototypes.
8808 (record_types_used_by_current_var_decl): Move prototype to where
8809 it belongs.
8810
f6a7cffc
TS
8811 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
8812 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
8813 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
8814
632f2871
RS
88152014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8816
8817 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
8818 * c-common.c (c_common_nodes_and_builtins): Don't initialize
8819 void_zero_node.
8820 * c-pretty-print.c (pp_c_void_constant): New function.
8821 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
8822 (c_pretty_printer::expression): Handle VOID_CST.
8823 * cilk.c (extract_free_variables): Likewise.
8824 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
8825 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
8826
766090c2
TS
88272014-05-17 Trevor Saunders <tsaunders@mozilla.com>
8828
8829 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
8830 * c-pragma.c (push_alignment): Adjust.
8831 (handle_pragma_push_options): Likewise.
8832
661a0813
MP
88332014-05-09 Marek Polacek <polacek@redhat.com>
8834
8835 PR c/50459
8836 * c-common.c (check_user_alignment): Return -1 if alignment is error
8837 node.
8838 (handle_aligned_attribute): Don't call default_conversion on
8839 FUNCTION_DECLs.
8840 (handle_vector_size_attribute): Likewise.
8841 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
8842 (handle_sentinel_attribute): Call default_conversion and allow even
8843 integral types as an argument.
8844
2793eeab
MP
88452014-05-08 Marek Polacek <polacek@redhat.com>
8846
8847 PR c/61053
8848 * c-common.c (min_align_of_type): New function factored out from...
8849 (c_sizeof_or_alignof_type): ...here.
8850 * c-common.h (min_align_of_type): Declare.
8851
f827930a
MP
88522014-05-08 Marek Polacek <polacek@redhat.com>
8853
8854 PR c/61077
8855 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
8856 parameter type of main.
8857
ca49b74e
DD
88582014-05-07 DJ Delorie <dj@redhat.com>
8859
8860 * c-cppbuiltin.c (print_bits_of_hex): New.
8861 (builtin_define_type_minmax): Print values using hex so as not to
8862 require a pre-computed list of string values.
8863
1d60af08
KZ
88642014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
8865 Mike Stump <mikestump@comcast.net>
8866 Richard Sandiford <rdsandiford@googlemail.com>
8867
8868 * c-ada-spec.c: Include wide-int.h.
8869 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
8870 (dump_generic_ada_node): Use wide-int interfaces.
8871 * c-common.c: Include wide-int-print.h.
8872 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
8873 (pointer_int_sum): Use wide-int interfaces.
8874 (c_common_nodes_and_builtins): Use make_int_cst.
8875 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
8876 (handle_alloc_size_attribute): Use wide-int interfaces.
8877 (get_nonnull_operand): Likewise.
8878 * c-format.c (get_constant): Use tree_fits_uhwi_p.
8879 * c-lex.c: Include wide-int.h.
8880 (narrowest_unsigned_type): Take a widest_int rather than two
8881 HOST_WIDE_INTs.
8882 (narrowest_signed_type): Likewise.
8883 (interpret_integer): Update accordingly. Use wide-int interfaces.
8884 (lex_charconst): Use wide-int interfaces.
8885 * c-pretty-print.c: Include wide-int.h.
8886 (pp_c_integer_constant): Use wide-int interfaces.
8887 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
8888 INT_CST_LT_UNSIGNED.
8889
b15458be
RB
88902014-05-06 Richard Biener <rguenther@suse.de>
8891
8892 * c-opts.c (c_common_post_options): For -freestanding,
8893 -fno-hosted and -fno-builtin disable pattern recognition
8894 if not enabled explicitely.
8895
6577374e
MP
88962014-05-02 Marek Polacek <polacek@redhat.com>
8897
8898 * c.opt (Wsizeof-pointer-memaccess): Describe option.
8899
d00887e8
MP
89002014-05-01 Marek Polacek <polacek@redhat.com>
8901
8902 PR c/43245
8903 * c.opt (Wdiscarded-qualifiers): Add.
8904
f8ed5150
MP
89052014-04-30 Marek Polacek <polacek@redhat.com>
8906
8907 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
8908 INT_MIN / -1 sanitization only for integer types.
8909
45484dcf
MP
89102014-04-25 Marek Polacek <polacek@redhat.com>
8911
8912 PR c/18079
8913 * c-common.c (handle_noinline_attribute): Warn if the attribute
8914 conflicts with always_inline attribute.
8915 (handle_always_inline_attribute): Warn if the attribute conflicts
8916 with noinline attribute.
8917
38e514c0
MP
89182014-04-25 Marek Polacek <polacek@redhat.com>
8919
8920 PR c/60156
8921 * c-common.c (check_main_parameter_types): Warn about variadic main.
8922
44875f92
MS
89232014-04-24 Mike Stump <mikestump@comcast.net>
8924
8925 * c.opt (Wshadow-ivar): Default to on.
8926
dcaaa5a0
DP
89272014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
8928
8929 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
8930
c07d7c02
MP
89312014-04-23 Marek Polacek <polacek@redhat.com>
8932
8933 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
8934
1c33c9b7
JJ
89352014-04-22 Jakub Jelinek <jakub@redhat.com>
8936
8937 PR sanitizer/60275
8938 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
8939 if flag_sanitize_undefined_trap_on_error.
8940 (ubsan_instrument_division, ubsan_instrument_shift,
8941 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
8942 if !flag_sanitize_recover.
8943
793c625f
MG
89442014-04-22 Marc Glisse <marc.glisse@inria.fr>
8945
8946 PR libstdc++/43622
8947 * c-common.c (registered_builtin_types): Make non-static.
8948 * c-common.h (registered_builtin_types): Declare.
8949
b0f1bf36 89502014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 8951 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
8952
8953 PR c/60819
8954 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
8955 apply may-alias the scalar pointer type when applicable.
8956
3b07fa4a
IZ
89572014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
8958
8959 PR middle-end/60467
8960 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
8961 as possible argument for Cilk_spawn.
8962
cbbd2b1c
TB
89632014-04-11 Tobias Burnus <burnus@net-b.de>
8964
8965 PR c/60194
8966 * c.opt (Wformat-signedness): Add
8967 * c-format.c(check_format_types): Use it.
8968
6415bd5d
JM
89692014-04-11 Jason Merrill <jason@redhat.com>
8970
8971 PR c++/57926
8972 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
8973 default_conversion for an array argument.
8974
6525783a
MP
89752014-04-08 Marek Polacek <polacek@redhat.com>
8976
8977 PR sanitizer/60745
8978 * c-ubsan.c: Include asan.h.
8979 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
8980
880a467b
NS
89812014-04-03 Nathan Sidwell <nathan@codesourcery.com>
8982
8983 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
8984
7b59ff2d
MP
89852014-04-02 Marek Polacek <polacek@redhat.com>
8986
8987 * c-common.h (c_expand_expr): Remove declaration.
8988
8edbfaa6
JJ
89892014-03-28 Jakub Jelinek <jakub@redhat.com>
8990
8991 PR c++/60689
8992 * c-common.c (add_atomic_size_parameter): When creating new
8993 params vector, push the size argument first.
8994
07d72e1d
JJ
89952014-03-26 Jakub Jelinek <jakub@redhat.com>
8996
8997 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8998 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8999 ubsan_create_data callers.
9000
b35e0fa0
JJ
90012014-03-22 Jakub Jelinek <jakub@redhat.com>
9002
9003 PR debug/60603
9004 * c-opts.c (c_finish_options): Restore cb_file_change call to
9005 <built-in>.
9006
39a1ebb3
JJ
90072014-03-13 Jakub Jelinek <jakub@redhat.com>
9008
9009 PR middle-end/36282
9010 * c-pragma.c (apply_pragma_weak): Only look at
9011 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9012 DECL_ASSEMBLER_NAME_SET_P (decl).
9013 (maybe_apply_pending_pragma_weaks): Exit early if
9014 vec_safe_is_empty (pending_weaks) rather than only when
9015 !pending_weaks.
9016 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
9017 set assembler name back to NULL afterwards.
9018
a07f6ed2
JM
90192014-03-11 Jason Merrill <jason@redhat.com>
9020
9021 * c.opt: Add -std=gnu++14.
9022
75b107f5
IB
90232014-03-11 Ian Bolton <ian.bolton@arm.com>
9024
9025 * c-opts.c (c_common_post_options): Don't override
9026 -ffp-contract=fast if unsafe-math-optimizations is on.
9027
f42c637e
PM
90282014-03-08 Paulo Matos <paulo@matos-sorge.com>
9029
22b15758 9030 * c.opt: Enable LTO FE for fshort-double.
f42c637e 9031
70e24808
JM
90322014-03-07 Jason Merrill <jason@redhat.com>
9033
9034 * c.opt: Add -std=c++14.
9035
3af9c5e9
MP
90362014-03-06 Marek Polacek <polacek@redhat.com>
9037
9038 PR c/60197
9039 * cilk.c (contains_cilk_spawn_stmt): New function.
9040 (contains_cilk_spawn_stmt_walker): Likewise.
9041 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9042 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9043
b3bdf019
JJ
90442014-03-03 Jakub Jelinek <jakub@redhat.com>
9045
9046 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9047 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9048 even when flag_preprocess_only.
9049
ca7e759d
JM
90502014-02-26 Jason Merrill <jason@redhat.com>
9051
9052 PR c++/59231
9053 PR c++/11586
9054 * c-common.c (shorten_compare): Don't check
9055 c_inhibit_evaluation_warnings.
9056
28e41874
JJ
90572014-02-19 Jakub Jelinek <jakub@redhat.com>
9058
cca615af
JJ
9059 PR c/37743
9060 * c-common.c (c_common_nodes_and_builtins): When initializing
9061 c_uint{16,32,64}_type_node, also set corresponding
9062 uint{16,32,64}_type_node to the same value.
9063
28e41874
JJ
9064 PR c++/60267
9065 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9066 for PRAGMA_IVDEP if flag_preprocess_only.
9067
c2bf53a1
JJ
90682014-02-12 Jakub Jelinek <jakub@redhat.com>
9069
9070 PR c/60101
9071 * c-common.c (merge_tlist): If copy is true, call new_tlist,
9072 if false, add ADD itself, rather than vice versa.
9073 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9074 copy. For SAVE_EXPR, only call merge_tlist once.
9075
8fcbce72
JJ
90762014-02-08 Jakub Jelinek <jakub@redhat.com>
9077
9078 PR middle-end/60092
9079 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9080 and tree_to_uhwi.
9081 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9082 functions.
9083 (c_common_attribute_table): Add alloc_align and assume_aligned
9084 attributes.
9085
0a756a3f
MP
90862014-02-06 Marek Polacek <polacek@redhat.com>
9087
9088 PR c/60087
9089 * c-common.c (warn_for_sign_compare): Call warning_at with location
9090 instead of warning.
9091
7ec4847a
MP
90922014-02-05 Marek Polacek <polacek@redhat.com>
9093
9094 PR c/53123
9095 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9096 statement.
9097
66f20604
MP
90982014-02-04 Marek Polacek <polacek@redhat.com>
9099
9100 PR c/60036
9101 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9102 SAVE_EXPR.
9103
5d77fb19
MG
91042014-02-03 Marc Glisse <marc.glisse@inria.fr>
9105
9106 PR c++/53017
9107 PR c++/59211
9108 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9109 handle_vector_size_attribute, handle_nonnull_attribute): Call
9110 default_conversion on the attribute argument.
9111 (handle_nonnull_attribute): Increment the argument number.
9112
81e5eca8
MP
91132014-01-31 Marek Polacek <polacek@redhat.com>
9114
9115 PR c/59963
9116 * c-common.c (add_atomic_size_parameter): Pass vNULL to
9117 build_function_call_vec.
9118 (resolve_overloaded_builtin): Likewise.
9119 * c-common.h (build_function_call_vec): Adjust declaration.
9120
68fca595
MP
91212014-01-30 Marek Polacek <polacek@redhat.com>
9122
9123 PR c/59940
9124 * c-common.h (unsafe_conversion_p): Adjust declaration.
9125 (warnings_for_convert_and_check): Likewise.
9126 (convert_and_check): Likewise.
9127 * c-common.c (unsafe_conversion_p): Add location parameter. Call
9128 expansion_point_location_if_in_system_header on it.
9129 (warnings_for_convert_and_check): Add location parameter. Call
9130 expansion_point_location_if_in_system_header on it. Use it.
9131 (convert_and_check): Add location parameter. Use it.
9132 (conversion_warning): Likewise.
9133 (c_add_case_label): Adjust convert_and_check calls.
9134 (scalar_to_vector): Adjust unsafe_conversion_p calls.
9135
b72271b9
BI
91362014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9137
9138 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9139 flag_cilkplus.
9140 * c-pragma.c (init_pragma): Likewise.
9141 * c.opt: Likewise.
9142
393e8e8b
MP
91432014-01-23 Marek Polacek <polacek@redhat.com>
9144
9145 PR c/59846
9146 * c-common.c (shorten_compare): Add location_t parameter.
9147 * c-common.h (shorten_binary_op): Adjust declaration.
9148
f04dda30
MP
91492014-01-23 Marek Polacek <polacek@redhat.com>
9150
9151 PR c/58346
9152 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9153 * c-common.h: Declare it.
9154
621955cb
EB
91552014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9156
9157 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9158 * c-ada-spec.c (dump_ads): Likewise.
9159 (cpp_check): Likewise.
9160 (dump_ada_specs): Likewise.
9161
91622014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
9163
9164 PR c++/49718
9165 * c-common.c (handle_no_instrument_function_attribute): Allow
9166 no_instrument_function attribute in class member
9167 definition/declaration.
9168
241f845a
JJ
91692014-01-15 Jakub Jelinek <jakub@redhat.com>
9170
9171 PR c/58943
9172 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9173 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
9174 being COMPOUND_EXPR.
9175 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9176 operand a SAVE_EXPR and second MODIFY_EXPR.
9177
e83b8e2e
JJ
91782014-01-09 Jakub Jelinek <jakub@redhat.com>
9179
9180 PR target/58115
9181 * c-pch.c (c_common_write_pch): Call
9182 prepare_target_option_nodes_for_pch.
9183
23a5b65a
RS
91842014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9185
9186 Update copyright years
9187
f9030485
RS
91882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9189
9190 * array-notation-common.c, c-cilkplus.c: Use the standard form for
9191 the copyright notice.
9192
f2aa696b
EB
91932013-12-28 Eric Botcazou <ebotcazou@adacore.com>
9194
9195 * c-ada-spec.c (print_constructor): New function.
9196 (print_destructor): Retrieve the origin of the destructor.
9197 (print_ada_declaration): Revamp handling of constructors/destructors.
9198
3f8257db 91992013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
9200 Bill Maddox <maddox@google.com>
9201 Jason Merrill <jason@redhat.com>
9202
9203 * c.opt: Add -fdeclone-ctor-dtor.
9204 * c-opts.c (c_common_post_options): Default to on iff -Os.
9205
41958c28
BI
92062013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
9207
9208 * c-common.c (c_common_attribute_table): Added "cilk simd function"
9209 attribute.
9210 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 9211 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
9212 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9213 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9214 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9215 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9216 PRAGMA_CILK_CLAUSE_UNIFORM.
9217
b1726d6c 9218
12893402
BI
92192013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
9220
9221 * cilk.c (cilk_outline): Made this function non-static.
9222 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9223 (create_cilk_wrapper): Added a new parameter: a function pointer.
9224 (c_install_body_w_frame_cleanup): Remove
9225 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9226 * c-common.h (cilk_outline): New prototype.
9227 (gimplify_cilk_spawn): Removed two parameters.
9228 (cilk_install_body_with_frame_cleanup): New prototype.
9229 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9230 CILK_SPAWN_STMT case.
9231
085b42ed
BS
92322013-12-11 Bernd Schmidt <bernds@codesourcery.com>
9233
2ce064c3
BS
9234 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9235
085b42ed
BS
9236 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9237 (int_array_type_node): Remove.
9238 * c-common.c (c_common_nodes_and_builtins): Don't build it.
9239
9e36c9ed
MP
92402013-12-05 Marek Polacek <polacek@redhat.com>
9241
9242 PR c/52023
9243 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9244 [ADJUST_FIELD_ALIGN].
9245
296674db
JM
92462013-12-04 Joseph Myers <joseph@codesourcery.com>
9247
9248 PR c/52023
9249 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9250 and check field alignment if set.
9251 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9252 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9253
b1726d6c 92542013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
9255 Marek Polacek <polacek@redhat.com>
9256
9257 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9258 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9259
d7947e19
L
92602013-11-29 H.J. Lu <hongjiu.lu@intel.com>
9261
9262 PR c/59309
9263 * cilk.c (gimplify_cilk_spawn): Properly handle function without
9264 arguments.
9265
fad7652e
JJ
92662013-11-29 Jakub Jelinek <jakub@redhat.com>
9267
9268 PR c/59280
9269 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9270 goto invalid. If it is error_mark_node, don't issue further
9271 diagnostics.
9272
8b5e1202
SO
92732013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
9274
9275 * c.opt (Wopenmp-simd): New.
9276
0a508bb6
JJ
92772013-11-22 Jakub Jelinek <jakub@redhat.com>
9278
9279 * c-ubsan.h (ubsan_instrument_return): New prototype.
9280 * c-ubsan.c (ubsan_instrument_return): New function.
9281
2fb9a547
AM
92822013-11-22 Andrew MacLeod <amacleod@redhat.com>
9283
9284 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
9285 * c-gimplify.c: Likewise.
9286 * cilk.c: Likewise.
2fb9a547 9287
8400e75e
DM
92882013-11-22 David Malcolm <dmalcolm@redhat.com>
9289
9290 * c-common.c (unsafe_conversion_p): Remove use of
9291 EXPR_LOC_OR_HERE macro.
9292 (conversion_warning): Likewise.
9293 (warnings_for_convert_and_check): Likewise.
9294 (warn_for_collisions_1): Likewise.
9295 (shorten_compare): Likewise, and remove use of in_system_header
9296 macro, using the location from the former.
9297 * c-lex.c (dump_one_header): Remove use of input_filename macro.
9298 (cb_def_pragma): Remove use of in_system_header macro.
9299 (lex_string): Likewise.
9300 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9301
eb1ce453
KZ
93022013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9303 Mike Stump <mikestump@comcast.net>
9304 Richard Sandiford <rdsandiford@googlemail.com>
9305
9306 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9307 instead of TREE_INT_CST_LOW, in cases where there is a protecting
9308 tree_fits_shwi_p or tree_fits_uhwi_p.
9309 (dump_generic_ada_node): Likewise.
9310 * c-format.c (check_format_arg): Likewise.
9311 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9312
6b3b8c27
KZ
93132013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
9314
9315 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9316
49b0aa18
JC
93172013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
9318
9319 PR c/53001
9320 * c-common.c (unsafe_conversion_p): Make this function
9321 return an enumeration with more detail.
9322 (conversion_warning): Use the new return type of
9323 unsafe_conversion_p to separately warn either about conversions
9324 that lower floating point number precision or about the other
9325 kinds of conversions.
9326 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
9327 (unsafe_conversion_p): switching return type to
9328 conversion_safety enumeration.
49b0aa18
JC
9329 * c.opt: Adding new warning -Wfloat-conversion and
9330 enabling it with -Wconversion.
9331
b826515a
BS
93322013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
9333
8e745a17
JJ
9334 * c-opts.c: Include plugin.h.
9335 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 9336
b9a55b13
MP
93372013-11-19 Marek Polacek <polacek@redhat.com>
9338
9339 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9340 call.
9341 (ubsan_instrument_shift): Likewise.
9342 (ubsan_instrument_vla): Likewise.
9343
7d362f6c
RS
93442013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9345
9346 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9347 cast to unsigned type.
9348
386b1f1f
RS
93492013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9350
9351 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9352 tree_low_cst.
9353 (complete_array_type): Update comment to refer to tree_to_[su]hwi
9354 rather than tree_low_cst.
9355
ae7e9ddd
RS
93562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9357
9358 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
9359 tree_to_uhwi throughout.
9360
9439e9a1
RS
93612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9362
9363 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
9364 tree_low_cst (..., 0) with tree_to_shwi throughout.
9365
cc269bb6
RS
93662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9367
9368 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
9369 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
9370
9541ffee
RS
93712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
9372
9373 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
9374 host_integerp (..., 0) with tree_fits_shwi_p throughout.
9375
c02065fc
AH
93762013-11-15 Aldy Hernandez <aldyh@redhat.com>
9377
9378 * c-cilkplus.c: New file.
9379 * c-common.c (readonly_error): Add location argument.
9380 * c-common.h (readonly_error): Same.
9381 (c_finish_cilk_clauses): Protoize.
9382 (c_check_cilk_loop): Same.
9383 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9384 Do not fail on error_mark_node.
9385 Abstract increment canonicalization to here...
9386 (c_omp_for_incr_canonicalize_ptr): New.
9387 c-pragma.c (init_pragma): Register "simd" pragma.
9388 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
9389 (enum pragma_cilk_clause): New.
9390
9cc65f15
RS
93912013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
9392
9393 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
9394 wchar_type and host_integerp checks.
9395
18f429e2
AM
93962013-11-14 Andrew MacLeod <amacleod@redhat.com>
9397
9398 * c-common.c: Likewise.
9399 * c-gimplify.c: Likewise.
9400 * cilk.c: Likewise.
9401
d8a2d370
DN
94022013-11-14 Diego Novillo <dnovillo@google.com>
9403
9404 * c-common.c: Include fold-const.h.
9405 Include stor-layout.h.
9406 Include calls.h.
9407 Include stringpool.h.
9408 Include attribs.h.
9409 Include varasm.h.
9410 Include trans-mem.h.
9411 * c-cppbuiltin.c: Include stor-layout.h.
9412 Include stringpool.h.
9413 * c-format.c: Include stringpool.h.
9414 * c-lex.c: Include stringpool.h.
9415 Include stor-layout.h.
9416 * c-pragma.c: Include stringpool.h.
9417 Include attribs.h.
9418 Include varasm.h.
9419 Include gcc-symtab.h.
9420 * c-pretty-print.c: Include stor-layout.h.
9421 Include attribs.h.
9422 * cilk.c: Include stringpool.h.
9423 Include calls.h.
9424
38b7bc7f
JM
94252013-11-13 Joseph Myers <joseph@codesourcery.com>
9426
9427 * c-common.h (enum rid): Add RID_AUTO_TYPE.
9428 * c-common.c (c_common_reswords): Add __auto_type.
9429 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
9430
45b0be94
AM
94312013-11-12 Andrew MacLeod <amacleod@redhat.com>
9432
18f429e2
AM
9433 * c-common.c: Include gimplify.h.
9434 * c-gimplify.c: Likewise.
9435 * cilk.c: Likewise.
9436 * c-omp.c: Include gimple-expr.h instead of gimple.h.
9437 * c-ubsan.c: Don't include gimple.h.
45b0be94 9438
582d9b50
JM
94392013-11-12 Joseph Myers <joseph@codesourcery.com>
9440
9441 * c-common.c (c_common_reswords): Add _Thread_local.
9442
6b28e197
JM
94432013-11-09 Joseph Myers <joseph@codesourcery.com>
9444
9445 * c-common.c (atomic_size_supported_p): New function.
9446 (resolve_overloaded_atomic_exchange)
9447 (resolve_overloaded_atomic_compare_exchange)
9448 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
9449 Use it instead of comparing size with a local list of sizes.
9450
267bac10
JM
94512013-11-07 Andrew MacLeod <amacleod@redhat.com>
9452 Joseph Myers <joseph@codesourcery.com>
9453
9454 * c-common.h (enum rid): Add RID_ATOMIC.
9455 * c-common.c (c_common_reswords): Add _Atomic.
9456 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
9457 (keyword_is_type_qualifier): Accept RID_ATOMIC.
9458 * c-format.c (check_format_types): Check for extra _Atomic
9459 qualifiers in format argument.
9460 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
9461 (pp_c_type_qualifier_list): Mention _Atomic in comment.
9462
5157b91e
TB
94632013-11-06 Tobias Burnus <burnus@net-b.de>
9464
9465 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
9466
6dbe0958
JM
94672013-11-06 Joseph Myers <joseph@codesourcery.com>
9468
9469 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
9470 standards modes.
9471 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
9472 to mean lack of IEEE 754 support.
9473
e8ff5196
TB
94742013-11-05 Tobias Burnus <burnus@net-b.de>
9475
9476 * c.opt (-Wdate-time): New option
9477 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
9478
254a0760
JM
94792013-11-05 Joseph Myers <joseph@codesourcery.com>
9480
9481 * c-cppbuiltin.c (cpp_iec_559_value): Test
9482 flag_excess_precision_cmdline not flag_excess_precision.
9483
6d7f7e0a
TB
94842013-11-05 Tobias Burnus <burnus@net-b.de>
9485
9486 * c.opt (fopenmp-simd): New option.
9487 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
9488 (omp_pragmas): ... this new struct.
9489 (c_pp_lookup_pragma): Also walk omp_pragmas.
9490 (init_pragma): Init pragmas for -fopenmp-simd.
9491
55a7f02f
MP
94922013-11-04 Marek Polacek <polacek@redhat.com>
9493
9494 PR c++/58979
9495 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
9496
9193fb05
JM
94972013-11-04 Joseph Myers <joseph@codesourcery.com>
9498
9499 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
9500 New functions.
9501 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
9502
94159ecf
EB
95032013-11-04 Eric Botcazou <ebotcazou@adacore.com>
9504
9505 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
9506 (dump_ada_specs): Adjust prototype of second callback.
9507 * c-ada-spec.c (cpp_check): New global variable.
9508 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
9509 (print_generic_ada_decl): Likewise.
9510 (has_static_fields): Change return type to bool and add guard.
9511 (has_nontrivial_methods): New predicate.
9512 (is_tagged_type): Change return type to bool.
9513 (separate_class_package): Call has_nontrivial_methods.
9514 (pp_ada_tree_identifier): Minor tweaks.
9515 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
9516 (dump_ada_array_domains): Likewise.
9517 (dump_ada_array_type): Likewise.
9518 (dump_template_types): Remove cpp_check parameter and do not pass it to
9519 dump_generic_ada_node.
9520 (dump_ada_template): Likewise.
9521 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
9522 recursively.
9523 (print_ada_methods): Change return type to integer. Remove cpp_check
9524 parameter and do not pass it down.
9525 (dump_nested_types): Remove cpp_check parameter and do not pass it to
9526 dump_generic_ada_node.
9527 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
9528 accessing methods.
9529 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
9530 down. Use has_nontrivial_methods to recognize C++ classes. Use return
9531 value of print_ada_methods.
9532 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
9533 Set cpp_check to it before invoking dump_ada_nodes.
9534 (dump_ada_specs): Likewise.
9535
b906f4ca
MP
95362013-11-03 Marek Polacek <polacek@redhat.com>
9537
9538 * c-ubsan.c: Don't include hash-table.h.
9539 (ubsan_instrument_vla): New function.
9540 * c-ubsan.h: Declare it.
9541
5e20cdc9
DM
95422013-10-31 David Malcolm <dmalcolm@redhat.com>
9543
9544 Automated part of renaming of symtab_node_base to symtab_node.
9545
9546 Patch autogenerated by rename_symtab.py from
9547 https://github.com/davidmalcolm/gcc-refactoring-scripts
9548 revision 58bb219cc090b2f4516a9297d868c245495ee622
9549
9550 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
9551 symtab_node_base to symtab_node.
9552
7057e645
ESR
95532013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
9554
8e745a17 9555 Implement C++14 digit separators.
7057e645
ESR
9556 * c-lex.c (interpret_float): Remove digit separators from scratch string
9557 before building real literal.
9558
193ea7bc
JJ
95592013-10-30 Jakub Jelinek <jakub@redhat.com>
9560
9561 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
9562
939b37da
BI
95632013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
9564
9565 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
9566 fields.
9567 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
9568 enabled.
9569 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
9570 (insert_cilk_frame): New prototype.
9571 (cilk_init_builtins): Likewise.
9572 (gimplify_cilk_spawn): Likewise.
9573 (c_cilk_install_body_w_frame_cleanup): Likewise.
9574 (cilk_detect_spawn_and_unwrap): Likewise.
9575 (cilk_set_spawn_marker): Likewise.
9576 (build_cilk_sync): Likewise.
9577 (build_cilk_spawn): Likewise.
9578 * cilk.c: New file.
9579
67348ccc
DM
95802013-10-29 David Malcolm <dmalcolm@redhat.com>
9581
9582 Patch autogenerated by refactor_symtab.py from
9583 https://github.com/davidmalcolm/gcc-refactoring-scripts
9584 revision 58bb219cc090b2f4516a9297d868c245495ee622
9585
9586 * c-gimplify.c (c_genericize): Update for conversion of symtab types
9587 to a true class hierarchy.
9588 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
9589
d570872d
RS
95902013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
9591
9592 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
9593
98906124
JL
95942013-10-26 Jeff Law <law@redhat.com>
9595
adfac8df
JJ
9596 * c-common.c (c_define_builtins): Remove mudflap support.
9597 * c.opt: Ignore and warn for mudflap options.
98906124 9598
d73749df 95992013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
9600
9601 PR other/33426
9602 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
9603 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
9604
3f04b1bb
JM
96052013-10-23 Jason Merrill <jason@redhat.com>
9606
9607 * c-format.c (gcc_cxxdiag_char_table): Add %X.
9608
acf0174b
JJ
96092013-10-11 Jakub Jelinek <jakub@redhat.com>
9610
acd15a28
JJ
9611 * c-common.h (omp_clause_mask::operator !=): New method.
9612 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
9613 instead of if (mask & something) tests everywhere.
9614
acf0174b
JJ
9615 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
9616 201307 instead of 201107.
9617 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
9618 (c_common_attribute_table): Add "omp declare target" and
9619 "omp declare simd" attributes.
9620 (handle_omp_declare_target_attribute,
9621 handle_omp_declare_simd_attribute): New functions.
9622 * c-omp.c: Include c-pragma.h.
9623 (c_finish_omp_taskgroup): New function.
9624 (c_finish_omp_atomic): Add swapped argument, if true,
9625 build the operation first with rhs, lhs arguments and use NOP_EXPR
9626 build_modify_expr.
9627 (c_finish_omp_for): Add code argument, pass it down to make_code.
9628 (c_omp_split_clauses): New function.
9629 (c_split_parallel_clauses): Removed.
9630 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
9631 c_omp_declare_simd_clauses_to_decls): New functions.
9632 * c-common.h (omp_clause_mask): New type.
9633 (OMP_CLAUSE_MASK_1): Define.
9634 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
9635 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
9636 omp_clause_mask::operator |, omp_clause_mask::operator &,
9637 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
9638 omp_clause_mask::operator ==): New methods.
9639 (enum c_omp_clause_split): New.
9640 (c_finish_omp_taskgroup): New prototype.
9641 (c_finish_omp_atomic): Add swapped argument.
9642 (c_finish_omp_for): Add code argument.
9643 (c_omp_split_clauses): New prototype.
9644 (c_split_parallel_clauses): Removed.
9645 (c_omp_declare_simd_clauses_to_numbers,
9646 c_omp_declare_simd_clauses_to_decls): New prototypes.
9647 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
9648 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
9649 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
9650 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
9651 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
9652 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
9653 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
9654 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
9655 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
9656 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
9657 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
9658 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
9659 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
9660 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
9661 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
9662 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
9663 PRAGMA_OMP_CLAUSE_UNIFORM.
9664
826cacfe
MG
96652013-10-09 Marc Glisse <marc.glisse@inria.fr>
9666
9667 PR tree-optimization/20318
9668 * c-common.c (handle_returns_nonnull_attribute): New function.
9669 (c_common_attribute_table): Add returns_nonnull.
9670
2284b034
MG
96712013-10-03 Marc Glisse <marc.glisse@inria.fr>
9672
9673 PR c++/19476
9674 * c.opt (fcheck-new): Move to common.opt.
9675
b56e9788
MP
96762013-09-25 Marek Polacek <polacek@redhat.com>
9677 Jakub Jelinek <jakub@redhat.com>
9678
9679 PR sanitizer/58413
9680 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
9681 an expression if we can prove it is correct.
9682 (ubsan_instrument_division): Likewise. Remove unnecessary
9683 check.
9684
ce6923c5
MP
96852013-09-18 Marek Polacek <polacek@redhat.com>
9686
9687 PR sanitizer/58411
9688 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
9689 Declare it.
9690 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
9691
fb5610fb
IS
96922013-09-14 Iain Sandoe <iain@codesourcery.com>
9693
9694 PR target/48094
9695 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
9696 fobjc-gc, freplace-objc-classes): Accept for LTO.
9697
88b0e79e
JC
96982013-09-13 Jacek Caban <jacek@codeweavers.com>
9699
9700 * c-target.def: New hook
9701
c9b0866a
PC
97022013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
9703
9704 PR c++/43452
9705 * c.opt (Wdelete-incomplete): Add.
9706
0af94e6f
JR
97072013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
9708
9709 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
9710 (vector_types_compatible_elements_p): New function.
9711 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
9712 declaration.
9713 (vector_types_compatible_elements_p): Declare.
9714
7c26172c
GDR
97152013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
9716
9717 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
9718 a virtual member function.
9719 (pp_simple_type_specifier): Remove.
9720 (pp_c_type_specifier): Likewise.
9721 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
9722 Rename from pp_c_type_specifier. Adjust.
9723 (c_pretty_printer::c_pretty_printer): Do not assign to
9724 simple_type_specifier.
9725
20059c8b
GDR
97262013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9727
9728 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
9729 member function.
9730 (c_pretty_printer::storage_class_specifier): Likewise.
9731 (c_pretty_printer::initializer): Likewise.
9732 (pp_declaration): Remove.
9733 (pp_declaration_specifiers): Likewise.
9734 (pp_abstract_declarator): Likewise.
9735 (pp_declarator): Likewise.
9736 (pp_type_id): Likewise.
9737 (pp_statement): Likewise.
9738 (pp_constant): Likewise.
9739 (pp_id_expression): Likewise.
9740 (pp_primary_expression): Likewise.
9741 (pp_unary_expression): Likewise.
9742 (pp_multiplicative_expression): Likewise.
9743 (pp_conditional_expression): Likewise.
9744 (pp_assignment_expression): Likewise.
9745 (pp_expression): Likewise.
9746 (pp_c_type_id): Likewise.
9747 (pp_c_storage_class_specifier): Likewise.
9748 * c-pretty-print.c (pp_c_type_cast): Tidy.
9749 (pp_c_pointer): Likewise.
9750 (pp_c_type_specifier): Likewise.
9751 (pp_c_parameter_type_list): Likewise.
9752 (pp_c_function_definition): Likewise.
9753 (pp_c_init_declarator): Likewise.
9754 (pp_c_initializer_list): Likewise.
9755 (pp_c_constructor_elts): Likewise.
9756 (c_pretty_printer::direct_abstract_declarator): Likewise.
9757 (c_pretty_printer::declaration_specifiers): Likewise.
9758 (c_pretty_printer::primary_expression): Likewise.
9759 (c_pretty_printer::postfix_expression): Likewise.
9760 (c_pretty_printer::type_id): Rename from pp_c_type_id.
9761 (c_pretty_printer::storage_class_specifier): Rename from
9762 pp_c_storage_class_specifier.
9763 (c_pretty_printer::initializer): Rename from pp_c_initializer.
9764 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
9765 storage_class_specifier, initializer, offset_list, flags.
9766
de5a5fa1
MP
97672013-08-30 Marek Polacek <polacek@redhat.com>
9768
9769 * c-ubsan.c: New file.
9770 * c-ubsan.h: New file.
9771
8f0e4d72
GDR
97722013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
9773
9774 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
9775 member function.
9776 (c_pretty_printer::declaration_specifiers): Likewise.
9777 (c_pretty_printer::declarator): Likewise.
9778 (c_pretty_printer::abstract_declarator): Likewise.
9779 (c_pretty_printer::direct_abstract_declarator): Likewise.
9780 (c_pretty_printer::direct_declarator): Likewise.
9781 (c_pretty_printer::function_specifier): Likewise.
9782 (pp_declaration): Adjust.
9783 (pp_declaration_specifiers): Likewise.
9784 (pp_abstract_declarator): Likewise.
9785 (pp_direct_declarator): Likewise.
9786 (pp_function_specifier): Likewise.
9787 (pp_direct_abstract_declarator): Remove as unused.
9788 (pp_c_declaration): Remove.
9789 (pp_c_declaration_specifiers): Likewise.
9790 (pp_c_declarator): Likewise.
9791 (pp_c_direct_declarator): Likewise.
9792 (pp_c_function_specifier): Likewise.
9793 (pp_c_direct_abstract_declarator): Likewise.
9794 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
9795 from pp_c_abstract_declarator. Adjust.
ab20d992 9796 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
9797 pp_c_direct_abstract_declarator. Adjust.
9798 (c_pretty_printer::function_specifier): Rename from
9799 pp_c_function_specifier. Adjust.
9800 (c_pretty_printer::declaration_specifiers): Rename from
9801 pp_c_declaration_specifiers. Adjust.
9802 (c_pretty_printer::direct_declarator): Rename from
9803 pp_c_direct_declarator. Adjust.
9804 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
9805 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
9806 (c_pretty_printer::c_pretty_printer): Do not assign to
9807 declaration, declaration_specifiers, declarator,
9808 direct_declarator, direct_abstract_declarator, function_specifier.
9809
00d34d3a
GDR
98102013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
9811
9812 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
9813 virtual member function.
9814 (c_pretty_printer::multiplicative_expression): Likewise.
9815 (c_pretty_printer::conditional_expression): Likewise.
9816 (c_pretty_printer::assignment_expression): Likewise.
9817 (c_pretty_printer::expression): Likewise.
9818 (pp_unary_expression): Adjust.
9819 (pp_multiplicative_expression): Likewise.
9820 (pp_assignment_expression): Likewise.
9821 (pp_conditional_expression): Likewise.
9822 (pp_expression): Likewise.
9823 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
9824 from pp_c_unary_expression. Adjust.
9825 (c_pretty_printer::multiplicative_expression): Rename from
9826 pp_c_multiplicative_expression. Adjust.
9827 (c_pretty_printer::conditional_expression): Rename from
9828 pp_c_conditional_expression. Adjust.
9829 (c_pretty_printer::assignment_expression): Rename from
9830 pp_c_assignment_expression. Adjust.
9831 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
9832 (c_pretty_printer::c_pretty_printer): Do not assign to
9833 unary_expression, multiplicative_expression,
9834 conditional_expression, expression.
9835
fb22178f
GDR
98362013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9837
9838 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
9839 virtual member function.
9840 (pp_postfix_expression): Adjust.
9841 (pp_c_postfix_expression): Remove.
9842 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
9843 from pp_c_postfix_expression. Adjust.
9844 (c_pretty_printer::c_pretty_printer): Do not assign to
9845 postfix_expression.
9846
7ecc2600
GDR
98472013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9848
9849 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
9850 virtua member function.
9851 (pp_primary_expression): Adjust.
9852 (pp_c_primary_expression): Remove.
9853 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
9854 from pp_c_primary_expression. Adjust.
9855 (pp_c_initializer_list): Use pp_primary_expression.
9856 (c_pretty_printer::c_pretty_printer): Do not assign to
9857 primary_expression.
9858
0691175f
GDR
98592013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9860
9861 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
9862 * c-pretty-print.c (M_): Remove.
9863 (c_pretty_printer::translate_string): Define.
9864 (pp_c_type_specifier): Use it.
9865 (pp_c_primary_expression): Likewise.
9866 (pp_c_expression): Likewise.
9867
66dfe4c4
GDR
98682013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
9869
9870 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
9871 virtual function.
9872 (pp_c_id_expression): Remove.
9873 (pp_id_expression): Adjust.
9874 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
9875 pp_c_id_expression. Adjust.
9876 (pp_c_postfix_expression): Use pp_id_expression.
9877 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
9878
ca43e9d5
GDR
98792013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
9880
9881 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
9882 member function.
9883 (pp_constant): Adjust.
9884 (pp_c_constant): Remove.
9885 * c-pretty-print.c (c_pretty_printer::constant): Rename from
9886 pp_c_constant. Adjust.
9887 (pp_c_constant)
9888 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
9889 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
9890
da6ca2b5
GDR
98912013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
9892
9893 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
9894 (c_pretty_printer::c_pretty_printer): Declare.
9895 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
9896 c_pretty_printer_init. Adjust.
9897 (print_c_tree): Do not call c_pretty_printer_init.
9898 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
9899
65a372f4
AC
99002013-08-09 Arnaud Charlet <charlet@adacore.com>
9901
9902 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
9903
fd9b0f32
PC
99042013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
9905
9906 PR c++/58080
9907 * c-common.c (pointer_int_sum): Add bool parameter.
9908 * c-common.h (pointer_int_sum): Adjust declaration.
9909
e0aec1e9
GDR
99102013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
9911
9912 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
9913 c_pretty_printer variable.
9914
b066401f
GDR
99152013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
9916
9917 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
9918 (pp_base): Remove.
9919 (pp_c_base): Likewise. Adjust users.
9920 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
9921 (pp_c_whitespace): Do not call pp_base.
9922 (pp_c_left_paren): Likewise.
9923 (pp_c_right_paren): Likewise.
9924 (pp_c_left_brace): Likewise.
9925 (pp_c_right_brace): Likewise.
9926 (pp_c_left_bracket): Likewise.
9927 (pp_c_right_bracket): Likewise.
9928 (pp_c_dot): Likewise.
9929 (pp_c_ampersand): Likewise.
9930 (pp_c_star): Likewise.
9931 (pp_c_arrow): Likewise.
9932 (pp_c_semicolon): Likewise.
9933 (pp_c_complement): Likewise.
9934 (pp_c_exclamation): Likewise.
9935 (pp_c_direct_declarator): Likewise.
9936 (pp_c_ws_string): Likewise.
9937 (pp_c_identifier): Likewise.
9938 (pp_c_statement): Likewise.
9939 (print_c_tree): Likewise.
9940
65e5a578
ESR
99412013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
9942
9943 PR c++/58072
9944 * c-common.c (c_parse_error): Catch user-defined literal tokens and
9945 provide useful error strings.
9946
137a1a27
GDR
99472013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9948
9949 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
9950 printer functions instead of pp_string or operators and punctuators.
9951 (dump_generic_ada_node): Likewise.
9952 * c-pretty-print.c (pp_c_type_specifier): Likewise.
9953 (pp_c_relational_expression): Likewise.
9954 (pp_c_logical_or_expression): Likewise.
9955
07838b13
GDR
99562013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9957
9958 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
9959 functions instead of pp_character.
9960 (pp_ada_tree_identifier): Likewise.
9961 (dump_ada_double_name): Likewise.
9962 (dump_ada_function_declaration): Likewise.
9963 (dump_ada_array_domains): Likewise.
9964 (dump_template_types): Likewise.
9965 (dump_generic_ada_node): Likewise.
9966 (print_ada_declaration): Likewise.
9967 (print_ada_struct_decl): Likewise.
9968 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9969
433cc7b0
TT
99702013-07-23 Tom Tromey <tromey@redhat.com>
9971
9972 * c-common.h (enum rid) <RID_GENERIC>: New constant.
9973 * c-common.c (c_common_reswords): Add _Generic.
9974
688010ba
OB
99752013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
9976
9977 * c-common.c: Fix typos.
9978 * c-common.h: Likewise.
9979
2a99e5e6
LL
99802013-07-13 Lubos Lunak <l.lunak@suse.cz>
9981
9982 PR c++/55203
9983 * c-common.c (c_common_attribute_table): Add warn_unused.
9984 (handle_warn_unused_attribute): New.
9985
c26302d5
JJ
99862013-07-10 Jakub Jelinek <jakub@redhat.com>
9987
9988 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
9989 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
9990
dfeadaa0
PC
99912013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
9992
9993 PR c++/57869
9994 * c.opt: Add Wconditionally-supported.
9995
6a2fa4b2
GS
99962013-07-08 Graham Stott <graham.stott@btinternet.com>
9997
adfac8df 9998 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
9999 unused variables l_length and l_node.
10000
ecdbd01a 100012013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
10002
10003 PR c/57821
10004 * c-common.c (complete_array_type): Delay folding first index
10005 like other indices. When folding, check for index overflow.
10006
bedc293e
MG
100072013-06-27 Marc Glisse <marc.glisse@inria.fr>
10008
10009 PR c++/57509
10010 * c-common.h (c_build_vec_perm_expr): New complain argument.
10011 * c-common.c (c_build_vec_perm_expr): Likewise.
10012 Use save_expr also in C++.
10013
604b2bfc
GDR
100142013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
10015
10016 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10017 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10018 * c-opts.c (c_common_post_options): Likewise.
10019
dfeadaa0 100202013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
10021
10022 * array-notation-common.c (length_mismatch_in_expr): Changed the
10023 parameter type's from a dynamic array to a vec_tree. Also removed
10024 the size parameters.
10025 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10026 the change above.
10027
2ce86d2e
BI
100282013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
10029
10030 * c-common.h (struct cilkplus_an_parts): New structure.
10031 (struct cilkplus_an_loop_parts): Likewise.
10032 (cilkplus_extract_an_triplets): New prototype.
10033 (fix_sec_implicit_args): Likewise.
10034 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10035 (fix_sec_implicit_args): Likewise.
604b2bfc 10036
07a6825b
BI
100372013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
10038
10039 * array-notation-common.c (find_inv_trees): Removed an unwanted
10040 typecasting.
10041 * c-common.h (struct inv_list::additional_tcodes): Changed type from
10042 enum rid to enum tree_code.
10043
08346abd
JH
100442013-06-11 Jan Hubicka <jh@suse.cz>
10045
10046 * c-common.c (handle_alias_ifunc_attribute): Do not set
10047 DECL_EXTERNAL for weakref variables.
10048 * c-pragma.c (handle_pragma_weak): Make sure aliases
10049 are not declared as external.
10050
d60f1706
BI
100512013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
10052
10053 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10054 function from c/c-array-notation.c.
10055 (is_cilkplus_reduce_builtin): Likewise.
10056 (find_rank): Likewise.
10057 (extract_array_notation_exprs): Likewise.
10058 (replace_array_notations): Likewise.
10059 (find_inv_trees): Likewise.
10060 (replace_inv_trees): Likewise.
10061 (contains_array_notation_expr): Likewise.
10062 (find_correct_array_notation_type): Likewise.
10063 * c-common.h (struct inv_list): Moved this struct from the file
10064 c/c-array-notation.c and added a new field called additional tcodes.
10065 (length_mismatch_in_expr_p): New prototype.
10066 (is_cilkplus_reduce_builtin): Likewise.
10067 (find_rank): Likewise.
10068 (extract_array_notation_exprs): Likewise.
10069 (replace_array_notation): Likewise.
10070 (find_inv_trees): Likewise.
10071 (replace_inv_trees): Likewise.
10072 (find_correct_array_notation_type): Likewise.
dfeadaa0 10073
36536d79
BI
100742013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
10075
10076 * c-common.c (c_define_builtins): When cilkplus is enabled, the
10077 function array_notation_init_builtins is called.
10078 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10079 * c-common.def (ARRAY_NOTATION_REF): New tree.
10080 * c-common.h (build_array_notation_expr): New function declaration.
10081 (build_array_notation_ref): Likewise.
10082 (extract_sec_implicit_index_arg): New extern declaration.
10083 (is_sec_implicit_index_fn): Likewise.
10084 (ARRAY_NOTATION_CHECK): New define.
10085 (ARRAY_NOTATION_ARRAY): Likewise.
10086 (ARRAY_NOTATION_START): Likewise.
10087 (ARRAY_NOTATION_LENGTH): Likewise.
10088 (ARRAY_NOTATION_STRIDE): Likewise.
10089 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10090 ARRAY_NOTATION_REF.
10091 (pp_c_expression): Likewise.
10092 * c.opt (flag_enable_cilkplus): New flag.
10093 * array-notation-common.c: New file.
10094
f7716d57
JJ
100952013-05-14 Jakub Jelinek <jakub@redhat.com>
10096
10097 PR c++/57274
10098 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10099
a5e0cd1d
MG
101002013-05-10 Marc Glisse <marc.glisse@inria.fr>
10101
10102 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10103 vectors.
10104
f6bc1c4a
HS
101052013-05-07 Han Shen <shenhan@google.com>
10106
10107 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10108
3f12f6e9
SKS
101092013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10110
10111 * c-common.c (check_user_alignment): Emit error for negative values.
10112
61949153
PC
101132013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10114
10115 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10116
e93e18e9
PC
101172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10118
10119 * c-cppbuiltin.c (c_cpp_builtins): Do not define
10120 __GXX_EXPERIMENTAL_CXX1Y__.
10121
44d90fe1 101222013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 10123 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
10124
10125 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10126 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10127 to simply use OPT_Wpointer_arith.
10128 (c_sizeof_or_alignof_type): Likewise.
10129
13f39b2e
PC
101302013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10131
10132 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10133
4b84d650
JJ
101342013-04-12 Jakub Jelinek <jakub@redhat.com>
10135
10136 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10137 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10138 specifiers.
10139
fb037b5d
SB
101402013-04-07 Steven Bosscher <steven@gcc.gnu.org>
10141
10142 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10143
4e856798
PC
101442013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
10145
10146 * c-common.c (pointer_int_sum): Remove dead code.
10147
4b1baac8
RS
101482013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
10149
10150 PR middle-end/56524
10151 * c-common.c (handle_optimize_attribute): Don't call
10152 save_optabs_if_changed.
10153
0b50e654
JJ
101542013-03-05 Jakub Jelinek <jakub@redhat.com>
10155
10156 PR middle-end/56461
10157 * c-pch.c (pch_init): Free target_validity at the end.
10158
48c41403
JJ
101592013-03-04 Jakub Jelinek <jakub@redhat.com>
10160
10161 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10162
e664c61c
KS
101632013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
10164 Jakub Jelinek <jakub@redhat.com>
10165
10166 PR sanitizer/56454
10167 * c-common.c (handle_no_sanitize_address_attribute): New function.
10168 (c_common_attribute_table): Add no_sanitize_address attribute.
10169 (handle_no_address_safety_analysis_attribute): Add
10170 no_sanitize_address attribute, not no_address_safety_analysis
10171 attribute.
10172
a475fd3d 101732013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
10174
10175 PR target/52555
10176 * c-common.c (handle_optimize_attribute): Call
10177 save_optabs_if_changed.
10178
f6007d99
JJ
101792013-02-18 Jakub Jelinek <jakub@redhat.com>
10180 Steven Bosscher <steven@gcc.gnu.org>
10181
10182 PR pch/54117
10183 * c-opts.c (c_common_post_options): If debug info is enabled
10184 and non-dwarf*, refuse to load PCH files and when writing PCH
10185 file warn.
10186
cf35e2b1
JJ
101872013-02-05 Jakub Jelinek <jakub@redhat.com>
10188
10189 PR middle-end/56167
10190 * c-common.c (handle_error_attribute): Fix condition.
10191
32887460
JJ
101922013-01-30 Jakub Jelinek <jakub@redhat.com>
10193
10194 PR c++/55742
10195 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10196
5af057d8
JM
101972013-01-18 Jason Merrill <jason@redhat.com>
10198
10199 PR target/54908
10200 * c.opt (-fextern-tls-init): New.
10201 * c-opts.c (c_common_post_options): Handle it.
10202
cc83c823
JJ
102032013-01-09 Jakub Jelinek <jakub@redhat.com>
10204
10205 PR c/48418
10206 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10207 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10208 and is either negative or bigger or equal to type precision
10209 of the first operand.
10210
a859517f
MP
102112012-12-03 Marek Polacek <polacek@redhat.com>
10212
10213 PR c/55570
10214 * c-common.c (check_user_alignment): Swap order of tests,
10215 check TREE_CODE first.
10216
2d7aa578
ESR
102172012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
10218
10219 PR c++/52654
10220 * c-common.h (overflow_type): New enum.
10221 (build_userdef_literal): Add overflow_type argument.
10222 (tree_userdef_literal): Add overflow_type.
10223 (USERDEF_LITERAL_OVERFLOW): New access macro.
10224 * c-common.c (build_userdef_literal): Add overflow_type
10225 argument.
10226 * c-lex.c (c_lex_with_flags): Add overflow_type to
10227 build_userdef_literal calls.
10228 (interpret_integer, interpret_float): Add overflow_type argument.
10229
cc3c4f62
RB
102302012-11-28 Richard Biener <rguenther@suse.de>
10231
10232 PR c/35634
10233 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10234 here and use a type with proper overflow behavior for types that would
10235 need to be promoted for the arithmetic.
10236
77bc5132
JJ
102372012-11-23 Jakub Jelinek <jakub@redhat.com>
10238
10239 PR sanitizer/55435
10240 * c-common.c (handle_no_address_safety_analysis_attribute): New
10241 function.
10242 (c_common_attribute_table): Add no_address_safety_analysis.
10243
5dc99c46
SB
102442012-11-16 Simon Baldwin <simonb@google.com>
10245
10246 * c.opt: Add f[no-]canonical-system-headers.
10247 * c-opts.c (c_common_handle_option): Handle
10248 OPT_fcanonical_system_headers.
10249
a4a0016d
ESR
102502012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
10251
10252 PR c++/54413
10253 * c-opts.c (c_common_handle_option): Set new flags.
10254 * c.opt: Describe new flags.
10255
7dbb85a7
JM
102562012-11-09 Jason Merrill <jason@redhat.com>
10257
10258 * c.opt (Wabi-tag): New.
10259
ad7bac31
AK
102602012-11-09 Andi Kleen <ak@linux.intel.com>
10261
10262 PR 55139
10263 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 10264 MEMMODEL_MASK
ad7bac31 10265
7332899a
MLI
102662012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10267
10268 PR c/53063
10269 * c.opt (Wformat): Make it Alias Wformat=1.
10270 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10271 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10272 LangEnabledBy.
10273 (Wformat=): RejectNegative. Use LangEnabledBy.
10274 (Wnonnull): Use LangEnabledBy.
10275 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10276 * c-format.c (set_Wformat): Delete.
10277 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
10278 (maybe_read_dollar_number): Likewise.
10279 (avoid_dollar_number): Likewise.
10280 (finish_dollar_format_checking): Likewise.
10281 (check_format_info): Likewise.
10282 (check_format_info_main): Likewise.
10283 (check_format_types): Likewise.
10284 (format_type_warning): Likewise.
10285 * c-common.c (int): Likewise.
10286 (check_function_sentinel): Likewise.
8e745a17 10287 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 10288
34a180a6
MLI
102892012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10290
10291 PR c/53063
10292 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10293 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10294 Use LangEnabledBy.
10295 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10296 common.opt.
10297 (Wvariadic-macros): Init(1).
10298 * c-opts.c (c_common_handle_option): Do not handle them
10299 explicitly.
10300 (c_common_post_options): Likewise.
10301 (sanitize_cpp_opts): warn_unused_macros is now
10302 cpp_warn_unused_macros.
10303 (push_command_line_include): Likewise.
10304 * c-common.c (warn_unknown_pragmas): Do not define.
10305 * c-common.h (warn_unknown_pragmas): Do not declare.
10306
3f46d6a5
MLI
103072012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
10308
10309 PR c/51294
10310 * c-common.c (conversion_warning): Handle conditional expressions.
10311
880661a4
JW
103122012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
10313
10314 PR c++/54930
10315 * c.opt (Wreturn_local_addr): Define new option.
10316
4514a96b
JM
103172012-10-25 Jason Merrill <jason@redhat.com>
10318
f14edc1a
JM
10319 * c.opt (Wvirtual-move-assign): New.
10320
4514a96b
JM
10321 * c.opt (Winherited-variadic-ctor): New.
10322
93100c6b
MG
103232012-10-25 Marc Glisse <marc.glisse@inria.fr>
10324
10325 PR c++/54427
10326 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10327
1efcb8c6
JM
103282012-10-23 Joseph Myers <joseph@codesourcery.com>
10329
10330 * c-common.h (pch_cpp_save_state): Declare.
10331 * c-target.def (c_preinclude): New hook.
10332 * c-opts.c (done_preinclude): New.
10333 (push_command_line_include): Handle default preincluded header.
10334 (cb_file_change): Call pch_cpp_save_state when calling
10335 push_command_line_include.
10336 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10337 (pch_cpp_save_state): New.
10338 (pch_init): Call pch_cpp_save_state conditionally, instead of
10339 calling cpp_save_state.
10340
4a0ae68e
MLI
103412012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10342
10343 PR c/53063
10344 PR c/40989
10345 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10346 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10347 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10348 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10349 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10350 * c-opts.c (c_common_handle_option): Remove explicit handling from
10351 here.
10352 (c_common_post_options): Likewise.
10353
67e4210b
EB
103542012-10-18 Eric Botcazou <ebotcazou@adacore.com>
10355
10356 * c-ada-spec.c (LOCATION_COL): Delete.
10357 (compare_location): New function.
10358 (compare_node): Use it.
10359 (compare_comment): Likewise.
10360
65d4f2cd
MLI
103612012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10362
10363 PR c/53063
10364 PR c/40989
10365 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
10366 * c-opts.c (c_common_handle_option): Do not set them here. Add
10367 comment.
10368 (c_common_post_options): Likewise.
10369
909881cb
EB
103702012-10-16 Eric Botcazou <ebotcazou@adacore.com>
10371
10372 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
10373 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
10374 Remove POINTER_TYPE handling, add large unsigned handling and use
10375 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
10376
3a785c97
JJ
103772012-10-12 Jakub Jelinek <jakub@redhat.com>
10378
10379 PR c/54381
10380 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
10381 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
10382 locs and array of 3 trees instead of just single loc and single
10383 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
10384 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
10385 For *cmp* builtins that take two sources strings report warnings
10386 about first and second source, not about destination and source.
10387
5e54f81d
MG
103882012-10-12 Marc Glisse <marc.glisse@inria.fr>
10389
10390 PR c++/53055
10391 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
10392
f5b02f1e
EB
103932012-10-11 Eric Botcazou <ebotcazou@adacore.com>
10394
10395 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
10396 declaring something coming from another file.
10397
b46dbc6c
AC
103982012-10-10 Arnaud Charlet <charlet@adacore.com>
10399
f5b02f1e 10400 PR ada/54845
b46dbc6c
AC
10401 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
10402
5d9de0d0
PC
104032012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
10404
10405 PR c++/54194
10406 * c-common.c (warn_about_parentheses): Add location_t parameter;
10407 use EXPR_LOC_OR_LOC.
10408 * c-common.h: Update declaration.
10409
a212e43f
MG
104102012-10-09 Marc Glisse <marc.glisse@inria.fr>
10411
10412 PR c++/54427
10413 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
10414 more operations. Make error messages optional.
10415 * c-common.h (enum stv_conv): Moved from c-typeck.c.
10416 (scalar_to_vector): Declare.
10417
b1db7f91
JM
104182012-10-08 Jason Merrill <jason@redhat.com>
10419
10420 * c-common.c (c_common_reswords): Add thread_local.
10421
e28d52cf
DS
104222012-10-08 Dodji Seketeli <dodji@redhat.com>
10423
10424 PR c++/53528 C++11 attribute support
10425 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
10426 new functions.
10427 * c-common.c (check_cxx_fundamental_alignment_constraints): New
10428 static function.
10429 (handle_aligned_attribute): In choose strictest alignment
10430 among many. Use new check_cxx_fundamental_alignment_constraints.
10431 (handle_transparent_union_attribute): In c++11 attribute syntax,
10432 don't look through typedefs.
10433
3b78de56
AC
104342012-10-04 Arnaud Charlet <charlet@adacore.com>
10435
10436 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
10437 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
10438 out of dumpfile.h.
10439
6040bb5f
DC
104402012-09-25 Dehao Chen <dehao@google.com>
10441
10442 PR middle-end/54645
3b78de56 10443 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
10444 map when read in the pch.
10445
3f8257db 104462012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
10447
10448 * c-ada-spec.c: Style fixes.
10449
3f8257db 104502012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
10451
10452 * c.opt (-fada-spec-parent): Define new command line switch.
10453 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
10454 is specified, generate binding spec as a child of the specified unit.
10455
0ccb505d
PC
104562012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
10457 Manuel López-Ibáñez <manu@gcc.gnu.org>
10458
10459 PR c++/53210
10460 * c.opt ([Winit-self]): Enabled by -Wall in C++.
10461
c583af79
AC
104622012-08-23 Arnaud Charlet <charlet@adacore.com>
10463
10464 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
10465 for pointers, and add missing Convention C pragma.
10466 (print_ada_struct_decl): Add missing aliased keyword.
10467 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
10468
1a4049e7
JJ
104692012-08-17 Jakub Jelinek <jakub@redhat.com>
10470
10471 * c-common.c (sizeof_pointer_memaccess_warning): New function.
10472 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
10473 * c-opts.c (c_common_handle_option): Enable it for -Wall.
10474 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
10475 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
10476
70b5e7dc
RG
104772012-08-10 Richard Guenther <rguenther@suse.de>
10478
10479 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
10480
f8923f7e
SB
104812012-08-07 Steven Bosscher <steven@gcc.gnu.org>
10482
10483 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
10484 instead of separate pp_newline and pp_flush.
10485 (print_c_tree): Likewise.
10486
e45abe1f
RH
104872012-07-26 Richard Henderson <rth@redhat.com>
10488
10489 * c-common.c (handle_hot_attribute): Allow labels.
10490 (handle_cold_attribute): Likewise.
10491
332f1d24
JJ
104922012-07-20 Jakub Jelinek <jakub@redhat.com>
10493
10494 PR c++/28656
10495 * c-common.c (check_function_nonnull): Handle multiple nonnull
10496 attributes properly.
10497
7ee2468b
SB
104982012-07-16 Steven Bosscher <steven@gcc.gnu.org>
10499
10500 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
10501 * c-ada-spec.c: Likewise.
10502 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
10503
ee7b28eb
SB
105042012-07-14 Steven Bosscher <steven@gcc.gnu.org>
10505
10506 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
10507 Remove code conditional on it.
10508
6bdf3519
SB
105092012-07-11 Steven Bosscher <steven@gcc.gnu.org>
10510
10511 * c-gimplify.c: Do not include basic-block.h.
10512 * c-common.c: Do not include linfuncs.h.
10513
532aafad
SB
105142012-07-08 Steven Bosscher <steven@gcc.gnu.org>
10515
10516 * c-common.h: Include tree.h.
10517
8d0d1915
JM
105182012-07-02 Jason Merrill <jason@redhat.com>
10519
10520 PR c++/53524
10521 * c-common.c (get_priority): Call default_conversion.
10522
fbc873ad
UB
105232012-07-01 Uros Bizjak <ubizjak@gmail.com>
10524
10525 * c-pch.c (c_common_write_pch): Remove unused variables.
10526
d4a10d0a
SB
105272012-06-29 Steven Bosscher <steven@gcc.gnu.org>
10528
10529 * cppspec.c: Moved from gcc/ to here.
10530
6f3a2e23
KT
105312012-06-27 Kai Tietz <ktietz@redhat.com>
10532
10533 PR preprocessor/37215
10534 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
10535
8ca92d04
SB
105362012-06-21 Steven Bosscher <steven@gcc.gnu.org>
10537
10538 * c-common.h (c_common_print_pch_checksum): Remove.
10539 * c-pch.c: Do not include output.h.
10540 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
10541 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
10542 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
10543 (struct c_pch_header): Remove.
10544 (get_ident): Update gpch version.
10545 (pch_init): Do not print executable_checksum to asm_out_file.
10546 Do not fail if there is no asm_out_file to read back from. Set
10547 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
10548 (c_common_write_pch): Verify that nothing was written to asm_out_file
10549 since pch_init was called. Do not write a c_pch_header, and do not
10550 copy from asm_out_file to the PCH.
10551 (c_common_read_pch): Do not read a c_pch_header, and do not restore
10552 the content of asm_out_file from the PCH.
10553 (c_common_print_pch_checksum): Remove.
10554 * c-opts.c (c_common_init): Print out executable_checksum directly.
10555
70f42967
SB
105562012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10557
10558 * c-target.def (objc_declare_unresolved_class_reference,
10559 objc_declare_class_definition): Add new hooks.
10560
a8781821
SB
105612012-06-19 Steven Bosscher <steven@gcc.gnu.org>
10562
10563 * c-lex.c: Do not include output.h.
10564 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
10565 Remove uses of ASM_OUTPUT_IDENT.
10566
9e1a8dd1
RR
105672012-06-15 Marc Glisse <marc.glisse@inria.fr>
10568
10569 PR c++/51033
10570 * c-common.h (c_build_vec_perm_expr): Move decl here.
10571 * c-common.c (c_build_vec_perm_expr): Move definition
10572 here.
10573
6f07a821
SB
105742012-06-06 Steven Bosscher <steven@gcc.gnu.org>
10575
10576 * c.opt (fconserve-space): Turn into a no-op.
10577
9faeb493 105782012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
10579
10580 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
10581 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
10582 both the start and end of the function.
10583
a4b7d13c
SB
105842012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10585
10586 * c-common.c: Do not include output.h.
10587 * c-pragma.c: Likewise.
10588
c265f413
SA
105892012-06-04 Steven Bosscher <steven@gcc.gnu.org>
10590
10591 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
10592 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
10593 (lang_decl_name): Handle namespace decls.
10594
be7a421e
SB
105952012-05-31 Steven Bosscher <steven@gcc.gnu.org>
10596
10597 * c-ada-spec.c: Do not include output.h.
10598 * c-semantics.c: Likewise.
10599
65de6659
JM
106002012-05-29 Joseph Myers <joseph@codesourcery.com>
10601
10602 * c-common.c: Fix typo.
10603
ca5f4331
MM
106042012-05-29 Michael Matz <matz@suse.de>
10605
10606 * c-common.h (c_expand_decl): Remove prototype.
10607
4f7f7aca
MLI
106082012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10609
10610 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
10611 * c-opts.c (c_common_handle_option): Remove code handling
10612 warn_missing_braces.
10613
4a792f9b
PC
106142012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
10615
10616 PR c++/25137
10617 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
10618 -Wmissing_braces.
10619
650dc14a
DS
106202012-05-22 Dodji Seketeli <dodji@redhat.com>
10621
10622 PR c++/53322
10623 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
10624
9b095bf1
MLI
106252012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
10626
10627 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
10628 * c-opts.c (c_common_handle_option): Do not handle explicitly
10629 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
10630
0b2c4be5
DS
106312012-05-16 Dodji Seketeli <dodji@redhat.com>
10632
10633 PR preprocessor/7263
ab20d992 10634 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
10635 to cpp_classify_number. For diagnostics, use the precise location
10636 instead of the global input_location.
10637
a1bde5af
PC
106382012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10639
d02924ef 10640 PR c++/11856
a1bde5af
PC
10641 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
10642
d1ede5f4
BS
106432012-05-14 Bernd Schmidt <bernds@codesourcery.com>
10644
a1bde5af 10645 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 10646
f2bc201f
MLI
106472012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
10648
10649 PR 53063
10650 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
10651 Wreorder): Use LangEnabledBy.
10652 * c-opts.c (c_common_handle_option): Do not enable them
10653 explicitly. Call lang-specific generated functions.
10654 (c_common_post_options): Do not set them here.
10655
95744782
MLI
106562012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
10657
10658 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
10659 Wmissing-field-initializers,Wmissing-parameter-type,
10660 Wold-style-declaration,Woverride-init): Use EnabledBy.
10661 * c-opts.c (c_common_post_options): Do not set here explicitly.
10662
7d5a5747
MLI
106632012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10664
10665 PR 53063
10666 * c-opts.c (c_common_handle_option): Use handle_generated_option
10667 to enable sub-options.
10668
5a3c9cf2
PC
106692012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
10670
10671 PR c++/53158
10672 * c-common.c (warnings_for_convert_and_check): Use warning_at.
10673
3ac8781c
RG
106742012-05-10 Richard Guenther <rguenther@suse.de>
10675
10676 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
10677 adjust commentary about TYPE_IS_SIZETYPE types.
10678
1e537948
MLI
106792012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10680
10681 PR c++/53261
10682 * c-common.c (warn_logical_operator): Check that argument of
10683 integer_zerop is not NULL.
10684
f2c4a785
MLI
106852012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
10686
10687 PR c/43772
10688 * c-common.c (warn_logical_operator): Do not warn if either side
10689 is already true or false.
10690
50f305ca
MLI
106912012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
10692
10693 PR c/51712
10694 * c-common.c (expr_original_type): New.
10695 (shorten_compare): Do not warn for enumeration types.
10696
0c3641b0
MLI
106972012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10698
10699 * c.opt (fpermissive): Add Var(flag_permissive).
10700
7edaa4d2
MG
107012012-04-30 Marc Glisse <marc.glisse@inria.fr>
10702
10703 PR c++/51033
10704 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
10705 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
10706
b9c8da34
DS
107072012-04-30 Dodji Seketeli <dodji@redhat.com>
10708
10709 Add -Wvarargs option
ab20d992 10710 * c.opt (Wvarargs): Define new option.
b9c8da34 10711
e6c69da0
MLI
107122012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10713
10714 * c-common.c (check_function_arguments): Replace
10715 Wmissing-format-attribute with Wsuggest-attribute=format.
10716
90137d8f
MLI
107172012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10718
10719 * c.opt (Wsuggest-attribute=format): New. Alias of
10720 Wmissing-format-attribute.
10721 * c-format.c (decode_format_type): Replace
10722 Wmissing-format-attribute with Wsuggest-attribute=format.
10723 (check_function_format): Likewise.
10724
9faeb493 107252012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
10726
10727 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
10728 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
10729 * c.opt: Add Wliteral-suffix.
10730
c1771a20
MLI
107312012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
10732
10733 PR c/44774
10734 * c.opt (Wpedantic): New.
10735 (pedantic): Alias Wpedantic.
10736 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
10737 (c_common_post_options): Likewise.
10738 (sanitize_cpp_opts): Likewise.
10739 * c-lex.c (interpret_float): Likewise.
10740 * c-format.c (check_format_types): Likewise.
10741 * c-common.c (pointer_int_sum): Likewise.
10742 (c_sizeof_or_alignof_type): Likewise.
10743 (c_add_case_label): Likewise.
10744 (c_do_switch_warnings): Likewise.
10745 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
10746
04b391c1
JM
107472012-04-15 Jason Merrill <jason@redhat.com>
10748
10749 PR c++/52818
10750 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
10751 (C_STD_NAME): Distinguish between C++98 and C++11.
10752
ac868f29
EB
107532012-04-11 Eric Botcazou <ebotcazou@adacore.com>
10754
10755 PR target/52624
10756 * c-common.h (uint16_type_node): Rename into...
10757 (c_uint16_type_node): ...this.
10758 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
10759 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
10760
fd4116f4
MLI
107612012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
10762
10763 * c-common.c (warn_if_unused_value): Move definition to here.
10764 * c-common.h (warn_if_unused_value): Move declaration to here.
10765
573ac65e
WB
107662012-03-23 William Bader <williambader@hotmail.com>
10767
10768 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
10769
552b8185
JM
107702012-03-20 Jason Merrill <jason@redhat.com>
10771
10772 * c-common.h (enum cxx_dialect): Add cxx1y.
10773 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
10774 test.
10775 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10776 * c-opts.c (c_common_post_options): Likewise.
10777 (set_std_cxx1y): New.
10778 (c_common_handle_option): Call it.
10779 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
10780
04398fa8
PC
107812012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
10782
10783 PR c++/14710
10784 * c.opt ([Wuseless-cast]): Add.
10785
d2a12ae7
RG
107862012-03-16 Richard Guenther <rguenther@suse.de>
10787
10788 * c-pretty-print.c (pp_c_initializer_list): Adjust.
10789
a12bf402
MLI
107902012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
10791
10792 PR c++/44783
10793 * c.opt (ftemplate-backtrace-limit) Add.
10794
5c30094f
RO
107952012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10796
10797 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
10798 handling.
10799 * c-pragma.c (handle_pragma_extern_prefix): Remove.
10800 (init_pragma): Don't register extern_prefix.
10801
21fa2faf
RG
108022012-03-12 Richard Guenther <rguenther@suse.de>
10803
10804 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
10805 (builtin_type_for_size): Likewise.
10806
e3793c6f
JJ
108072012-02-13 Jakub Jelinek <jakub@redhat.com>
10808
10809 PR c++/52215
10810 * c-common.c (sync_resolve_params): Don't decide whether to convert
10811 or not based on TYPE_SIZE comparison, convert whenever arg_type
10812 is unsigned INTEGER_TYPE.
10813
93286335
PC
108142012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
10815
10816 PR c/52118
10817 * c.opt ([Wunused-local-typedefs]): Fix description.
10818
7a421706
MS
108192012-01-24 Mike Stump <mikestump@comcast.net>
10820
10821 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
10822 exactly.
10823
ba9b1f11
RG
108242012-01-18 Richard Guenther <rguenther@suse.de>
10825
10826 * c-opts.c (c_common_post_options): Reset LTO flags if
10827 we are about to generate a PCH.
10828
465406be
PC
108292012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
10830
10831 PR c++/51777
10832 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
10833 use pp_unsigned_wide_integer.
10834
aee15221
RG
108352012-01-10 Richard Guenther <rguenther@suse.de>
10836
10837 PR middle-end/51806
10838 * c-opts.c (c_common_handle_option): Move -Werror handling
10839 to language independent code.
10840
5720c0dc
RG
108412012-01-05 Richard Guenther <rguenther@suse.de>
10842
10843 PR middle-end/51764
10844 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
10845 from common.opt.
10846
73ac190a
PC
108472011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
10848
10849 PR c++/51316
10850 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
10851 of array types with an unknown bound.
10852
48b0b196
JM
108532011-12-20 Joseph Myers <joseph@codesourcery.com>
10854
10855 * c-common.c (flag_isoc99): Update comment to refer to C11.
10856 (flag_isoc1x): Change to flag_isoc11.
10857 * c-common.h (flag_isoc99): Update comment to refer to C11.
10858 (flag_isoc1x): Change to flag_isoc11.
10859 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
10860 C11.
10861 * c-opts.c (set_std_c1x): Change to set_std_c11.
10862 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
10863 Call set_std_c11.
10864 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
10865 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
10866 * c.opt (std=c1x): Change to std=c11. Document as non-draft
10867 standard.
10868 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
10869 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
10870 (std=gnu1x): Make alias of std=gnu11.
10871
d58d6eb5
JM
108722011-12-19 Jason Merrill <jason@redhat.com>
10873
10874 PR c++/51228
10875 * c-common.c (handle_transparent_union_attribute): Check the first
10876 field if the type is complete.
10877
b3908fcc
JW
108782011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
10879
10880 PR libstdc++/51365
10881 * c-common.c (RID_IS_FINAL): Add.
10882 * c-common.h (RID_IS_FINAL): Add.
10883
fea3ca91
IS
108842011-11-30 Iain Sandoe <iains@gcc.gnu.org>
10885
10886 * c.opt (fgnu-runtime): Provide full description.
10887 (fnext-runtime): Likewise.
10888 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
10889
62bad7cd
AM
108902011-11-28 Andrew MacLeod <amacleod@redhat.com>
10891
10892 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
10893 predefines in one place. Add LOCK_FREE predefines.
10894 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
10895 new func.
10896
c466c4ff
AM
108972011-11-24 Andrew MacLeod <amacleod@redhat.com>
10898
10899 PR c/51256
9faeb493 10900 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 10901 conditions
9faeb493
UB
10902 (resolve_overloaded_atomic_exchange,
10903 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
10904 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
10905 error_mark_node for error conditions.
9faeb493 10906
a5952633
RG
109072011-11-08 Richard Guenther <rguenther@suse.de>
10908
10909 PR middle-end/51010
ab20d992 10910 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 10911
0a35513e
AH
109122011-11-07 Richard Henderson <rth@redhat.com>
10913 Aldy Hernandez <aldyh@redhat.com>
10914 Torvald Riegel <triegel@redhat.com>
10915
10916 Merged from transactional-memory.
10917
10918 * c-common.c (handle_tm_wrap_attribute,
10919 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
10920 (struct c_common_reswords): Added __transaction* keywords.
10921 (struct c_common_attribute_table): Added transaction* and tm_regparm
10922 attributes.
10923 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
10924 masks.
10925 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
10926 find_tm_attribute): Declare.
10927
6d87092d
JM
109282011-11-07 Jason Merrill <jason@redhat.com>
10929
10930 PR c++/35688
10931 * c-common.c, c-common.h: Revert yesterday's changes.
10932
8e7860a1
JM
109332011-11-06 Jason Merrill <jason@redhat.com>
10934
10935 PR c++/35688
10936 * c-common.c (decl_has_visibility_attr): Split out from...
10937 (c_determine_visibility): ...here.
10938 * c-common.h: Declare it.
10939
d19fa6b5
JM
109402011-11-06 Joseph Myers <joseph@codesourcery.com>
10941
10942 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
10943 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
10944 type.
10945 (check_user_alignment): New. Split out of
10946 handle_aligned_attribute. Disallow integer constants with
10947 noninteger types. Conditionally allow zero.
10948 (handle_aligned_attribute): Use check_user_alignment.
10949 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
10950
86951993
AM
109512011-11-06 Andrew MacLeod <amacleod@redhat.com>
10952 Richard Henderson <rth@redhat.com>
10953
10954 Merged from cxx-mem-model.
10955
10956 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 10957 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
10958 parameters that are the same type size.
10959 (get_atomic_generic_size): New. Find size of generic
10960 atomic function parameters and do typechecking.
10961 (add_atomic_size_parameter): New. Insert size into parameter list.
10962 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
10963 either __atomic_exchange_n or external library call.
9faeb493 10964 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 10965 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 10966 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
10967 __atomic_load_n or an external library call.
10968 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
10969 __atomic_store_n or an external library call.
10970 (resolve_overloaded_builtin): Handle new __atomic builtins.
10971
cf9e9959
EB
109722011-11-04 Eric Botcazou <ebotcazou@adacore.com>
10973
10974 PR c++/50608
10975 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
10976 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
10977 <INDIRECT_REF>: Return the argument.
10978 <ARRAY_REF>: Remove special code for negative offset.
10979 Call fold_build_pointer_plus instead of size_binop.
10980 (fold_offsetof): Remove STOP_REF argument and adjust.
10981 * c-common.h (fold_offsetof_1): Declare.
10982 (fold_offsetof): Remove STOP_REF argument.
10983
25339f10
JM
109842011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
10985
10986 PR c++/50810
10987 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
10988 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
10989 Wnarrowing for C++0x and C++98.
10990 * c.opt ([Wnarrowing]): Update.
10991
89401152
PC
109922011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
10993
10994 PR c++/44277
10995 * c.opt: Add Wzero-as-null-pointer-constant.
10996
97e3ad20
JM
109972011-10-31 Jason Merrill <jason@redhat.com>
10998
15694fdd
JM
10999 * c.opt (-fdeduce-init-list): Off by default.
11000
97e3ad20
JM
11001 PR c++/50920
11002 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11003 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11004 and -Wc++11-compat.
11005 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11006
fb9120e3
RAV
110072011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
11008
11009 PR c++/30066
11010 * c.opt (fvisibility-inlines-hidden): Description change.
11011
3ce4f9e4
ESR
110122011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
11013
11014 Implement C++11 user-defined literals.
11015 * c-common.c (build_userdef_literal): New.
11016 * c-common.def: New tree code.
11017 * c-common.h (tree_userdef_literal): New tree struct and accessors.
11018 * c-lex.c (interpret_float): Add suffix parm.
11019 (c_lex_with_flags): Build literal tokens.
11020
5f53c243
PC
110212011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11022
11023 PR c++/50841
11024 Revert:
11025 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11026
11027 PR c++/50810
11028 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11029 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11030 Wnarrowing for C++0x and C++98.
11031 * c.opt ([Wnarrowing]): Update.
11032
263734e1
PC
110332011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
11034
11035 PR c++/50810
11036 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11037 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11038 Wnarrowing for C++0x and C++98.
11039 * c.opt ([Wnarrowing]): Update.
11040
d2e312d7
PC
110412011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
11042
11043 PR c++/45385
11044 * c-common.c (conversion_warning): Remove code looking for
11045 artificial operands.
11046
d17687f6
DS
110472011-10-18 Dodji Seketeli <dodji@redhat.com>
11048
11049 PR bootstrap/50760
11050 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 11051 !NO_IMPLICIT_EXTERN_C.
d17687f6 11052
fc8396e9
PC
110532011-10-17 Michael Spertus <mike_spertus@symantec.com>
11054
11055 * c-common.c (c_common_reswords): Add __bases,
11056 __direct_bases.
11057 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11058
110592011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
11060
11061 PR c++/50757
11062 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11063
847e697a
TT
110642011-10-15 Tom Tromey <tromey@redhat.com>
11065 Dodji Seketeli <dodji@redhat.com>
11066
11067 * c.opt (fdebug-cpp): New option.
11068 * c-opts.c (c_common_handle_option): Handle the option.
11069 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11070 output stream in parameter. Factorized from ...
11071 (maybe_print_line): ... this. Dump location debug information when
11072 -fdebug-cpp is in effect.
11073 (print_line_1): New static function. Takes an output stream in
11074 parameter. Factorized from ...
11075 (print_line): ... here. Dump location information when -fdebug-cpp
11076 is in effect.
11077 (scan_translation_unit): Dump location information when
11078 -fdebug-cpp is in effect.
11079
92582b75
TT
110802011-10-15 Tom Tromey <tromey@redhat.com>
11081 Dodji Seketeli <dodji@redhat.com>
11082
11083 * c.opt (ftrack-macro-expansion): New option. Handle it with and
11084 without argument.
11085 * c-opts.c (c_common_handle_option)<case
11086 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11087 cases. Handle -ftrack-macro-expansion with and without argument.
11088
46427374
TT
110892011-10-15 Tom Tromey <tromey@redhat.com>
11090 Dodji Seketeli <dodji@redhat.com>
11091
11092 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11093 (print_line, cb_define, do_line_change): Adjust to avoid touching
11094 the internals of struct line_map. Use the public API instead.
11095 * c-pch.c (c_common_read_pch): Likewise.
11096 * c-lex.c (fe_file_change): Likewise.
11097
fc8396e9
PC
110982011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
11099
11100 PR c++/17212
11101 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11102
111032011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
11104
11105 PR c++/33067
11106 * c-pretty-print.c (pp_c_floating_constant): Output
11107 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11108
e79983f4
MM
111092011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11110
11111 * c-common.c (def_builtin_1): Delete old interface with two
11112 parallel arrays to hold standard builtin declarations, and replace
11113 it with a function based interface that can support creating
11114 builtins on the fly in the future. Change all uses, and poison
11115 the old names. Make sure 0 is not a legitimate builtin index.
11116 * c-omp.c (c_finish_omp_barrier): Ditto.
11117 (c_finish_omp_taskwait): Ditto.
11118 (c_finish_omp_flush): Ditto.
11119
6637388f
TG
111202011-10-11 Tristan Gingold <gingold@adacore.com>
11121
11122 * c.opt: (fallow-parameterless-variadic-functions): New.
11123
3797cb21
DS
111242011-09-08 Dodji Seketeli <dodji@redhat.com>
11125
11126 PR c++/33255 - Support -Wunused-local-typedefs warning
11127 * c-common.h (struct c_language_function::local_typedefs): New
11128 field.
9faeb493
UB
11129 (record_locally_defined_typedef, maybe_record_typedef_use)
11130 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 11131 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
11132 (maybe_record_typedef_use)
11133 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
11134 * c.opt: Declare new -Wunused-local-typedefs flag.
11135
693ddb1b
EB
111362011-09-06 Eric Botcazou <ebotcazou@adacore.com>
11137
11138 PR middle-end/50266
11139 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11140 computations.
11141
830c740f
RG
111422011-09-05 Richard Guenther <rguenther@suse.de>
11143
11144 * c-common.c (complete_array_type): Use ssize_int (-1) instead
11145 of integer_minus_one_node for empty array upper bounds.
11146
892a371f
DS
111472011-08-28 Dodji Seketeli <dodji@redhat.com>
11148
11149 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11150 it's the first time it's being called on this main TU.
11151
0e3fdb48
RB
111522011-08-24 Richard Guenther <rguenther@suse.de>
11153
11154 PR c/49396
11155 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11156
111572011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
11158
11159 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11160 defined in cpp_init_builtins and c_cpp_builtins.
11161
d4a83c10
JM
111622011-08-19 Joseph Myers <joseph@codesourcery.com>
11163
11164 * c-common.c (c_common_reswords): Add __builtin_complex.
11165 * c-common.h (RID_BUILTIN_COMPLEX): New.
11166
bbceee64
JM
111672011-08-18 Joseph Myers <joseph@codesourcery.com>
11168
11169 * c-common.c (c_common_reswords): Add _Noreturn.
11170 (keyword_is_function_specifier): Handle RID_NORETURN.
11171 * c-common.h (RID_NORETURN): New.
11172
3f8257db 111732011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
11174
11175 * c-common.c (unsafe_conversion_p): New function. Check if it is
11176 unsafe to convert an expression to the type.
11177 (conversion_warning): Adjust, use unsafe_conversion_p.
11178 * c-common.h (unsafe_conversion_p): New function declaration.
11179
20906c66
JJ
111802011-08-02 Jakub Jelinek <jakub@redhat.com>
11181
11182 * c-common.h (c_finish_omp_atomic): Adjust prototype.
11183 (c_finish_omp_taskyield): New prototype.
11184 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11185 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11186 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
11187 or RHS1 have side-effects, evaluate those too in the right spot,
11188 if it is a decl and LHS is also a decl, error out if they
11189 aren't the same.
11190 (c_finish_omp_taskyield): New function.
11191 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11192 * c-pragma.c (omp_pragmas): Add taskyield.
11193 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11194 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11195 PRAGMA_OMP_CLAUSE_MERGEABLE.
11196
770e5a2e
DS
111972011-07-25 Dodji Seketeli <dodji@redhat.com>
11198
11199 * c-common.h (set_underlying_type): Remove parm name from
11200 declaration.
11201
1baae426
RG
112022011-07-25 Romain Geissler <romain.geissler@gmail.com>
11203
11204 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 11205
fcb21722
JM
112062011-07-22 Jason Merrill <jason@redhat.com>
11207
76f86d00
JM
11208 PR c++/49793
11209 * c.opt (Wnarrowing): New.
11210
3a636414
JM
11211 PR c++/30112
11212 * c-common.h: Declare c_linkage_bindings.
11213 * c-pragma.c (handle_pragma_redefine_extname): Use it.
11214
fcb21722
JM
11215 PR c++/49813
11216 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11217 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11218 as flag_isoc99 for 'restrict'.
11219 (pp_c_specifier_qualifier_list): Likewise for _Complex.
11220
02614448
ILT
112212011-07-21 Ian Lance Taylor <iant@google.com>
11222
11223 PR middle-end/49705
11224 * c-common.c (c_disable_warnings): New static function.
11225 (c_enable_warnings): New static function.
11226 (c_fully_fold_internal): Change local unused_p to bool. Call
11227 c_disable_warnings and c_enable_warnings rather than change
11228 c_inhibit_evaluation_warnings.
11229
34429675
JM
112302011-07-20 Jason Merrill <jason@redhat.com>
11231
11232 PR c++/6709 (DR 743)
11233 PR c++/42603 (DR 950)
11234 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11235 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11236 (CPP_DECLTYPE): New.
11237 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11238
5d49b6a7
RG
112392011-07-19 Richard Guenther <rguenther@suse.de>
11240
11241 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11242 * c-omp.c (c_finish_omp_for): Likewise.
11243
e84a58ff
EB
112442011-07-12 Eric Botcazou <ebotcazou@adacore.com>
11245
11246 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11247 body on the next line.
11248
329af3c7
JM
112492011-07-08 Jason Merrill <jason@redhat.com>
11250
4063e61b
JM
11251 PR c++/45437
11252 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11253
329af3c7
JM
11254 PR c++/49673
11255 * c-common.c (c_apply_type_quals_to_decl): Don't check
11256 TYPE_NEEDS_CONSTRUCTING.
11257
1a072294
RG
112582011-07-06 Richard Guenther <rguenther@suse.de>
11259
11260 * c-common.c (c_common_nodes_and_builtins):
11261 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11262
fce5dddd
RG
112632011-07-05 Richard Guenther <rguenther@suse.de>
11264
11265 * c-common.c (c_common_nodes_and_builtins): Build all common
11266 tree nodes first.
11267
45d439ac
JJ
112682011-06-27 Jakub Jelinek <jakub@redhat.com>
11269
56300785
JJ
11270 * c-common.h (c_tree_chain_next): New static inline function.
11271
45d439ac
JJ
11272 * c-common.c (check_builtin_function_arguments): Handle
11273 BUILT_IN_ASSUME_ALIGNED.
11274
e0a8ecf2
AM
112752011-06-21 Andrew MacLeod <amacleod@redhat.com>
11276
11277 * c-common.c: Add sync_ or SYNC__ to builtin names.
11278 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
11279
112802011-06-20 Pierre Vittet <piervit@pvittet.com>
11281
11282 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11283 handler.
11284 (gen_pragma_handler): New union.
11285 (internal_pragma_handler): New type.
11286 (c_register_pragma_with_data)
11287 (c_register_pragma_with_expansion_and_data): New functions.
11288
11289 * c-pragma.c (registered_pragmas, c_register_pragma_1)
11290 (c_register_pragma, c_register_pragma_with_expansion)
11291 (c_invoke_pragma_handler): Changed to work with
11292 internal_pragma_handler.
11293 (c_register_pragma_with_data)
11294 (c_register_pragma_with_expansion_and_data): New functions.
11295
677f3fa8
JM
112962011-06-14 Joseph Myers <joseph@codesourcery.com>
11297
11298 * c-common.c: Include common/common-target.h.
11299 (handle_section_attribute): Use
11300 targetm_common.have_named_sections.
11301 * c-cppbuiltin.c: Include common/common-target.h.
11302 (c_cpp_builtins): Use targetm_common.except_unwind_info.
11303
d7fc8c14
RG
113042011-06-10 Richard Guenther <rguenther@suse.de>
11305
11306 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11307 to print a IDENTIFIER_NODE.
11308
10e48e39
RO
113092011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11310 Joseph Myers <joseph@codesourcery.com>
11311
11312 * c.opt (fbuilding-libgcc): New option.
11313 * c-cppbuiltin.c (c_cpp_builtins): Define
11314 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11315
6976ae51
JM
113162011-06-07 Jason Merrill <jason@redhat.com>
11317
3ff60975
JM
11318 * c-common.c (max_tinst_depth): Lower default to 900.
11319
6976ae51
JM
11320 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11321
009db074
RG
113222011-06-07 Richard Guenther <rguenther@suse.de>
11323
11324 * c-common.c (c_common_nodes_and_builtins): Do not set
11325 size_type_node or call set_sizetype.
11326
b4592b92
DS
113272011-06-07 Dodji Seketeli <dodji@redhat.com>
11328
11329 PR debug/49130
11330 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 11331 type when using pointer comparison to compare types.
b4592b92 11332
014ab419
JW
113332011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
11334
11335 * c.opt: Add -Wdelete-non-virtual-dtor.
11336 * c-opts.c (c_common_handle_option): Include it in -Wall.
11337
4f60111f
NF
113382011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
11339
11340 PR bootstrap/49190
11341
11342 Revert:
11343 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11344
11345 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11346 not tree_common.
11347
4cc4f2f4
JJ
113482011-05-27 Jakub Jelinek <jakub@redhat.com>
11349
11350 PR c++/49165
11351 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11352 C++ don't call c_common_truthvalue_conversion on void type arms.
11353
38e01f9e
NF
113542011-05-27 Nathan Froyd <froydnj@codesourcery.com>
11355
11356 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
11357 (stmt_list_stack): Define.
11358 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
11359 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
11360
92e948a8
NF
113612011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11362
11363 * c-common.c (warning_candidate_p): Check for BLOCKs.
11364
a2fc3e63
NF
113652011-05-26 Nathan Froyd <froydnj@codesourcery.com>
11366
11367 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11368 not tree_common.
11369
0957c029
JJ
113702011-05-25 Jakub Jelinek <jakub@redhat.com>
11371
11372 * c-common.c (def_fn_type): Remove extra va_end.
11373
828fb3ba
JM
113742011-05-23 Jason Merrill <jason@redhat.com>
11375
11376 PR c++/48106
11377 * c-common.c (c_common_get_narrower): New.
11378 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
11379
dde05067
NF
113802011-05-23 Nathan Froyd <froydnj@codesourcery.com>
11381
11382 * c-common.h (check_function_arguments): Tweak prototype of
11383 check_function_arguments.
11384 * c-common.c (check_function_arguments): Likewise. Adjust
11385 calls to check_function_nonnull, check_function_format, and
11386 check_function_sentinel.
11387 (check_function_sentinel): Take a FUNCTION_TYPE rather than
11388 separate attributes and typelist arguments. Use
11389 FOREACH_FUNCTION_ARGS to iterate over argument types.
11390
3c0d13bf
PC
113912011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
11392
11393 * c-common.c (c_common_reswords): Reorder.
11394 * c-common.h (rid): Likewise.
11395
8242dd04
NF
113962011-05-10 Nathan Froyd <froydnj@codesourcery.com>
11397
11398 * c-common.c (def_fn_type): Don't call build_function_type, call
11399 build_function_type_array or build_varargs_function_type_array
11400 instead.
11401 (c_common_nodes_and_builtins): Likewise.
11402
3d528853
NF
114032011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11404
11405 * c-common.c (c_add_case_label): Omit the loc argument to
11406 build_case_label.
11407 * c-common.h (build_case_label): Remove.
11408 * c-semantics.c (build_case_label): Remove.
11409
a04a722b
JM
114102011-05-05 Joseph Myers <joseph@codesourcery.com>
11411
11412 * c-objc.h (objc_start_method_definition): Update prototype.
11413 * stub-objc.c (objc_start_method_definition): Add extra parameter.
11414
e19a18d4
NF
114152011-05-04 Nathan Froyd <froydnj@codesourcery.com>
11416
11417 * c-common.c (check_main_parameter_types): Reindent. Don't use
11418 TYPE_ARG_TYPES directly.
11419 (handle_nonnull_attribute): Likewise.
11420 (sync_resolve_params): Likewise.
11421 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
11422 to check_format_string.
11423 (handle_format_attribute): Likewise.
11424 (check_format_string): Take a function type to examine instead of
11425 a type list. Use a function_arg_iterator to step through argument
11426 types.
11427
c62c040f
RG
114282011-05-04 Richard Guenther <rguenther@suse.de>
11429
11430 * c-common.c (fix_string_type): Use size_int for index type bounds.
11431 (start_fname_decls): Do not pass NULL to build_int_cst.
11432 (c_init_attributes): Likewise.
11433 * c-lex.c (c_lex_with_flags): Likewise.
11434
c12ff9d8
JM
114352011-04-27 Jason Merrill <jason@redhat.com>
11436
11437 * c-common.c (make_tree_vector_from_list): New.
11438 * c-common.h: Declare it.
11439
304dfbe3
RG
114402011-04-26 Richard Guenther <rguenther@suse.de>
11441
11442 PR preprocessor/48248
11443 * c-ppoutput.c (maybe_print_line): Always optimize newlines
11444 for output size with -P.
11445
3c0d13bf
PC
114462011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
11447
11448 * c-common.c (struct c_common_resword): Add __underlying_type.
11449 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
11450
04695783
JM
114512011-04-20 Jim Meyering <meyering@redhat.com>
11452
11453 * c-format.c (init_dollar_format_checking): Remove useless
11454 if-before-free.
11455
0dc33c3c
NP
114562011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
11457
11458 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 11459 (objc_detect_field_duplicates): New.
0dc33c3c 11460 * stub-objc.c: Likewise.
3c0d13bf 11461
c59633d9
NP
114622011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11463
11464 * stub-objc.c (objc_declare_protocols): Renamed to
11465 objc_declare_protocol.
11466 * c-objc.h: Likewise.
3c0d13bf 11467
32dabdaf
NP
114682011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11469
11470 * stub-objc.c (objc_declare_class): Updated argument name.
11471
81f653d6
NF
114722011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11473
11474 * c-common.h (c_common_init_ts): Declare.
11475 * c-common.c (c_common_init_ts): Define.
11476
eb345401
NP
114772011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
11478
11479 * c-objc.h (objc_build_message_expr): Updated prototype.
11480 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 11481
a358e188
MJ
114822011-04-12 Martin Jambor <mjambor@suse.cz>
11483
11484 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
11485 of cgraph_node.
11486
e6313a78
RG
114872011-04-11 Richard Guenther <rguenther@suse.de>
11488
11489 * c-common.c (complete_array_type): Build a range type of
11490 proper type.
11491
dcf0c47e
NF
114922011-04-08 Nathan Froyd <froydnj@codesourcery.com>
11493
11494 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
11495 (handle_type_generic_attribute): Likewise.
11496
1ee44b26
JM
114972011-04-07 Jason Merrill <jason@redhat.com>
11498
11499 PR c++/48450
11500 * c-common.c (c_common_truthvalue_conversion): Don't ignore
11501 conversion from C++0x scoped enum.
11502
acce4e77
JM
115032011-04-06 Joseph Myers <joseph@codesourcery.com>
11504
11505 * c-target-def.h: New file.
11506 * c-target.def: New file.
11507 * c-target.h: New file.
11508 * c-common.c (targetcm): Don't define here.
11509 * c-common.h (default_handle_c_option): Declare.
11510 * c-format.c: Include c-target.h instead of target.h.
11511 * c-opts.c: Include c-target.h instead of target.h. Explicitly
11512 include tm.h.
11513 (default_handle_c_option): Move from targhooks.c.
11514
e2eefb55
JJ
115152011-03-29 Jakub Jelinek <jakub@redhat.com>
11516
11517 PR preprocessor/48248
11518 * c-ppoutput.c (print): Add src_file field.
11519 (init_pp_output): Initialize it.
11520 (maybe_print_line): Don't optimize by adding up to 8 newlines
11521 if map->to_file and print.src_file are different file.
11522 (print_line): Update print.src_file.
11523
ba78087b
KT
115242011-03-25 Kai Tietz <ktietz@redhat.com>
11525
11526 * c-ada-spec.c (compare_comment): Use filename_cmp
11527 instead of strcmp for filename.
11528
0edf1bb2
JL
115292011-03-25 Jeff Law <law@redhat.com>
11530
adfac8df 11531 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 11532
c7dc8804
JM
115332011-03-25 Jason Merrill <jason@redhat.com>
11534
11535 * c.opt: Add -std=c++03.
11536
d1d879b1
EB
115372011-03-22 Eric Botcazou <ebotcazou@adacore.com>
11538
11539 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
11540
3f8257db 115412011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
11542
11543 PR target/12171
5050afdf
KT
11544 * c-pretty-print.c (pp_c_specifier_qualifier_list):
11545 Display allowed attributes for function pointer types.
11546 (pp_c_attributes_display): New function to display
11547 attributes having affects_type_identity flag set to true.
11548 * c-pretty-print.h (pp_c_attributes_display): New prototype.
11549
62d784f7
KT
11550 * c-common.c (c_common_attribute_table):
11551 Add new element.
11552 (c_common_format_attribute_table): Likewise.
11553
82d37118
JM
115542011-03-18 Jason Merrill <jason@redhat.com>
11555
49a000c3
JM
11556 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
11557 * c-common.h: Don't declare it here.
11558 * c-common.c: Or define it here.
11559 * c-opts.c (c_common_handle_option): Or set it here.
11560
82d37118
JM
11561 PR c++/35315
11562 * c-common.c (handle_transparent_union_attribute): Don't
11563 make a duplicate type in C++.
11564
17bc631c
JM
115652011-03-15 Jason Merrill <jason@redhat.com>
11566
11567 * c-common.c (max_constexpr_depth): New.
11568 * c-common.h: Declare it.
11569 * c-opts.c (c_common_handle_option): Set it.
11570 * c.opt (fconstexpr-depth): New option.
11571
1b9b91a6
JM
115722011-03-11 Jason Merrill <jason@redhat.com>
11573
f231b5ff
JM
11574 * c-common.c (attribute_takes_identifier_p): Add missing const.
11575
1b9b91a6
JM
11576 PR c++/46803
11577 * c-common.c (attribute_takes_identifier_p): Assume that an
11578 unknown attribute takes an identifier.
11579
a19e4d44
NF
115802011-03-07 Nathan Froyd <froydnj@codesourcery.com>
11581
11582 PR c/47786
11583 * c-common.c (c_type_hash): Call list_length instead of iterating
11584 through DECL_CHAIN. Rename 'i' to 'n_elements'.
11585
982d62f6
JJ
115862011-02-19 Jakub Jelinek <jakub@redhat.com>
11587
11588 PR c/47809
11589 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
11590
0a256240
NP
115912011-02-17 Iain Sandoe <iains@gcc.gnu.org>
11592
11593 * c.opt (fobjc-abi-version=) New.
11594 (fobjc-nilcheck): New.
11595
ba9e6dd5
NF
115962011-02-03 Nathan Froyd <froydnj@codesourcery.com>
11597
11598 PR c++/46890
11599 * c-common.h (keyword_is_decl_specifier): Declare.
11600 * c-common.c (keyword_is_decl_specifier): Define.
11601 (keyword_is_function_specifier): New function.
11602
7273813a
JJ
116032011-01-26 Jakub Jelinek <jakub@redhat.com>
11604
11605 PR c/47473
11606 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
11607 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
11608 REAL_TYPE.
11609
908ef79b
AC
116102011-01-26 Arnaud Charlet <charlet@adacore.com>
11611
11612 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
11613
237e9384
JJ
116142011-01-26 Jakub Jelinek <jakub@redhat.com>
11615
11616 PR pch/47430
11617 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
11618 after init_c_lex if pch_file is set.
11619
47ea1edf
DK
116202011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
11621
d4dba752 11622 PR c++/43601
47ea1edf
DK
11623 * c.opt (-fkeep-inline-dllexport): New switch.
11624
2aa9c6ae
RG
116252011-01-12 Richard Guenther <rguenther@suse.de>
11626
11627 PR middle-end/32511
11628 * c-common.c (handle_weak_attribute): Warn instead of error
11629 on declaring an inline function weak.
11630
7bd11157
TT
116312011-01-05 Tom Tromey <tromey@redhat.com>
11632
11633 * c-common.h (lvalue_error): Update.
11634 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
11635 not error.
11636
0e66e494 116372010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 11638
b4f588c4
NP
11639 PR objc/47075
11640 * c-objc.h (objc_finish_message_expr): Added argument to
11641 prototype.
11642
f4da8dce
NF
116432010-12-22 Nathan Froyd <froydnj@codesourcery.com>
11644
11645 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
11646 Use prototype_p.
11647
46270f14
NP
116482010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
11649
11650 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 11651 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 11652
4816c593
NF
116532010-12-10 Nathan Froyd <froydnj@codesourcery.com>
11654
11655 * c-common.h (readonly_error): Declare.
11656 * c-common.c (readonly_error): Define.
11657
7a6daeb0
NF
116582010-12-09 Nathan Froyd <froydnj@codesourcery.com>
11659
11660 * c-common.h (invalid_indirection_error): Declare.
11661 * c-common.c (invalid_indirection_error): Define.
11662
892f6119
RG
116632010-12-03 Richard Guenther <rguenther@suse.de>
11664
11665 PR c/46745
11666 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
11667 (pp_c_unary_expression): Likewise.
11668 (pp_c_expression): Likewise.
11669
6c39e757
NP
116702010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
11671
11672 * c-common.h (objc_finish_function): New.
11673 (objc_non_volatilized_type): Removed.
11674 (objc_type_quals_match): Removed.
11675 * stub-objc.c (objc_finish_function): New.
11676 (objc_non_volatilized_type): Removed.
11677 (objc_type_quals_match): Removed.
9faeb493 11678
7c475d11
JM
116792010-11-30 Joseph Myers <joseph@codesourcery.com>
11680
11681 * c-common.h (parse_optimize_options): Declare.
11682 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
11683 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
11684
71f3e391
JM
116852010-11-29 Joseph Myers <joseph@codesourcery.com>
11686
11687 * c-opts.c (check_deps_environment_vars): Use getenv instead of
11688 GET_ENVIRONMENT.
11689 * c-pch.c (O_BINARY): Don't define here.
11690 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
11691
d5fabb58
JM
116922010-11-25 Joseph Myers <joseph@codesourcery.com>
11693
11694 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
11695 targetm.except_unwind_info.
11696
299404a1
JM
116972010-11-23 Joseph Myers <joseph@codesourcery.com>
11698
11699 * c-opts.c (c_common_handle_option): Pass location to
11700 set_struct_debug_option.
11701
c98cd5bf
JM
117022010-11-23 Joseph Myers <joseph@codesourcery.com>
11703
11704 * c-common.c (visibility_options): Move from ../opts.c.
11705 * c-common.h (struct visibility_flags, visibility_options):
11706 Declare here.
11707 * c-opts.c (finish_options): Rename to c_finish_options.
11708 (c_common_init): Update call to finish_options.
11709
a9546771
NP
117102010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
11711
11712 PR objc/34033
11713 * c-lex.c (lex_string): Check that each string in an Objective-C
11714 string concat sequence starts with either one or zero '@', and
11715 that there are no spurious '@' signs at the end.
11716
24a57808
JM
117172010-11-20 Joseph Myers <joseph@codesourcery.com>
11718
11719 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
11720 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
11721 HANDLE_PRAGMA_VISIBILITY.
11722 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
11723 HANDLE_PRAGMA_VISIBILITY): Don't define.
11724 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
11725
a9aa2c3a
NF
117262010-11-20 Nathan Froyd <froydnj@codesourcery.com>
11727
11728 PR c++/16189
11729 PR c++/36888
11730 PR c++/45331
11731 * c-common.h (keyword_begins_type_specifier): Declare.
11732 (keyword_is_storage_class_specifier): Declare.
11733 (keyword_is_type_qualifier): Declare.
11734 * c-common.c (keyword_begins_type_specifier): New function.
11735 (keyword_is_storage_class_specifier): New function.
11736 (keyword_is_type_qualifier): Declare.
11737
5386338c
JM
117382010-11-19 Joseph Myers <joseph@codesourcery.com>
11739
11740 PR c/46547
11741 * c-common.c (in_late_binary_op): Define.
11742 (c_common_truthvalue_conversion): Check in_late_binary_op before
11743 calling c_save_expr.
11744 * c-common.h (in_late_binary_op): Declare.
11745
69ccdddb
JM
117462010-11-19 Joseph Myers <joseph@codesourcery.com>
11747
11748 * c-opts.c (c_common_handle_option): Update calls to
11749 set_struct_debug_option.
11750
6b192a09
NP
117512010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
11752
11753 * c-common.h (objc_declare_protocols): Added additional argument.
11754 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 11755
fb52b50a
NF
117562010-11-18 Nathan Froyd <froydnj@codesourcery.com>
11757
11758 PR c/33193
11759 * c-common.h (build_real_imag_expr): Declare.
11760 * c-semantics.c (build_real_imag_expr): Define.
11761
b37421c6
JM
117622010-11-17 Joseph Myers <joseph@codesourcery.com>
11763
11764 * c-opts.c (c_common_parse_file): Take no arguments.
11765 * c-common.h (c_common_parse_file): Update prototype.
11766
07078664
JJ
117672010-11-16 Jakub Jelinek <jakub@redhat.com>
11768
11769 PR c++/46401
11770 * c-common.c (warning_candidate_p): Don't track non-const calls
11771 or STRING_CSTs.
11772
c6a13190
ILT
117732010-11-15 Ian Lance Taylor <iant@google.com>
11774
11775 * c-lex.c (init_c_lex): Set macro debug callbacks if
11776 flag_dump_go_spec is set.
11777
925e8657
NP
117782010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
11779
11780 * c-common.h (objc_build_incr_expr_for_property_ref): New.
11781 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
11782
bb0a9581
NF
117832010-11-15 Nathan Froyd <froydnj@codesourcery.com>
11784
11785 PR preprocessor/45038
11786 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
11787 dialects.
11788
c5fa0890
JM
117892010-11-12 Joseph Myers <joseph@codesourcery.com>
11790
11791 * c-common.h (c_family_lang_mask): Declare.
11792 * c-opts.c (c_family_lang_mask): Make extern.
11793 * c-pragma.c (handle_pragma_diagnostic): Use
11794 control_warning_option.
11795
a4d8c676
JM
117962010-11-12 Joseph Myers <joseph@codesourcery.com>
11797
11798 * c-common.c (parse_optimize_options): Update call to
11799 decode_options.
11800 * c-common.h (c_common_handle_option): Update prototype.
11801 * c-opts.c (c_common_handle_option): Take location_t parameter and
11802 pass it to other functions.
11803
f954bd2c
JM
118042010-11-11 Joseph Myers <joseph@codesourcery.com>
11805
11806 * c-opts.c (warning_as_error_callback): Remove.
11807 (c_common_initialize_diagnostics): Don't call
11808 register_warning_as_error_callback.
11809 (c_common_handle_option): Handle -Werror=normalized= here.
11810
d8a07487
JM
118112010-11-10 Joseph Myers <joseph@codesourcery.com>
11812
11813 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
11814 in diagnostic.
11815 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
11816 letter.
11817 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
11818 Remove trailing '.' from diagnostics.
11819 * c.opt (Wwrite-strings_: Avoid '`' in help text.
11820
d5478783
JM
118212010-11-10 Joseph Myers <joseph@codesourcery.com>
11822
11823 * c-common.c (parse_optimize_options): Pass global_dc to
11824 decode_options.
11825 * c-opts.c (c_common_handle_option): Pass &global_options to
11826 set_Wstrict_aliasing.
11827 * c.opt (v): Don't mark Common or document here.
11828
91ebb981
IS
118292010-11-06 Iain Sandoe <iains@gcc.gnu.org>
11830
11831 PR target/44981
11832 * c-format.c (format_type): New type gcc_objc_string_format_type.
11833 (valid_stringptr_type_p): New.
11834 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 11835 (check_format_string): Pass expected type, use
91ebb981
IS
11836 valid_stringptr_type_p (), check that the format string types are
11837 consistent with the format specification.
11838 (decode_format_attr): Warn if NSString is used outside objective-c.
11839 (format_types_orig): Add NSString.
11840 (format_name): New.
11841 (format_flags): New.
11842 (check_format_arg): Handle format strings requiring an external parser.
11843 first_target_format_type: New variable.
11844 (handle_format_attribute): Set up first_target_format_type, pass the
11845 expected format arg string type to check_format_string().
ab20d992 11846 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
11847 * stub-objc.c (objc_string_ref_type_p): New.
11848 (objc_check_format_arg): New.
11849
bede2adc
NP
118502010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
11851
9faeb493 11852 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
11853 * c-common.h (objc_build_class_component_ref): New.
11854 * stub-objc.c (objc_build_class_component_ref): New.
11855
9a179d01
NP
118562010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
11857
11858 * c.opt (Wproperty-assign-default): New option.
11859
22d8d616
NP
118602010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
11861
11862 Implemented -fobjc-std=objc1 flag.
11863 * c.opt (fobjc-std=objc1): New option.
11864
2debdb4f
NP
118652010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
11866
11867 Implemented format and noreturn attributes for Objective-C methods.
11868 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
11869 attribute for Objective-C methods.
11870
ec52b111
JM
118712010-10-31 Jason Merrill <jason@redhat.com>
11872
11873 * c-common.c (conversion_warning, warn_for_collisions_1): Use
11874 EXPR_LOC_OR_HERE.
11875
46a88c12
NP
118762010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
11877
11878 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
11879 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
11880 (objc_add_property_declaration): Removed arguments for copies and
11881 ivar.
11882 (objc_build_getter_call): Renamed to
11883 objc_maybe_build_component_ref.
11884 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
11885 (objc_is_property_ref): New.
11886 * c-common.c (c_common_reswords): Removed copies and ivar.
11887 * stub-objc.c (objc_add_property_declaration): Removed arguments
11888 for copies and ivar.
11889 (objc_build_getter_call): Renamed to
11890 objc_maybe_build_component_ref.
11891 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
11892 (objc_is_property_ref): New.
9faeb493 11893
1e4bf85b
AC
118942010-10-29 Arnaud Charlet <charlet@adacore.com>
11895 Matthew Gingell <gingell@adacore.com>
11896
11897 * c-ada-spec.c (separate_class_package): New function.
11898 (pp_ada_tree_identifier): Prefix references to C++ classes with the
11899 name of their enclosing package.
11900 (print_ada_declaration): Use separate_class_package.
11901
81f0bab2
JM
119022010-10-27 Jason Merrill <jason@redhat.com>
11903
2b08f2c5
JM
11904 * c-common.c (c_common_reswords): Add __is_literal_type.
11905 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
11906
81f0bab2
JM
11907 * c-common.c (check_case_value): Remove special C++ code.
11908
200290f2
NP
119092010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
11910
11911 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
11912 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
11913 and RID_LAST_PATTR.
11914 (objc_add_property_declaration): Added additional arguments.
11915 (objc_property_attribute_kind): Removed.
11916 (objc_set_property_attr): Removed.
11917 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
11918 copy and nonatomic.
11919 * stub-objc.c (objc_add_property_declaration): Added additional
11920 arguments.
11921 (objc_set_property_attr): Removed.
9faeb493 11922
f614132b
NP
119232010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
11924
11925 * c-common.h (objc_add_property_variable): Renamed to
11926 objc_add_property_declaration. Added location argument.
11927 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 11928
b8a18805
NP
119292010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
11930
11931 * c-common.h (objc_maybe_printable_name): New.
11932 * stub-objc.c (objc_maybe_printable_name): New.
11933
3f8257db
JJ
119342010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
11935 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
11936
11937 * c-common.h (c_common_mark_addressable_vec): Declare.
11938 * c-common.c (c_common_mark_addressable_vec): New function.
11939
249a82c4
NP
119402010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
11941
11942 * c-common.h (objc_set_method_type): Removed.
11943 (objc_add_method_declaration): Added boolean argument.
11944 (objc_start_method_definition): Same change.
11945 (objc_build_method_signature): Same change.
11946 * stub-objc.c (objc_set_method_type): Removed.
11947 (objc_add_method_declaration): Added boolean argument.
11948 (objc_start_method_definition): Same change.
11949 (objc_build_method_signature): Same change.
11950
977e30bc
NP
119512010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
11952
11953 * c-common.h (finish_file): Removed.
11954 (objc_write_global_declarations): New.
11955 * c-opts.c (c_common_parse_file): Do not call finish_file.
11956 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 11957
da57d1b9
NP
119582010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
11959
11960 Implemented parsing @synthesize and @dynamic for
11961 Objective-C/Objective-C++.
11962 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
11963 (objc_add_synthesize_declaration): New.
11964 (objc_add_dynamic_declaration): New.
11965 * c-common.c (c_common_reswords): Add synthesize and dynamic.
11966 * stub-objc.c (objc_add_synthesize_declaration): New.
11967 (objc_add_dynamic_declaration): New.
9faeb493 11968
0069111f
MM
119692010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
11970
11971 PR target/46041
11972 * c-cppbuiltin.c (mode_has_fma): Move function here from
11973 builtins.c. Don't use the fma optab, instead just use the
11974 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
11975 using -save-temps.
11976
e426b47b
NP
119772010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
11978
11979 Merge from 'apple/trunk' branch on FSF servers.
0069111f 11980
3f8257db 11981 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 11982
9faeb493 11983 Radar 4330422
e426b47b
NP
11984 * c-common.h (objc_non_volatilized_type): New declaration
11985 * stub-objc.c (objc_non_volatilized_type): New stub.
11986
90fbfdc3
NP
119872010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
11988
e426b47b 11989 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 11990
ab20d992 11991 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 11992
9faeb493 11993 Radar 4133425
90fbfdc3 11994 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 11995 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 11996
c37d8c30
IS
119972010-10-17 Iain Sandoe <iains@gcc.gnu.org>
11998
11999 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12000 * c-common.h (enum rid): Add RID_AT_PACKAGE.
12001 (objc_ivar_visibility_kind): New enum.
12002 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 12003 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
12004 visibility enum.
12005
1b1562a5
MM
120062010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12007
12008 * c-cppbuiltin.c (builtin_define_float_constants): Emit
12009 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12010 has the appropriate fma builtins.
12011 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12012
668ea4b1
IS
120132010-10-14 Iain Sandoe <iains@gcc.gnu.org>
12014
1b1562a5 12015 merge from FSF apple 'trunk' branch.
3f8257db 12016 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 12017
668ea4b1
IS
12018 Radars 4436866, 4505126, 4506903, 4517826
12019 * c-common.c (c_common_resword): Define @property and its attributes.
12020 * c-common.h: Define property attribute enum entries.
12021 (OBJC_IS_PATTR_KEYWORD): New.
12022 (objc_property_attribute_kind): New enum.
12023 Declare objc_set_property_attr (), objc_add_property_variable (),
12024 objc_build_getter_call () and objc_build_setter_call ().
12025 * stub-objc.c (objc_set_property_attr): New stub.
12026 (objc_add_property_variable): Likewise.
12027 (objc_build_getter_call): Likewise.
12028 (objc_build_setter_call) Likewise.
1b1562a5 12029
a1178b30
IS
120302010-10-13 Iain Sandoe <iains@gcc.gnu.org>
12031
1b1562a5 12032 merge from FSF apple 'trunk' branch.
ab20d992 12033 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
12034
12035 Radar 3803157 (method attributes)
12036 * c-common.c (handle_deprecated_attribute): Recognize
12037 objc methods as valid declarations.
12038 * c-common.h: Declare objc_method_decl ().
1b1562a5 12039 * stub-objc.c (objc_method_decl): New stub.
a1178b30 12040
a75bfaa6
JM
120412010-10-08 Joseph Myers <joseph@codesourcery.com>
12042
12043 * c-common.c (parse_optimize_options): Call
12044 decode_cmdline_options_to_array_default_mask before
12045 decode_options. Update arguments to decode_options.
12046 * c-common.h (c_common_init_options_struct): Declare.
12047 * c-opts.c (c_common_init_options_struct): New. Split out from
12048 c_common_init_options.
12049
f05b9d93
NP
120502010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
12051
12052 Implemented fast enumeration for Objective-C.
12053 * c-common.h (objc_finish_foreach_loop): New.
12054 * stub-objc.c (objc_finish_foreach_loop): New.
12055
1ebe4b4f
JM
120562010-10-05 Joseph Myers <joseph@codesourcery.com>
12057
12058 * c-common.h (struct diagnostic_context): Don't declare here.
12059 (c_common_initialize_diagnostics): Declare using
12060 diagnostic_context typedef.
12061 * c-opts.c (c_common_handle_option): Pass global_dc to
12062 handle_generated_option.
12063
d4d24ba4
JM
120642010-10-04 Joseph Myers <joseph@codesourcery.com>
12065
12066 * c-opts.c (c_common_handle_option): Pass &global_options_set to
12067 handle_generated_option.
12068
478a1c5b
ILT
120692010-10-03 Ian Lance Taylor <iant@google.com>
12070
12071 * c.opt (-fplan9-extensions): New option.
12072
82a1c2fe
FXC
120732010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12074
12075 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12076 Remove.
12077 (c_cpp_builtins): Call functions from cppbuiltin.c instead
12078 of duplicating code.
12079
92902b1b
IS
120802010-09-30 Iain Sandoe <iains@gcc.gnu.org>
12081
12082 * c-common.c: Add two new entries for @optional
12083 and @required keywords.
12084
12085 merge from FSF 'apple/trunk' branch.
3f8257db 12086 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
12087
12088 Radar 4386773
12089 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12090 objective-c keywords.
12091 (objc_set_method_opt): New declaration.
12092 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 12093
46625112
JM
120942010-09-30 Joseph Myers <joseph@codesourcery.com>
12095
12096 * c-common.c (handle_optimize_attribute): Pass &global_options to
12097 cl_optimization_save and cl_optimization_restore.
12098 * c-opts.c (c_common_handle_option): Pass &global_options to
12099 handle_generated_option.
12100 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12101 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12102 &global_options to cl_optimization_restore.
12103
49b91f05
NP
121042010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
12105
12106 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12107 Objective-C/Objective-C++ keywords.
12108
13ed556f 121092010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 12110
9faeb493
UB
12111 Merge from 'apple/trunk' branch on FSF servers.
12112
3f8257db 12113 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
12114
12115 Radar 4281748
12116 * c-common.h (objc_check_global_decl): New declaration.
12117 * stub-objc.c (objc_check_global_decl): New stub.
12118
f0036cca
JM
121192010-09-29 Joseph Myers <joseph@codesourcery.com>
12120
12121 * c.opt: Don't use VarExists.
12122
e3339d0f
JM
121232010-09-29 Joseph Myers <joseph@codesourcery.com>
12124
12125 * c-common.c (c_cpp_error): Update names of diagnostic_context
12126 members.
12127 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12128 cl_optimization members.
12129 * c-opts.c (warning_as_error_callback, c_common_handle_option,
12130 sanitize_cpp_opts, finish_options): Update names of cpp_options
12131 members.
12132
1973201f
NP
121332010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
12134
12135 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
12136 (objc_is_reserved_word): Removed.
12137 * c-common.c: Updated comments.
12138 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12139 objc_is_reserved_word.
12140 * stub-objc.c (objc_is_reserved_word): Removed.
12141
f7e71da5
IS
121422010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12143
9faeb493 12144 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
12145 include attributes.
12146 (objc_start_method_definition): Likewise.
12147 (objc_build_keyword_decl): Likewise.
12148 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12149 (objc_start_method_definition): Likewise.
12150 (objc_build_keyword_decl): Likewise.
12151
c165dca7
IS
121522010-09-28 Iain Sandoe <iains@gcc.gnu.org>
12153
12154 * c-common.h (objc_start_class_interface): Adjust prototype.
12155 (objc_start_category_interface): Likewise.
12156 (objc_start_protocol): Likewise.
12157 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12158 (objc_start_class_interface): Likewise.
12159 (objc_start_category_interface): Likewise.
12160
7458026b
ILT
121612010-09-27 Ian Lance Taylor <iant@google.com>
12162
12163 * c-common.c (c_common_attribute_table): Add no_split_stack.
12164 (handle_no_split_stack_attribute): New static function.
12165
b581b85b
NP
121662010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
12167
9faeb493 12168 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 12169
3f8257db 12170 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 12171
9faeb493 12172 Radar 4229905
b581b85b
NP
12173 * c-common.h (objc_have_common_type): New declaration.
12174 * stub-objc.c (objc_have_common_type): New stub.
12175
12176 2005-06-22 Ziemowit Laski <zlaski@apple.com>
12177
12178 Radar 4154928
12179 * c-common.h (objc_common_type): New prototype.
9faeb493 12180 * stub-objc.c (objc_common_type): New stub.
b581b85b 12181
46a4da10
JH
121822010-09-24 Jan Hubicka <jh@suse.cz>
12183
12184 * c-common.c (handle_leaf_attribute): New function.
12185 (struct attribute_spec c_common_att): Add leaf.
12186
e200444e
JM
121872010-09-22 Joseph Myers <joseph@codesourcery.com>
12188
12189 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12190 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12191 -dump, -dump=, -imacros, -imacros=, -include, -include=,
12192 -include-barrier, -include-directory, -include-directory=,
12193 -include-directory-after, -include-directory-after=,
12194 -include-prefix, -include-prefix=, -include-with-prefix,
12195 -include-with-prefix=, -include-with-prefix-after,
12196 -include-with-prefix-after=, -include-with-prefix-before,
12197 -include-with-prefix-before=, -no-integrated-cpp,
12198 -no-line-commands, -no-standard-includes, -no-warnings, -output,
12199 -output=, -pedantic, -pedantic-errors, -preprocess,
12200 -print-missing-file-dependencies, -trace-includes, -traditional,
12201 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12202 -user-dependencies, -verbose, -write-dependencies,
12203 -write-user-dependencies, no-integrated-cpp, traditional): New.
12204
29a80ea6
NP
122052010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12206
12207 PR objc/23710
ac1fc2fc
NP
12208 * c-common.h (objc_start_method_definition): Return bool instead
12209 of void.
12210 * stub-objc.c (objc_start_method_definition): Return bool instead
12211 of void.
12212
122132010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12214
12215 PR objc/25965
12216 * c-common.h (objc_get_interface_ivars): New declaration.
12217 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 12218
de621752
ILT
122192010-09-15 Ian Lance Taylor <iant@google.com>
12220
12221 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 12222 messages. Remove period at end of warning message.
de621752 12223
ba885ec5
NS
122242010-09-09 Nathan Sidwell <nathan@codesourcery.com>
12225
12226 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12227 (handle_alias_attribute): ... here.
12228 (handle_ifunc_attribute): New.
12229
c5ee1358
MM
122302010-09-06 Mark Mitchell <mark@codesourcery.com>
12231
12232 * c-common.h (do_warn_double_promotion): Declare.
12233 * c-common.c (do_warn_double_promotion): Define.
12234
0a0b3574
MM
122352010-09-05 Mark Mitchell <mark@codesourcery.com>
12236
12237 * c.opt (Wdouble-promotion): New.
12238
d1779886
JM
122392010-09-02 Joseph Myers <joseph@codesourcery.com>
12240
12241 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12242 fvtable-thunks, fxref): Mark no longer supported in help text.
12243
2d2bd949
JM
122442010-09-02 Joseph Myers <joseph@codesourcery.com>
12245
12246 * c.opt (Wimport, fall-virtual, falt-external-templates,
12247 fdefault-inline, fenum-int-equiv, fexternal-templates,
12248 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12249 fname-mangling-version-, fnew-abi, fnonnull-objects,
12250 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12251 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12252 applicable.
12253 (fhandle-exceptions): Mark with Alias and Warn.
12254 * c-opts.c (c_common_handle_option): Don't handle options marked
12255 as ignored.
12256
5de8299c
JM
122572010-09-02 Joseph Myers <joseph@codesourcery.com>
12258
12259 * c.opt (Wcomments, Werror-implicit-function-declaration,
12260 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12261 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12262 aliases.
12263 * c-common.c (option_codes): Use OPT_Wcomment instead of
12264 OPT_Wcomments.
12265 * c-opts.c (warning_as_error_callback, c_common_handle_option):
12266 Don't handle options marked as aliases.
12267
0ceb0201
RG
122682010-08-25 Richard Guenther <rguenther@suse.de>
12269
12270 * c-common.c (c_common_get_alias_set): Remove special
12271 handling for pointers.
12272
ac47786e
NF
122732010-08-20 Nathan Froyd <froydnj@codesourcery.com>
12274
12275 * c-common.c: Use FOR_EACH_VEC_ELT.
12276 * c-gimplify.c: Likewise.
12277 * c-pragma.c: Likewise.
12278
c878765b
JM
122792010-08-16 Joseph Myers <joseph@codesourcery.com>
12280
12281 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
12282 RejectDriver.
12283 (MMDX): Change back to MMD. Mark NoDriverArg instead of
12284 RejectDriver.
12285 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12286 instead of OPT_MDX and OPT_MMDX.
12287
603349bf
JM
122882010-08-16 Joseph Myers <joseph@codesourcery.com>
12289
12290 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12291
644fa7ac
JM
122922010-08-12 Joseph Myers <joseph@codesourcery.com>
12293
12294 * c.opt (MD, MMD): Change to MDX and MMDX.
12295 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12296
481e1176
JM
122972010-08-11 Joseph Myers <joseph@codesourcery.com>
12298
12299 * c-opts.c (c_common_handle_option): Call handle_generated_option
12300 instead of handle_option.
12301
ac8dc9f7
NF
123022010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12303
12304 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12305 (maybe_apply_renaming_pragma): Delete unneeded declarations.
12306
4f8c876d
NF
123072010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12308
12309 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
12310 (pending_redefine_extname): Change type to a VEC.
12311 (add_to_renaming_pragma_list): Update for new type of
12312 pending_redefine_extname.
ac8dc9f7 12313 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 12314
3b0c690e
AC
123152010-08-04 Arnaud Charlet <charlet@adacore.com>
12316
12317 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12318 visited.
12319 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12320 decide whether a type has already been declared/seen.
12321 Do not go to the original type.
12322 (dump_nested_types): New parameter forward.
12323 Generate forward declaration if needed and mark type as visited.
12324 (print_ada_declaration): Call dump_nested_types if not already done.
12325 Mark types as visited.
12326
1890bccc
JM
123272010-08-03 Joseph Myers <joseph@codesourcery.com>
12328
12329 * c.opt (-print-pch-checksum): Remove option.
12330 * c-opts.c (c_common_handle_option): Don't handle
12331 OPT_print_pch_checksum.
12332
5f20c657
JM
123332010-07-27 Joseph Myers <joseph@codesourcery.com>
12334
12335 * c-common.h (c_common_handle_option): Update prototype and return
12336 value type.
12337 * c-opts.c (c_common_handle_option): Update prototype and return
12338 value type. Update calls to handle_option and
12339 enable_warning_as_error.
12340
f551f80c
JJ
123412010-07-27 Jakub Jelinek <jakub@redhat.com>
12342
12343 PR c/45079
12344 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12345
61ff2bdc
JM
123462010-07-27 Joseph Myers <joseph@codesourcery.com>
12347
12348 * c-common.h (c_common_missing_argument): Remove.
12349 * c-opts.c (c_common_missing_argument): Remove.
12350 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12351 idirafter, imacros, include, isysroot, isystem, iquote): Add
12352 MissingArgError.
12353 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
12354
7a9bf9a4
JM
123552010-07-27 Joseph Myers <joseph@codesourcery.com>
12356
12357 * c-common.h (c_common_option_lang_mask,
12358 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
12359 New.
12360 (c_common_init_options): Update prototype.
12361 * c-opts.c (c_common_option_lang_mask): New.
12362 (c_common_initialize_diagnostics): Split out of
12363 c_common_init_options.
12364 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
12365 New.
12366 (c_common_init_options): Update prototype. Use decoded options in
12367 search for -lang-asm.
12368
910ad8de
NF
123692010-07-15 Nathan Froyd <froydnj@codesourcery.com>
12370
12371 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
12372 * c-format.c: Likewise.
12373
718f9c0f
MLI
123742010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
12375
12376 * c-common.h: Include diagnostic-core.h. Error if already
12377 included.
12378 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
12379
4d451982
MLI
123802010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
12381
adfac8df 12382 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
12383 Do not include expr.h
12384 (vector_mode_valid_p): Move here.
12385
119fe915
SB
123862010-06-21 DJ Delorie <dj@redhat.com>
12387
12388 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
12389 allow these pragmas anywhere.
12390
123912010-06-14 Jakub Jelinek <jakub@redhat.com>
12392
12393 PR bootstrap/44509
12394 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
12395 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
12396 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
12397 ggc_strdup instead of xstrdup.
12398
123992010-06-10 Jakub Jelinek <jakub@redhat.com>
12400
12401 * c-cppbuiltin.c: Include cpp-id-data.h.
12402 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
12403 (lazy_hex_fp_value): New function.
12404 (builtin_define_with_hex_fp_value): Provide definitions lazily.
12405
6662d794
MLI
124062010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
12407
12408 * c-gimplify.c: Do not include tree-flow.h
12409
38f8b050
JR
124102010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
12411
12412 PR other/44034
12413 * c-common.c: Rename targetm member:
12414 targetm.enum_va_list -> targetm.enum_va_list_p
12415
9589f23e
AS
124162010-06-28 Anatoly Sokolov <aesok@post.ru>
12417
12418 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
12419
3b06d379
SB
124202010-06-28 Steven Bosscher <steven@gcc.gnu.org>
12421
12422 * c-cppbuiltin.c: Do not include except.h.
12423
d166d4c3
AK
124242010-06-24 Andi Kleen <ak@linux.intel.com>
12425
9faeb493
UB
12426 * c-common.c (warn_for_omitted_condop): New.
12427 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 12428
70cb8be6
JM
124292010-06-21 Joseph Myers <joseph@codesourcery.com>
12430
12431 * c.opt (lang-objc): Remove.
12432 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
12433
a4c97feb
JR
124342010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
12435
12436 * c-opts.c: Include "tm_p.h".
12437
6e2f1956
JM
124382010-06-20 Joseph Myers <joseph@codesourcery.com>
12439
12440 * c-common.c (parse_optimize_options): Update call to
12441 decode_options.
12442
bc87224e
NF
124432010-06-18 Nathan Froyd <froydnj@codesourcery.com>
12444
12445 * c-common.c (record_types_used_by_current_var_decl): Adjust for
12446 new type of types_used_by_cur_var_decl.
12447
b49cf425
JR
124482010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
12449
12450 PR bootstrap/44512
12451 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
12452 for C++ standard compliance.
12453
59f9c2ed
JM
124542010-06-16 Jason Merrill <jason@redhat.com>
12455
12456 * c.opt: Add -Wnoexcept.
12457
33766b66
RG
124582010-06-16 Richard Guenther <rguenther@suse.de>
12459
12460 PR c/44555
12461 * c-common.c (c_common_truthvalue_conversion): Remove
12462 premature and wrong optimization concering ADDR_EXPRs.
12463
eff7e30c
AC
124642010-06-15 Arnaud Charlet <charlet@adacore.com>
12465
12466 * c-ada-spec.c (dump_sloc): Remove column info.
12467 (is_simple_enum): New function.
12468 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
12469 enum types when relevant.
12470
6312e84d
MLI
124712010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12472
9faeb493 12473 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
12474 location.
12475
1cb42611
JM
124762010-06-10 Joseph Myers <joseph@codesourcery.com>
12477
12478 * c-opts.c (c_common_handle_option): Don't handle
12479 OPT_fshow_column.
12480
a9429e29
LB
124812010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12482
12483 * c-pragma.c (push_alignment): Use typed GC allocation.
12484 (handle_pragma_push_options): Likewise.
12485
12486 * c-common.c (parse_optimize_options): Likewise.
12487
12488 * c-common.h (struct sorted_fields_type): Add variable_size GTY
12489 option.
12490
5498f011
JM
124912010-06-07 Joseph Myers <joseph@codesourcery.com>
12492
12493 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
12494 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12495 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12496 flag_signed_bitfields, warn_strict_null_sentinel,
12497 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
12498 flag_gen_declaration, flag_no_gnu_keywords,
12499 flag_implement_inlines, flag_implicit_templates,
12500 flag_implicit_inline_templates, flag_optional_diags,
12501 flag_elide_constructors, flag_default_inline, flag_rtti,
12502 flag_conserve_space, flag_access_control, flag_check_new,
12503 flag_new_for_scope, flag_weak, flag_working_directory,
12504 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
12505 flag_enforce_eh_specs, flag_threadsafe_statics,
12506 flag_pretty_templates): Remove.
12507 * c-common.h (flag_preprocess_only, flag_nil_receivers,
12508 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
12509 flag_replace_objc_classes, flag_undef, flag_no_builtin,
12510 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12511 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12512 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
12513 flag_no_gnu_keywords, flag_implement_inlines,
12514 flag_implicit_templates, flag_implicit_inline_templates,
12515 flag_optional_diags, flag_elide_constructors, flag_default_inline,
12516 flag_rtti, flag_conserve_space, flag_access_control,
12517 flag_check_new, flag_new_for_scope, flag_weak,
12518 flag_working_directory, flag_use_cxa_atexit,
12519 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
12520 flag_threadsafe_statics, flag_pretty_templates,
12521 warn_strict_null_sentinel): Remove.
12522 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
12523 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
12524 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
12525 fimplicit-inline-templates, fimplicit-templates,
12526 flax-vector-conversions, fms-extensions, fnil-receivers,
12527 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
12528 frtti, fshort-double, fshort-enums, fshort-wchar,
12529 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
12530 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
12531 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
12532 gen-decls, undef): Use Var.
12533 (fdefault-inline, foptional-diags): Document as doing nothing.
12534 * c-opts.c (c_common_handle_option): Remove cases for options now
12535 using Var. Mark ignored options as such.
12536
39dabefd
SB
125372010-06-05 Steven Bosscher <steven@gcc.gnu.org>
12538
9faeb493 12539 * c-common.c: Moved to here from parent directory.
39dabefd
SB
12540 * c-common.def: Likewise.
12541 * c-common.h: Likewise.
12542 * c-cppbuiltin.c: Likewise.
12543 * c-dump.c: Likewise.
12544 * c-format.c: Likewise.
12545 * c-format.h : Likewise.
12546 * c-gimplify.c: Likewise.
12547 * c-lex.c: Likewise.
12548 * c-omp.c: Likewise.
12549 * c.opt: Likewise.
12550 * c-opts.c: Likewise.
12551 * c-pch.c: Likewise.
12552 * c-ppoutput.c: Likewise.
12553 * c-pragma.c: Likewise.
12554 * c-pragma.h: Likewise.
12555 * c-pretty-print.c: Likewise.
12556 * c-pretty-print.h: Likewise.
12557 * c-semantics.c: Likewise.
12558 * stub-objc.c: Likewise.
12559
12560 * c-common.c: Include gt-c-family-c-common.h.
12561 * c-pragma.c: Include gt-c-family-c-pragma.h.
12562\f
c48514be 12563Copyright (C) 2010-2021 Free Software Foundation, Inc.
39dabefd
SB
12564
12565Copying and distribution of this file, with or without modification,
12566are permitted in any medium without royalty provided the copyright
12567notice and this notice are preserved.
This page took 4.204836 seconds and 5 git commands to generate.