Daily bump.
[official-gcc.git] / gcc / c-family / ChangeLog
blob2cfebb2ab05a7eb35230a157e180295dcbc5e1bb
1 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
3         * c-common.cc (c_common_c_tests): Rename to...
4         (c_common_cc_tests): ...this.
5         (c_family_tests): Update calls for .c to .cc renaming.
6         * c-common.h (c_format_c_tests): Rename to...
7         (c_format_cc_tests): ...this.
8         (c_indentation_c_tests): Rename to...
9         (c_indentation_cc_tests): ...this.
10         (c_pretty_print_c_tests): Rename to...
11         (c_pretty_print_cc_tests): ...this.
12         * c-format.cc (c_format_c_tests): Rename to...
13         (c_format_cc_tests): ...this.
14         * c-indentation.cc (c_indentation_c_tests): Rename to...
15         (c_indentation_cc_tests): ...this.
16         * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
17         (c_pretty_print_cc_tests): ...this.
19 2022-01-17  Martin Liska  <mliska@suse.cz>
21         * c-ada-spec.cc: Rename .c names to .cc.
22         * c-ada-spec.h: Likewise.
23         * c-common.cc (c_build_vec_convert): Likewise.
24         (warning_candidate_p): Likewise.
25         * c-common.h (enum rid): Likewise.
26         (build_real_imag_expr): Likewise.
27         (finish_label_address_expr): Likewise.
28         (c_get_substring_location): Likewise.
29         (c_build_bind_expr): Likewise.
30         (conflict_marker_get_final_tok_kind): Likewise.
31         (c_parse_error): Likewise.
32         (check_missing_format_attribute): Likewise.
33         (invalid_array_size_error): Likewise.
34         (warn_for_multistatement_macros): Likewise.
35         (build_attr_access_from_parms): Likewise.
36         * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
37         * c-format.cc: Likewise.
38         * c-gimplify.cc (c_gimplify_expr): Likewise.
39         * c-indentation.h: Likewise.
40         * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
41         * c-omp.cc (c_omp_predetermined_mapping): Likewise.
42         * c-opts.cc (c_common_post_options): Likewise.
43         (set_std_cxx23): Likewise.
44         * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
45         * c-pretty-print.h: Likewise.
47 2022-01-17  Martin Liska  <mliska@suse.cz>
49         * c-ada-spec.c: Moved to...
50         * c-ada-spec.cc: ...here.
51         * c-attribs.c: Moved to...
52         * c-attribs.cc: ...here.
53         * c-common.c: Moved to...
54         * c-common.cc: ...here.
55         * c-cppbuiltin.c: Moved to...
56         * c-cppbuiltin.cc: ...here.
57         * c-dump.c: Moved to...
58         * c-dump.cc: ...here.
59         * c-format.c: Moved to...
60         * c-format.cc: ...here.
61         * c-gimplify.c: Moved to...
62         * c-gimplify.cc: ...here.
63         * c-indentation.c: Moved to...
64         * c-indentation.cc: ...here.
65         * c-lex.c: Moved to...
66         * c-lex.cc: ...here.
67         * c-omp.c: Moved to...
68         * c-omp.cc: ...here.
69         * c-opts.c: Moved to...
70         * c-opts.cc: ...here.
71         * c-pch.c: Moved to...
72         * c-pch.cc: ...here.
73         * c-ppoutput.c: Moved to...
74         * c-ppoutput.cc: ...here.
75         * c-pragma.c: Moved to...
76         * c-pragma.cc: ...here.
77         * c-pretty-print.c: Moved to...
78         * c-pretty-print.cc: ...here.
79         * c-semantics.c: Moved to...
80         * c-semantics.cc: ...here.
81         * c-ubsan.c: Moved to...
82         * c-ubsan.cc: ...here.
83         * c-warn.c: Moved to...
84         * c-warn.cc: ...here.
85         * cppspec.c: Moved to...
86         * cppspec.cc: ...here.
87         * stub-objc.c: Moved to...
88         * stub-objc.cc: ...here.
90 2022-01-15  Martin Sebor  <msebor@redhat.com>
92         PR c/63272
93         * c.opt (-Wdangling-pointer): New option.
95 2022-01-15  Martin Sebor  <msebor@redhat.com>
97         PR tree-optimization/80532
98         * c.opt (-Wuse-after-free): New options.
100 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
102         * c-attribs.c (c_common_attribute_table): Add "tainted_args".
103         (handle_tainted_args_attribute): New.
105 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
106             Jason Merrill  <jason@redhat.com>
108         PR c++/70417
109         * c.opt: Added -Wmissing-template-keyword.
111 2022-01-13  Richard Biener  <rguenther@suse.de>
113         PR c/104002
114         * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
116 2022-01-12  Martin Liska  <mliska@suse.cz>
118         PR target/103804
119         * c-attribs.c (handle_optimize_attribute): Do not call
120         cl_optimization_compare if we seen an error.
122 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
124         PR c/101537
125         PR c/103881
126         * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
127         and BIT_XOR_EXPR.
129 2022-01-10  Richard Biener  <rguenther@suse.de>
131         PR middle-end/101530
132         * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
133         in a TARGET_EXPR to force a temporary.
135 2022-01-06  Marek Polacek  <polacek@redhat.com>
137         PR c++/103758
138         * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
139         diagnostic messages.
140         (handle_pragma_diagnostic): Likewise.
142 2022-01-03  Marek Polacek  <polacek@redhat.com>
144         PR c++/103758
145         * c-format.c (check_tokens): Accept "decl-specifier*".
147 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
149         PR c++/103600
150         * c-attribs.c (handle_non_overlapping_attribute): New function.
151         (c_common_attribute_table): Add "non overlapping" attribute.
153 2021-12-30  Jakub Jelinek  <jakub@redhat.com>
155         PR c++/103012
156         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
157         cpp_define_unused/cpp_undef calls with forced token locations
158         BUILTINS_LOCATION.
160 2021-12-27  Patrick Palka  <ppalka@redhat.com>
162         PR c++/103700
163         * c-common.c (pointer_int_sum): When quiet, return
164         error_mark_node for an incomplete pointed-to type and don't
165         call size_in_bytes_loc.
167 2021-12-17  Jason Merrill  <jason@redhat.com>
169         PR c++/103681
170         * c-opts.c (c_common_post_options): Update defaults.
172 2021-12-16  Martin Liska  <mliska@suse.cz>
174         PR target/103709
175         * c-pragma.c (handle_pragma_pop_options): Do not check
176         global options modification when an error is seen in parsing
177         of options (pragmas or attributes).
179 2021-12-12  Jonathan Wakely  <jwakely@redhat.com>
181         * known-headers.cc: Define INCLUDE_MEMORY instead of
182         INCLUDE_UNIQUE_PTR.
183         * name-hint.h: Likewise.
184         (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
186 2021-12-09  Jakub Jelinek  <jakub@redhat.com>
188         PR pch/71934
189         * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
190         with NULL value instead of NULL to host_hooks.gt_pch_use_address.
192 2021-12-03  Jakub Jelinek  <jakub@redhat.com>
194         PR pch/71934
195         * c-pch.c (struct c_pch_validity): Remove pch_init member.
196         (pch_init): Don't initialize v.pch_init.
197         (c_common_valid_pch): Don't warn and punt if .text addresses change.
199 2021-12-01  Jason Merrill  <jason@redhat.com>
201         PR c++/103310
202         * c.opt: Add -fconstexpr-fp-except.
204 2021-11-29  Richard Biener  <rguenther@suse.de>
206         * c-format.c (check_format_string): Remove spurious
207         gcc_unreachable.
209 2021-11-29  Richard Biener  <rguenther@suse.de>
211         * c-opts.c (c_common_post_options): Remove unreachable return.
212         * c-pragma.c (handle_pragma_target): Likewise.
213         (handle_pragma_optimize): Likewise.
215 2021-11-25  Jakub Jelinek  <jakub@redhat.com>
217         PR c++/102611
218         * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
219         default for C++23 regardless of warn_deprecated.
220         * c-cppbuiltin.c (c_cpp_builtins): Predefine
221         __cpp_multidimensional_subscript=202110L for C++23.
223 2021-11-23  Martin Sebor  <msebor@redhat.com>
225         PR middle-end/88232
226         * c.opt: Add -Winfinite-recursion.
228 2021-11-19  Martin Sebor  <msebor@redhat.com>
230         PR c++/33925
231         PR c/102867
232         * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
233         and improve handling tof defined symbols.
235 2021-11-19  Martin Liska  <mliska@suse.cz>
237         Revert:
238         2021-11-18  Martin Liska  <mliska@suse.cz>
240         * c-gimplify.c (genericize_c_loop): Use option directly.
242 2021-11-18  Matthias Kretz  <m.kretz@gsi.de>
244         * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
245         * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
247 2021-11-18  Martin Liska  <mliska@suse.cz>
249         * c-gimplify.c (genericize_c_loop): Use option directly.
251 2021-11-17  Martin Uecker  <uecker@gcc.gnu.org>
253         PR c/91038
254         PR c/29970
255         * c-common.c (pointer_int_sum): Make sure pointer expressions
256         are evaluated first when the size expression depends on for
257         variably-modified types.
259 2021-11-17  Marek Polacek  <polacek@redhat.com>
261         PR preprocessor/103026
262         * c.opt (Wbidi-chars, Wbidi-chars=): New option.
264 2021-11-16  Jason Merrill  <jason@redhat.com>
266         * c-common.c (release_tree_vector): Only cache vecs smaller than
267         16 elements.
269 2021-11-15  Jason Merrill  <jason@redhat.com>
271         * c.opt: Add -fimplicit-constexpr.
272         * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
273         * c-opts.c (c_common_post_options): Disable below C++14.
275 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
277         * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
278         Duplicate to both OMP_TARGET and OMP_TEAMS.
280 2021-11-10  Marek Polacek  <polacek@redhat.com>
282         PR c++/101940
283         * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
284         ignored_attributes.
286 2021-11-09  David Malcolm  <dmalcolm@redhat.com>
288         * c-pragma.c (GCC_BAD_AT): New macro.
289         (GCC_BAD2_AT): New macro.
290         (handle_pragma_pack): Use the location of the pertinent token when
291         issuing diagnostics about invalid constants/actions, and trailing
292         junk.
293         (handle_pragma_target): Likewise for non-string "GCC option".
294         (handle_pragma_message): Likewise for trailing junk.
296 2021-11-03  Joseph Myers  <joseph@codesourcery.com>
298         PR c/103031
299         * c-common.c (convert_and_check): Add argument init_const.  Call
300         convert_init if init_const.
301         * c-common.h (convert_and_check): Update prototype.
302         (convert_init): New prototype.
304 2021-11-01  David Malcolm  <dmalcolm@redhat.com>
306         * c-lex.c (c_lex_with_flags): When complaining about non-printable
307         CPP_OTHER tokens, set the "escape on output" flag.
309 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
311         * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
312         POINTER_PLUS_EXPR.
313         (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
314         (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
316 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
318         PR c++/102854
319         * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
320         * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
321         TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
322         conversions temporarily clear the 3rd bit from d->kind while walking
323         subtrees.
324         (c_omp_check_loop_iv_exprs): Add CODE argument.  Or in 4 into data.kind
325         if possibly non-rectangular.
327 2021-10-21  Jakub Jelinek  <jakub@redhat.com>
329         PR middle-end/64888
330         * c-omp.c (c_omp_predefined_variable): Return true also for
331         ubsan_create_data created artificial variables.
333 2021-10-14  Joseph Myers  <joseph@codesourcery.com>
335         * c-format.c (printf_length_specs, scanf_length_specs)
336         (print_char_table, scan_char_table): Support DFP formats for C2X.
337         * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
338         (T2X_D32, T2X_D64, T2X_D128): New macros.
340 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
342         * c-omp.c (c_omp_check_context_selector): Rename to
343         omp_check_context_selector and move to omp-general.c.
344         (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
345         move to omp-general.c.
347 2021-10-12  Joseph Myers  <joseph@codesourcery.com>
349         * c-format.c (print_char_table): Add %b and %B formats.
350         (scan_char_table): Add %b format.
351         * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
352         (T2X_UPD, T2X_UIM): New macros.
354 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
356         * c-omp.c (c_finish_omp_atomic): Use
357         clear_padding_type_may_have_padding_p.
359 2021-10-08  Martin Liska  <mliska@suse.cz>
361         * c-opts.c (c_common_post_options): Use new macro
362         OPTION_SET_P.
364 2021-10-07  Martin Liska  <mliska@suse.cz>
366         * c-common.c (parse_optimize_options): Make
367         save_opt_decoded_options a pointer type.
369 2021-10-06  Jakub Jelinek  <jakub@redhat.com>
371         PR tree-optimization/102571
372         * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
373         padding, but the non-padding bits are contiguous set of bytes
374         by adjusting the memcmp call arguments instead of emitting
375         __builtin_clear_padding and then comparing all the type's bytes.
377 2021-10-06  Jakub Jelinek  <jakub@redhat.com>
379         PR c++/102612
380         * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
381         __cpp_constexpr to 202110L rather than 201907L.
383 2021-10-04  Marek Polacek  <polacek@redhat.com>
385         PR c++/97573
386         * c-common.h (do_warn_array_compare): Declare.
387         * c-warn.c (do_warn_array_compare): New.
388         * c.opt (Warray-compare): New option.
390 2021-10-02  Iain Sandoe  <iain@sandoe.co.uk>
392         * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
393         NULL, this is not needed.
395 2021-10-01  Martin Sebor  <msebor@redhat.com>
397         PR c/102103
398         * c-common.c (decl_with_nonnull_addr_p): Handle members.
399         Check and perform warning suppression.
400         (c_common_truthvalue_conversion): Enhance warning suppression.
402 2021-10-01  Martin Liska  <mliska@suse.cz>
404         PR target/102552
405         * c-common.c (parse_optimize_options): decoded_options[0] is
406           used for program name, so merged_decoded_options should also
407           respect that.
409 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
410             Richard Biener  <rguenther@suse.de>
412         PR sanitizer/102515
413         * c-ubsan.c (ubsan_instrument_division): Check the right
414         flag_sanitize_recover bit, depending on which sanitization
415         is done.  Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
416         rather than SANITIZE_DIVIDE.  If both SANITIZE_SI_OVERFLOW
417         and SANITIZE_DIVIDE is enabled, neither check is known
418         to be false and flag_sanitize_recover bits for those two
419         aren't the same, emit both __ubsan_handle_divrem_overflow
420         and __ubsan_handle_divrem_overflow_abort calls.
422 2021-10-01  Martin Liska  <mliska@suse.cz>
424         * c-common.c (parse_optimize_options): Combine optimize
425         options with what was provided on the command line.
427 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
429         * c-omp.c (c_omp_split_clauses): Also copy
430         OMP_CLAUSE_ORDER_REPRODUCIBLE.
432 2021-09-27  Martin Liska  <mliska@suse.cz>
434         * c-opts.c (c_common_init_options_struct): Set also
435           x_flag_default_complex_method.
437 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
439         * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
441 2021-09-20  Matthias Kretz  <m.kretz@gsi.de>
443         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
444         undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
445         __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
446         __ROUNDING_MATH__ according to the new optimization flags.
448 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
450         * c-omp.c (c_omp_split_clauses): Split order clause also to
451         distribute construct.  Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
453 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
455         * c-omp.c (c_finish_omp_atomic): Avoid creating
456         TARGET_EXPR if test is true, use create_tmp_var_raw instead of
457         create_tmp_var and add a zero initializer to TARGET_EXPRs that
458         had NULL initializer.  When omitting operands after v = x,
459         use type of v rather than type of x.  Fix type of vtmp
460         TARGET_EXPR.
462 2021-09-13  Jason Merrill  <jason@redhat.com>
464         * c.opt: Add -Winterference-size.
465         * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
466         and __GCC_CONSTRUCTIVE_SIZE.
468 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
470         * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
471         * c-omp.c: Include gimple-fold.h.
472         (c_finish_omp_atomic): Add r and weak arguments.  Add support for
473         OpenMP 5.1 atomics.
475 2021-09-09  qing zhao  <qing.zhao@oracle.com>
477         * c-attribs.c (handle_uninitialized_attribute): New function.
478         (c_common_attribute_table): Add "uninitialized" attribute.
480 2021-09-08  liuhongt  <hongtao.liu@intel.com>
482         * c-common.c (excess_precision_mode_join): Update below comments.
483         (c_ts18661_flt_eval_method): Set excess_precision_type to
484         EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
485         * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
486         (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
487         EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
489 2021-09-07  Marcel Vollweiler  <marcel@codesourcery.com>
491         * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
493 2021-09-03  Eric Botcazou  <ebotcazou@adacore.com>
495         * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
496         and -gnatwu warning for the package specification.
498 2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
500         * c-attribs.c (handle_unavailable_attribute): New.
502 2021-08-30  Jason Merrill  <jason@redhat.com>
504         * c.opt: Add -Wmissing-requires.
506 2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
508         PR other/93067
509         * c-opts.c (c_common_input_charset_cb): New function.
510         (c_common_post_options): Call new function
511         diagnostic_initialize_input_context().
513 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
515         * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
516         (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
517         "di" and "u", respecitively; fill with BADLEN to match
518         size of 'types'.
519         (get_init_dynamic_hwi): Split off from ...
520         (init_dynamic_diag_info): ... here. Call it.
521         (init_dynamic_gfc_info): Call it.
523 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
525         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
526         * c-pragma.c (omp_pragmas): Add error directive.
527         * c-omp.c (omp_directives): Uncomment error directive entry.
529 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
531         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
532         * c-pragma.c (omp_pragmas): Add nothing directive.
533         * c-omp.c (omp_directives): Uncomment nothing directive entry.
535 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
537         PR c++/101539
538         * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
539         * c-common.c (c_common_reswords): Add __is_layout_compatible.
541 2021-08-17  Matt Jacobson  <mhjacobson@me.com>
543         * c-opts.c (c_common_post_options): Default to
544         flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
546 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
548         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
549         * c-pragma.c (omp_pragmas): Add scope construct.
550         * c-omp.c (omp_directives): Uncomment scope directive entry.
552 2021-08-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
554         * c-cppbuiltin.c (c_cpp_builtins): Define
555         __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
557 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
559         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
560         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
561         * c-pragma.c (omp_pragmas_simd): Add masked construct.
562         * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
563         enumerator.
564         (c_finish_omp_masked): Declare.
565         * c-omp.c (c_finish_omp_masked): New function.
566         (c_omp_split_clauses): Handle combined masked constructs.
568 2021-07-30  Jakub Jelinek  <jakub@redhat.com>
570         PR c++/101539
571         * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
572         * c-common.c (c_common_reswords): Add
573         __is_pointer_interconvertible_base_of.
575 2021-07-29  Richard Biener  <rguenther@suse.de>
577         PR c/101512
578         * c-common.c (c_common_mark_addressable_vec): Look through
579         C_MAYBE_CONST_EXPR even if not at the toplevel.
581 2021-07-27  Martin Sebor  <msebor@redhat.com>
583         PR c/101585
584         * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
586 2021-07-23  Jakub Jelinek  <jakub@redhat.com>
588         * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
589         on attr_id.  Return 1 for omp::directive or omp::sequence in C++11
590         and later.
592 2021-07-23  Jakub Jelinek  <jakub@redhat.com>
594         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
595         PRAGMA_OMP__LAST_ enumerators.
597 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
598             Joseph Myers  <joseph@codesourcery.com>
599             Cesar Philippidis  <cesar@codesourcery.com>
601         * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
603 2021-07-20  Martin Sebor  <msebor@redhat.com>
605         * c-common.c (c_build_shufflevector): Adjust by-value argument to
606         by-const-reference.
607         * c-common.h (c_build_shufflevector): Same.
609 2021-07-16  Andrew Pinski  <apinski@marvell.com>
611         PR c/101453
612         * c-common.c (parse_optimize_options): Use the correct
613         size for buffer.
615 2021-07-15  Martin Sebor  <msebor@redhat.com>
617         PR c/101289
618         PR c/97548
619         * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
621 2021-07-14  Jason Merrill  <jason@redhat.com>
623         * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
625 2021-07-06  Martin Sebor  <msebor@redhat.com>
627         * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
628          (gcc_cdiag_char_table): Same.
629          (gcc_cxxdiag_char_table): Same.
631 2021-07-02  Jakub Jelinek  <jakub@redhat.com>
633         * c-common.h (enum c_omp_directive_kind): New enum.
634         (struct c_omp_directive): New type.
635         (c_omp_categorize_directive): Declare.
636         * c-omp.c (omp_directives): New variable.
637         (c_omp_categorize_directive): New function.
639 2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>
641         * c-ada-spec.c (packed_layout): New global variable.
642         (dump_ada_declaration): Set it upon seeing a packed record type.
643         Do not put the "aliased" keyword if it is set.
644         (dump_ada_structure): Add Pack aspect if it is set and clear it.
646 2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>
648         * c-ada-spec.c (check_name): Rename into...
649         (check_type_name_conflict): ...this.  Minor tweak.
650         (dump_ada_function_declaration): Adjust to above renaming.
651         (dump_ada_array_domains): Fix oversight.
652         (dump_ada_declaration): Call check_type_name_conflict for variables.
654 2021-06-25  Martin Sebor  <msebor@redhat.com>
656         * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
657         (c_common_truthvalue_conversion): Replace direct uses of
658         TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
659         copy_no_warning.
660         (check_function_arguments_recurse): Same.
661         * c-gimplify.c (c_gimplify_expr): Same.
662         * c-warn.c (overflow_warning): Same.
663         (warn_logical_operator): Same.
664         (warn_if_unused_value): Same.
665         (do_warn_unused_parameter): Same.
667 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
669         * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
670         C_ORT_OMP_TARGET.
671         * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
672         combined target constructs also add map (always, tofrom:) clause.
674 2021-06-15  Robin Dapp  <rdapp@linux.ibm.com>
676         * c-attribs.c (common_handle_aligned_attribute): Remove short
677         circuit and dead code.
679 2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
681         PR c++/101052
682         * known-headers.cc (get_stdlib_header_for_name): Add known
683         headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
684         exit, and getenv.
686 2021-06-12  Jason Merrill  <jason@redhat.com>
688         * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
690 2021-06-11  Jakub Jelinek  <jakub@redhat.com>
692         PR c++/100974
693         * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
694         -std=c++2b for P1938R3 consteval if support.
696 2021-06-09  Jason Merrill  <jason@redhat.com>
698         PR c++/100879
699         * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
700         warning.
702 2021-06-07  Martin Liska  <mliska@suse.cz>
704         * c-target.def: Split long lines and replace them
705         with '\n\'.
707 2021-06-04  Martin Sebor  <msebor@redhat.com>
709         PR c/100783
710         * c-attribs.c (positional_argument): Bail on erroneous types.
712 2021-06-04  Martin Sebor  <msebor@redhat.com>
714         * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
715         for element presence.
717 2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
719         * c-ada-spec.c (dump_ada_macros): Minor tweaks.
720         (dump_ada_decl_name): Likewise.
721         (dump_anonymous_type_name): Remove parent parameter and adjust.
722         (dump_sloc): Minor tweak.
723         (dump_ada_array_type): Remove type parameter and adjust.
724         (dump_ada_enum_type): Remove parent parameter and adjust.
725         (dump_ada_node): Adjust calls to above functions.
726         (dumped_anonymous_types): New global variable.
727         (dump_nested_types_1): Rename into...
728         (dump_nested_types): ...this.
729         (dump_nested_type): Remove parent and dumped_types parameters.
730         <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
731         Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
732         (dump_ada_specs): Initialize and free dumped_anonymous_types.
734 2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
736         * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
737         (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
739 2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
741         * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
742         (htable_t): New typedef.
743         (overloaded_names): Use it.
744         (add_name): New function.
745         (init_overloaded_names): Use add_name to populate the table and add
746         special cases for sigaction and stat.
747         (overloaded_name_p): Rename into...
748         (overloading_index): ...this.  Do not initialize overloaded_names table
749         here.  Return the index or zero.
750         (dump_ada_declaration): Minor tweaks.  Do not skip overloaded functions
751         but add an overloading suffix instead.
752         (dump_ada_specs): Initialize overloaded_names tables here.
754 2021-06-01  Martin Liska  <mliska@suse.cz>
756         PR other/100759
757         * c-attribs.c (handle_optimize_attribute): Limit sanity check
758         to a situation where we are not in processing of an optimize
759         pragma.
760         * c-pragma.c (handle_pragma_pop_options): Restore target
761         options.
763 2021-05-31  Indu Bhagat  <indu.bhagat@oracle.com>
765         PR testsuite/100749
766         * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
768 2021-05-31  Richard Biener  <rguenther@suse.de>
770         PR c++/88601
771         * c-common.c: Include tree-vector-builder.h and
772         vec-perm-indices.h.
773         (c_common_reswords): Add __builtin_shufflevector.
774         (c_build_shufflevector): New funtion.
775         * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
776         (c_build_shufflevector): Declare.
778 2021-05-28  Jakub Jelinek  <jakub@redhat.com>
780         PR middle-end/99928
781         * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
782         target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
784 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
786         * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
788 2021-05-25  Martin Liska  <mliska@suse.cz>
790         PR tree-optimization/92860
791         PR target/99592
792         * c-attribs.c (handle_optimize_attribute): Save target node
793         before calling parse_optimize_options and save it in case
794         it changes.
795         * c-pragma.c (handle_pragma_target): Similarly for pragma.
796         (handle_pragma_pop_options): Likewise here.
798 2021-05-25  Martin Liska  <mliska@suse.cz>
800         * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
802 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
804         PR middle-end/99928
805         * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
806         combined with simd and not with taskloop or for.
808 2021-05-21  Jakub Jelinek  <jakub@redhat.com>
810         PR middle-end/99928
811         * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
812         on firstprivate clause copy going to target construct, and for
813         target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
815 2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
817         * c.opt (Wc++11-extensions, Wc++14-extensions)
818         (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
819         options.
821 2021-05-20  Indu Bhagat  <indu.bhagat@oracle.com>
823         * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
825 2021-05-20  Indu Bhagat  <indu.bhagat@oracle.com>
827         * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
828         * c-pch.c (struct c_pch_validity): Use type uint32_t.
829         (pch_init): Renamed member.
830         (c_common_valid_pch): Adjust access to debug_type_names.
832 2021-05-19  Martin Sebor  <msebor@redhat.com>
834         PR c/100619
835         * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
836         bounds.
838 2021-05-18  Richard Biener  <rguenther@suse.de>
840         PR c/100547
841         * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
842         Reword existing nunit diagnostic.
844 2021-05-17  Joern Rennecke  <joern.rennecke@embecosm.com>
846         * c-common.c (braced_list_to_string): Return CTOR unchanged
847         if host and target character sizes don't match.
849 2021-05-14  Martin Liska  <mliska@suse.cz>
851         * c.opt: Add Warning keyword for 2 options.
853 2021-05-13  Martin Liska  <mliska@suse.cz>
855         PR middle-end/100504
856         * c-attribs.c (handle_target_clones_attribute): Expect a string
857         argument to target_clone argument.
859 2021-05-11  Joseph Myers  <joseph@codesourcery.com>
861         * c-lex.c (interpret_float): Handle digit separators for C2X.
863 2021-05-10  Martin Liska  <mliska@suse.cz>
865         * c-ada-spec.c (print_destructor): Use startswith
866         function instead of strncmp.
867         (dump_ada_declaration): Likewise.
868         * c-common.c (disable_builtin_function): Likewise.
869         (def_builtin_1): Likewise.
870         * c-format.c (check_tokens): Likewise.
871         (check_plain): Likewise.
872         (convert_format_name_to_system_name): Likewise.
874 2021-04-28  Patrick McGehearty  <patrick.mcgehearty@oracle.com>
876         * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
877         complex divide
879 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
880             Nathan Sidwell  <nathan@codesourcery.com>
881             Tom de Vries  <vries@codesourcery.com>
882             Julian Brown  <julian@codesourcery.com>
883             Kwok Cheung Yeung  <kcy@codesourcery.com>
885         * c.opt (Wopenacc-parallelism): New.
887 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
889         * c.opt (fopenacc-kernels=): Remove.
891 2021-04-08  Jakub Jelinek  <jakub@redhat.com>
893         * c-warn.c (do_warn_double_promotion): Fix comment typo,
894         occured -> occurred.
895         (check_alignment_of_packed_member): Fix a comment typo,
896         memeber -> member.
897         (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
898         and onless -> unless.
899         (warn_parm_array_mismatch): Fix comment typos, declaratation
900         -> declaration and woud -> would.  Fix up comment indentation.
902 2021-04-08  Martin Sebor  <msebor@redhat.com>
904         PR middle-end/99883
905         * c.opt (Wmismatched-new-delete): Correct spelling.
907 2021-04-05  Eric Botcazou  <ebotcazou@adacore.com>
909         * c-ada-spec.c (is_simple_enum): Minor tweaks.
910         (dump_ada_enum_type): Add TYPE and PARENT parameters.  For non-simple
911         enumeral types use again the type name for the enumeration constants.
912         (dump_ada_node): Adjust call to dump_ada_enum_type.
913         (dump_nested_type): Likewise.
915 2021-04-01  Jason Merrill  <jason@redhat.com>
917         PR c++/98481
918         * c-opts.c (c_common_post_options): Bump latest_abi_version.
920 2021-03-25  Jakub Jelinek  <jakub@redhat.com>
922         PR c++/99565
923         * c-warn.c (do_warn_duplicated_branches): Pass also
924         OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
926 2021-03-20  Jakub Jelinek  <jakub@redhat.com>
928         PR debug/99230
929         * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
931 2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>
933         * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
934         after entering the separate class package, if any.
936 2021-03-04  Richard Biener  <rguenther@suse.de>
938         * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
939         Handle ERROR_MARK.
941 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
943         PR c/99325
944         * c-ppoutput.c (print): Change src_line type from int to unsigned.
945         (token_streamer::stream) Likewise.
946         (maybe_print_line_1): Likewise.  Don't strcmp src_file if src_loc is
947         UNKNOWN_LOCATION.
949 2021-03-03  Jakub Jelinek  <jakub@redhat.com>
951         PR c/99324
952         * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
953         instead of mark_addressable.  Fix a comment typo -
954         neutrallly -> neutrally.
956 2021-02-28  Jakub Jelinek  <jakub@redhat.com>
958         PR c/99304
959         * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
960         message - refernced -> referenced.  Remove superfluous space before
961         closing paren of function calls.
963 2021-02-25  Nathan Sidwell  <nathan@acm.org>
965         PR c++/99166
966         * c.opt (-flang-info-module-cmi): Renamed option.
968 2021-02-19  Nathan Sidwell  <nathan@acm.org>
970         * c.opt (flang-info-module-read, flang-info-module-read=): New.
972 2021-02-18  H.J. Lu  <hjl.tools@gmail.com>
974         PR target/99113
975         * c-attribs.c (c_common_attribute_table): Add the "retain"
976         attribute.
977         (handle_retain_attribute): New function.
979 2021-02-16  Marek Polacek  <polacek@redhat.com>
981         PR c++/99062
982         * c-attribs.c (handle_assume_aligned_attribute): Check that the
983         alignment argument is non-negative.  Tweak a warning message.
985 2021-02-12  Martin Sebor  <msebor@redhat.com>
987         PR c/99055
988         * c-warn.c (warn_parm_array_mismatch): Free strings returned from
989         print_generic_expr_to_str.
991 2021-02-10  Richard Biener  <rguenther@suse.de>
993         * c-common.c (parse_optimize_options): Free decoded_options.
995 2021-02-04  emsr  <3dw4rd@verizon.net>
997         * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
999 2021-02-03  Ed Smith-Rowland  <3dw4rd@verizon.net>
1001         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
1002         * c-lex.c (interpret_integer): Set node type for size literal.
1004 2021-01-28  Jakub Jelinek  <jakub@redhat.com>
1006         * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
1007         draft from description.
1008         (-std=c++2b): Fix a pasto, 2020 -> 2023.
1010 2021-01-26  Paul Fee  <paul.f.fee@gmail.com>
1012         * c-common.h (cxx_dialect): Add cxx23 as a dialect.
1013         * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
1014         and -std=gnu++2b
1015         * c-opts.c (set_std_cxx23): New.
1016         (c_common_handle_option): Set options when -std=c++23 is enabled.
1017         (c_common_post_options): Adjust comments.
1018         (set_std_cxx20): Likewise.
1020 2021-01-25  Martin Sebor  <msebor@redhat.com>
1022         PR c++/98646
1023         * c-common.c (check_nonnull_arg): Adjust warning text.
1025 2021-01-17  Martin Sebor  <msebor@redhat.com>
1027         * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1028         assume SSA_NAME_IDENTIFIER evaluates to nonzero.
1030 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
1032         * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
1033         Redefine PRAGMA_OACC_CLAUSE_DETACH.
1035 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
1037         PR tree-optimization/98597
1038         * c-pretty-print.c: Include options.h.
1039         (c_fold_indirect_ref_for_warn): New function.
1040         (print_mem_ref): Use it.  If it returns something that has compatible
1041         type and is TBAA compatible with zero offset, print it and return,
1042         otherwise print it using offsetof syntax or array ref syntax.  Fix up
1043         printing if MEM_REFs first operand is ADDR_EXPR, or when the first
1044         argument has pointer to array type.  Print pointers using the standard
1045         formatting.
1047 2021-01-12  Martin Sebor  <msebor@redhat.com>
1049         PR c/98597
1050         PR c/98592
1051         * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
1052         has pointer type.  Remove redundant code.  Avoid calling
1053         gimple_canonical_types_compatible_p.
1055 2021-01-07  Martin Sebor  <msebor@redhat.com>
1057         PR middle-end/98578
1058         * c-pretty-print.c (print_mem_ref): Strip array from access type.
1059         Avoid assuming acces type's size is constant.  Correct condition
1060         guarding the printing of a parenthesis.
1062 2021-01-06  Martin Sebor  <msebor@redhat.com>
1064         PR c++/95768
1065         * c-pretty-print.c (c_pretty_printer::primary_expression): For
1066         SSA_NAMEs print VLA names and GIMPLE defining statements.
1067         (print_mem_ref): New function.
1068         (c_pretty_printer::unary_expression): Call it.
1070 2021-01-06  Richard Biener  <rguenther@suse.de>
1072         PR tree-optimization/95582
1073         * c-attribs.c (c_common_attribute_table): Add entry for
1074         signed_bool_precision.
1075         (handle_signed_bool_precision_attribute): New.
1077 2020-12-24  Iain Sandoe  <iain@sandoe.co.uk>
1079         * c.opt: Add -stdlib= option and enumerations for
1080         libstdc++ and libc++.
1082 2020-12-16  Martin Liska  <mliska@suse.cz>
1084         * c.opt: Remove usage of Report.
1086 2020-12-14  Martin Sebor  <msebor@redhat.com>
1088         PR middle-end/98166
1089         PR c++/57111
1090         PR middle-end/98160
1091         * c-attribs.c (maybe_add_noinline): New function.
1092         (handle_malloc_attribute): Call it.  Use ATTR_FLAG_INTERNAL.
1093         Implicitly add attribute noinline to functions not declared inline
1094         and warn on those.
1096 2020-12-09  Tobias Burnus  <tobias@codesourcery.com>
1098         * c-pragma.c (omp_pragmas): Add 'allocate'.
1099         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
1101 2020-12-08  Jakub Jelinek  <jakub@redhat.com>
1103         PR c++/98187
1104         * c-pragma.c (omp_pragmas): Remove "master".
1105         (omp_pragmas_simd): Add "master".
1107 2020-12-07  Marek Polacek  <polacek@redhat.com>
1109         PR c++/98126
1110         * c-common.c (verify_tree_lim_r): New function.
1111         (verify_sequence_points): Use it.  Use nullptr instead of 0.
1113 2020-12-03  Martin Sebor  <msebor@redhat.com>
1115         PR c++/90629
1116         PR middle-end/94527
1117         * c-attribs.c (handle_dealloc_attribute): New function.
1118         (handle_malloc_attribute): Handle argument forms of attribute.
1119         * c.opt (-Wmismatched-dealloc): New option.
1120         (-Wmismatched-new-delete): New option.
1122 2020-12-03  Jakub Jelinek  <jakub@redhat.com>
1124         PR libstdc++/93121
1125         * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
1126         * c-common.c (c_common_reswords): Add __builtin_bit_cast.
1128 2020-12-01  JeanHeyd Meneide  <phdofthehouse@gmail.com>
1130         * c-cppbuiltin.c (c_cpp_builtins): Add predefined
1131         {__GNUC_EXECUTION_CHARSET_NAME} and
1132         _WIDE_EXECUTION_CHARSET_NAME} macros.
1134 2020-12-01  Nathan Sidwell  <nathan@acm.org>
1136         * c-common.c (module, import, export): New internal tokens (with
1137         trailing space).
1138         * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
1139         them.
1140         (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
1141         * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
1143 2020-12-01  Nathan Sidwell  <nathan@acm.org>
1145         * c-opts.c (c_common_init_options): Ask for module dependencies.
1146         (c_common_handle_option): Handle -Mmodules -Mno-modules.
1147         * c-pch.c (c_common_valid_pch): ... does not play with C++
1148         modules.
1149         * c.opt (Mmodules, Mno-modules): New preprocessor dependency
1150         options.
1151         (fmodules-ts, fmodule-header, fmodule-implicit-inline)
1152         (fmodule-only, fmodule-mapper, fmodule-lazy)
1153         (fmodule-version-ignore, Winvalid-imported-macros)
1154         (flang-info-include-translate, flang-info-include-translate-not):
1155         New options
1157 2020-11-28  Eric Botcazou  <ebotcazou@adacore.com>
1159         * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
1160         (dump_ada_structure): Also deal with convention, unchecked union and
1161         bit-field for nested types.  In the latter case, print an Alignment
1162         aspect along with the Pack aspect.
1164 2020-11-25  Martin Sebor  <msebor@redhat.com>
1166         PR bootstrap/94982
1167         * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
1168         -Wformat-diag.
1170 2020-11-24  Martin Sebor  <msebor@redhat.com>
1172         * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
1174 2020-11-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
1176         * c-attribs.c (handle_special_var_sec_attribute): New.
1177         (handle_noinit_attribute): Remove.
1178         (attr_noinit_exclusions): Rename to...
1179         (attr_section_exclusions): ...this, and add "persistent" attribute
1180         exclusion.
1181         (c_common_attribute_table): Add "persistent" attribute.
1183 2020-11-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
1185         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1186         Treat opaque types like other types.
1187         (c_pretty_printer::direct_abstract_declarator): Opaque types are
1188         supported types.
1190 2020-11-20  Martin Sebor  <msebor@redhat.com>
1192         * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
1193         with fewer arguments.
1195 2020-11-20  Martin Sebor  <msebor@redhat.com>
1197         PR middle-end/97879
1198         * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
1199         Error out on invalid modes.
1201 2020-11-20  Jakub Jelinek  <jakub@redhat.com>
1203         PR libstdc++/88101
1204         * c-common.c (check_builtin_function_arguments): Handle
1205         BUILT_IN_CLEAR_PADDING.
1207 2020-11-18  Nathan Sidwell  <nathan@acm.org>
1209         * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
1211 2020-11-17  Nathan Sidwell  <nathan@acm.org>
1213         * c-common.h (enum c_tree_index): Reorder to place lazy fields
1214         after newly-added CTI_MODULE_HWM.
1216 2020-11-17  Joseph Myers  <joseph@codesourcery.com>
1218         * c-cppbuiltin.c (builtin_define_float_constants): Define
1219         "*_IS_IEC_60559__" macros.
1221 2020-11-17  Nathan Sidwell  <nathan@acm.org>
1223         * c-lex.c: #include "langhooks.h".
1224         (cb_undef): Maybe call preprocess_undef lang hook.
1225         * c-opts.c (c_common_post_options): Maybe call preprocess_options
1226         lang hook.
1227         (push_command_line_include): Maybe call preprocess_main_file lang
1228         hook.
1229         (cb_file_change): Likewise.
1230         * c-ppoutput.c: #include "langhooks.h.
1231         (scan_translation_unit): Maybe call preprocess_token lang hook.
1232         (class do_streamer): New, derive from token_streamer.
1233         (directives_only_cb): Data pointer is do_streamer, call
1234         preprocess_token lang hook.
1235         (scan_translation_unit_directives_only): Use do_streamer.
1236         (print_line_1): Move src_line recording to after string output.
1237         (cb_undef): Maybe call preprocess_undef lang hook.
1239 2020-11-17  Nathan Sidwell  <nathan@acm.org>
1241         * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
1242         code duplicating that functionality.
1244 2020-11-17  Jakub Jelinek  <jakub@redhat.com>
1246         PR c/90628
1247         * c-common.c (check_builtin_function_arguments)
1248         <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
1249         to _Atomic.  For the TYPE_READONLY case, adjust message to be usable
1250         for more builtins and argument positions.
1252 2020-11-16  Iain Sandoe  <iain@sandoe.co.uk>
1254         PR objc/97854
1255         * stub-objc.c: Include c-common.h to declare enum rid.
1257 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
1259         PR c++/63287
1260         * c-cppbuiltin.c: Include configargs.h.
1261         (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
1262         defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
1263         "single".
1265 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
1266             Thomas Schwinge  <thomas@codesourcery.com>
1268         * c.opt (fopenacc-kernels): Add.
1270 2020-11-13  Jason Merrill  <jason@redhat.com>
1272         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
1274 2020-11-13  Piotr H. Dabrowski  <phd@phd.re>
1276         PR c++/91318
1277         * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
1279 2020-11-13  Martin Liska  <mliska@suse.cz>
1281         * c-attribs.c (build_attr_access_from_parms): Format properly.
1283 2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
1285         PR objc/90707
1286         * c-common.c (c_common_reswords): null_unspecified, nullable,
1287         nonnull, null_resettable: New keywords.
1288         * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
1289         RID_NONNULL, RID_NULL_RESETTABLE: New.
1290         (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
1291         ranges accepted for property attributes.
1292         * c-attribs.c (handle_objc_nullability_attribute): New.
1293         * c-objc.h (enum objc_property_attribute_group): Add
1294         OBJC_PROPATTR_GROUP_NULLABLE.
1295         (enum objc_property_attribute_kind):Add
1296         OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
1297         OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
1299 2020-11-13  Iain Sandoe  <iain@sandoe.co.uk>
1301         PR objc/77404
1302         * c-attribs.c (handle_objc_root_class_attribute): New
1303         * c-objc.h (objc_start_class_interface): Add a location
1304         value for the position of the class name.
1305         * c.opt: Add Wobjc-root-class.
1306         * stub-objc.c (objc_start_class_interface): Add a location
1307         value for the position of the class name.
1309 2020-11-12  Joseph Myers  <joseph@codesourcery.com>
1311         * c-lex.c (c_common_has_attribute): Take argument std_syntax.
1312         Allow scope for C.  Handle standard attributes for C.  Do not
1313         accept unscoped attributes if std_syntax and not handled as
1314         standard attributes.
1315         * c-common.h (c_common_has_attribute): Update prototype.
1317 2020-11-12  Nicholas Guriev  <guriev-ns@ya.ru>
1319         PR pch/86674
1320         * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
1321         reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
1323 2020-11-11  Patrick Palka  <ppalka@redhat.com>
1325         PR c++/88115
1326         * c-opts.c (c_common_post_options): Update latest_abi_version.
1328 2020-11-10  Jakub Jelinek  <jakub@redhat.com>
1330         PR c/97748
1331         * c-common.h (warn_if_unused_value): Add quiet argument defaulted
1332         to false.
1333         * c-warn.c (warn_if_unused_value): Likewise.  Pass it down
1334         recursively and just return true instead of warning if it is true.
1335         Handle COMPLEX_EXPR.
1337 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
1339         * c-common.h (c_omp_adjust_map_clauses): New declaration.
1340         * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
1341         (c_omp_adjust_map_clauses): New function.
1343 2020-11-09  Marek Polacek  <polacek@redhat.com>
1345         DR 1914
1346         * c-common.c (attribute_fallthrough_p): Tweak the warning
1347         message.
1349 2020-11-09  Patrick Palka  <ppalka@redhat.com>
1351         * c-pragma.c (handle_pragma_diagnostic): Split the
1352         unknown-option -Wpragmas diagnostic into a warning and a
1353         subsequent note containing a spelling suggestion.  Avoid
1354         computing the suggestion if -Wpragmas warnings are being
1355         suppressed.
1357 2020-11-09  Patrick Palka  <ppalka@redhat.com>
1359         PR testsuite/97117
1360         * c-indentation.c (get_visual_column): Remove location_t
1361         parameter.  Move the column-tracking diagnostic code from here
1362         to ...
1363         (should_warn_for_misleading_indentation): ... here, before the
1364         early exit for when the loci are not all distinct.  Don't pass a
1365         location_t argument to get_visual_column.
1366         (assert_get_visual_column_succeeds): Don't pass a location_t
1367         argument to get_visual_column.
1368         (assert_get_visual_column_fails): Likewise.
1370 2020-11-08  Iain Sandoe  <iain@sandoe.co.uk>
1372         * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
1373         of keywords accepted in @property attribute contexts.
1374         * c-objc.h (enum objc_property_attribute_group): Add
1375         OBJC_PROPATTR_GROUP_CLASS.
1376         (enum objc_property_attribute_kind): Add
1377         OBJC_PROPERTY_ATTR_CLASS.
1379 2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
1381         * c-common.c (c_common_reswords): Add 'atomic' property
1382         attribute.
1383         * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
1384         property attributes.
1386 2020-11-07  Iain Sandoe  <iain@sandoe.co.uk>
1388         * c-attribs.c (handle_nsobject_attribute): New.
1389         * c.opt: Add WNSObject-attribute.
1391 2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
1393         * c-objc.h (enum objc_property_attribute_group): New
1394         (enum objc_property_attribute_kind): New.
1395         (OBJC_PROPATTR_GROUP_MASK): New.
1396         (struct property_attribute_info): Small class encapsulating
1397         parser output from property attributes.
1398         (objc_prop_attr_kind_for_rid): New
1399         (objc_add_property_declaration): Simplify interface.
1400         * stub-objc.c (enum rid): Dummy type.
1401         (objc_add_property_declaration): Simplify interface.
1402         (objc_prop_attr_kind_for_rid): New.
1404 2020-11-06  Nathan Sidwell  <nathan@acm.org>
1406         * c-ada-spec.c (collect_ada_nodes): Rename
1407         DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1408         (collect_ada_node): Likewise.
1409         (dump_forward_type): Likewise.
1410         * c-common.c (set_underlying_type): Rename
1411         DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
1412         (user_facing_original_type, c_common_finalize_early_debug): Likewise.
1414 2020-11-06  Jakub Jelinek  <jakub@redhat.com>
1416         * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
1418 2020-11-05  Marek Polacek  <polacek@redhat.com>
1420         PR c++/97675
1421         * c.opt (Wexceptions): New option.
1423 2020-11-05  Marek Polacek  <polacek@redhat.com>
1425         PR c++/25814
1426         * c.opt (Wvexing-parse): New option.
1428 2020-11-04  Jakub Jelinek  <jakub@redhat.com>
1430         PR c++/97670
1431         * c-omp.c (c_omp_split_clauses): Look through array reductions to find
1432         underlying decl to clear in the allocate_head bitmap.
1434 2020-11-04  Iain Sandoe  <iain@sandoe.co.uk>
1436         * c-objc.h (objc_non_constant_expr_p): New.
1437         * stub-objc.c (objc_non_constant_expr_p): New.
1439 2020-11-03  Nathan Sidwell  <nathan@acm.org>
1441         * c.opt (MQ,MT): Reword description to be make-agnostic.
1443 2020-11-02  Nathan Sidwell  <nathan@acm.org>
1445         * c-opts.c (c_common_post_options): Move var decl to its
1446         initialization point.
1448 2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
1450         * c-lex.c (c_lex_with_flags): When combining '@' with a
1451         keyword for Objective-C, combine the location ranges too.
1453 2020-10-30  Qing Zhao  <qing.zhao@oracle.com>
1454             H.J.Lu  <hjl.tools@gmail.com>
1456         * c-attribs.c (c_common_attribute_table): Add new attribute
1457         zero_call_used_regs.
1458         (handle_zero_call_used_regs_attribute): New function.
1460 2020-10-28  Marek Polacek  <polacek@redhat.com>
1462         PR c++/97573
1463         * c-opts.c (c_common_post_options): In C++20, turn on
1464         -Wdeprecated-enum-enum-conversion and
1465         -Wdeprecated-enum-float-conversion.
1466         * c.opt (Wdeprecated-enum-enum-conversion,
1467         Wdeprecated-enum-float-conversion): New options.
1468         (Wenum-conversion): Allow for C++ too.
1470 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
1472         * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
1473         * c-omp.c: Include bitmap.h.
1474         (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
1476 2020-10-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
1478         * c-common.c (__is_nothrow_assignable): New.
1479         (__is_nothrow_constructible): Likewise.
1480         * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
1481         (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
1483 2020-10-23  Jan Hubicka  <hubicka@ucw.cz>
1485         * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
1487 2020-10-23  Marek Polacek  <polacek@redhat.com>
1489         PR c++/91741
1490         * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
1491         (c_common_init_ts): Likewise.
1492         * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
1493         * c-common.h (maybe_warn_sizeof_array_div): Declare.
1494         * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
1495         (maybe_warn_sizeof_array_div): New function.
1496         * c.opt (Wsizeof-array-div): New option.
1498 2020-10-23  Martin Sebor  <msebor@redhat.com>
1500         PR c/97463
1501         * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
1503 2020-10-22  Martin Liska  <mliska@suse.cz>
1505         PR c/94722
1506         * c-attribs.c (handle_no_stack_protect_function_attribute): New.
1507         (handle_stack_protect_attribute): Add error message for a
1508         no_stack_protector function.
1510 2020-10-22  Martin Liska  <mliska@suse.cz>
1512         * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
1514 2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
1516         * c-gimplify.c: Include tree-nested.h
1517         (c_genericize): Update for new nested function info.
1519 2020-10-14  Martin Sebor  <msebor@redhat.com>
1521         PR c/97413
1522         * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
1523         bounds in an extra list.
1525 2020-10-05  Richard Biener  <rguenther@suse.de>
1526             Jakub Jelinek  <jakub@redhat.com>
1528         PR c++/97197
1529         * c-pretty-print.c: Include langhooks.h.
1530         (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
1531         expression.
1532         (c_pretty_printer::expression): Handle TARGET_MEM_REF as
1533         unary_expression.
1534         (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
1536 2020-09-30  Martin Sebor  <msebor@redhat.com>
1538         PR middle-end/97189
1539         * c-attribs.c (append_access_attr): Use the function declaration
1540         location for a warning about an attribute access argument.
1542 2020-09-29  Marek Polacek  <polacek@redhat.com>
1544         PR c++/94695
1545         * c.opt (Wrange-loop-construct): New option.
1547 2020-09-23  Martin Sebor  <msebor@redhat.com>
1549         PR c/97131
1550         * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
1552 2020-09-23  Marek Polacek  <polacek@redhat.com>
1554         PR c/97125
1555         * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
1556         after loops and other structured control constructs have been lowered.
1558 2020-09-22  Jakub Jelinek  <jakub@redhat.com>
1560         * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
1561         warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
1563 2020-09-21  Marek Polacek  <polacek@redhat.com>
1565         * c.opt (Wctad-maybe-unsupported): New option.
1567 2020-09-19  Martin Sebor  <msebor@redhat.com>
1569         PR c/50584
1570         * c-common.h (warn_parm_array_mismatch): Declare new function.
1571         (has_attribute): Move declaration of an existing function.
1572         (build_attr_access_from_parms): Declare new function.
1573         * c-warn.c (parm_array_as_string): Define new function.
1574         (plus_one):  Define new function.
1575         (warn_parm_ptrarray_mismatch): Define new function.
1576         (warn_parm_array_mismatch):  Define new function.
1577         (vla_bound_parm_decl): New function.
1578         * c.opt (-Warray-parameter, -Wvla-parameter): New options.
1579         * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
1580         qualifiers here...
1581         (c_pretty_printer::direct_abstract_declarator): ...but instead print
1582         them in brackets here.  Also print [static].  Strip extraneous
1583         expressions from VLA bounds.
1585 2020-09-19  Martin Sebor  <msebor@redhat.com>
1587         PR c/50584
1588         * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
1589         (handle_argspec_attribute): New function.
1590         (get_argument, get_argument_type): New functions.
1591         (append_access_attrs): Add overload.  Handle internal attribute
1592         representation in addition to external.
1593         (handle_access_attribute): Handle internal attribute representation
1594         in addition to external.
1595         (build_attr_access_from_parms): New function.
1597 2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
1599         * c-gimplify.c (genericize_c_loop): Rewrite to match
1600         c_finish_loop in c-typeck.c.
1602 2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
1604         * c-common.c (c_block_may_fallthrough): New, split from
1605         cxx_block_may_fallthrough in the cp front end.
1606         (c_common_init_ts): Move handling of loop and switch-related
1607         statements here from the cp front end.
1608         * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
1609         cp front end.
1610         (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
1611         * c-common.h (c_block_may_fallthru): Declare.
1612         (bc_state_t): Move here from cp front end.
1613         (save_bc_state, restore_bc_state): Declare.
1614         (c_genericize_control_stmt): Declare.
1615         (WHILE_COND, WHILE_BODY): Likewise.
1616         (DO_COND, DO_BODY): Likewise.
1617         (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
1618         (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
1619         (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
1620         (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
1621         (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
1622         * c-dump.c (dump_stmt): Copy from cp front end.
1623         (c_dump_tree): Move code to handle structured loop and switch
1624         tree nodes here from cp front end.
1625         * c-gimplify.c: Adjust includes.
1626         (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
1627         cp front end.
1628         (save_bc_state, restore_bc_state): New functions using old code
1629         from cp front end.
1630         (get_bc_label, expr_loc_or_loc): Move from cp front end.
1631         (genericize_c_loop): Move from cp front end.
1632         (genericize_for_stmt, genericize_while_stmt): Likewise.
1633         (genericize_do_stmt, genericize_switch_stmt): Likewise.
1634         (genericize_continue_stmt, genericize_break_stmt): Likewise.
1635         (genericize_omp_for_stmt): Likewise.
1636         (c_genericize_control_stmt): New function using code split from
1637         cp front end.
1638         (c_genericize_control_r): New.
1639         (c_genericize): Call walk_tree with c_genericize_control_r.
1640         * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
1641         structured loop and switch tree nodes here from cp front end.
1643 2020-09-17  Patrick Palka  <ppalka@redhat.com>
1645         PR c/80076
1646         * c-indentation.c (should_warn_for_misleading_indentation): Move
1647         declarations of local variables closer to their first use.
1648         Handle virtual token locations by resolving them to their
1649         respective macro expansion points.  If all three tokens are
1650         produced from the same macro expansion, then instead use their
1651         loci within the macro definition.
1653 2020-09-16  Martin Sebor  <msebor@redhat.com>
1655         PR c/78666
1656         PR c/96126
1657         * c-attribs.c (validate_attr_args): New function.
1658         (validate_attr_arg): Same.
1659         (handle_section_attribute): Call it.  Introduce a local variable.
1660         (handle_alloc_size_attribute):  Same.
1661         (handle_alloc_align_attribute): Same.
1663 2020-09-14  Jakub Jelinek  <jakub@redhat.com>
1665         * c-attribs.c (handle_optimize_attribute): Adjust
1666         cl_optimization_save, cl_optimization_restore and
1667         build_optimization_node callers.
1668         * c-pragma.c (handle_pragma_optimize): Adjust
1669         build_optimization_node caller.
1670         (handle_pragma_push_options): Adjust
1671         build_optimization_node and build_target_option_node callers.
1672         (handle_pragma_pop_options, handle_pragma_reset_options):
1673         Adjust cl_optimization_restore callers.
1675 2020-08-28  Martin Sebor  <msebor@redhat.com>
1677         * c.opt (Wstringop-overread): New option.
1679 2020-08-11  Jakub Jelinek  <jakub@redhat.com>
1681         PR c/96545
1682         * c-common.c (get_atomic_generic_size): Require that first argument's
1683         type points to a complete type and use tree_fits_uhwi_p instead of
1684         just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
1686 2020-07-31  Martin Sebor  <msebor@redhat.com>
1688         PR c++/96003
1689         * c-common.c (check_function_arguments_recurse): Return early when
1690         no-warning bit is set.
1692 2020-07-31  Richard Biener  <rguenther@suse.de>
1694         PR debug/96383
1695         * c-common.h (c_common_finalize_early_debug): Declare.
1696         * c-common.c: Include debug.h.
1697         (c_common_finalize_early_debug): finalize_early_debug langhook
1698         implementation generating debug for extern declarations.
1700 2020-07-27  Nathan Sidwell  <nathan@acm.org>
1702         * c-common.c (try_to_locate_new_include_insertion_point): Use
1703         strcmp, not pointer equality.
1705 2020-07-25  Martin Sebor  <msebor@redhat.com>
1707         PR c++/96310
1708         * c-common.c (check_nonnull_arg): Print note only when warning was
1709         issued.
1711 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
1713         * c-omp.c (c_finish_omp_critical): Check for no name but
1714         nonzero hint provided.
1716 2020-07-20  Jason Merrill  <jason@redhat.com>
1718         * c-cppbuiltin.c (c_cpp_builtins): Update
1719         __cpp_nontype_template_args for C++20.
1721 2020-07-20  Martin Sebor  <msebor@redhat.com>
1723         PR c/96249
1724         * c.opt: Remove stray text.
1726 2020-07-14  Lewis Hyatt  <lhyatt@gmail.com>
1728         PR other/86904
1729         * c-indentation.c (should_warn_for_misleading_indentation): Get
1730         global tabstop from the new source.
1731         * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
1732         is now a common option.
1733         * c.opt: Likewise.
1735 2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
1737         * c.opt (Wscalar-storage-order): Add explicit variable.
1739 2020-07-07  Nathan Sidwell  <nathan@acm.org>
1741         * c-opts.c (c_common_post_options): Add 'injecting' arg to
1742         cpp_read_main_file.
1743         (c_finish_options): Add linemap_line_start calls for builtin and cmd
1744         maps.  Force token position to line_table's highest line.
1745         * c-ppoutput.c (print_line_1): Refactor, print line zero.
1746         (cb_define): Always increment source line.
1748 2020-07-06  Martin Sebor  <msebor@redhat.com>
1750         PR c++/95984
1751         * c-common.c (check_function_nonnull): Avoid checking syntesized calls
1752         to stub lambda objects with null this pointer.
1753         (check_nonnull_arg): Handle C++ nullptr.
1755 2020-07-02  Jason Merrill  <jason@redhat.com>
1756             Jakub Jelinek  <jakub@redhat.com>
1758         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
1760 2020-06-30  Jakub Jelinek  <jakub@redhat.com>
1762         PR c++/95963
1763         * c-common.c (check_function_arguments_recurse): Don't crash on
1764         calls to internal functions.
1766 2020-06-28  Martin Sebor  <msebor@redhat.com>
1768         PR c++/86568
1769         * c-common.c (struct nonnull_arg_ctx): Add members.
1770         (check_function_nonnull): Use nonnull_arg_ctx as argument.  Handle
1771         C++ member functions specially.  Consider the this pointer implicitly
1772         nonnull.
1773         (check_nonnull_arg): Use location of argument when available.
1774         (check_function_arguments): Use nonnull_arg_ctx as argument.
1776 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
1778         PR middle-end/95903
1779         * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
1780         !TYPE_UNSIGNED check to see if we can apply distributive law and handle
1781         smaller precision intop operands separately.
1783 2020-06-26  Marek Polacek  <polacek@redhat.com>
1785         * c-opts.c (c_common_init_options): Default to gnu++17.
1787 2020-06-17  Jonathan Wakely  <jwakely@redhat.com>
1789         PR c/95378
1790         * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
1791         pointer arguments.
1793 2020-06-16  Jakub Jelinek  <jakub@redhat.com>
1795         * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
1796         * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
1797         idx members.
1798         (c_omp_is_loop_iterator): New function.
1799         (c_omp_check_loop_iv_r): Use it.  Add support for silent scanning
1800         if outer loop iterator is present.  Perform duplicate checking through
1801         hash_set in the function rather than expecting caller to do that.
1802         Pass NULL instead of d->ppset to walk_tree_1.
1803         (c_omp_check_nonrect_loop_iv): New function.
1804         (c_omp_check_loop_iv): Use it.  Fill in new members, allow
1805         non-rectangular loop forms, diagnose multiple associated loops with
1806         the same iterator.  Pass NULL instead of &pset to walk_tree_1.
1807         (c_omp_check_loop_iv_exprs): Likewise.
1809 2020-06-10  Martin Liska  <mliska@suse.cz>
1811         PR tree-optimization/92860
1812         * c-attribs.c (handle_optimize_attribute):
1813         Save global options and compare it after parsing of function
1814         attribute.
1815         * c-pragma.c (opt_stack::saved_global_options): New field.
1816         (handle_pragma_push_options): Save global_options.
1817         (handle_pragma_pop_options): Compare them after pop.
1819 2020-06-09  Jakub Jelinek  <jakub@redhat.com>
1821         PR c/95580
1822         * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
1823         case when MEM_REF's first argument has type pointer to incomplete type.
1825 2020-06-05  Jason Merrill  <jason@redhat.com>
1827         * c-pretty-print.c (pp_c_additive_expression): Handle negative
1828         operand to POINTER_PLUS_EXPR.
1830 2020-06-04  Martin Sebor  <msebor@redhat.com>
1832         PR middle-end/10138
1833         PR middle-end/95136
1834         * c-attribs.c (append_access_attrs): Handle attr_access::none.
1835         (handle_access_attribute): Same.
1837 2020-06-03  Mark Wielaard  <mark@klomp.org>
1839         * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
1840         New function.
1841         * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
1842         New function declaration.
1844 2020-06-03  Mark Wielaard  <mark@klomp.org>
1846         * known-headers.cc (get_string_macro_hint): New function.
1847         (get_stdlib_header_for_name): Use get_string_macro_hint.
1848         (get_c_stdlib_header_for_string_macro_name): New function.
1849         * known-headers.h (get_c_stdlib_header_for_string_macro_name):
1850         New function declaration.
1852 2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
1854         * c-common.h (c_omp_predetermined_mapping): Declare.
1855         * c-omp.c (c_omp_predetermined_mapping): New.
1857 2020-05-22  Mark Wielaard  <mark@klomp.org>
1859         * known-headers.cc (get_stdlib_header_for_name): Add a new
1860         stdlib_hint array for stdbool and stdint.
1862 2020-05-22  Mark Wielaard  <mark@klomp.org>
1864         * known-headers.cc (get_stdlib_header_for_name): Return
1865         "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
1866         flag_isoc99.
1868 2020-05-20  Nathan Sidwell  <nathan@acm.org>
1870         * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
1872         * c-common.c (try_to_locate_new_include_insertion_point): Use
1873         strcmp to compare filenames.
1874         * c-lex.c (init_c_lex): Move declaration to initialization.
1875         * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
1876         deferred count loop.
1878 2020-05-15  Jason Merrill  <jason@redhat.com>
1880         * c-opts.c (set_std_cxx20): Set flag_coroutines.
1882 2020-05-13  Jason Merrill  <jason@redhat.com>
1884         * c.opt (std=c++20): Make c++2a the alias.
1885         (std=gnu++20): Likewise.
1886         * c-common.h (cxx_dialect): Change cxx2a to cxx20.
1887         * c-opts.c: Adjust.
1888         * c-cppbuiltin.c: Adjust.
1889         * c-ubsan.c: Adjust.
1890         * c-warn.c: Adjust.
1892 2020-05-12  Eric Botcazou  <ebotcazou@adacore.com>
1894         * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
1896 2020-05-08  Nathan Sidwell  <nathan@acm.org>
1898         Reimplement directives only processing.
1899         * c-ppoutput.c (token_streamer): Ne.
1900         (directives_only_cb): New.  Swallow ...
1901         (print_lines_directives_only): ... this.
1902         (scan_translation_unit_directives_only): Reimplment using the
1903         published interface.
1905 2020-05-07  Marek Polacek  <polacek@redhat.com>
1907         * c-format.c (badwords): Add "nonstatic".
1909 202-05-07  Jakub Jelinek  <jakub@redhat.com>
1911         PR c/94968
1912         * c-common.c (speculation_safe_value_resolve_params): Return false if
1913         error_operand_p (val2).
1914         (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
1915         Remove extraneous semicolon.
1917 2020-05-06  qing zhao  <qing.zhao@oracle.com>
1919         PR c/94230
1920         * c-indentation.c (get_visual_column): Add a hint to use the new
1921         -flarge-source-files option.
1923 2020-05-05  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
1925         * c-attribs.c (handle_vector_size_attribute): Add attribute
1926         nonnull for argument args in order to silence warning of
1927         uninitialized variable usage.  Since this is local to the
1928         compilation unit and thus cannot be checked at call sides by the
1929         compiler, added an assert statement in order to verify this.
1931 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
1933         PR target/93492
1934         * c-attribs.c (handle_patchable_function_entry_attribute): Limit
1935         value to USHRT_MAX (65535).
1937 2020-04-29  Jakub Jelinek  <jakub@redhat.com>
1939         * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
1941 2020-04-27  Jakub Jelinek  <jakub@redhat.com>
1943         PR c/94755
1944         * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
1945         fncode == BUILT_IN_NONE before initialization of first_param.
1947 2020-04-23  Marek Polacek  <polacek@redhat.com>
1949         PR c++/94733
1950         * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
1951         TREE_PURPOSE.
1953 2020-04-14  Patrick Palka  <ppalka@redhat.com>
1955         PR c++/85278
1956         * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
1957         ampersand if it's an rvalue reference type.
1959 2020-04-13  Martin Sebor  <msebor@redhat.com>
1961         PR c/92326
1962         * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
1963         printing array bound for flexible array members.
1965 2020-04-13  Iain Sandoe  <iain@sandoe.co.uk>
1967         * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
1968         define, per n4861.
1970 2020-04-02  Richard Biener  <rguenther@suse.de>
1972         PR c/94392
1973         * c-opts.c (c_common_post_options): Enable -ffinite-loops
1974         for -O2 and C++11 or newer.
1976 2020-03-28  Patrick Palka  <ppalka@redhat.com>
1978         * c.opt: Add -fconcepts-diagnostics-depth.
1980 2020-03-27  Martin Sebor  <msebor@redhat.com>
1982         PR c++/94346
1983         * c-attribs.c (handle_copy_attribute): Avoid passing expressions
1984         to decl_attributes.  Make handling of different kinds of entities
1985         more robust.
1987 2020-03-27  Martin Sebor  <msebor@redhat.com>
1989         PR c++/94098
1990         * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
1991         here.
1993 2020-03-23  Jakub Jelinek  <jakub@redhat.com>
1995         PR c++/91993
1996         * c-warn.c (warnings_for_convert_and_check): For expr and/or
1997         result being COMPOUND_EXPRs, skip to ultimate rhs.
1999 2020-03-20  Richard Sandiford  <richard.sandiford@arm.com>
2001         PR middle-end/94072
2002         * c-common.c (c_common_type_for_mode): Before using a registered
2003         built-in type, check that the vectorness of the type matches
2004         the vectorness of the mode.
2006 2020-03-17  Jakub Jelinek  <jakub@redhat.com>
2008         * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
2009         issue in a diagnostic message.
2011 2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>
2013         * c.opt: Avoid redundancy in the help text.
2015 2020-03-02  Marek Polacek  <polacek@redhat.com>
2017         PR c++/93958 - add missing -std=gnu++20.
2018         * c.opt: Add -std=gnu++20.
2020 2020-03-01  Martin Sebor  <msebor@redhat.com>
2022         PR c++/92721
2023         * c-attribs.c (append_access_attrs): Correctly handle attribute.
2024         (handle_access_attribute): Same.
2026 2020-02-25  Jakub Jelinek  <jakub@redhat.com>
2028         PR c/93858
2029         * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
2030         "did you mean" hint in diagnostics.
2032 2020-02-15  Jason Merrill  <jason@redhat.com>
2034         * c.opt: Add -std=c++20.
2036 2020-02-14  Eric Botcazou  <ebotcazou@adacore.com>
2038         * c-ada-spec.c: Include bitmap.h.
2039         (dump_ada_double_name): Rename into...
2040         (dump_anonymous_type_name): ...this.  Always use the TYPE_UID.
2041         (dump_ada_array_type): Adjust to above renaming.  Robustify.
2042         (dump_nested_types_1): New function copied from...  Add dumped_types
2043         parameter and pass it down to dump_nested_type.
2044         (dump_nested_types): ...this.  Remove parent parameter.  Just call
2045         dump_nested_types_1 on an automatic bitmap.
2046         (dump_nested_type): Add dumped_types parameter.
2047         <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
2048         Adjust recursive calls and adjust to above renaming.
2049         (dump_ada_declaration): Adjust call to dump_nested_types.
2050         Tidy up and adjust to above renaming.
2051         (dump_ada_specs): Initialize and release bitmap obstack.
2053 2020-02-10  Martin Sebor  <msebor@redhat.com>
2055         PR c/93640
2056         * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
2058 2020-02-10  Jakub Jelinek  <jakub@redhat.com>
2060         PR other/93641
2061         * c-format.c (check_plain): Fix up last argument of strncasecmp.
2062         Remove useless extra test.
2064 2020-02-03  Julian Brown  <julian@codesourcery.com>
2065             Tobias Burnus  <tobias@codesourcery.com>
2067         * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
2069 2020-01-29  Jason Merrill  <jason@redhat.com>
2071         PR c++/89357
2072         * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
2074 2020-01-23  Jason Merrill  <jason@redhat.com>
2076         * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
2078 2020-01-23  Martin Sebor  <msebor@redhat.com>
2080         PR c/84919
2081         * c-common.c (check_function_arguments): Avoid overlap checking
2082         of sprintf functions.
2084 2020-01-22  Jason Merrill  <jason@redhat.com>
2086         PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
2087         PR c++/40752
2088         * c-warn.c (conversion_warning): Check operands only after checking
2089         the whole expression.  Don't check second operand of + for sign.
2091 2020-01-21  Jason Merrill  <jason@redhat.com>
2092             Manuel López-Ibáñez  <manu@gcc.gnu.org>
2094         PR c++/40752 - useless -Wconversion with short +=.
2095         * c.opt (-Warith-conversion): New.
2096         * c-warn.c (conversion_warning): Recurse for operands of
2097         operators.  Only warn about the whole expression with
2098         -Warith-conversion.
2100 2020-01-21  Jason Merrill  <jason@redhat.com>
2102         * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
2103         * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
2105 2020-01-20  Nathan Sidwell  <nathan@acm.org>
2107         PR preprocessor/80005
2108         * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
2110 2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
2112         * c-common.c (co_await, co_yield, co_return): New.
2113         * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
2114         RID_CO_RETURN): New enumeration values.
2115         (D_CXX_COROUTINES): Bit to identify coroutines are active.
2116         (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
2117         * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
2118         * c.opt (fcoroutines): New command-line switch.
2120 2020-01-10  David Malcolm  <dmalcolm@redhat.com>
2122         * c-format.c (local_event_ptr_node): New.
2123         (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
2124         (init_dynamic_diag_info): Initialize local_event_ptr_node.
2125         * c-format.h (T_EVENT_PTR): New define.
2127 2020-01-10  Martin Sebor  <msebor@redhat.com>
2129         PR c/93132
2130         * c-attribs.c (append_access_attrs): Validate against the translated
2131         access string rather than the human-readable representation.
2133 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
2135         Update copyright years.
2137 2019-12-20  Eric Botcazou  <ebotcazou@adacore.com>
2139         * c-ada-spec.h (decl_sloc): Delete.
2140         * c-ada-spec.c (decl_sloc): Make static.
2142 2019-12-19  Julian Brown  <julian@codesourcery.com>
2144         * c-common.h (c_omp_map_clause_name): Add prototype.
2145         * c-omp.c (c_omp_map_clause_name): New function.
2146         * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
2147         PRAGMA_OACC_CLAUSE_DETACH.
2149 2019-12-19  Julian Brown  <julian@codesourcery.com>
2150             Maciej W. Rozycki  <macro@codesourcery.com>
2151             Tobias Burnus  <tobias@codesourcery.com>
2152             Thomas Schwinge  <thomas@codesourcery.com>
2154         * c-pragma.h (pragma_omp_clause): Add
2155         PRAGMA_OACC_CLAUSE_NO_CREATE.
2157 2019-12-17  Martin Sebor  <msebor@redhat.com>
2159         PR c++/61339
2160         * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
2162 2019-12-11  David Malcolm  <dmalcolm@redhat.com>
2164         * c-pretty-print.c (c_pretty_printer::clone): New vfunc
2165         implementation.
2166         * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
2168 2019-12-09  David Malcolm  <dmalcolm@redhat.com>
2170         * c-format.c (range_label_for_format_type_mismatch::get_text):
2171         Replace label_text ctor called with true with label_text::take.
2173 2019-12-09  David Malcolm  <dmalcolm@redhat.com>
2175         * c-format.c (selftest::test_type_mismatch_range_labels): Remove
2176         initial newline from expected outputs.
2177         * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
2178         call to diagnostic_show_locus.
2180 2019-12-06  Jakub Jelinek  <jakub@redhat.com>
2182         * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
2183         now.
2185 2019-12-05  Marek Polacek  <polacek@redhat.com>
2186             Jakub Jelinek  <jakub@redhat.com>
2188         PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
2189         * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
2191 2019-12-05  Marek Polacek  <polacek@redhat.com>
2193         PR c++/92271 - make __is_same alias for __is_same_as.
2194         * c-common.c: Add __is_same, an alias for __is_same_as.
2196 2019-12-03  Marek Polacek  <polacek@redhat.com>
2198         PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
2199         * c-cppbuiltin.c (c_cpp_builtins): Predefine
2200         __cpp_aggregate_paren_init=201902 for -std=c++2a.
2202 2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
2204         * c-attribs.c (handle_symver_attribute): New function
2205         (c_common_attributes): Add symver.
2207 2019-11-30  Richard Sandiford  <richard.sandiford@arm.com>
2209         * c-common.c (pointer_int_sum): Use verify_type_context to check
2210         whether the target allows pointer arithmetic for the types involved.
2211         (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
2212         to check whether the target allows sizeof and alignof operations
2213         for the types involved.
2215 2019-11-27  Jason Merrill  <jason@redhat.com>
2217         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2219 2019-11-26  Jakub Jelinek  <jakub@redhat.com>
2221         PR c++/61414
2222         * c-attribs.c (handle_mode_attribute): Add mode attribute to
2223         ENUMERAL_TYPEs.
2225 2019-11-25  Joseph Myers  <joseph@codesourcery.com>
2227         PR c/91985
2228         * c-common.c (c_common_type_for_mode): Handle decimal
2229         floating-point types being NULL_TREE.
2230         * c-format.c (get_format_for_type_1): Handle specified types being
2231         NULL_TREE.
2232         * c-lex.c (interpret_float): Give an error for decimal
2233         floating-point constants when decimal floating-point not
2234         supported.
2236 2019-11-23  Jakub Jelinek  <jakub@redhat.com>
2238         PR middle-end/83859
2239         * c-attribs.c (append_access_attrs): Avoid buffer overflow.  Avoid
2240         memory leak.  Use XNEWVEC macro.  Use auto_diagnostic_group to
2241         group warning with inform together.
2242         (handle_access_attribute): Formatting fix.
2244 2019-11-22  Jakub Jelinek  <jakub@redhat.com>
2246         PR c/90677
2247         * c-common.h (identifier_global_tag): Declare.
2248         * c-format.c (get_pointer_to_named_type): Renamed to ...
2249         (get_named_type): ... this.  Use identifier_global_tag instead of
2250         identifier_global_value, handle the return value being a TYPE_P.
2251         (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
2252         to call get_named_type instead.  Formatting fixes.
2254         Implement P1902R1, Missing feature-test macros 2017-2019.
2255         * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
2256         and __cpp_generic_lambdas for -std=c++2a.  Define
2257         __cpp_designated_initializers, __cpp_constexpr_in_decltype and
2258         __cpp_consteval for -std=c++2a.  Remove a FIXME comment about
2259         __cpp_concepts for -std=c++2a.
2261 2019-11-22  Martin Sebor  <msebor@redhat.com>
2263         PR middle-end/83859
2264         * c-attribs.c (handle_access_attribute): New function.
2265         (c_common_attribute_table): Add new attribute.
2266         (get_argument_type): New function.
2267         (append_access_attrs): New function.
2268         (get_nonnull_operand): Rename...
2269         (get_attribute_operand): ...to this.
2270         * c-common.c (get_nonnull_operand): Rename...
2271         (get_attribute_operand): ...to this.
2273 2019-11-21  Joseph Myers  <joseph@codesourcery.com>
2275         * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
2276         of warning.
2278 2019-11-19  Joseph Myers  <joseph@codesourcery.com>
2280         * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
2281         warning for standard attributes mixed with fallthrough attributes.
2283 2019-11-15  Joseph Myers  <joseph@codesourcery.com>
2285         * c-attribs.c (handle_fallthrough_attribute): Remove static.
2286         * c-common.h (handle_fallthrough_attribute): Declare.
2288 2019-11-15  Joseph Myers  <joseph@codesourcery.com>
2290         * c-attribs.c (handle_deprecated_attribute): Remove static.
2291         * c-common.h (handle_deprecated_attribute): Declare.
2293 2019-11-14  Joseph Myers  <joseph@codesourcery.com>
2295         * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
2296         char for C.
2298 2019-11-14  Jakub Jelinek  <jakub@redhat.com>
2300         * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
2301         valid vendors.
2303         * c-omp.c (c_omp_check_context_selector): Handle name lists
2304         containing string literals.  Don't diagnose atomic_default_mem_order
2305         with multiple props.
2307 2019-11-13  Joseph Myers  <joseph@codesourcery.com>
2309         * c-cppbuiltin.c (builtin_define_float_constants): Also define
2310         NORM_MAX constants.  Update call to get_max_float.
2311         (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
2312         constants.
2314 2019-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2316         * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
2317         (dump_forward_type): Do not generate a declaration for function types.
2318         (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
2319         of the component type if it is declared in another file.
2321 2019-11-12  Martin Liska  <mliska@suse.cz>
2323         * c-opts.c (c_common_post_options):
2324         Use SET_OPTION_IF_UNSET.
2326 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
2327             Frederik Harwath  <frederik@codesourcery.com>
2329         gcc/c-family/
2330         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
2331         constant.
2332         * c-pragma.c (oacc_pragmas): Add "serial" entry.
2334 2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
2336         * c-common.h (gnu_vector_type_p): New function.
2337         * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
2338         vectors to satisfy gnu_vector_type_p.
2339         (c_build_vec_convert): Likewise __builtin_convertvector.
2340         (convert_vector_to_array_for_subscript): Likewise when applying
2341         implicit vector to array conversion.
2342         (scalar_to_vector): Likewise when converting vector-scalar
2343         operations to vector-vector operations.
2345 2019-11-08  Joseph Myers  <joseph@codesourcery.com>
2347         * c.opt (Wold-style-definition): Initialize to -1.
2348         * c-opts.c (c_common_post_options): Set warn_old_style_definition
2349         to flag_isoc2x if not set explicitly.
2351 2019-11-07  Joseph Myers  <joseph@codesourcery.com>
2353         * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
2355 2019-11-05  Jason Merrill  <jason@redhat.com>
2357         * c-opts.c (c_common_post_options): -fconcepts-ts implies
2358         -fconcepts.
2360 2019-11-04  Kamlesh Kumar  <kamleshbhalui@gmail.com>
2362         * c-opts.c (c_common_post_options): Update
2363         latest_abi_version.
2365 2019-11-02  Jakub Jelinek  <jakub@redhat.com>
2367         * c-common.h (c_omp_get_context_selector): Remove.
2368         * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
2369         and renamed to omp_get_context_selector.
2371         * c-omp.c (c_omp_mark_declare_variant): Use
2372         omp_context_selector_set_compare.
2374         PR c++/88335 - Implement P1073R3: Immediate functions
2375         * c-common.h (enum rid): Add RID_CONSTEVAL.
2376         * c-common.c (c_common_reswords): Add consteval.
2378 2019-11-01  Martin Sebor  <msebor@redhat.com>
2380         PR middle-end/91679
2381         PR middle-end/91647
2382         PR middle-end/91463
2383         PR middle-end/92312
2384         * c-pretty-print.c (direct_abstract_declarator): Print
2385         bound in zero-length arrays.
2386         * c.opt (-Wzero-length-bounds): New option.
2388 2019-10-30  Nathan Sidwell  <nathan@acm.org>
2390         * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
2391         macros.
2393 2019-10-28  Martin Sebor  <msebor@redhat.com>
2395         PR c/66970
2396         * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
2397         even when only preprocessing.
2398         * c-common.h (names_builtin_p): Declare new function.
2399         * c-lex.c (init_c_lex): Set has_builtin.
2400         (c_common_has_builtin): Define a new function.
2401         * c-ppoutput.c (init_pp_output): Set has_builtin.
2403 2019-10-24  Jakub Jelinek  <jakub@redhat.com>
2405         * c-common.h (c_omp_context_selector_matches): Remove.
2406         * c-omp.c (c_omp_context_selector_matches): Remove.
2407         * c-attribs.c (c_common_attribute_table): Add
2408         "omp declare target {host,nohost,block}" attributes.
2410 2019-10-17  JeanHeyd Meneide  <phdofthehouse@gmail.com>
2412         * c-lex.c (c_common_has_attribute): Update nodiscard value.
2414 2019-10-14  Richard Sandiford  <richard.sandiford@arm.com>
2416         * c-common.h (user_facing_original_type_p): Declare.
2417         * c-common.c: Include c-spellcheck.h.
2418         (user_facing_original_type_p): New function.
2420 2019-10-12  Jakub Jelinek  <jakub@redhat.com>
2422         * c-common.h (c_omp_mark_declare_variant,
2423         c_omp_context_selector_matches): Declare.
2424         * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
2425         and hsa-common.h.
2426         (c_omp_get_context_selector): Support second argument NULL.
2427         (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
2428         functions.
2429         * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
2430         attribute, add "omp declare variant base" and
2431         "omp declare variant variant" attributes.
2433 2019-10-11  Joseph Myers  <joseph@codesourcery.com>
2435         * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
2436         CppReason(CPP_W_C11_C2X_COMPAT).
2438 2019-10-11  Joseph Myers  <joseph@codesourcery.com>
2440         * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
2441         _Decimal64 and _Decimal128.
2443 2019-10-10  Joseph Myers  <joseph@codesourcery.com>
2445         * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
2446         types if DFP not supported.
2448 2019-10-10  Jakub Jelinek  <jakub@redhat.com>
2450         * c-common.h (c_omp_check_context_selector,
2451         c_omp_get_context_selector): Declare.
2452         * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
2453         in diagnostic message.
2454         (c_omp_check_context_selector, c_omp_get_context_selector): New
2455         functions.
2456         * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
2457         attribute.
2458         (handle_omp_declare_variant_attribute): New function.
2460 2019-10-09  Martin Sebor  <msebor@redhat.com>
2462         PR tree-optimization/90879
2463         * c.opt (-Wstring-compare): New option.
2465 2019-10-08  Andrew Sutton  <asutton@lock3software.com>
2466             Jason Merrill  <jason@redhat.com>
2468         Update the concepts implementation to conform to the C++20
2469         specification, improve compile times, and generally clean up
2470         the implementation.
2472         * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
2473         concepts when -std=c++2a. Bump __cpp_concepts to 201907.
2474         * c.opt: Add -Wconcepts-ts.
2475         * c-opts.c (c_common_post_options): Warn when -fconcepts is used
2476         with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
2477         (set_std_cxx2a): Enable concepts by default.
2479 2019-10-08  Joseph Myers  <joseph@codesourcery.com>
2481         * c-opts.c (c_common_post_options): Set
2482         -fno-fp-int-builtin-inexact for C2X.
2484 2019-10-05  Jakub Jelinek  <jakub@redhat.com>
2486         PR c++/91369 - Implement P0784R7: constexpr new
2487         * c-cppbuiltin.c (c_cpp_builtins): Predefine
2488         __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
2490 2019-10-04  Joseph Myers  <joseph@codesourcery.com>
2492         PR c/82752
2493         * c-format.c (C_STD_VER): Handle C2x.
2494         (C_STD_NAME): Likewise.
2495         (strftime_flag_specs): Add 'O' modifier with 'p' flag.
2496         (time_char_table): Use separate entry for 'B' and 'b', with 'O'
2497         modifier allowed and 'p' flag.
2498         * c-format.h (enum format_std_version): Add STD_C2X.
2499         (struct format_char_info): Mention 'p' in comment on flags2.
2501 2019-10-01  David Malcolm  <dmalcolm@redhat.com>
2503         * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
2504         calling diagnostic_show_locus, rather than destroying it afterwards.
2506 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
2508         PR c++/91925
2509         * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
2510         with NULL DECL_FIELD_OFFSET.
2512 2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
2514         * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
2515         has a type name, use it in preference to the __vector syntax.
2517 2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
2519         * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
2520         two spaces between a comma and "...".
2522 2019-09-27  Jakub Jelinek  <jakub@redhat.com>
2524         PR c++/88203
2525         * c-common.h (c_omp_predefined_variable): Declare.
2526         * c-omp.c (c_omp_predefined_variable): New function.
2527         (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
2528         for predefined variables.
2530 2019-09-27  Richard Sandiford  <richard.sandiford@arm.com>
2532         * c-common.h (build_function_call_vec): Take the original
2533         function decl as an optional final parameter.
2534         (check_builtin_function_arguments): Take the original function decl.
2535         * c-common.c (check_builtin_function_arguments): Likewise.
2536         Handle all built-in functions, not just BUILT_IN_NORMAL ones.
2537         Use targetm.check_builtin_call to check BUILT_IN_MD functions.
2539 2019-09-15  Jason Merrill  <jason@redhat.com>
2541         * c-warn.c (warn_logical_operator): Strip location wrappers.  Don't
2542         fold_for_warn in "|| mask" warning.
2544 2019-09-10  Martin Liska  <mliska@suse.cz>
2546         * c.opt: Use newly added WarnRemoved.
2548 2019-09-09  Martin Liska  <mliska@suse.cz>
2550         * c.opt: Update comment of removed
2551         options that are preserved only for backward
2552         compatibility.
2554 2019-09-06  Martin Liska  <mliska@suse.cz>
2556         PR c++/91125
2557         * c-common.c: Remove definition of flag_use_repository.
2558         * c-common.h: Likewise.
2559         * c-opts.c (c_common_handle_option):
2560         Do not handle OPT_frepo option.
2561         * c.opt: Mark the option with Deprecated.
2563 2019-09-04  Marek Polacek  <polacek@redhat.com>
2565         * c.opt (fdeduce-init-list): Ignored.
2567 2019-09-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2569         PR c/78736
2570         * c.opt (Wenum-conversion): New option.
2572 2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
2574         * c-attribs.c (handle_section_attribute): Call the
2575         handle_generic_attribute target hook after performing target
2576         independent processing.
2577         (handle_noinit_attribute): Likewise.
2579 2019-09-03  Ian Lance Taylor  <iant@golang.org>
2581         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
2582         when using -fgo-dump-spec.
2584 2019-09-02  Martin Liska  <mliska@suse.cz>
2586         PR c++/91155
2587         * c-common.c (fname_as_string): Use cxx_printable_name for
2588         __PRETTY_FUNCTION__ same as was used before r265711.
2590 2019-08-28  Marek Polacek  <polacek@redhat.com>
2592         Implement P1152R4: Deprecating some uses of volatile.
2593         PR c++/91361
2594         * c-opts.c (c_common_post_options): Enable -Wvolatile by
2595         default for C++2a, unless -Wno-deprecated.
2596         * c.opt (Wvolatile): New warning.
2598 2019-08-28  Marek Polacek  <polacek@redhat.com>
2600         PR c++/91360 - Implement C++20 P1143R2: constinit.
2601         * c-common.c (c_common_reswords): Add constinit and __constinit.
2602         (keyword_is_decl_specifier): Handle RID_CONSTINIT.
2603         * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
2604         RID_LAST_CXX20.
2605         (D_CXX20): Define.
2606         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
2607         * c-format.c (cxx_keywords): Add "constinit".
2608         * c.opt (Wc++2a-compat, Wc++20-compat): New options.
2610 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
2612         PR c++/91415
2613         * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
2614         COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
2615         like COMPOUND_EXPR rather than normal expression.
2617 2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
2619         PR pch/61250
2620         * c-lex.c (c_lex_with_flags):  Don't call
2621         c_common_no_more_pch () from here.
2623 2019-08-23  Jakub Jelinek  <jakub@redhat.com>
2625         PR middle-end/91283
2626         * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
2627         instead of flag_excess_precision_cmdline.
2628         * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
2629         * c-opts.c (c_common_post_options): Likewise.
2631 2019-08-22  Martin Sebor  <msebor@redhat.com>
2633         PR middle-end/91490
2634         * c-common.c (braced_list_to_string): Add argument and overload.
2635         Handle flexible length arrays and unions.
2637 2019-08-21  Eric Botcazou  <ebotcazou@adacore.com>
2639         * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
2640         function declarations where arguments are missing.  Rename variables.
2642 2019-08-15  Richard Biener  <rguenther@suse.de>
2644         * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
2645         enabled, define __SIZETYPE__.
2647 2019-08-14  Christophe Lyon  <christophe.lyon@linaro.org>
2649         * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
2650         exclusion with "section" attribute.
2651         (attr_noinit_exclusions): New table.
2652         (handle_noinit_attribute): New function.
2654 2019-08-13  Richard Sandiford  <richard.sandiford@arm.com>
2656         PR middle-end/91421
2657         * c-common.c (resolve_overloaded_builtin): Use
2658         copy_decl_built_in_function.
2660 2019-08-13  Martin Sebor  <msebor@redhat.com>
2662         PR c/80619
2663         * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
2664         (asm_fprintf_length_spec): Same.
2665         * c-format.h (format_lengths): Add FMT_LEN_w.
2667 2019-08-10  Jakub Jelinek  <jakub@redhat.com>
2669         * c-pragma.h (enum pragma_omp_clause): Add
2670         PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
2672 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
2674         * c-pragma.h (enum pragma_omp_clause): Add
2675         PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR.  Set PRAGMA_OACC_CLAUSE_USE_DEVICE
2676         equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
2677         enumeration value.
2679 2019-08-05  Marek Polacek  <polacek@redhat.com>
2681         PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
2682         * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2683         default for C++2a, unless -Wno-deprecated.
2684         * c.opt (Wcomma-subscript): New warning.
2686 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
2688         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
2689         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
2690         * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
2691         * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
2692         * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
2693         constructs with the loop construct.
2695 2019-07-13  Jakub Jelinek  <jakub@redhat.com>
2697         PR c/91149
2698         * c-omp.c (c_omp_split_clauses): Fix a pasto in
2699         OMP_CLAUSE_REDUCTION_TASK handling.
2701 2019-07-12  Jakub Jelinek  <jakub@redhat.com>
2703         * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
2704         * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
2706 2019-07-09  Martin Sebor  <msebor@redhat.com>
2708         PR c++/61339
2709         * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
2710         and others to class.
2711         * c-pretty-print.h: Same.
2713 2019-07-09  Martin Sebor  <msebor@redhat.com>
2715         PR c++/61339
2716         * c-format.c (check_argument_type): Change class-key from class to
2717         struct and vice versa to match convention and avoid -Wclass-is-pod
2718         and -Wstruct-no-pod.
2719         * c-pretty-print.h: Same.
2721 2019-07-03  Martin Liska  <mliska@suse.cz>
2723         * c-common.c (try_to_locate_new_include_insertion_point): Remove
2724         dead assignemts.
2726 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
2728         * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
2729         clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
2730         with OMP_PARALLEL.
2732 2019-07-02  qing zhao  <qing.zhao@oracle.com>
2734         PR preprocessor/90581
2735         * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
2736         * c.opt: Add new option -fmax-include-depth.
2738 2019-06-26  Jason Merrill  <jason@redhat.com>
2740         PR c++/55442 - memory-hog with highly recursive constexpr.
2741         * c.opt (fconstexpr-loop-limit): New.
2743 2019-06-25  Jakub Jelinek  <jakub@redhat.com>
2745         PR sanitizer/90954
2746         * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
2747         to SAVE_EXPR in first operand of a COMPOUND_EXPR.
2749 2019-06-25  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
2751         * c-common.c (c_common_nodes_and_builtins): Define
2752         alternate "__intN__" name for "__intN" types.
2754 2019-06-24  Jan Hubicka  <jh@suse.cz>
2756         * c-common.c (braced_lists_to_strings): Check that
2757         type is array or integer prior checking string flag.
2759 2019-06-21  Matthew Beliveau  <mbelivea@redhat.com>
2761         PR c++/90875 - added -Wswitch-outside-range option
2762         * c.opt (Wswitch-outside-range): Added new option.
2763         * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
2765 2019-06-21  Marek Polacek  <polacek@redhat.com>
2767         PR c++/90953 - ICE with -Wmissing-format-attribute.
2768         * c-common.c (check_function_arguments_recurse): Use
2769         get_attribute_name.
2770         (check_missing_format_attribute): Likewise.
2772 2019-06-19  Marek Polacek  <polacek@redhat.com>
2774         PR c++/60364 - noreturn after first decl not diagnosed.
2775         * c-attribs.c (handle_noreturn_attribute): No longer static.
2776         * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
2777         Declare.
2778         * c-format.c (check_function_format): Use get_attribute_name.
2780 2019-06-19  Martin Sebor  <msebor@redhat.com>
2782         PR translation/90156
2783         * c-format.c (function_format_info::format_type): Adjust type.
2784         (function_format_info::is_raw): New member.
2785         (decode_format_type): Adjust signature.  Handle "raw" diag attributes.
2786         (decode_format_attr): Adjust call to decode_format_type.
2787         Avoid a redundant call to convert_format_name_to_system_name.
2788         Avoid abbreviating the word "arguments" in a diagnostic.
2789         (format_warning_substr): New function.
2790         (avoid_dollar_number): Quote dollar sign in a diagnostic.
2791         (finish_dollar_format_checking): Same.
2792         (check_format_info): Same.
2793         (struct baltoks_t): New.
2794         (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
2795         (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
2796         functions.
2797         (check_format_info_main): Call check_plain.  Use baltoks_t.  Call
2798         maybe_diag_unbalanced_tokens.
2799         (handle_format_attribute): Spell out the word "arguments" in
2800         a diagnostic.
2802 2019-06-11  Matthew Beliveau  <mbelivea@redhat.com>
2804         PR c++/90449 - add -Winaccessible-base option.
2805         * c.opt (Winaccessible-base): New option.
2807 2019-06-10  Jakub Jelinek  <jakub@redhat.com>
2809         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
2810         * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
2811         * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
2812         combined/composite constructs where it is not allowed.  Copy over
2813         OMP_CLAUSE_REDUCTION_INSCAN.
2815 2019-06-05  Martin Sebor  <msebor@redhat.com>
2817         * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
2818         (handle_alias_ifunc_attribute): Same.
2819         (handle_copy_attribute): Same.
2820         (handle_weakref_attribute): Same.
2821         (handle_nonnull_attribute): Same.
2822         * c-warn.c (warn_for_sign_compare): Same.
2823         (warn_for_restrict): Same.
2824         * c.opt: Same.
2826 2019-06-05  Martin Sebor  <msebor@redhat.com>
2828         * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
2829         * c.opt (-Wformat-diag): Remove a spurious period.
2831 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
2833         PR c/90628
2834         * c-common.c (check_builtin_function_arguments)
2835         <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
2836         as last argument.
2838 2019-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2840         * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
2842 2019-05-22  Martin Liska  <mliska@suse.cz>
2844         PR lto/90500
2845         * c-attribs.c (handle_copy_attribute): Do not copy
2846         target_clones attribute.
2848 2019-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2850         * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
2851         * c-ada-spec.c (print_assignment_operator): New function.
2852         (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
2853         assignment operators declared as methods and filter out the others.
2855 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
2857         PR c/89433
2858         * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
2859         "omp declare target".
2861 2019-05-16  Martin Sebor  <msebor@redhat.com>
2863         * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
2864         keywords, operators, and types in diagnostics.
2865         (handle_scalar_storage_order_attribute): Same.
2866         (handle_mode_attribute): Same.
2867         (handle_visibility_attribute): Same.
2868         (handle_assume_aligned_attribute): Same.
2869         (handle_no_split_stack_attribute): Same.
2870         * c-common.c (shorten_compare): Same.
2871         (c_common_truthvalue_conversion): Same.
2872         (cb_get_source_date_epoch): Same.
2873         * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
2874         in diagnostics.
2875         (interpret_float): Same.
2876         * c-omp.c (c_finish_omp_for): Same.
2877         * c-opts.c (c_common_post_options): Same.
2878         * c-pch.c (c_common_pch_pragma): Same.
2879         * c-pragma.c (pop_alignment): Same.
2880         (handle_pragma_pack): Same.
2881         (apply_pragma_weak): Same.
2882         (handle_pragma_weak): Same.
2883         (handle_pragma_scalar_storage_order): Same.
2884         (handle_pragma_redefine_extname): Same.
2885         (add_to_renaming_pragma_list): Same.
2886         (maybe_apply_renaming_pragma): Same.
2887         (push_visibility): Same.
2888         (handle_pragma_visibility): Same.
2889         (handle_pragma_optimize): Same.
2890         (handle_pragma_message): Same.
2891         * c-warn.c (warn_for_omitted_condop): Same.
2892         (lvalue_error): Same.
2894 2019-05-15  Richard Biener  <rguenther@suse.de>
2896         PR c/90474
2897         * c-common.c (c_common_mark_addressable_vec): Also mark
2898         a COMPOUND_LITERAL_EXPR_DECL addressable similar to
2899         c_mark_addressable.
2901 2019-05-06  Nathan Sidwell  <nathan@acm.org>
2903         * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
2905 2019-04-30  Nathan Sidwell  <nathan@acm.org>
2907         * c-common.c (c_common_init_ts): Use MARK_TS_EXP.  Mark SIZEOF_EXPR.
2909 2019-04-30  Martin Liska  <mliska@suse.cz>
2911         * c-pragma.c (handle_pragma_diagnostic): Provide hints
2912         for unknown options.
2914 2019-04-26  Richard Sandiford  <richard.sandiford@arm.com>
2916         * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
2917         the pointer target rather than the pointer itself.
2919 2019-04-19  Jakub Jelinek  <jakub@redhat.com>
2921         PR c/89888
2922         * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
2923         arguments.
2924         (c_do_switch_warnings): Remove outside_range_p argument.
2925         * c-common.c (check_case_bounds): Removed.
2926         (c_add_case_label): Remove orig_type and outside_range_p arguments.
2927         Don't call check_case_bounds.  Fold low_value as well as high_value.
2928         * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
2929         Check for case labels outside of range of original type here and
2930         adjust them.
2932 2019-04-12  Jakub Jelinek  <jakub@redhat.com>
2934         PR translation/90041
2935         * c.opt (-fhandle-exceptions): Use %< and %> around option names
2936         in the Warn diagnostics.
2938         PR c/89946
2939         * c-attribs.c (handle_patchable_function_entry_attribute): Add
2940         function comment.  Warn if arguments of the attribute are not positive
2941         integer constants.
2943 2019-04-09  Eric Botcazou  <ebotcazou@adacore.com>
2945         * c-ada-spec.c (print_destructor): Deal with deleting destructors.
2946         (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
2948 2019-04-07  Eric Botcazou  <ebotcazou@adacore.com>
2950         * c-ada-spec.c (is_float128): New predicate extracted from...
2951         (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
2952         <REAL_TYPE>: ...here.  Call it.
2954 2019-04-05  David Malcolm  <dmalcolm@redhat.com>
2956         PR c/89985
2957         * c-warn.c (check_address_or_pointer_of_packed_member): Add
2958         auto_diagnostic_group.  Guard inform calls by result of
2959         warning_at call.
2961 2019-04-05  Marek Polacek  <polacek@redhat.com>
2963         PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
2964         * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
2965         of RHS.
2967 2019-04-03  Jason Merrill  <jason@redhat.com>
2969         PR c++/86586 - -fcompare-debug=-Wsign-compare.
2970         * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
2972 2019-04-01  Martin Sebor  <msebor@redhat.com>
2974         PR c/89685
2975         * c-attribs.c (handle_copy_attribute): Handle references and
2976         non-constant expressions.
2978 2019-03-22  Jakub Jelinek  <jakub@redhat.com>
2980         PR c++/87481
2981         * c.opt (-fconstexpr-ops-limit=): New option.
2983 2019-03-21  Jakub Jelinek  <jakub@redhat.com>
2985         * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
2986         template param.
2988 2019-03-19  Martin Sebor  <msebor@redhat.com>
2990         PR tree-optimization/89688
2991         * c-common.c (braced_list_to_string): Make static.
2992         (braced_lists_to_strings): Define new function.
2993         * c-common.h (braced_list_to_string): Remove.
2994         (braced_lists_to_strings): Declare.
2996 2019-03-12  Martin Liska  <mliska@suse.cz>
2998         * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
3000 2019-03-11  Martin Liska  <mliska@suse.cz>
3002         * c-opts.c (c_common_post_options): Wrap apostrophes
3003         in gcc internal format with %'.
3005 2019-03-11  Martin Liska  <mliska@suse.cz>
3007         * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
3008         in a string format message and fix GNU coding style.
3009         * c-common.c (vector_types_convertible_p): Likewise.
3010         (c_build_vec_perm_expr): Likewise.
3011         * c-indentation.c (get_visual_column): Likewise.
3012         * c-opts.c (c_common_handle_option): Likewise.
3013         (c_common_post_options): Likewise.
3014         (sanitize_cpp_opts): Likewise.
3015         * c-pch.c (c_common_pch_pragma): Likewise.
3016         * c-pragma.c (handle_pragma_pack): Likewise.
3018 2019-03-08  Jakub Jelinek  <jakub@redhat.com>
3020         PR tree-optimization/89550
3021         * c-common.c (c_common_truthvalue_conversion): Only set
3022         TREE_NO_WARNING if warning_at returned true.
3023         * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
3025 2019-02-25  Sandra Loosemore  <sandra@codesourcery.com>
3026             Martin Sebor  <msebor@gmail.com>
3028         * c.opt (Wmissing-attributes): Clean up doc string.
3030 2019-02-25  Jakub Jelinek  <jakub@redhat.com>
3032         PR c/89495
3033         * c-format.c (maybe_read_dollar_number): Compute nargnum in
3034         HOST_WIDE_INT type to avoid overflows and change overflow_flag
3035         checking.
3037 2019-02-22  Richard Biener  <rguenther@suse.de>
3039         * c-pch.c (no_checksum): Remove.
3040         (pch_init): Remove assertion that executable_checksum is not
3041         all zero.
3042         (c_common_valid_pch): Likewise.
3044 2019-02-18  Martin Sebor  <msebor@redhat.com>
3046         PR middle-end/89294
3047         * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
3049 2019-02-16  David Malcolm  <dmalcolm@redhat.com>
3051         PR c++/88680
3052         * c-common.c (shorten_compare): Call fold_for_warn on op0 when
3053         implementing -Wtype-limits.
3055 2019-02-11  Martin Sebor  <msebor@redhat.com>
3057         PR c++/87996
3058         * c-common.c (invalid_array_size_error): New function.
3059         (valid_array_size_p): Call it.  Handle size as well as type.
3060         * c-common.h (valid_constant_size_p): New function.
3061         (enum cst_size_error): New type.
3063 2019-01-31  David Malcolm  <dmalcolm@redhat.com>
3065         PR c/89122
3066         * known-headers.cc (get_stdlib_header_for_name): Add
3067         {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
3069 2019-01-31  Jakub Jelinek  <jakub@redhat.com>
3071         PR libstdc++/88170
3072         * c-pretty-print.c (pp_c_enumeration_constant): Print always as
3073         a C cast in pp_c_flag_gnu_v3 mode.
3075 2019-01-29  Jakub Jelinek  <jakub@redhat.com>
3077         PR c/86125
3078         * c-common.c (c_common_nodes_and_builtins): Build type variants for
3079         builtin_structptr_types types even for C.
3081 2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3083         * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
3084         when rhs is of array type correctly.  Fix handling of nested structures.
3085         Fix handling of indirect_ref together with nop_expr and/or addr_expr.
3086         (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
3087         type casts within nested compound expressions.
3089 2019-01-22  Jakub Jelinek  <jakub@redhat.com>
3091         PR middle-end/88968
3092         * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
3093         variable after using BIT_FIELD_REF.
3095 2019-01-18  H.J. Lu  <hongjiu.lu@intel.com>
3097         PR c/51628
3098         PR c/88664
3099         * c-common.h (warn_for_address_or_pointer_of_packed_member):
3100         Remove the boolean argument.
3101         * c-warn.c (check_address_of_packed_member): Renamed to ...
3102         (check_address_or_pointer_of_packed_member): This.  Also
3103         warn pointer conversion.
3104         (check_and_warn_address_of_packed_member): Renamed to ...
3105         (check_and_warn_address_or_pointer_of_packed_member): This.
3106         Also warn pointer conversion.
3107         (warn_for_address_or_pointer_of_packed_member): Remove the
3108         boolean argument.  Don't check pointer conversion here.
3110 2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>
3112         PR inline-asm/52813
3113         * c.opt (Wdeprecated): Move documentation and variable to common.opt.
3115 2019-01-14  Jakub Jelinek  <jakub@redhat.com>
3117         * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
3118         and __cpp_nontype_template_parameter_auto.  Add a comment that
3119         __cpp_template_auto is deprecated.
3121 2019-01-14  Tom Honermann  <tom@honermann.net>
3123         Implement P0482R5, char8_t: A type for UTF-8 characters and strings
3124         * c-common.c (c_common_reswords): Add char8_t.
3125         (fix_string_type): Use char8_t for the type of u8 string literals.
3126         (c_common_get_alias_set): char8_t doesn't alias.
3127         (c_common_nodes_and_builtins): Define char8_t as a builtin type in
3128         C++.
3129         (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
3130         (keyword_begins_type_specifier): Add RID_CHAR8.
3131         * c-common.h (rid): Add RID_CHAR8.
3132         (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
3133         Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
3134         Define char8_type_node and char8_array_type_node.
3135         * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
3136         __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
3137         (c_cpp_builtins): Predefine __cpp_char8_t.
3138         * c-lex.c (lex_string): Use char8_array_type_node as the type of
3139         CPP_UTF8STRING.
3140         (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
3141         * c-opts.c: If not otherwise specified, enable -fchar8_t when
3142         targeting C++2a.
3143         * c.opt: Add the -fchar8_t command line option.
3145 2019-01-14  Martin Sebor  <msebor@redhat.com>
3147         PR target/88638
3148         * c-attribs.c (positional_argument): Call valid_format_string_type_p
3149         and issue errors if it fails.
3150         * c-common.h (valid_format_string_type_p): Declare.
3151         * c-format.c (valid_stringptr_type_p): Rename...
3152         (valid_format_string_type_p): ...to this and make extern.
3153         (handle_format_arg_attribute): Adjust to new name.
3154         (check_format_string): Same.
3156 2019-01-13  H.J. Lu  <hongjiu.lu@intel.com>
3158         * c-warn.c (warn_for_address_or_pointer_of_packed_member):
3159         Replace "may may" with "may" in warning message.
3161 2019-01-07  Jakub Jelinek  <jakub@redhat.com>
3163         PR c++/85052
3164         * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
3165         (c_build_vec_convert): Declare.
3166         * c-common.c (c_build_vec_convert): New function.
3168 2019-01-04  Martin Sebor  <msebor@redhat.com>
3170         PR c/88546
3171         * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
3172         Handle C++ empty throw specification and C11 _Noreturn.
3173         (has_attribute): Also handle C11 _Noreturn.
3175 2019-01-04  Martin Sebor  <msebor@redhat.com>
3177         PR c/88363
3178         * c-attribs.c (positional_argument): Also accept enumerated types.
3180 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3182         Update copyright years.
3184 2018-12-20  H.J. Lu  <hongjiu.lu@intel.com>
3186         PR c/51628
3187         * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
3188         * c-warn.c (check_alignment_of_packed_member): New function.
3189         (check_address_of_packed_member): Likewise.
3190         (check_and_warn_address_of_packed_member): Likewise.
3191         (warn_for_address_or_pointer_of_packed_member): Likewise.
3192         * c.opt: Add -Wno-address-of-packed-member.
3194 2018-12-20  David Malcolm  <dmalcolm@redhat.com>
3196         PR c++/87504
3197         * c-warn.c (get_outermost_macro_expansion): New function.
3198         (spelled_the_same_p): Use it to unwind the macro expansions, and
3199         compare the outermost macro in each nested expansion, rather than
3200         the innermost.
3202 2018-12-19  David Malcolm  <dmalcolm@redhat.com>
3204         PR c++/87504
3205         * c-common.h (warn_tautological_cmp): Convert 1st param from
3206         location_t to const op_location_t &.
3207         * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
3208         when testing for INTEGER_CST.
3209         (warn_tautological_bitwise_comparison): Convert 1st param from
3210         location_t to const op_location_t &; use it to build a
3211         binary_op_rich_location, and use this.
3212         (spelled_the_same_p): New function.
3213         (warn_tautological_cmp): Convert 1st param from location_t to
3214         const op_location_t &.  Warn for macro expansions if
3215         spelled_the_same_p.  Use binary_op_rich_location.
3217 2018-12-19  David Malcolm  <dmalcolm@redhat.com>
3219         PR c++/43064
3220         PR c++/43486
3221         * c-common.c (unsafe_conversion_p): Fold any location wrapper.
3222         (verify_tree): Handle location wrappers.
3223         (c_common_truthvalue_conversion): Strip any location wrapper.
3224         Handle CONST_DECL.
3225         (fold_offsetof): Strip any location wrapper.
3226         (complete_array_type): Likewise for initial_value.
3227         (convert_vector_to_array_for_subscript): Call fold_for_warn on the
3228         index before checking for INTEGER_CST.
3229         * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3230         print parentheses around location wrappers.
3231         * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
3232         before checking for INTEGER_CST.
3233         (warn_tautological_bitwise_comparison): Call
3234         tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
3235         before checking for INTEGER_CST.
3236         (readonly_error): Strip any location wrapper.
3237         (warn_array_subscript_with_type_char): Strip location wrappers
3238         before checking for INTEGER_CST.  Use the location of the index if
3239         available.
3241 2018-12-06  Jason Merrill  <jason@redhat.com>
3243         PR c++/88136 - -Wdeprecated-copy false positives
3244         * c.opt (Wdeprecated-copy-dtor): New.
3245         (Wdeprecated-copy): Move to -Wextra.
3247 2018-11-29  Martin Sebor  <msebor@redhat.com>
3249         PR c/88172
3250         PR testsuite/88208
3251         * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
3252         alignments to values less than the target requires.
3253         (has_attribute): For attribute aligned consider both the attribute
3254         and the alignment bits.
3255         * c-common.c (c_init_attributes): Optionally issue a warning for
3256         zero alignment.
3258 2018-11-28  Martin Sebor  <msebor@redhat.com>
3260         PR c/88065
3261         PR c/87297
3262         * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
3263         or destination is an error.
3265 2018-11-28  Jakub Jelinek  <jakub@redhat.com>
3267         PR c++/88215
3268         * c-ubsan.c: Include langhooks.h.
3269         (ubsan_instrument_division): Change gcc_assert that main variants
3270         of op0 and op1 types are equal to gcc_checking_assert that the
3271         main variants are compatible types.
3273 2018-11-27  Eric Botcazou  <ebotcazou@adacore.com>
3275         * c-ada-spec.c: Include stringpool.h.
3276         (has_static_fields): Return false for incomplete types.
3277         (is_tagged_type): Likewise.
3278         (has_nontrivial_methods): Likewise.
3279         (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
3280         (struct overloaded_name_hash): New structure.
3281         (struct overloaded_name_hasher): Likewise.
3282         (overloaded_names): New global variable.
3283         (init_overloaded_names): New static function.
3284         (overloaded_name_p): New predicate.
3285         (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
3286         on the TYPE_STUB_DECL of the original type of a typedef, if any.
3287         <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
3288         Remove always-true condition and dump forward types.
3289         (dump_ada_specs): Delete overloaded_names.
3291 2018-11-20  Martin Sebor  <msebor@redhat.com>
3293         * c-attribs.c (type_for_vector_size): New function.
3294         (type_valid_for_vector_size): Same.
3295         (handle_vector_size_attribute): Move code to the functions above
3296         and call them.
3297         (validate_attribute, has_attribute): New functions.
3298         * c-common.h (has_attribute): Declare.
3299         (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
3300         * c-common.c (c_common_resword): Same.
3302 2018-11-16  Jason Merrill  <jason@redhat.com>
3304         * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
3305         * c-attribs.c (attr_cold_hot_exclusions): Make public.
3307 2018-11-16  Jakub Jelinek  <jakub@redhat.com>
3309         PR middle-end/87854
3310         * c-common.c (fix_string_type): Reject string literals larger than
3311         TYPE_MAX_VALUE (ssizetype) bytes.
3313 2018-11-15  Martin Sebor  <msebor@redhat.com>
3315         PR c++/87541
3316         PR c++/87542
3317         * c-attribs.c (positional_argument): New function.
3318         (handle_alloc_size_attribute): Use it and simplify.
3319         (handle_alloc_align_attribute): Same.
3320         (handle_assume_aligned_attribute): Same.
3321         (handle_nonnull_attribute): Same.
3322         * c-common.c (check_function_arguments): Pass fntype to
3323         check_function_format.
3324         * c-common.h (check_function_format): Add an argument.
3325         (PosArgFlags, positional_argument): Declare new type and function.
3326         * c-format.c (decode_format_attr): Add arguments.
3327         (check_format_string, get_constant): Same.
3328         (convert_format_name_to_system_name): Adjust.
3330 2018-11-15  David Malcolm  <dmalcolm@redhat.com>
3332         PR other/19165
3333         * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
3335 2018-11-14  Jakub Jelinek  <jakub@redhat.com>
3337         P1236R1 - Signed integers are two's complement
3338         * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
3339         * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
3340         with in-range second operand well defined for -std=c++2a.
3342         PR other/88007
3343         * c-common.c (parse_optimize_options): Allocate option string from
3344         opts_obstack rather than as GC memory.  Move the allocation after
3345         warning for invalid option.
3347 2018-11-13  David Malcolm  <dmalcolm@redhat.com>
3349         * c-common.c (c_get_substring_location): Update for renaming of
3350         get_source_location_for_substring to get_location_within_string.
3351         * c-lex.c: Replace "source_location" with "location_t".
3352         * c-opts.c: Likewise.
3353         * c-ppoutput.c: Likewise.
3355 2018-11-13  Martin Sebor  <msebor@redhat.com>
3357         PR middle-end/81824
3358         * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
3359         (handle_tls_model_attribute): Improve diagnostics.
3361 2018-11-12  Jason Merrill  <jason@redhat.com>
3363         * c-cppbuiltin.c (c_cpp_builtins): Define
3364         __cpp_impl_destroying_delete.
3366         * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
3367         __cpp_conditional_explicit.
3369 2018-11-09  Martin Sebor  <msebor@redhat.com>
3371         PR middle-end/81824
3372         * c-attribs.c (handle_copy_attribute): New function.
3374 2018-11-09  Martin Sebor  <msebor@redhat.com>
3376         PR c/87795
3377         * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
3379 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
3381         * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
3382         (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3383         enum omp_memory_order MEMORY_ORDER.
3384         (c_finish_omp_flush): Add MO argument.
3385         (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
3386         (c_finish_omp_for): Add FINAL_P argument.
3387         * c-omp.c: Include memmodel.h.
3388         (c_finish_omp_taskgroup): Add CLAUSES argument.  Set
3389         OMP_TASKGROUP_CLAUSES to it.
3390         (c_finish_omp_atomic): Replace bool SEQ_CST argument with
3391         enum omp_memory_order MEMORY_ORDER.  Set OMP_ATOMIC_MEMORY_ORDER
3392         instead of OMP_ATOMIC_SEQ_CST.
3393         (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
3394         (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
3395         __atomic_thread_fence call with the given value.
3396         (check_omp_for_incr_expr): Formatting fixes.
3397         (c_finish_omp_for): Add FINAL_P argument.  Allow NE_EXPR
3398         even in OpenMP loops, diagnose if NE_EXPR and incr expression
3399         is not constant expression 1 or -1.  Transform NE_EXPR loops
3400         with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
3401         (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
3402         loops too.
3403         (c_omp_split_clauses): Add support for combined
3404         #pragma omp parallel master and
3405         #pragma omp {,parallel }master taskloop{, simd} constructs.
3406         Handle OMP_CLAUSE_IN_REDUCTION.  Handle OMP_CLAUSE_REDUCTION_TASK.
3407         Handle OMP_CLAUSE_NONTEMPORAL.  Handle splitting OMP_CLAUSE_IF
3408         also to OMP_SIMD.  Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
3409         (c_omp_predetermined_sharing): Don't return
3410         OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
3411         * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
3412         PRAGMA_OMP_REQUIRES.
3413         * c-pragma.h (enum pragma_kind): Likewise.
3414         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
3415         and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
3417 2018-11-08  David Malcolm  <dmalcolm@redhat.com>
3419         * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
3421 2018-11-08  David Malcolm  <dmalcolm@redhat.com>
3423         * c-format.c (local_cgraph_node_ptr_node): New variable.
3424         (gcc_dump_printf_char_table): Add entry for %C.
3425         (get_pointer_to_named_type): New function, taken from the handling
3426         code for "gimple *" from...
3427         (init_dynamic_diag_info): ...here.  Add handling for
3428         "cgraph_node *".
3429         * c-format.h (T_CGRAPH_NODE): New.
3431 2018-10-19  Jason Merrill  <jason@redhat.com>
3433         * c-cppbuiltin.c (c_cpp_builtins): Add
3434         __cpp_nontype_template_parameter_class.
3436 2018-10-31  Nathan Sidwell  <nathan@acm.org>
3438         * c-opts.c (c_finish_options): Force command line macro
3439         location.  Refactor to avoid repeating main debug hook.
3440         (push_command_line_include): Clarify comment.
3442         * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
3444 2018-10-30  Martin Sebor  <msebor@redhat.com>
3446         PR middle-end/87041
3447         * c-format.c (check_format_types): Avoid diagnosing null pointer
3448         arguments to printf-family of functions.
3450 2018-10-30  Marek Polacek  <polacek@redhat.com>
3452         Implement P0892R2, explicit(bool).
3453         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
3455 2018-10-29  David Malcolm  <dmalcolm@redhat.com>
3457         * name-hint.h (name_hint::take_deferred): New member function.
3459 2018-10-29  David Malcolm  <dmalcolm@redhat.com>
3461         PR c++/56856
3462         * c-common.c (check_function_sentinel): Call fold_for_warn on the
3463         argument.
3464         (check_function_restrict): Rename param "argarray" to
3465         "unfolded_argarray", and make a copy named "argarray", calling
3466         fold_for_warn on each argument.
3467         (check_function_arguments): Add note about responsibility for
3468         folding the arguments.
3470 2018-10-17  Joseph Myers  <joseph@codesourcery.com>
3472         * c-common.c (flag_isoc2x): New variable.
3473         * c-common.h (clk_c): Update comment to reference C2X.
3474         (flag_isoc99, flag_isoc11): Update comments to reference future
3475         standard versions in general.
3476         (flag_isoc2x): Declare.
3477         * c-opts.c (set_std_c2x): New function.
3478         (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
3479         (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
3480         flag_isoc2x to 0.
3481         * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
3483 2018-10-17  Joseph Myers  <joseph@codesourcery.com>
3485         * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
3486         (std=iso9899:2018): Document C17 as published in 2018.
3488 2018-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
3490         PR c++/87364
3491         * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
3493 2018-10-11  Will Wray  <wjwray@gmail.com>
3495         PR c++/87364
3496         * c-pretty-print.h (pp_c_type_cast): Prototype.
3497         (pp_c_integer_constant): Likewise.
3498         * c-pretty-print.c (pp_c_type_cast): No longer static.
3499         (pp_c_integer_constant): Likewise.
3500         (pp_c_enumeration_constant): Fix loop termination when finding
3501         name of constant.  No longer returns a value.  Call
3502         pp_c_integer_constant.
3503         (c_pretty_printer::constant): Update for changes to
3504         pp_c_enumeration_constant.
3506 2018-10-11  Jakub Jelinek  <jakub@redhat.com>
3508         * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
3509         for no_unique_address.
3511 2018-10-09  David Malcolm  <dmalcolm@redhat.com>
3513         * c-common.c (c_option_controlling_cpp_error): Rename to...
3514         (c_option_controlling_cpp_diagnostic): ...this, and convert
3515         "reason" from int to enum.
3516         (c_cpp_error): Rename to...
3517         (c_cpp_diagnostic): ...this, converting level and reason to enums.
3518         * c-common.h (c_cpp_error): Rename to...
3519         (c_cpp_diagnostic): ...this, converting level and reason to enums.
3520         * c-opts.c (c_common_init_options): Update for renaming.
3522 2018-10-08  Richard Sandiford  <richard.sandiford@arm.com>
3524         PR c/87286
3525         * c-common.c (vector_types_compatible_elements_p): Use
3526         INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
3528 2018-10-04  Vinay Kumar  <vinay.kumar@blackfigtech.com>
3530         * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
3531         to generate constructor destructor priority warning.
3532         * c.opt (-Wprio-ctor-dtor): New option.
3534 2018-10-01  Jason Merrill  <jason@redhat.com>
3536         * c-lex.c (c_common_has_attribute): Add no_unique_address.
3538 2018-10-01  Eric Botcazou  <ebotcazou@adacore.com>
3540         * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
3541         (dump_ada_node): Add const keyword.
3543 2018-09-25  Martin Liska  <mliska@suse.cz>
3545         * c-common.c (c_common_truthvalue_conversion):
3546         Remove Pascal from documentation.
3548 2018-09-21  Eric Botcazou  <ebotcazou@adacore.com>
3550         * c-ada-spec.c: Include diagnostic.h.
3551         (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
3553 2018-09-19  Marek Polacek  <polacek@redhat.com>
3555         * c.opt (Wclass-conversion): New.
3557 2018-09-17  David Malcolm  <dmalcolm@redhat.com>
3559         * c-format.c (range_label_for_format_type_mismatch::get_text):
3560         Update for new param.
3562 2018-09-17  David Malcolm  <dmalcolm@redhat.com>
3564         * c-format.c (format_warning_at_char): Update for introduction of
3565         format_string_diagnostic_t.
3566         (format_type_warning): Likewise.
3568 2018-09-17  Martin Jambor  <mjambor@suse.cz>
3570         PR c/63886
3571         * c.opt (Wabsolute-value): New.
3573 2018-09-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3575         * c-common.c (complete_flexible_array_elts): New helper function.
3576         * c-common.h (complete_flexible_array_elts): Declare.
3578 2018-09-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3580         * c-common.c (braced_list_to_string): Remove eval parameter.
3581         Add some more checks.  Always create zero-terminated STRING_CST.
3582         * c-common.h (braced_list_to_string): Adjust prototype.
3584 2018-08-27  David Malcolm  <dmalcolm@redhat.com>
3586         PR 87091
3587         * c-common.c (c_cpp_error): Update for conversion of show_caret_p
3588         to a tri-state.
3589         (maybe_suggest_missing_token_insertion): Likewise.
3590         (maybe_add_include_fixit): Add param "override_location".  If set,
3591         and source-printing is enabled, then override the rich_location's
3592         primary location with that of the insertion point for the fix-it
3593         hint, marking it with SHOW_LINES_WITHOUT_RANGE.
3594         * c-common.h (extern void maybe_add_include_fixit): Add bool
3595         param.
3596         * c-format.c (selftest::test_type_mismatch_range_labels): Update
3597         for conversion of show_caret_p to a tri-state.
3598         * c-warn.c (warn_for_restrict): Likewise.
3599         * known-headers.cc
3600         (suggest_missing_header::~suggest_missing_header): Update call to
3601         maybe_add_include_fixit to suggest overriding the location, as it
3602         is for a note.
3604 2018-08-27  Martin Liska  <mliska@suse.cz>
3606         * c-common.c (check_function_restrict): Use new function
3607         fndecl_built_in_p and remove check for FUNCTION_DECL if
3608         possible.
3609         (check_builtin_function_arguments): Likewise.
3610         (reject_gcc_builtin): Likewise.
3611         * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
3613 2018-08-26  Marek Polacek  <polacek@redhat.com>
3615         PR c++/87029, Implement -Wredundant-move.
3616         * c.opt (Wredundant-move): New option.
3618 2018-08-21  Marek Polacek  <polacek@redhat.com>
3620         PR c++/86981, Implement -Wpessimizing-move.
3621         * c.opt (Wpessimizing-move): New option.
3623 2018-08-20  David Malcolm  <dmalcolm@redhat.com>
3625         PR other/84889
3626         * c-attribs.c (common_handle_aligned_attribute): Add
3627         auto_diagnostic_group instance.
3628         * c-indentation.c (warn_for_misleading_indentation): Likewise.
3629         * c-opts.c (c_common_post_options): Likewise.
3630         * c-warn.c (warn_logical_not_parentheses): Likewise.
3631         (warn_duplicated_cond_add_or_warn): Likewise.
3632         (warn_for_multistatement_macros): Likewise.
3634 2018-08-20  Nathan Sidwell  <nathan@acm.org>
3636         * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
3637         access.
3639 2018-08-17  Nathan Sidwell  <nathan@acm.org>
3641         * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
3642         field.
3643         (laxy_hex_fp_value_count): Make unsigned.
3644         (lazy_hex_fp_value): Provided with macro & lazy number.  Directly
3645         manipulate the macro.
3646         (builtin_defin_with_hex_fp_value): Adjust callback name, use
3647         cpp_define_lazily.
3649 2018-08-17  David Malcolm  <dmalcolm@redhat.com>
3651         * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
3652         (gcc_dump_printf_length_specs): New.
3653         (gcc_dump_printf_flag_pairs): New.
3654         (gcc_dump_printf_flag_specs): New.
3655         (gcc_dump_printf_char_table): New.
3656         (format_types_orig): Add entry for "gcc_dump_printf".
3657         (init_dynamic_diag_info): Set up length_char_specs and
3658         conversion_specs for gcc_dump_printf_format_type.
3659         (handle_format_attribute): Handle gcc_dump_printf_format_type.
3661 2018-08-17  Nathan Sidwell  <nathan@acm.org>
3663         * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
3665         * c-ada-spec.c: Don't #include "cpp-id-data.h"
3666         * c-cppbuiltin.c: Likewise.
3668 2018-08-17  Martin Liska  <mliska@suse.cz>
3670         * c.opt: Remove Warn, Init and Report for options with
3671         Ignore/Deprecated flag. Warning is done automatically for
3672         Deprecated flags.
3674 2018-08-16  David Malcolm  <dmalcolm@redhat.com>
3676         PR c++/70693
3677         * c-common.c (selftest::c_family_tests): Call
3678         selftest::c_indentation_c_tests.
3679         * c-common.h (selftest::c_indentation_c_tests): New decl.
3680         * c-indentation.c: Include "selftest.h".
3681         (next_tab_stop): Add "tab_width" param, rather than accessing
3682         cpp_opts.
3683         (get_visual_column): Likewise.  Clarify comment.  Bulletproof
3684         against reading past the end of the line.
3685         (get_first_nws_vis_column): Add "tab_width" param.
3686         (detect_intervening_unindent): Likewise.
3687         (should_warn_for_misleading_indentation): Read tab width from
3688         cpp_opts and pass around.
3689         (selftest::test_next_tab_stop): New test.
3690         (selftest::assert_get_visual_column_succeeds): New function.
3691         (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
3692         (selftest::assert_get_visual_column_fails): New function.
3693         (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
3694         (selftest::test_get_visual_column): New test.
3695         (selftest::c_indentation_c_tests): New function.
3697 2018-08-16  Nathan Sidwell  <nathan@acm.org>
3699         * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
3700         (store_ada_macro): Likewise.
3701         * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
3702         * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
3704 2018-08-15  David Malcolm  <dmalcolm@redhat.com>
3706         * c-format.c: Include "selftest-diagnostic.h" and
3707         "gcc-rich-location.h".
3708         (format_warning_at_char): Pass NULL for new label params of
3709         format_warning_va.
3710         (class indirection_suffix): New class.
3711         (class range_label_for_format_type_mismatch): New class.
3712         (format_type_warning): Move logic for generating "*" suffix to
3713         class indirection_suffix.  Create "fmt_label" and "param_label"
3714         to show their types, and pass them to the
3715         format_warning_at_substring calls.
3716         (selftest::test_type_mismatch_range_labels): New test.
3717         (selftest::c_format_c_tests): Call it.
3719 2018-08-13  Martin Sebor  <msebor@redhat.com>
3721         PR tree-optimization/71625
3722         * c-common.c (braced_list_to_string): New function.
3723         * c-common.h (braced_list_to_string): Declare it.
3725 2018-08-08  Nathan Sidwell  <nathan@acm.org>
3727         * c-common.c (try_to_locate_new_include_inertion_point): Use
3728         linemap_included_from_linemap.
3729         * c-lex.c (fe_file_change): Use linemap_included_from.
3730         * c-ppoutput.c (pp_file_change): Likewise.
3732 2018-08-01  Martin Sebor  <msebor@redhat.com>
3734         PR tree-optimization/86650
3735         * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
3736         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
3737         (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
3738         * c-format.h (T89_G): Update to be "gimple *" rather than
3739         "gcall *".
3740         (local_gcall_ptr_node): Rename...
3741         (local_gimple_ptr_node): ...to this.
3743 2018-07-31  David Malcolm  <dmalcolm@redhat.com>
3745         * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
3746         table entries for gcc_diag_char_table, and the 'Z' entry from
3747         gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
3748         &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
3749         (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
3750         adding missing "Z" for this table.  Remove erroneous "G" and "K"
3751         entries.
3752         (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE.  Remove "v".
3753         (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
3754         (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE.  Remove "v".
3756 2018-07-31  Richard Earnshaw  <rearnsha@arm.com>
3758         * c-common.c (speculation_safe_resolve_call): New function.
3759         (speculation_safe_resolve_params): New function.
3760         (speculation_safe_resolve_return): New function.
3761         (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
3762         * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
3763         __HAVE_SPECULATION_SAFE_VALUE.
3765 2018-07-20  David Malcolm  <dmalcolm@redhat.com>
3767         * c-common.c (c_cpp_error): Remove redundant "line_table"
3768         parameter from call to rich_location::set_range.
3769         (maybe_suggest_missing_token_insertion): Likewise.
3771 2018-07-20  Martin Sebor  <msebor@redhat.com>
3773         PR middle-end/82063
3774         * c.opt (-Warray-bounds): Remove redundant -Wall.
3776 2018-07-20  Martin Sebor  <msebor@redhat.com>
3778         PR middle-end/82063
3779         * c-common.h (c_common_handle_option): Change function argument
3780         to HOST_WIDE_INT.
3781         * c-opts.c (c_common_init_options): Same.
3782         (c_common_handle_option): Same.  Remove special handling of
3783         OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
3784         * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
3785         options to take a HOST_WIDE_INT argument and accept a byte-size
3786         suffix.  Initialize.
3787         (-Wvla-larger-than): Same.
3788         (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
3789         (-Wno-vla-larger-than): Same.
3791 2018-07-12  Jakub Jelinek  <jakub@redhat.com>
3793         * c-attribs.c (c_common_attribute_table): Add
3794         "omp declare target implicit" attribute.
3796 2018-07-12  Richard Biener  <rguenther@suse.de>
3798         PR c/86453
3799         * c-attribs.c (handle_packed_attribute): Do not build a variant
3800         type with TYPE_PACKED, instead ignore the attribute if we may
3801         not apply to the original type.
3803 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
3805         PR c++/86443
3806         * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
3807         to contain TREE_LIST for both the original class iterator and the
3808         "last" helper var.
3810 2018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
3812         * c-ada-spec.c (to_ada_name): Remove index parameter.
3813         (pp_ada_tree_identifier): Likewise.
3814         (dump_ada_macros): Adjust call to to_ada_name.
3815         (struct overloaded_name_hash): Delete.
3816         (struct overloaded_name_hasher): Likewise.
3817         (overloaded_names): Likewise.
3818         (compute_overloading_index): Likewise.
3819         (dump_ada_decl_name): Do not call compute_overloading_index and
3820         adjust calls to pp_ada_tree_identifier.
3821         (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3822         (dump_ada_import): Add spc parameter and switch to aspect syntax.
3823         (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
3824         (dump_ada_enum_type): Remove type and display_convention parameters.
3825         Adjust calls to pp_ada_tree_identifier.
3826         (dump_ada_node): Likewise and for dump_ada_structure.
3827         (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
3828         and tidy up.
3829         <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
3830         syntax.
3831         (print_constructor): Adjust call to pp_ada_tree_identifier.
3832         (print_destructor): Likewise.
3833         (dump_ada_declaration): Switch to aspect syntax.
3834         (dump_ada_structure): Likewise and tidy up.  Replace display_convention
3835         parameter with nested parameter.
3836         (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
3837         (dump_ada_specs): Do not delete overloaded_names table.
3839 2018-07-06  Peter Bergner  <bergner@linux.ibm.com>
3841         PR target/86324
3842         * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
3843         target hook.
3845 2018-07-05  Nathan Sidwell  <nathan@acm.org>
3847         * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
3848         NO_IMPLICIT_EXTERN_C.
3850 2018-06-28  Martin Liska  <mliska@suse.cz>
3852         * cppspec.c: Include opt-suggestions.h.
3854 2018-06-20  Chung-Lin Tang  <cltang@codesourcery.com>
3855             Thomas Schwinge  <thomas@codesourcery.com>
3856             Cesar Philippidis  <cesar@codesourcery.com>
3858         * c-pragma.h (enum pragma_omp_clause): Add
3859         PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
3860         PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
3862 2018-06-20  Jakub Jelinek  <jakub@redhat.com>
3864         PR c++/86210
3865         * c-common.c (check_nonnull_arg): Use fold_for_warn.  Adjust obsolete
3866         comment.
3868 2018-06-18  Martin Sebor  <msebor@redhat.com>
3870         PR middle-end/85602
3871         * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
3872         nonstring.
3874 2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
3876         * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
3878 2018-06-13  Jason Merrill  <jason@redhat.com>
3880         * c-opts.c (c_common_post_options): Warn about useless -Wabi.
3881         (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
3882         handling.
3884         PR c++/86094 - wrong code with defaulted move ctor.
3885         * c-opts.c (c_common_post_options): Bump the current ABI version to
3886         13.  Set warn_abi_version and flag_abi_compat_version to the current
3887         version rather than 0.  Fix defaulting flag_abi_compat_version from
3888         warn_abi_version.
3890 2018-06-12  Martin Sebor  <msebor@redhat.com>
3892         PR c/85931
3893         * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
3894         sizeof source and destination yields the same value.
3896 2018-06-12  Martin Liska  <mliska@suse.cz>
3898         * c.opt: Make MPX-related options as Deprecated.
3900 2018-06-08  David Malcolm  <dmalcolm@redhat.com>
3902         * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
3903         rather than 0.
3905 2018-06-08  Martin Liska  <mliska@suse.cz>
3907         * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
3908         for MPX (macros, related functions, fields in cgraph_node, ...).
3909         (handle_bnd_legacy): Likewise.
3910         (handle_bnd_instrument): Likewise.
3911         * c.opt: Likewise.
3913 2018-06-06  Jakub Jelinek  <jakub@redhat.com>
3915         PR c++/86068
3916         * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
3917         __cpp_transactional_memory to 201500 instead of 210500.
3919 2018-06-06  Jason Merrill  <jason@redhat.com>
3921         PR c++/85710 - ICE with -Wmemset-elt-size.
3922         * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
3924 2018-06-01  Jason Merrill  <jason@redhat.com>
3926         * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
3927         201703.
3929 2018-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3931         * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
3932         declaration for a typedef independently of whether the declaration of
3933         the subtype is generated.
3935 2018-05-31  Martin Sebor  <msebor@redhat.com>
3937         PR c/82063
3938         * c.opt (-Wno-alloc-size-larger-than): New option.
3940 2018-04-22  David Pagan  <dave.pagan@oracle.com>
3942         PR c/55976
3943         * c-opts.c (c_common_post_options): Set default for warn_return_type
3944         for C++/C++ with ObjC extensions only. For C, makes it possible to
3945         differentiate between default (no option), -Wreturn-type, and
3946         -Wno-return-type.
3948 2018-05-29  Jason Merrill  <jason@redhat.com>
3950         * c.opt (Winit-list-lifetime): New flag.
3952 2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3954         * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
3955         splay_tree_delete_pointers.
3957 2018-05-26  Jakub Jelinek  <jakub@redhat.com>
3959         PR bootstrap/85921
3960         * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
3961         noinline variable to workaround broken kernel headers.
3963 2018-05-18  Jason Merrill  <jason@redhat.com>
3965         * c.opt (Wdeprecated-copy): New flag.
3967 2018-05-17  Martin Liska  <mliska@suse.cz>
3969         * c-warn.c (overflow_warning): Do not use
3970         space in between 'G_' and '('.
3972 2018-05-09  Jason Merrill  <jason@redhat.com>
3974         * c-common.c (valid_array_size_p): Add complain parameter.
3975         * c-common.h: ...which defaults to true.
3977 2018-05-11  Jakub Jelinek  <jakub@redhat.com>
3979         PR c/85696
3980         * c-omp.c (c_omp_predetermined_sharing): Return
3981         OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
3983 2018-05-11  Martin Liska  <mliska@suse.cz>
3985         PR sanitizer/85556
3986         * c-attribs.c (handle_no_sanitize_attribute): Iterate all
3987         TREE_LIST values.
3989 2018-05-10  Jakub Jelinek  <jakub@redhat.com>
3991         PR c++/85662
3992         * c-common.h (fold_offsetof_1): Removed.
3993         (fold_offsetof): Add TYPE argument defaulted to size_type_node and
3994         CTX argument defaulted to ERROR_MARK.
3995         * c-common.c (fold_offsetof_1): Renamed to ...
3996         (fold_offsetof): ... this.  Remove wrapper function.  Add TYPE
3997         argument, convert the pointer constant to TYPE and use size_binop
3998         with PLUS_EXPR instead of fold_build_pointer_plus if type is not
3999         a pointer type.  Adjust recursive calls.
4001 2018-05-10  Eric Botcazou  <ebotcazou@adacore.com>
4003         PR c++/85400
4004         * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
4006 2018-05-07  Nathan Sidwell  <nathan@acm.org>
4008         * c.opt (ffor-scope): Remove functionality, issue warning.
4010 2018-05-03  Nathan Sidwell  <nathan@acm.org>
4012         * c.opt (ffriend-injection): Remove functionality, issue warning.
4014 2018-05-01  David Malcolm  <dmalcolm@redhat.com>
4016         PR c/84258
4017         * c-format.c (struct format_check_results): Add field
4018         "number_non_char".
4019         (check_format_info): Initialize it, and warn if encountered.
4020         (check_format_arg): Distinguish between wide char and
4021         everything else when detecting arrays of non-char.
4023 2018-04-30  David Malcolm  <dmalcolm@redhat.com>
4025         * c-format.c (get_corrected_substring): Update for
4026         location_get_source_line returning a char_span.  Use a char_span
4027         when handling the prefix of the correction.
4028         * c-indentation.c (get_visual_column): Update for
4029         location_get_source_line returning a char_span.
4030         (get_first_nws_vis_column): Likewise.
4032 2018-03-29  David Malcolm  <dmalcolm@redhat.com>
4034         PR c++/84269
4035         * known-headers.cc (get_stdlib_header_for_name): Add various names
4036         from <assert.h>, <string.h>, and <memory.h>; add more names from
4037         <stdio.h>.
4039 2018-03-27  Jakub Jelinek  <jakub@redhat.com>
4041         PR c++/85061
4042         * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
4043         get_base_address of the second operand is a VAR_P, rather than the
4044         operand itself, and use gcc_checking_assert instead of gcc_assert.
4046 2018-03-23  Marek Polacek  <polacek@redhat.com>
4048         PR c++/85045
4049         * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
4050         <case RDIV_EXPR>: Tweak condition.
4052 2018-03-20  Eric Botcazou  <ebotcazou@adacore.com>
4054         * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
4056 2018-03-16  Jakub Jelinek  <jakub@redhat.com>
4058         PR c/84909
4059         * c-warn.c (conversion_warning): Replace "to to" with "to" in
4060         diagnostics.
4062         PR c/84910
4063         * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
4064         diagnostics.
4066 2018-03-16  Richard Biener  <rguenther@suse.de>
4068         PR c/84873
4069         * c-gimplify.c (c_gimplify_expr): Revert previous change.  Instead
4070         unshare the possibly folded expression.
4072 2018-03-15  Richard Biener  <rguenther@suse.de>
4074         PR c/84873
4075         * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
4077 2018-03-13  Martin Sebor  <msebor@redhat.com>
4079         PR tree-optimization/84725
4080         * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
4081         with all three narrow character types, including their qualified forms.
4083 2018-03-12  Martin Sebor  <msebor@redhat.com>
4085         PR tree-optimization/83456
4086         * c-common.c (check_function_restrict): Return bool.
4087         Restore checking of bounded built-in functions.
4088         (check_function_arguments): Also return the result
4089         of warn_for_restrict.
4090         * c-common.c (check_function_restrict): Return bool.
4091         * c-warn.c (warn_for_restrict): Return bool.
4093 2018-03-02  Marek Polacek  <polacek@redhat.com>
4095         PR c++/84171
4096         * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
4097         is erroneous.
4099 2018-03-02  Thomas Schwinge  <thomas@codesourcery.com>
4101         * c-attribs.c (c_common_attribute_table): Remove "cilk simd
4102         function".
4104 2018-03-01  Marek Polacek  <polacek@redhat.com>
4106         PR c++/84639
4107         * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
4108         alignment in computation.
4110 2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4112         * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
4113         <REAL_TYPE>: Deal specifically with _Float128/__float128.
4115 2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4117         * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
4118         (is_char_array): Take a type instead of a declaration.
4119         (dump_ada_array_type): Likewise.
4120         (is_simple_enum): Minor tweak.
4121         (dump_ada_enum_type): New function extracted from...
4122         (dump_ada_node) <ENUMERAL_TYPE>: ...here.  Invoke it.
4123         <INTEGER_TYPE>: Remove unreachable code.
4124         <RECORD_TYPE>: Likewise.  Minor tweaks.
4125         (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
4126         <ENUMERAL_TYPE>: New case.
4127         <RECORD_TYPE>: Factor out common code.
4128         (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
4129         Minor tweaks.  Deal with enumeral types.
4130         (dump_ada_structure): Minor tweaks.
4132 2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4134         * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
4135         address for incomplete structures.
4136         (dump_forward_type): Do not bail out for incomplete structures.
4137         (dump_ada_declaration): Do not special-case incomplete structures
4138         for subtypes.  Dump them as null records for types.
4140 2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4142         * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
4143         (is_char_array): Fix formatting.
4144         (dump_template_types): Likewise.
4145         (dump_generic_ada_node): Rename into...
4146         (dump_ada_node): ...this.
4147         <POINTER_TYPE>: Remove superfluous space.  Use generic address for
4148         incomplete structures and not for empty structures.  Do not use it
4149         when forward declarations are needed.
4150         (dump_forward_type): New function.
4151         (dump_nested_types): Remove FORWARD parameter.  Do not consider
4152         TREE_VISITED and do not generate a forward declaration.  Only dump
4153         original nested types for nested declaration.
4154         (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
4155         <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
4156         <RECORD_TYPE>: Do not consider TREE_VISITED.
4157         (dump_ada_declaration): Use booleans and fix formatting throughout.
4158         <TYPE_DECL>: Skip incomplete structures and not empty structures.
4159         Call dump_forward_type instead of dump_nested_types for a typedef.
4160         Remove superfluous check and adjust call to dump_nested_types.
4161         <POINTER_TYPE>: Call dump_forward_type and fall through.
4162         (dump_ada_struct_decl): Rename into...
4163         (dump_ada_structure): ...this.  Do not special-case empty structures.
4165 2018-02-27  Martin Sebor  <msebor@redhat.com>
4167         PR c++/83871
4168         * c.opt (-Wmissing-attributes): New option.
4170 2018-02-21  Martin Liska  <mliska@suse.cz>
4172         * c.opt (Wcatch-value=): Add IntegerRange.
4174 2018-02-15  Jason Merrill  <jason@redhat.com>
4176         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4178 2018-02-09  Nathan Sidwell  <nathan@acm.org>
4180         PR c/84293
4181         * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
4182         arg.
4183         * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
4184         arg.  Adjust.
4186 2018-02-09  Martin Sebor  <msebor@redhat.com>
4188         PR lto/84212
4189         * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
4190         (-Walloc-size-larger-than, -Wformat-truncation=): Same.
4191         (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
4192         (-Wstrict-overflow, -Wsuggest-attribute): Same.
4193         (-Wuninitialized): Same.
4195 2018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
4197         * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
4198         keyword for components.
4200 2018-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
4202         * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
4204 2018-02-02  Julia Koval  <julia.koval@intel.com>
4206         * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
4208 2018-01-29  Marek Polacek  <polacek@redhat.com>
4210         PR c/83966
4211         * c-format.c (check_function_format): Check current_function_decl.
4213 2018-01-27  Jakub Jelinek  <jakub@redhat.com>
4215         * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
4216         argument.
4217         (LAZY_HEX_FP_VALUES_CNT): Define.
4218         (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
4219         values rather than just 12.
4220         (builtin_define_with_hex_fp_value): Likewise.
4222 2018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
4224         PR other/70268
4225         * c.opt (-fmacro-prefix-map): New option.
4226         * c-opts.c (c_common_handle_option): Handle it.
4227         * c-lex.c (init_c_lex): Set remap_filename cpp callback.
4228         * c-ppoutput.c (init_pp_output): Likewise.
4230 2018-01-17  David Malcolm  <dmalcolm@redhat.com>
4232         PR c++/83814
4233         * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
4235 2018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
4237         * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
4238         Skip 'f' and 'F' characters if it is true.
4239         (store_ada_macro): Minor tweak.
4240         (dump_ada_macros) <CPP_COMMENT>: Likewise.
4241         <CPP_WSTRING>: Likewise.
4242         <CPP_STRING>: Output '&' in the buffer if not the first string.
4243         <CPP_NUMBER>: Adjust calls to dump_number.
4245 2018-01-10  David Malcolm  <dmalcolm@redhat.com>
4247         PR c++/43486
4248         * c-common.c: Include "selftest.h".
4249         (get_atomic_generic_size): Perform the test for integral type
4250         before the range test for any integer constant, fixing indentation
4251         of braces.  Call fold_for_warn before testing for an INTEGER_CST.
4252         (reject_gcc_builtin): Strip any location wrapper from EXPR.
4253         (selftest::test_fold_for_warn): New function.
4254         (selftest::c_common_c_tests): New function.
4255         (selftest::c_family_tests): Call it, and
4256         selftest::c_pretty_print_c_tests.
4257         * c-common.h (selftest::c_pretty_print_c_tests): New decl.
4258         * c-format.c (check_format_arg): Convert VAR_P check to a
4259         fold_for_warn.
4260         * c-pretty-print.c: Include "selftest.h".
4261         (pp_c_cast_expression): Don't print casts for location wrappers.
4262         (selftest::assert_c_pretty_printer_output): New function.
4263         (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
4264         (selftest::test_location_wrappers): New function.
4265         (selftest::c_pretty_print_c_tests): New function.
4266         * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
4268 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
4269             Alan Hayward  <alan.hayward@arm.com>
4270             David Sherwood  <david.sherwood@arm.com>
4272         * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
4274 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
4275             Alan Hayward  <alan.hayward@arm.com>
4276             David Sherwood  <david.sherwood@arm.com>
4278         * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
4279         as polynomial.
4281 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
4282             Alan Hayward  <alan.hayward@arm.com>
4283             David Sherwood  <david.sherwood@arm.com>
4285         * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
4286         (convert_vector_to_array_for_subscript): Handle polynomial
4287         TYPE_VECTOR_SUBPARTS.
4288         (c_common_type_for_mode): Check valid_vector_subparts_p.
4289         * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
4290         VECTOR_CST_NELTS.
4292 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
4294         Update copyright years.
4296 2017-12-22  Mike Stump  <mikestump@comcast.net>
4297             Eric Botcazou  <ebotcazou@adacore.com>
4299         * c-pragma.c (init_pragma): Register pragma GCC unroll.
4300         * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
4302 2017-12-22  Alexandre Oliva  <aoliva@redhat.com>
4304         PR debug/83527
4305         PR debug/83419
4306         * c-semantics.c (only_debug_stmts_after_p): New.
4307         (pop_stmt_list): Clear side effects in debug-only stmt list.
4308         Check for single nondebug stmt followed by debug stmts only.
4310 2017-12-21  Alexandre Oliva  <aoliva@redhat.com>
4312         PR debug/83419
4313         * c-semantics.c (pop_stmt_list): Propagate side effects from
4314         single nondebug stmt to container list.
4316 2017-12-19  Jakub Jelinek  <jakub@redhat.com>
4318         * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
4319         conditions with typical order conditions.
4321 2017-12-18  Marek Polacek  <polacek@redhat.com>
4323         * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
4324         not in effect.
4326 2017-12-17  Martin Sebor  <msebor@redhat.com>
4328         * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
4329         an error for attribute warn_if_not_aligned.
4331 2017-12-16  Martin Sebor  <msebor@redhat.com>
4333         PR tree-optimization/78918
4334         * c-common.c (check_function_restrict): Avoid checking built-ins.
4335         * c.opt (-Wrestrict): Include in -Wall.
4337 2017-12-15  Jakub Jelinek  <jakub@redhat.com>
4339         * c-attribs.c (c_common_attribute_table,
4340         c_common_format_attribute_table): Swap affects_type_identity
4341         and handler fields, adjust comments.
4343 2017-12-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4345         * c.opt (Wcast-function-type): New warning option.
4346         * c-lex.c (get_fileinfo): Avoid warning.
4347         * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
4349 2017-12-14  Qing Zhao  <qing.zhao@oracle.com>
4351         PR middle_end/79538
4352         * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
4353         Adjust the size of buf1 and buf2, add a new buf to avoid
4354         format-overflow warning.
4356 2017-12-12  Alexandre Oliva  <aoliva@redhat.com>
4358         * c-semantics.c (pop_stmt_list): Move begin stmt marker into
4359         subsequent statement list.
4361 2017-12-07  Martin Sebor  <msebor@redhat.com>
4363         PR c/81544
4364         PR c/81566
4365         * c-attribs.c (attr_aligned_exclusions): New array.
4366         (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
4367         (attr_common_exclusions, attr_const_pure_exclusions): Same.
4368         (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
4369         (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
4370         (attr_warn_unused_result_exclusions): Same.
4371         (handle_hot_attribute, handle_cold_attribute): Simplify.
4372         (handle_const_attribute): Warn on function returning void.
4373         (handle_pure_attribute): Same.
4374         (handle_aligned_attribute): Diagnose conflicting attribute
4375         specifications.
4376         * c-warn.c (diagnose_mismatched_attributes): Simplify.
4378 2017-12-06  David Malcolm  <dmalcolm@redhat.com>
4380         PR c/83236
4381         * c-common.c (selftest::c_family_tests): Call
4382         selftest::c_spellcheck_cc_tests.
4383         * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
4384         * c-spellcheck.cc: Include "selftest.h".
4385         (name_reserved_for_implementation_p): New function.
4386         (should_suggest_as_macro_p): New function.
4387         (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
4388         should_suggest_as_macro_p and call it.
4389         (selftest::test_name_reserved_for_implementation_p): New function.
4390         (selftest::c_spellcheck_cc_tests): New function.
4391         * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
4393 2017-12-06  David Malcolm  <dmalcolm@redhat.com>
4395         * c-spellcheck.cc: New file, taken from macro-handling code in
4396         spellcheck-tree.c.
4397         * c-spellcheck.h: New file, taken from macro-handling code in
4398         spellcheck-tree.h.
4400 2017-12-01  Jakub Jelinek  <jakub@redhat.com>
4402         * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
4403         attribute.
4404         (handle_simd_attribute): Don't check for "cilk simd function"
4405         attribute.  Reindent, formatting changes.
4407 2017-11-30  Julia Koval  <julia.koval@intel.com>
4409         * c-common.h (inv_list): Remove.
4411 2017-11-28  Jakub Jelinek  <jakub@redhat.com>
4413         PR sanitizer/81275
4414         * c-common.c (c_switch_covers_all_cases_p_1,
4415         c_switch_covers_all_cases_p): New functions.
4416         * c-common.h (c_switch_covers_all_cases_p): Declare.
4418 2017-11-28  Julia Koval  <julia.koval@intel.com>
4419             Sebastian Peryt  <sebastian.peryt@intel.com>
4421         * array-notation-common.c: Delete.
4422         * c-cilkplus.c: Ditto.
4423         * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
4424         * c-common.def (ARRAY_NOTATION_REF): Remove.
4425         * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
4426         build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
4427         c_validate_cilk_plus_loop, cilkplus_an_parts,
4428         cilk_ignorable_spawn_rhs_op,
4429         cilk_recognize_spawn): Remove.
4430         * c-gimplify.c (CILK_SPAWN_STMT): Remove.
4431         * c-omp.c: Remove CILK_SIMD check.
4432         * c-pragma.c: Ditto.
4433         * c-pragma.h: Remove CILK related pragmas.
4434         * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
4435         ARRAY_NOTATION_REF condition.
4436         (c_pretty_printer::expression): Ditto.
4437         * c.opt (fcilkplus): Remove.
4438         * cilk.c: Delete.
4440 2017-11-21  Marc Glisse  <marc.glisse@inria.fr>
4442         * c-pretty-print.c (pp_c_additive_expression,
4443         c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
4445 2017-11-21  Jakub Jelinek  <jakub@redhat.com>
4447         * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
4449         PR c++/83059
4450         * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
4451         instead of tree_to_uhwi, formatting fix.
4453 2017-11-20  David Malcolm  <dmalcolm@redhat.com>
4455         PR c/81404
4456         * known-headers.cc: New file, based on material from c/c-decl.c.
4457         (suggest_missing_header): Copied as-is.
4458         (get_stdlib_header_for_name): New, based on get_c_name_hint but
4459         heavily edited to add C++ support.  Add some knowledge about
4460         <limits.h>, <stdint.h>, and <wchar.h>.
4461         * known-headers.h: Likewise.
4463 2017-11-20  David Malcolm  <dmalcolm@redhat.com>
4465         * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
4466         (lookup_name_fuzzy): Likewise.  Convert return type from
4467         const char * to name_hint.  Add location_t param.
4468         * name-hint.h: New header.
4470 2017-11-19  Jakub Jelinek  <jakub@redhat.com>
4472         PR c/66618
4473         PR c/69960
4474         * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
4476 2017-11-16  Joseph Myers  <joseph@codesourcery.com>
4478         * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
4479         expected publication date of C17.
4480         (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
4482 2017-11-15  Joseph Myers  <joseph@codesourcery.com>
4484         PR c/81156
4485         * c-common.c (c_common_reswords): Add __builtin_tgmath.
4486         * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
4488 2017-11-10  Martin Sebor  <msebor@redhat.com>
4490         PR c/81117
4491         * c-common.c (catenate_strings): Use memcpy instead of strncpy.
4492         * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
4493         * c.opt (-Wstringop-truncation): New option.
4495 2017-11-06  Martin Liska  <mliska@suse.cz>
4497         PR middle-end/82404
4498         * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
4499         FE.
4500         * c.opt: Set default value of warn_return_type.
4502 2017-10-31  David Malcolm  <dmalcolm@redhat.com>
4504         * c-common.c (binary_op_error): Update for renaming of
4505         error_at_rich_loc.
4506         (c_parse_error): Likewise.
4507         * c-warn.c (warn_logical_not_parentheses): Likewise for
4508         renaming of inform_at_rich_loc.
4509         (warn_for_restrict): Likewise for renaming of
4510         warning_at_rich_loc_n.
4512 2017-10-30  Joseph Myers  <joseph@codesourcery.com>
4514         * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
4515         * c-opts.c (set_std_c17): New function.
4516         (c_common_init_options): Use gnu17 as default C version.
4517         (c_common_handle_option): Handle -std=c17 and -std=gnu17.
4519 2017-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
4521         * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4522         (c_cpp_builtins): If a machine has a fast fma _Float<N> and
4523         _Float<N>X variant, define __FP_FAST_FMA<N> and/or
4524         __FP_FAST_FMA<N>X.
4526 2017-10-23  Marek Polacek  <polacek@redhat.com>
4528         PR c/82681
4529         * c-warn.c (warnings_for_convert_and_check): Fix typos.
4531 2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
4533         * c-common.c (check_builtin_function_arguments): Also check arguments
4534         of __builtin_alloca_with_align_and_max.
4536 2017-10-17  David Malcolm  <dmalcolm@redhat.com>
4538         * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
4539         rather than NULL to format_warning_va.
4540         (check_format_types): Likewise when calling format_type_warning.
4541         Remove code to extract source_ranges and source_range * in favor
4542         of just a location_t.
4543         (format_type_warning): Convert source_range * param to a
4544         location_t.
4546 2017-10-13  Jakub Jelinek  <jakub@redhat.com>
4548         * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
4549         [LR]SHIFT_EXPR.
4551 2017-10-12  David Malcolm  <dmalcolm@redhat.com>
4553         * c-common.c (enum missing_token_insertion_kind): New enum.
4554         (get_missing_token_insertion_kind): New function.
4555         (maybe_suggest_missing_token_insertion): New function.
4556         * c-common.h (maybe_suggest_missing_token_insertion): New decl.
4558 2017-10-11  Nathan Sidwell  <nathan@acm.org>
4560         * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
4561         (c_common_handle_option): Update incpath_kind names.
4563 2017-10-11  Martin Liska  <mliska@suse.cz>
4565         PR sanitizer/82490
4566         * c-attribs.c (handle_no_sanitize_attribute): Report directly
4567         Wattributes warning.
4569 2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
4571         * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
4572         operating on trees as wide_ints.
4573         * c-common.c (pointer_int_sum): Likewise.
4574         * c-pretty-print.c (pp_c_integer_constant): Likewise.
4575         * c-warn.c (match_case_to_enum_1): Likewise.
4576         (c_do_switch_warnings): Likewise.
4577         (maybe_warn_shift_overflow): Likewise.
4579 2017-10-10  Jakub Jelinek  <jakub@redhat.com>
4581         PR c/82437
4582         * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
4583         instead of wide_int::from.
4585 2017-10-06  Jakub Jelinek  <jakub@redhat.com>
4587         PR c/82437
4588         * c-warn.c (warn_tautological_bitwise_comparison): Instead of
4589         using to_widest use wide_int with the larger of the two precisions.
4591 2017-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4593         * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
4594         functions.
4596 2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
4598         * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
4599         when combining the original unconverted comparison operands.
4601 2017-09-29  Jakub Jelinek  <jakub@redhat.com>
4603         * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
4604         attribute.
4606 2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
4608         * c-ada-spec.c (to_ada_name): Add index parameter.
4609         (pp_ada_tree_identifier): Likewise.
4610         (dump_ada_macros): Adjust call to to_ada_name.
4611         (struct overloaded_name_hash): New type.
4612         (struct overloaded_name_hasher): Likewise.
4613         (overloaded_names): New hash table.
4614         (compute_overloading_index): New function.
4615         (dump_ada_decl_name): Call it and pass the result to
4616         pp_ada_tree_identifier.
4617         (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
4618         (dump_ada_function_declaration): Likewise.
4619         (dump_generic_ada_node): Likewise.
4620         (print_constructor): Likewise.
4621         (print_destructor): Likewise.
4622         (dump_ada_specs): Delete overloaded_names table.
4624 2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
4626         * c-ada-spec.c (max_ada_macros): Move around.
4627         (store_ada_macro_index): Likewise.
4628         (source_file): Rename into...
4629         (macro_source_file): ...this.
4630         (count_ada_macro): Move around.
4631         (store_ada_macro): Likewise.
4632         (compare_macro): Likewise.
4633         (print_ada_macros): Merge in...
4634         (dump_ada_macros): ...this.
4635         (source_file_base): Rename into...
4636         (current_source_file): ...this.
4637         (print_comment): Move around.
4638         (dump_ada_nodes): Call dump_ada_declaration directly.
4639         (struct with): Change type of limited field to bool.
4640         (append_withs): Change type of limited_access parameter to bool.
4641         (pp_ada_tree_identifie): Likewise.
4642         (dump_ada_decl_nam): Likewise.
4643         (dump_generic_ada_node): Likewise.  Do not print the return type.
4644         (to_ada_name): Change type of space_found parameter to bool.
4645         (dump_ada_function_declaration): Return void and change type of
4646         parameters to bool.  Also print the return type for a function.
4647         (print_ada_methods): Rename into...
4648         (dump_ada_methods): ...this.
4649         (print_ada_declaration): Rename into ...
4650         (dump_ada_declaration): ...this.  Do not print the return type.
4651         (print_ada_struct_decl): Rename into...
4652         (dump_ada_struct_decl): ...this.
4654 2017-09-29  Jakub Jelinek  <jakub@redhat.com>
4656         * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4657         rather than DECL_INITIAL.
4658         (common_handle_aligned_attribute): Likewise.
4660 2017-09-20  Alexandre Oliva  <aoliva@redhat.com>
4662         * c.opt (gen-decls): Add RejectNegative.
4664 2017-09-15  Andrew Sutton  <andrew.n.sutton@gmail.com>
4665             Jakub Jelinek  <jakub@redhat.com>
4667         Add support for -std=c++2a.
4668         * c-common.h (cxx_dialect): Add cxx2a as a dialect.
4669         * opt.c: Add options for -std=c++2a and -std=gnu++2a.
4670         * c-opts.c (set_std_cxx2a): New.
4671         (c_common_handle_option): Set options when -std=c++2a is enabled.
4672         (c_common_post_options): Adjust comments.
4673         (set_std_cxx14, set_std_cxx17): Likewise.
4675 2017-09-15  Eric Botcazou  <ebotcazou@adacore.com>
4677         * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
4678         message for non-uniform endianness and issue a warning in C++.
4680 2017-09-15  Jakub Jelinek  <jakub@redhat.com>
4682         * c.opt (Wc++1z-compat): Change from option to undocumented alias.
4683         (Wc++17-compat): Change from undocumented alias to option.
4684         (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
4685         change C++1z to C++17 in description.
4686         (std=c++1z, std=gnu++1z): Change from option to undocumented
4687         deprecated alias.
4688         (std=c++17, std=gnu++17): Change from undocumented alias to option.
4689         Adjust description.
4690         * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
4691         * c-opts.c (set_std_cxx1z): Rename to ...
4692         (set_std_cxx17): ... this.
4693         (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
4694         and OPT_std_gnu__1z to OPT_std_gnu__17.  Adjust set_std_cxx1z
4695         caller.
4696         (c_common_post_options): Use cxx17 instead of cxx1z.  Adjust
4697         comments.
4699 2017-09-12  H.J. Lu  <hongjiu.lu@intel.com>
4701         * c-attribs.c (common_handle_aligned_attribute): Don't warn
4702         function alignment if warn_if_not_aligned_p is true.
4704 2017-09-12  Nathan Sidwell  <nathan@acm.org>
4706         * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
4707         resort_sorted_fields): Move to c/c-decl.c.
4708         * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
4709         (struct sorted_fields_type): Move to c/c-lang.h.
4711 2017-09-09  Jonathan Wakely  <jwakely@redhat.com>
4713         PR c++/81852
4714         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
4716 2017-09-04  Marek Polacek  <polacek@redhat.com>
4718         PR c/81783
4719         * c-warn.c (warn_tautological_bitwise_comparison): New function.
4720         (warn_tautological_cmp): Call it.
4722 2017-09-01  Boris Kolpackov  <boris@codesynthesis.com>
4724         * c-opts.c (c_common_finish): Write dependency information even if
4725         there are errors.
4727 2017-09-01  Jakub Jelinek  <jakub@redhat.com>
4729         PR c/81887
4730         * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
4731         (omp_pragmas_simd): ... here.
4732         * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
4733         create new clauses list containing just simd clause.
4735 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4736             Alan Hayward  <alan.hayward@arm.com>
4737             David Sherwood  <david.sherwood@arm.com>
4739         * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
4740         into scalar_mode_supported_p call.
4741         (handle_mode_attribute): Update call to scalar_mode_supported_p.
4743 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4744             Alan Hayward  <alan.hayward@arm.com>
4745             David Sherwood  <david.sherwood@arm.com>
4747         * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
4748         for the mode iterator.
4750 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4751             Alan Hayward  <alan.hayward@arm.com>
4752             David Sherwood  <david.sherwood@arm.com>
4754         * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
4755         * c-common.c (c_build_vec_perm_expr): Likewise.
4757 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4758             Alan Hayward  <alan.hayward@arm.com>
4759             David Sherwood  <david.sherwood@arm.com>
4761         * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
4763 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4764             Alan Hayward  <alan.hayward@arm.com>
4765             David Sherwood  <david.sherwood@arm.com>
4767         * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
4768         before calling targetm.addr_space.valid_pointer_mode.
4770 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4771             Alan Hayward  <alan.hayward@arm.com>
4772             David Sherwood  <david.sherwood@arm.com>
4774         * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
4776 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4777             Alan Hayward  <alan.hayward@arm.com>
4778             David Sherwood  <david.sherwood@arm.com>
4780         * c-common.c (c_common_fixed_point_type_for_size): Use new mode
4781         iterators.
4782         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4784 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
4785             Alan Hayward  <alan.hayward@arm.com>
4786             David Sherwood  <david.sherwood@arm.com>
4788         * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
4789         case statements.
4791 2017-08-29  Martin Liska  <mliska@suse.cz>
4793         PR other/39851
4794         * c-common.c (parse_optimize_options): Add argument to function
4795         call.
4796         * c-pragma.c (handle_pragma_diagnostic): Likewise.
4798 2017-08-24  David Malcolm  <dmalcolm@redhat.com>
4800         * c-lex.c (interpret_float): Use token location
4801         when building an EXCESS_PRECISION_EXPR.
4803 2017-08-21  David Malcolm  <dmalcolm@redhat.com>
4805         * c-common.c (check_function_arguments): Add "arglogs" param; pass
4806         it to check_function_format.
4807         * c-common.h (check_function_arguments): Add vec<location_t> *
4808         param.
4809         (check_function_format): Likewise.
4810         * c-format.c (struct format_check_context): Add field "arglocs".
4811         (check_function_format): Add param "arglocs"; pass it to
4812         check_format_info.
4813         (check_format_info): Add param "arglocs"; use it to initialize
4814         new field of format_ctx.
4815         (check_format_arg): Pass format_ctx->arglocs to new param of
4816         check_format_info_main.
4817         (class argument_parser): New field "arglocs".
4818         (argument_parser::argument_parser): Add "arglocs_" param and use
4819         it to initialize new field.
4820         (argument_parser::check_argument_type): Pass new arglocs field to
4821         check_format_types.
4822         (check_format_info_main): Add param "arglocs", and use it when
4823         constructing arg_parser.
4824         (check_format_types): Add param "arglocs"; use it if non-NULL when
4825         !EXPR_HAS_LOCATION (cur_param) to get at location information.
4827 2017-08-18  H.J. Lu  <hongjiu.lu@intel.com>
4829         PR c/53037
4830         * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
4831         (c_common_attribute_table): Add warn_if_not_aligned.
4832         (handle_aligned_attribute): Renamed to ...
4833         (common_handle_aligned_attribute): Remove argument, name, and add
4834         argument, warn_if_not_aligned.  Handle warn_if_not_aligned.
4835         (handle_aligned_attribute): New.
4836         * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
4838 2017-08-14  Martin Sebor  <msebor@redhat.com>
4840         PR c/81117
4841         * c-attribs.c (c_common_attribute_table): Add nonstring entry.
4842         (handle_nonstring_attribute): New function.
4844 2017-08-14  Martin Sebor  <msebor@redhat.com>
4846         PR c/81117
4847         * c-format.h (T89_G): New macro.
4848         * c-format.c (local_gcall_ptr_node): New variable.
4849         (init_dynamic_diag_info): Initialize it.
4851 2017-08-11  Martin Liska  <mliska@suse.cz>
4853         * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
4854         TARGET_SUPPORTS_ALIASES.
4856 2017-08-10  David Malcolm  <dmalcolm@redhat.com>
4858         * c-common.c (c_parse_error): Add rich_location * param, using it
4859         rather implicitly using input_location.
4860         * c-common.h (c_parse_error): Add rich_location * param.
4862 2017-08-09  Marek Polacek  <polacek@redhat.com>
4864         * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
4865         (c_common_truthvalue_conversion): Likewise.
4866         * c-omp.c (c_finish_omp_atomic): Likewise.
4867         * c-common.h (build_binary_op): Update declaration.
4869 2017-08-08  Martin Liska  <mliska@suse.cz>
4871         * c-ada-spec.c: Include header files.
4872         * c-ubsan.c: Likewise.
4873         * c-warn.c: Likewise.
4875 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
4877         PR c/69389
4878         * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
4880 2017-08-07  Eric Botcazou  <ebotcazou@adacore.com>
4882         * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
4883         (print_ada_methods): Likewise.
4884         (print_ada_declaration): Likewise.
4886 2017-08-07  Martin Liska  <mliska@suse.cz>
4888         * array-notation-common.c: Add new includes.
4889         * c-format.c( handle_format_attribute): Canonicalize a format
4890         function name.
4891         * c-lex.c (c_common_has_attribute): Canonicalize name of an
4892         attribute.
4893         * c-pretty-print.c: Add new include.
4895 2017-08-05  Eric Botcazou  <ebotcazou@adacore.com>
4897         * c-ada-spec.c (has_static_fields): Look only into variables.
4898         (print_constructor): Add TYPE parameter and use it for the name.
4899         (print_destructor): Likewise.
4900         (print_ada_declaration): Adjust to new constructor/destructor names.
4901         Adjust calls to print_constructor and print_destructor.
4902         (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
4903         Look only into variables in the final loop.
4905 2017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
4907         * c-ada-spec.c (has_static_fields): Look only into fields.
4908         (dump_generic_ada_node): Small tweak.
4909         (dump_nested_types): Look only into fields.
4910         (print_ada_declaration): Look only into methods.  Small tweak.
4911         (print_ada_struct_decl): Look only into fields.  Use DECL_VIRTUAL_P.
4913 2017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
4915         * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
4916         (dump_ada_function_declaration): Likewise.
4917         (dump_generic_ada_node): Likewise.
4918         (print_ada_declaration): Add support for const-qualified variables.
4920 2017-07-31  Martin Liska  <mliska@suse.cz>
4922         PR sanitize/81530
4923         * c-ubsan.c (ubsan_maybe_instrument_array_ref):
4924         Guard condition with flag_sanitize_p also with current_function_decl
4925         non-null equality.
4926         (ubsan_maybe_instrument_reference_or_call): Likewise.
4928 2017-07-30  Uros Bizjak  <ubizjak@gmail.com>
4930         * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
4932 2017-07-29  Eric Botcazou  <ebotcazou@adacore.com>
4934         * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
4935         for enumeral types.
4936         (print_ada_declaration): Add missing guard for record types.
4938 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
4940         PR c/45784
4941         * c-omp.c (c_finish_omp_for): If the condition is wrapped in
4942         rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
4943         new COMPOUND_EXPRs around the rhs of the comparison.
4945 2017-07-27  Marek Polacek  <polacek@redhat.com>
4947         PR c/81417
4948         * c-warn.c (warn_for_sign_compare): Tweak the warning message.  Print
4949         the types.
4951 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
4953         * c-attribs.c (c_common_attribute_table): Add noipa attribute.
4954         (handle_noipa_attribute): New function.
4956 2017-07-07  Torsten Duwe  <duwe@suse.de>
4958         * c-attribs.c (c_common_attribute_table): Add entry for
4959         "patchable_function_entry".
4961 2017-07-20  Nathan Sidwell  <nathan@acm.org>
4963         Remove TYPE_METHODS.
4964         * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
4965         dump_ada_template, print_ada_methods,
4966         print_ada_declaration): Member fns are on TYPE_FIELDS.
4968 2017-07-18  Nathan Sidwell  <nathan@acm.org>
4970         * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
4972 2017-07-14  David Malcolm  <dmalcolm@redhat.com>
4974         * c-common.c (try_to_locate_new_include_insertion_point): New
4975         function.
4976         (per_file_includes_t): New typedef.
4977         (added_includes_t): New typedef.
4978         (added_includes): New variable.
4979         (maybe_add_include_fixit): New function.
4980         * c-common.h (maybe_add_include_fixit): New decl.
4982 2017-07-10  Martin Sebor  <msebor@redhat.com>
4984         PR other/81345
4985         * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
4987 2017-07-06  David Malcolm  <dmalcolm@redhat.com>
4989         * c-common.c (selftest::c_family_tests): New.
4990         * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
4991         (selftest::c_family_tests): New decl.
4993 2017-07-04  Marek Polacek  <polacek@redhat.com>
4995         PR c/81231
4996         * c-common.c (sync_resolve_size): Give error for pointers to incomplete
4997         types.
4999 2017-07-04  Marek Polacek  <polacek@redhat.com>
5001         * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
5003 2017-06-28  Martin Liska  <mliska@suse.cz>
5005         PR ipa/81128
5006         * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
5007         to a function declaration.
5009 2017-06-28  Martin Liska  <mliska@suse.cz>
5011         PR driver/79659
5012         * c.opt: Add IntegerRange to various options.
5014 2017-06-26  Marek Polacek  <polacek@redhat.com>
5016         PR c/80116
5017         * c-common.h (warn_for_multistatement_macros): Declare.
5018         * c-warn.c: Include "c-family/c-indentation.h".
5019         (warn_for_multistatement_macros): New function.
5020         * c.opt (Wmultistatement-macros): New option.
5021         * c-indentation.c (guard_tinfo_to_string): No longer static.
5022         Change the parameter type to "enum rid".  Handle RID_SWITCH.
5023         * c-indentation.h (guard_tinfo_to_string): Declare.
5025 2017-06-23  Marc Glisse  <marc.glisse@inria.fr>
5027         * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
5029 2017-06-15  Martin Sebor  <msebor@redhat.com>
5031         PR c++/80560
5032         * c.opt (-Wclass-memaccess): New option.
5034 2017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
5036         * c-opts.c (c_common_finish): Handle '-' special value to -MF.
5038 2017-06-13  Marek Polacek  <polacek@redhat.com>
5040         PR objc/80949
5041         * c-warn.c (do_warn_duplicated_branches): Return if any of the
5042         branches is null.
5044 2017-06-13  Martin Liska  <mliska@suse.cz>
5046         PR sanitize/78204
5047         * c-attribs.c (add_no_sanitize_value): New function.
5048         (handle_no_sanitize_attribute): Likewise.
5049         (handle_no_sanitize_address_attribute): Use the function.
5050         (handle_no_sanitize_thread_attribute): New function.
5051         (handle_no_address_safety_analysis_attribute): Use
5052         add_no_sanitize_value.
5053         (handle_no_sanitize_undefined_attribute): Likewise.
5054         * c-common.h: Declare new functions.
5055         * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
5056         (ubsan_instrument_shift): Likewise.
5057         (ubsan_instrument_bounds): Likewise.
5058         (ubsan_maybe_instrument_array_ref): Likewise.
5059         (ubsan_maybe_instrument_reference_or_call): Likewise.
5061 2017-06-11  Jason Merrill  <jason@redhat.com>
5063         * c-ada-spec.c, c-pragma.c: Use id_equal.
5065 2017-06-04  Marek Polacek  <polacek@redhat.com>
5067         PR c/80919
5068         * c-format.c (matching_type_p): Return false if any of the types
5069         requires structural equality.
5071 2017-06-02  Martin Sebor  <msebor@redhat.com>
5073         PR c/80892
5074         * c-warn.c (conversion_warning): Use -Wconversion for integer
5075         conversion and -Wfloat-conversion for floating one.
5077 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5079         * c.opt (Wsizeof-pointer-div): New warning option.
5081 2017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
5083         * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
5084         (Wcatch-value=1): Enable by -Wall.
5086 2017-05-30  David Malcolm  <dmalcolm@redhat.com>
5088         * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
5089         format_chars.
5090         * c.opt (fdiagnostics-show-template-tree): New option.
5091         (felide-type): New option.
5093 2017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
5095         * c.opt (Wcatch-value=): New C++ warning flag.
5097 2017-05-24  Nathan Sidwell  <nathan@acm.org>
5099         * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
5100         const casts to avoid warning.
5102 2017-05-24  Martin Sebor  <msebor@redhat.com>
5104         PR c/80731
5105         * c-common.h (unsafe_conversion_p): Add a function argument.
5106         * c-common.c (unsafe_conversion_p): Same.
5107         Add type names and values to diagnostics.
5108         (scalar_to_vector): Adjust.
5109         * c-warn.c (constant_expression_error): Add a function argument.
5110         Add type names and values to diagnostics.
5111         (conversion_warning): Add a function argument.
5112         Add type names and values to diagnostics.
5113         (warnings_for_convert_and_check): Same.
5115 2017-05-19  Jason Merrill  <jason@redhat.com>
5117         * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
5118         enumerators.
5120 2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5122         * c-format.c (locus): Move out of function scope,
5123         add GTY attribute.
5125 2017-05-19  Nathan Sidwell  <nathan@acm.org>
5127         * c-opts.c (class_dump_file, class_dump_flags): Delete.
5128         (c_common_parse_file): Remove class dump handling.
5129         (get_dump_info): Likewise.
5131 2017-05-19  Richard Biener  <rguenther@suse.de>
5133         PR c++/80593
5134         * c-warn.c (strict_aliasing_warning): Do not warn for accesses
5135         to alias-set zero memory.
5137 2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5139         * c-format.c (local_tree_type_node): Add GTY attribute.
5141 2017-05-18  Marek Polacek  <polacek@redhat.com>
5143         * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
5144         (c_common_fixed_point_type_for_size): Likewise.
5145         (c_common_type_for_mode): Likewise.
5146         (shorten_compare): Likewise.
5147         (c_promoting_integer_type_p): Use false/true instead of 0/1.
5148         * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
5150 2017-05-18  Marek Polacek  <polacek@redhat.com>
5152         * c-common.c (self_promoting_args_p): Change the return type to bool.
5153         Use false/true instead of 0/1.
5154         * c-common.h (self_promoting_args_p): Update.
5156 2017-05-17  Marek Polacek  <polacek@redhat.com>
5158         * c-common.c: Use NULL_TREE instead of 0 where appropriate.
5159         * c-warn.c: Likewise.
5161 2017-05-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
5163         Implement new C++ intrinsics __is_assignable and __is_constructible.
5164         * c-common.c (__is_assignable, __is_constructible): New.
5165         * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
5167 2017-05-17  Martin Liska  <mliska@suse.cz>
5169         * c-common.h: Introduce dump_flags_t type and
5170         use it instead of int type.
5171         * c-gimplify.c (c_genericize): Likewise.
5172         * c-opts.c: Likewise.
5174 2017-05-17  Marek Polacek  <polacek@redhat.com>
5176         * c-common.c (c_save_expr): Remove.
5177         (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5178         * c-common.h (c_save_expr): Remove declaration.
5180 2017-05-09  Volker Reichelt  <v.reichelt@netcologne.de>
5182         PR c/35441
5183         * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
5184         MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
5185         (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
5186         (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
5187         RDIV_EXPR.
5188         (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
5190 2017-05-09  Marek Polacek  <polacek@redhat.com>
5192         PR c/80525
5193         * c-warn.c (unwrap_c_maybe_const): New.
5194         (warn_logical_operator): Call it.
5196 2017-05-09  Nathan Sidwell  <nathan@acm.org>
5198         * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
5199         * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
5201 2017-05-08  Martin Sebor  <msebor@redhat.com>
5203         PR translation/80280
5204         * c-format.h (struct format_flag_spec): Add new member.
5205         (T89_T): New macro.
5206         * c-format.c (local_tree_type_node): New global.
5207         (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
5208         (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
5209         (strfmon_flag_specs): Likewise.
5210         (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
5211         with distinct quoting properties.
5212         (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
5213         (flag_chars_t::validate): Add argument and handle bad quoting.
5214         (check_format_info_main): Handle quoting problems.
5215         (init_dynamic_diag_info): Simplify.
5217 2017-05-08  Jason Merrill  <jason@redhat.com>
5219         * c-opts.c (c_common_post_options): Update defaults for
5220         flag_abi_version and flag_abi_compat_version.
5222 2017-05-05  David Malcolm  <dmalcolm@redhat.com>
5224         * c-common.c (c_cpp_error): Replace report_diagnostic
5225         with diagnostic_report_diagnostic.
5227 2017-05-04  Martin Sebor  <msebor@redhat.com>
5229         PR translation/80280
5230         * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
5231         (handle_weakref_attribute): Same.
5233 2017-05-03  Nathan Sidwell  <nathan@acm.org>
5235         Canonicalize canonical type hashing
5236         * c-common.c (complete_array_type): Use type_hash_canon.
5238 2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
5240         PR c++/80038
5241         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
5242         prototype.
5243         (cilk_install_body_pedigree_operations): Likewise.
5244         * cilk.c (cilk_set_spawn_marker): Mark functions that should be
5245         detatched.
5246         (cilk_gimplify_call_params_in_spawned_fn): Remove.
5247         (cilk_install_body_pedigree_operations): Likewise.
5248         (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
5249         unwrapping.
5251 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
5253         PR c++/80534
5254         * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
5255         flag on non-aggregate element types.
5257 2017-04-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5259         * c-common.c (c_type_hasher, type_hash_table): Remove.
5260         (c_common_get_alias_set): Remove unreachable code.
5261         * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
5263 2017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
5265         * c.opt (Wextra-semi): New C++ warning flag.
5267 2017-04-20  Jakub Jelinek  <jakub@redhat.com>
5269         PR middle-end/80423
5270         * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
5272 2017-04-18  Jakub Jelinek  <jakub@redhat.com>
5274         PR middle-end/79788
5275         PR middle-end/80375
5276         * c-common.c (c_common_type_for_mode): Don't handle
5277         widest_*_literal_type_node here.
5278         c_common_signed_or_unsigned_type): Likewise.
5279         (c_common_nodes_and_builtins): Set widest_*_literal_type_node
5280         to *intTI_type_node or *intDI_type_node depending on whether
5281         TImode is supported by the target or not.
5283 2017-04-10  Martin Liska  <mliska@suse.cz>
5285         PR sanitizer/80350
5286         * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
5287         doing an UBSAN check.
5289 2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
5291         * c-warn.c (do_warn_double_promotion): Fix typo in comment.
5293 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
5295         PR c++/79572
5296         * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
5297         tree *.
5298         * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise.  Handle
5299         not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
5300         REFERENCE_TYPE.
5302 2017-03-31  David Malcolm  <dmalcolm@redhat.com>
5304         PR documentation/78732
5305         * c.opt (Wendif-labels): Fix description to refer to
5306         #else rather than #elif.
5308 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
5310         PR libstdc++/80251
5311         * c-common.h (enum rid): Add RID_IS_AGGREGATE.
5312         * c-common.c (c_common_reswords): Add __is_aggregate trait.
5314 2017-03-27  Jakub Jelinek  <jakub@redhat.com>
5316         PR middle-end/80162
5317         * c-common.c (c_common_mark_addressable_vec): Don't set
5318         TREE_ADDRESSABLE on DECL_HARD_REGISTER.
5320 2017-03-21  Martin Sebor  <msebor@redhat.com>
5322         PR c++/79548
5323         * c-common.c (set_underlying_type): Mark type used only when
5324         original del is declared unused.
5326 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
5328         PR translation/79848
5329         * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
5330         "%qs".
5332 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
5334         PR c/79921
5335         * c-indentation.c (warn_for_misleading_indentation): Remove parens
5336         from inform's message, so that xgettext can locate it.
5338 2017-03-09  Marek Polacek  <polacek@redhat.com>
5340         PR c++/79962
5341         PR c++/79984
5342         * c-attribs.c (handle_nonnull_attribute): Save the result of default
5343         conversion to the attribute list.
5345 2017-03-09  Martin Liska  <mliska@suse.cz>
5347         * c-ada-spec.c (macro_length): Increment value instead of a pointer.
5349 2017-03-03  Jason Merrill  <jason@redhat.com>
5351         * c.opt (Wnoexcept-type): New.
5353 2017-03-02  Richard Biener  <rguenther@suse.de>
5355         PR c/79756
5356         * c-common.c (c_common_mark_addressable_vec): Look through
5357         C_MAYBE_CONST_EXPR.
5359 2017-02-28  Martin Liska  <mliska@suse.cz>
5361         * c.opt: Replace space with tabular for options of <number>
5362         type.
5364 2017-02-28  Martin Liska  <mliska@suse.cz>
5366         * c.opt: Fix --help=option -Q for options which are of
5367         an enum type.
5369 2017-02-24  Jakub Jelinek  <jakub@redhat.com>
5371         PR c++/79588
5372         * c-common.c (check_function_restrict): New function.
5373         (check_function_arguments): Add FNDECL argument.  Call
5374         check_function_restrict if -Wrestrict.
5375         * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
5376         and NARGS.  Use auto_vec for ARG_POSITIONS, simplify.
5377         * c-common.h (check_function_arguments): Add FNDECL argument.
5378         (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
5380 2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
5382         * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
5383         treatment of parameters with pointer-to-tagged type and tidy up.
5384         (print_ada_methods): Remove the special treatment of C++ static member
5385         functions.
5387 2017-02-22  Martin Liska  <mliska@suse.cz>
5389         * c.opt: Replace inequality signs with square brackets
5390         for -Wnornalized.
5392 2017-02-21  Jakub Jelinek  <jakub@redhat.com>
5394         PR c++/79641
5395         * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
5396         preserve quals.
5398 2017-02-17  Joseph Myers  <joseph@codesourcery.com>
5400         * c-cppbuiltin.c (builtin_define_float_constants): Define
5401         __DECIMAL_DIG__ to the value for long double.
5403 2017-02-15  Marek Polacek  <polacek@redhat.com>
5405         PR c/79515
5406         * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
5407         conversion has occured.
5409 2017-01-24  David Malcolm  <dmalcolm@redhat.com>
5411         * c-common.c (c_common_reswords): Add "__RTL".
5412         * c-common.h (enum rid): Add RID_RTL.
5414 2017-01-20  Marek Polacek  <polacek@redhat.com>
5416         PR c/64279
5417         * c-common.h (do_warn_duplicated_branches_r): Declare.
5418         * c-gimplify.c (c_genericize): Walk the function tree calling
5419         do_warn_duplicated_branches_r.
5420         * c-warn.c (expr_from_macro_expansion_r): New.
5421         (do_warn_duplicated_branches): New.
5422         (do_warn_duplicated_branches_r): New.
5423         * c.opt (Wduplicated-branches): New option.
5425 2017-01-17  David Malcolm  <dmalcolm@redhat.com>
5427         PR c++/71497
5428         * c-indentation.c (warn_for_misleading_indentation): Use the past
5429         subjunctive in the note.
5431 2017-01-17  Aldy Hernandez  <aldyh@redhat.com>
5433         PR c/79116
5434         * array-notation-common.c (cilkplus_extract_an_triplets): Convert
5435         start type to integer_type.
5437 2017-01-16  Jakub Jelinek  <jakub@redhat.com>
5439         PR driver/49726
5440         * c.opt (gen-decls): Add Driver flag.
5442 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
5444         Revert:
5445         2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
5447         PR c++/71737
5448         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5450 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
5452         PR c++/71737
5453         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5455 2017-01-12  Martin Sebor  <msebor@redhat.com>
5457         (-Wformat-overflow): ...to this.
5459 2017-01-11  Martin Sebor  <msebor@redhat.com>
5461         PR c/78768
5462         * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
5463         Also enable for LTO.
5465 2017-01-10  Jason Merrill  <jason@redhat.com>
5467         Implement P0195R2, C++17 variadic using.
5468         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
5470 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
5472         PR translation/79019
5473         PR translation/79020
5474         * c.opt (Wnormalized=): Fix typo in description.
5476 2017-01-08  Martin Sebor  <msebor@redhat.com>
5478         PR middle-end/77708
5479         * c.opt (-Wformat-truncation): New option.
5481 2017-01-06  Alexandre Oliva  <aoliva@redhat.com>
5483         * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
5484         value to unsigned short to fit in 4 hex digits without
5485         warnings.
5487 2017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5489         * c.opt (fsso-struct): Add 'native' value.
5491 2017-01-05  Martin Liska  <mliska@suse.cz>
5493         PR pch/78970
5494         * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
5495         header.
5497 2017-01-04  Marek Polacek  <polacek@redhat.com>
5499         PR c++/64767
5500         * c.opt (Wpointer-compare): New option.
5502 2017-01-04  Jakub Jelinek  <jakub@redhat.com>
5504         PR driver/78957
5505         * c.opt (fsso-struct=): Add RejectNegative.
5507 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
5509         Update copyright years.
5511 2016-12-29  Martin Liska  <mliska@suse.cz>
5513         PR c/78933
5514         * c.opt (strong-eval-order): Add RejectNegative keyword.
5516 2016-12-22  Jason Merrill  <jason@redhat.com>
5518         Implement P0522R0, matching of template template arguments.
5519         * c-cppbuiltin.c (c_cpp_builtins): Define
5520         __cpp_template_template_args.
5522 2016-12-21  Jakub Jelinek  <jakub@redhat.com>
5524         PR bootstrap/78817
5525         * c-common.c (struct nonnull_arg_ctx): New type.
5526         (check_function_nonnull): Return bool instead of void.  Use
5527         nonnull_arg_ctx as context rather than just location_t.
5528         (check_nonnull_arg): Adjust for the new context type, set
5529         warned_p to true if a warning has been diagnosed.
5530         (check_function_arguments): Return bool instead of void.
5531         * c-common.h (check_function_arguments): Adjust prototype.
5533 2016-12-21  Jason Merrill  <jason@redhat.com>
5535         * c.opt (-fnew-ttp-matching): New flag.
5536         * c-opts.c (c_common_post_options): Default on if -std=c++1z.
5538 2016-12-14  Martin Jambor  <mjambor@suse.cz>
5540         * c-omp.c: Include omp-general.h instead of omp-low.h.
5541         (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
5542         name.
5544 2016-12-14  Martin Sebor  <msebor@redhat.com>
5546         PR c/17308
5547         * c-common.c (check_nonnull_arg): Disable when optimization
5548         is enabled.
5550 2016-12-12  Marek Polacek  <polacek@redhat.com>
5552         PR c++/78647
5553         * c-common.c (attribute_fallthrough_p): Return false for
5554         error_mark_node.
5556 2016-12-08  Martin Sebor  <msebor@redhat.com>
5558         PR c/78284
5559         * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
5561 2016-12-08  Martin Sebor  <msebor@redhat.com>
5563         PR c/78165
5564         * c-pretty-print (pp_c_integer_constant): Avoid formatting type
5565         suffix.
5567 2016-12-07  Martin Sebor  <msebor@redhat.com>
5569         PR c/53562
5570         PR middle-end/77784
5571         PR middle-end/78149
5572         PR middle-end/78138
5573         * c.opt (-Wstringop-overflow): New option.
5575 2016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
5577         * c-attribs.c (asan odr indicator): New attribute.
5578         (handle_asan_odr_indicator_attribute): New function.
5580 2016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
5582         * c-common.c (c_common_nodes_and_builtins): Remove initialization of
5583         ptrdiff_type_node;
5585 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
5587         * c-common.c (excess_precision_mode_join): New.
5588         (c_ts18661_flt_eval_method): New.
5589         (c_c11_flt_eval_method): Likewise.
5590         (c_flt_eval_method): Likewise.
5591         * c-common.h (excess_precision_mode_join): New.
5592         (c_flt_eval_method): Likewise.
5593         * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
5594         (cpp_iec_559_value): Call it.
5595         (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
5596         call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
5597         __FLT_EVAL_METHOD_TS_18661_3__.
5599 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
5601         * c-opts.c (c_common_post_options): Add logic to handle the default
5602         case for -fpermitted-flt-eval-methods.
5604 2016-11-23  Paolo Bonzini  <bonzini@gnu.org>
5606         * c.opt (Wexpansion-to-defined): New.
5608 2016-11-23  Jakub Jelinek  <jakub@redhat.com>
5610         PR target/78451
5611         * c-pragma.c (handle_pragma_target): Don't replace
5612         current_target_pragma, but chainon the new args to the current one.
5614 2016-11-22  Nathan Sidwell  <nathan@acm.org>
5616         * array-notation-common.c (cilkplus_extract_an_trplets): Fix
5617         indentation and formatting.
5619 2016-11-21  Martin Sebor  <msebor@redhat.com>
5621         * c.opt (-fprintf-return-value): Enable by default.
5623 2016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5625         PR c++/71973
5626         * c.opt (-Wbuiltin-declaration-mismatch): New warning.
5627         * c-common.c (c_common_nodes_and_builtins): Initialize
5628         const_tm_ptr_type_node.
5630 2016-11-16  Marek Polacek  <polacek@redhat.com>
5632         PR c/78285
5633         * c-common.c (c_add_case_label): Turn error_at calls into inform.
5635 2016-11-14  Jakub Jelinek  <jakub@redhat.com>
5637         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
5639 2016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
5640             Richard Biener  <rguenther@suse.de>
5642         * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
5643         * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
5644         * c.opt (fgimple): New option.
5646 2016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
5648         PR c/35503
5649         * c-common.h (warn_for_restrict): Declare.
5650         * c-warn.c: Include gcc-rich-location.h.
5651         (warn_for_restrict): New function.
5652         * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
5653         (gcc_cdiag_char_table): Likewise.
5654         (gcc_cxxdiag_char_table): Likewise.
5655         * c.opt (Wrestrict): New option.
5657 2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
5659         * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
5660         for nested types only if the type is a record or union and dump SLOC.
5662 2016-11-09  Jason Merrill  <jason@redhat.com>
5664         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
5666 2016-11-09  Jakub Jelinek  <jakub@redhat.com>
5668         * c-ubsan.c (ubsan_instrument_shift): Handle split
5669         -fsanitize=shift-base and -fsanitize=shift-exponent.
5671 2016-11-07  Jason Merrill  <jason@redhat.com>
5673         * c.opt (Wc++1z-compat): New.
5674         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
5676 2016-11-07  Martin Liska  <mliska@suse.cz>
5678         * c-warn.c (warn_for_unused_label): Save all labels used
5679         in goto or in &label.
5681 2016-11-03  Jason Merrill  <jason@redhat.com>
5683         * c-cppbuiltin.c (c_cpp_builtins): Correct
5684         __cpp_inheriting_constructors.
5686 2016-11-01  Jason Merrill  <jason@redhat.com>
5688         * c-cppbuiltin.c (c_cpp_builtins): Update
5689         __cpp_inheriting_constructors.
5691         * c.opt (-fnew-inheriting-ctors): New.
5692         * c-opts.c: Default to on for ABI 11+.
5694 2016-10-31  Jakub Jelinek  <jakub@redhat.com>
5696         PR c++/77948
5697         * c.opt (fext-numeric-literals): Add Var and Init.
5698         * c-opts.c (c_common_handle_option): Don't clear
5699         cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
5700         (c_common_post_options): Clear it here if not set
5701         explicitly.
5703 2016-10-28  Aldy Hernandez  <aldyh@redhat.com>
5705         PR debug/77773
5706         * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
5707         if NULL.
5709 2016-10-25  Jakub Jelinek  <jakub@redhat.com>
5711         * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
5712         * c-common.c (c_common_reswords): Add __builtin_launder.
5714 2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5716         * c-common.c (c_common_truthvalue_conversion): Warn for
5717         multiplications in boolean context.  Fix the quoting of '<<' and '<'
5718         in the shift warning.
5720 2016-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5722         * c-common.c (c_common_truthvalue_conversion): Fix the comment.
5724 2016-10-20  Jason Merrill  <jason@redhat.com>
5726         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
5728 2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5730         * c-common.c (c_common_truthvalue_conversion): Warn only for signed
5731         integer shift ops in boolean context.
5733 2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
5735         * c.opt (Walloca): New.
5736         (Walloca-larger-than=): New.
5737         (Wvla-larger-than=): New.
5739 2016-10-17  Marek Polacek  <polacek@redhat.com>
5741         * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
5742         Return immediately when finding a match.
5743         (warn_tautological_cmp): Remove a boolean variable that is no longer
5744         needed.
5746 2016-10-17  Marek Polacek  <polacek@redhat.com>
5748         * c-attribs.c: New file.
5749         * c-common.c: Move attributes handling to c-attribs.c.
5750         (get_nonnull_operand): No longer static.
5751         * c-common.h: Move the declarations from c-attribs.c to its own section.
5753 2016-10-14  Jason Merrill  <jason@redhat.com>
5755         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
5756         and __cpp_deduction_guides.
5758 2016-10-13  Jason Merrill  <jason@redhat.com>
5760         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
5762 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5764         * c-cppbuiltin.c: Include memmodel.h.
5765         * c-opts.c: Likewise.
5766         * c-pragma.c: Likewise.
5767         * c-warn.c: Likewise.
5769 2016-10-12  Jakub Jelinek  <jakub@redhat.com>
5771         * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
5772         (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
5773         * c-opts.c (sanitize_cpp_opts): Initialize
5774         cpp_opts->cpp_warn_implicit_fallthrough.
5776 2016-10-11  Marek Polacek  <polacek@redhat.com>
5778         * c-common.c (warning_candidate_p): Change the return type to bool
5779         and return true/false instead of 1/0.
5780         (vector_mode_valid_p): Likewise.
5782 2016-10-11  Marek Polacek  <polacek@redhat.com>
5784         * c-common.c (fold_for_warn): No longer static.
5785         (bool_promoted_to_int_p): Likewise.
5786         (c_common_get_narrower): Likewise.
5787         (constant_expression_warning): Move to c-warn.c.
5788         (constant_expression_error): Likewise.
5789         (overflow_warning): Likewise.
5790         (warn_logical_operator): Likewise.
5791         (find_array_ref_with_const_idx_r): Likewise.
5792         (warn_tautological_cmp): Likewise.
5793         (expr_has_boolean_operands_p): Likewise.
5794         (warn_logical_not_parentheses): Likewise.
5795         (warn_if_unused_value): Likewise.
5796         (strict_aliasing_warning): Likewise.
5797         (sizeof_pointer_memaccess_warning): Likewise.
5798         (check_main_parameter_types): Likewise.
5799         (conversion_warning): Likewise.
5800         (warnings_for_convert_and_check): Likewise.
5801         (match_case_to_enum_1): Likewise.
5802         (match_case_to_enum): Likewise.
5803         (c_do_switch_warnings): Likewise.
5804         (warn_for_omitted_condop): Likewise.
5805         (readonly_error): Likewise.
5806         (lvalue_error): Likewise.
5807         (invalid_indirection_error): Likewise.
5808         (warn_array_subscript_with_type_char): Likewise.
5809         (warn_about_parentheses): Likewise.
5810         (warn_for_unused_label): Likewise.
5811         (warn_for_div_by_zero): Likewise.
5812         (warn_for_memset): Likewise.
5813         (warn_for_sign_compare): Likewise.
5814         (do_warn_double_promotion): Likewise.
5815         (do_warn_unused_parameter): Likewise.
5816         (record_locally_defined_typedef): Likewise.
5817         (maybe_record_typedef_use): Likewise.
5818         (maybe_warn_unused_local_typedefs): Likewise.
5819         (maybe_warn_bool_compare): Likewise.
5820         (maybe_warn_shift_overflow): Likewise.
5821         (warn_duplicated_cond_add_or_warn): Likewise.
5822         (diagnose_mismatched_attributes): Likewise.
5823         * c-common.h: Move the declarations from c-warn.c to its own section.
5824         * c-warn.c: New file.
5826 2016-10-08  Jason Merrill  <jason@redhat.com>
5828         * c-common.c (c_common_truthvalue_conversion): Don't distribute
5829         into COND_EXPR in C++.
5831 2016-10-08  Jakub Jelinek  <jakub@redhat.com>
5833         * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
5834         token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
5835         CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
5837 2016-10-07  Jakub Jelinek  <jakub@redhat.com>
5839         Implement LWG2296 helper intrinsic
5840         * c-common.h (enum rid): Add RID_ADDRESSOF.
5841         * c-common.c (c_common_reswords): Add __builtin_addressof.
5843 2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5845         PR c++/77700
5846         * c-common.c (c_common_truthvalue_conversion): Warn also for
5847         suspicious enum values in boolean context.
5849 2016-10-06  Jakub Jelinek  <jakub@redhat.com>
5851         Implement P0258R2 - helper for C++17
5852         std::has_unique_object_representations trait
5853         * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
5854         * c-common.c (c_common_reswords): Add
5855         __has_unique_object_representations.
5857 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
5859         PR sanitizer/66343
5860         * c-ubsan.c (ubsan_instrument_return): Don't call
5861         initialize_sanitizer_builtins here.
5863 2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5865         * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
5866         conditional expression in boolean context when only one arm is
5867         non-boolean.
5869 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
5871         PR sanitizer/77823
5872         * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
5873         is not integral.
5875         * c-common.c (c_common_reswords): Update comment for C++11.
5877 2016-10-04  Jason Merrill  <jason@redhat.com>
5879         * c-common.c (make_tree_vector_from_ctor): New.
5880         * c-common.h: Declare it.
5882 2016-10-04  Jakub Jelinek  <jakub@redhat.com>
5884         * c-cppbuiltin.c (c_cpp_builtins): Don't define
5885         __LIBGCC_JCR_SECTION_NAME__.
5887 2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5889         * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
5890         left shift in boolean context.
5892 2016-09-29  Jakub Jelinek  <jakub@redhat.com>
5894         Implement P0001R1 - C++17 removal of register storage class specifier
5895         * c.opt (Wregister): New warning.
5896         * c-opts.c (c_common_post_options): Enable -Wregister by
5897         default for C++17.
5899 2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
5901         * c-opts.c (c_common_post_options): Remove special case for
5902         TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
5903         in C++.
5905 2016-09-27  Jakub Jelinek  <jakub@redhat.com>
5907         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
5908         -std=c++1z.
5910         * c-ada-spec.c (print_ada_declaration): Remove break after return.
5912 2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5914         * c-common.c: Include memmodel.h.
5916 2016-09-26  Marek Polacek  <polacek@redhat.com>
5918         * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
5920 2016-09-26  Marek Polacek  <polacek@redhat.com>
5922         PR c/7652
5923         * c-common.c (c_common_attribute_table): Add fallthrough attribute.
5924         (handle_fallthrough_attribute): New function.
5925         (attribute_fallthrough_p): New function.
5926         * c-common.h (attribute_fallthrough_p): Declare.
5928 2016-09-24  Marek Polacek  <polacek@redhat.com>
5930         PR c/77490
5931         * c.opt (Wbool-operation): New.
5933 2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5935         * c-common.c (c_common_truthvalue_conversion): Inhibit
5936         Wint-in-bool-context warning with from_macro_definition_at.
5937         Mention the expression will always evaluate to true.
5939 2016-09-21  Martin Sebor  <msebor@redhat.com>
5941         PR bootstrap/77676
5942         * c.opt (fprintf-return-value): Temporarily initialize to zero
5943         to unblock bootstrap failures.
5945 2016-09-21  Jakub Jelinek  <jakub@redhat.com>
5947         PR c++/77651
5948         * c.opt (Waligned-new=): Add RejectNegative.
5949         (faligned-new=): Likewise.  Spelling fix - change
5950         aligned_new_threshhold to aligned_new_threshold.
5951         * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
5952         to aligned_new_threshold.
5954 2016-09-20  Martin Sebor  <msebor@redhat.com>
5956         PR middle-end/49905
5957         * c.opt: Add -Wformat-length and -fprintf-return-value.
5959 2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5961         PR c++/77434
5962         * c.opt (Wint-in-bool-context): New warning.
5963         * c-common.c (c_common_truthvalue_conversion): Warn on integer
5964         constants in boolean context.
5966 2016-09-19  Joseph Myers  <joseph@codesourcery.com>
5968         * c-common.c (max_align_t_align): Also consider alignment of
5969         float128_type_node.
5971 2016-09-15  Jason Merrill  <jason@redhat.com>
5973         * c-common.c (check_cxx_fundamental_alignment_constraints): Check
5974         DECL_EXTERNAL.
5976 2016-09-14  Jason Merrill  <jason@redhat.com>
5978         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
5979         limit FIELD_DECL, either.
5981 2016-09-14  Marek Polacek  <polacek@redhat.com>
5983         * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
5984         * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
5985         * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
5987 2016-09-13  David Malcolm  <dmalcolm@redhat.com>
5989         * c-common.c (warn_logical_not_parentheses): Replace
5990         rich_location::add_fixit_insert calls with add_fixit_insert_before
5991         and add_fixit_insert_after, eliminating the "next_loc" calculation.
5993 2016-09-13  Jason Merrill  <jason@redhat.com>
5994             Tom de Vries  <tom@codesourcery.com>
5996         PR c++/77427
5997         * c-common.c (set_underlying_type): Don't treat array as builtin type.
5999 2016-09-13  Jason Merrill  <jason@redhat.com>
6001         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
6002         limit types at all.
6004 2016-09-12  Jason Merrill  <jason@redhat.com>
6006         * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
6007         bit/byte confusion, allow large alignment for types.
6009 2016-09-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6011         PR c++/77496
6012         * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
6014 2016-09-12  David Malcolm  <dmalcolm@redhat.com>
6016         PR c/72858
6017         * c-format.c (argument_parser::check_argument_type): Add params
6018         "type_start" and "conversion_char".  Use the former to generate
6019         offset_to_type_start and pass it and conversion_char to
6020         check_format_types.
6021         (check_format_info_main): Capture the start of the type
6022         information as "type_start", and pass it an format_char
6023         to arg_parser.check_argument_type.
6024         (check_format_types): Provide an example in the leading comment.
6025         Add params "offset_to_type_start" and "conversion_char"; pass
6026         them to format_type_warning calls.
6027         (test_get_modifier_for_format_len): Likewise.
6028         (matching_type_p): New function.
6029         (get_format_for_type): Add param "conversion_char" and move
6030         implementation into...
6031         (get_format_for_type_1): ...new function, called twice.
6032         Use new function matching_type_p rather than checking for
6033         TYPE_CANONICAL equality.
6034         (get_corrected_substring): New function.
6035         (format_type_warning): Provide an example in the leading comment.
6036         Add params "offset_to_type_start" and "conversion_char".  Replace
6037         call to get_format_for_type with call to get_corrected_substring
6038         and move rejection of hints for widths/precisions there.
6039         (assert_format_for_type_streq): Add param "conversion_char".
6040         (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
6041         (test_get_format_for_type_printf): Add conversion chars to the
6042         tests, adding coverage for various combinations of integer
6043         vs double conversions, and for preserving octal and hexadecimal
6044         conversions.
6045         (test_get_format_for_type_scanf): Add conversion chars to the
6046         tests.
6048 2016-09-10  Tom de Vries  <tom@codesourcery.com>
6050         PR C/71602
6051         * c-common.c (build_va_arg): Handle more strict
6052         targetm.canonical_va_list_type.  Replace first argument type error with
6053         assert.
6055 2016-09-09  Martin Sebor  <msebor@redhat.com>
6057         PR c/77520
6058         PR c/77521
6059         * c-format.c (argument_parser::find_format_char_info): Use %qc
6060         format directive unconditionally.
6062 2016-09-09  Jason Merrill  <jason@redhat.com>
6064         Implement C++17 new of over-aligned types.
6065         * c.opt: Add -faligned-new and -Waligned-new.
6066         * c-common.c (max_align_t_align): Split out from...
6067         (cxx_fundamental_alignment_p): ...here.
6068         * c-common.h: Declare it.
6069         * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
6071 2016-09-09  Joseph Myers  <joseph@codesourcery.com>
6073         * c-cppbuiltin.c (builtin_define_type_width): New function.
6074         (builtin_define_stdint_macros, c_cpp_builtins): Define type width
6075         macros.
6077 2016-09-07  David Malcolm  <dmalcolm@redhat.com>
6079         * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
6080         a POINTER_TYPE.
6081         (substring_loc::get_location): Move to substring-locations.c,
6082         keeping implementation as...
6083         (c_get_substring_location): New function, from the above, reworked
6084         to use accessors rather than member lookup.
6085         * c-common.h (class substring_loc): Move to substring-locations.h,
6086         replacing with a forward decl.
6087         (c_get_substring_location): New decl.
6088         * c-format.c: Include "substring-locations.h".
6089         (format_warning_va): Move to substring-locations.c.
6090         (format_warning_at_substring): Likewise.
6092 2016-09-06  Martin Sebor  <msebor@redhat.com>
6094         PR c/77336
6095         * c-format.c (check_function_format): Avoid issuing warnings for
6096         functions unless they call format functions with non-constant
6097         format strings.
6099 2016-09-06  Richard Biener  <rguenther@suse.de>
6101         PR c/77450
6102         * c-common.c (c_common_mark_addressable_vec): Handle
6103         COMPOUND_LITERAL_EXPR.
6105 2016-09-05  Marek Polacek  <polacek@redhat.com>
6107         PR c/77423
6108         * c-common.c (bool_promoted_to_int_p): New function.
6109         (expr_has_boolean_operands_p): New function.
6110         (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
6111         (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
6113 2016-09-04  Tom de Vries  <tom@codesourcery.com>
6115         revert:
6116         2016-08-29  Tom de Vries  <tom@codesourcery.com>
6118         * c-common.c (build_va_arg): Replace first argument type error
6119         with assert.
6121 2016-09-02  Jakub Jelinek  <jakub@redhat.com>
6123         PR c/65467
6124         * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
6125         (c_finish_omp_for): Reject _Atomic qualified iterators.
6127 2016-09-01  Martin Sebor  <msebor@redhat.com>
6129         * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
6130         size to guarantee it fits the output of the formatted function
6131         regardless of its arguments.
6133 2016-09-01  Marek Polacek  <polacek@redhat.com>
6135         PR c/7652
6136         * c-common.c (resolve_overloaded_builtin): Fix formatting.  Add
6137         FALLTHRU comments.
6139 2016-08-29  Marek Polacek  <polacek@redhat.com>
6141         PR c/77292
6142         * c-common.c (warn_logical_not_parentheses): Don't warn for
6143         a comparison or a logical operator.
6145 2016-08-29  Tom de Vries  <tom@codesourcery.com>
6147         * c-common.c (build_va_arg): Fix type comparison assert.
6149 2016-08-29  Tom de Vries  <tom@codesourcery.com>
6151         * c-common.c (build_va_arg): Replace first argument type error
6152         with assert.
6154 2016-08-29  Tom de Vries  <tom@codesourcery.com>
6156         PR c/77398
6157         * c-common.c (build_va_arg): Add first argument error.  Build va_arg
6158         with error_mark_node as va_list instead of with illegal va_list.
6160 2016-08-25  Marek Polacek  <polacek@redhat.com>
6161             David Malcolm  <dmalcolm@redhat.com>
6163         * c-common.c (warn_logical_not_parentheses): Print fixit hints.
6164         * c-common.h (warn_logical_not_parentheses): Update declaration.
6166 2016-08-22  Marek Polacek  <polacek@redhat.com>
6168         PR c++/77321
6169         * c-common.c (warn_for_memset): Check type for null.
6171 2016-08-22  Joseph Myers  <joseph@codesourcery.com>
6173         * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6174         _FloatNx types for suffixes for built-in functions.
6176 2016-08-19  Joseph Myers  <joseph@codesourcery.com>
6178         PR c/32187
6179         * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
6180         (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
6181         (RID_FLOAT128X): New enum rid values.
6182         (CASE_RID_FLOATN_NX): New macro.
6183         * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
6184         keywords.
6185         (c_common_type_for_mode): Check for _FloatN and _FloatNx and
6186         corresponding complex types.
6187         (c_common_nodes_and_builtins): For non-C++, register _FloatN and
6188         _FloatNx and corresponding complex types.
6189         (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
6190         * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
6191         and _FloatNx types for the widest type for determining
6192         DECIMAL_DIG.  Define __LDBL_DECIMAL_DIG__ as well as
6193         __DECIMAL_DIG__ for long double.  Handle FMA_SUFFIX being NULL.
6194         (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
6195         and _FloatNx types.
6196         * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
6197         constants.
6198         * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
6199         _FloatNx types.
6201 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
6203         * c-opts.c (c_diagnostic_finalizer): Update for change to
6204         diagnostic_show_locus.
6206 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
6208         * c-common.c: Include "spellcheck.h".
6209         (cb_get_suggestion): New function.
6210         * c-common.h (cb_get_suggestion): New decl.
6211         * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
6212         cb_get_suggestion.
6214 2016-08-18  Marek Polacek  <polacek@redhat.com>
6216         PR c/71514
6217         * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
6218         and pointer-to-VLA.
6220 2016-08-16  David Malcolm  <dmalcolm@redhat.com>
6222         PR c/72857
6223         * c-common.c (substring_loc::get_range): Rename to...
6224         (substring_loc::get_location): ...this, converting param from a
6225         source_range * to a location_t *.  Call
6226         get_source_location_for_substring rather than
6227         get_source_range_for_substring, and pass in m_caret_idx.
6228         * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
6229         (substring_loc::get_range): Replace with...
6230         (substring_loc::get_location): ...this.
6231         (substring_loc::set_caret_index): New method.
6232         (substring_loc): Add field m_caret_idx.
6233         * c-format.c (format_warning_va): Update for above changes.
6234         Rename local "substring_loc" to "fmt_substring_loc" to avoid
6235         clashing with type name.
6236         (format_warning_at_char): Add caret_idx param to substring_loc ctor.
6237         (check_argument_type): Likewise.
6238         (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
6239         Use a copy when emitting warnings, setting the caret index from TYPE.
6241 2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
6242             Arnaud Charlet  <charlet@adacore.com>
6244         * c-ada-spec.c (dump_number): New function.
6245         (handle_escape_character): Likewise.
6246         (print_ada_macros): Add handling of constant integers and strings.
6248 2016-08-12  Marek Polacek  <polacek@redhat.com>
6250         PR c/7652
6251         * c-common.c (scalar_to_vector): Adjust fall through comment.
6252         * c-opts.c (c_common_handle_option): Likewise.
6253         * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
6254         * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
6255         fall through comment.
6256         * cilk.c (extract_free_variables): Add FALLTHRU.
6258 2016-08-10  Jason Merrill  <jason@redhat.com>
6260         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
6262 2016-08-09  Jason Merrill  <jason@redhat.com>
6264         * c-common.c (c_common_attribute_table): vector_size affects type
6265         identity.
6267 2016-08-09  Marek Polacek  <polacek@redhat.com>
6269         PR c/7652
6270         * c-ada-spec.c (dump_generic_ada_node): Add return.
6272 2016-08-09  Jason Merrill  <jason@redhat.com>
6274         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
6275         C++17 constexpr lambdas.
6277 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
6279         PR c/64955
6280         * c-common.h (selftest::c_format_c_tests): New declaration.
6281         (selftest::run_c_tests): New declaration.
6282         * c-format.c: Include "selftest.h.
6283         (format_warning_va): Add param "corrected_substring" and use
6284         it to add a replacement fix-it hint.
6285         (format_warning_at_substring): Likewise.
6286         (format_warning_at_char): Update for new param of
6287         format_warning_va.
6288         (argument_parser::check_argument_type): Pass "fki" to
6289         check_format_types.
6290         (check_format_types): Add param "fki" and pass it to
6291         format_type_warning.
6292         (deref_n_times): New function.
6293         (get_modifier_for_format_len): New function.
6294         (selftest::test_get_modifier_for_format_len): New function.
6295         (get_format_for_type): New function.
6296         (format_type_warning): Add param "fki" and use it to attempt
6297         to provide hints for argument types when calling
6298         format_warning_at_substring.
6299         (selftest::get_info): New function.
6300         (selftest::assert_format_for_type_streq): New function.
6301         (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
6302         (selftest::test_get_format_for_type_printf): New function.
6303         (selftest::test_get_format_for_type_scanf): New function.
6304         (selftest::c_format_c_tests): New function.
6306 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
6308         PR c/52952
6309         * c-format.c: Include "diagnostic.h".
6310         (location_column_from_byte_offset): Delete.
6311         (location_from_offset): Delete.
6312         (format_warning_va): New function.
6313         (format_warning_at_substring): New function.
6314         (format_warning_at_char): New function.
6315         (check_format_arg): Capture location of format_tree and pass to
6316         check_format_info_main.
6317         (argument_parser): Add fields "start_of_this_format" and
6318         "format_string_cst".
6319         (flag_chars_t::validate): Add param "format_string_cst".  Convert
6320         warning_at call using location_from_offset to call to
6321         format_warning_at_char.
6322         (argument_parser::argument_parser): Add param "format_string_cst_"
6323         and use use it to initialize field "format_string_cst".
6324         Initialize new field "start_of_this_format".
6325         (argument_parser::read_format_flags): Convert warning_at call
6326         using location_from_offset to a call to format_warning_at_char.
6327         (argument_parser::read_any_format_left_precision): Likewise.
6328         (argument_parser::read_any_format_precision): Likewise.
6329         (argument_parser::read_any_other_modifier): Likewise.
6330         (argument_parser::find_format_char_info): Likewise, in three places.
6331         (argument_parser::parse_any_scan_set): Likewise, in one place.
6332         (argument_parser::handle_conversions): Likewise, in two places.
6333         (argument_parser::check_argument_type): Add param "fmt_param_loc"
6334         and use it to make a substring_loc.  Pass the latter to
6335         check_format_types.
6336         (check_format_info_main): Add params "fmt_param_loc" and
6337         "format_string_cst".  Convert warning_at calls using
6338         location_from_offset to calls to format_warning_at_char.  Pass the
6339         new params to the arg_parser ctor.  Pass "format_string_cst" to
6340         flag_chars.validate.  Pass "fmt_param_loc" to
6341         arg_parser.check_argument_type.
6342         (check_format_types): Convert first param from a location_t
6343         to a const substring_loc & and rename to "fmt_loc".  Attempt
6344         to extract the range of the relevant parameter and pass it
6345         to format_type_warning.
6346         (format_type_warning): Convert first param from a location_t
6347         to a const substring_loc & and rename to "fmt_loc".  Add
6348         params "param_range" and "type".  Replace calls to warning_at
6349         with calls to format_warning_at_substring.
6351 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
6353         * c-format.c (class flag_chars_t): New class.
6354         (struct length_modifier): New struct.
6355         (class argument_parser): New class.
6356         (flag_chars_t::flag_chars_t): New ctor.
6357         (flag_chars_t::has_char_p): New method.
6358         (flag_chars_t::add_char): New method.
6359         (flag_chars_t::validate): New method.
6360         (flag_chars_t::get_alloc_flag): New method.
6361         (flag_chars_t::assignment_suppression_p): New method.
6362         (argument_parser::argument_parser): New ctor.
6363         (argument_parser::read_any_dollar): New method.
6364         (argument_parser::read_format_flags): New method.
6365         (argument_parser::read_any_format_width): New method.
6366         (argument_parser::read_any_format_left_precision): New method.
6367         (argument_parser::read_any_format_precision): New method.
6368         (argument_parser::handle_alloc_chars): New method.
6369         (argument_parser::read_any_length_modifier): New method.
6370         (argument_parser::read_any_other_modifier): New method.
6371         (argument_parser::find_format_char_info): New method.
6372         (argument_parser::validate_flag_pairs): New method.
6373         (argument_parser::give_y2k_warnings): New method.
6374         (argument_parser::parse_any_scan_set): New method.
6375         (argument_parser::handle_conversions): New method.
6376         (argument_parser::check_argument_type): New method.
6377         (check_format_info_main): Introduce classes argument_parser
6378         and flag_chars_t, moving the code within the loop into methods
6379         of these classes.  Make various locals "const".
6381 2016-08-05  David Malcolm  <dmalcolm@redhat.com>
6383         * c-common.c: Include "substring-locations.h".
6384         (get_cpp_ttype_from_string_type): New function.
6385         (g_string_concat_db): New global.
6386         (substring_loc::get_range): New method.
6387         * c-common.h (g_string_concat_db): New declaration.
6388         (class substring_loc): New class.
6389         * c-lex.c (lex_string): When concatenating strings, capture the
6390         locations of all tokens using a new obstack, and record the
6391         concatenation locations within g_string_concat_db.
6392         * c-opts.c (c_common_init_options): Construct g_string_concat_db
6393         on the ggc-heap.
6395 2016-07-29  Marek Polacek  <polacek@redhat.com>
6397         PR c/71926
6398         * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
6399         parentheses warning.
6401         PR c/71574
6402         * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
6404 2016-07-28  Martin Liska  <mliska@suse.cz>
6406         PR gcov-profile/68025
6407         * c-common.c (handle_no_profile_instrument_function_attribute):
6409 2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6411         * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
6412         BITS_PER_UNIT_LOG.
6414 2016-07-25  Jason Merrill  <jason@redhat.com>
6416         PR c++/65970
6417         * c.opt (fconstexpr-loop-limit): New.
6419 2016-07-22  Martin Sebor  <msebor@redhat.com>
6421         PR c++/71675
6422         * c-common.c (resolve_overloaded_builtin): Avoid converting
6423         __atomic_compare_exchange_n return type to that of what its
6424         first argument points to.
6426 2016-07-22  Uros Bizjak  <ubizjak@gmail.com>
6428         * c-common.c: Use HOST_WIDE_INT_M1U instead of
6429         ~(unsigned HOST_WIDE_INT) 0.
6431 2016-07-22  Martin Liska  <mliska@suse.cz>
6433         PR gcov-profile/69028
6434         PR gcov-profile/62047
6435         * cilk.c (create_cilk_helper_decl): Set location of a new decl
6436         to the current_function_decl.
6438 2016-07-21  Jason Merrill  <jason@redhat.com>
6440         PR c++/65168
6441         * c-common.c (c_common_truthvalue_conversion): Check
6442         c_inhibit_evaluation_warnings for warning about address of
6443         reference.
6445 2016-07-20  David Malcolm  <dmalcolm@redhat.com>
6447         * c-common.h (lookup_name_fuzzy): Convert return type from tree to
6448         const char *.
6450 2016-07-15  Jason Merrill  <jason@redhat.com>
6452         * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
6454 2016-07-15  Jakub Jelinek  <jakub@redhat.com>
6456         PR c/71858
6457         * c-common.h (enum lookup_name_fuzzy_kind): Add
6458         FUZZY_LOOKUP_FUNCTION_NAME.
6460 2016-07-08  Jason Merrill  <jason@redhat.com>
6462         P0145: Refining Expression Order for C++.
6463         * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
6464         * c-opts.c: Adjust.
6466 2016-07-05  Markus Trippelsdorf  <markus@trippelsdorf.de>
6468         PR c++/71214
6469         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
6471 2016-06-29  Thomas Schwinge  <thomas@codesourcery.com>
6473         * c-pragma.h (enum pragma_kind): Rename
6474         PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE.  Adjust all
6475         users.
6477 2016-06-29  Richard Biener  <rguenther@suse.de>
6479         PR middle-end/71002
6480         * c-common.c (c_common_get_alias_set): Remove union type punning case.
6482 2016-06-24  Jason Merrill  <jason@redhat.com>
6484         P0145R2: Refining Expression Order for C++.
6485         * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
6486         MODIFY_EXPR.
6488 2016-06-24  Jakub Jelinek  <jakub@redhat.com>
6490         * c-common.c (check_builtin_function_arguments): Require last
6491         argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
6492         Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
6493         if the last argument is pointer to enumerated or boolean type.
6495 2016-06-22  David Malcolm  <dmalcolm@redhat.com>
6497         PR c/70339
6498         * c-common.h (enum lookup_name_fuzzy_kind): New enum.
6499         (lookup_name_fuzzy): New prototype.
6501 2016-06-21  John David Anglin  <danglin@gcc.gnu.org>
6503         * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
6505 2016-06-14  Jason Merrill  <jason@redhat.com>
6507         P0145R2: Refining Expression Order for C++.
6508         * c.opt (fargs-in-order): New.
6509         * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
6511 2016-06-13  Jakub Jelinek  <jakub@redhat.com>
6513         PR sanitizer/71498
6514         * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
6515         all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6517         PR preprocessor/71183
6518         * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
6519         to cb_get_source_date_epoch.
6521 2016-06-10  Jakub Jelinek  <jakub@redhat.com>
6523         PR c/68657
6524         * c.opt (Wpsabi): Add Warning flag.
6526 2016-06-10  Martin Sebor  <msebor@redhat.com>
6528         PR c/71392
6529         * c-common.c (handle_nonnull_attribute): Accept
6530         the nonnull attribute in type-generic builtins.
6532 2016-06-09  Martin Sebor  <msebor@redhat.com>
6534         PR c/70883
6535         * c-common.c (builtin_function_validate_nargs): Make text of error
6536         message consistent with others like it.
6538 2016-06-08  Martin Sebor  <msebor@redhat.com>
6539             Jakub Jelinek  <jakub@redhat.com>
6541         PR c++/70507
6542         PR c/68120
6543         * c-common.c (check_builtin_function_arguments): Handle
6544         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
6546 2016-06-08  Richard Biener  <rguenther@suse.de>
6548         * c-common.c (parse_optimize_options): Improve diagnostic messages.
6550 2016-06-07  Richard Biener  <rguenther@suse.de>
6552         PR c/61564
6553         * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
6554         options and warn about others.
6556 2016-06-01  Eduard Sanou  <dhole@openmailbox.org>
6558         * c-common.c (get_source_date_epoch): Rename to
6559         cb_get_source_date_epoch.
6560         * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
6561         message when the parsing fails.  Use error_at instead of fatal_error.
6562         * c-common.h (get_source_date_epoch): Rename to
6563         cb_get_source_date_epoch.
6564         * c-common.h (cb_get_source_date_epoch): Prototype.
6565         * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
6566         * c-common.h (c_omp_region_type): Remove trailing comma.
6567         * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
6568         * c-lex.c (c_lex_with_flags): Remove initialization of
6569         pfile->source_date_epoch.
6571 2016-05-30  Jakub Jelinek  <jakub@redhat.com>
6573         PR c++/71349
6574         * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
6575         C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
6576         C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
6577         instead of C_OMP_CLAUSE_SPLIT_FOR.
6579 2016-05-24  Richard Biener  <rguenther@suse.de>
6581         PR middle-end/70434
6582         PR c/69504
6583         * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
6584         (convert_vector_to_array_for_subscript): ... this.
6585         * c-common.c (convert_vector_to_pointer_for_subscript): Use a
6586         VIEW_CONVERT_EXPR to an array type.  Rename to ...
6587         (convert_vector_to_array_for_subscript): ... this.
6589 2016-05-12  Marek Polacek  <polacek@redhat.com>
6591         PR c/70756
6592         * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
6593         size_in_bytes and pass LOC to it.
6595 2016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
6597         PR c/43651
6598         * c.opt (Wduplicate-decl-specifier): New option.
6600 2016-05-11  Marek Polacek  <polacek@redhat.com>
6602         PR c++/71024
6603         * c-common.c (diagnose_mismatched_attributes): New function.
6604         * c-common.h (diagnose_mismatched_attributes): Declare.
6606 2016-05-04  Marek Polacek  <polacek@redhat.com>
6608         * c.opt (Wdangling-else): New option.
6610 2016-05-03  Marek Polacek  <polacek@redhat.com>
6612         PR c/70859
6613         * c-common.c (builtin_function_validate_nargs): Add location
6614         parameter.  Use it.
6615         (check_builtin_function_arguments): Add location and arguments
6616         parameters.  Use them.
6617         * c-common.h (check_builtin_function_arguments): Update declaration.
6619 2016-05-03  Richard Biener  <rguenther@suse.de>
6621         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
6622         allow call args to gimplify to SSA names.
6624 2016-05-03  Marek Polacek  <polacek@redhat.com>
6626         * c-common.h (enum c_omp_region_type): Remove stray comma.
6628 2016-05-02  Cesar Philippidis  <cesar@codesourcery.com>
6630         * c-common.h (enum c_omp_region_type): Define.
6632 2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
6634         * c-common.c (shorten_compare): Use wi::to_wide.
6636 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
6638         PR middle-end/70626
6639         * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
6640         * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
6641         reduction clauses in acc parallel loops.
6643 2016-04-29  Marek Polacek  <polacek@redhat.com>
6645         PR c/70852
6646         * c-common.c (warn_for_memset): Check domain before accessing it.
6648 2016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
6650         PR/69089
6651         * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
6652         "aligned" attribute.
6654 2016-04-28  Jason Merrill  <jason@redhat.com>
6656         * c-lex.c (c_common_has_attribute): Handle nodiscard.
6658 2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
6659             Matthias Klose  <doko@debian.org>
6661         * c-common.c (get_source_date_epoch): New function, gets the environment
6662         variable SOURCE_DATE_EPOCH and parses it as long long with error
6663         handling.
6664         * c-common.h (get_source_date_epoch): Prototype.
6665         * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
6667 2015-04-27  Ryan Burn  <contact@rnburn.com>
6669         PR c++/69024
6670         PR c++/68997
6671         * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
6672         (cilk_recognize_spawn): Renamed from recognize_spawn and change to
6673         external linkage.
6674         (cilk_detect_and_unwrap): Corresponding changes.
6675         (extract_free_variables): Don't extract free variables from
6676         AGGR_INIT_EXPR slot.
6677         * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
6678         (cilk_recognize_spawn): Likewise.
6680 2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
6682         * c.opt (Wmemset-elt-size): New option.
6683         * c-common.c (warn_for_memset): New function.
6684         * c-common.h (warn_for_memset): Declare.
6686 2016-04-25  Jason Merrill  <jason@redhat.com>
6688         * c-common.c (handle_unused_attribute): Accept CONST_DECL.
6689         No longer static.
6690         * c-common.h: Declare it.
6691         * c-lex.c (c_common_has_attribute): Add maybe_unused.
6693 2016-04-22  Jason Merrill  <jason@redhat.com>
6695         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
6697 2016-04-20  Ilya Verbin  <ilya.verbin@intel.com>
6699         PR c++/69363
6700         * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
6701         * c-common.h (c_finish_cilk_clauses): Remove declaration.
6703 2016-04-18  Michael Matz  <matz@suse.de>
6705         * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
6706         and SET_DECL_ALIGN.
6708 2016-04-17  Eric Botcazou  <ebotcazou@adacore.com>
6710         * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
6711         (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
6712         to incomplete types.
6713         (dump_nested_type): Remove redundant tests and tidy up.
6714         (print_ada_declaration): Also set TREE_VISITED on the declaration of
6715         a type which is the typedef of an original type.
6717 2016-04-15  Marek Polacek  <polacek@redhat.com>
6719         PR c/70651
6720         * c-common.c (build_va_arg): Change two asserts into errors and return
6721         error_mark_node.
6723 2016-04-13  Marek Polacek  <polacek@redhat.com>
6725         PR c++/70639
6726         * c-indentation.c (should_warn_for_misleading_indentation): Bail out
6727         for switch statements, too.
6729 2016-03-28  Jason Merrill  <jason@redhat.com>
6731         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
6733 2016-03-23  Marek Polacek  <polacek@redhat.com>
6735         PR c++/69884
6736         * c.opt (Wignored-attributes): New option.
6738 2016-03-22  David Malcolm  <dmalcolm@redhat.com>
6740         PR c/69993
6741         * c-indentation.c (warn_for_misleading_indentation): Rewrite the
6742         diagnostic text, reversing the order of the warning and note so
6743         that they appear in source order.
6745 2016-03-17  Marek Polacek  <polacek@redhat.com>
6747         PR c/69407
6748         * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
6749         operations.
6751 2016-03-14  Jason Merrill  <jason@redhat.com>
6753         * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
6755         * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
6757 2016-03-09  Richard Biener  <rguenther@suse.de>
6759         PR c/70143
6760         * c-common.c (strict_aliasing_warning): Add back
6761         alias_sets_conflict_p check.
6763 2016-03-08  Jason Merrill  <jason@redhat.com>
6765         * c-opts.c (set_std_cxx1z): Don't enable concepts.
6767 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
6769         PR c/68187
6770         * c-indentation.c (get_visual_column): Move code to determine next
6771         tab stop to...
6772         (next_tab_stop): ...this new function.
6773         (line_contains_hash_if): Delete function.
6774         (detect_preprocessor_logic): Delete function.
6775         (get_first_nws_vis_column): New function.
6776         (detect_intervening_unindent): New function.
6777         (should_warn_for_misleading_indentation): Replace call to
6778         detect_preprocessor_logic with a call to
6779         detect_intervening_unindent.
6781 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
6783         PR c/68187
6784         * c-indentation.c (should_warn_for_misleading_indentation): When
6785         suppressing warnings about cases where the guard and body are on
6786         the same column, only use the first non-whitespace column in place
6787         of the guard token column when dealing with "else" clauses.
6788         When rejecting aligned BODY and NEXT, loosen the requirement
6789         from equality with the first non-whitespace of guard to simply
6790         that they not be indented relative to it.
6792 2016-03-04  Richard Biener  <rguenther@suse.de>
6794         PR c++/70054
6795         * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
6796         instead of alias_sets_conflict_p.
6798 2016-03-01  Marek Polacek  <polacek@redhat.com>
6800         PR c++/69795
6801         * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
6802         any DECL.
6804 2016-02-22  Martin Sebor  <msebor@redhat.com>
6806         PR middle-end/69780
6807         * c-common.c (check_builtin_function_arguments): Validate and
6808         reject invalid arguments to __builtin_alloca_with_align.
6810 2016-02-20  Mark Wielaard  <mjw@redhat.com>
6812         PR c/28901
6813         * c.opt (Wunused-const-variable): Turn into Alias for...
6814         (Wunused-const-variable=): New option.
6816 2016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6818         PR c++/69865
6819         * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
6820         here...
6821         (c_common_init_options): ...to here.
6822         (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
6824 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
6826         PR c++/69826
6827         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
6828         (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
6829         flag_preprocess_only.
6831 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
6833         PR c/69835
6834         * c.opt (Wnonnull-compare): Enable for -Wall.
6836 2016-02-15  Jakub Jelinek  <jakub@redhat.com>
6838         PR c++/69797
6839         * c-common.c (sync_resolve_size): Diagnose too few arguments
6840         even when params is non-NULL empty vector.
6842 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
6844         PR target/60410
6845         * c.opt (fshort-double): Remove.
6847 2016-02-05  Martin Sebor  <msebor@redhat.com>
6849         PR c++/69662
6850         * c.opt (Warning options): Update -Wplacement-new to take
6851         an optional argument.
6853 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
6855         PR preprocessor/69543
6856         PR c/69558
6857         * c-pragma.c (handle_pragma_diagnostic): Pass input_location
6858         instead of loc to control_warning_option.
6860 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
6862         * c.opt (fopenacc-dim=): New option.
6864 2016-01-27  Ryan Burn  <contact@rnburn.com>
6866         PR cilkplus/69267
6867         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
6868         gimplify_arg. Removed superfluous post_p argument.
6869         * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
6870         superfluous post_p argument.
6871         * c-gimplify.c (c_gimplify_expr): Likewise.
6873 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
6875         PR other/69006
6876         * c-opts.c (c_diagnostic_finalizer): Replace invocation of
6877         pp_newline_and_flush with pp_flush.
6879 2016-01-20  Martin Sebor  <msebor@redhat.com>
6881         PR c/69405
6882         * c-common.c (sync_resolve_size): Avoid printing diagnostic about
6883         an incompatible argument when the argument isn't a valid tree node.
6885 2016-01-18  Jason Merrill  <jason@redhat.com>
6887         PR c++/68767
6888         * c-common.c (check_function_arguments_recurse): Fold the whole
6889         COND_EXPR, not just the condition.
6891 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6893         * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
6894         classify as loop clause.
6896 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
6898         PR bootstrap/68271
6899         * c-pragma.c (c_register_pragma_1): Adjust comment to note that
6900         C++ FE no longer has limit on number of pragmas.
6902 2015-01-14  Ryan Burn  <contact@rnburn.com>
6904         PR c++/69048
6905         * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
6906         to add missing cleanup point.
6908 2016-01-14  David Malcolm  <dmalcolm@redhat.com>
6910         PR c++/68819
6911         * c-indentation.c (get_visual_column): Add location_t param.
6912         Handle the column number being zero by effectively disabling the
6913         warning, with an "inform".
6914         (should_warn_for_misleading_indentation): Add location_t argument
6915         for all uses of get_visual_column.
6917 2016-01-10  Patrick Palka  <ppalka@gcc.gnu.org>
6919         PR c++/69029
6920         * c-indentation.c (should_warn_for_misleading_indentation):
6921         Don't warn about do-while statements.
6923 2016-01-07  Martin Sebor  <msebor@redhat.com>
6925         PR c/68966
6926         * c-common.c (sync_resolve_size): Reject first argument when it's
6927         a pointer to _Bool.
6929 2016-01-05  David Malcolm  <dmalcolm@redhat.com>
6931         PR c/69122
6932         * c-indentation.c (get_visual_column): Remove default argument.
6933         (should_warn_for_misleading_indentation): For the multiline case,
6934         update call to get_visual_column for next_stmt_exploc so that it
6935         captures the location of the first non-whitespace character in the
6936         relevant line.  Don't issue warnings if there is non-whitespace
6937         before the next statement.
6939 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
6941         Update copyright years.
6943 2015-12-21  David Malcolm  <dmalcolm@redhat.com>
6945         * c-common.c (binary_op_error): Convert first param from
6946         location_t to rich_location * and use it when emitting an error.
6947         * c-common.h (binary_op_error): Convert first param from
6948         location_t to rich_location *.
6950 2015-12-16  David Malcolm  <dmalcolm@redhat.com>
6952         * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
6953         * c-lex.c (conflict_marker_get_final_tok_kind): New function.
6955 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
6957         * c-common.c (c_common_attribute_table): Handle "omp declare target
6958         link" attribute.
6960 2015-12-14  Jakub Jelinek  <jakub@redhat.com>
6962         PR c/68833
6963         * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
6965 2014-12-12  Tobias Burnus  <burnus@net-b.de>
6967         PR fortran/68815
6968         * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
6969         specifiers (%d, %i,%u and %c).
6971 2015-12-10  David Malcolm  <dmalcolm@redhat.com>
6973         * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
6975 2015-12-08  Jakub Jelinek  <jakub@redhat.com>
6977         PR c/48088
6978         PR c/68657
6979         * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
6980         * c-pragma.c (handle_pragma_diagnostic): Adjust
6981         control_warning_option caller.
6983 2015-12-07  David Malcolm  <dmalcolm@redhat.com>
6985         * c-common.c (c_cpp_error): Update for change to
6986         rich_location::set_range.
6988 2015-12-04  Paolo Bonzini  <bonzini@gnu.org>
6990         * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
6991         shifting 1 out of the sign bit.
6993 2015-12-04  Kirill Yukhin  <kirill.yukhin@intel.com>
6995         * c-common.c (c_common_attribute_table[]): Update max arguments
6996         count for "simd" attribute.
6997         (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
6999 2015-12-03  Jakub Jelinek  <jakub@redhat.com>
7001         PR preprocessor/57580
7002         * c-ppoutput.c (print): Change printed field to bool.
7003         Move src_file last for smaller padding.
7004         (init_pp_output): Set print.printed to false instead of 0.
7005         (scan_translation_unit): Fix up formatting.  Set print.printed
7006         to true after printing something other than newline.
7007         (scan_translation_unit_trad): Set print.printed to true instead of 1.
7008         (maybe_print_line_1): Set print.printed to false instead of 0.
7009         (print_line_1): Likewise.
7010         (do_line_change): Set print.printed to true instead of 1.
7011         (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
7012         dump_macro): Set print.printed to false after printing newline.
7014 2015-12-02  Jason Merrill  <jason@redhat.com>
7016         * c-common.c (fold_for_warn): New.
7017         (warn_logical_operator, warn_tautological_cmp)
7018         (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
7020         * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
7021         (c_fully_fold_internal, decl_constant_value_for_optimization):
7022         Move to c/c-fold.c.
7023         * c-common.h: Don't declare decl_constant_value_for_optimization.
7025 2015-12-02  Joseph Myers  <joseph@codesourcery.com>
7027         PR c/68162
7028         * c-common.h (c_build_qualified_type): Add extra default
7029         arguments.
7031 2015-12-01  Julian Brown  <julian@codesourcery.com>
7032             Cesar Philippidis  <cesar@codesourcery.com>
7033             James Norris  <James_Norris@mentor.com>
7035         * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
7036         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
7037         (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
7039 2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
7041         * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
7042         (decl_sloc_common): Delete and move bulk of processing to...
7043         (decl_sloc): ...here.
7044         (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
7045         (dump_ada_double_name): Remove S parameter and compute the suffix.
7046         (dump_ada_array_type): Add PARENT parameter.  Simplify computation of
7047         element type and deal with an anonymous one.
7048         (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
7049         (dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
7050         and remove reference to QUAL_UNION_TYPE.
7051         (dump_nested_types): Make 2 passes on the fields and move bulk to...
7052         (dump_nested_type): ...here.  New function extracted from above.
7053         Generate a full declaration for anonymous element type of arrays.
7054         (print_ada_declaration): Really skip anonymous declarations.  Remove
7055         references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
7056         Clean up processing of declarations of array types and objects.
7057         (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
7058         Remove obsolete code and tidy up.
7060 2015-11-29  Jan Hubicka  <hubicka@ucw.cz>
7062         PR c/67581
7063         * c-common.c (handle_transparent_union_attribute): Update
7064         also type variants.
7066 2015-11-27  Martin Liska  <mliska@suse.cz>
7068         PR c++/68312
7069         * array-notation-common.c (cilkplus_extract_an_triplets):
7070         Release vector of vectors.
7071         * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7073 2015-11-26  Eric Botcazou  <ebotcazou@adacore.com>
7075         PR c++/68527
7076         * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
7077         (print_ada_struct_decl): Likewise.
7079 2015-11-23  Igor Zamyatin  <igor.zamyatin@intel.com>
7081         PR c++/68001
7082         * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
7083         * cilk.c (recognize_spawn): Determine location in a more precise
7084         way.
7086 2015-11-19  Jason Merrill  <jason@redhat.com>
7088         * c-common.c (shorten_compare): But look through macros from
7089         system headers.
7091 2015-11-18  Jason Merrill  <jason@redhat.com>
7093         * c-common.c (shorten_compare): Don't -Wtype-limits if the
7094         non-constant operand comes from a macro.
7096 2015-11-17  Jason Merrill  <jason@redhat.com>
7098         PR bootstrap/68346
7099         * c-common.c (warn_tautological_cmp): Fold before checking for
7100         constants.
7102 2015-11-16  Marek Polacek  <polacek@redhat.com>
7104         PR c++/68362
7105         * c-common.c (check_case_bounds): Fold low and high cases.
7107 2015-11-16  Marek Polacek  <polacek@redhat.com>
7109         * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
7110         * c-common.c (c_common_get_alias_set): Likewise.
7111         (handle_visibility_attribute): Likewise.
7113 2015-11-16  Kirill Yukhin  <kirill.yukhin@intel.com>
7115         * c-common.c (handle_simd_attribute): New.
7116         (struct attribute_spec): Add entry for "simd".
7117         (handle_simd_attribute): New.
7119 2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
7121         * c-lex.c (interpret_float): Use fold_convert.
7123 2015-11-13  David Malcolm  <dmalcolm@redhat.com>
7125         * c-common.c (c_fully_fold_internal): Capture existing souce_range,
7126         and store it on the result.
7127         * c-opts.c (c_common_init_options): Set
7128         global_dc->colorize_source_p.
7130 2015-11-12  James Norris  <jnorris@codesourcery.com>
7131             Joseph Myers  <joseph@codesourcery.com>
7133         * c-pragma.c (oacc_pragmas): Add entry for declare directive.
7134         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
7135         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7136         PRAGMA_OACC_CLAUSE_LINK.
7138 2015-11-11  Marek Polacek  <polacek@redhat.com>
7140         PR c/68107
7141         PR c++/68266
7142         * c-common.c (valid_array_size_p): New function.
7143         * c-common.h (valid_array_size_p): Declare.
7145 2015-11-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
7147         PR bootstrap/68271
7148         * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
7150 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
7152         * array-notation-common.c: Remove unused header files.
7153         * c-ada-spec.c: Likewise.
7154         * c-cilkplus.c: Likewise.
7155         * c-common.c: Likewise.
7156         * c-cppbuiltin.c: Likewise.
7157         * c-dump.c: Likewise.
7158         * c-format.c: Likewise.
7159         * c-gimplify.c: Likewise.
7160         * c-indentation.c: Likewise.
7161         * c-lex.c: Likewise.
7162         * c-omp.c: Likewise.
7163         * c-opts.c: Likewise.
7164         * c-pch.c: Likewise.
7165         * c-ppoutput.c: Likewise.
7166         * c-pragma.c: Likewise.
7167         * c-pretty-print.c: Likewise.
7168         * c-semantics.c: Likewise.
7169         * c-ubsan.c: Likewise.
7170         * cilk.c: Likewise.
7171         * stub-objc.c: Likewise.
7173 2015-11-09  Thomas Schwinge  <thomas@codesourcery.com>
7174             Cesar Philippidis  <cesar@codesourcery.com>
7175             James Norris  <jnorris@codesourcery.com>
7176             Julian Brown  <julian@codesourcery.com>
7177             Nathan Sidwell  <nathan@codesourcery.com>
7179         * c-pragma.c (oacc_pragmas): Add "routine".
7180         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
7182 2015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
7184         * c-common.c (c_common_attributes): Add scalar_storage_order.
7185         (handle_scalar_storage_order_attribute): New function.
7186         * c-pragma.c (global_sso): New variable.
7187         (maybe_apply_pragma_scalar_storage_order): New function.
7188         (handle_pragma_scalar_storage_order): Likewise.
7189         (init_pragma): Register scalar_storage_order.
7190         * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
7191         * c.opt (Wscalar-storage-order): New warning.
7192         (fsso-struct=): New option.
7194 2015-11-08  Martin Sebor  <msebor@redhat.com>
7196         * c.opt (Wplacement-new): Add a period to the end of a sentence.
7198 2015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
7200         * c-common.c: Don't undef DEF_BUILTIN.
7202 2015-11-06  David Malcolm  <dmalcolm@redhat.com>
7204         * c-common.c (c_cpp_error): Convert parameter from location_t to
7205         rich_location *.  Eliminate the "column_override" parameter and
7206         the call to diagnostic_override_column.
7207         Update the "done_lexing" clause to set range 0
7208         on the rich_location, rather than overwriting a location_t.
7209         * c-common.h (c_cpp_error): Convert parameter from location_t to
7210         rich_location *.  Eliminate the "column_override" parameter.
7212 2015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
7213             Thomas Schwinge  <thomas@codesourcery.com>
7214             James Norris  <jnorris@codesourcery.com>
7216         * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
7217         AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses.  Associate REDUCTION
7218         clauses with parallel and kernels and loops.
7219         * c-pragma.h (enum pragma_omp_clause): Add entries for
7220         PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
7221         * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
7222         NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
7223         INDEPENDENT,SEQ}.
7224         (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
7226 2015-11-05  Martin Sebor  <msebor@redhat.com>
7228         PR c++/67942
7229         * c.opt (-Wplacement-new): New option.
7231 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
7233         * c-common.h (c_finish_omp_atomic): Add TEST argument.
7234         (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
7235         * c-omp.c (c_finish_omp_atomic): Add TEST argument.  Don't call
7236         save_expr or create_tmp_var* if TEST is true.
7237         (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
7238         Don't call add_stmt here.
7239         (struct c_omp_check_loop_iv_data): New type.
7240         (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
7241         c_omp_check_loop_iv_exprs): New functions.
7242         (c_omp_split_clauses): Adjust for lastprivate being allowed on
7243         distribute.
7244         (c_omp_declare_simd_clauses_to_numbers): Change
7245         OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
7246         (c_omp_declare_simd_clauses_to_decls): Similarly change those
7247         from numbers to PARM_DECLs.
7249 2015-11-04  Mikhail Maltsev  <maltsevm@gmail.com>
7251         * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
7252         flag_checking.
7254 2015-11-03  Bernd Schmidt  <bschmidt@redhat.com>
7256         PR c++-common/67882
7257         * c-common.h (fold_offsetof_1): Add argument.
7258         * c-common.c (fold_offsetof_1): Diagnose more invalid
7259         offsetof expressions that reference elements past the end of
7260         an array.
7262 2015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
7263             Chung-Lin Tang  <cltang@codesourcery.com>
7265         * c-pragma.c (oacc_pragmas): Add "atomic".
7266         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
7268 2015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>
7270         * c-common.c (handle_target_clones_attribute): New.
7271         (c_common_attribute_table): Add handle_target_clones_attribute.
7272         (handle_always_inline_attribute): Add check on target_clones attribute.
7273         (handle_target_attribute): Ditto.
7275 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
7277         * array-notation-common.c: Reorder #include's and remove duplicates.
7278         * c-ada-spec.c: Likewise.
7279         * c-cilkplus.c: Likewise.
7280         * c-common.c: Likewise.
7281         * c-cppbuiltin.c: Likewise.
7282         * c-dump.c: Likewise.
7283         * c-format.c: Likewise.
7284         * c-gimplify.c: Likewise.
7285         * c-indentation.c: Likewise.
7286         * c-lex.c: Likewise.
7287         * c-omp.c: Likewise.
7288         * c-opts.c: Likewise.
7289         * c-pch.c: Likewise.
7290         * c-ppoutput.c: Likewise.
7291         * c-pragma.c: Likewise.
7292         * c-pretty-print.c: Likewise.
7293         * c-semantics.c: Likewise.
7294         * c-ubsan.c: Likewise.
7295         * cilk.c: Likewise.
7296         * stub-objc.c: Likewise.
7298 2015-10-28  Jason Merrill  <jason@redhat.com>
7300         * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
7302 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7303             James Norris  <jnorris@codesourcery.com>
7304             Cesar Philippidis  <cesar@codesourcery.com>
7306         PR c/64765
7307         PR c/64880
7308         * c-common.h (c_oacc_split_loop_clauses): Declare function.
7309         * c-omp.c (c_oacc_split_loop_clauses): New function.
7311 2015-10-21  Martin Sebor  <msebor@redhat.com>
7313         PR driver/68043
7314         * c.opt: End each sentence that describes an option with a period.
7316 2015-10-20  Marek Polacek  <polacek@redhat.com>
7318         * array-notation-common.c (is_cilkplus_vector_p): Define.
7319         * c-common.h (is_cilkplus_vector_p): Declare.
7321 2015-10-20  Marek Polacek  <polacek@redhat.com>
7323         * c.opt (std=gnu++11): Do not describe as experimental.
7324         (std=gnu++14): Likewise.
7326 2015-10-19  Jason Merrill  <jason@redhat.com>
7328         * c-cppbuiltin.c (c_cpp_builtins): Define
7329         __cpp_nontype_template_args.
7331 2015-10-19  Jason Merrill  <jason@redhat.com>
7333         * c-cppbuiltin.c (c_cpp_builtins): Define
7334         __cpp_enumerator_attributes, __cpp_fold_expressions,
7335         __cpp_unicode_characters.
7337 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
7338             Aldy Hernandez  <aldyh@redhat.com>
7340         * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
7341         DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
7342         (c_define_builtins): Likewise.
7343         * c-common.h (enum c_omp_clause_split): Add
7344         C_OMP_CLAUSE_SPLIT_TASKLOOP.
7345         (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
7346         (c_finish_omp_for): Add ORIG_DECLV argument.
7347         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
7348         201511 instead of 201307.
7349         * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
7350         OMP_CRITICAL_CLAUSES to it.
7351         (c_finish_omp_ordered): Add CLAUSES argument, set
7352         OMP_ORDERED_CLAUSES to it.
7353         (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
7354         to it if OMP_FOR.  Clear DECL_INITIAL on the IVs.
7355         (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
7356         constructs and new OpenMP 4.5 clauses.  Clear
7357         OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD.  Add
7358         verification code.
7359         * c-pragma.c (omp_pragmas_simd): Add taskloop.
7360         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
7361         (enum pragma_omp_clause): Add
7362         PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
7363         and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
7365 2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
7367         * c-lex.c (interpret_float): Use real_equal instead of
7368         REAL_VALUES_EQUAL.
7370 2015-10-04  Jason Merrill  <jason@redhat.com>
7372         Implement N4514, C++ Extensions for Transactional Memory.
7373         * c-common.c (c_common_reswords): Add C++ TM TS keywords.
7374         (c_common_attribute_table): Add transaction_safe_dynamic.
7375         transaction_safe now affects type identity.
7376         (handle_tm_attribute): Handle transaction_safe_dynamic.
7377         * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
7378         RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
7379         (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
7380         (D_TRANSMEM): New.
7381         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
7382         * c-pretty-print.c (pp_c_attributes_display): Don't print
7383         transaction_safe in C++.
7385 2015-10-02  Marek Polacek  <polacek@redhat.com>
7387         * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
7389 2015-10-02  Marek Polacek  <polacek@redhat.com>
7391         PR c/64249
7392         * c-common.c (warn_duplicated_cond_add_or_warn): New function.
7393         * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
7394         * c.opt (Wduplicated-cond): New option.
7396 2015-10-01  Joseph Myers  <joseph@codesourcery.com>
7398         * c.opt (std=c11): Do not describe as experimental.
7399         (std=gnu11): Likewise.
7400         (std=iso9899:2011): Likewise.
7402 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
7404         * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
7405         (DEF_FUNCTION_TYPE_VAR_11): Delete.
7407 2015-09-25  Marek Polacek  <polacek@redhat.com>
7409         * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
7410         (ubsan_instrument_shift): Likewise.
7412 2015-09-25  Marek Polacek  <polacek@redhat.com>
7414         PR sanitizer/64906
7415         * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
7417 2015-09-24  Patrick Palka  <ppalka@gcc.gnu.org>
7419         * c-indentation.c (should_warn_for_misleading_indentation):
7420         Compare next_stmt_vis_column with guard_line_first_nws instead
7421         of with guard_line_vis_column.
7423 2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7425         PR c/49654
7426         PR c/49655
7427         * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
7428         options and options not valid for the current language.
7430 2015-09-22  Patrick Palka  <ppalka@gcc.gnu.org>
7432         * c-indentation.c (should_warn_for_misleading_indentation):
7433         Float out and consolidate the calls to get_visual_column that
7434         are passed guard_exploc as an argument.  Compare
7435         next_stmt_vis_column with guard_line_first_nws instead of with
7436         body_line_first_nws.
7438 2015-09-22  Nathan Sidwell  <nathan@codesourcery.com>
7440         * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
7441         Wnamespaces): New C++ warnings.
7443 2015-09-22  Jason Merrill  <jason@redhat.com>
7445         * c-common.h (abi_compat_version_crosses): New.
7446         (warn_abi_version): Declare.
7447         * c-common.c: Define it.
7448         * c-opts.c (c_common_post_options): Handle it.
7449         flag_abi_compat_version defaults to 8.
7451 2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
7453         Complete the implementation of N4230, Nested namespace definition.
7454         * c-cppbuiltin.c: Add __cpp_namespace_attributes and
7455         __cpp_nested_namespace_definitions.
7457 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7459         * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
7461 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7463         * c-pragma.c (handle_pragma_diagnostic): Use explicit location
7464         when warning.
7465         * c-pragma.h (pragma_lex): Add optional loc argument.
7467 2015-09-16  Mikhail Maltsev  <maltsevm@gmail.com>
7469         * c-format.c (check_format_arg): Adjust to use common block size in all
7470         object pools.
7472 2015-09-15  David Malcolm  <dmalcolm@redhat.com>
7474         * c-format.c (location_from_offset): Update for change in
7475         signature of location_get_source_line.
7476         * c-indentation.c (get_visual_column): Likewise.
7477         (line_contains_hash_if): Likewise.
7479 2015-09-14  Marek Polacek  <polacek@redhat.com>
7481         * c-opts.c (c_common_post_options): Set C++ standard earlier, before
7482         setting various warnings.
7484 2015-09-14  Marek Polacek  <polacek@redhat.com>
7486         * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
7487         a negative value.
7489 2015-09-11  Mark Wielaard  <mjw@redhat.com>
7491         PR c/28901
7492         * c.opt (Wunused-variable): Option from common.opt.
7493         (Wunused-const-variable): New option.
7495 2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
7497         PR c++/53184
7498         * c.opt ([Wsubobject-linkage]): Add.
7500 2015-09-03  Martin Sebor  <msebor@redhat.com>
7502         PR c/66516
7503         * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
7504         functions.
7505         * c-common.c (reject_gcc_builtin): Define.
7507 2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7509         PR middle-end/60586
7510         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
7511         prototype.
7512         * c-gimplify.c (c_gimplify_expr): Added a call to the function
7513         cilk_gimplify_call_params_in_spawned_fn.
7514         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
7515         (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
7516         unwrapping.
7518 2015-08-25  Marek Polacek  <polacek@redhat.com>
7520         PR middle-end/67330
7521         * c-common.c (handle_weak_attribute): Don't check whether the
7522         visibility can be changed here.
7524 2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7526         * c-lex.c (c_lex_with_flags): Use explicit locations.
7528 2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
7530         * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
7531         c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
7533 2015-08-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
7535         PR middle-end/36757
7536         * c-common.c (check_builtin_function_arguments): Add check
7537         for BUILT_IN_SIGNBIT argument.
7539 2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
7541         PR c++/67160
7542         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
7543         in c++1z mode.
7545 2015-08-17  Marek Polacek  <polacek@redhat.com>
7547         * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
7548         with whitespaces before qualifier names.
7550 2015-08-12  Marek Polacek  <polacek@redhat.com>
7552         PR c++/55095
7553         * c-common.c (maybe_warn_shift_overflow): Properly handle
7554         left-shifting 1 into the sign bit.
7556 2015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7558         * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
7560 2015-08-06  Andrew Sutton  <andrew.n.sutton@gmail.com>
7561             Braden Obrzut  <admin@maniacsvault.net>
7562             Jason Merrill  <jason@redhat.com>
7564         Add C++ Concepts TS support.
7565         * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
7566         * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
7567         (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
7568         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
7569         * c-opts.c (set_std_cxx1z): Set flag_concepts.
7570         * c.opt (fconcepts): New.
7572 2015-08-02  Martin Sebor  <msebor@redhat.com>
7574         * c.opt (-Wframe-address): New warning option.
7576 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
7578         * c-indentation.c (should_warn_for_misleading_indentation):
7579         Improve heuristics.
7581 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
7583         * c-indentation.c (get_visual_column): Add parameter first_nws,
7584         use it.  Update comment documenting the function.
7585         (is_first_nonwhitespace_on_line): Remove.
7586         (should_warn_for_misleading_indentation): Replace usage of
7587         of is_first_nonwhitespace_on_line with get_visual_column.
7589 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
7591         * c-indentation.h (struct token_indent_info): Define.
7592         (get_token_indent_info): Define.
7593         (warn_for_misleading_information): Declare.
7594         * c-common.h (warn_for_misleading_information): Remove.
7595         * c-identation.c (warn_for_misleading_indentation):
7596         Change declaration to take three token_indent_infos.  Adjust
7597         accordingly.
7598         * c-identation.c (should_warn_for_misleading_indentation):
7599         Likewise.  Bail out early if the body is a compound statement.
7600         (guard_tinfo_to_string): Define.
7602 2015-07-30  Jason Merrill  <jason@redhat.com>
7604         * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
7605         '*' for reference decay.
7607 2015-07-30  Marek Polacek  <polacek@redhat.com>
7609         * c-common.c (warn_tautological_cmp): Bail for float types.
7611 2015-07-27  Marek Polacek  <polacek@redhat.com>
7613         PR bootstrap/67030
7614         * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
7616 2015-07-27  Marek Polacek  <polacek@redhat.com>
7618         PR c++/66555
7619         PR c/54979
7620         * c-common.c (find_array_ref_with_const_idx_r): New function.
7621         (warn_tautological_cmp): New function.
7622         * c-common.h (warn_tautological_cmp): Declare.
7623         * c.opt (Wtautological-compare): New option.
7625 2015-07-23  Marek Polacek  <polacek@redhat.com>
7627         * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
7628         (ubsan_instrument_shift): Likewise.
7630 2015-07-23  Marek Polacek  <polacek@redhat.com>
7632         PR sanitizer/66908
7633         * c-ubsan.c: Include gimplify.h.
7634         (ubsan_instrument_division): Unshare OP0 and OP1.
7635         (ubsan_instrument_shift): Likewise.
7637 2015-07-20  Marek Polacek  <polacek@redhat.com>
7638             Richard Sandiford  <richard.sandiford@arm.com>
7640         PR c++/55095
7641         * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
7642         Use EXPR_LOC_OR_LOC.
7643         (maybe_warn_shift_overflow): New function.
7644         * c-common.h (maybe_warn_shift_overflow): Declare.
7645         * c-opts.c (c_common_post_options): Set warn_shift_overflow.
7646         * c.opt (Wshift-overflow): New option.
7648 2015-07-16  Martin Liska  <mliska@suse.cz>
7650         * c-format.c (static void check_format_info_main): Use
7651         object_allocator instead of pool_allocator.
7652         (check_format_arg): Likewise.
7653         (check_format_info_main): Likewise.
7655 2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
7657         * c-opts.c: Remove multiline #include comment.
7659 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
7661         * c-common.c: Fix double word typos.
7663 2015-07-10  Eric Botcazou  <ebotcazou@adacore.com>
7665         * c-ada-spec.h (cpp_operation): Revert latest change.
7666         * c-ada-spec.c (print_ada_declaration): Likewise.  Skip implicit
7667         constructors and destructors.
7669 2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
7671         * c-common.h: Adjust includes for flags.h changes.
7672         * stub-objc.c: Likewise.
7674 2015-07-08  Eric Botcazou  <ebotcazou@adacore.com>
7676         * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
7677         * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
7679 2015-07-08  Jakub Jelinek  <jakub@redhat.com>
7681         * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
7682         are to be removed, return NULL rather than original clauses list.
7684 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
7686         * array-notation-common.c: Adjust includes.
7687         * c-ada-spec.c: Likewise.
7688         * c-cilkplus.c: Likewise.
7689         * c-common.h: Likewise.
7690         * c-cppbuiltin.c: Likewise.
7691         * c-dump.c: Likewise.
7692         * c-format.c: Likewise.
7693         * c-gimplify.c: Likewise.
7694         * c-indentation.c: Likewise.
7695         * c-lex.c: Likewise.
7696         * c-omp.c: Likewise.
7697         * c-opts.c: Likewise.
7698         * c-pch.c: Likewise.
7699         * c-ppoutput.c: Likewise.
7700         * c-pragma.c: Likewise.
7701         * c-pretty-print.c: Likewise.
7702         * c-semantics.c: Likewise.
7703         * c-ubsan.c: Likewise.
7704         * cilk.c: Likewise.
7705         * stub-objc.c: Likewise.
7707 2015-07-07  Eric Botcazou  <ebotcazou@adacore.com>
7709         * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
7710         * c-ada-spec.c (print_ada_declaration): Skip move constructors.
7712 2015-07-01  Jason Merrill  <jason@redhat.com>
7714         * c-common.h (D_CXX11): Rename from D_CXX0X.
7715         (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
7716         * c-common.c: Adjust.
7718         * c-opts.c (c_common_post_options): Default to C++14.
7720         * c-opts.c (c_common_post_options): Highest ABI level is now 10.
7722 2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
7724         Implement N4197 - Adding u8 character literals
7725         * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
7726         CPP_CHAR.
7727         * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
7728         CPP_UTF8CHAR_USERDEF tokens.
7729         * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
7730         and CPP_UTF8CHAR tokens.
7731         (lex_charconst): Treat CPP_UTF8CHAR token.
7733 2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7735         PR fortran/66605
7736         * c-common.c (do_warn_unused_parameter): Move here.
7737         * c-common.h (do_warn_unused_parameter): Declare.
7739 2015-06-29  Marek Polacek  <polacek@redhat.com>
7741         PR c/66322
7742         * c-common.c (check_case_bounds): Add bool * parameter.  Set
7743         OUTSIDE_RANGE_P.
7744         (c_add_case_label): Add bool * parameter.  Pass it down to
7745         check_case_bounds.
7746         (c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
7747         warning here.
7748         * c-common.h (c_add_case_label, c_do_switch_warnings): Update
7749         declarations.
7751 2015-06-27  Marek Polacek  <polacek@redhat.com>
7753         * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
7754         or VECTOR_INTEGER_TYPE_P throughout.
7755         * c-gimplify.c: Likewise.
7757 2015-06-26  Marek Polacek  <polacek@redhat.com>
7759         * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
7760         * c-common.c (c_fully_fold_internal): Likewise.
7761         (c_alignof_expr): Likewise.
7762         * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
7763         * c-ubsan.c (ubsan_instrument_bounds): Likewise.
7764         * cilk.c (create_parm_list): Likewise.
7766 2015-06-26  Marek Polacek  <polacek@redhat.com>
7768         * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
7770 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
7772         * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
7773         * c-gimplify.c: Likewise.
7774         * c-pragma.c: Likewise.
7775         * c-ubsan.c: Likewise.
7776         * cilk.c: Likewise.
7778 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
7780         * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
7781         ggc_hasher.
7783 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
7785         * cilk.c: Move calls.h after tm.h in the include chain.
7787 2015-06-25  Marek Polacek  <polacek@redhat.com>
7789         * array-notation-common.c: Use VAR_P throughout.
7790         * c-ada-spec.c: Likewise.
7791         * c-common.c: Likewise.
7792         * c-format.c: Likewise.
7793         * c-gimplify.c: Likewise.
7794         * c-omp.c: Likewise.
7795         * c-pragma.c: Likewise.
7796         * c-pretty-print.c: Likewise.
7797         * cilk.c: Likewise.
7799 2015-06-25  Marek Polacek  <polacek@redhat.com>
7801         * cilk.c (extract_free_variables): Use is_global_var.
7803 2015-06-23  Richard Sandiford  <richard.sandiford@arm.com>
7805         * c-common.c: Don't include target-def.h.
7807 2015-06-23  Marek Polacek  <polacek@redhat.com>
7809         * c-common.c (warn_logical_operator): Use tree_int_cst_equal
7810         when comparing INTEGER_CSTs.
7812 2015-06-22  Pierre-Marie de Rodat  <derodat@adacore.com>
7814         * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
7815         * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
7816         (dump_ada_template): Skip partially specialized types.
7818 2015-06-22  Mikhail Maltsev  <maltsevm@gmail.com>
7820         * c-common.c (scalar_to_vector): Use std::swap instead of manually
7821         swapping.
7823 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
7825         * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
7826         * c-ada-spec.c: Likewise.
7827         * c-cilkplus.c: Likewise.
7828         * c-common.c: Likewise.
7829         * c-common.h: Likewise.
7830         * c-cppbuiltin.c: Likewise.
7831         * c-dump.c: Likewise.
7832         * c-format.c: Likewise.
7833         * c-gimplify.c: Likewise.
7834         * c-indentation.c: Likewise.
7835         * c-lex.c: Likewise.
7836         * c-omp.c: Likewise.
7837         * c-opts.c: Likewise.
7838         * c-pch.c: Likewise.
7839         * c-ppoutput.c: Likewise.
7840         * c-pragma.c: Likewise.
7841         * c-pretty-print.c: Likewise.
7842         * c-semantics.c: Likewise.
7843         * c-ubsan.c: Likewise.
7844         * cilk.c: Likewise.
7845         * stub-objc.c: Likewise.
7847 2015-06-13  Patrick Palka  <ppalka@gcc.gnu.org>
7849         PR c++/65168
7850         * c-common.c (c_common_truthvalue_conversion): Warn when
7851         converting an address of a reference to a truth value.
7853 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
7855         * array-notation-common.c : Adjust include files.
7856         * c-ada-spec.c : Likewise.
7857         * c-cilkplus.c : Likewise.
7858         * c-common.c : Likewise.
7859         * c-common.h : Likewise.
7860         * c-cppbuiltin.c : Likewise.
7861         * c-dump.c : Likewise.
7862         * c-format.c : Likewise.
7863         * c-gimplify.c : Likewise.
7864         * c-indentation.c : Likewise.
7865         * c-lex.c : Likewise.
7866         * c-omp.c : Likewise.
7867         * c-opts.c : Likewise.
7868         * c-pch.c : Likewise.
7869         * c-ppoutput.c : Likewise.
7870         * c-pragma.c : Likewise.
7871         * c-pretty-print.c : Likewise.
7872         * c-semantics.c : Likewise.
7873         * c-ubsan.c : Likewise.
7874         * cilk.c : Likewise.
7875         * stub-objc.c : Likewise.
7877 2015-06-08  Marek Polacek  <polacek@redhat.com>
7879         PR c/66415
7880         * c-format.c (location_from_offset): Return LOC if LINE is null.
7882 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
7884         * c-common.h (c_parse_final_cleanups): New prototype.
7885         * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
7887 2015-06-04  Sriraman Tallam  <tmsriram@google.com>
7889         * c-common.c (noplt): New attribute.
7890         (handle_noplt_attribute): New handler.
7892 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
7894         * array-notation-common.c: Adjust includes for restructured coretypes.h.
7895         * c-ada-spec.c: Likewise.
7896         * c-cilkplus.c: Likewise.
7897         * c-common.c: Likewise.
7898         * c-common.h: Likewise.
7899         * c-cppbuiltin.c: Likewise.
7900         * c-dump.c: Likewise.
7901         * c-format.c: Likewise.
7902         * c-gimplify.c: Likewise.
7903         * c-indentation.c: Likewise.
7904         * c-lex.c: Likewise.
7905         * c-omp.c: Likewise.
7906         * c-opts.c: Likewise.
7907         * c-pch.c: Likewise.
7908         * c-ppoutput.c: Likewise.
7909         * c-pragma.c: Likewise.
7910         * c-pretty-print.c: Likewise.
7911         * c-semantics.c: Likewise.
7912         * c-ubsan.c: Likewise.
7913         * cilk.c: Likewise.
7914         * stub-objc.c: Likewise.
7916 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
7918         PR c/66220:
7919         * c-indentation.c (should_warn_for_misleading_indentation): Use
7920         expand_location rather than expand_location_to_spelling_point.
7921         Don't warn if the guarding statement is more indented than the
7922         next/body stmts.
7924 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
7926         * c-indentation.c (warn_for_misleading_indentation): Bail out
7927         immediately if -Wmisleading-indentation isn't enabled.
7929 2015-06-01  Martin Liska  <mliska@suse.cz>
7931         * c-format.c (check_format_arg):Use new type-based pool allocator.
7932         (check_format_info_main) Likewise.
7934 2015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
7936         * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
7937         (has_nontrivial_methods): Likewise.
7939 2015-05-25  Marek Polacek  <polacek@redhat.com>
7941         * c-ubsan.c (ubsan_instrument_shift): Use type0.
7943 2015-05-22  Marek Polacek  <polacek@redhat.com>
7945         PR c/47043
7946         * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
7948 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7950         * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
7951         STACK_GROWS_DOWNWARD.
7953 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7955         * c-cppbuiltin.c (c_cpp_builtins): Check the value of
7956         STACK_GROWS_DOWNWARD rather than if it is defined.
7958 2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7960         PR c/52952
7961         * c-format.c (location_column_from_byte_offset): New.
7962         (location_from_offset): New.
7963         (struct format_wanted_type): Add offset_loc field.
7964         (check_format_info): Move handling of location for extra arguments
7965         closer to the point of warning.
7966         (check_format_info_main): Pass the result of location_from_offset
7967         to warning_at.
7968         (format_type_warning): Pass the result of location_from_offset
7969         to warning_at.
7971 2015-05-20  Marek Polacek  <polacek@redhat.com>
7973         * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
7975 2015-05-20  Marek Polacek  <polacek@redhat.com>
7977         * c-ada-spec.c (dump_sloc): Use DECL_P.
7979 2015-05-20  Marek Polacek  <polacek@redhat.com>
7981         * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
7982         * c-common.c: Likewise.
7984 2015-05-19  David Malcolm  <dmalcolm@redhat.com>
7986         * c-common.h (fe_file_change): Strengthen param from
7987         const line_map * to const line_map_ordinary *.
7988         (pp_file_change): Likewise.
7989         * c-lex.c (fe_file_change): Likewise.
7990         (cb_define): Use linemap_check_ordinary when invoking
7991         SOURCE_LINE.
7992         (cb_undef): Likewise.
7993         * c-opts.c (c_finish_options): Use linemap_check_ordinary when
7994         invoking cb_file_change.
7995         (c_finish_options): Likewise.
7996         (push_command_line_include): Likewise.
7997         (cb_file_change): Strengthen param "new_map" from
7998         const line_map * to const line_map_ordinary *.
7999         * c-ppoutput.c (cb_define): Likewise for local "map".
8000         (pp_file_change): Likewise for param "map" and local "from".
8002 2015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
8004         * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
8006 2015-05-18  Tom de Vries  <tom@codesourcery.com>
8008         * c-common.c (build_va_arg_1): New function.
8009         (build_va_arg): Add address operator to va_list operand if necessary.
8011 2015-05-15  Mikhail Maltsev  <maltsevm@gmail.com>
8013         PR c/48956
8014         * c-common.c (int_safely_convertible_to_real_p): Define.
8015         (unsafe_conversion_p): Check conversions involving complex types.
8016         (conversion_warning): Add new warning message for conversions which
8017         discard imaginary component.
8018         * c-common.h: (enum conversion_safety): Add new enumerator for such
8019         conversions.
8021 2015-05-14  Marek Polacek  <polacek@redhat.com>
8023         PR c/66066
8024         PR c/66127
8025         * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
8026         (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
8027         C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
8028         use it.  If FOR_INT_CONST, require that all evaluated operands be
8029         INTEGER_CSTs.
8031 2015-05-12  David Malcolm  <dmalcolm@redhat.com>
8033         * c-common.h (warn_for_misleading_indentation): New prototype.
8034         * c-indentation.c: New file.
8035         * c.opt (Wmisleading-indentation): New option.
8037 2015-05-12  Tom de Vries  <tom@codesourcery.com>
8039         PR tree-optimization/66010
8040         * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
8042 2015-05-09  Jason Merrill  <jason@redhat.com>
8044         * c-opts.c (c_common_post_options): Also clear
8045         cpp_opts->cpp_warn_cxx11_compat.
8047         * c-common.h (enum cxx_dialect): Add cxx_unset.
8048         * c-common.c (cxx_dialect): Initialize to cxx_unset.
8049         * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
8051         * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
8052         (std=gnu++0x): Mark as Undocumented.
8053         (std=gnu++1y): Add deprecated message.
8055 2015-05-08  Jason Merrill  <jason@redhat.com>
8057         * c.opt (Wc++11-compat): Make primary.  Rename var warn_cxx11_compat.
8058         * c-opts.c: Adjust.
8060         * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
8062 2015-05-08  Marek Polacek  <polacek@redhat.com>
8064         PR c/64918
8065         * c.opt (Woverride-init-side-effects): New option.
8067 2015-05-07  Marek Polacek  <polacek@redhat.com>
8069         PR c/65179
8070         * c-common.c (c_fully_fold_internal): Warn when left shifting a
8071         negative value.
8072         * c.opt (Wshift-negative-value): New option.
8073         * c-opts.c (c_common_post_options): Set warn_shift_negative_value
8074         when -Wextra and C99/C++11 mode.
8076 2015-05-07  Marek Polacek  <polacek@redhat.com>
8077             Martin Uecker  <uecker@eecs.berkeley.edu>
8079         * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
8080         flexible member array-like members if SANITIZE_BOUNDS_STRICT.
8082 2015-05-05  Jason Merrill  <jason@redhat.com>
8084         * c.opt (Wterminate): New.
8086 2015-04-30  Marek Polacek  <polacek@redhat.com>
8088         * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
8089         require that the non-constant be of a boolean type.
8091 2015-04-29  Josh Triplett  <josh@joshtriplett.org>
8093         * c-common.c (handle_section_attribute): Refactor to reduce
8094         nesting and distinguish between error cases.
8096 2015-04-29  Marek Polacek  <polacek@redhat.com>
8098         PR c/64610
8099         * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
8100         with 0/1.
8102 2015-04-29  Jakub Jelinek  <jakub@redhat.com>
8104         * c-common.h (omp_clause_mask): Unconditionally define as a class.
8105         Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
8106         HOST_BITS_PER_WIDE_INT.
8108 2015-04-28  Tom de Vries  <tom@codesourcery.com>
8110         PR tree-optimization/65887
8111         * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
8113 2015-04-28  Eric Botcazou  <ebotcazou@adacore.com>
8114             Pierre-Marie de Rodat  <derodat@adacore.com>
8116         * c-ada-spec.c (in_function): Delete.
8117         (dump_generic_ada_node): Do not change in_function and remove the
8118         redundant code dealing with it.
8119         (print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
8120         (print_ada_methods): Output the static member functions in a nested
8121         package after the regular methods as well as associated renamings.
8123 2015-04-24  Marek Polacek  <polacek@redhat.com>
8125         PR c/65830
8126         * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
8127         and OPT_Wshift_count_overflow.
8129         PR c/63357
8130         * c-common.c (warn_logical_operator): Warn if the operands have the
8131         same expressions.
8133 2015-04-24  Marek Polacek  <polacek@redhat.com>
8135         PR c/61534
8136         * c-common.c (warn_logical_operator): Bail if either operand comes
8137         from a macro expansion.
8139 2015-04-10  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8141         PR target/55143
8142         * c-common.c (c_default_pointer_mode): Add definition.
8143         * c-common.h (c_default_pointer_mode): Add declaration.
8145 2015-03-11  Jakub Jelinek  <jakub@redhat.com>
8147         * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
8148         on record_builtin_type argument.
8150 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
8152         PR c/65120
8153         * c-common.c (warn_logical_not_parentheses): Don't warn for
8154         !x == 0 or !x != 0.
8156 2015-03-07  Marek Polacek  <polacek@redhat.com>
8158         PR sanitizer/65280
8159         * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
8160         before trying to figure out whether we have a flexible array member.
8162 2015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
8163             Jonathan Wakely  <jwakely.gcc@gmail.com>
8165         * c-ada-spec.c (dump_ada_double_name): Fix pasto.
8167 2015-03-05  Eric Botcazou  <ebotcazou@adacore.com>
8169         PR ada/65319
8170         * c-ada-spec.c (print_destructor): Remove obsolete code.
8172 2015-03-01  Eric Botcazou  <ebotcazou@adacore.com>
8174         * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
8175         (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
8176         DECL_TEMPLATE_RESULT emulations.
8177         (dump_ada_template)): Add guard for TYPE_METHODS.
8179 2015-02-27  Marek Polacek  <polacek@redhat.com>
8181         PR c/65040
8182         * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
8184 2015-02-27  Kai Tietz  <ktietz@redhat.com>
8186         PR c/35330
8187         * c-pragma.c (handle_pragma_weak): Do not try to create
8188         weak/alias of declarations not being function, or variable
8189         declarations.
8191 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
8193         PR libgomp/64625
8194         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8195         Remove macros.
8196         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
8198 2015-02-16  Marek Polacek  <polacek@redhat.com>
8200         PR c/65066
8201         * c-format.c (check_format_types): Handle null param.
8203 2015-02-13  Marek Polacek  <polacek@redhat.com>
8205         PR c/65040
8206         * c-format.c (check_format_types): Don't warn about different
8207         signedness if the original value is in the range of WANTED_TYPE.
8209 2015-02-12  Jason Merrill  <jason@redhat.com>
8211         PR c++/64956
8212         * c-opts.c (c_common_post_options): Change flag_abi_version from 0
8213         to the current highest version.
8214         * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
8216 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
8218         PR c/64824
8219         PR c/64868
8220         * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
8221         instead of RDIV_EXPR.  Use build_binary_op instead of
8222         build2_loc.
8224 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
8226         * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
8227         to pass input_location as first argument.
8229 2015-01-23  Tom de Vries  <tom@codesourcery.com>
8231         PR libgomp/64672
8232         * c.opt (fopenacc): Mark as LTO option.
8234 2015-01-23  Tom de Vries  <tom@codesourcery.com>
8236         PR libgomp/64707
8237         * c.opt (fopenmp): Mark as LTO option.
8239 2015-01-21  Jakub Jelinek  <jakub@redhat.com>
8241         PR c/63307
8242         * cilk.c (fill_decls_vec): Only put decls into vector v.
8243         (compare_decls): Fix up formatting.
8245 2015-01-21  Igor Zamyatin  <igor.zamyatin@intel.com>
8247         PR c/63307
8248         * cilk.c: Include vec.h.
8249         (struct cilk_decls): New structure.
8250         (wrapper_parm_cb): Split this function to...
8251         (fill_decls_vec): ...this...
8252         (create_parm_list): ...and this.
8253         (compare_decls): New function.
8254         (for_local_cb): Remove.
8255         (wrapper_local_cb): Ditto.
8256         (build_wrapper_type): For now first traverse and fill vector of
8257         declarations then sort it and then deal with sorted vector.
8258         (cilk_outline): Ditto.
8259         (declare_one_free_variable): Ditto.
8261 2015-01-21  Jason Merrill  <jason@redhat.com>
8263         PR c++/64629
8264         * c-format.c (check_format_arg): Call decl_constant_value.
8266 2015-01-19  Martin Liska  <mliska@suse.cz>
8268         * c-common.c (handle_noicf_attribute): New function.
8270 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
8271             Bernd Schmidt  <bernds@codesourcery.com>
8272             James Norris  <jnorris@codesourcery.com>
8273             Cesar Philippidis  <cesar@codesourcery.com>
8274             Ilmir Usmanov  <i.usmanov@samsung.com>
8275             Jakub Jelinek  <jakub@redhat.com>
8277         * c.opt (fopenacc): New option.
8278         * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
8279         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
8280         New macros.
8281         * c-common.h (c_finish_oacc_wait): New prototype.
8282         * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
8283         (c_finish_oacc_wait): New function.
8284         * c-pragma.c (oacc_pragmas): New variable.
8285         (c_pp_lookup_pragma, init_pragma): Handle it.
8286         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
8287         PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
8288         PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
8289         PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
8290         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
8291         PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
8292         PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
8293         PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
8294         PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
8295         PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
8296         PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
8297         PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
8298         PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
8299         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
8300         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
8301         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
8302         PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
8303         PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
8304         PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
8305         PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
8306         PRAGMA_OACC_CLAUSE_WORKER.
8308 2015-01-14  Marcos Diaz  <marcos.diaz@tallertechnologies.com>
8310         * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
8311         for the new option fstack-protector_explicit.
8312         * c-common.c (c_common_attribute_table): Add stack_protect attribute.
8313         (handle_stack_protect_attribute): New function.
8315 2015-01-13  Martin Uecker  <uecker@eecs.berkeley.edu>
8317         * c.opt: New option -Warray-bounds=.
8319 2015-01-09  Michael Collison  <michael.collison@linaro.org>
8321         * array-notation-common.c: Include hash-set.h, machmode.h,
8322         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8323         fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
8324         * c-ada-spec.c: Ditto.
8325         * c-cilkplus.c: Ditto.
8326         * c-common.c: Include input.h due to flattening of tree.h.
8327         Define macro GCC_C_COMMON_C.
8328         * c-common.h: Flatten tree.h header files into c-common.h.
8329         Remove include of tree-core.h.
8330         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8331         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8332         fold-const.h, wide-int.h, and inchash.h due to
8333         flattening of tree.h.
8334         * c-dump.c: Ditto.
8335         * c-format.c: Flatten tree.h header files into c-common.h.
8336         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
8337         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8338         fold-const.h, wide-int.h, and inchash.h due to
8339         flattening of tree.h.
8340         * c-dump.c: Include hash-set.h, machmode.h,
8341         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8342         fold-const.h, wide-int.h, and inchash.h due to
8343         flattening of tree.h.
8344         * c-format.c: Include hash-set.h, machmode.h,
8345         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8346         fold-const.h, wide-int.h, inchash.h and real.h due to
8347         flattening of tree.h.
8348         * c-gimplify.c: Include hash-set.h, machmode.h,
8349         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
8350         fold-const.h, wide-int.h, and inchash.h due to
8351         flattening of tree.h.
8352         * cilk.c: Ditto.
8353         * c-lex.c: Ditto.
8354         * c-omp.c: Ditto.
8355         * c-opts.c: Ditto.
8356         * c-pch.c: Ditto.
8357         * c-ppoutput.c: Ditto.
8358         * c-pragma.c: Ditto.
8359         * c-pretty-print.c: Ditto.
8360         * c-semantics.c: Ditto.
8361         * c-ubsan.c: Ditto.
8362         * stub-objc.c: Ditto.
8364 2015-01-08  Jason Merrill  <jason@redhat.com>
8366         * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
8367         do_ubsan_in_current_function.
8368         (ubsan_maybe_instrument_reference_or_call): Likewise.
8369         * c-ubsan.h: Declare it.
8371 2015-01-08  Mike Stump  <mikestump@comcast.net>
8373         * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
8375 2015-01-07  Marek Polacek  <polacek@redhat.com>
8377         PR c/64440
8378         * c-common.c (c_fully_fold_internal): Warn for division and modulo
8379         if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
8381 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
8383         PR c++/31397
8384         * c.opt (Wsuggest-override): New option.
8386 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
8388         Update copyright years.
8390 2015-01-05  Marek Polacek  <polacek@redhat.com>
8392         PR c/64423
8393         * c-common.c (warn_array_subscript_with_type_char): Add location_t
8394         parameter.  Use it.
8395         * c-common.h (warn_array_subscript_with_type_char): Update
8396         declaration.
8398 2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
8400         * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
8401         Control macro with flag_sized_deallocation.
8403 2014-12-20  Martin Uecker  <uecker@eecs.berkeley.edu>
8405         * c.opt (Wdiscarded-array-qualifiers): New option.
8407 2014-12-19  Jakub Jelinek  <jakub@redhat.com>
8409         PR preprocessor/63831
8410         * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
8411         and __has_cpp_attribute here.
8412         * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
8413         c_common_has_attribute.
8414         * c-common.h (c_common_has_attribute): New prototype.
8415         * c-lex.c (init_c_lex): Set cb->has_attribute to
8416         c_common_has_attribute instead of cb_has_attribute.
8417         (get_token_no_padding): New function.
8418         (cb_has_attribute): Renamed to ...
8419         (c_common_has_attribute): ... this.  No longer static.  Use
8420         get_token_no_padding, require ()s, don't build TREE_LIST
8421         unnecessarily, fix up formatting, adjust diagnostics, call
8422         init_attributes.
8424 2014-12-15  Jason Merrill  <jason@redhat.com>
8426         * c.opt (-fsized-deallocation, -Wc++14-compat): New.
8427         (-Wsized-deallocation): New.
8428         * c-opts.c (c_common_post_options): -fsized-deallocation defaults
8429         to on in C++14 and up.
8431 2014-12-11  Jason Merrill  <jason@redhat.com>
8433         * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
8435         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
8436         we aren't complaining about VLAs.
8438 2014-12-06  Marek Polacek  <polacek@redhat.com>
8440         PR tree-optimization/64183
8441         * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
8442         shift-expression if it is integer_type_node.  Use types_compatible_p.
8444 2014-11-29  Jakub Jelinek  <jakub@redhat.com>
8446         * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
8447         last argument from create_tmp_var_raw and create_tmp_var calls.
8448         * cilk.c (gimplify_cilk_spawn): Likewise.
8449         * c-omp.c (c_finish_omp_atomic): Likewise.
8451 2014-11-28  Marek Polacek  <polacek@redhat.com>
8453         * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
8454         instead of unsigned_type_node.
8456 2014-11-28  Marek Polacek  <polacek@redhat.com>
8458         PR c/63862
8459         * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
8460         to op1_utype.
8461         * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
8462         expression to unsigned_type_node.
8464 2014-11-20  Mark Wielaard  <mjw@redhat.com>
8466         PR debug/38757
8467         * c-opts.c (set_std_c89): Set lang_hooks.name.
8468         (set_std_c99): Likewise.
8469         (set_std_c11): Likewise.
8470         (set_std_cxx98): Likewise.
8471         (set_std_cxx11): Likewise.
8472         (set_std_cxx14): Likewise.
8473         (set_std_cxx1z): Likewise.
8475 2014-11-21  Jakub Jelinek  <jakub@redhat.com>
8477         PR target/63764
8478         * c-common.h (convert_vector_to_pointer_for_subscript): Change
8479         return type to bool.
8480         * c-common.c: Include gimple-expr.h.
8481         (convert_vector_to_pointer_for_subscript): Change return type to
8482         bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
8483         and copy it into a TARGET_EXPR and use that instead of *vecp
8484         directly.
8486 2014-11-19  David Malcolm  <dmalcolm@redhat.com>
8488         Merger of git branch "gimple-classes-v2-option-3".
8489         * ChangeLog.gimple-classes: New.
8490         * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
8491         from being just a vec<gimple> to a vec<gbind *>.
8493 2014-11-18  Jakub Jelinek  <jakub@redhat.com>
8495         PR sanitizer/63813
8496         * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
8497         argument to ptype, set type to TREE_TYPE (ptype).  Don't call
8498         get_pointer_alignment for non-pointers.  Use ptype, or if it is
8499         reference type, corresponding pointer type, as type of kind
8500         argument.
8501         (ubsan_maybe_instrument_reference,
8502         ubsan_maybe_instrument_member_call): Adjust callers.
8504 2014-11-15  Marek Polacek  <polacek@redhat.com>
8506         PR middle-end/63884
8507         * array-notation-common.c (is_sec_implicit_index_fn): Return false
8508         for NULL fndecl.
8509         (extract_array_notation_exprs): Return for NULL node.
8511 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
8513         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
8514         undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
8516 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
8518         PR c/59708
8519         * c-common.c (check_builtin_function_arguments): Handle
8520         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
8522 2014-11-10  Andi Kleen  <ak@linux.intel.com>
8524         PR c/60804
8525         * c-common.h (check_no_cilk): Declare.
8526         * cilk.c (get_error_location): New function.
8527         (check_no_cilk): Dito.
8529 2014-11-10  Andi Kleen  <ak@linux.intel.com>
8531         * cilk.c (recognize_spawn): Use expression location
8532         for error message.
8534 2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
8536         * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
8538 2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
8540         * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8541         (__cpp_rtti, __cpp_exceptions): New macros for C++98;
8542         (__cpp_range_based_for, __cpp_initializer_lists,
8543         __cpp_delegating_constructors, __cpp_nsdmi,
8544         __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
8545         for C++11; (__cpp_attribute_deprecated): Remove in favor of
8546         __has_cpp_attribute.
8547         * c-lex.c (cb_has_attribute): New callback CPP function;
8548         (init_c_lex): Set has_attribute callback.
8550 2014-11-04  Richard Biener  <rguenther@suse.de>
8552         * c-common.c (shorten_compare): Do not shorten mixed
8553         DFP and non-DFP compares.
8555 2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
8557         * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
8558         * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
8559         Commentary and rearrangement of tests.
8560         * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
8561         Commentary and rearrangement of tests.
8562         * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
8563         * g++.dg/cpp1y/feat-cxx98.C: Commentary.
8565 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
8567         * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
8568         enum from machine_mode.
8570 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
8572         * c-common.c: Adjust include files.
8573         * c-gimplify.c: Ditto.
8574         * cilk.c: Ditto.
8575         * c-pragma.c: Ditto.
8576         * c-ubsan.c: Ditto.
8578 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
8580         * c-gimplify.c: Adjust include files.
8582 2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8584         PR c++/53061
8585         * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
8586         c_common_initialize_diagnostics.
8587         * c-common.h: Likewise.
8589 2014-10-24  Marek Polacek  <polacek@redhat.com>
8591         PR c/56980
8592         * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
8593         print "struct"/"union"/"enum" for typedefed names.
8595 2014-10-23  Marek Polacek  <polacek@redhat.com>
8597         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
8598         in unsigned type.
8600 2014-10-22  Jakub Jelinek  <jakub@redhat.com>
8601             Yury Gribov  <y.gribov@samsung.com>
8603         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8604         ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
8605         instead of flag_sanitize_recover as bool flag.
8607 2014-10-21  Kirill Yukhin  <kirill.yukhin@intel.com>
8609         * cilk.c: Revert previous change.
8611 2014-10-20  Igor Zamyatin  <igor.zamyatin@intel.com>
8613         PR c/63307
8614         * cilk.c: Include vec.h.
8615         (struct cilk_decls): New structure.
8616         (wrapper_parm_cb): Split this function to...
8617         (fill_decls_vec): ...this...
8618         (create_parm_list): ...and this.
8619         (compare_decls): New function.
8620         (for_local_cb): Remove.
8621         (wrapper_local_cb): Ditto.
8622         (build_wrapper_type): For now first traverse and fill vector of
8623         declarations then sort it and then deal with sorted vector.
8624         (cilk_outline): Ditto.
8625         (declare_one_free_variable): Ditto.
8627 2014-10-17  Marek Polacek  <polacek@redhat.com>
8629         * c-opts.c (c_common_post_options): Set warn_implicit_int.
8630         * c.opt (Wimplicit-int): Initialize to -1.
8632 2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
8634         * c-pragma.c: Adjust include files.
8635         * c-semantics.c: Likewise.
8637 2014-10-16  DJ Delorie  <dj@redhat.com>
8639         * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
8640         multiples of bytes.
8642 2014-10-14  Jason Merrill  <jason@redhat.com>
8644         PR c++/63455
8645         * c-common.h (CPP_PREPARSED_EXPR): New.
8646         (N_CP_TTYPES): Adjust.
8648 2014-10-15  Marek Polacek  <polacek@redhat.com>
8650         * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
8652 2014-10-14  DJ Delorie  <dj@redhat.com>
8654         * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
8655         types, not just __int128.
8656         * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
8657         types, not just __int128.
8658         (cpp_atomic_builtins): Round pointer sizes up.
8659         (type_suffix): Use type precision, not specific types.
8660         * c-common.c (c_common_reswords): Remove __int128 special case.
8661         (c_common_type_for_size): Check for all __intN types, not just
8662         __int128.
8663         (c_common_type_for_mode): Likewise.
8664         (c_common_signed_or_unsigned_type): Likewise.
8665         (c_build_bitfield_integer_type): Likewise.
8666         (c_common_nodes_and_builtins): Likewise.
8667         (keyword_begins_type_specifier): Likewise.
8668         * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
8669         __intN variants.
8671 2014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
8673         * c-common.c: Use hash_table instead of hashtab.
8675 2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
8677         * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
8678         C++11 section.
8680 2014-10-03  Marc Glisse  <marc.glisse@inria.fr>
8682         PR c++/54427
8683         PR c++/57198
8684         PR c++/58845
8685         * c-common.c (warn_logical_operator): Punt for vectors.
8687 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
8689         Implement SD-6: SG10 Feature Test Recommendations
8690         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
8691         macros and the __has_header macro.
8693 2014-09-30  Jason Merrill  <jason@redhat.com>
8695         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
8696         RID_IS_TRIVIALLY_CONSTRUCTIBLE.
8697         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8699         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
8700         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
8702         * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
8703         * c-common.c (c_common_reswords): Remove __is_convertible_to.
8705 2014-09-24  Marek Polacek  <polacek@redhat.com>
8707         PR c/61405
8708         PR c/53874
8709         * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
8711 2014-09-23  Andi Kleen  <ak@linux.intel.com>
8713         * c-common.c (handle_no_reorder_attribute): New function.
8714         (c_common_attribute_table): Add no_reorder attribute.
8716 2014-09-22  Joseph Myers  <joseph@codesourcery.com>
8718         * c-cppbuiltin.c (c_cpp_builtins): Define
8719         __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
8720         modes.
8722 2014-09-18  Joseph Myers  <joseph@codesourcery.com>
8724         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
8725         for supported floating-point modes.
8727 2014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8729         * c.opt (Wpsabi): Use LangEnabledBy.
8730         * c-opts.c (c_common_handle_option): Do not handle here.
8732 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
8734         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
8735         macros for floating-point modes.
8737 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
8739         PR target/58757
8740         * c-cppbuiltin.c (builtin_define_float_constants): Correct
8741         __*_DENORM_MIN__ without denormals.
8743 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
8745         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8746         ubsan_instrument_vla, ubsan_instrument_return): Adjust
8747         ubsan_create_data callers.
8748         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
8749         index is constant or BIT_AND_EXPR with constant mask and is
8750         small enough for the bound.
8751         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
8752         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
8754 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8756         * c.opt: Add CppReason to various flags.
8757         (Wdate-time): Re-sort.
8758         * c-common.c: Include c-common.h earlier.
8759         (struct reason_option_codes_t): Delete.
8760         (c_option_controlling_cpp_error): Prefix global type and struct
8761         with cpp_.
8763 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8765         * c.opt (Wnormalized): New.
8766         (Wnormalized=): Use Enum and Reject Negative.
8767         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
8769 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
8771         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
8772         digits of floating-point modes if -fbuilding-libgcc.
8774 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
8776         * c-cppbuiltin.c (c_cpp_builtins): Also define
8777         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
8778         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
8779         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
8780         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
8781         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
8782         __LIBGCC_STACK_GROWS_DOWNWARD__,
8783         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
8784         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
8785         __LIBGCC_DWARF_FRAME_REGISTERS__,
8786         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
8787         __LIBGCC_STACK_POINTER_REGNUM__ and
8788         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
8789         (builtin_define_with_value): Handle backslash-escaping in string
8790         macro values.
8792 2014-09-05  Richard Biener  <rguenther@suse.de>
8794         PR middle-end/63148
8795         * c-format.c (check_format_arg): Properly handle
8796         effectively signed POINTER_PLUS_EXPR offset.
8798 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8800         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
8801         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
8802         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
8803         and Init.
8804         * c-opts.c (c_common_handle_option): Do not handle here.
8805         (sanitize_cpp_opts): Likewise.
8806         * c-common.c (struct reason_option_codes_t): Handle
8807         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
8809 2014-09-03  Marek Polacek  <polacek@redhat.com>
8811         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
8813 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
8814             Balaji V. Iyer  <balaji.v.iyer@intel.com>
8815             Igor Zamyatin  <igor.zamyatin@intel.com>
8817         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
8818         * c-common.c (c_common_reswords): Added _Cilk_for.
8819         * c-common.h (enum rid): Added RID_CILK_FOR.
8820         (cilk_for_number_of_iterations): Add declaration.
8821         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
8822         CILK_FOR.
8823         * c-pragma.c (init_pragma): Register "grainsize" pragma.
8824         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
8826 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8828         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
8829         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
8830         Wundef): Use CPP, Var and Init.
8831         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
8833 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8835         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
8836         * c-opts.c (c_common_handle_option): Do not handle here.
8838 2014-08-25  Jason Merrill  <jason@redhat.com>
8840         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
8841         -std=c++14 and -std=gnu++14, rather than the reverse.
8842         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
8843         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
8844         * c-common.h (cxx_dialect): Remove cxx1y.
8846 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
8848         * c-common.h (enum cxx_dialect): Add cxx14.
8849         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
8850         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
8851         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
8853 2014-08-22  Jason Merrill  <jason@redhat.com>
8855         * c.opt (std=gnu++17): Fix alias.
8857 2014-08-22  Marek Polacek  <polacek@redhat.com>
8859         PR c++/62199
8860         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
8861         check for vector types.  Drop LHS argument.
8862         * c-common.h (warn_logical_not_parentheses): Adjust.
8864 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8866         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
8867         (Wmultichar): Likewise.
8868         (Wdate-time): Use C-family languages instead of Common. Use CPP
8869         and Var.
8870         * c-opts.c (c_common_handle_option): Do not handle the above
8871         options here.
8872         (sanitize_cpp_opts): Likewise.
8874 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8876         PR fortran/44054
8877         * c-opts.c: Include tree-diagnostics.h.
8878         (c_diagnostic_finalizer): New.
8879         (c_common_initialize_diagnostics): Use it.
8881 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8883         PR preprocessor/51303
8884         * c-common.c (struct reason_option_codes_t option_codes):
8885         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
8887 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8889         PR c/60975
8890         PR c/53063
8891         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
8892         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
8893         (c_common_post_options): Call init_global_opts_from_cpp.
8894         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
8896 2014-08-19  Marek Polacek  <polacek@redhat.com>
8898         PR c++/62153
8899         * c-common.c (maybe_warn_bool_compare): New function.
8900         * c-common.h (maybe_warn_bool_compare): Declare.
8901         * c.opt (Wbool-compare): New option.
8903 2014-08-19  Marek Polacek  <polacek@redhat.com>
8905         * c.opt (Wc99-c11-compat): New option.
8907 2014-08-19  Marek Polacek  <polacek@redhat.com>
8909         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
8910         to warn_c90_c99_compat.
8911         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
8912         to -1.
8914 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8915             Steven Bosscher  <steven@gcc.gnu.org>
8917         PR c/52952
8918         * c-format.c: Add extra_arg_loc and format_string_loc to struct
8919         format_check_results.
8920         (check_function_format): Use true and add comment for boolean
8921         argument.
8922         (finish_dollar_format_checking): Use explicit location when warning.
8923         (check_format_info): Likewise.
8924         (check_format_arg): Set extra_arg_loc and format_string_loc.
8925         (check_format_info_main): Use explicit location when warning.
8926         (check_format_types): Pass explicit location.
8927         (format_type_warning): Likewise.
8929 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8931         PR fortran/44054
8932         * c-format.c: Handle Fortran flags.
8934 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
8936         PR other/61962
8937         * array-notation-common.c (find_rank): Added handling for other
8938         types of references.
8940 2014-08-10  Marek Polacek  <polacek@redhat.com>
8942         PR c/51849
8943         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
8944         * c.opt (Wc90-c99-compat): Add option.
8946 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
8948         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
8950 2014-08-03  Marek Polacek  <polacek@redhat.com>
8952         * c-common.c (check_case_value): Add location_t parameter.  Use it.
8953         (c_add_case_label): Pass loc to check_case_value.
8955 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
8957         * cilk.c: Use hash_map instead of pointer_map.
8959 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
8961         * c-gimplify.c: Use hash_set instead of pointer_set.
8963 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
8965         PR middle-end/61455
8966         * array-notation-common.c (extract_array_notation_exprs): Handling
8967         of DECL_EXPR added.
8969 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
8971         * c-common.h (min_align_of_type): Removed prototype.
8972         * c-common.c (min_align_of_type): Removed.
8973         * c-ubsan.h (ubsan_maybe_instrument_reference,
8974         ubsan_maybe_instrument_member_call): New prototypes.
8975         * c-ubsan.c: Include stor-layout.h and builtins.h.
8976         (ubsan_maybe_instrument_reference_or_call,
8977         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
8978         functions.
8980 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
8982         PR c++/60517
8983         * c.opt (-Wreturn-local-addr): Move to common.opt.
8985 2014-07-30  Jason Merrill  <jason@redhat.com>
8987         PR c++/61659
8988         PR c++/61687
8989         Revert:
8990         * c.opt (-fuse-all-virtuals): New.
8992 2014-07-30  Tom Tromey  <tromey@redhat.com>
8994         PR c/59855
8995         * c.opt (Wdesignated-init): New option.
8996         * c-common.c (c_common_attribute_table): Add "designated_init".
8997         (handle_designated_init): New function.
8999 2014-07-24  Marek Polacek  <polacek@redhat.com>
9001         PR c/57653
9002         * c-opts.c (c_finish_options): If -imacros is in effect, return.
9004 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
9006         PR preprocessor/60723 - missing system-ness marks for macro tokens
9007         * c-ppoutput.c (struct print::prev_was_system_token): New data
9008         member.
9009         (init_pp_output): Initialize it.
9010         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
9011         (do_line_change): Return a flag saying if a line marker was
9012         emitted or not.
9013         (scan_translation_unit): Detect if the system-ness of the token we
9014         are about to emit is different from the one of the previously
9015         emitted token.  If so, emit a line marker.  Avoid emitting useless
9016         adjacent line markers.  Avoid emitting line markers for tokens
9017         originating from the expansion of built-in macros.
9018         (scan_translation_unit_directives_only): Adjust.
9020 2014-07-15  Marek Polacek  <polacek@redhat.com>
9022         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
9023         TYPE_MAX_VALUE is NULL.
9025 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
9027         PR middle-end/61294
9028         * c.opt (Wmemset-transposed-args): New warning.
9030 2014-07-10  Jason Merrill  <jason@redhat.com>
9032         PR c++/61659
9033         PR c++/61687
9034         * c.opt (-fuse-all-virtuals): New.
9036 2014-07-09  Richard Biener  <rguenther@suse.de>
9038         PR c-family/61741
9039         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9040         using unsigned arithmetic if overflow does not wrap instead of
9041         if overflow is undefined.
9043 2014-07-06  Marek Polacek  <polacek@redhat.com>
9045         PR c/6940
9046         * c.opt (Wsizeof-array-argument): New option.
9048 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
9050         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
9051         comments->count <= 1, as comments->entries might be NULL.
9053 2014-07-01  Marek Polacek  <polacek@redhat.com>
9055         * c.opt (Wint-conversion): New option.
9057 2014-07-01  Marek Polacek  <polacek@redhat.com>
9059         PR c/58286
9060         * c.opt (Wincompatible-pointer-types): New option.
9062 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
9064         PR c++/51400
9065         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
9066         Do not discard TYPE_QUALS of type.
9068 2014-06-26  Jason Merrill  <jason@redhat.com>
9070         * c-common.h (enum cxx_dialect): Add cxx1z.
9071         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
9072         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
9074 2014-06-26  Teresa Johnson  <tejohnson@google.com>
9076         * c-common.h (get_dump_info): Declare.
9077         * c-gimplify.c (c_genericize): Use saved dump files.
9078         * c-opts.c (c_common_parse_file): Begin and end dumps
9079         once around parsing invocation.
9080         (get_dump_info): New function.
9082 2014-06-23  Marek Polacek  <polacek@redhat.com>
9083             Andrew MacLeod  <amacleod@redhat.com>
9085         PR c/61553
9086         * c-common.c (get_atomic_generic_size): Don't segfault if the
9087         type doesn't have a size.
9089 2014-06-20  Marek Polacek  <polacek@redhat.com>
9091         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
9092         (ubsan_walk_array_refs_r): New function.
9093         (c_genericize): Instrument array bounds.
9094         * c-ubsan.c: Include "internal-fn.h".
9095         (ubsan_instrument_division): Mark instrumented arrays as having
9096         side effects.  Adjust ubsan_type_descriptor call.
9097         (ubsan_instrument_shift): Likewise.
9098         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
9099         (ubsan_instrument_bounds): New function.
9100         (ubsan_array_ref_instrumented_p): New function.
9101         (ubsan_maybe_instrument_array_ref): New function.
9102         * c-ubsan.h (ubsan_instrument_bounds): Declare.
9103         (ubsan_array_ref_instrumented_p): Declare.
9104         (ubsan_maybe_instrument_array_ref): Declare.
9106 2014-06-20  Hale Wang  <hale.wang@arm.com>
9108         PR lto/61123
9109         * c.opt (fshort-enums): Add to LTO.
9110         * c.opt (fshort-wchar): Likewise.
9112 2014-06-16  Marek Polacek  <polacek@redhat.com>
9114         PR c/60439
9115         * c.opt (Wswitch-bool): Add Var.
9117 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
9119         PR middle-end/61486
9120         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
9121         #pragma omp target teams or
9122         #pragma omp {,target }teams distribute simd.
9124 2014-06-12  Jason Merrill  <jason@redhat.com>
9126         * c.opt (Wabi=, fabi-compat-version): New.
9127         * c-opts.c (c_common_handle_option): Handle -Wabi=.
9128         (c_common_post_options): Handle flag_abi_compat_version default.
9129         Disallow -fabi-compat-version=1.
9130         * c-common.h (abi_version_crosses): New.
9132 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
9134         * c-common.c (handle_section_attribute): Update handling for
9135         section names that are no longer trees.
9137 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
9139         PR fortran/60928
9140         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
9141         (omp_pragmas): ... back here.
9143 2014-06-05  Marek Polacek  <polacek@redhat.com>
9145         PR c/49706
9146         * c-common.c (warn_logical_not_parentheses): New function.
9147         * c-common.h (warn_logical_not_parentheses): Declare.
9148         * c.opt (Wlogical-not-parentheses): New option.
9150 2014-06-04  Marek Polacek  <polacek@redhat.com>
9152         PR c/30020
9153         * c-common.c (check_case_bounds): Add location parameter.
9154         Use it.
9155         (c_add_case_label): Pass loc to check_case_bounds.
9157 2014-06-03  Marek Polacek  <polacek@redhat.com>
9159         PR c/60439
9160         * c.opt (Wswitch-bool): New option.
9162 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
9164         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
9165         Remove prototypes.
9166         (record_types_used_by_current_var_decl): Move prototype to where
9167         it belongs.
9169         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
9170         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
9171         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
9173 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
9175         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
9176         * c-common.c (c_common_nodes_and_builtins): Don't initialize
9177         void_zero_node.
9178         * c-pretty-print.c (pp_c_void_constant): New function.
9179         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
9180         (c_pretty_printer::expression): Handle VOID_CST.
9181         * cilk.c (extract_free_variables): Likewise.
9182         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
9183         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
9185 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
9187         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
9188         * c-pragma.c (push_alignment): Adjust.
9189         (handle_pragma_push_options): Likewise.
9191 2014-05-09  Marek Polacek  <polacek@redhat.com>
9193         PR c/50459
9194         * c-common.c (check_user_alignment): Return -1 if alignment is error
9195         node.
9196         (handle_aligned_attribute): Don't call default_conversion on
9197         FUNCTION_DECLs.
9198         (handle_vector_size_attribute): Likewise.
9199         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
9200         (handle_sentinel_attribute): Call default_conversion and allow even
9201         integral types as an argument.
9203 2014-05-08  Marek Polacek  <polacek@redhat.com>
9205         PR c/61053
9206         * c-common.c (min_align_of_type): New function factored out from...
9207         (c_sizeof_or_alignof_type): ...here.
9208         * c-common.h (min_align_of_type): Declare.
9210 2014-05-08  Marek Polacek  <polacek@redhat.com>
9212         PR c/61077
9213         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
9214         parameter type of main.
9216 2014-05-07  DJ Delorie  <dj@redhat.com>
9218         * c-cppbuiltin.c (print_bits_of_hex): New.
9219         (builtin_define_type_minmax): Print values using hex so as not to
9220         require a pre-computed list of string values.
9222 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
9223             Mike Stump  <mikestump@comcast.net>
9224             Richard Sandiford  <rdsandiford@googlemail.com>
9226         * c-ada-spec.c: Include wide-int.h.
9227         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
9228         (dump_generic_ada_node): Use wide-int interfaces.
9229         * c-common.c: Include wide-int-print.h.
9230         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
9231         (pointer_int_sum): Use wide-int interfaces.
9232         (c_common_nodes_and_builtins): Use make_int_cst.
9233         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
9234         (handle_alloc_size_attribute): Use wide-int interfaces.
9235         (get_nonnull_operand): Likewise.
9236         * c-format.c (get_constant): Use tree_fits_uhwi_p.
9237         * c-lex.c: Include wide-int.h.
9238         (narrowest_unsigned_type): Take a widest_int rather than two
9239         HOST_WIDE_INTs.
9240         (narrowest_signed_type): Likewise.
9241         (interpret_integer): Update accordingly.  Use wide-int interfaces.
9242         (lex_charconst): Use wide-int interfaces.
9243         * c-pretty-print.c: Include wide-int.h.
9244         (pp_c_integer_constant): Use wide-int interfaces.
9245         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
9246         INT_CST_LT_UNSIGNED.
9248 2014-05-06  Richard Biener  <rguenther@suse.de>
9250         * c-opts.c (c_common_post_options): For -freestanding,
9251         -fno-hosted and -fno-builtin disable pattern recognition
9252         if not enabled explicitely.
9254 2014-05-02  Marek Polacek  <polacek@redhat.com>
9256         * c.opt (Wsizeof-pointer-memaccess): Describe option.
9258 2014-05-01  Marek Polacek  <polacek@redhat.com>
9260         PR c/43245
9261         * c.opt (Wdiscarded-qualifiers): Add.
9263 2014-04-30  Marek Polacek  <polacek@redhat.com>
9265         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
9266         INT_MIN / -1 sanitization only for integer types.
9268 2014-04-25  Marek Polacek  <polacek@redhat.com>
9270         PR c/18079
9271         * c-common.c (handle_noinline_attribute): Warn if the attribute
9272         conflicts with always_inline attribute.
9273         (handle_always_inline_attribute): Warn if the attribute conflicts
9274         with noinline attribute.
9276 2014-04-25  Marek Polacek  <polacek@redhat.com>
9278         PR c/60156
9279         * c-common.c (check_main_parameter_types): Warn about variadic main.
9281 2014-04-24  Mike Stump  <mikestump@comcast.net>
9283         * c.opt (Wshadow-ivar): Default to on.
9285 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
9287         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
9289 2014-04-23  Marek Polacek  <polacek@redhat.com>
9291         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
9293 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
9295         PR sanitizer/60275
9296         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
9297         if flag_sanitize_undefined_trap_on_error.
9298         (ubsan_instrument_division, ubsan_instrument_shift,
9299         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
9300         if !flag_sanitize_recover.
9302 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
9304         PR libstdc++/43622
9305         * c-common.c (registered_builtin_types): Make non-static.
9306         * c-common.h (registered_builtin_types): Declare.
9308 2014-04-14  Richard Biener  <rguenther@suse.de>
9309             Marc Glisse  <marc.glisse@inria.fr>
9311         PR c/60819
9312         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
9313         apply may-alias the scalar pointer type when applicable.
9315 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
9317         PR middle-end/60467
9318         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
9319         as possible argument for Cilk_spawn.
9321 2014-04-11  Tobias Burnus  <burnus@net-b.de>
9323         PR c/60194
9324         * c.opt (Wformat-signedness): Add
9325         * c-format.c(check_format_types): Use it.
9327 2014-04-11  Jason Merrill  <jason@redhat.com>
9329         PR c++/57926
9330         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
9331         default_conversion for an array argument.
9333 2014-04-08  Marek Polacek  <polacek@redhat.com>
9335         PR sanitizer/60745
9336         * c-ubsan.c: Include asan.h.
9337         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
9339 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
9341         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
9343 2014-04-02  Marek Polacek  <polacek@redhat.com>
9345         * c-common.h (c_expand_expr): Remove declaration.
9347 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
9349         PR c++/60689
9350         * c-common.c (add_atomic_size_parameter): When creating new
9351         params vector, push the size argument first.
9353 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
9355         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
9356         ubsan_instrument_vla, ubsan_instrument_return): Adjust
9357         ubsan_create_data callers.
9359 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
9361         PR debug/60603
9362         * c-opts.c (c_finish_options): Restore cb_file_change call to
9363         <built-in>.
9365 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
9367         PR middle-end/36282
9368         * c-pragma.c (apply_pragma_weak): Only look at
9369         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
9370         DECL_ASSEMBLER_NAME_SET_P (decl).
9371         (maybe_apply_pending_pragma_weaks): Exit early if
9372         vec_safe_is_empty (pending_weaks) rather than only when
9373         !pending_weaks.
9374         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
9375         set assembler name back to NULL afterwards.
9377 2014-03-11  Jason Merrill  <jason@redhat.com>
9379         * c.opt: Add -std=gnu++14.
9381 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
9383         * c-opts.c (c_common_post_options): Don't override
9384         -ffp-contract=fast if unsafe-math-optimizations is on.
9386 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
9388         * c.opt: Enable LTO FE for fshort-double.
9390 2014-03-07  Jason Merrill  <jason@redhat.com>
9392         * c.opt: Add -std=c++14.
9394 2014-03-06  Marek Polacek  <polacek@redhat.com>
9396         PR c/60197
9397         * cilk.c (contains_cilk_spawn_stmt): New function.
9398         (contains_cilk_spawn_stmt_walker): Likewise.
9399         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
9400         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
9402 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
9404         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
9405         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
9406         even when flag_preprocess_only.
9408 2014-02-26  Jason Merrill  <jason@redhat.com>
9410         PR c++/59231
9411         PR c++/11586
9412         * c-common.c (shorten_compare): Don't check
9413         c_inhibit_evaluation_warnings.
9415 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
9417         PR c/37743
9418         * c-common.c (c_common_nodes_and_builtins): When initializing
9419         c_uint{16,32,64}_type_node, also set corresponding
9420         uint{16,32,64}_type_node to the same value.
9422         PR c++/60267
9423         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
9424         for PRAGMA_IVDEP if flag_preprocess_only.
9426 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
9428         PR c/60101
9429         * c-common.c (merge_tlist): If copy is true, call new_tlist,
9430         if false, add ADD itself, rather than vice versa.
9431         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
9432         copy.  For SAVE_EXPR, only call merge_tlist once.
9434 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
9436         PR middle-end/60092
9437         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
9438         and tree_to_uhwi.
9439         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
9440         functions.
9441         (c_common_attribute_table): Add alloc_align and assume_aligned
9442         attributes.
9444 2014-02-06  Marek Polacek  <polacek@redhat.com>
9446         PR c/60087
9447         * c-common.c (warn_for_sign_compare): Call warning_at with location
9448         instead of warning.
9450 2014-02-05  Marek Polacek  <polacek@redhat.com>
9452         PR c/53123
9453         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
9454         statement.
9456 2014-02-04  Marek Polacek  <polacek@redhat.com>
9458         PR c/60036
9459         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
9460         SAVE_EXPR.
9462 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
9464         PR c++/53017
9465         PR c++/59211
9466         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
9467         handle_vector_size_attribute, handle_nonnull_attribute): Call
9468         default_conversion on the attribute argument.
9469         (handle_nonnull_attribute): Increment the argument number.
9471 2014-01-31  Marek Polacek  <polacek@redhat.com>
9473         PR c/59963
9474         * c-common.c (add_atomic_size_parameter): Pass vNULL to
9475         build_function_call_vec.
9476         (resolve_overloaded_builtin): Likewise.
9477         * c-common.h (build_function_call_vec): Adjust declaration.
9479 2014-01-30  Marek Polacek  <polacek@redhat.com>
9481         PR c/59940
9482         * c-common.h (unsafe_conversion_p): Adjust declaration.
9483         (warnings_for_convert_and_check): Likewise.
9484         (convert_and_check): Likewise.
9485         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
9486         expansion_point_location_if_in_system_header on it.
9487         (warnings_for_convert_and_check): Add location parameter.  Call
9488         expansion_point_location_if_in_system_header on it.  Use it.
9489         (convert_and_check): Add location parameter.  Use it.
9490         (conversion_warning): Likewise.
9491         (c_add_case_label): Adjust convert_and_check calls.
9492         (scalar_to_vector): Adjust unsafe_conversion_p calls.
9494 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
9496         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
9497         flag_cilkplus.
9498         * c-pragma.c (init_pragma): Likewise.
9499         * c.opt: Likewise.
9501 2014-01-23  Marek Polacek  <polacek@redhat.com>
9503         PR c/59846
9504         * c-common.c (shorten_compare): Add location_t parameter.
9505         * c-common.h (shorten_binary_op): Adjust declaration.
9507 2014-01-23  Marek Polacek  <polacek@redhat.com>
9509         PR c/58346
9510         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
9511         * c-common.h: Declare it.
9513 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
9515         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
9516         * c-ada-spec.c (dump_ads): Likewise.
9517         (cpp_check): Likewise.
9518         (dump_ada_specs): Likewise.
9520 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
9522         PR c++/49718
9523         * c-common.c (handle_no_instrument_function_attribute): Allow
9524         no_instrument_function attribute in class member
9525         definition/declaration.
9527 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
9529         PR c/58943
9530         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
9531         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
9532         being COMPOUND_EXPR.
9533         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
9534         operand a SAVE_EXPR and second MODIFY_EXPR.
9536 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
9538         PR target/58115
9539         * c-pch.c (c_common_write_pch): Call
9540         prepare_target_option_nodes_for_pch.
9542 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9544         Update copyright years
9546 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9548         * array-notation-common.c, c-cilkplus.c: Use the standard form for
9549         the copyright notice.
9551 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
9553         * c-ada-spec.c (print_constructor): New function.
9554         (print_destructor): Retrieve the origin of the destructor.
9555         (print_ada_declaration): Revamp handling of constructors/destructors.
9557 2013-12-23  Stuart Hastings  <stuart@apple.com>
9558             Bill Maddox  <maddox@google.com>
9559             Jason Merrill  <jason@redhat.com>
9561         * c.opt: Add -fdeclone-ctor-dtor.
9562         * c-opts.c (c_common_post_options): Default to on iff -Os.
9564 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
9566         * c-common.c (c_common_attribute_table): Added "cilk simd function"
9567         attribute.
9568         * c-pragma.h (enum pragma_cilk_clause): Remove.
9569         (enum pragma_omp_clause): Added the following fields:
9570         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
9571         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
9572         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
9573         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
9574         PRAGMA_CILK_CLAUSE_UNIFORM.
9577 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
9579         * cilk.c (cilk_outline): Made this function non-static.
9580         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
9581         (create_cilk_wrapper): Added a new parameter: a function pointer.
9582         (c_install_body_w_frame_cleanup): Remove
9583         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
9584         * c-common.h (cilk_outline): New prototype.
9585         (gimplify_cilk_spawn): Removed two parameters.
9586         (cilk_install_body_with_frame_cleanup): New prototype.
9587         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
9588         CILK_SPAWN_STMT case.
9590 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
9592         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
9594         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
9595         (int_array_type_node): Remove.
9596         * c-common.c (c_common_nodes_and_builtins): Don't build it.
9598 2013-12-05  Marek Polacek  <polacek@redhat.com>
9600         PR c/52023
9601         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
9602         [ADJUST_FIELD_ALIGN].
9604 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
9606         PR c/52023
9607         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
9608         and check field alignment if set.
9609         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
9610         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
9612 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
9613             Marek Polacek  <polacek@redhat.com>
9615         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
9616         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
9618 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
9620         PR c/59309
9621         * cilk.c (gimplify_cilk_spawn): Properly handle function without
9622         arguments.
9624 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
9626         PR c/59280
9627         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
9628         goto invalid.  If it is error_mark_node, don't issue further
9629         diagnostics.
9631 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
9633         * c.opt (Wopenmp-simd): New.
9635 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
9637         * c-ubsan.h (ubsan_instrument_return): New prototype.
9638         * c-ubsan.c (ubsan_instrument_return): New function.
9640 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
9642         * c-common.c: Add required include files from gimple.h.
9643         * c-gimplify.c: Likewise.
9644         * cilk.c: Likewise.
9646 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
9648         * c-common.c (unsafe_conversion_p): Remove use of
9649         EXPR_LOC_OR_HERE macro.
9650         (conversion_warning): Likewise.
9651         (warnings_for_convert_and_check): Likewise.
9652         (warn_for_collisions_1): Likewise.
9653         (shorten_compare): Likewise, and remove use of in_system_header
9654         macro, using the location from the former.
9655         * c-lex.c (dump_one_header): Remove use of input_filename macro.
9656         (cb_def_pragma): Remove use of in_system_header macro.
9657         (lex_string): Likewise.
9658         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9660 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
9661             Mike Stump  <mikestump@comcast.net>
9662             Richard Sandiford  <rdsandiford@googlemail.com>
9664         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
9665         instead of TREE_INT_CST_LOW, in cases where there is a protecting
9666         tree_fits_shwi_p or tree_fits_uhwi_p.
9667         (dump_generic_ada_node): Likewise.
9668         * c-format.c (check_format_arg): Likewise.
9669         * c-pretty-print.c (pp_c_integer_constant): Likewise.
9671 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
9673         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
9675 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
9677         PR c/53001
9678         * c-common.c (unsafe_conversion_p): Make this function
9679         return an enumeration with more detail.
9680         (conversion_warning): Use the new return type of
9681         unsafe_conversion_p to separately warn either about conversions
9682         that lower floating point number precision or about the other
9683         kinds of conversions.
9684         * c-common.h (enum conversion_safety): New enumeration.
9685         (unsafe_conversion_p): switching return type to
9686         conversion_safety enumeration.
9687         * c.opt: Adding new warning -Wfloat-conversion and
9688         enabling it with -Wconversion.
9690 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
9692         * c-opts.c: Include plugin.h.
9693         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
9695 2013-11-19  Marek Polacek  <polacek@redhat.com>
9697         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
9698         call.
9699         (ubsan_instrument_shift): Likewise.
9700         (ubsan_instrument_vla): Likewise.
9702 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9704         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
9705         cast to unsigned type.
9707 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9709         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9710         tree_low_cst.
9711         (complete_array_type): Update comment to refer to tree_to_[su]hwi
9712         rather than tree_low_cst.
9714 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9716         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
9717         tree_to_uhwi throughout.
9719 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9721         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
9722         tree_low_cst (..., 0) with tree_to_shwi throughout.
9724 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9726         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
9727         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
9729 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
9731         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
9732         host_integerp (..., 0) with tree_fits_shwi_p throughout.
9734 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
9736         * c-cilkplus.c: New file.
9737         * c-common.c (readonly_error): Add location argument.
9738         * c-common.h (readonly_error): Same.
9739         (c_finish_cilk_clauses): Protoize.
9740         (c_check_cilk_loop): Same.
9741         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9742         Do not fail on error_mark_node.
9743         Abstract increment canonicalization to here...
9744         (c_omp_for_incr_canonicalize_ptr): New.
9745         c-pragma.c (init_pragma): Register "simd" pragma.
9746         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
9747         (enum pragma_cilk_clause): New.
9749 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
9751         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
9752         wchar_type and host_integerp checks.
9754 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
9756         * c-common.c: Likewise.
9757         * c-gimplify.c: Likewise.
9758         * cilk.c: Likewise.
9760 2013-11-14  Diego Novillo  <dnovillo@google.com>
9762         * c-common.c: Include fold-const.h.
9763         Include stor-layout.h.
9764         Include calls.h.
9765         Include stringpool.h.
9766         Include attribs.h.
9767         Include varasm.h.
9768         Include trans-mem.h.
9769         * c-cppbuiltin.c: Include stor-layout.h.
9770         Include stringpool.h.
9771         * c-format.c: Include stringpool.h.
9772         * c-lex.c: Include stringpool.h.
9773         Include stor-layout.h.
9774         * c-pragma.c: Include stringpool.h.
9775         Include attribs.h.
9776         Include varasm.h.
9777         Include gcc-symtab.h.
9778         * c-pretty-print.c: Include stor-layout.h.
9779         Include attribs.h.
9780         * cilk.c: Include stringpool.h.
9781         Include calls.h.
9783 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
9785         * c-common.h (enum rid): Add RID_AUTO_TYPE.
9786         * c-common.c (c_common_reswords): Add __auto_type.
9787         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
9789 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
9791         * c-common.c: Include gimplify.h.
9792         * c-gimplify.c: Likewise.
9793         * cilk.c: Likewise.
9794         * c-omp.c: Include gimple-expr.h instead of gimple.h.
9795         * c-ubsan.c: Don't include gimple.h.
9797 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
9799         * c-common.c (c_common_reswords): Add _Thread_local.
9801 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
9803         * c-common.c (atomic_size_supported_p): New function.
9804         (resolve_overloaded_atomic_exchange)
9805         (resolve_overloaded_atomic_compare_exchange)
9806         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
9807         Use it instead of comparing size with a local list of sizes.
9809 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
9810             Joseph Myers  <joseph@codesourcery.com>
9812         * c-common.h (enum rid): Add RID_ATOMIC.
9813         * c-common.c (c_common_reswords): Add _Atomic.
9814         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
9815         (keyword_is_type_qualifier): Accept RID_ATOMIC.
9816         * c-format.c (check_format_types): Check for extra _Atomic
9817         qualifiers in format argument.
9818         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
9819         (pp_c_type_qualifier_list): Mention _Atomic in comment.
9821 2013-11-06  Tobias Burnus  <burnus@net-b.de>
9823         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
9825 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
9827         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
9828         standards modes.
9829         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
9830         to mean lack of IEEE 754 support.
9832 2013-11-05  Tobias Burnus  <burnus@net-b.de>
9834         * c.opt (-Wdate-time): New option
9835         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
9837 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
9839         * c-cppbuiltin.c (cpp_iec_559_value): Test
9840         flag_excess_precision_cmdline not flag_excess_precision.
9842 2013-11-05  Tobias Burnus  <burnus@net-b.de>
9844         * c.opt (fopenmp-simd): New option.
9845         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
9846         (omp_pragmas): ... this new struct.
9847         (c_pp_lookup_pragma): Also walk omp_pragmas.
9848         (init_pragma): Init pragmas for -fopenmp-simd.
9850 2013-11-04  Marek Polacek  <polacek@redhat.com>
9852         PR c++/58979
9853         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
9855 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
9857         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
9858         New functions.
9859         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
9861 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
9863         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
9864         (dump_ada_specs): Adjust prototype of second callback.
9865         * c-ada-spec.c (cpp_check): New global variable.
9866         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
9867         (print_generic_ada_decl): Likewise.
9868         (has_static_fields): Change return type to bool and add guard.
9869         (has_nontrivial_methods): New predicate.
9870         (is_tagged_type): Change return type to bool.
9871         (separate_class_package): Call has_nontrivial_methods.
9872         (pp_ada_tree_identifier): Minor tweaks.
9873         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
9874         (dump_ada_array_domains): Likewise.
9875         (dump_ada_array_type): Likewise.
9876         (dump_template_types): Remove cpp_check parameter and do not pass it to
9877         dump_generic_ada_node.
9878         (dump_ada_template): Likewise.
9879         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
9880         recursively.
9881         (print_ada_methods): Change return type to integer.  Remove cpp_check
9882         parameter and do not pass it down.
9883         (dump_nested_types): Remove cpp_check parameter and do not pass it to
9884         dump_generic_ada_node.
9885         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
9886         accessing methods.
9887         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
9888         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
9889         value of print_ada_methods.
9890         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
9891         Set cpp_check to it before invoking dump_ada_nodes.
9892         (dump_ada_specs): Likewise.
9894 2013-11-03  Marek Polacek  <polacek@redhat.com>
9896         * c-ubsan.c: Don't include hash-table.h.
9897         (ubsan_instrument_vla): New function.
9898         * c-ubsan.h: Declare it.
9900 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
9902         Automated part of renaming of symtab_node_base to symtab_node.
9904         Patch autogenerated by rename_symtab.py from
9905         https://github.com/davidmalcolm/gcc-refactoring-scripts
9906         revision 58bb219cc090b2f4516a9297d868c245495ee622
9908         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
9909         symtab_node_base to symtab_node.
9911 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
9913         Implement C++14 digit separators.
9914         * c-lex.c (interpret_float): Remove digit separators from scratch string
9915         before building real literal.
9917 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
9919         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
9921 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
9923         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
9924         fields.
9925         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
9926         enabled.
9927         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
9928         (insert_cilk_frame): New prototype.
9929         (cilk_init_builtins): Likewise.
9930         (gimplify_cilk_spawn): Likewise.
9931         (c_cilk_install_body_w_frame_cleanup): Likewise.
9932         (cilk_detect_spawn_and_unwrap): Likewise.
9933         (cilk_set_spawn_marker): Likewise.
9934         (build_cilk_sync): Likewise.
9935         (build_cilk_spawn): Likewise.
9936         * cilk.c: New file.
9938 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
9940         Patch autogenerated by refactor_symtab.py from
9941         https://github.com/davidmalcolm/gcc-refactoring-scripts
9942         revision 58bb219cc090b2f4516a9297d868c245495ee622
9944         * c-gimplify.c (c_genericize): Update for conversion of symtab types
9945         to a true class hierarchy.
9946         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
9948 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
9950         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
9952 2013-10-26  Jeff Law  <law@redhat.com>
9954         * c-common.c (c_define_builtins): Remove mudflap support.
9955         * c.opt: Ignore and warn for mudflap options.
9957 2013-10-24  Tobias Burnus  <burnus@net-b.de>
9959         PR other/33426
9960         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
9961         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
9963 2013-10-23  Jason Merrill  <jason@redhat.com>
9965         * c-format.c (gcc_cxxdiag_char_table): Add %X.
9967 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
9969         * c-common.h (omp_clause_mask::operator !=): New method.
9970         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
9971         instead of if (mask & something) tests everywhere.
9973         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
9974         201307 instead of 201107.
9975         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
9976         (c_common_attribute_table): Add "omp declare target" and
9977         "omp declare simd" attributes.
9978         (handle_omp_declare_target_attribute,
9979         handle_omp_declare_simd_attribute): New functions.
9980         * c-omp.c: Include c-pragma.h.
9981         (c_finish_omp_taskgroup): New function.
9982         (c_finish_omp_atomic): Add swapped argument, if true,
9983         build the operation first with rhs, lhs arguments and use NOP_EXPR
9984         build_modify_expr.
9985         (c_finish_omp_for): Add code argument, pass it down to make_code.
9986         (c_omp_split_clauses): New function.
9987         (c_split_parallel_clauses): Removed.
9988         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
9989         c_omp_declare_simd_clauses_to_decls): New functions.
9990         * c-common.h (omp_clause_mask): New type.
9991         (OMP_CLAUSE_MASK_1): Define.
9992         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
9993         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
9994         omp_clause_mask::operator |, omp_clause_mask::operator &,
9995         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
9996         omp_clause_mask::operator ==): New methods.
9997         (enum c_omp_clause_split): New.
9998         (c_finish_omp_taskgroup): New prototype.
9999         (c_finish_omp_atomic): Add swapped argument.
10000         (c_finish_omp_for): Add code argument.
10001         (c_omp_split_clauses): New prototype.
10002         (c_split_parallel_clauses): Removed.
10003         (c_omp_declare_simd_clauses_to_numbers,
10004         c_omp_declare_simd_clauses_to_decls): New prototypes.
10005         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
10006         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
10007         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
10008         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
10009         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
10010         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
10011         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
10012         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
10013         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
10014         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
10015         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
10016         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
10017         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
10018         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
10019         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
10020         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
10021         PRAGMA_OMP_CLAUSE_UNIFORM.
10023 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
10025         PR tree-optimization/20318
10026         * c-common.c (handle_returns_nonnull_attribute): New function.
10027         (c_common_attribute_table): Add returns_nonnull.
10029 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
10031         PR c++/19476
10032         * c.opt (fcheck-new): Move to common.opt.
10034 2013-09-25  Marek Polacek  <polacek@redhat.com>
10035             Jakub Jelinek  <jakub@redhat.com>
10037         PR sanitizer/58413
10038         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
10039         an expression if we can prove it is correct.
10040         (ubsan_instrument_division): Likewise.  Remove unnecessary
10041         check.
10043 2013-09-18  Marek Polacek  <polacek@redhat.com>
10045         PR sanitizer/58411
10046         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
10047         Declare it.
10048         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
10050 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
10052         PR target/48094
10053         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
10054         fobjc-gc, freplace-objc-classes): Accept for LTO.
10056 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
10058         * c-target.def: New hook
10060 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
10062         PR c++/43452
10063         * c.opt (Wdelete-incomplete): Add.
10065 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
10067         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
10068         (vector_types_compatible_elements_p): New function.
10069         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
10070         declaration.
10071         (vector_types_compatible_elements_p): Declare.
10073 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10075         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
10076         a virtual member function.
10077         (pp_simple_type_specifier): Remove.
10078         (pp_c_type_specifier): Likewise.
10079         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
10080         Rename from pp_c_type_specifier.  Adjust.
10081         (c_pretty_printer::c_pretty_printer): Do not assign to
10082         simple_type_specifier.
10084 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10086         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
10087         member function.
10088         (c_pretty_printer::storage_class_specifier): Likewise.
10089         (c_pretty_printer::initializer): Likewise.
10090         (pp_declaration): Remove.
10091         (pp_declaration_specifiers): Likewise.
10092         (pp_abstract_declarator): Likewise.
10093         (pp_declarator): Likewise.
10094         (pp_type_id): Likewise.
10095         (pp_statement): Likewise.
10096         (pp_constant): Likewise.
10097         (pp_id_expression): Likewise.
10098         (pp_primary_expression): Likewise.
10099         (pp_unary_expression): Likewise.
10100         (pp_multiplicative_expression): Likewise.
10101         (pp_conditional_expression): Likewise.
10102         (pp_assignment_expression): Likewise.
10103         (pp_expression): Likewise.
10104         (pp_c_type_id): Likewise.
10105         (pp_c_storage_class_specifier): Likewise.
10106         * c-pretty-print.c (pp_c_type_cast): Tidy.
10107         (pp_c_pointer): Likewise.
10108         (pp_c_type_specifier): Likewise.
10109         (pp_c_parameter_type_list): Likewise.
10110         (pp_c_function_definition): Likewise.
10111         (pp_c_init_declarator): Likewise.
10112         (pp_c_initializer_list): Likewise.
10113         (pp_c_constructor_elts): Likewise.
10114         (c_pretty_printer::direct_abstract_declarator): Likewise.
10115         (c_pretty_printer::declaration_specifiers): Likewise.
10116         (c_pretty_printer::primary_expression): Likewise.
10117         (c_pretty_printer::postfix_expression): Likewise.
10118         (c_pretty_printer::type_id): Rename from pp_c_type_id.
10119         (c_pretty_printer::storage_class_specifier): Rename from
10120         pp_c_storage_class_specifier.
10121         (c_pretty_printer::initializer): Rename from pp_c_initializer.
10122         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
10123         storage_class_specifier, initializer, offset_list, flags.
10125 2013-08-30  Marek Polacek  <polacek@redhat.com>
10127         * c-ubsan.c: New file.
10128         * c-ubsan.h: New file.
10130 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10132         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
10133         member function.
10134         (c_pretty_printer::declaration_specifiers): Likewise.
10135         (c_pretty_printer::declarator): Likewise.
10136         (c_pretty_printer::abstract_declarator): Likewise.
10137         (c_pretty_printer::direct_abstract_declarator): Likewise.
10138         (c_pretty_printer::direct_declarator): Likewise.
10139         (c_pretty_printer::function_specifier): Likewise.
10140         (pp_declaration): Adjust.
10141         (pp_declaration_specifiers): Likewise.
10142         (pp_abstract_declarator): Likewise.
10143         (pp_direct_declarator): Likewise.
10144         (pp_function_specifier): Likewise.
10145         (pp_direct_abstract_declarator): Remove as unused.
10146         (pp_c_declaration): Remove.
10147         (pp_c_declaration_specifiers): Likewise.
10148         (pp_c_declarator): Likewise.
10149         (pp_c_direct_declarator): Likewise.
10150         (pp_c_function_specifier): Likewise.
10151         (pp_c_direct_abstract_declarator): Likewise.
10152         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
10153         from pp_c_abstract_declarator.  Adjust.
10154         (c_pretty_printer::direct_abstract_declarator): Rename from
10155         pp_c_direct_abstract_declarator.  Adjust.
10156         (c_pretty_printer::function_specifier): Rename from
10157         pp_c_function_specifier.  Adjust.
10158         (c_pretty_printer::declaration_specifiers): Rename from
10159         pp_c_declaration_specifiers.  Adjust.
10160         (c_pretty_printer::direct_declarator): Rename from
10161         pp_c_direct_declarator.  Adjust.
10162         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
10163         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
10164         (c_pretty_printer::c_pretty_printer): Do not assign to
10165         declaration, declaration_specifiers, declarator,
10166         direct_declarator, direct_abstract_declarator, function_specifier.
10168 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
10170         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
10171         virtual member function.
10172         (c_pretty_printer::multiplicative_expression): Likewise.
10173         (c_pretty_printer::conditional_expression): Likewise.
10174         (c_pretty_printer::assignment_expression): Likewise.
10175         (c_pretty_printer::expression): Likewise.
10176         (pp_unary_expression): Adjust.
10177         (pp_multiplicative_expression): Likewise.
10178         (pp_assignment_expression): Likewise.
10179         (pp_conditional_expression): Likewise.
10180         (pp_expression): Likewise.
10181         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
10182         from pp_c_unary_expression.  Adjust.
10183         (c_pretty_printer::multiplicative_expression): Rename from
10184         pp_c_multiplicative_expression.  Adjust.
10185         (c_pretty_printer::conditional_expression): Rename from
10186         pp_c_conditional_expression.  Adjust.
10187         (c_pretty_printer::assignment_expression): Rename from
10188         pp_c_assignment_expression.  Adjust.
10189         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
10190         (c_pretty_printer::c_pretty_printer): Do not assign to
10191         unary_expression, multiplicative_expression,
10192         conditional_expression, expression.
10194 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10196         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
10197         virtual member function.
10198         (pp_postfix_expression): Adjust.
10199         (pp_c_postfix_expression): Remove.
10200         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
10201         from pp_c_postfix_expression.  Adjust.
10202         (c_pretty_printer::c_pretty_printer): Do not assign to
10203         postfix_expression.
10205 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10207         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
10208         virtua member function.
10209         (pp_primary_expression): Adjust.
10210         (pp_c_primary_expression): Remove.
10211         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
10212         from pp_c_primary_expression.  Adjust.
10213         (pp_c_initializer_list): Use pp_primary_expression.
10214         (c_pretty_printer::c_pretty_printer): Do not assign to
10215         primary_expression.
10217 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10219         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
10220         * c-pretty-print.c (M_): Remove.
10221         (c_pretty_printer::translate_string): Define.
10222         (pp_c_type_specifier): Use it.
10223         (pp_c_primary_expression): Likewise.
10224         (pp_c_expression): Likewise.
10226 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10228         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
10229         virtual function.
10230         (pp_c_id_expression): Remove.
10231         (pp_id_expression): Adjust.
10232         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
10233         pp_c_id_expression.  Adjust.
10234         (pp_c_postfix_expression): Use pp_id_expression.
10235         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
10237 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10239         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
10240         member function.
10241         (pp_constant): Adjust.
10242         (pp_c_constant): Remove.
10243         * c-pretty-print.c (c_pretty_printer::constant): Rename from
10244         pp_c_constant.  Adjust.
10245         (pp_c_constant)
10246         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
10247         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
10249 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10251         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
10252         (c_pretty_printer::c_pretty_printer): Declare.
10253         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
10254         c_pretty_printer_init.  Adjust.
10255         (print_c_tree): Do not call c_pretty_printer_init.
10256         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
10258 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
10260         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
10262 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
10264         PR c++/58080
10265         * c-common.c (pointer_int_sum): Add bool parameter.
10266         * c-common.h (pointer_int_sum): Adjust declaration.
10268 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10270         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
10271         c_pretty_printer variable.
10273 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10275         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
10276         (pp_base): Remove.
10277         (pp_c_base): Likewise.  Adjust users.
10278         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
10279         (pp_c_whitespace): Do not call pp_base.
10280         (pp_c_left_paren): Likewise.
10281         (pp_c_right_paren): Likewise.
10282         (pp_c_left_brace): Likewise.
10283         (pp_c_right_brace): Likewise.
10284         (pp_c_left_bracket): Likewise.
10285         (pp_c_right_bracket): Likewise.
10286         (pp_c_dot): Likewise.
10287         (pp_c_ampersand): Likewise.
10288         (pp_c_star): Likewise.
10289         (pp_c_arrow): Likewise.
10290         (pp_c_semicolon): Likewise.
10291         (pp_c_complement): Likewise.
10292         (pp_c_exclamation): Likewise.
10293         (pp_c_direct_declarator): Likewise.
10294         (pp_c_ws_string): Likewise.
10295         (pp_c_identifier): Likewise.
10296         (pp_c_statement): Likewise.
10297         (print_c_tree): Likewise.
10299 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
10301         PR c++/58072
10302         * c-common.c (c_parse_error): Catch user-defined literal tokens and
10303         provide useful error strings.
10305 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10307         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10308         printer functions instead of pp_string or operators and punctuators.
10309         (dump_generic_ada_node): Likewise.
10310         * c-pretty-print.c (pp_c_type_specifier): Likewise.
10311         (pp_c_relational_expression): Likewise.
10312         (pp_c_logical_or_expression): Likewise.
10314 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10316         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
10317         functions instead of pp_character.
10318         (pp_ada_tree_identifier): Likewise.
10319         (dump_ada_double_name): Likewise.
10320         (dump_ada_function_declaration): Likewise.
10321         (dump_ada_array_domains): Likewise.
10322         (dump_template_types): Likewise.
10323         (dump_generic_ada_node): Likewise.
10324         (print_ada_declaration): Likewise.
10325         (print_ada_struct_decl): Likewise.
10326         * c-pretty-print.c (pp_c_integer_constant): Likewise.
10328 2013-07-23  Tom Tromey  <tromey@redhat.com>
10330         * c-common.h (enum rid) <RID_GENERIC>: New constant.
10331         * c-common.c (c_common_reswords): Add _Generic.
10333 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
10335         * c-common.c: Fix typos.
10336         * c-common.h: Likewise.
10338 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
10340         PR c++/55203
10341         * c-common.c (c_common_attribute_table): Add warn_unused.
10342         (handle_warn_unused_attribute): New.
10344 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
10346         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
10347         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
10349 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
10351         PR c++/57869
10352         * c.opt: Add Wconditionally-supported.
10354 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
10356         * array-notation-common.c (length_mismatch_in_expr_p): Delete
10357         unused variables l_length and l_node.
10359 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
10361         PR c/57821
10362         * c-common.c (complete_array_type): Delay folding first index
10363         like other indices.  When folding, check for index overflow.
10365 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
10367         PR c++/57509
10368         * c-common.h (c_build_vec_perm_expr): New complain argument.
10369         * c-common.c (c_build_vec_perm_expr): Likewise.
10370         Use save_expr also in C++.
10372 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10374         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
10375         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
10376         * c-opts.c (c_common_post_options): Likewise.
10378 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
10380         * array-notation-common.c (length_mismatch_in_expr): Changed the
10381         parameter type's from a dynamic array to a vec_tree.  Also removed
10382         the size parameters.
10383         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
10384         the change above.
10386 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
10388         * c-common.h (struct cilkplus_an_parts): New structure.
10389         (struct cilkplus_an_loop_parts): Likewise.
10390         (cilkplus_extract_an_triplets): New prototype.
10391         (fix_sec_implicit_args): Likewise.
10392         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
10393         (fix_sec_implicit_args): Likewise.
10395 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
10397         * array-notation-common.c (find_inv_trees): Removed an unwanted
10398         typecasting.
10399         * c-common.h (struct inv_list::additional_tcodes): Changed type from
10400         enum rid to enum tree_code.
10402 2013-06-11  Jan Hubicka  <jh@suse.cz>
10404         * c-common.c (handle_alias_ifunc_attribute): Do not set
10405         DECL_EXTERNAL for weakref variables.
10406         * c-pragma.c (handle_pragma_weak): Make sure aliases
10407         are not declared as external.
10409 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
10411         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
10412         function from c/c-array-notation.c.
10413         (is_cilkplus_reduce_builtin): Likewise.
10414         (find_rank): Likewise.
10415         (extract_array_notation_exprs): Likewise.
10416         (replace_array_notations): Likewise.
10417         (find_inv_trees): Likewise.
10418         (replace_inv_trees): Likewise.
10419         (contains_array_notation_expr): Likewise.
10420         (find_correct_array_notation_type): Likewise.
10421         * c-common.h (struct inv_list): Moved this struct from the file
10422         c/c-array-notation.c and added a new field called additional tcodes.
10423         (length_mismatch_in_expr_p): New prototype.
10424         (is_cilkplus_reduce_builtin): Likewise.
10425         (find_rank): Likewise.
10426         (extract_array_notation_exprs): Likewise.
10427         (replace_array_notation): Likewise.
10428         (find_inv_trees): Likewise.
10429         (replace_inv_trees): Likewise.
10430         (find_correct_array_notation_type): Likewise.
10432 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
10434         * c-common.c (c_define_builtins): When cilkplus is enabled, the
10435         function array_notation_init_builtins is called.
10436         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
10437         * c-common.def (ARRAY_NOTATION_REF): New tree.
10438         * c-common.h (build_array_notation_expr): New function declaration.
10439         (build_array_notation_ref): Likewise.
10440         (extract_sec_implicit_index_arg): New extern declaration.
10441         (is_sec_implicit_index_fn): Likewise.
10442         (ARRAY_NOTATION_CHECK): New define.
10443         (ARRAY_NOTATION_ARRAY): Likewise.
10444         (ARRAY_NOTATION_START): Likewise.
10445         (ARRAY_NOTATION_LENGTH): Likewise.
10446         (ARRAY_NOTATION_STRIDE): Likewise.
10447         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
10448         ARRAY_NOTATION_REF.
10449         (pp_c_expression): Likewise.
10450         * c.opt (flag_enable_cilkplus): New flag.
10451         * array-notation-common.c: New file.
10453 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
10455         PR c++/57274
10456         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
10458 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
10460         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
10461         vectors.
10463 2013-05-07  Han Shen  <shenhan@google.com>
10465         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
10467 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
10469         * c-common.c (check_user_alignment): Emit error for negative values.
10471 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
10473         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
10475 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
10477         * c-cppbuiltin.c (c_cpp_builtins): Do not define
10478         __GXX_EXPERIMENTAL_CXX1Y__.
10480 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
10481             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
10483         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
10484         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
10485         to simply use OPT_Wpointer_arith.
10486         (c_sizeof_or_alignof_type): Likewise.
10488 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
10490         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
10492 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
10494         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
10495         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
10496         specifiers.
10498 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
10500         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
10502 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
10504         * c-common.c (pointer_int_sum): Remove dead code.
10506 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
10508         PR middle-end/56524
10509         * c-common.c (handle_optimize_attribute): Don't call
10510         save_optabs_if_changed.
10512 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
10514         PR middle-end/56461
10515         * c-pch.c (pch_init): Free target_validity at the end.
10517 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
10519         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
10521 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
10522             Jakub Jelinek  <jakub@redhat.com>
10524         PR sanitizer/56454
10525         * c-common.c (handle_no_sanitize_address_attribute): New function.
10526         (c_common_attribute_table): Add no_sanitize_address attribute.
10527         (handle_no_address_safety_analysis_attribute): Add
10528         no_sanitize_address attribute, not no_address_safety_analysis
10529         attribute.
10531 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
10533         PR target/52555
10534         * c-common.c (handle_optimize_attribute): Call
10535         save_optabs_if_changed.
10537 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
10538             Steven Bosscher  <steven@gcc.gnu.org>
10540         PR pch/54117
10541         * c-opts.c (c_common_post_options): If debug info is enabled
10542         and non-dwarf*, refuse to load PCH files and when writing PCH
10543         file warn.
10545 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
10547         PR middle-end/56167
10548         * c-common.c (handle_error_attribute): Fix condition.
10550 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
10552         PR c++/55742
10553         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
10555 2013-01-18  Jason Merrill  <jason@redhat.com>
10557         PR target/54908
10558         * c.opt (-fextern-tls-init): New.
10559         * c-opts.c (c_common_post_options): Handle it.
10561 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
10563         PR c/48418
10564         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
10565         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
10566         and is either negative or bigger or equal to type precision
10567         of the first operand.
10569 2012-12-03  Marek Polacek  <polacek@redhat.com>
10571         PR c/55570
10572         * c-common.c (check_user_alignment): Swap order of tests,
10573         check TREE_CODE first.
10575 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
10577         PR c++/52654
10578         * c-common.h (overflow_type): New enum.
10579         (build_userdef_literal): Add overflow_type argument.
10580         (tree_userdef_literal): Add overflow_type.
10581         (USERDEF_LITERAL_OVERFLOW): New access macro.
10582         * c-common.c (build_userdef_literal): Add overflow_type
10583         argument.
10584         * c-lex.c (c_lex_with_flags): Add overflow_type to
10585         build_userdef_literal calls.
10586         (interpret_integer, interpret_float): Add overflow_type argument.
10588 2012-11-28  Richard Biener  <rguenther@suse.de>
10590         PR c/35634
10591         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
10592         here and use a type with proper overflow behavior for types that would
10593         need to be promoted for the arithmetic.
10595 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
10597         PR sanitizer/55435
10598         * c-common.c (handle_no_address_safety_analysis_attribute): New
10599         function.
10600         (c_common_attribute_table): Add no_address_safety_analysis.
10602 2012-11-16  Simon Baldwin  <simonb@google.com>
10604         * c.opt: Add f[no-]canonical-system-headers.
10605         * c-opts.c (c_common_handle_option): Handle
10606         OPT_fcanonical_system_headers.
10608 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
10610         PR c++/54413
10611         * c-opts.c (c_common_handle_option): Set new flags.
10612         * c.opt: Describe new flags.
10614 2012-11-09  Jason Merrill  <jason@redhat.com>
10616         * c.opt (Wabi-tag): New.
10618 2012-11-09  Andi Kleen  <ak@linux.intel.com>
10620         PR 55139
10621         * c-common.c (get_atomic_generic_size): Mask with
10622         MEMMODEL_MASK
10624 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10626         PR c/53063
10627         * c.opt (Wformat): Make it Alias Wformat=1.
10628         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
10629         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
10630         LangEnabledBy.
10631         (Wformat=): RejectNegative. Use LangEnabledBy.
10632         (Wnonnull): Use LangEnabledBy.
10633         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
10634         * c-format.c (set_Wformat): Delete.
10635         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
10636         (maybe_read_dollar_number): Likewise.
10637         (avoid_dollar_number): Likewise.
10638         (finish_dollar_format_checking): Likewise.
10639         (check_format_info): Likewise.
10640         (check_format_info_main): Likewise.
10641         (check_format_types): Likewise.
10642         (format_type_warning): Likewise.
10643         * c-common.c (int): Likewise.
10644         (check_function_sentinel): Likewise.
10645         * c-common.h (warn_format,set_Wformat): Do not declare here.
10647 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10649         PR c/53063
10650         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
10651         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
10652         Use LangEnabledBy.
10653         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
10654         common.opt.
10655         (Wvariadic-macros): Init(1).
10656         * c-opts.c (c_common_handle_option): Do not handle them
10657         explicitly.
10658         (c_common_post_options): Likewise.
10659         (sanitize_cpp_opts): warn_unused_macros is now
10660         cpp_warn_unused_macros.
10661         (push_command_line_include): Likewise.
10662         * c-common.c (warn_unknown_pragmas): Do not define.
10663         * c-common.h (warn_unknown_pragmas): Do not declare.
10665 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10667         PR c/51294
10668         * c-common.c (conversion_warning): Handle conditional expressions.
10670 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
10672         PR c++/54930
10673         * c.opt (Wreturn_local_addr): Define new option.
10675 2012-10-25  Jason Merrill  <jason@redhat.com>
10677         * c.opt (Wvirtual-move-assign): New.
10679         * c.opt (Winherited-variadic-ctor): New.
10681 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
10683         PR c++/54427
10684         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
10686 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
10688         * c-common.h (pch_cpp_save_state): Declare.
10689         * c-target.def (c_preinclude): New hook.
10690         * c-opts.c (done_preinclude): New.
10691         (push_command_line_include): Handle default preincluded header.
10692         (cb_file_change): Call pch_cpp_save_state when calling
10693         push_command_line_include.
10694         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
10695         (pch_cpp_save_state): New.
10696         (pch_init): Call pch_cpp_save_state conditionally, instead of
10697         calling cpp_save_state.
10699 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10701         PR c/53063
10702         PR c/40989
10703         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
10704         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
10705         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
10706         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
10707         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
10708         * c-opts.c (c_common_handle_option): Remove explicit handling from
10709         here.
10710         (c_common_post_options): Likewise.
10712 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
10714         * c-ada-spec.c (LOCATION_COL): Delete.
10715         (compare_location): New function.
10716         (compare_node): Use it.
10717         (compare_comment): Likewise.
10719 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10721         PR c/53063
10722         PR c/40989
10723         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
10724         * c-opts.c (c_common_handle_option): Do not set them here. Add
10725         comment.
10726         (c_common_post_options): Likewise.
10728 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
10730         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
10731         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
10732         Remove POINTER_TYPE handling, add large unsigned handling and use
10733         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
10735 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
10737         PR c/54381
10738         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
10739         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
10740         locs and array of 3 trees instead of just single loc and single
10741         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
10742         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
10743         For *cmp* builtins that take two sources strings report warnings
10744         about first and second source, not about destination and source.
10746 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
10748         PR c++/53055
10749         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
10751 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
10753         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
10754         declaring something coming from another file.
10756 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
10758         PR ada/54845
10759         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
10761 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
10763         PR c++/54194
10764         * c-common.c (warn_about_parentheses): Add location_t parameter;
10765         use EXPR_LOC_OR_LOC.
10766         * c-common.h: Update declaration.
10768 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
10770         PR c++/54427
10771         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
10772         more operations. Make error messages optional.
10773         * c-common.h (enum stv_conv): Moved from c-typeck.c.
10774         (scalar_to_vector): Declare.
10776 2012-10-08  Jason Merrill  <jason@redhat.com>
10778         * c-common.c (c_common_reswords): Add thread_local.
10780 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
10782         PR c++/53528 C++11 attribute support
10783         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
10784         new functions.
10785         * c-common.c (check_cxx_fundamental_alignment_constraints): New
10786         static function.
10787         (handle_aligned_attribute): In choose strictest alignment
10788         among many.  Use new check_cxx_fundamental_alignment_constraints.
10789         (handle_transparent_union_attribute): In c++11 attribute syntax,
10790         don't look through typedefs.
10792 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
10794         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
10795         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
10796         out of dumpfile.h.
10798 2012-09-25  Dehao Chen  <dehao@google.com>
10800         PR middle-end/54645
10801         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
10802         map when read in the pch.
10804 2012-09-18  Arnaud Charlet  <charlet@adacore.com>
10806         * c-ada-spec.c: Style fixes.
10808 2012-09-18  Thomas Quinot  <quinot@adacore.com>
10810         * c.opt (-fada-spec-parent): Define new command line switch.
10811         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
10812         is specified, generate binding spec as a child of the specified unit.
10814 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
10815             Manuel López-Ibáñez  <manu@gcc.gnu.org>
10817         PR c++/53210
10818         * c.opt ([Winit-self]): Enabled by -Wall in C++.
10820 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
10822         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
10823         for pointers, and add missing Convention C pragma.
10824         (print_ada_struct_decl): Add missing aliased keyword.
10825         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
10827 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
10829         * c-common.c (sizeof_pointer_memaccess_warning): New function.
10830         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
10831         * c-opts.c (c_common_handle_option): Enable it for -Wall.
10832         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
10833         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
10835 2012-08-10  Richard Guenther  <rguenther@suse.de>
10837         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
10839 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
10841         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
10842         instead of separate pp_newline and pp_flush.
10843         (print_c_tree): Likewise.
10845 2012-07-26  Richard Henderson  <rth@redhat.com>
10847         * c-common.c (handle_hot_attribute): Allow labels.
10848         (handle_cold_attribute): Likewise.
10850 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
10852         PR c++/28656
10853         * c-common.c (check_function_nonnull): Handle multiple nonnull
10854         attributes properly.
10856 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
10858         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
10859         * c-ada-spec.c: Likewise.
10860         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
10862 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
10864         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
10865         Remove code conditional on it.
10867 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
10869         * c-gimplify.c: Do not include basic-block.h.
10870         * c-common.c: Do not include linfuncs.h.
10872 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
10874         * c-common.h: Include tree.h.
10876 2012-07-02  Jason Merrill  <jason@redhat.com>
10878         PR c++/53524
10879         * c-common.c (get_priority): Call default_conversion.
10881 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
10883         * c-pch.c (c_common_write_pch): Remove unused variables.
10885 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
10887         * cppspec.c: Moved from gcc/ to here.
10889 2012-06-27  Kai Tietz  <ktietz@redhat.com>
10891         PR preprocessor/37215
10892         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
10894 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
10896         * c-common.h (c_common_print_pch_checksum): Remove.
10897         * c-pch.c: Do not include output.h.
10898         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
10899         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
10900         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
10901         (struct c_pch_header): Remove.
10902         (get_ident): Update gpch version.
10903         (pch_init): Do not print executable_checksum to asm_out_file.
10904         Do not fail if there is no asm_out_file to read back from.  Set
10905         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
10906         (c_common_write_pch): Verify that nothing was written to asm_out_file
10907         since pch_init was called.  Do not write a c_pch_header, and do not
10908         copy from asm_out_file to the PCH.
10909         (c_common_read_pch): Do not read a c_pch_header, and do not restore
10910         the content of asm_out_file from the PCH.
10911         (c_common_print_pch_checksum): Remove.
10912         * c-opts.c (c_common_init): Print out executable_checksum directly.
10914 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
10916         * c-target.def (objc_declare_unresolved_class_reference,
10917         objc_declare_class_definition): Add new hooks.
10919 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
10921         * c-lex.c: Do not include output.h.
10922         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
10923         Remove uses of ASM_OUTPUT_IDENT.
10925 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
10927         PR c++/51033
10928         * c-common.h (c_build_vec_perm_expr): Move decl here.
10929         * c-common.c (c_build_vec_perm_expr): Move definition
10930         here.
10932 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
10934         * c.opt (fconserve-space): Turn into a no-op.
10936 2012-06-04  Sterling Augustine  <saugustine@google.com>
10938         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
10939         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
10940         both the start and end of the function.
10942 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
10944         * c-common.c: Do not include output.h.
10945         * c-pragma.c: Likewise.
10947 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
10949         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
10950         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
10951         (lang_decl_name): Handle namespace decls.
10953 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
10955         * c-ada-spec.c: Do not include output.h.
10956         * c-semantics.c: Likewise.
10958 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
10960         * c-common.c: Fix typo.
10962 2012-05-29  Michael Matz  <matz@suse.de>
10964         * c-common.h (c_expand_decl): Remove prototype.
10966 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10968         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
10969         * c-opts.c (c_common_handle_option): Remove code handling
10970         warn_missing_braces.
10972 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
10974         PR c++/25137
10975         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
10976         -Wmissing_braces.
10978 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
10980         PR c++/53322
10981         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
10983 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10985         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
10986         * c-opts.c (c_common_handle_option): Do not handle explicitly
10987         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
10989 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
10991         PR preprocessor/7263
10992         * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
10993         to cpp_classify_number.  For diagnostics, use the precise location
10994         instead of the global input_location.
10996 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
10998         PR c++/11856
10999         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
11001 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
11003         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
11005 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11007         PR 53063
11008         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
11009         Wreorder): Use LangEnabledBy.
11010         * c-opts.c (c_common_handle_option): Do not enable them
11011         explicitly. Call lang-specific generated functions.
11012         (c_common_post_options): Do not set them here.
11014 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11016         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
11017         Wmissing-field-initializers,Wmissing-parameter-type,
11018         Wold-style-declaration,Woverride-init): Use EnabledBy.
11019         * c-opts.c (c_common_post_options): Do not set here explicitly.
11021 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11023         PR 53063
11024         * c-opts.c (c_common_handle_option): Use handle_generated_option
11025         to enable sub-options.
11027 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
11029         PR c++/53158
11030         * c-common.c (warnings_for_convert_and_check): Use warning_at.
11032 2012-05-10  Richard Guenther  <rguenther@suse.de>
11034         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
11035         adjust commentary about TYPE_IS_SIZETYPE types.
11037 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11039         PR c++/53261
11040         * c-common.c (warn_logical_operator): Check that argument of
11041         integer_zerop is not NULL.
11043 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11045         PR c/43772
11046         * c-common.c (warn_logical_operator): Do not warn if either side
11047         is already true or false.
11049 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11051         PR c/51712
11052         * c-common.c (expr_original_type): New.
11053         (shorten_compare): Do not warn for enumeration types.
11055 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11057         * c.opt (fpermissive): Add Var(flag_permissive).
11059 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
11061         PR c++/51033
11062         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
11063         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
11065 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
11067         Add -Wvarargs option
11068         * c.opt (Wvarargs): Define new option.
11070 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11072         * c-common.c (check_function_arguments): Replace
11073         Wmissing-format-attribute with Wsuggest-attribute=format.
11075 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11077         * c.opt (Wsuggest-attribute=format): New. Alias of
11078         Wmissing-format-attribute.
11079         * c-format.c (decode_format_type): Replace
11080         Wmissing-format-attribute with Wsuggest-attribute=format.
11081         (check_function_format): Likewise.
11083 2012-04-27  Ollie Wild  <aaw@google.com>
11085         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
11086         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
11087         * c.opt: Add Wliteral-suffix.
11089 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11091         PR c/44774
11092         * c.opt (Wpedantic): New.
11093         (pedantic): Alias Wpedantic.
11094         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
11095         (c_common_post_options): Likewise.
11096         (sanitize_cpp_opts): Likewise.
11097         * c-lex.c (interpret_float): Likewise.
11098         * c-format.c (check_format_types): Likewise.
11099         * c-common.c (pointer_int_sum): Likewise.
11100         (c_sizeof_or_alignof_type): Likewise.
11101         (c_add_case_label): Likewise.
11102         (c_do_switch_warnings): Likewise.
11103         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11105 2012-04-15  Jason Merrill  <jason@redhat.com>
11107         PR c++/52818
11108         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
11109         (C_STD_NAME): Distinguish between C++98 and C++11.
11111 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
11113         PR target/52624
11114         * c-common.h (uint16_type_node): Rename into...
11115         (c_uint16_type_node): ...this.
11116         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
11117         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
11119 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11121         * c-common.c (warn_if_unused_value): Move definition to here.
11122         * c-common.h (warn_if_unused_value): Move declaration to here.
11124 2012-03-23  William Bader  <williambader@hotmail.com>
11126         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
11128 2012-03-20  Jason Merrill  <jason@redhat.com>
11130         * c-common.h (enum cxx_dialect): Add cxx1y.
11131         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
11132         test.
11133         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
11134         * c-opts.c (c_common_post_options): Likewise.
11135         (set_std_cxx1y): New.
11136         (c_common_handle_option): Call it.
11137         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
11139 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
11141         PR c++/14710
11142         * c.opt ([Wuseless-cast]): Add.
11144 2012-03-16  Richard Guenther  <rguenther@suse.de>
11146         * c-pretty-print.c (pp_c_initializer_list): Adjust.
11148 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11150         PR c++/44783
11151         * c.opt (ftemplate-backtrace-limit) Add.
11153 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11155         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
11156         handling.
11157         * c-pragma.c (handle_pragma_extern_prefix): Remove.
11158         (init_pragma): Don't register extern_prefix.
11160 2012-03-12  Richard Guenther  <rguenther@suse.de>
11162         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
11163         (builtin_type_for_size): Likewise.
11165 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
11167         PR c++/52215
11168         * c-common.c (sync_resolve_params): Don't decide whether to convert
11169         or not based on TYPE_SIZE comparison, convert whenever arg_type
11170         is unsigned INTEGER_TYPE.
11172 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
11174         PR c/52118
11175         * c.opt ([Wunused-local-typedefs]): Fix description.
11177 2012-01-24  Mike Stump  <mikestump@comcast.net>
11179         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
11180         exactly.
11182 2012-01-18  Richard Guenther  <rguenther@suse.de>
11184         * c-opts.c (c_common_post_options): Reset LTO flags if
11185         we are about to generate a PCH.
11187 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
11189         PR c++/51777
11190         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
11191         use pp_unsigned_wide_integer.
11193 2012-01-10  Richard Guenther  <rguenther@suse.de>
11195         PR middle-end/51806
11196         * c-opts.c (c_common_handle_option): Move -Werror handling
11197         to language independent code.
11199 2012-01-05  Richard Guenther  <rguenther@suse.de>
11201         PR middle-end/51764
11202         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
11203         from common.opt.
11205 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
11207         PR c++/51316
11208         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
11209         of array types with an unknown bound.
11211 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
11213         * c-common.c (flag_isoc99): Update comment to refer to C11.
11214         (flag_isoc1x): Change to flag_isoc11.
11215         * c-common.h (flag_isoc99): Update comment to refer to C11.
11216         (flag_isoc1x): Change to flag_isoc11.
11217         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
11218         C11.
11219         * c-opts.c (set_std_c1x): Change to set_std_c11.
11220         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
11221         Call set_std_c11.
11222         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
11223         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
11224         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
11225         standard.
11226         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
11227         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
11228         (std=gnu1x): Make alias of std=gnu11.
11230 2011-12-19  Jason Merrill  <jason@redhat.com>
11232         PR c++/51228
11233         * c-common.c (handle_transparent_union_attribute): Check the first
11234         field if the type is complete.
11236 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
11238         PR libstdc++/51365
11239         * c-common.c (RID_IS_FINAL): Add.
11240         * c-common.h (RID_IS_FINAL): Add.
11242 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
11244         * c.opt (fgnu-runtime): Provide full description.
11245         (fnext-runtime): Likewise.
11246         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
11248 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
11250         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
11251         predefines in one place.  Add LOCK_FREE predefines.
11252         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
11253         new func.
11255 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
11257         PR c/51256
11258         * c-common.c (get_atomic_generic_size): Check for various error
11259         conditions
11260         (resolve_overloaded_atomic_exchange,
11261         resolve_overloaded_atomic_compare_exchange,
11262         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
11263         error_mark_node for error conditions.
11265 2011-11-08  Richard Guenther  <rguenther@suse.de>
11267         PR middle-end/51010
11268         * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
11270 2011-11-07  Richard Henderson  <rth@redhat.com>
11271             Aldy Hernandez  <aldyh@redhat.com>
11272             Torvald Riegel  <triegel@redhat.com>
11274         Merged from transactional-memory.
11276         * c-common.c (handle_tm_wrap_attribute,
11277         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
11278         (struct c_common_reswords): Added __transaction* keywords.
11279         (struct c_common_attribute_table): Added transaction* and tm_regparm
11280         attributes.
11281         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
11282         masks.
11283         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
11284         find_tm_attribute): Declare.
11286 2011-11-07  Jason Merrill  <jason@redhat.com>
11288         PR c++/35688
11289         * c-common.c, c-common.h: Revert yesterday's changes.
11291 2011-11-06  Jason Merrill  <jason@redhat.com>
11293         PR c++/35688
11294         * c-common.c (decl_has_visibility_attr): Split out from...
11295         (c_determine_visibility): ...here.
11296         * c-common.h: Declare it.
11298 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
11300         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
11301         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
11302         type.
11303         (check_user_alignment): New.  Split out of
11304         handle_aligned_attribute.  Disallow integer constants with
11305         noninteger types.  Conditionally allow zero.
11306         (handle_aligned_attribute): Use check_user_alignment.
11307         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
11309 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
11310             Richard Henderson  <rth@redhat.com>
11312         Merged from cxx-mem-model.
11314         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
11315         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
11316         parameters that are the same type size.
11317         (get_atomic_generic_size): New.  Find size of generic
11318         atomic function parameters and do typechecking.
11319         (add_atomic_size_parameter): New.  Insert size into parameter list.
11320         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
11321         either __atomic_exchange_n or external library call.
11322         (resolve_overloaded_atomic_compare_exchange): Restructure
11323         __atomic_compare_exchange to either _n variant or external library call.
11324         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
11325         __atomic_load_n or an external library call.
11326         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
11327         __atomic_store_n or an external library call.
11328         (resolve_overloaded_builtin): Handle new __atomic builtins.
11330 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
11332         PR c++/50608
11333         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
11334         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
11335         <INDIRECT_REF>: Return the argument.
11336         <ARRAY_REF>: Remove special code for negative offset.
11337         Call fold_build_pointer_plus instead of size_binop.
11338         (fold_offsetof): Remove STOP_REF argument and adjust.
11339         * c-common.h (fold_offsetof_1): Declare.
11340         (fold_offsetof): Remove STOP_REF argument.
11342 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
11344         PR c++/50810
11345         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11346         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11347         Wnarrowing for C++0x and C++98.
11348         * c.opt ([Wnarrowing]): Update.
11350 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
11352         PR c++/44277
11353         * c.opt: Add Wzero-as-null-pointer-constant.
11355 2011-10-31  Jason Merrill  <jason@redhat.com>
11357         * c.opt (-fdeduce-init-list): Off by default.
11359         PR c++/50920
11360         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
11361         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
11362         and -Wc++11-compat.
11363         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
11365 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
11367         PR c++/30066
11368         * c.opt (fvisibility-inlines-hidden): Description change.
11370 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
11372         Implement C++11 user-defined literals.
11373         * c-common.c (build_userdef_literal): New.
11374         * c-common.def: New tree code.
11375         * c-common.h (tree_userdef_literal): New tree struct and accessors.
11376         * c-lex.c (interpret_float): Add suffix parm.
11377         (c_lex_with_flags): Build literal tokens.
11379 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
11381         PR c++/50841
11382         Revert:
11383         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
11385         PR c++/50810
11386         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11387         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11388         Wnarrowing for C++0x and C++98.
11389         * c.opt ([Wnarrowing]): Update.
11391 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
11393         PR c++/50810
11394         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
11395         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
11396         Wnarrowing for C++0x and C++98.
11397         * c.opt ([Wnarrowing]): Update.
11399 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
11401         PR c++/45385
11402         * c-common.c (conversion_warning): Remove code looking for
11403         artificial operands.
11405 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
11407         PR bootstrap/50760
11408         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
11409         !NO_IMPLICIT_EXTERN_C.
11411 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
11413         * c-common.c (c_common_reswords): Add __bases,
11414         __direct_bases.
11415         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
11417 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
11419         PR c++/50757
11420         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
11422 2011-10-15  Tom Tromey  <tromey@redhat.com>
11423             Dodji Seketeli  <dodji@redhat.com>
11425         * c.opt (fdebug-cpp): New option.
11426         * c-opts.c (c_common_handle_option): Handle the option.
11427         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
11428         output stream in parameter. Factorized from ...
11429         (maybe_print_line): ... this. Dump location debug information when
11430         -fdebug-cpp is in effect.
11431         (print_line_1): New static function. Takes an output stream in
11432         parameter. Factorized from ...
11433         (print_line): ... here. Dump location information when -fdebug-cpp
11434         is in effect.
11435         (scan_translation_unit): Dump location information when
11436         -fdebug-cpp is in effect.
11438 2011-10-15  Tom Tromey  <tromey@redhat.com>
11439             Dodji Seketeli  <dodji@redhat.com>
11441         * c.opt (ftrack-macro-expansion): New option. Handle it with and
11442         without argument.
11443         * c-opts.c (c_common_handle_option)<case
11444         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
11445         cases. Handle -ftrack-macro-expansion with and without argument.
11447 2011-10-15  Tom Tromey  <tromey@redhat.com>
11448             Dodji Seketeli  <dodji@redhat.com>
11450         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
11451         (print_line, cb_define, do_line_change): Adjust to avoid touching
11452         the internals of struct line_map.  Use the public API instead.
11453         * c-pch.c (c_common_read_pch): Likewise.
11454         * c-lex.c (fe_file_change): Likewise.
11456 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
11458         PR c++/17212
11459         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
11461 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
11463         PR c++/33067
11464         * c-pretty-print.c (pp_c_floating_constant): Output
11465         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
11467 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
11469         * c-common.c (def_builtin_1): Delete old interface with two
11470         parallel arrays to hold standard builtin declarations, and replace
11471         it with a function based interface that can support creating
11472         builtins on the fly in the future.  Change all uses, and poison
11473         the old names.  Make sure 0 is not a legitimate builtin index.
11474         * c-omp.c (c_finish_omp_barrier): Ditto.
11475         (c_finish_omp_taskwait): Ditto.
11476         (c_finish_omp_flush): Ditto.
11478 2011-10-11  Tristan Gingold  <gingold@adacore.com>
11480         * c.opt: (fallow-parameterless-variadic-functions): New.
11482 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
11484         PR c++/33255 - Support -Wunused-local-typedefs warning
11485         * c-common.h (struct c_language_function::local_typedefs): New
11486         field.
11487         (record_locally_defined_typedef, maybe_record_typedef_use)
11488         (maybe_warn_unused_local_typedefs): Declare new functions.
11489         * c-common.c (record_locally_defined_typedef)
11490         (maybe_record_typedef_use)
11491         (maybe_warn_unused_local_typedefs): Define new functions.
11492         * c.opt: Declare new -Wunused-local-typedefs flag.
11494 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
11496         PR middle-end/50266
11497         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
11498         computations.
11500 2011-09-05  Richard Guenther  <rguenther@suse.de>
11502         * c-common.c (complete_array_type): Use ssize_int (-1) instead
11503         of integer_minus_one_node for empty array upper bounds.
11505 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
11507         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
11508         it's the first time it's being called on this main TU.
11510 2011-08-24  Richard Guenther  <rguenther@suse.de>
11512         PR c/49396
11513         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
11515 2011-08-22  Gabriel Charette  <gchare@google.com>
11517         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
11518         defined in cpp_init_builtins and c_cpp_builtins.
11520 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
11522         * c-common.c (c_common_reswords): Add __builtin_complex.
11523         * c-common.h (RID_BUILTIN_COMPLEX): New.
11525 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
11527         * c-common.c (c_common_reswords): Add _Noreturn.
11528         (keyword_is_function_specifier): Handle RID_NORETURN.
11529         * c-common.h (RID_NORETURN): New.
11531 2011-08-10  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
11533         * c-common.c (unsafe_conversion_p): New function. Check if it is
11534         unsafe to convert an expression to the type.
11535         (conversion_warning): Adjust, use unsafe_conversion_p.
11536         * c-common.h (unsafe_conversion_p): New function declaration.
11538 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
11540         * c-common.h (c_finish_omp_atomic): Adjust prototype.
11541         (c_finish_omp_taskyield): New prototype.
11542         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
11543         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
11544         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
11545         or RHS1 have side-effects, evaluate those too in the right spot,
11546         if it is a decl and LHS is also a decl, error out if they
11547         aren't the same.
11548         (c_finish_omp_taskyield): New function.
11549         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
11550         * c-pragma.c (omp_pragmas): Add taskyield.
11551         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
11552         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
11553         PRAGMA_OMP_CLAUSE_MERGEABLE.
11555 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
11557         * c-common.h (set_underlying_type): Remove parm name from
11558         declaration.
11560 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
11562         * c-pretty-print.h: Search c-common.h in c-family.
11564 2011-07-22  Jason Merrill  <jason@redhat.com>
11566         PR c++/49793
11567         * c.opt (Wnarrowing): New.
11569         PR c++/30112
11570         * c-common.h: Declare c_linkage_bindings.
11571         * c-pragma.c (handle_pragma_redefine_extname): Use it.
11573         PR c++/49813
11574         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
11575         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
11576         as flag_isoc99 for 'restrict'.
11577         (pp_c_specifier_qualifier_list): Likewise for _Complex.
11579 2011-07-21  Ian Lance Taylor  <iant@google.com>
11581         PR middle-end/49705
11582         * c-common.c (c_disable_warnings): New static function.
11583         (c_enable_warnings): New static function.
11584         (c_fully_fold_internal): Change local unused_p to bool.  Call
11585         c_disable_warnings and c_enable_warnings rather than change
11586         c_inhibit_evaluation_warnings.
11588 2011-07-20  Jason Merrill  <jason@redhat.com>
11590         PR c++/6709 (DR 743)
11591         PR c++/42603 (DR 950)
11592         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
11593         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
11594         (CPP_DECLTYPE): New.
11595         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
11597 2011-07-19  Richard Guenther  <rguenther@suse.de>
11599         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
11600         * c-omp.c (c_finish_omp_for): Likewise.
11602 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
11604         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
11605         body on the next line.
11607 2011-07-08  Jason Merrill  <jason@redhat.com>
11609         PR c++/45437
11610         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
11612         PR c++/49673
11613         * c-common.c (c_apply_type_quals_to_decl): Don't check
11614         TYPE_NEEDS_CONSTRUCTING.
11616 2011-07-06  Richard Guenther  <rguenther@suse.de>
11618         * c-common.c (c_common_nodes_and_builtins):
11619         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
11621 2011-07-05  Richard Guenther  <rguenther@suse.de>
11623         * c-common.c (c_common_nodes_and_builtins): Build all common
11624         tree nodes first.
11626 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
11628         * c-common.h (c_tree_chain_next): New static inline function.
11630         * c-common.c (check_builtin_function_arguments): Handle
11631         BUILT_IN_ASSUME_ALIGNED.
11633 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
11635         * c-common.c: Add sync_ or SYNC__ to builtin names.
11636         * c-omp.c: Add sync_ or SYNC__ to builtin names.
11638 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
11640         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
11641         handler.
11642         (gen_pragma_handler): New union.
11643         (internal_pragma_handler): New type.
11644         (c_register_pragma_with_data)
11645         (c_register_pragma_with_expansion_and_data): New functions.
11647         * c-pragma.c (registered_pragmas, c_register_pragma_1)
11648         (c_register_pragma, c_register_pragma_with_expansion)
11649         (c_invoke_pragma_handler): Changed to work with
11650         internal_pragma_handler.
11651         (c_register_pragma_with_data)
11652         (c_register_pragma_with_expansion_and_data): New functions.
11654 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
11656         * c-common.c: Include common/common-target.h.
11657         (handle_section_attribute): Use
11658         targetm_common.have_named_sections.
11659         * c-cppbuiltin.c: Include common/common-target.h.
11660         (c_cpp_builtins): Use targetm_common.except_unwind_info.
11662 2011-06-10  Richard Guenther  <rguenther@suse.de>
11664         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
11665         to print a IDENTIFIER_NODE.
11667 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11668             Joseph Myers  <joseph@codesourcery.com>
11670         * c.opt (fbuilding-libgcc): New option.
11671         * c-cppbuiltin.c (c_cpp_builtins): Define
11672         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
11674 2011-06-07  Jason Merrill  <jason@redhat.com>
11676         * c-common.c (max_tinst_depth): Lower default to 900.
11678         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
11680 2011-06-07  Richard Guenther  <rguenther@suse.de>
11682         * c-common.c (c_common_nodes_and_builtins): Do not set
11683         size_type_node or call set_sizetype.
11685 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
11687         PR debug/49130
11688         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
11689         type when using pointer comparison to compare types.
11691 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
11693         * c.opt: Add -Wdelete-non-virtual-dtor.
11694         * c-opts.c (c_common_handle_option): Include it in -Wall.
11696 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
11698         PR bootstrap/49190
11700         Revert:
11701         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
11703         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11704         not tree_common.
11706 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
11708         PR c++/49165
11709         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
11710         C++ don't call c_common_truthvalue_conversion on void type arms.
11712 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
11714         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
11715         (stmt_list_stack): Define.
11716         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
11717         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
11719 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
11721         * c-common.c (warning_candidate_p): Check for BLOCKs.
11723 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
11725         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
11726         not tree_common.
11728 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
11730         * c-common.c (def_fn_type): Remove extra va_end.
11732 2011-05-23  Jason Merrill  <jason@redhat.com>
11734         PR c++/48106
11735         * c-common.c (c_common_get_narrower): New.
11736         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
11738 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
11740         * c-common.h (check_function_arguments): Tweak prototype of
11741         check_function_arguments.
11742         * c-common.c (check_function_arguments): Likewise.  Adjust
11743         calls to check_function_nonnull, check_function_format, and
11744         check_function_sentinel.
11745         (check_function_sentinel): Take a FUNCTION_TYPE rather than
11746         separate attributes and typelist arguments.  Use
11747         FOREACH_FUNCTION_ARGS to iterate over argument types.
11749 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
11751         * c-common.c (c_common_reswords): Reorder.
11752         * c-common.h (rid): Likewise.
11754 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
11756         * c-common.c (def_fn_type): Don't call build_function_type, call
11757         build_function_type_array or build_varargs_function_type_array
11758         instead.
11759         (c_common_nodes_and_builtins): Likewise.
11761 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
11763         * c-common.c (c_add_case_label): Omit the loc argument to
11764         build_case_label.
11765         * c-common.h (build_case_label): Remove.
11766         * c-semantics.c (build_case_label): Remove.
11768 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
11770         * c-objc.h (objc_start_method_definition): Update prototype.
11771         * stub-objc.c (objc_start_method_definition): Add extra parameter.
11773 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
11775         * c-common.c (check_main_parameter_types): Reindent.  Don't use
11776         TYPE_ARG_TYPES directly.
11777         (handle_nonnull_attribute): Likewise.
11778         (sync_resolve_params): Likewise.
11779         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
11780         to check_format_string.
11781         (handle_format_attribute): Likewise.
11782         (check_format_string): Take a function type to examine instead of
11783         a type list.  Use a function_arg_iterator to step through argument
11784         types.
11786 2011-05-04  Richard Guenther  <rguenther@suse.de>
11788         * c-common.c (fix_string_type): Use size_int for index type bounds.
11789         (start_fname_decls): Do not pass NULL to build_int_cst.
11790         (c_init_attributes): Likewise.
11791         * c-lex.c (c_lex_with_flags): Likewise.
11793 2011-04-27  Jason Merrill  <jason@redhat.com>
11795         * c-common.c (make_tree_vector_from_list): New.
11796         * c-common.h: Declare it.
11798 2011-04-26  Richard Guenther  <rguenther@suse.de>
11800         PR preprocessor/48248
11801         * c-ppoutput.c (maybe_print_line): Always optimize newlines
11802         for output size with -P.
11804 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
11806         * c-common.c (struct c_common_resword): Add __underlying_type.
11807         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
11809 2011-04-20  Jim Meyering  <meyering@redhat.com>
11811         * c-format.c (init_dollar_format_checking): Remove useless
11812         if-before-free.
11814 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
11816         * c-objc.h (objc_get_interface_ivars): Removed.
11817         (objc_detect_field_duplicates): New.
11818         * stub-objc.c: Likewise.
11820 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
11822         * stub-objc.c (objc_declare_protocols): Renamed to
11823         objc_declare_protocol.
11824         * c-objc.h: Likewise.
11826 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
11828         * stub-objc.c (objc_declare_class): Updated argument name.
11830 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
11832         * c-common.h (c_common_init_ts): Declare.
11833         * c-common.c (c_common_init_ts): Define.
11835 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
11837         * c-objc.h (objc_build_message_expr): Updated prototype.
11838         * stub-objc.c (objc_build_message_expr): Likewise.
11840 2011-04-12  Martin Jambor  <mjambor@suse.cz>
11842         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
11843         of cgraph_node.
11845 2011-04-11  Richard Guenther  <rguenther@suse.de>
11847         * c-common.c (complete_array_type): Build a range type of
11848         proper type.
11850 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
11852         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
11853         (handle_type_generic_attribute): Likewise.
11855 2011-04-07  Jason Merrill  <jason@redhat.com>
11857         PR c++/48450
11858         * c-common.c (c_common_truthvalue_conversion): Don't ignore
11859         conversion from C++0x scoped enum.
11861 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
11863         * c-target-def.h: New file.
11864         * c-target.def: New file.
11865         * c-target.h: New file.
11866         * c-common.c (targetcm): Don't define here.
11867         * c-common.h (default_handle_c_option): Declare.
11868         * c-format.c: Include c-target.h instead of target.h.
11869         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
11870         include tm.h.
11871         (default_handle_c_option): Move from targhooks.c.
11873 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
11875         PR preprocessor/48248
11876         * c-ppoutput.c (print): Add src_file field.
11877         (init_pp_output): Initialize it.
11878         (maybe_print_line): Don't optimize by adding up to 8 newlines
11879         if map->to_file and print.src_file are different file.
11880         (print_line): Update print.src_file.
11882 2011-03-25  Kai Tietz  <ktietz@redhat.com>
11884         * c-ada-spec.c (compare_comment): Use filename_cmp
11885         instead of strcmp for filename.
11887 2011-03-25  Jeff Law  <law@redhat.com>
11889         * c-common.c (def_fn_type): Add missing va_end.
11891 2011-03-25  Jason Merrill  <jason@redhat.com>
11893         * c.opt: Add -std=c++03.
11895 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
11897         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
11899 2011-03-17  Kai Tietz  <ktietz@redhat.com>
11901         PR target/12171
11902         * c-pretty-print.c (pp_c_specifier_qualifier_list):
11903         Display allowed attributes for function pointer types.
11904         (pp_c_attributes_display): New function to display
11905         attributes having affects_type_identity flag set to true.
11906         * c-pretty-print.h (pp_c_attributes_display): New prototype.
11908         * c-common.c (c_common_attribute_table):
11909         Add new element.
11910         (c_common_format_attribute_table): Likewise.
11912 2011-03-18  Jason Merrill  <jason@redhat.com>
11914         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
11915         * c-common.h: Don't declare it here.
11916         * c-common.c: Or define it here.
11917         * c-opts.c (c_common_handle_option): Or set it here.
11919         PR c++/35315
11920         * c-common.c (handle_transparent_union_attribute): Don't
11921         make a duplicate type in C++.
11923 2011-03-15  Jason Merrill  <jason@redhat.com>
11925         * c-common.c (max_constexpr_depth): New.
11926         * c-common.h: Declare it.
11927         * c-opts.c (c_common_handle_option): Set it.
11928         * c.opt (fconstexpr-depth): New option.
11930 2011-03-11  Jason Merrill  <jason@redhat.com>
11932         * c-common.c (attribute_takes_identifier_p): Add missing const.
11934         PR c++/46803
11935         * c-common.c (attribute_takes_identifier_p): Assume that an
11936         unknown attribute takes an identifier.
11938 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
11940         PR c/47786
11941         * c-common.c (c_type_hash): Call list_length instead of iterating
11942         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
11944 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
11946         PR c/47809
11947         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
11949 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
11951         * c.opt (fobjc-abi-version=) New.
11952         (fobjc-nilcheck): New.
11954 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
11956         PR c++/46890
11957         * c-common.h (keyword_is_decl_specifier): Declare.
11958         * c-common.c (keyword_is_decl_specifier): Define.
11959         (keyword_is_function_specifier): New function.
11961 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
11963         PR c/47473
11964         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
11965         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
11966         REAL_TYPE.
11968 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
11970         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
11972 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
11974         PR pch/47430
11975         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
11976         after init_c_lex if pch_file is set.
11978 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
11980         PR c++/43601
11981         * c.opt (-fkeep-inline-dllexport): New switch.
11983 2011-01-12  Richard Guenther  <rguenther@suse.de>
11985         PR middle-end/32511
11986         * c-common.c (handle_weak_attribute): Warn instead of error
11987         on declaring an inline function weak.
11989 2011-01-05  Tom Tromey  <tromey@redhat.com>
11991         * c-common.h (lvalue_error): Update.
11992         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
11993         not error.
11995 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
11997         PR objc/47075
11998         * c-objc.h (objc_finish_message_expr): Added argument to
11999         prototype.
12001 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
12003         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
12004         Use prototype_p.
12006 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
12008         * c-objc.h (objc_maybe_warn_exceptions): New.
12009         * stub-objc.c (objc_maybe_warn_exceptions): New.
12011 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
12013         * c-common.h (readonly_error): Declare.
12014         * c-common.c (readonly_error): Define.
12016 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
12018         * c-common.h (invalid_indirection_error): Declare.
12019         * c-common.c (invalid_indirection_error): Define.
12021 2010-12-03  Richard Guenther  <rguenther@suse.de>
12023         PR c/46745
12024         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
12025         (pp_c_unary_expression): Likewise.
12026         (pp_c_expression): Likewise.
12028 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
12030         * c-common.h (objc_finish_function): New.
12031         (objc_non_volatilized_type): Removed.
12032         (objc_type_quals_match): Removed.
12033         * stub-objc.c (objc_finish_function): New.
12034         (objc_non_volatilized_type): Removed.
12035         (objc_type_quals_match): Removed.
12037 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
12039         * c-common.h (parse_optimize_options): Declare.
12040         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
12041         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
12043 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
12045         * c-opts.c (check_deps_environment_vars): Use getenv instead of
12046         GET_ENVIRONMENT.
12047         * c-pch.c (O_BINARY): Don't define here.
12048         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
12050 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
12052         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
12053         targetm.except_unwind_info.
12055 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
12057         * c-opts.c (c_common_handle_option): Pass location to
12058         set_struct_debug_option.
12060 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
12062         * c-common.c (visibility_options): Move from ../opts.c.
12063         * c-common.h (struct visibility_flags, visibility_options):
12064         Declare here.
12065         * c-opts.c (finish_options): Rename to c_finish_options.
12066         (c_common_init): Update call to finish_options.
12068 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
12070         PR objc/34033
12071         * c-lex.c (lex_string): Check that each string in an Objective-C
12072         string concat sequence starts with either one or zero '@', and
12073         that there are no spurious '@' signs at the end.
12075 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
12077         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
12078         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
12079         HANDLE_PRAGMA_VISIBILITY.
12080         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
12081         HANDLE_PRAGMA_VISIBILITY): Don't define.
12082         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
12084 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
12086         PR c++/16189
12087         PR c++/36888
12088         PR c++/45331
12089         * c-common.h (keyword_begins_type_specifier): Declare.
12090         (keyword_is_storage_class_specifier): Declare.
12091         (keyword_is_type_qualifier): Declare.
12092         * c-common.c (keyword_begins_type_specifier): New function.
12093         (keyword_is_storage_class_specifier): New function.
12094         (keyword_is_type_qualifier): Declare.
12096 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
12098         PR c/46547
12099         * c-common.c (in_late_binary_op): Define.
12100         (c_common_truthvalue_conversion): Check in_late_binary_op before
12101         calling c_save_expr.
12102         * c-common.h (in_late_binary_op): Declare.
12104 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
12106         * c-opts.c (c_common_handle_option): Update calls to
12107         set_struct_debug_option.
12109 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
12111         * c-common.h (objc_declare_protocols): Added additional argument.
12112         * stub-objc.c (objc_declare_protocol): Same change.
12114 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
12116         PR c/33193
12117         * c-common.h (build_real_imag_expr): Declare.
12118         * c-semantics.c (build_real_imag_expr): Define.
12120 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
12122         * c-opts.c (c_common_parse_file): Take no arguments.
12123         * c-common.h (c_common_parse_file): Update prototype.
12125 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
12127         PR c++/46401
12128         * c-common.c (warning_candidate_p): Don't track non-const calls
12129         or STRING_CSTs.
12131 2010-11-15  Ian Lance Taylor  <iant@google.com>
12133         * c-lex.c (init_c_lex): Set macro debug callbacks if
12134         flag_dump_go_spec is set.
12136 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
12138         * c-common.h (objc_build_incr_expr_for_property_ref): New.
12139         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
12141 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
12143         PR preprocessor/45038
12144         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
12145         dialects.
12147 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
12149         * c-common.h (c_family_lang_mask): Declare.
12150         * c-opts.c (c_family_lang_mask): Make extern.
12151         * c-pragma.c (handle_pragma_diagnostic): Use
12152         control_warning_option.
12154 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
12156         * c-common.c (parse_optimize_options): Update call to
12157         decode_options.
12158         * c-common.h (c_common_handle_option): Update prototype.
12159         * c-opts.c (c_common_handle_option): Take location_t parameter and
12160         pass it to other functions.
12162 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
12164         * c-opts.c (warning_as_error_callback): Remove.
12165         (c_common_initialize_diagnostics): Don't call
12166         register_warning_as_error_callback.
12167         (c_common_handle_option): Handle -Werror=normalized= here.
12169 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
12171         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
12172         in diagnostic.
12173         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
12174         letter.
12175         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
12176         Remove trailing '.' from diagnostics.
12177         * c.opt (Wwrite-strings_: Avoid '`' in help text.
12179 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
12181         * c-common.c (parse_optimize_options): Pass global_dc to
12182         decode_options.
12183         * c-opts.c (c_common_handle_option): Pass &global_options to
12184         set_Wstrict_aliasing.
12185         * c.opt (v): Don't mark Common or document here.
12187 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
12189         PR target/44981
12190         * c-format.c (format_type): New type gcc_objc_string_format_type.
12191         (valid_stringptr_type_p): New.
12192         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
12193         (check_format_string): Pass expected type, use
12194         valid_stringptr_type_p (), check that the format string types are
12195         consistent with the format specification.
12196         (decode_format_attr): Warn if NSString is used outside objective-c.
12197         (format_types_orig): Add NSString.
12198         (format_name): New.
12199         (format_flags): New.
12200         (check_format_arg): Handle format strings requiring an external parser.
12201         first_target_format_type: New variable.
12202         (handle_format_attribute): Set up first_target_format_type, pass the
12203         expected format arg string type to check_format_string().
12204         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
12205         * stub-objc.c (objc_string_ref_type_p): New.
12206         (objc_check_format_arg): New.
12208 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
12210         Fixed using the Objective-C 2.0 dot-syntax with class names.
12211         * c-common.h (objc_build_class_component_ref): New.
12212         * stub-objc.c (objc_build_class_component_ref): New.
12214 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
12216         * c.opt (Wproperty-assign-default): New option.
12218 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
12220         Implemented -fobjc-std=objc1 flag.
12221         * c.opt (fobjc-std=objc1): New option.
12223 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
12225         Implemented format and noreturn attributes for Objective-C methods.
12226         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
12227         attribute for Objective-C methods.
12229 2010-10-31  Jason Merrill  <jason@redhat.com>
12231         * c-common.c (conversion_warning, warn_for_collisions_1): Use
12232         EXPR_LOC_OR_HERE.
12234 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
12236         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
12237         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
12238         (objc_add_property_declaration): Removed arguments for copies and
12239         ivar.
12240         (objc_build_getter_call): Renamed to
12241         objc_maybe_build_component_ref.
12242         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12243         (objc_is_property_ref): New.
12244         * c-common.c (c_common_reswords): Removed copies and ivar.
12245         * stub-objc.c (objc_add_property_declaration): Removed arguments
12246         for copies and ivar.
12247         (objc_build_getter_call): Renamed to
12248         objc_maybe_build_component_ref.
12249         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
12250         (objc_is_property_ref): New.
12252 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
12253             Matthew Gingell  <gingell@adacore.com>
12255         * c-ada-spec.c (separate_class_package): New function.
12256         (pp_ada_tree_identifier): Prefix references to C++ classes with the
12257         name of their enclosing package.
12258         (print_ada_declaration): Use separate_class_package.
12260 2010-10-27  Jason Merrill  <jason@redhat.com>
12262         * c-common.c (c_common_reswords): Add __is_literal_type.
12263         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
12265         * c-common.c (check_case_value): Remove special C++ code.
12267 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
12269         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
12270         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
12271         and RID_LAST_PATTR.
12272         (objc_add_property_declaration): Added additional arguments.
12273         (objc_property_attribute_kind): Removed.
12274         (objc_set_property_attr): Removed.
12275         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
12276         copy and nonatomic.
12277         * stub-objc.c (objc_add_property_declaration): Added additional
12278         arguments.
12279         (objc_set_property_attr): Removed.
12281 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
12283         * c-common.h (objc_add_property_variable): Renamed to
12284         objc_add_property_declaration.  Added location argument.
12285         * stub-objc.c (objc_add_property_variable): Same change.
12287 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
12289         * c-common.h (objc_maybe_printable_name): New.
12290         * stub-objc.c (objc_maybe_printable_name): New.
12292 2010-10-22  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
12293             Andrew Pinski  <pinskia@gmail.com>
12295         * c-common.h (c_common_mark_addressable_vec): Declare.
12296         * c-common.c (c_common_mark_addressable_vec): New function.
12298 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
12300         * c-common.h (objc_set_method_type): Removed.
12301         (objc_add_method_declaration): Added boolean argument.
12302         (objc_start_method_definition): Same change.
12303         (objc_build_method_signature): Same change.
12304         * stub-objc.c (objc_set_method_type): Removed.
12305         (objc_add_method_declaration): Added boolean argument.
12306         (objc_start_method_definition): Same change.
12307         (objc_build_method_signature): Same change.
12309 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
12311         * c-common.h (finish_file): Removed.
12312         (objc_write_global_declarations): New.
12313         * c-opts.c (c_common_parse_file): Do not call finish_file.
12314         * stub-objc.c (objc_write_global_declarations): New.
12316 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
12318         Implemented parsing @synthesize and @dynamic for
12319         Objective-C/Objective-C++.
12320         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
12321         (objc_add_synthesize_declaration): New.
12322         (objc_add_dynamic_declaration): New.
12323         * c-common.c (c_common_reswords): Add synthesize and dynamic.
12324         * stub-objc.c (objc_add_synthesize_declaration): New.
12325         (objc_add_dynamic_declaration): New.
12327 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
12329         PR target/46041
12330         * c-cppbuiltin.c (mode_has_fma): Move function here from
12331         builtins.c.  Don't use the fma optab, instead just use the
12332         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
12333         using -save-temps.
12335 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
12337         Merge from 'apple/trunk' branch on FSF servers.
12339         2005-11-08  Fariborz Jahanian  <fjahanian@apple.com>
12341         Radar 4330422
12342         * c-common.h (objc_non_volatilized_type): New declaration
12343         * stub-objc.c (objc_non_volatilized_type): New stub.
12345 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
12347         Merge from 'apple/trunk' branch on FSF servers.
12349         2006-03-27  Fariborz Jahanian  <fjahanian@apple.com>
12351         Radar 4133425
12352         * c-common.h (objc_diagnose_private_ivar): New decl.
12353         * stub-objc.c (objc_diagnose_private_ivar): New stub.
12355 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
12357         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
12358         * c-common.h (enum rid): Add RID_AT_PACKAGE.
12359         (objc_ivar_visibility_kind): New enum.
12360         (objc_set_visibility): Adjust prototype to use visibility enum.
12361         * stub-objc.c (objc_set_visibility): Adjust stub to use
12362         visibility enum.
12364 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
12366         * c-cppbuiltin.c (builtin_define_float_constants): Emit
12367         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
12368         has the appropriate fma builtins.
12369         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
12371 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
12373         merge from FSF apple 'trunk' branch.
12374         2006 Fariborz Jahanian  <fjahanian@apple.com>
12376         Radars 4436866, 4505126, 4506903, 4517826
12377         * c-common.c (c_common_resword): Define @property and its attributes.
12378         * c-common.h: Define property attribute enum entries.
12379         (OBJC_IS_PATTR_KEYWORD): New.
12380         (objc_property_attribute_kind): New enum.
12381         Declare objc_set_property_attr (), objc_add_property_variable (),
12382         objc_build_getter_call () and objc_build_setter_call ().
12383         * stub-objc.c (objc_set_property_attr): New stub.
12384         (objc_add_property_variable): Likewise.
12385         (objc_build_getter_call): Likewise.
12386         (objc_build_setter_call) Likewise.
12388 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
12390         merge from FSF apple 'trunk' branch.
12391         2006-04-26  Fariborz Jahanian  <fjahanian@apple.com>
12393         Radar 3803157 (method attributes)
12394         * c-common.c (handle_deprecated_attribute): Recognize
12395         objc methods as valid declarations.
12396         * c-common.h: Declare objc_method_decl ().
12397         * stub-objc.c (objc_method_decl): New stub.
12399 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
12401         * c-common.c (parse_optimize_options): Call
12402         decode_cmdline_options_to_array_default_mask before
12403         decode_options.  Update arguments to decode_options.
12404         * c-common.h (c_common_init_options_struct): Declare.
12405         * c-opts.c (c_common_init_options_struct): New.  Split out from
12406         c_common_init_options.
12408 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
12410         Implemented fast enumeration for Objective-C.
12411         * c-common.h (objc_finish_foreach_loop): New.
12412         * stub-objc.c (objc_finish_foreach_loop): New.
12414 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
12416         * c-common.h (struct diagnostic_context): Don't declare here.
12417         (c_common_initialize_diagnostics): Declare using
12418         diagnostic_context typedef.
12419         * c-opts.c (c_common_handle_option): Pass global_dc to
12420         handle_generated_option.
12422 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
12424         * c-opts.c (c_common_handle_option): Pass &global_options_set to
12425         handle_generated_option.
12427 2010-10-03  Ian Lance Taylor  <iant@google.com>
12429         * c.opt (-fplan9-extensions): New option.
12431 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12433         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
12434         Remove.
12435         (c_cpp_builtins): Call functions from cppbuiltin.c instead
12436         of duplicating code.
12438 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
12440         * c-common.c: Add two new entries for @optional
12441         and @required keywords.
12443         merge from FSF 'apple/trunk' branch.
12444         2006-01-30  Fariborz Jahanian  <fjahanian@apple.com>
12446         Radar 4386773
12447         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
12448         objective-c keywords.
12449         (objc_set_method_opt): New declaration.
12450         * stub-objc.c (objc_set_method_opt): New stub.
12452 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
12454         * c-common.c (handle_optimize_attribute): Pass &global_options to
12455         cl_optimization_save and cl_optimization_restore.
12456         * c-opts.c (c_common_handle_option): Pass &global_options to
12457         handle_generated_option.
12458         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
12459         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
12460         &global_options to cl_optimization_restore.
12462 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
12464         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
12465         Objective-C/Objective-C++ keywords.
12467 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
12469         Merge from 'apple/trunk' branch on FSF servers.
12471         2005-10-04  Fariborz Jahanian  <fjahanian@apple.com>
12473         Radar 4281748
12474         * c-common.h (objc_check_global_decl): New declaration.
12475         * stub-objc.c (objc_check_global_decl): New stub.
12477 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
12479         * c.opt: Don't use VarExists.
12481 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
12483         * c-common.c (c_cpp_error): Update names of diagnostic_context
12484         members.
12485         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
12486         cl_optimization members.
12487         * c-opts.c (warning_as_error_callback, c_common_handle_option,
12488         sanitize_cpp_opts, finish_options): Update names of cpp_options
12489         members.
12491 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
12493         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
12494         (objc_is_reserved_word): Removed.
12495         * c-common.c: Updated comments.
12496         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
12497         objc_is_reserved_word.
12498         * stub-objc.c (objc_is_reserved_word): Removed.
12500 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
12502         * c-common.h (objc_add_method_declaration): Adjust prototype to
12503         include attributes.
12504         (objc_start_method_definition): Likewise.
12505         (objc_build_keyword_decl): Likewise.
12506         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
12507         (objc_start_method_definition): Likewise.
12508         (objc_build_keyword_decl): Likewise.
12510 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
12512         * c-common.h (objc_start_class_interface): Adjust prototype.
12513         (objc_start_category_interface): Likewise.
12514         (objc_start_protocol): Likewise.
12515         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
12516         (objc_start_class_interface): Likewise.
12517         (objc_start_category_interface): Likewise.
12519 2010-09-27  Ian Lance Taylor  <iant@google.com>
12521         * c-common.c (c_common_attribute_table): Add no_split_stack.
12522         (handle_no_split_stack_attribute): New static function.
12524 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
12526         Merge from 'apple/trunk' branch on FSF servers.
12528         2005-12-15  Fariborz Jahanian  <fjahanian@apple.com>
12530         Radar 4229905
12531         * c-common.h (objc_have_common_type): New declaration.
12532         * stub-objc.c (objc_have_common_type): New stub.
12534         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
12536         Radar 4154928
12537         * c-common.h (objc_common_type): New prototype.
12538         * stub-objc.c (objc_common_type): New stub.
12540 2010-09-24  Jan Hubicka  <jh@suse.cz>
12542         * c-common.c (handle_leaf_attribute): New function.
12543         (struct attribute_spec c_common_att): Add leaf.
12545 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
12547         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
12548         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
12549         -dump, -dump=, -imacros, -imacros=, -include, -include=,
12550         -include-barrier, -include-directory, -include-directory=,
12551         -include-directory-after, -include-directory-after=,
12552         -include-prefix, -include-prefix=, -include-with-prefix,
12553         -include-with-prefix=, -include-with-prefix-after,
12554         -include-with-prefix-after=, -include-with-prefix-before,
12555         -include-with-prefix-before=, -no-integrated-cpp,
12556         -no-line-commands, -no-standard-includes, -no-warnings, -output,
12557         -output=, -pedantic, -pedantic-errors, -preprocess,
12558         -print-missing-file-dependencies, -trace-includes, -traditional,
12559         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
12560         -user-dependencies, -verbose, -write-dependencies,
12561         -write-user-dependencies, no-integrated-cpp, traditional): New.
12563 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
12565         PR objc/23710
12566         * c-common.h (objc_start_method_definition): Return bool instead
12567         of void.
12568         * stub-objc.c (objc_start_method_definition): Return bool instead
12569         of void.
12571 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
12573         PR objc/25965
12574         * c-common.h (objc_get_interface_ivars): New declaration.
12575         * stub-objc.c (objc_get_interface_ivars): New stub.
12577 2010-09-15  Ian Lance Taylor  <iant@google.com>
12579         * c-common.c (parse_optimize_options): Do not capitalize warning
12580         messages.  Remove period at end of warning message.
12582 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
12584         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
12585         (handle_alias_attribute): ... here.
12586         (handle_ifunc_attribute): New.
12588 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
12590         * c-common.h (do_warn_double_promotion): Declare.
12591         * c-common.c (do_warn_double_promotion): Define.
12593 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
12595         * c.opt (Wdouble-promotion): New.
12597 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
12599         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
12600         fvtable-thunks, fxref): Mark no longer supported in help text.
12602 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
12604         * c.opt (Wimport, fall-virtual, falt-external-templates,
12605         fdefault-inline, fenum-int-equiv, fexternal-templates,
12606         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
12607         fname-mangling-version-, fnew-abi, fnonnull-objects,
12608         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
12609         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
12610         applicable.
12611         (fhandle-exceptions): Mark with Alias and Warn.
12612         * c-opts.c (c_common_handle_option): Don't handle options marked
12613         as ignored.
12615 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
12617         * c.opt (Wcomments, Werror-implicit-function-declaration,
12618         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
12619         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
12620         aliases.
12621         * c-common.c (option_codes): Use OPT_Wcomment instead of
12622         OPT_Wcomments.
12623         * c-opts.c (warning_as_error_callback, c_common_handle_option):
12624         Don't handle options marked as aliases.
12626 2010-08-25  Richard Guenther  <rguenther@suse.de>
12628         * c-common.c (c_common_get_alias_set): Remove special
12629         handling for pointers.
12631 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
12633         * c-common.c: Use FOR_EACH_VEC_ELT.
12634         * c-gimplify.c: Likewise.
12635         * c-pragma.c: Likewise.
12637 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
12639         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
12640         RejectDriver.
12641         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
12642         RejectDriver.
12643         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
12644         instead of OPT_MDX and OPT_MMDX.
12646 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
12648         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
12650 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
12652         * c.opt (MD, MMD): Change to MDX and MMDX.
12653         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
12655 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
12657         * c-opts.c (c_common_handle_option): Call handle_generated_option
12658         instead of handle_option.
12660 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
12662         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
12663         (maybe_apply_renaming_pragma): Delete unneeded declarations.
12665 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
12667         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
12668         (pending_redefine_extname): Change type to a VEC.
12669         (add_to_renaming_pragma_list): Update for new type of
12670         pending_redefine_extname.
12671         (maybe_apply_renaming_pragma): Likewise.
12673 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
12675         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
12676         visited.
12677         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
12678         decide whether a type has already been declared/seen.
12679         Do not go to the original type.
12680         (dump_nested_types): New parameter forward.
12681         Generate forward declaration if needed and mark type as visited.
12682         (print_ada_declaration): Call dump_nested_types if not already done.
12683         Mark types as visited.
12685 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
12687         * c.opt (-print-pch-checksum): Remove option.
12688         * c-opts.c (c_common_handle_option): Don't handle
12689         OPT_print_pch_checksum.
12691 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
12693         * c-common.h (c_common_handle_option): Update prototype and return
12694         value type.
12695         * c-opts.c (c_common_handle_option): Update prototype and return
12696         value type.  Update calls to handle_option and
12697         enable_warning_as_error.
12699 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
12701         PR c/45079
12702         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
12704 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
12706         * c-common.h (c_common_missing_argument): Remove.
12707         * c-opts.c (c_common_missing_argument): Remove.
12708         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
12709         idirafter, imacros, include, isysroot, isystem, iquote): Add
12710         MissingArgError.
12711         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
12713 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
12715         * c-common.h (c_common_option_lang_mask,
12716         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
12717         New.
12718         (c_common_init_options): Update prototype.
12719         * c-opts.c (c_common_option_lang_mask): New.
12720         (c_common_initialize_diagnostics): Split out of
12721         c_common_init_options.
12722         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
12723         New.
12724         (c_common_init_options): Update prototype.  Use decoded options in
12725         search for -lang-asm.
12727 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
12729         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
12730         * c-format.c: Likewise.
12732 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
12734         * c-common.h: Include diagnostic-core.h. Error if already
12735         included.
12736         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
12738 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
12740         * c-common.c (IN_GCC_FRONTEND): Do not undef.
12741         Do not include expr.h
12742         (vector_mode_valid_p): Move here.
12744 2010-06-21  DJ Delorie  <dj@redhat.com>
12746         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
12747         allow these pragmas anywhere.
12749 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
12751         PR bootstrap/44509
12752         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
12753         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
12754         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
12755         ggc_strdup instead of xstrdup.
12757 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
12759         * c-cppbuiltin.c: Include cpp-id-data.h.
12760         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
12761         (lazy_hex_fp_value): New function.
12762         (builtin_define_with_hex_fp_value): Provide definitions lazily.
12764 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
12766         * c-gimplify.c: Do not include tree-flow.h
12768 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
12770         PR other/44034
12771         * c-common.c: Rename targetm member:
12772         targetm.enum_va_list -> targetm.enum_va_list_p
12774 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
12776         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
12778 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
12780         * c-cppbuiltin.c: Do not include except.h.
12782 2010-06-24  Andi Kleen  <ak@linux.intel.com>
12784         * c-common.c (warn_for_omitted_condop): New.
12785         * c-common.h (warn_for_omitted_condop): Add prototype.
12787 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
12789         * c.opt (lang-objc): Remove.
12790         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
12792 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
12794         * c-opts.c: Include "tm_p.h".
12796 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
12798         * c-common.c (parse_optimize_options): Update call to
12799         decode_options.
12801 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
12803         * c-common.c (record_types_used_by_current_var_decl): Adjust for
12804         new type of types_used_by_cur_var_decl.
12806 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
12808         PR bootstrap/44512
12809         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
12810         for C++ standard compliance.
12812 2010-06-16  Jason Merrill  <jason@redhat.com>
12814         * c.opt: Add -Wnoexcept.
12816 2010-06-16  Richard Guenther  <rguenther@suse.de>
12818         PR c/44555
12819         * c-common.c (c_common_truthvalue_conversion): Remove
12820         premature and wrong optimization concering ADDR_EXPRs.
12822 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
12824         * c-ada-spec.c (dump_sloc): Remove column info.
12825         (is_simple_enum): New function.
12826         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
12827         enum types when relevant.
12829 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
12831         * c-common.c (conversion_warning): Warn at expression
12832         location.
12834 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
12836         * c-opts.c (c_common_handle_option): Don't handle
12837         OPT_fshow_column.
12839 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
12841         * c-pragma.c (push_alignment): Use typed GC allocation.
12842         (handle_pragma_push_options): Likewise.
12844         * c-common.c (parse_optimize_options): Likewise.
12846         * c-common.h (struct sorted_fields_type): Add variable_size GTY
12847         option.
12849 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
12851         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
12852         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12853         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12854         flag_signed_bitfields, warn_strict_null_sentinel,
12855         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
12856         flag_gen_declaration, flag_no_gnu_keywords,
12857         flag_implement_inlines, flag_implicit_templates,
12858         flag_implicit_inline_templates, flag_optional_diags,
12859         flag_elide_constructors, flag_default_inline, flag_rtti,
12860         flag_conserve_space, flag_access_control, flag_check_new,
12861         flag_new_for_scope, flag_weak, flag_working_directory,
12862         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
12863         flag_enforce_eh_specs, flag_threadsafe_statics,
12864         flag_pretty_templates): Remove.
12865         * c-common.h (flag_preprocess_only, flag_nil_receivers,
12866         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
12867         flag_replace_objc_classes, flag_undef, flag_no_builtin,
12868         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
12869         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
12870         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
12871         flag_no_gnu_keywords, flag_implement_inlines,
12872         flag_implicit_templates, flag_implicit_inline_templates,
12873         flag_optional_diags, flag_elide_constructors, flag_default_inline,
12874         flag_rtti, flag_conserve_space, flag_access_control,
12875         flag_check_new, flag_new_for_scope, flag_weak,
12876         flag_working_directory, flag_use_cxa_atexit,
12877         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
12878         flag_threadsafe_statics, flag_pretty_templates,
12879         warn_strict_null_sentinel): Remove.
12880         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
12881         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
12882         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
12883         fimplicit-inline-templates, fimplicit-templates,
12884         flax-vector-conversions, fms-extensions, fnil-receivers,
12885         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
12886         frtti, fshort-double, fshort-enums, fshort-wchar,
12887         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
12888         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
12889         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
12890         gen-decls, undef): Use Var.
12891         (fdefault-inline, foptional-diags): Document as doing nothing.
12892         * c-opts.c (c_common_handle_option): Remove cases for options now
12893         using Var.  Mark ignored options as such.
12895 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
12897         * c-common.c: Moved to here from parent directory.
12898         * c-common.def: Likewise.
12899         * c-common.h: Likewise.
12900         * c-cppbuiltin.c: Likewise.
12901         * c-dump.c: Likewise.
12902         * c-format.c: Likewise.
12903         * c-format.h : Likewise.
12904         * c-gimplify.c: Likewise.
12905         * c-lex.c: Likewise.
12906         * c-omp.c: Likewise.
12907         * c.opt: Likewise.
12908         * c-opts.c: Likewise.
12909         * c-pch.c: Likewise.
12910         * c-ppoutput.c: Likewise.
12911         * c-pragma.c: Likewise.
12912         * c-pragma.h: Likewise.
12913         * c-pretty-print.c: Likewise.
12914         * c-pretty-print.h: Likewise.
12915         * c-semantics.c: Likewise.
12916         * stub-objc.c: Likewise.
12918         * c-common.c: Include gt-c-family-c-common.h.
12919         * c-pragma.c: Include gt-c-family-c-pragma.h.
12921 Copyright (C) 2010-2022 Free Software Foundation, Inc.
12923 Copying and distribution of this file, with or without modification,
12924 are permitted in any medium without royalty provided the copyright
12925 notice and this notice are preserved.