gcc/
[official-gcc.git] / gcc / c-family / ChangeLog
blobe79a57141f11692fa6d1b476ff5dcba83facf910
1 2017-07-18  Nathan Sidwell  <nathan@acm.org>
3         * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
5 2017-07-14  David Malcolm  <dmalcolm@redhat.com>
7         * c-common.c (try_to_locate_new_include_insertion_point): New
8         function.
9         (per_file_includes_t): New typedef.
10         (added_includes_t): New typedef.
11         (added_includes): New variable.
12         (maybe_add_include_fixit): New function.
13         * c-common.h (maybe_add_include_fixit): New decl.
15 2017-07-10  Martin Sebor  <msebor@redhat.com>
17         PR other/81345
18         * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
20 2017-07-06  David Malcolm  <dmalcolm@redhat.com>
22         * c-common.c (selftest::c_family_tests): New.
23         * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
24         (selftest::c_family_tests): New decl.
26 2017-07-04  Marek Polacek  <polacek@redhat.com>
28         PR c/81231
29         * c-common.c (sync_resolve_size): Give error for pointers to incomplete
30         types.
32 2017-07-04  Marek Polacek  <polacek@redhat.com>
34         * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
36 2017-06-28  Martin Liska  <mliska@suse.cz>
38         PR ipa/81128
39         * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
40         to a function declaration.
42 2017-06-28  Martin Liska  <mliska@suse.cz>
44         PR driver/79659
45         * c.opt: Add IntegerRange to various options.
47 2017-06-26  Marek Polacek  <polacek@redhat.com>
49         PR c/80116
50         * c-common.h (warn_for_multistatement_macros): Declare.
51         * c-warn.c: Include "c-family/c-indentation.h".
52         (warn_for_multistatement_macros): New function.
53         * c.opt (Wmultistatement-macros): New option.
54         * c-indentation.c (guard_tinfo_to_string): No longer static.
55         Change the parameter type to "enum rid".  Handle RID_SWITCH.
56         * c-indentation.h (guard_tinfo_to_string): Declare.
58 2017-06-23  Marc Glisse  <marc.glisse@inria.fr>
60         * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
62 2017-06-15  Martin Sebor  <msebor@redhat.com>
64         PR c++/80560
65         * c.opt (-Wclass-memaccess): New option.
67 2017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
69         * c-opts.c (c_common_finish): Handle '-' special value to -MF.
71 2017-06-13  Marek Polacek  <polacek@redhat.com>
73         PR objc/80949
74         * c-warn.c (do_warn_duplicated_branches): Return if any of the
75         branches is null.
77 2017-06-13  Martin Liska  <mliska@suse.cz>
79         PR sanitize/78204
80         * c-attribs.c (add_no_sanitize_value): New function.
81         (handle_no_sanitize_attribute): Likewise.
82         (handle_no_sanitize_address_attribute): Use the function.
83         (handle_no_sanitize_thread_attribute): New function.
84         (handle_no_address_safety_analysis_attribute): Use
85         add_no_sanitize_value.
86         (handle_no_sanitize_undefined_attribute): Likewise.
87         * c-common.h: Declare new functions.
88         * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
89         (ubsan_instrument_shift): Likewise.
90         (ubsan_instrument_bounds): Likewise.
91         (ubsan_maybe_instrument_array_ref): Likewise.
92         (ubsan_maybe_instrument_reference_or_call): Likewise.
94 2017-06-11  Jason Merrill  <jason@redhat.com>
96         * c-ada-spec.c, c-pragma.c: Use id_equal.
98 2017-06-04  Marek Polacek  <polacek@redhat.com>
100         PR c/80919
101         * c-format.c (matching_type_p): Return false if any of the types
102         requires structural equality.
104 2017-06-02  Martin Sebor  <msebor@redhat.com>
106         PR c/80892
107         * c-warn.c (conversion_warning): Use -Wconversion for integer
108         conversion and -Wfloat-conversion for floating one.
110 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
112         * c.opt (Wsizeof-pointer-div): New warning option.
114 2017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
116         * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
117         (Wcatch-value=1): Enable by -Wall.
119 2017-05-30  David Malcolm  <dmalcolm@redhat.com>
121         * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
122         format_chars.
123         * c.opt (fdiagnostics-show-template-tree): New option.
124         (felide-type): New option.
126 2017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
128         * c.opt (Wcatch-value=): New C++ warning flag.
130 2017-05-24  Nathan Sidwell  <nathan@acm.org>
132         * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
133         const casts to avoid warning.
135 2017-05-24  Martin Sebor  <msebor@redhat.com>
137         PR c/80731
138         * c-common.h (unsafe_conversion_p): Add a function argument.
139         * c-common.c (unsafe_conversion_p): Same.
140         Add type names and values to diagnostics.
141         (scalar_to_vector): Adjust.
142         * c-warn.c (constant_expression_error): Add a function argument.
143         Add type names and values to diagnostics.
144         (conversion_warning): Add a function argument.
145         Add type names and values to diagnostics.
146         (warnings_for_convert_and_check): Same.
148 2017-05-19  Jason Merrill  <jason@redhat.com>
150         * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
151         enumerators.
153 2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
155         * c-format.c (locus): Move out of function scope,
156         add GTY attribute.
158 2017-05-19  Nathan Sidwell  <nathan@acm.org>
160         * c-opts.c (class_dump_file, class_dump_flags): Delete.
161         (c_common_parse_file): Remove class dump handling.
162         (get_dump_info): Likewise.
164 2017-05-19  Richard Biener  <rguenther@suse.de>
166         PR c++/80593
167         * c-warn.c (strict_aliasing_warning): Do not warn for accesses
168         to alias-set zero memory.
170 2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
172         * c-format.c (local_tree_type_node): Add GTY attribute.
174 2017-05-18  Marek Polacek  <polacek@redhat.com>
176         * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
177         (c_common_fixed_point_type_for_size): Likewise.
178         (c_common_type_for_mode): Likewise.
179         (shorten_compare): Likewise.
180         (c_promoting_integer_type_p): Use false/true instead of 0/1.
181         * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
183 2017-05-18  Marek Polacek  <polacek@redhat.com>
185         * c-common.c (self_promoting_args_p): Change the return type to bool.
186         Use false/true instead of 0/1.
187         * c-common.h (self_promoting_args_p): Update.
189 2017-05-17  Marek Polacek  <polacek@redhat.com>
191         * c-common.c: Use NULL_TREE instead of 0 where appropriate.
192         * c-warn.c: Likewise.
194 2017-05-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
196         Implement new C++ intrinsics __is_assignable and __is_constructible.
197         * c-common.c (__is_assignable, __is_constructible): New.
198         * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
200 2017-05-17  Martin Liska  <mliska@suse.cz>
202         * c-common.h: Introduce dump_flags_t type and
203         use it instead of int type.
204         * c-gimplify.c (c_genericize): Likewise.
205         * c-opts.c: Likewise.
207 2017-05-17  Marek Polacek  <polacek@redhat.com>
209         * c-common.c (c_save_expr): Remove.
210         (c_common_truthvalue_conversion): Remove a call to c_save_expr.
211         * c-common.h (c_save_expr): Remove declaration.
213 2017-05-09  Volker Reichelt  <v.reichelt@netcologne.de>
215         PR c/35441
216         * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
217         MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
218         (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
219         (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
220         RDIV_EXPR.
221         (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
223 2017-05-09  Marek Polacek  <polacek@redhat.com>
225         PR c/80525
226         * c-warn.c (unwrap_c_maybe_const): New.
227         (warn_logical_operator): Call it.
229 2017-05-09  Nathan Sidwell  <nathan@acm.org>
231         * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
232         * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
234 2017-05-08  Martin Sebor  <msebor@redhat.com>
236         PR translation/80280
237         * c-format.h (struct format_flag_spec): Add new member.
238         (T89_T): New macro.
239         * c-format.c (local_tree_type_node): New global.
240         (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
241         (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
242         (strfmon_flag_specs): Likewise.
243         (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
244         with distinct quoting properties.
245         (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
246         (flag_chars_t::validate): Add argument and handle bad quoting.
247         (check_format_info_main): Handle quoting problems.
248         (init_dynamic_diag_info): Simplify.
250 2017-05-08  Jason Merrill  <jason@redhat.com>
252         * c-opts.c (c_common_post_options): Update defaults for
253         flag_abi_version and flag_abi_compat_version.
255 2017-05-05  David Malcolm  <dmalcolm@redhat.com>
257         * c-common.c (c_cpp_error): Replace report_diagnostic
258         with diagnostic_report_diagnostic.
260 2017-05-04  Martin Sebor  <msebor@redhat.com>
262         PR translation/80280
263         * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
264         (handle_weakref_attribute): Same.
266 2017-05-03  Nathan Sidwell  <nathan@acm.org>
268         Canonicalize canonical type hashing
269         * c-common.c (complete_array_type): Use type_hash_canon.
271 2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
273         PR c++/80038
274         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
275         prototype.
276         (cilk_install_body_pedigree_operations): Likewise.
277         * cilk.c (cilk_set_spawn_marker): Mark functions that should be
278         detatched.
279         (cilk_gimplify_call_params_in_spawned_fn): Remove.
280         (cilk_install_body_pedigree_operations): Likewise.
281         (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
282         unwrapping.
284 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
286         PR c++/80534
287         * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
288         flag on non-aggregate element types.
290 2017-04-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
292         * c-common.c (c_type_hasher, type_hash_table): Remove.
293         (c_common_get_alias_set): Remove unreachable code.
294         * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
296 2017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
298         * c.opt (Wextra-semi): New C++ warning flag.
300 2017-04-20  Jakub Jelinek  <jakub@redhat.com>
302         PR middle-end/80423
303         * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
305 2017-04-18  Jakub Jelinek  <jakub@redhat.com>
307         PR middle-end/79788
308         PR middle-end/80375
309         * c-common.c (c_common_type_for_mode): Don't handle
310         widest_*_literal_type_node here.
311         c_common_signed_or_unsigned_type): Likewise.
312         (c_common_nodes_and_builtins): Set widest_*_literal_type_node
313         to *intTI_type_node or *intDI_type_node depending on whether
314         TImode is supported by the target or not.
316 2017-04-10  Martin Liska  <mliska@suse.cz>
318         PR sanitizer/80350
319         * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
320         doing an UBSAN check.
322 2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
324         * c-warn.c (do_warn_double_promotion): Fix typo in comment.
326 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
328         PR c++/79572
329         * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
330         tree *.
331         * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise.  Handle
332         not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
333         REFERENCE_TYPE.
335 2017-03-31  David Malcolm  <dmalcolm@redhat.com>
337         PR documentation/78732
338         * c.opt (Wendif-labels): Fix description to refer to
339         #else rather than #elif.
341 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
343         PR libstdc++/80251
344         * c-common.h (enum rid): Add RID_IS_AGGREGATE.
345         * c-common.c (c_common_reswords): Add __is_aggregate trait.
347 2017-03-27  Jakub Jelinek  <jakub@redhat.com>
349         PR middle-end/80162
350         * c-common.c (c_common_mark_addressable_vec): Don't set
351         TREE_ADDRESSABLE on DECL_HARD_REGISTER.
353 2017-03-21  Martin Sebor  <msebor@redhat.com>
355         PR c++/79548
356         * c-common.c (set_underlying_type): Mark type used only when
357         original del is declared unused.
359 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
361         PR translation/79848
362         * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
363         "%qs".
365 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
367         PR c/79921
368         * c-indentation.c (warn_for_misleading_indentation): Remove parens
369         from inform's message, so that xgettext can locate it.
371 2017-03-09  Marek Polacek  <polacek@redhat.com>
373         PR c++/79962
374         PR c++/79984
375         * c-attribs.c (handle_nonnull_attribute): Save the result of default
376         conversion to the attribute list.
378 2017-03-09  Martin Liska  <mliska@suse.cz>
380         * c-ada-spec.c (macro_length): Increment value instead of a pointer.
382 2017-03-03  Jason Merrill  <jason@redhat.com>
384         * c.opt (Wnoexcept-type): New.
386 2017-03-02  Richard Biener  <rguenther@suse.de>
388         PR c/79756
389         * c-common.c (c_common_mark_addressable_vec): Look through
390         C_MAYBE_CONST_EXPR.
392 2017-02-28  Martin Liska  <mliska@suse.cz>
394         * c.opt: Replace space with tabular for options of <number>
395         type.
397 2017-02-28  Martin Liska  <mliska@suse.cz>
399         * c.opt: Fix --help=option -Q for options which are of
400         an enum type.
402 2017-02-24  Jakub Jelinek  <jakub@redhat.com>
404         PR c++/79588
405         * c-common.c (check_function_restrict): New function.
406         (check_function_arguments): Add FNDECL argument.  Call
407         check_function_restrict if -Wrestrict.
408         * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
409         and NARGS.  Use auto_vec for ARG_POSITIONS, simplify.
410         * c-common.h (check_function_arguments): Add FNDECL argument.
411         (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
413 2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
415         * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
416         treatment of parameters with pointer-to-tagged type and tidy up.
417         (print_ada_methods): Remove the special treatment of C++ static member
418         functions.
420 2017-02-22  Martin Liska  <mliska@suse.cz>
422         * c.opt: Replace inequality signs with square brackets
423         for -Wnornalized.
425 2017-02-21  Jakub Jelinek  <jakub@redhat.com>
427         PR c++/79641
428         * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
429         preserve quals.
431 2017-02-17  Joseph Myers  <joseph@codesourcery.com>
433         * c-cppbuiltin.c (builtin_define_float_constants): Define
434         __DECIMAL_DIG__ to the value for long double.
436 2017-02-15  Marek Polacek  <polacek@redhat.com>
438         PR c/79515
439         * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
440         conversion has occured.
442 2017-01-24  David Malcolm  <dmalcolm@redhat.com>
444         * c-common.c (c_common_reswords): Add "__RTL".
445         * c-common.h (enum rid): Add RID_RTL.
447 2017-01-20  Marek Polacek  <polacek@redhat.com>
449         PR c/64279
450         * c-common.h (do_warn_duplicated_branches_r): Declare.
451         * c-gimplify.c (c_genericize): Walk the function tree calling
452         do_warn_duplicated_branches_r.
453         * c-warn.c (expr_from_macro_expansion_r): New.
454         (do_warn_duplicated_branches): New.
455         (do_warn_duplicated_branches_r): New.
456         * c.opt (Wduplicated-branches): New option.
458 2017-01-17  David Malcolm  <dmalcolm@redhat.com>
460         PR c++/71497
461         * c-indentation.c (warn_for_misleading_indentation): Use the past
462         subjunctive in the note.
464 2017-01-17  Aldy Hernandez  <aldyh@redhat.com>
466         PR c/79116
467         * array-notation-common.c (cilkplus_extract_an_triplets): Convert
468         start type to integer_type.
470 2017-01-16  Jakub Jelinek  <jakub@redhat.com>
472         PR driver/49726
473         * c.opt (gen-decls): Add Driver flag.
475 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
477         Revert:
478         2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
480         PR c++/71737
481         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
483 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
485         PR c++/71737
486         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
488 2017-01-12  Martin Sebor  <msebor@redhat.com>
490         (-Wformat-overflow): ...to this.
492 2017-01-11  Martin Sebor  <msebor@redhat.com>
494         PR c/78768
495         * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
496         Also enable for LTO.
498 2017-01-10  Jason Merrill  <jason@redhat.com>
500         Implement P0195R2, C++17 variadic using.
501         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
503 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
505         PR translation/79019
506         PR translation/79020
507         * c.opt (Wnormalized=): Fix typo in description.
509 2017-01-08  Martin Sebor  <msebor@redhat.com>
511         PR middle-end/77708
512         * c.opt (-Wformat-truncation): New option.
514 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
516         * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
517         value to unsigned short to fit in 4 hex digits without
518         warnings.
520 2017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
522         * c.opt (fsso-struct): Add 'native' value.
524 2017-01-05  Martin Liska  <mliska@suse.cz>
526         PR pch/78970
527         * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
528         header.
530 2017-01-04  Marek Polacek  <polacek@redhat.com>
532         PR c++/64767
533         * c.opt (Wpointer-compare): New option.
535 2017-01-04  Jakub Jelinek  <jakub@redhat.com>
537         PR driver/78957
538         * c.opt (fsso-struct=): Add RejectNegative.
540 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
542         Update copyright years.
544 2016-12-29  Martin Liska  <mliska@suse.cz>
546         PR c/78933
547         * c.opt (strong-eval-order): Add RejectNegative keyword.
549 2016-12-22  Jason Merrill  <jason@redhat.com>
551         Implement P0522R0, matching of template template arguments.
552         * c-cppbuiltin.c (c_cpp_builtins): Define
553         __cpp_template_template_args.
555 2016-12-21  Jakub Jelinek  <jakub@redhat.com>
557         PR bootstrap/78817
558         * c-common.c (struct nonnull_arg_ctx): New type.
559         (check_function_nonnull): Return bool instead of void.  Use
560         nonnull_arg_ctx as context rather than just location_t.
561         (check_nonnull_arg): Adjust for the new context type, set
562         warned_p to true if a warning has been diagnosed.
563         (check_function_arguments): Return bool instead of void.
564         * c-common.h (check_function_arguments): Adjust prototype.
566 2016-12-21  Jason Merrill  <jason@redhat.com>
568         * c.opt (-fnew-ttp-matching): New flag.
569         * c-opts.c (c_common_post_options): Default on if -std=c++1z.
571 2016-12-14  Martin Jambor  <mjambor@suse.cz>
573         * c-omp.c: Include omp-general.h instead of omp-low.h.
574         (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
575         name.
577 2016-12-14  Martin Sebor  <msebor@redhat.com>
579         PR c/17308
580         * c-common.c (check_nonnull_arg): Disable when optimization
581         is enabled.
583 2016-12-12  Marek Polacek  <polacek@redhat.com>
585         PR c++/78647
586         * c-common.c (attribute_fallthrough_p): Return false for
587         error_mark_node.
589 2016-12-08  Martin Sebor  <msebor@redhat.com>
591         PR c/78284
592         * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
594 2016-12-08  Martin Sebor  <msebor@redhat.com>
596         PR c/78165
597         * c-pretty-print (pp_c_integer_constant): Avoid formatting type
598         suffix.
600 2016-12-07  Martin Sebor  <msebor@redhat.com>
602         PR c/53562
603         PR middle-end/77784
604         PR middle-end/78149
605         PR middle-end/78138
606         * c.opt (-Wstringop-overflow): New option.
608 2016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
610         * c-attribs.c (asan odr indicator): New attribute.
611         (handle_asan_odr_indicator_attribute): New function.
613 2016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
615         * c-common.c (c_common_nodes_and_builtins): Remove initialization of
616         ptrdiff_type_node;
618 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
620         * c-common.c (excess_precision_mode_join): New.
621         (c_ts18661_flt_eval_method): New.
622         (c_c11_flt_eval_method): Likewise.
623         (c_flt_eval_method): Likewise.
624         * c-common.h (excess_precision_mode_join): New.
625         (c_flt_eval_method): Likewise.
626         * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
627         (cpp_iec_559_value): Call it.
628         (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
629         call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
630         __FLT_EVAL_METHOD_TS_18661_3__.
632 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
634         * c-opts.c (c_common_post_options): Add logic to handle the default
635         case for -fpermitted-flt-eval-methods.
637 2016-11-23  Paolo Bonzini  <bonzini@gnu.org>
639         * c.opt (Wexpansion-to-defined): New.
641 2016-11-23  Jakub Jelinek  <jakub@redhat.com>
643         PR target/78451
644         * c-pragma.c (handle_pragma_target): Don't replace
645         current_target_pragma, but chainon the new args to the current one.
647 2016-11-22  Nathan Sidwell  <nathan@acm.org>
649         * array-notation-common.c (cilkplus_extract_an_trplets): Fix
650         indentation and formatting.
652 2016-11-21  Martin Sebor  <msebor@redhat.com>
654         * c.opt (-fprintf-return-value): Enable by default.
656 2016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
658         PR c++/71973
659         * c.opt (-Wbuiltin-declaration-mismatch): New warning.
660         * c-common.c (c_common_nodes_and_builtins): Initialize
661         const_tm_ptr_type_node.
663 2016-11-16  Marek Polacek  <polacek@redhat.com>
665         PR c/78285
666         * c-common.c (c_add_case_label): Turn error_at calls into inform.
668 2016-11-14  Jakub Jelinek  <jakub@redhat.com>
670         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
672 2016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
673             Richard Biener  <rguenther@suse.de>
675         * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
676         * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
677         * c.opt (fgimple): New option.
679 2016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
681         PR c/35503
682         * c-common.h (warn_for_restrict): Declare.
683         * c-warn.c: Include gcc-rich-location.h.
684         (warn_for_restrict): New function.
685         * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
686         (gcc_cdiag_char_table): Likewise.
687         (gcc_cxxdiag_char_table): Likewise.
688         * c.opt (Wrestrict): New option.
690 2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
692         * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
693         for nested types only if the type is a record or union and dump SLOC.
695 2016-11-09  Jason Merrill  <jason@redhat.com>
697         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
699 2016-11-09  Jakub Jelinek  <jakub@redhat.com>
701         * c-ubsan.c (ubsan_instrument_shift): Handle split
702         -fsanitize=shift-base and -fsanitize=shift-exponent.
704 2016-11-07  Jason Merrill  <jason@redhat.com>
706         * c.opt (Wc++1z-compat): New.
707         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
709 2016-11-07  Martin Liska  <mliska@suse.cz>
711         * c-warn.c (warn_for_unused_label): Save all labels used
712         in goto or in &label.
714 2016-11-03  Jason Merrill  <jason@redhat.com>
716         * c-cppbuiltin.c (c_cpp_builtins): Correct
717         __cpp_inheriting_constructors.
719 2016-11-01  Jason Merrill  <jason@redhat.com>
721         * c-cppbuiltin.c (c_cpp_builtins): Update
722         __cpp_inheriting_constructors.
724         * c.opt (-fnew-inheriting-ctors): New.
725         * c-opts.c: Default to on for ABI 11+.
727 2016-10-31  Jakub Jelinek  <jakub@redhat.com>
729         PR c++/77948
730         * c.opt (fext-numeric-literals): Add Var and Init.
731         * c-opts.c (c_common_handle_option): Don't clear
732         cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
733         (c_common_post_options): Clear it here if not set
734         explicitly.
736 2016-10-28  Aldy Hernandez  <aldyh@redhat.com>
738         PR debug/77773
739         * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
740         if NULL.
742 2016-10-25  Jakub Jelinek  <jakub@redhat.com>
744         * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
745         * c-common.c (c_common_reswords): Add __builtin_launder.
747 2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
749         * c-common.c (c_common_truthvalue_conversion): Warn for
750         multiplications in boolean context.  Fix the quoting of '<<' and '<'
751         in the shift warning.
753 2016-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
755         * c-common.c (c_common_truthvalue_conversion): Fix the comment.
757 2016-10-20  Jason Merrill  <jason@redhat.com>
759         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
761 2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
763         * c-common.c (c_common_truthvalue_conversion): Warn only for signed
764         integer shift ops in boolean context.
766 2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
768         * c.opt (Walloca): New.
769         (Walloca-larger-than=): New.
770         (Wvla-larger-than=): New.
772 2016-10-17  Marek Polacek  <polacek@redhat.com>
774         * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
775         Return immediately when finding a match.
776         (warn_tautological_cmp): Remove a boolean variable that is no longer
777         needed.
779 2016-10-17  Marek Polacek  <polacek@redhat.com>
781         * c-attribs.c: New file.
782         * c-common.c: Move attributes handling to c-attribs.c.
783         (get_nonnull_operand): No longer static.
784         * c-common.h: Move the declarations from c-attribs.c to its own section.
786 2016-10-14  Jason Merrill  <jason@redhat.com>
788         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
789         and __cpp_deduction_guides.
791 2016-10-13  Jason Merrill  <jason@redhat.com>
793         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
795 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
797         * c-cppbuiltin.c: Include memmodel.h.
798         * c-opts.c: Likewise.
799         * c-pragma.c: Likewise.
800         * c-warn.c: Likewise.
802 2016-10-12  Jakub Jelinek  <jakub@redhat.com>
804         * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
805         (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
806         * c-opts.c (sanitize_cpp_opts): Initialize
807         cpp_opts->cpp_warn_implicit_fallthrough.
809 2016-10-11  Marek Polacek  <polacek@redhat.com>
811         * c-common.c (warning_candidate_p): Change the return type to bool
812         and return true/false instead of 1/0.
813         (vector_mode_valid_p): Likewise.
815 2016-10-11  Marek Polacek  <polacek@redhat.com>
817         * c-common.c (fold_for_warn): No longer static.
818         (bool_promoted_to_int_p): Likewise.
819         (c_common_get_narrower): Likewise.
820         (constant_expression_warning): Move to c-warn.c.
821         (constant_expression_error): Likewise.
822         (overflow_warning): Likewise.
823         (warn_logical_operator): Likewise.
824         (find_array_ref_with_const_idx_r): Likewise.
825         (warn_tautological_cmp): Likewise.
826         (expr_has_boolean_operands_p): Likewise.
827         (warn_logical_not_parentheses): Likewise.
828         (warn_if_unused_value): Likewise.
829         (strict_aliasing_warning): Likewise.
830         (sizeof_pointer_memaccess_warning): Likewise.
831         (check_main_parameter_types): Likewise.
832         (conversion_warning): Likewise.
833         (warnings_for_convert_and_check): Likewise.
834         (match_case_to_enum_1): Likewise.
835         (match_case_to_enum): Likewise.
836         (c_do_switch_warnings): Likewise.
837         (warn_for_omitted_condop): Likewise.
838         (readonly_error): Likewise.
839         (lvalue_error): Likewise.
840         (invalid_indirection_error): Likewise.
841         (warn_array_subscript_with_type_char): Likewise.
842         (warn_about_parentheses): Likewise.
843         (warn_for_unused_label): Likewise.
844         (warn_for_div_by_zero): Likewise.
845         (warn_for_memset): Likewise.
846         (warn_for_sign_compare): Likewise.
847         (do_warn_double_promotion): Likewise.
848         (do_warn_unused_parameter): Likewise.
849         (record_locally_defined_typedef): Likewise.
850         (maybe_record_typedef_use): Likewise.
851         (maybe_warn_unused_local_typedefs): Likewise.
852         (maybe_warn_bool_compare): Likewise.
853         (maybe_warn_shift_overflow): Likewise.
854         (warn_duplicated_cond_add_or_warn): Likewise.
855         (diagnose_mismatched_attributes): Likewise.
856         * c-common.h: Move the declarations from c-warn.c to its own section.
857         * c-warn.c: New file.
859 2016-10-08  Jason Merrill  <jason@redhat.com>
861         * c-common.c (c_common_truthvalue_conversion): Don't distribute
862         into COND_EXPR in C++.
864 2016-10-08  Jakub Jelinek  <jakub@redhat.com>
866         * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
867         token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
868         CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
870 2016-10-07  Jakub Jelinek  <jakub@redhat.com>
872         Implement LWG2296 helper intrinsic
873         * c-common.h (enum rid): Add RID_ADDRESSOF.
874         * c-common.c (c_common_reswords): Add __builtin_addressof.
876 2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
878         PR c++/77700
879         * c-common.c (c_common_truthvalue_conversion): Warn also for
880         suspicious enum values in boolean context.
882 2016-10-06  Jakub Jelinek  <jakub@redhat.com>
884         Implement P0258R2 - helper for C++17
885         std::has_unique_object_representations trait
886         * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
887         * c-common.c (c_common_reswords): Add
888         __has_unique_object_representations.
890 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
892         PR sanitizer/66343
893         * c-ubsan.c (ubsan_instrument_return): Don't call
894         initialize_sanitizer_builtins here.
896 2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
898         * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
899         conditional expression in boolean context when only one arm is
900         non-boolean.
902 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
904         PR sanitizer/77823
905         * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
906         is not integral.
908         * c-common.c (c_common_reswords): Update comment for C++11.
910 2016-10-04  Jason Merrill  <jason@redhat.com>
912         * c-common.c (make_tree_vector_from_ctor): New.
913         * c-common.h: Declare it.
915 2016-10-04  Jakub Jelinek  <jakub@redhat.com>
917         * c-cppbuiltin.c (c_cpp_builtins): Don't define
918         __LIBGCC_JCR_SECTION_NAME__.
920 2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
922         * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
923         left shift in boolean context.
925 2016-09-29  Jakub Jelinek  <jakub@redhat.com>
927         Implement P0001R1 - C++17 removal of register storage class specifier
928         * c.opt (Wregister): New warning.
929         * c-opts.c (c_common_post_options): Enable -Wregister by
930         default for C++17.
932 2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
934         * c-opts.c (c_common_post_options): Remove special case for
935         TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
936         in C++.
938 2016-09-27  Jakub Jelinek  <jakub@redhat.com>
940         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
941         -std=c++1z.
943         * c-ada-spec.c (print_ada_declaration): Remove break after return.
945 2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
947         * c-common.c: Include memmodel.h.
949 2016-09-26  Marek Polacek  <polacek@redhat.com>
951         * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
953 2016-09-26  Marek Polacek  <polacek@redhat.com>
955         PR c/7652
956         * c-common.c (c_common_attribute_table): Add fallthrough attribute.
957         (handle_fallthrough_attribute): New function.
958         (attribute_fallthrough_p): New function.
959         * c-common.h (attribute_fallthrough_p): Declare.
961 2016-09-24  Marek Polacek  <polacek@redhat.com>
963         PR c/77490
964         * c.opt (Wbool-operation): New.
966 2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
968         * c-common.c (c_common_truthvalue_conversion): Inhibit
969         Wint-in-bool-context warning with from_macro_definition_at.
970         Mention the expression will always evaluate to true.
972 2016-09-21  Martin Sebor  <msebor@redhat.com>
974         PR bootstrap/77676
975         * c.opt (fprintf-return-value): Temporarily initialize to zero
976         to unblock bootstrap failures.
978 2016-09-21  Jakub Jelinek  <jakub@redhat.com>
980         PR c++/77651
981         * c.opt (Waligned-new=): Add RejectNegative.
982         (faligned-new=): Likewise.  Spelling fix - change
983         aligned_new_threshhold to aligned_new_threshold.
984         * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
985         to aligned_new_threshold.
987 2016-09-20  Martin Sebor  <msebor@redhat.com>
989         PR middle-end/49905
990         * c.opt: Add -Wformat-length and -fprintf-return-value.
992 2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
994         PR c++/77434
995         * c.opt (Wint-in-bool-context): New warning.
996         * c-common.c (c_common_truthvalue_conversion): Warn on integer
997         constants in boolean context.
999 2016-09-19  Joseph Myers  <joseph@codesourcery.com>
1001         * c-common.c (max_align_t_align): Also consider alignment of
1002         float128_type_node.
1004 2016-09-15  Jason Merrill  <jason@redhat.com>
1006         * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1007         DECL_EXTERNAL.
1009 2016-09-14  Jason Merrill  <jason@redhat.com>
1011         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1012         limit FIELD_DECL, either.
1014 2016-09-14  Marek Polacek  <polacek@redhat.com>
1016         * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1017         * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1018         * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1020 2016-09-13  David Malcolm  <dmalcolm@redhat.com>
1022         * c-common.c (warn_logical_not_parentheses): Replace
1023         rich_location::add_fixit_insert calls with add_fixit_insert_before
1024         and add_fixit_insert_after, eliminating the "next_loc" calculation.
1026 2016-09-13  Jason Merrill  <jason@redhat.com>
1027             Tom de Vries  <tom@codesourcery.com>
1029         PR c++/77427
1030         * c-common.c (set_underlying_type): Don't treat array as builtin type.
1032 2016-09-13  Jason Merrill  <jason@redhat.com>
1034         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1035         limit types at all.
1037 2016-09-12  Jason Merrill  <jason@redhat.com>
1039         * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1040         bit/byte confusion, allow large alignment for types.
1042 2016-09-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1044         PR c++/77496
1045         * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1047 2016-09-12  David Malcolm  <dmalcolm@redhat.com>
1049         PR c/72858
1050         * c-format.c (argument_parser::check_argument_type): Add params
1051         "type_start" and "conversion_char".  Use the former to generate
1052         offset_to_type_start and pass it and conversion_char to
1053         check_format_types.
1054         (check_format_info_main): Capture the start of the type
1055         information as "type_start", and pass it an format_char
1056         to arg_parser.check_argument_type.
1057         (check_format_types): Provide an example in the leading comment.
1058         Add params "offset_to_type_start" and "conversion_char"; pass
1059         them to format_type_warning calls.
1060         (test_get_modifier_for_format_len): Likewise.
1061         (matching_type_p): New function.
1062         (get_format_for_type): Add param "conversion_char" and move
1063         implementation into...
1064         (get_format_for_type_1): ...new function, called twice.
1065         Use new function matching_type_p rather than checking for
1066         TYPE_CANONICAL equality.
1067         (get_corrected_substring): New function.
1068         (format_type_warning): Provide an example in the leading comment.
1069         Add params "offset_to_type_start" and "conversion_char".  Replace
1070         call to get_format_for_type with call to get_corrected_substring
1071         and move rejection of hints for widths/precisions there.
1072         (assert_format_for_type_streq): Add param "conversion_char".
1073         (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1074         (test_get_format_for_type_printf): Add conversion chars to the
1075         tests, adding coverage for various combinations of integer
1076         vs double conversions, and for preserving octal and hexadecimal
1077         conversions.
1078         (test_get_format_for_type_scanf): Add conversion chars to the
1079         tests.
1081 2016-09-10  Tom de Vries  <tom@codesourcery.com>
1083         PR C/71602
1084         * c-common.c (build_va_arg): Handle more strict
1085         targetm.canonical_va_list_type.  Replace first argument type error with
1086         assert.
1088 2016-09-09  Martin Sebor  <msebor@redhat.com>
1090         PR c/77520
1091         PR c/77521
1092         * c-format.c (argument_parser::find_format_char_info): Use %qc
1093         format directive unconditionally.
1095 2016-09-09  Jason Merrill  <jason@redhat.com>
1097         Implement C++17 new of over-aligned types.
1098         * c.opt: Add -faligned-new and -Waligned-new.
1099         * c-common.c (max_align_t_align): Split out from...
1100         (cxx_fundamental_alignment_p): ...here.
1101         * c-common.h: Declare it.
1102         * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1104 2016-09-09  Joseph Myers  <joseph@codesourcery.com>
1106         * c-cppbuiltin.c (builtin_define_type_width): New function.
1107         (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1108         macros.
1110 2016-09-07  David Malcolm  <dmalcolm@redhat.com>
1112         * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1113         a POINTER_TYPE.
1114         (substring_loc::get_location): Move to substring-locations.c,
1115         keeping implementation as...
1116         (c_get_substring_location): New function, from the above, reworked
1117         to use accessors rather than member lookup.
1118         * c-common.h (class substring_loc): Move to substring-locations.h,
1119         replacing with a forward decl.
1120         (c_get_substring_location): New decl.
1121         * c-format.c: Include "substring-locations.h".
1122         (format_warning_va): Move to substring-locations.c.
1123         (format_warning_at_substring): Likewise.
1125 2016-09-06 Martin Sebor  <msebor@redhat.com>
1127         PR c/77336
1128         * c-format.c (check_function_format): Avoid issuing warnings for
1129         functions unless they call format functions with non-constant
1130         format strings.
1132 2016-09-06  Richard Biener  <rguenther@suse.de>
1134         PR c/77450
1135         * c-common.c (c_common_mark_addressable_vec): Handle
1136         COMPOUND_LITERAL_EXPR.
1138 2016-09-05  Marek Polacek  <polacek@redhat.com>
1140         PR c/77423
1141         * c-common.c (bool_promoted_to_int_p): New function.
1142         (expr_has_boolean_operands_p): New function.
1143         (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1144         (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1146 2016-09-04  Tom de Vries  <tom@codesourcery.com>
1148         revert:
1149         2016-08-29  Tom de Vries  <tom@codesourcery.com>
1151         * c-common.c (build_va_arg): Replace first argument type error
1152         with assert.
1154 2016-09-02  Jakub Jelinek  <jakub@redhat.com>
1156         PR c/65467
1157         * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1158         (c_finish_omp_for): Reject _Atomic qualified iterators.
1160 2016-09-01  Martin Sebor  <msebor@redhat.com>
1162         * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1163         size to guarantee it fits the output of the formatted function
1164         regardless of its arguments.
1166 2016-09-01  Marek Polacek  <polacek@redhat.com>
1168         PR c/7652
1169         * c-common.c (resolve_overloaded_builtin): Fix formatting.  Add
1170         FALLTHRU comments.
1172 2016-08-29  Marek Polacek  <polacek@redhat.com>
1174         PR c/77292
1175         * c-common.c (warn_logical_not_parentheses): Don't warn for
1176         a comparison or a logical operator.
1178 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1180         * c-common.c (build_va_arg): Fix type comparison assert.
1182 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1184         * c-common.c (build_va_arg): Replace first argument type error
1185         with assert.
1187 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1189         PR c/77398
1190         * c-common.c (build_va_arg): Add first argument error.  Build va_arg
1191         with error_mark_node as va_list instead of with illegal va_list.
1193 2016-08-25  Marek Polacek  <polacek@redhat.com>
1194             David Malcolm  <dmalcolm@redhat.com>
1196         * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1197         * c-common.h (warn_logical_not_parentheses): Update declaration.
1199 2016-08-22  Marek Polacek  <polacek@redhat.com>
1201         PR c++/77321
1202         * c-common.c (warn_for_memset): Check type for null.
1204 2016-08-22  Joseph Myers  <joseph@codesourcery.com>
1206         * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1207         _FloatNx types for suffixes for built-in functions.
1209 2016-08-19  Joseph Myers  <joseph@codesourcery.com>
1211         PR c/32187
1212         * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1213         (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1214         (RID_FLOAT128X): New enum rid values.
1215         (CASE_RID_FLOATN_NX): New macro.
1216         * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1217         keywords.
1218         (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1219         corresponding complex types.
1220         (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1221         _FloatNx and corresponding complex types.
1222         (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1223         * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1224         and _FloatNx types for the widest type for determining
1225         DECIMAL_DIG.  Define __LDBL_DECIMAL_DIG__ as well as
1226         __DECIMAL_DIG__ for long double.  Handle FMA_SUFFIX being NULL.
1227         (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1228         and _FloatNx types.
1229         * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1230         constants.
1231         * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1232         _FloatNx types.
1234 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
1236         * c-opts.c (c_diagnostic_finalizer): Update for change to
1237         diagnostic_show_locus.
1239 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
1241         * c-common.c: Include "spellcheck.h".
1242         (cb_get_suggestion): New function.
1243         * c-common.h (cb_get_suggestion): New decl.
1244         * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1245         cb_get_suggestion.
1247 2016-08-18  Marek Polacek  <polacek@redhat.com>
1249         PR c/71514
1250         * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1251         and pointer-to-VLA.
1253 2016-08-16  David Malcolm  <dmalcolm@redhat.com>
1255         PR c/72857
1256         * c-common.c (substring_loc::get_range): Rename to...
1257         (substring_loc::get_location): ...this, converting param from a
1258         source_range * to a location_t *.  Call
1259         get_source_location_for_substring rather than
1260         get_source_range_for_substring, and pass in m_caret_idx.
1261         * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1262         (substring_loc::get_range): Replace with...
1263         (substring_loc::get_location): ...this.
1264         (substring_loc::set_caret_index): New method.
1265         (substring_loc): Add field m_caret_idx.
1266         * c-format.c (format_warning_va): Update for above changes.
1267         Rename local "substring_loc" to "fmt_substring_loc" to avoid
1268         clashing with type name.
1269         (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1270         (check_argument_type): Likewise.
1271         (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1272         Use a copy when emitting warnings, setting the caret index from TYPE.
1274 2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
1275             Arnaud Charlet  <charlet@adacore.com>
1277         * c-ada-spec.c (dump_number): New function.
1278         (handle_escape_character): Likewise.
1279         (print_ada_macros): Add handling of constant integers and strings.
1281 2016-08-12  Marek Polacek  <polacek@redhat.com>
1283         PR c/7652
1284         * c-common.c (scalar_to_vector): Adjust fall through comment.
1285         * c-opts.c (c_common_handle_option): Likewise.
1286         * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1287         * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1288         fall through comment.
1289         * cilk.c (extract_free_variables): Add FALLTHRU.
1291 2016-08-10  Jason Merrill  <jason@redhat.com>
1293         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1295 2016-08-09  Jason Merrill  <jason@redhat.com>
1297         * c-common.c (c_common_attribute_table): vector_size affects type
1298         identity.
1300 2016-08-09  Marek Polacek  <polacek@redhat.com>
1302         PR c/7652
1303         * c-ada-spec.c (dump_generic_ada_node): Add return.
1305 2016-08-09  Jason Merrill  <jason@redhat.com>
1307         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1308         C++17 constexpr lambdas.
1310 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1312         PR c/64955
1313         * c-common.h (selftest::c_format_c_tests): New declaration.
1314         (selftest::run_c_tests): New declaration.
1315         * c-format.c: Include "selftest.h.
1316         (format_warning_va): Add param "corrected_substring" and use
1317         it to add a replacement fix-it hint.
1318         (format_warning_at_substring): Likewise.
1319         (format_warning_at_char): Update for new param of
1320         format_warning_va.
1321         (argument_parser::check_argument_type): Pass "fki" to
1322         check_format_types.
1323         (check_format_types): Add param "fki" and pass it to
1324         format_type_warning.
1325         (deref_n_times): New function.
1326         (get_modifier_for_format_len): New function.
1327         (selftest::test_get_modifier_for_format_len): New function.
1328         (get_format_for_type): New function.
1329         (format_type_warning): Add param "fki" and use it to attempt
1330         to provide hints for argument types when calling
1331         format_warning_at_substring.
1332         (selftest::get_info): New function.
1333         (selftest::assert_format_for_type_streq): New function.
1334         (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1335         (selftest::test_get_format_for_type_printf): New function.
1336         (selftest::test_get_format_for_type_scanf): New function.
1337         (selftest::c_format_c_tests): New function.
1339 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1341         PR c/52952
1342         * c-format.c: Include "diagnostic.h".
1343         (location_column_from_byte_offset): Delete.
1344         (location_from_offset): Delete.
1345         (format_warning_va): New function.
1346         (format_warning_at_substring): New function.
1347         (format_warning_at_char): New function.
1348         (check_format_arg): Capture location of format_tree and pass to
1349         check_format_info_main.
1350         (argument_parser): Add fields "start_of_this_format" and
1351         "format_string_cst".
1352         (flag_chars_t::validate): Add param "format_string_cst".  Convert
1353         warning_at call using location_from_offset to call to
1354         format_warning_at_char.
1355         (argument_parser::argument_parser): Add param "format_string_cst_"
1356         and use use it to initialize field "format_string_cst".
1357         Initialize new field "start_of_this_format".
1358         (argument_parser::read_format_flags): Convert warning_at call
1359         using location_from_offset to a call to format_warning_at_char.
1360         (argument_parser::read_any_format_left_precision): Likewise.
1361         (argument_parser::read_any_format_precision): Likewise.
1362         (argument_parser::read_any_other_modifier): Likewise.
1363         (argument_parser::find_format_char_info): Likewise, in three places.
1364         (argument_parser::parse_any_scan_set): Likewise, in one place.
1365         (argument_parser::handle_conversions): Likewise, in two places.
1366         (argument_parser::check_argument_type): Add param "fmt_param_loc"
1367         and use it to make a substring_loc.  Pass the latter to
1368         check_format_types.
1369         (check_format_info_main): Add params "fmt_param_loc" and
1370         "format_string_cst".  Convert warning_at calls using
1371         location_from_offset to calls to format_warning_at_char.  Pass the
1372         new params to the arg_parser ctor.  Pass "format_string_cst" to
1373         flag_chars.validate.  Pass "fmt_param_loc" to
1374         arg_parser.check_argument_type.
1375         (check_format_types): Convert first param from a location_t
1376         to a const substring_loc & and rename to "fmt_loc".  Attempt
1377         to extract the range of the relevant parameter and pass it
1378         to format_type_warning.
1379         (format_type_warning): Convert first param from a location_t
1380         to a const substring_loc & and rename to "fmt_loc".  Add
1381         params "param_range" and "type".  Replace calls to warning_at
1382         with calls to format_warning_at_substring.
1384 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1386         * c-format.c (class flag_chars_t): New class.
1387         (struct length_modifier): New struct.
1388         (class argument_parser): New class.
1389         (flag_chars_t::flag_chars_t): New ctor.
1390         (flag_chars_t::has_char_p): New method.
1391         (flag_chars_t::add_char): New method.
1392         (flag_chars_t::validate): New method.
1393         (flag_chars_t::get_alloc_flag): New method.
1394         (flag_chars_t::assignment_suppression_p): New method.
1395         (argument_parser::argument_parser): New ctor.
1396         (argument_parser::read_any_dollar): New method.
1397         (argument_parser::read_format_flags): New method.
1398         (argument_parser::read_any_format_width): New method.
1399         (argument_parser::read_any_format_left_precision): New method.
1400         (argument_parser::read_any_format_precision): New method.
1401         (argument_parser::handle_alloc_chars): New method.
1402         (argument_parser::read_any_length_modifier): New method.
1403         (argument_parser::read_any_other_modifier): New method.
1404         (argument_parser::find_format_char_info): New method.
1405         (argument_parser::validate_flag_pairs): New method.
1406         (argument_parser::give_y2k_warnings): New method.
1407         (argument_parser::parse_any_scan_set): New method.
1408         (argument_parser::handle_conversions): New method.
1409         (argument_parser::check_argument_type): New method.
1410         (check_format_info_main): Introduce classes argument_parser
1411         and flag_chars_t, moving the code within the loop into methods
1412         of these classes.  Make various locals "const".
1414 2016-08-05  David Malcolm  <dmalcolm@redhat.com>
1416         * c-common.c: Include "substring-locations.h".
1417         (get_cpp_ttype_from_string_type): New function.
1418         (g_string_concat_db): New global.
1419         (substring_loc::get_range): New method.
1420         * c-common.h (g_string_concat_db): New declaration.
1421         (class substring_loc): New class.
1422         * c-lex.c (lex_string): When concatenating strings, capture the
1423         locations of all tokens using a new obstack, and record the
1424         concatenation locations within g_string_concat_db.
1425         * c-opts.c (c_common_init_options): Construct g_string_concat_db
1426         on the ggc-heap.
1428 2016-07-29  Marek Polacek  <polacek@redhat.com>
1430         PR c/71926
1431         * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1432         parentheses warning.
1434         PR c/71574
1435         * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1437 2016-07-28  Martin Liska  <mliska@suse.cz>
1439         PR gcov-profile/68025
1440         * c-common.c (handle_no_profile_instrument_function_attribute):
1442 2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1444         * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1445         BITS_PER_UNIT_LOG.
1447 2016-07-25  Jason Merrill  <jason@redhat.com>
1449         PR c++/65970
1450         * c.opt (fconstexpr-loop-limit): New.
1452 2016-07-22  Martin Sebor  <msebor@redhat.com>
1454         PR c++/71675
1455         * c-common.c (resolve_overloaded_builtin): Avoid converting
1456         __atomic_compare_exchange_n return type to that of what its
1457         first argument points to.
1459 2016-07-22  Uros Bizjak  <ubizjak@gmail.com>
1461         * c-common.c: Use HOST_WIDE_INT_M1U instead of
1462         ~(unsigned HOST_WIDE_INT) 0.
1464 2016-07-22  Martin Liska  <mliska@suse.cz>
1466         PR gcov-profile/69028
1467         PR gcov-profile/62047
1468         * cilk.c (create_cilk_helper_decl): Set location of a new decl
1469         to the current_function_decl.
1471 2016-07-21  Jason Merrill  <jason@redhat.com>
1473         PR c++/65168
1474         * c-common.c (c_common_truthvalue_conversion): Check
1475         c_inhibit_evaluation_warnings for warning about address of
1476         reference.
1478 2016-07-20  David Malcolm  <dmalcolm@redhat.com>
1480         * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1481         const char *.
1483 2016-07-15  Jason Merrill  <jason@redhat.com>
1485         * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1487 2016-07-15  Jakub Jelinek  <jakub@redhat.com>
1489         PR c/71858
1490         * c-common.h (enum lookup_name_fuzzy_kind): Add
1491         FUZZY_LOOKUP_FUNCTION_NAME.
1493 2016-07-08  Jason Merrill  <jason@redhat.com>
1495         P0145: Refining Expression Order for C++.
1496         * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1497         * c-opts.c: Adjust.
1499 2016-07-05  Markus Trippelsdorf  <markus@trippelsdorf.de>
1501         PR c++/71214
1502         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1504 2016-06-29  Thomas Schwinge  <thomas@codesourcery.com>
1506         * c-pragma.h (enum pragma_kind): Rename
1507         PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE.  Adjust all
1508         users.
1510 2016-06-29  Richard Biener  <rguenther@suse.de>
1512         PR middle-end/71002
1513         * c-common.c (c_common_get_alias_set): Remove union type punning case.
1515 2016-06-24  Jason Merrill  <jason@redhat.com>
1517         P0145R2: Refining Expression Order for C++.
1518         * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1519         MODIFY_EXPR.
1521 2016-06-24  Jakub Jelinek  <jakub@redhat.com>
1523         * c-common.c (check_builtin_function_arguments): Require last
1524         argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1525         Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1526         if the last argument is pointer to enumerated or boolean type.
1528 2016-06-22  David Malcolm  <dmalcolm@redhat.com>
1530         PR c/70339
1531         * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1532         (lookup_name_fuzzy): New prototype.
1534 2016-06-21  John David Anglin  <danglin@gcc.gnu.org>
1536         * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1538 2016-06-14  Jason Merrill  <jason@redhat.com>
1540         P0145R2: Refining Expression Order for C++.
1541         * c.opt (fargs-in-order): New.
1542         * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1544 2016-06-13  Jakub Jelinek  <jakub@redhat.com>
1546         PR sanitizer/71498
1547         * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1548         all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1550         PR preprocessor/71183
1551         * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1552         to cb_get_source_date_epoch.
1554 2016-06-10  Jakub Jelinek  <jakub@redhat.com>
1556         PR c/68657
1557         * c.opt (Wpsabi): Add Warning flag.
1559 2016-06-10  Martin Sebor  <msebor@redhat.com>
1561         PR c/71392
1562         * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1563         the nonnull attribute in type-generic builtins.
1565 2016-06-09  Martin Sebor  <msebor@redhat.com>
1567         PR c/70883
1568         * c-common.c (builtin_function_validate_nargs): Make text of error
1569         message consistent with others like it.
1571 2016-06-08  Martin Sebor  <msebor@redhat.com>
1572             Jakub Jelinek  <jakub@redhat.com>
1574         PR c++/70507
1575         PR c/68120
1576         * c-common.c (check_builtin_function_arguments): Handle
1577         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1579 2016-06-08  Richard Biener  <rguenther@suse.de>
1581         * c-common.c (parse_optimize_options): Improve diagnostic messages.
1583 2016-06-07  Richard Biener  <rguenther@suse.de>
1585         PR c/61564
1586         * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1587         options and warn about others.
1589 2016-06-01  Eduard Sanou  <dhole@openmailbox.org>
1591         * c-common.c (get_source_date_epoch): Rename to
1592         cb_get_source_date_epoch.
1593         * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1594         message when the parsing fails.  Use error_at instead of fatal_error.
1595         * c-common.h (get_source_date_epoch): Rename to
1596         cb_get_source_date_epoch.
1597         * c-common.h (cb_get_source_date_epoch): Prototype.
1598         * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1599         * c-common.h (c_omp_region_type): Remove trailing comma.
1600         * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1601         * c-lex.c (c_lex_with_flags): Remove initialization of
1602         pfile->source_date_epoch.
1604 2016-05-30  Jakub Jelinek  <jakub@redhat.com>
1606         PR c++/71349
1607         * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1608         C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
1609         C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1610         instead of C_OMP_CLAUSE_SPLIT_FOR.
1612 2016-05-24  Richard Biener  <rguenther@suse.de>
1614         PR middle-end/70434
1615         PR c/69504
1616         * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1617         (convert_vector_to_array_for_subscript): ... this.
1618         * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1619         VIEW_CONVERT_EXPR to an array type.  Rename to ...
1620         (convert_vector_to_array_for_subscript): ... this.
1622 2016-05-12  Marek Polacek  <polacek@redhat.com>
1624         PR c/70756
1625         * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1626         size_in_bytes and pass LOC to it.
1628 2016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
1630         PR c/43651
1631         * c.opt (Wduplicate-decl-specifier): New option.
1633 2016-05-11  Marek Polacek  <polacek@redhat.com>
1635         PR c++/71024
1636         * c-common.c (diagnose_mismatched_attributes): New function.
1637         * c-common.h (diagnose_mismatched_attributes): Declare.
1639 2016-05-04  Marek Polacek  <polacek@redhat.com>
1641         * c.opt (Wdangling-else): New option.
1643 2016-05-03  Marek Polacek  <polacek@redhat.com>
1645         PR c/70859
1646         * c-common.c (builtin_function_validate_nargs): Add location
1647         parameter.  Use it.
1648         (check_builtin_function_arguments): Add location and arguments
1649         parameters.  Use them.
1650         * c-common.h (check_builtin_function_arguments): Update declaration.
1652 2016-05-03  Richard Biener  <rguenther@suse.de>
1654         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1655         allow call args to gimplify to SSA names.
1657 2016-05-03  Marek Polacek  <polacek@redhat.com>
1659         * c-common.h (enum c_omp_region_type): Remove stray comma.
1661 2016-05-02  Cesar Philippidis  <cesar@codesourcery.com>
1663         * c-common.h (enum c_omp_region_type): Define.
1665 2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
1667         * c-common.c (shorten_compare): Use wi::to_wide.
1669 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
1671         PR middle-end/70626
1672         * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1673         * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1674         reduction clauses in acc parallel loops.
1676 2016-04-29  Marek Polacek  <polacek@redhat.com>
1678         PR c/70852
1679         * c-common.c (warn_for_memset): Check domain before accessing it.
1681 2016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1683         PR/69089
1684         * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1685         "aligned" attribute.
1687 2016-04-28  Jason Merrill  <jason@redhat.com>
1689         * c-lex.c (c_common_has_attribute): Handle nodiscard.
1691 2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
1692             Matthias Klose  <doko@debian.org>
1694         * c-common.c (get_source_date_epoch): New function, gets the environment
1695         variable SOURCE_DATE_EPOCH and parses it as long long with error 
1696         handling.
1697         * c-common.h (get_source_date_epoch): Prototype.
1698         * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1700 2015-04-27  Ryan Burn  <contact@rnburn.com>
1702         PR c++/69024
1703         PR c++/68997
1704         * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1705         (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1706         external linkage.
1707         (cilk_detect_and_unwrap): Corresponding changes.
1708         (extract_free_variables): Don't extract free variables from
1709         AGGR_INIT_EXPR slot.
1710         * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1711         (cilk_recognize_spawn): Likewise.
1713 2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
1715         * c.opt (Wmemset-elt-size): New option.
1716         * c-common.c (warn_for_memset): New function.
1717         * c-common.h (warn_for_memset): Declare.
1719 2016-04-25  Jason Merrill  <jason@redhat.com>
1721         * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1722         No longer static.
1723         * c-common.h: Declare it.
1724         * c-lex.c (c_common_has_attribute): Add maybe_unused.
1726 2016-04-22  Jason Merrill  <jason@redhat.com>
1728         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1730 2016-04-20  Ilya Verbin  <ilya.verbin@intel.com>
1732         PR c++/69363
1733         * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1734         * c-common.h (c_finish_cilk_clauses): Remove declaration.
1736 2016-04-18  Michael Matz  <matz@suse.de>
1738         * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1739         and SET_DECL_ALIGN.
1741 2016-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1743         * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1744         (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1745         to incomplete types.
1746         (dump_nested_type): Remove redundant tests and tidy up.
1747         (print_ada_declaration): Also set TREE_VISITED on the declaration of
1748         a type which is the typedef of an original type.
1750 2016-04-15  Marek Polacek  <polacek@redhat.com>
1752         PR c/70651
1753         * c-common.c (build_va_arg): Change two asserts into errors and return
1754         error_mark_node.
1756 2016-04-13  Marek Polacek  <polacek@redhat.com>
1758         PR c++/70639
1759         * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1760         for switch statements, too.
1762 2016-03-28  Jason Merrill  <jason@redhat.com>
1764         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1766 2016-03-23  Marek Polacek  <polacek@redhat.com>
1768         PR c++/69884
1769         * c.opt (Wignored-attributes): New option.
1771 2016-03-22  David Malcolm  <dmalcolm@redhat.com>
1773         PR c/69993
1774         * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1775         diagnostic text, reversing the order of the warning and note so
1776         that they appear in source order.
1778 2016-03-17  Marek Polacek  <polacek@redhat.com>
1780         PR c/69407
1781         * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1782         operations.
1784 2016-03-14  Jason Merrill  <jason@redhat.com>
1786         * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1788         * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1790 2016-03-09  Richard Biener  <rguenther@suse.de>
1792         PR c/70143
1793         * c-common.c (strict_aliasing_warning): Add back
1794         alias_sets_conflict_p check.
1796 2016-03-08  Jason Merrill  <jason@redhat.com>
1798         * c-opts.c (set_std_cxx1z): Don't enable concepts.
1800 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
1802         PR c/68187
1803         * c-indentation.c (get_visual_column): Move code to determine next
1804         tab stop to...
1805         (next_tab_stop): ...this new function.
1806         (line_contains_hash_if): Delete function.
1807         (detect_preprocessor_logic): Delete function.
1808         (get_first_nws_vis_column): New function.
1809         (detect_intervening_unindent): New function.
1810         (should_warn_for_misleading_indentation): Replace call to
1811         detect_preprocessor_logic with a call to
1812         detect_intervening_unindent.
1814 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
1816         PR c/68187
1817         * c-indentation.c (should_warn_for_misleading_indentation): When
1818         suppressing warnings about cases where the guard and body are on
1819         the same column, only use the first non-whitespace column in place
1820         of the guard token column when dealing with "else" clauses.
1821         When rejecting aligned BODY and NEXT, loosen the requirement
1822         from equality with the first non-whitespace of guard to simply
1823         that they not be indented relative to it.
1825 2016-03-04  Richard Biener  <rguenther@suse.de>
1827         PR c++/70054
1828         * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1829         instead of alias_sets_conflict_p.
1831 2016-03-01  Marek Polacek  <polacek@redhat.com>
1833         PR c++/69795
1834         * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1835         any DECL.
1837 2016-02-22  Martin Sebor  <msebor@redhat.com>
1839         PR middle-end/69780
1840         * c-common.c (check_builtin_function_arguments): Validate and
1841         reject invalid arguments to __builtin_alloca_with_align.
1843 2016-02-20  Mark Wielaard  <mjw@redhat.com>
1845         PR c/28901
1846         * c.opt (Wunused-const-variable): Turn into Alias for...
1847         (Wunused-const-variable=): New option.
1849 2016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1851         PR c++/69865
1852         * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1853         here...
1854         (c_common_init_options): ...to here.
1855         (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1857 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
1859         PR c++/69826
1860         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1861         (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1862         flag_preprocess_only.
1864 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
1866         PR c/69835
1867         * c.opt (Wnonnull-compare): Enable for -Wall.
1869 2016-02-15  Jakub Jelinek  <jakub@redhat.com>
1871         PR c++/69797
1872         * c-common.c (sync_resolve_size): Diagnose too few arguments
1873         even when params is non-NULL empty vector.
1875 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
1877         PR target/60410
1878         * c.opt (fshort-double): Remove.
1880 2016-02-05  Martin Sebor  <msebor@redhat.com>
1882         PR c++/69662
1883         * c.opt (Warning options): Update -Wplacement-new to take
1884         an optional argument.
1886 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
1888         PR preprocessor/69543
1889         PR c/69558
1890         * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1891         instead of loc to control_warning_option.
1893 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
1895         * c.opt (fopenacc-dim=): New option.
1897 2016-01-27  Ryan Burn  <contact@rnburn.com>
1899         PR cilkplus/69267
1900         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1901         gimplify_arg. Removed superfluous post_p argument.
1902         * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1903         superfluous post_p argument.
1904         * c-gimplify.c (c_gimplify_expr): Likewise.
1906 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
1908         PR other/69006
1909         * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1910         pp_newline_and_flush with pp_flush.
1912 2016-01-20  Martin Sebor  <msebor@redhat.com>
1914         PR c/69405
1915         * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1916         an incompatible argument when the argument isn't a valid tree node.
1918 2016-01-18  Jason Merrill  <jason@redhat.com>
1920         PR c++/68767
1921         * c-common.c (check_function_arguments_recurse): Fold the whole
1922         COND_EXPR, not just the condition.
1924 2016-01-18  Tom de Vries  <tom@codesourcery.com>
1926         * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1927         classify as loop clause.
1929 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
1931         PR bootstrap/68271
1932         * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1933         C++ FE no longer has limit on number of pragmas.
1935 2015-01-14  Ryan Burn  <contact@rnburn.com>
1937         PR c++/69048
1938         * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
1939         to add missing cleanup point.
1941 2016-01-14  David Malcolm  <dmalcolm@redhat.com>
1943         PR c++/68819
1944         * c-indentation.c (get_visual_column): Add location_t param.
1945         Handle the column number being zero by effectively disabling the
1946         warning, with an "inform".
1947         (should_warn_for_misleading_indentation): Add location_t argument
1948         for all uses of get_visual_column.
1950 2016-01-10  Patrick Palka  <ppalka@gcc.gnu.org>
1952         PR c++/69029
1953         * c-indentation.c (should_warn_for_misleading_indentation):
1954         Don't warn about do-while statements.
1956 2016-01-07  Martin Sebor  <msebor@redhat.com>
1958         PR c/68966
1959         * c-common.c (sync_resolve_size): Reject first argument when it's
1960         a pointer to _Bool.
1962 2016-01-05  David Malcolm  <dmalcolm@redhat.com>
1964         PR c/69122
1965         * c-indentation.c (get_visual_column): Remove default argument.
1966         (should_warn_for_misleading_indentation): For the multiline case,
1967         update call to get_visual_column for next_stmt_exploc so that it
1968         captures the location of the first non-whitespace character in the
1969         relevant line.  Don't issue warnings if there is non-whitespace
1970         before the next statement.
1972 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
1974         Update copyright years.
1976 2015-12-21  David Malcolm  <dmalcolm@redhat.com>
1978         * c-common.c (binary_op_error): Convert first param from
1979         location_t to rich_location * and use it when emitting an error.
1980         * c-common.h (binary_op_error): Convert first param from
1981         location_t to rich_location *.
1983 2015-12-16  David Malcolm  <dmalcolm@redhat.com>
1985         * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1986         * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1988 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
1990         * c-common.c (c_common_attribute_table): Handle "omp declare target
1991         link" attribute.
1993 2015-12-14  Jakub Jelinek  <jakub@redhat.com>
1995         PR c/68833
1996         * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1998 2014-12-12  Tobias Burnus  <burnus@net-b.de>
2000         PR fortran/68815
2001         * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2002         specifiers (%d, %i,%u and %c).
2004 2015-12-10  David Malcolm  <dmalcolm@redhat.com>
2006         * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2008 2015-12-08  Jakub Jelinek  <jakub@redhat.com>
2010         PR c/48088
2011         PR c/68657
2012         * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2013         * c-pragma.c (handle_pragma_diagnostic): Adjust
2014         control_warning_option caller.
2016 2015-12-07  David Malcolm  <dmalcolm@redhat.com>
2018         * c-common.c (c_cpp_error): Update for change to
2019         rich_location::set_range.
2021 2015-12-04  Paolo Bonzini  <bonzini@gnu.org>
2023         * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2024         shifting 1 out of the sign bit.
2026 2015-12-04  Kirill Yukhin  <kirill.yukhin@intel.com>
2028         * c-common.c (c_common_attribute_table[]): Update max arguments
2029         count for "simd" attribute.
2030         (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2032 2015-12-03  Jakub Jelinek  <jakub@redhat.com>
2034         PR preprocessor/57580
2035         * c-ppoutput.c (print): Change printed field to bool.
2036         Move src_file last for smaller padding.
2037         (init_pp_output): Set print.printed to false instead of 0.
2038         (scan_translation_unit): Fix up formatting.  Set print.printed
2039         to true after printing something other than newline.
2040         (scan_translation_unit_trad): Set print.printed to true instead of 1.
2041         (maybe_print_line_1): Set print.printed to false instead of 0.
2042         (print_line_1): Likewise.
2043         (do_line_change): Set print.printed to true instead of 1.
2044         (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2045         dump_macro): Set print.printed to false after printing newline.
2047 2015-12-02  Jason Merrill  <jason@redhat.com>
2049         * c-common.c (fold_for_warn): New.
2050         (warn_logical_operator, warn_tautological_cmp)
2051         (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2053         * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2054         (c_fully_fold_internal, decl_constant_value_for_optimization):
2055         Move to c/c-fold.c.
2056         * c-common.h: Don't declare decl_constant_value_for_optimization.
2058 2015-12-02  Joseph Myers  <joseph@codesourcery.com>
2060         PR c/68162
2061         * c-common.h (c_build_qualified_type): Add extra default
2062         arguments.
2064 2015-12-01  Julian Brown  <julian@codesourcery.com>
2065             Cesar Philippidis  <cesar@codesourcery.com>
2066             James Norris  <James_Norris@mentor.com>
2068         * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2069         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2070         (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2072 2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
2074         * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2075         (decl_sloc_common): Delete and move bulk of processing to...
2076         (decl_sloc): ...here.
2077         (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2078         (dump_ada_double_name): Remove S parameter and compute the suffix.
2079         (dump_ada_array_type): Add PARENT parameter.  Simplify computation of
2080         element type and deal with an anonymous one.
2081         (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2082         (dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
2083         and remove reference to QUAL_UNION_TYPE.
2084         (dump_nested_types): Make 2 passes on the fields and move bulk to...
2085         (dump_nested_type): ...here.  New function extracted from above.
2086         Generate a full declaration for anonymous element type of arrays.
2087         (print_ada_declaration): Really skip anonymous declarations.  Remove
2088         references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
2089         Clean up processing of declarations of array types and objects.
2090         (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2091         Remove obsolete code and tidy up.
2093 2015-11-29  Jan Hubicka  <hubicka@ucw.cz>
2095         PR c/67581
2096         * c-common.c (handle_transparent_union_attribute): Update
2097         also type variants.
2099 2015-11-27  Martin Liska  <mliska@suse.cz>
2101         PR c++/68312
2102         * array-notation-common.c (cilkplus_extract_an_triplets):
2103         Release vector of vectors.
2104         * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2106 2015-11-26  Eric Botcazou  <ebotcazou@adacore.com>
2108         PR c++/68527
2109         * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2110         (print_ada_struct_decl): Likewise.
2112 2015-11-23  Igor Zamyatin  <igor.zamyatin@intel.com>
2114         PR c++/68001
2115         * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2116         * cilk.c (recognize_spawn): Determine location in a more precise
2117         way.
2119 2015-11-19  Jason Merrill  <jason@redhat.com>
2121         * c-common.c (shorten_compare): But look through macros from
2122         system headers.
2124 2015-11-18  Jason Merrill  <jason@redhat.com>
2126         * c-common.c (shorten_compare): Don't -Wtype-limits if the
2127         non-constant operand comes from a macro.
2129 2015-11-17  Jason Merrill  <jason@redhat.com>
2131         PR bootstrap/68346
2132         * c-common.c (warn_tautological_cmp): Fold before checking for
2133         constants.
2135 2015-11-16  Marek Polacek  <polacek@redhat.com>
2137         PR c++/68362
2138         * c-common.c (check_case_bounds): Fold low and high cases.
2140 2015-11-16  Marek Polacek  <polacek@redhat.com>
2142         * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2143         * c-common.c (c_common_get_alias_set): Likewise.
2144         (handle_visibility_attribute): Likewise.
2146 2015-11-16  Kirill Yukhin  <kirill.yukhin@intel.com>
2148         * c-common.c (handle_simd_attribute): New.
2149         (struct attribute_spec): Add entry for "simd".
2150         (handle_simd_attribute): New.
2152 2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
2154         * c-lex.c (interpret_float): Use fold_convert.
2156 2015-11-13  David Malcolm  <dmalcolm@redhat.com>
2158         * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2159         and store it on the result.
2160         * c-opts.c (c_common_init_options): Set
2161         global_dc->colorize_source_p.
2163 2015-11-12  James Norris  <jnorris@codesourcery.com>
2164             Joseph Myers  <joseph@codesourcery.com>
2166         * c-pragma.c (oacc_pragmas): Add entry for declare directive. 
2167         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2168         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2169         PRAGMA_OACC_CLAUSE_LINK.
2171 2015-11-11  Marek Polacek  <polacek@redhat.com>
2173         PR c/68107
2174         PR c++/68266
2175         * c-common.c (valid_array_size_p): New function.
2176         * c-common.h (valid_array_size_p): Declare.
2178 2015-11-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
2180         PR bootstrap/68271
2181         * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2183 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
2185         * array-notation-common.c: Remove unused header files.
2186         * c-ada-spec.c: Likewise.
2187         * c-cilkplus.c: Likewise.
2188         * c-common.c: Likewise.
2189         * c-cppbuiltin.c: Likewise.
2190         * c-dump.c: Likewise.
2191         * c-format.c: Likewise.
2192         * c-gimplify.c: Likewise.
2193         * c-indentation.c: Likewise.
2194         * c-lex.c: Likewise.
2195         * c-omp.c: Likewise.
2196         * c-opts.c: Likewise.
2197         * c-pch.c: Likewise.
2198         * c-ppoutput.c: Likewise.
2199         * c-pragma.c: Likewise.
2200         * c-pretty-print.c: Likewise.
2201         * c-semantics.c: Likewise.
2202         * c-ubsan.c: Likewise.
2203         * cilk.c: Likewise.
2204         * stub-objc.c: Likewise.
2206 2015-11-09  Thomas Schwinge  <thomas@codesourcery.com>
2207             Cesar Philippidis  <cesar@codesourcery.com>
2208             James Norris  <jnorris@codesourcery.com>
2209             Julian Brown  <julian@codesourcery.com>
2210             Nathan Sidwell  <nathan@codesourcery.com>
2212         * c-pragma.c (oacc_pragmas): Add "routine".
2213         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2215 2015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
2217         * c-common.c (c_common_attributes): Add scalar_storage_order.
2218         (handle_scalar_storage_order_attribute): New function.
2219         * c-pragma.c (global_sso): New variable.
2220         (maybe_apply_pragma_scalar_storage_order): New function.
2221         (handle_pragma_scalar_storage_order): Likewise.
2222         (init_pragma): Register scalar_storage_order.
2223         * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2224         * c.opt (Wscalar-storage-order): New warning.
2225         (fsso-struct=): New option.
2227 2015-11-08  Martin Sebor  <msebor@redhat.com>
2229         * c.opt (Wplacement-new): Add a period to the end of a sentence.
2231 2015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
2233         * c-common.c: Don't undef DEF_BUILTIN.
2235 2015-11-06  David Malcolm  <dmalcolm@redhat.com>
2237         * c-common.c (c_cpp_error): Convert parameter from location_t to
2238         rich_location *.  Eliminate the "column_override" parameter and
2239         the call to diagnostic_override_column.
2240         Update the "done_lexing" clause to set range 0
2241         on the rich_location, rather than overwriting a location_t.
2242         * c-common.h (c_cpp_error): Convert parameter from location_t to
2243         rich_location *.  Eliminate the "column_override" parameter.
2245 2015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
2246             Thomas Schwinge  <thomas@codesourcery.com>
2247             James Norris  <jnorris@codesourcery.com>
2249         * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2250         AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses.  Associate REDUCTION
2251         clauses with parallel and kernels and loops.
2252         * c-pragma.h (enum pragma_omp_clause): Add entries for
2253         PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2254         * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2255         NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2256         INDEPENDENT,SEQ}.
2257         (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2259 2015-11-05  Martin Sebor  <msebor@redhat.com>
2261         PR c++/67942
2262         * c.opt (-Wplacement-new): New option.
2264 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
2266         * c-common.h (c_finish_omp_atomic): Add TEST argument.
2267         (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2268         * c-omp.c (c_finish_omp_atomic): Add TEST argument.  Don't call
2269         save_expr or create_tmp_var* if TEST is true.
2270         (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2271         Don't call add_stmt here.
2272         (struct c_omp_check_loop_iv_data): New type.
2273         (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2274         c_omp_check_loop_iv_exprs): New functions.
2275         (c_omp_split_clauses): Adjust for lastprivate being allowed on
2276         distribute.
2277         (c_omp_declare_simd_clauses_to_numbers): Change
2278         OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2279         (c_omp_declare_simd_clauses_to_decls): Similarly change those
2280         from numbers to PARM_DECLs.
2282 2015-11-04  Mikhail Maltsev  <maltsevm@gmail.com>
2284         * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2285         flag_checking.
2287 2015-11-03  Bernd Schmidt  <bschmidt@redhat.com>
2289         PR c++-common/67882
2290         * c-common.h (fold_offsetof_1): Add argument.
2291         * c-common.c (fold_offsetof_1): Diagnose more invalid
2292         offsetof expressions that reference elements past the end of
2293         an array.
2295 2015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
2296             Chung-Lin Tang  <cltang@codesourcery.com>
2298         * c-pragma.c (oacc_pragmas): Add "atomic".
2299         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2301 2015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>
2303         * c-common.c (handle_target_clones_attribute): New.
2304         (c_common_attribute_table): Add handle_target_clones_attribute.
2305         (handle_always_inline_attribute): Add check on target_clones attribute.
2306         (handle_target_attribute): Ditto.
2308 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
2310         * array-notation-common.c: Reorder #include's and remove duplicates.
2311         * c-ada-spec.c: Likewise.
2312         * c-cilkplus.c: Likewise.
2313         * c-common.c: Likewise.
2314         * c-cppbuiltin.c: Likewise.
2315         * c-dump.c: Likewise.
2316         * c-format.c: Likewise.
2317         * c-gimplify.c: Likewise.
2318         * c-indentation.c: Likewise.
2319         * c-lex.c: Likewise.
2320         * c-omp.c: Likewise.
2321         * c-opts.c: Likewise.
2322         * c-pch.c: Likewise.
2323         * c-ppoutput.c: Likewise.
2324         * c-pragma.c: Likewise.
2325         * c-pretty-print.c: Likewise.
2326         * c-semantics.c: Likewise.
2327         * c-ubsan.c: Likewise.
2328         * cilk.c: Likewise.
2329         * stub-objc.c: Likewise.
2331 2015-10-28  Jason Merrill  <jason@redhat.com>
2333         * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2335 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
2336             James Norris  <jnorris@codesourcery.com>
2337             Cesar Philippidis  <cesar@codesourcery.com>
2339         PR c/64765
2340         PR c/64880
2341         * c-common.h (c_oacc_split_loop_clauses): Declare function.
2342         * c-omp.c (c_oacc_split_loop_clauses): New function.
2344 2015-10-21  Martin Sebor  <msebor@redhat.com>
2346         PR driver/68043
2347         * c.opt: End each sentence that describes an option with a period.
2349 2015-10-20  Marek Polacek  <polacek@redhat.com>
2351         * array-notation-common.c (is_cilkplus_vector_p): Define.
2352         * c-common.h (is_cilkplus_vector_p): Declare.
2354 2015-10-20  Marek Polacek  <polacek@redhat.com>
2356         * c.opt (std=gnu++11): Do not describe as experimental.
2357         (std=gnu++14): Likewise.
2359 2015-10-19  Jason Merrill  <jason@redhat.com>
2361         * c-cppbuiltin.c (c_cpp_builtins): Define
2362         __cpp_nontype_template_args.
2364 2015-10-19  Jason Merrill  <jason@redhat.com>
2366         * c-cppbuiltin.c (c_cpp_builtins): Define
2367         __cpp_enumerator_attributes, __cpp_fold_expressions,
2368         __cpp_unicode_characters.
2370 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
2371             Aldy Hernandez  <aldyh@redhat.com>
2373         * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2374         DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2375         (c_define_builtins): Likewise.
2376         * c-common.h (enum c_omp_clause_split): Add
2377         C_OMP_CLAUSE_SPLIT_TASKLOOP.
2378         (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2379         (c_finish_omp_for): Add ORIG_DECLV argument.
2380         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2381         201511 instead of 201307.
2382         * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2383         OMP_CRITICAL_CLAUSES to it.
2384         (c_finish_omp_ordered): Add CLAUSES argument, set
2385         OMP_ORDERED_CLAUSES to it.
2386         (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2387         to it if OMP_FOR.  Clear DECL_INITIAL on the IVs.
2388         (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2389         constructs and new OpenMP 4.5 clauses.  Clear
2390         OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD.  Add
2391         verification code.
2392         * c-pragma.c (omp_pragmas_simd): Add taskloop.
2393         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2394         (enum pragma_omp_clause): Add
2395         PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2396         and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2398 2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
2400         * c-lex.c (interpret_float): Use real_equal instead of
2401         REAL_VALUES_EQUAL.
2403 2015-10-04  Jason Merrill  <jason@redhat.com>
2405         Implement N4514, C++ Extensions for Transactional Memory.
2406         * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2407         (c_common_attribute_table): Add transaction_safe_dynamic.
2408         transaction_safe now affects type identity.
2409         (handle_tm_attribute): Handle transaction_safe_dynamic.
2410         * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2411         RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2412         (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2413         (D_TRANSMEM): New.
2414         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2415         * c-pretty-print.c (pp_c_attributes_display): Don't print
2416         transaction_safe in C++.
2418 2015-10-02  Marek Polacek  <polacek@redhat.com>
2420         * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2422 2015-10-02  Marek Polacek  <polacek@redhat.com>
2424         PR c/64249
2425         * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2426         * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2427         * c.opt (Wduplicated-cond): New option.
2429 2015-10-01  Joseph Myers  <joseph@codesourcery.com>
2431         * c.opt (std=c11): Do not describe as experimental.
2432         (std=gnu11): Likewise.
2433         (std=iso9899:2011): Likewise.
2435 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
2437         * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2438         (DEF_FUNCTION_TYPE_VAR_11): Delete.
2440 2015-09-25  Marek Polacek  <polacek@redhat.com>
2442         * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2443         (ubsan_instrument_shift): Likewise.
2445 2015-09-25  Marek Polacek  <polacek@redhat.com>
2447         PR sanitizer/64906
2448         * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2450 2015-09-24  Patrick Palka  <ppalka@gcc.gnu.org>
2452         * c-indentation.c (should_warn_for_misleading_indentation):
2453         Compare next_stmt_vis_column with guard_line_first_nws instead
2454         of with guard_line_vis_column.
2456 2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2458         PR c/49654
2459         PR c/49655
2460         * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2461         options and options not valid for the current language.
2463 2015-09-22  Patrick Palka  <ppalka@gcc.gnu.org>
2465         * c-indentation.c (should_warn_for_misleading_indentation):
2466         Float out and consolidate the calls to get_visual_column that
2467         are passed guard_exploc as an argument.  Compare
2468         next_stmt_vis_column with guard_line_first_nws instead of with
2469         body_line_first_nws.
2471 2015-09-22  Nathan Sidwell  <nathan@codesourcery.com>
2473         * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2474         Wnamespaces): New C++ warnings.
2476 2015-09-22  Jason Merrill  <jason@redhat.com>
2478         * c-common.h (abi_compat_version_crosses): New.
2479         (warn_abi_version): Declare.
2480         * c-common.c: Define it.
2481         * c-opts.c (c_common_post_options): Handle it.
2482         flag_abi_compat_version defaults to 8.
2484 2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
2486         Complete the implementation of N4230, Nested namespace definition.
2487         * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2488         __cpp_nested_namespace_definitions.
2490 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2492         * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2494 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2496         * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2497         when warning.
2498         * c-pragma.h (pragma_lex): Add optional loc argument.
2500 2015-09-16  Mikhail Maltsev  <maltsevm@gmail.com>
2502         * c-format.c (check_format_arg): Adjust to use common block size in all
2503         object pools.
2505 2015-09-15  David Malcolm  <dmalcolm@redhat.com>
2507         * c-format.c (location_from_offset): Update for change in
2508         signature of location_get_source_line.
2509         * c-indentation.c (get_visual_column): Likewise.
2510         (line_contains_hash_if): Likewise.
2512 2015-09-14  Marek Polacek  <polacek@redhat.com>
2514         * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2515         setting various warnings.
2517 2015-09-14  Marek Polacek  <polacek@redhat.com>
2519         * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2520         a negative value.
2522 2015-09-11  Mark Wielaard  <mjw@redhat.com>
2524         PR c/28901
2525         * c.opt (Wunused-variable): Option from common.opt.
2526         (Wunused-const-variable): New option.
2528 2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
2530         PR c++/53184
2531         * c.opt ([Wsubobject-linkage]): Add.
2533 2015-09-03  Martin Sebor  <msebor@redhat.com>
2535         PR c/66516
2536         * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2537         functions.
2538         * c-common.c (reject_gcc_builtin): Define.
2540 2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>
2542         PR middle-end/60586
2543         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2544         prototype.
2545         * c-gimplify.c (c_gimplify_expr): Added a call to the function
2546         cilk_gimplify_call_params_in_spawned_fn.
2547         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2548         (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2549         unwrapping.
2551 2015-08-25  Marek Polacek  <polacek@redhat.com>
2553         PR middle-end/67330
2554         * c-common.c (handle_weak_attribute): Don't check whether the
2555         visibility can be changed here.
2557 2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2559         * c-lex.c (c_lex_with_flags): Use explicit locations.
2561 2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
2563         * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2564         c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2566 2015-08-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2568         PR middle-end/36757
2569         * c-common.c (check_builtin_function_arguments): Add check
2570         for BUILT_IN_SIGNBIT argument.
2572 2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2574         PR c++/67160
2575         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2576         in c++1z mode.
2578 2015-08-17  Marek Polacek  <polacek@redhat.com>
2580         * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2581         with whitespaces before qualifier names.
2583 2015-08-12  Marek Polacek  <polacek@redhat.com>
2585         PR c++/55095
2586         * c-common.c (maybe_warn_shift_overflow): Properly handle
2587         left-shifting 1 into the sign bit.
2589 2015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2591         * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2593 2015-08-06  Andrew Sutton  <andrew.n.sutton@gmail.com>
2594             Braden Obrzut  <admin@maniacsvault.net>
2595             Jason Merrill  <jason@redhat.com>
2597         Add C++ Concepts TS support.
2598         * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2599         * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2600         (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2601         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2602         * c-opts.c (set_std_cxx1z): Set flag_concepts.
2603         * c.opt (fconcepts): New.
2605 2015-08-02  Martin Sebor  <msebor@redhat.com>
2607         * c.opt (-Wframe-address): New warning option.
2609 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2611         * c-indentation.c (should_warn_for_misleading_indentation):
2612         Improve heuristics.
2614 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2616         * c-indentation.c (get_visual_column): Add parameter first_nws,
2617         use it.  Update comment documenting the function.
2618         (is_first_nonwhitespace_on_line): Remove.
2619         (should_warn_for_misleading_indentation): Replace usage of
2620         of is_first_nonwhitespace_on_line with get_visual_column.
2622 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2624         * c-indentation.h (struct token_indent_info): Define.
2625         (get_token_indent_info): Define.
2626         (warn_for_misleading_information): Declare.
2627         * c-common.h (warn_for_misleading_information): Remove.
2628         * c-identation.c (warn_for_misleading_indentation):
2629         Change declaration to take three token_indent_infos.  Adjust
2630         accordingly.
2631         * c-identation.c (should_warn_for_misleading_indentation):
2632         Likewise.  Bail out early if the body is a compound statement.
2633         (guard_tinfo_to_string): Define.
2635 2015-07-30  Jason Merrill  <jason@redhat.com>
2637         * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2638         '*' for reference decay.
2640 2015-07-30  Marek Polacek  <polacek@redhat.com>
2642         * c-common.c (warn_tautological_cmp): Bail for float types.
2644 2015-07-27  Marek Polacek  <polacek@redhat.com>
2646         PR bootstrap/67030
2647         * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2649 2015-07-27  Marek Polacek  <polacek@redhat.com>
2651         PR c++/66555
2652         PR c/54979
2653         * c-common.c (find_array_ref_with_const_idx_r): New function.
2654         (warn_tautological_cmp): New function.
2655         * c-common.h (warn_tautological_cmp): Declare.
2656         * c.opt (Wtautological-compare): New option.
2658 2015-07-23  Marek Polacek  <polacek@redhat.com>
2660         * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2661         (ubsan_instrument_shift): Likewise.
2663 2015-07-23  Marek Polacek  <polacek@redhat.com>
2665         PR sanitizer/66908
2666         * c-ubsan.c: Include gimplify.h.
2667         (ubsan_instrument_division): Unshare OP0 and OP1.
2668         (ubsan_instrument_shift): Likewise.
2670 2015-07-20  Marek Polacek  <polacek@redhat.com>
2671             Richard Sandiford  <richard.sandiford@arm.com>
2673         PR c++/55095
2674         * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2675         Use EXPR_LOC_OR_LOC.
2676         (maybe_warn_shift_overflow): New function.
2677         * c-common.h (maybe_warn_shift_overflow): Declare.
2678         * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2679         * c.opt (Wshift-overflow): New option.
2681 2015-07-16  Martin Liska  <mliska@suse.cz>
2683         * c-format.c (static void check_format_info_main): Use
2684         object_allocator instead of pool_allocator.
2685         (check_format_arg): Likewise.
2686         (check_format_info_main): Likewise.
2688 2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
2690         * c-opts.c: Remove multiline #include comment.
2692 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
2694         * c-common.c: Fix double word typos.
2696 2015-07-10  Eric Botcazou  <ebotcazou@adacore.com>
2698         * c-ada-spec.h (cpp_operation): Revert latest change.
2699         * c-ada-spec.c (print_ada_declaration): Likewise.  Skip implicit
2700         constructors and destructors.
2702 2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
2704         * c-common.h: Adjust includes for flags.h changes.
2705         * stub-objc.c: Likewise.
2707 2015-07-08  Eric Botcazou  <ebotcazou@adacore.com>
2709         * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2710         * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2712 2015-07-08  Jakub Jelinek  <jakub@redhat.com>
2714         * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2715         are to be removed, return NULL rather than original clauses list.
2717 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
2719         * array-notation-common.c: Adjust includes.
2720         * c-ada-spec.c: Likewise.
2721         * c-cilkplus.c: Likewise.
2722         * c-common.h: Likewise.
2723         * c-cppbuiltin.c: Likewise.
2724         * c-dump.c: Likewise.
2725         * c-format.c: Likewise.
2726         * c-gimplify.c: Likewise.
2727         * c-indentation.c: Likewise.
2728         * c-lex.c: Likewise.
2729         * c-omp.c: Likewise.
2730         * c-opts.c: Likewise.
2731         * c-pch.c: Likewise.
2732         * c-ppoutput.c: Likewise.
2733         * c-pragma.c: Likewise.
2734         * c-pretty-print.c: Likewise.
2735         * c-semantics.c: Likewise.
2736         * c-ubsan.c: Likewise.
2737         * cilk.c: Likewise.
2738         * stub-objc.c: Likewise.
2740 2015-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2742         * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2743         * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2745 2015-07-01  Jason Merrill  <jason@redhat.com>
2747         * c-common.h (D_CXX11): Rename from D_CXX0X.
2748         (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2749         * c-common.c: Adjust.
2751         * c-opts.c (c_common_post_options): Default to C++14.
2753         * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2755 2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
2757         Implement N4197 - Adding u8 character literals
2758         * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
2759         CPP_CHAR.
2760         * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
2761         CPP_UTF8CHAR_USERDEF tokens.
2762         * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
2763         and CPP_UTF8CHAR tokens.
2764         (lex_charconst): Treat CPP_UTF8CHAR token.
2766 2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2768         PR fortran/66605
2769         * c-common.c (do_warn_unused_parameter): Move here.
2770         * c-common.h (do_warn_unused_parameter): Declare.
2772 2015-06-29  Marek Polacek  <polacek@redhat.com>
2774         PR c/66322
2775         * c-common.c (check_case_bounds): Add bool * parameter.  Set
2776         OUTSIDE_RANGE_P.
2777         (c_add_case_label): Add bool * parameter.  Pass it down to
2778         check_case_bounds.
2779         (c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
2780         warning here.
2781         * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2782         declarations.
2784 2015-06-27  Marek Polacek  <polacek@redhat.com>
2786         * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2787         or VECTOR_INTEGER_TYPE_P throughout.
2788         * c-gimplify.c: Likewise.
2790 2015-06-26  Marek Polacek  <polacek@redhat.com>
2792         * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2793         * c-common.c (c_fully_fold_internal): Likewise.
2794         (c_alignof_expr): Likewise.
2795         * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2796         * c-ubsan.c (ubsan_instrument_bounds): Likewise.
2797         * cilk.c (create_parm_list): Likewise.
2799 2015-06-26  Marek Polacek  <polacek@redhat.com>
2801         * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2803 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
2805         * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2806         * c-gimplify.c: Likewise.
2807         * c-pragma.c: Likewise.
2808         * c-ubsan.c: Likewise.
2809         * cilk.c: Likewise.
2811 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
2813         * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2814         ggc_hasher.
2816 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
2818         * cilk.c: Move calls.h after tm.h in the include chain.
2820 2015-06-25  Marek Polacek  <polacek@redhat.com>
2822         * array-notation-common.c: Use VAR_P throughout.
2823         * c-ada-spec.c: Likewise.
2824         * c-common.c: Likewise.
2825         * c-format.c: Likewise.
2826         * c-gimplify.c: Likewise.
2827         * c-omp.c: Likewise.
2828         * c-pragma.c: Likewise.
2829         * c-pretty-print.c: Likewise.
2830         * cilk.c: Likewise.
2832 2015-06-25  Marek Polacek  <polacek@redhat.com>
2834         * cilk.c (extract_free_variables): Use is_global_var.
2836 2015-06-23  Richard Sandiford  <richard.sandiford@arm.com>
2838         * c-common.c: Don't include target-def.h.
2840 2015-06-23  Marek Polacek  <polacek@redhat.com>
2842         * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2843         when comparing INTEGER_CSTs.
2845 2015-06-22  Pierre-Marie de Rodat  <derodat@adacore.com>
2847         * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2848         * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2849         (dump_ada_template): Skip partially specialized types.
2851 2015-06-22  Mikhail Maltsev  <maltsevm@gmail.com>
2853         * c-common.c (scalar_to_vector): Use std::swap instead of manually
2854         swapping.
2856 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
2858         * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2859         * c-ada-spec.c: Likewise.
2860         * c-cilkplus.c: Likewise.
2861         * c-common.c: Likewise.
2862         * c-common.h: Likewise.
2863         * c-cppbuiltin.c: Likewise.
2864         * c-dump.c: Likewise.
2865         * c-format.c: Likewise.
2866         * c-gimplify.c: Likewise.
2867         * c-indentation.c: Likewise.
2868         * c-lex.c: Likewise.
2869         * c-omp.c: Likewise.
2870         * c-opts.c: Likewise.
2871         * c-pch.c: Likewise.
2872         * c-ppoutput.c: Likewise.
2873         * c-pragma.c: Likewise.
2874         * c-pretty-print.c: Likewise.
2875         * c-semantics.c: Likewise.
2876         * c-ubsan.c: Likewise.
2877         * cilk.c: Likewise.
2878         * stub-objc.c: Likewise.
2880 2015-06-13  Patrick Palka  <ppalka@gcc.gnu.org>
2882         PR c++/65168
2883         * c-common.c (c_common_truthvalue_conversion): Warn when
2884         converting an address of a reference to a truth value.
2886 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
2888         * array-notation-common.c : Adjust include files.
2889         * c-ada-spec.c : Likewise.
2890         * c-cilkplus.c : Likewise.
2891         * c-common.c : Likewise.
2892         * c-common.h : Likewise.
2893         * c-cppbuiltin.c : Likewise.
2894         * c-dump.c : Likewise.
2895         * c-format.c : Likewise.
2896         * c-gimplify.c : Likewise.
2897         * c-indentation.c : Likewise.
2898         * c-lex.c : Likewise.
2899         * c-omp.c : Likewise.
2900         * c-opts.c : Likewise.
2901         * c-pch.c : Likewise.
2902         * c-ppoutput.c : Likewise.
2903         * c-pragma.c : Likewise.
2904         * c-pretty-print.c : Likewise.
2905         * c-semantics.c : Likewise.
2906         * c-ubsan.c : Likewise.
2907         * cilk.c : Likewise.
2908         * stub-objc.c : Likewise.
2910 2015-06-08  Marek Polacek  <polacek@redhat.com>
2912         PR c/66415
2913         * c-format.c (location_from_offset): Return LOC if LINE is null.
2915 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
2917         * c-common.h (c_parse_final_cleanups): New prototype.
2918         * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2920 2015-06-04  Sriraman Tallam  <tmsriram@google.com>
2922         * c-common.c (noplt): New attribute.
2923         (handle_noplt_attribute): New handler.
2925 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
2927         * array-notation-common.c: Adjust includes for restructured coretypes.h.
2928         * c-ada-spec.c: Likewise.
2929         * c-cilkplus.c: Likewise.
2930         * c-common.c: Likewise.
2931         * c-common.h: Likewise.
2932         * c-cppbuiltin.c: Likewise.
2933         * c-dump.c: Likewise.
2934         * c-format.c: Likewise.
2935         * c-gimplify.c: Likewise.
2936         * c-indentation.c: Likewise.
2937         * c-lex.c: Likewise.
2938         * c-omp.c: Likewise.
2939         * c-opts.c: Likewise.
2940         * c-pch.c: Likewise.
2941         * c-ppoutput.c: Likewise.
2942         * c-pragma.c: Likewise.
2943         * c-pretty-print.c: Likewise.
2944         * c-semantics.c: Likewise.
2945         * c-ubsan.c: Likewise.
2946         * cilk.c: Likewise.
2947         * stub-objc.c: Likewise.
2949 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
2951         PR c/66220:
2952         * c-indentation.c (should_warn_for_misleading_indentation): Use
2953         expand_location rather than expand_location_to_spelling_point.
2954         Don't warn if the guarding statement is more indented than the
2955         next/body stmts.
2957 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
2959         * c-indentation.c (warn_for_misleading_indentation): Bail out
2960         immediately if -Wmisleading-indentation isn't enabled.
2962 2015-06-01  Martin Liska  <mliska@suse.cz>
2964         * c-format.c (check_format_arg):Use new type-based pool allocator.
2965         (check_format_info_main) Likewise.
2967 2015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
2969         * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2970         (has_nontrivial_methods): Likewise.
2972 2015-05-25  Marek Polacek  <polacek@redhat.com>
2974         * c-ubsan.c (ubsan_instrument_shift): Use type0.
2976 2015-05-22  Marek Polacek  <polacek@redhat.com>
2978         PR c/47043
2979         * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2981 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2983         * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2984         STACK_GROWS_DOWNWARD.
2986 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2988         * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2989         STACK_GROWS_DOWNWARD rather than if it is defined.
2991 2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2993         PR c/52952
2994         * c-format.c (location_column_from_byte_offset): New.
2995         (location_from_offset): New.
2996         (struct format_wanted_type): Add offset_loc field.
2997         (check_format_info): Move handling of location for extra arguments
2998         closer to the point of warning.
2999         (check_format_info_main): Pass the result of location_from_offset
3000         to warning_at.
3001         (format_type_warning): Pass the result of location_from_offset
3002         to warning_at.
3004 2015-05-20  Marek Polacek  <polacek@redhat.com>
3006         * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3008 2015-05-20  Marek Polacek  <polacek@redhat.com>
3010         * c-ada-spec.c (dump_sloc): Use DECL_P.
3012 2015-05-20  Marek Polacek  <polacek@redhat.com>
3014         * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3015         * c-common.c: Likewise.
3017 2015-05-19  David Malcolm  <dmalcolm@redhat.com>
3019         * c-common.h (fe_file_change): Strengthen param from
3020         const line_map * to const line_map_ordinary *.
3021         (pp_file_change): Likewise.
3022         * c-lex.c (fe_file_change): Likewise.
3023         (cb_define): Use linemap_check_ordinary when invoking
3024         SOURCE_LINE.
3025         (cb_undef): Likewise.
3026         * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3027         invoking cb_file_change.
3028         (c_finish_options): Likewise.
3029         (push_command_line_include): Likewise.
3030         (cb_file_change): Strengthen param "new_map" from
3031         const line_map * to const line_map_ordinary *.
3032         * c-ppoutput.c (cb_define): Likewise for local "map".
3033         (pp_file_change): Likewise for param "map" and local "from".
3035 2015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
3037         * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3039 2015-05-18  Tom de Vries  <tom@codesourcery.com>
3041         * c-common.c (build_va_arg_1): New function.
3042         (build_va_arg): Add address operator to va_list operand if necessary.
3044 2015-05-15  Mikhail Maltsev  <maltsevm@gmail.com>
3046         PR c/48956
3047         * c-common.c (int_safely_convertible_to_real_p): Define.
3048         (unsafe_conversion_p): Check conversions involving complex types.
3049         (conversion_warning): Add new warning message for conversions which
3050         discard imaginary component.
3051         * c-common.h: (enum conversion_safety): Add new enumerator for such
3052         conversions.
3054 2015-05-14  Marek Polacek  <polacek@redhat.com>
3056         PR c/66066
3057         PR c/66127
3058         * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3059         (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3060         C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
3061         use it.  If FOR_INT_CONST, require that all evaluated operands be
3062         INTEGER_CSTs.
3064 2015-05-12  David Malcolm  <dmalcolm@redhat.com>
3066         * c-common.h (warn_for_misleading_indentation): New prototype.
3067         * c-indentation.c: New file.
3068         * c.opt (Wmisleading-indentation): New option.
3070 2015-05-12  Tom de Vries  <tom@codesourcery.com>
3072         PR tree-optimization/66010
3073         * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3075 2015-05-09  Jason Merrill  <jason@redhat.com>
3077         * c-opts.c (c_common_post_options): Also clear
3078         cpp_opts->cpp_warn_cxx11_compat.
3080         * c-common.h (enum cxx_dialect): Add cxx_unset.
3081         * c-common.c (cxx_dialect): Initialize to cxx_unset.
3082         * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3084         * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3085         (std=gnu++0x): Mark as Undocumented.
3086         (std=gnu++1y): Add deprecated message.
3088 2015-05-08  Jason Merrill  <jason@redhat.com>
3090         * c.opt (Wc++11-compat): Make primary.  Rename var warn_cxx11_compat.
3091         * c-opts.c: Adjust.
3093         * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3095 2015-05-08  Marek Polacek  <polacek@redhat.com>
3097         PR c/64918
3098         * c.opt (Woverride-init-side-effects): New option.
3100 2015-05-07  Marek Polacek  <polacek@redhat.com>
3102         PR c/65179
3103         * c-common.c (c_fully_fold_internal): Warn when left shifting a
3104         negative value.
3105         * c.opt (Wshift-negative-value): New option.
3106         * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3107         when -Wextra and C99/C++11 mode.
3109 2015-05-07  Marek Polacek  <polacek@redhat.com>
3110             Martin Uecker  <uecker@eecs.berkeley.edu>
3112         * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3113         flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3115 2015-05-05  Jason Merrill  <jason@redhat.com>
3117         * c.opt (Wterminate): New.
3119 2015-04-30  Marek Polacek  <polacek@redhat.com>
3121         * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3122         require that the non-constant be of a boolean type.
3124 2015-04-29  Josh Triplett  <josh@joshtriplett.org>
3126         * c-common.c (handle_section_attribute): Refactor to reduce
3127         nesting and distinguish between error cases.
3129 2015-04-29  Marek Polacek  <polacek@redhat.com>
3131         PR c/64610
3132         * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3133         with 0/1.
3135 2015-04-29  Jakub Jelinek  <jakub@redhat.com>
3137         * c-common.h (omp_clause_mask): Unconditionally define as a class.
3138         Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3139         HOST_BITS_PER_WIDE_INT.
3141 2015-04-28  Tom de Vries  <tom@codesourcery.com>
3143         PR tree-optimization/65887
3144         * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3146 2015-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3147             Pierre-Marie de Rodat  <derodat@adacore.com>
3149         * c-ada-spec.c (in_function): Delete.
3150         (dump_generic_ada_node): Do not change in_function and remove the
3151         redundant code dealing with it.
3152         (print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
3153         (print_ada_methods): Output the static member functions in a nested
3154         package after the regular methods as well as associated renamings.
3156 2015-04-24  Marek Polacek  <polacek@redhat.com>
3158         PR c/65830
3159         * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3160         and OPT_Wshift_count_overflow.
3162         PR c/63357
3163         * c-common.c (warn_logical_operator): Warn if the operands have the
3164         same expressions.
3166 2015-04-24  Marek Polacek  <polacek@redhat.com>
3168         PR c/61534
3169         * c-common.c (warn_logical_operator): Bail if either operand comes
3170         from a macro expansion.
3172 2015-04-10  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3174         PR target/55143
3175         * c-common.c (c_default_pointer_mode): Add definition.
3176         * c-common.h (c_default_pointer_mode): Add declaration.
3178 2015-03-11  Jakub Jelinek  <jakub@redhat.com>
3180         * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3181         on record_builtin_type argument.
3183 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
3185         PR c/65120
3186         * c-common.c (warn_logical_not_parentheses): Don't warn for
3187         !x == 0 or !x != 0.
3189 2015-03-07  Marek Polacek  <polacek@redhat.com>
3191         PR sanitizer/65280
3192         * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3193         before trying to figure out whether we have a flexible array member.
3195 2015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3196             Jonathan Wakely  <jwakely.gcc@gmail.com>
3198         * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3200 2015-03-05  Eric Botcazou  <ebotcazou@adacore.com>
3202         PR ada/65319
3203         * c-ada-spec.c (print_destructor): Remove obsolete code.
3205 2015-03-01  Eric Botcazou  <ebotcazou@adacore.com>
3207         * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3208         (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3209         DECL_TEMPLATE_RESULT emulations.
3210         (dump_ada_template)): Add guard for TYPE_METHODS.
3212 2015-02-27  Marek Polacek  <polacek@redhat.com>
3214         PR c/65040
3215         * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3217 2015-02-27  Kai Tietz  <ktietz@redhat.com>
3219         PR c/35330
3220         * c-pragma.c (handle_pragma_weak): Do not try to create
3221         weak/alias of declarations not being function, or variable
3222         declarations.
3224 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
3226         PR libgomp/64625
3227         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3228         Remove macros.
3229         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3231 2015-02-16  Marek Polacek  <polacek@redhat.com>
3233         PR c/65066
3234         * c-format.c (check_format_types): Handle null param.
3236 2015-02-13  Marek Polacek  <polacek@redhat.com>
3238         PR c/65040
3239         * c-format.c (check_format_types): Don't warn about different
3240         signedness if the original value is in the range of WANTED_TYPE.
3242 2015-02-12  Jason Merrill  <jason@redhat.com>
3244         PR c++/64956
3245         * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3246         to the current highest version.
3247         * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3249 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
3251         PR c/64824
3252         PR c/64868
3253         * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3254         instead of RDIV_EXPR.  Use build_binary_op instead of
3255         build2_loc.
3257 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
3259         * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3260         to pass input_location as first argument.
3262 2015-01-23  Tom de Vries  <tom@codesourcery.com>
3264         PR libgomp/64672
3265         * c.opt (fopenacc): Mark as LTO option.
3267 2015-01-23  Tom de Vries  <tom@codesourcery.com>
3269         PR libgomp/64707
3270         * c.opt (fopenmp): Mark as LTO option.
3272 2015-01-21  Jakub Jelinek  <jakub@redhat.com>
3274         PR c/63307
3275         * cilk.c (fill_decls_vec): Only put decls into vector v.
3276         (compare_decls): Fix up formatting.
3278 2015-01-21  Igor Zamyatin  <igor.zamyatin@intel.com>
3280         PR c/63307
3281         * cilk.c: Include vec.h.
3282         (struct cilk_decls): New structure.
3283         (wrapper_parm_cb): Split this function to...
3284         (fill_decls_vec): ...this...
3285         (create_parm_list): ...and this.
3286         (compare_decls): New function.
3287         (for_local_cb): Remove.
3288         (wrapper_local_cb): Ditto.
3289         (build_wrapper_type): For now first traverse and fill vector of
3290         declarations then sort it and then deal with sorted vector.
3291         (cilk_outline): Ditto.
3292         (declare_one_free_variable): Ditto.
3294 2015-01-21  Jason Merrill  <jason@redhat.com>
3296         PR c++/64629
3297         * c-format.c (check_format_arg): Call decl_constant_value.
3299 2015-01-19  Martin Liska  <mliska@suse.cz>
3301         * c-common.c (handle_noicf_attribute): New function.
3303 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
3304             Bernd Schmidt  <bernds@codesourcery.com>
3305             James Norris  <jnorris@codesourcery.com>
3306             Cesar Philippidis  <cesar@codesourcery.com>
3307             Ilmir Usmanov  <i.usmanov@samsung.com>
3308             Jakub Jelinek  <jakub@redhat.com>
3310         * c.opt (fopenacc): New option.
3311         * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3312         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3313         New macros.
3314         * c-common.h (c_finish_oacc_wait): New prototype.
3315         * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3316         (c_finish_oacc_wait): New function.
3317         * c-pragma.c (oacc_pragmas): New variable.
3318         (c_pp_lookup_pragma, init_pragma): Handle it.
3319         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3320         PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3321         PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3322         PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3323         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3324         PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3325         PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3326         PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3327         PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3328         PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3329         PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3330         PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3331         PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3332         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3333         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3334         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3335         PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3336         PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3337         PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3338         PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3339         PRAGMA_OACC_CLAUSE_WORKER.
3341 2015-01-14  Marcos Diaz  <marcos.diaz@tallertechnologies.com>
3343         * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3344         for the new option fstack-protector_explicit.
3345         * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3346         (handle_stack_protect_attribute): New function.
3348 2015-01-13  Martin Uecker  <uecker@eecs.berkeley.edu>
3350         * c.opt: New option -Warray-bounds=.
3352 2015-01-09  Michael Collison  <michael.collison@linaro.org>
3354         * array-notation-common.c: Include hash-set.h, machmode.h,
3355         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3356         fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3357         * c-ada-spec.c: Ditto.
3358         * c-cilkplus.c: Ditto.
3359         * c-common.c: Include input.h due to flattening of tree.h.
3360         Define macro GCC_C_COMMON_C.
3361         * c-common.h: Flatten tree.h header files into c-common.h.
3362         Remove include of tree-core.h.
3363         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3364         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3365         fold-const.h, wide-int.h, and inchash.h due to
3366         flattening of tree.h.
3367         * c-dump.c: Ditto.
3368         * c-format.c: Flatten tree.h header files into c-common.h.
3369         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3370         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3371         fold-const.h, wide-int.h, and inchash.h due to
3372         flattening of tree.h.
3373         * c-dump.c: Include hash-set.h, machmode.h,
3374         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3375         fold-const.h, wide-int.h, and inchash.h due to
3376         flattening of tree.h.
3377         * c-format.c: Include hash-set.h, machmode.h,
3378         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3379         fold-const.h, wide-int.h, inchash.h and real.h due to
3380         flattening of tree.h.
3381         * c-gimplify.c: Include hash-set.h, machmode.h,
3382         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3383         fold-const.h, wide-int.h, and inchash.h due to
3384         flattening of tree.h.
3385         * cilk.c: Ditto.
3386         * c-lex.c: Ditto.
3387         * c-omp.c: Ditto.
3388         * c-opts.c: Ditto.
3389         * c-pch.c: Ditto.
3390         * c-ppoutput.c: Ditto.
3391         * c-pragma.c: Ditto.
3392         * c-pretty-print.c: Ditto.
3393         * c-semantics.c: Ditto.
3394         * c-ubsan.c: Ditto.
3395         * stub-objc.c: Ditto.
3397 2015-01-08  Jason Merrill  <jason@redhat.com>
3399         * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3400         do_ubsan_in_current_function.
3401         (ubsan_maybe_instrument_reference_or_call): Likewise.
3402         * c-ubsan.h: Declare it.
3404 2015-01-08  Mike Stump  <mikestump@comcast.net>
3406         * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3408 2015-01-07  Marek Polacek  <polacek@redhat.com>
3410         PR c/64440
3411         * c-common.c (c_fully_fold_internal): Warn for division and modulo
3412         if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3414 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
3416         PR c++/31397
3417         * c.opt (Wsuggest-override): New option.
3419 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
3421         Update copyright years.
3423 2015-01-05  Marek Polacek  <polacek@redhat.com>
3425         PR c/64423
3426         * c-common.c (warn_array_subscript_with_type_char): Add location_t
3427         parameter.  Use it.
3428         * c-common.h (warn_array_subscript_with_type_char): Update
3429         declaration.
3431 2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
3433         * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3434         Control macro with flag_sized_deallocation.
3436 2014-12-20  Martin Uecker  <uecker@eecs.berkeley.edu>
3438         * c.opt (Wdiscarded-array-qualifiers): New option.
3440 2014-12-19  Jakub Jelinek  <jakub@redhat.com>
3442         PR preprocessor/63831
3443         * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3444         and __has_cpp_attribute here.
3445         * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3446         c_common_has_attribute.
3447         * c-common.h (c_common_has_attribute): New prototype.
3448         * c-lex.c (init_c_lex): Set cb->has_attribute to
3449         c_common_has_attribute instead of cb_has_attribute.
3450         (get_token_no_padding): New function.
3451         (cb_has_attribute): Renamed to ...
3452         (c_common_has_attribute): ... this.  No longer static.  Use
3453         get_token_no_padding, require ()s, don't build TREE_LIST
3454         unnecessarily, fix up formatting, adjust diagnostics, call
3455         init_attributes.
3457 2014-12-15  Jason Merrill  <jason@redhat.com>
3459         * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3460         (-Wsized-deallocation): New.
3461         * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3462         to on in C++14 and up.
3464 2014-12-11  Jason Merrill  <jason@redhat.com>
3466         * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3468         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3469         we aren't complaining about VLAs.
3471 2014-12-06  Marek Polacek  <polacek@redhat.com>
3473         PR tree-optimization/64183
3474         * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3475         shift-expression if it is integer_type_node.  Use types_compatible_p.
3477 2014-11-29  Jakub Jelinek  <jakub@redhat.com>
3479         * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3480         last argument from create_tmp_var_raw and create_tmp_var calls.
3481         * cilk.c (gimplify_cilk_spawn): Likewise.
3482         * c-omp.c (c_finish_omp_atomic): Likewise.
3484 2014-11-28  Marek Polacek  <polacek@redhat.com>
3486         * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3487         instead of unsigned_type_node.
3489 2014-11-28  Marek Polacek  <polacek@redhat.com>
3491         PR c/63862
3492         * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3493         to op1_utype.
3494         * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3495         expression to unsigned_type_node.
3497 2014-11-20  Mark Wielaard  <mjw@redhat.com>
3499         PR debug/38757
3500         * c-opts.c (set_std_c89): Set lang_hooks.name.
3501         (set_std_c99): Likewise.
3502         (set_std_c11): Likewise.
3503         (set_std_cxx98): Likewise.
3504         (set_std_cxx11): Likewise.
3505         (set_std_cxx14): Likewise.
3506         (set_std_cxx1z): Likewise.
3508 2014-11-21  Jakub Jelinek  <jakub@redhat.com>
3510         PR target/63764
3511         * c-common.h (convert_vector_to_pointer_for_subscript): Change
3512         return type to bool.
3513         * c-common.c: Include gimple-expr.h.
3514         (convert_vector_to_pointer_for_subscript): Change return type to
3515         bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3516         and copy it into a TARGET_EXPR and use that instead of *vecp
3517         directly.
3519 2014-11-19  David Malcolm  <dmalcolm@redhat.com>
3521         Merger of git branch "gimple-classes-v2-option-3".
3522         * ChangeLog.gimple-classes: New.
3523         * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3524         from being just a vec<gimple> to a vec<gbind *>.
3526 2014-11-18  Jakub Jelinek  <jakub@redhat.com>
3528         PR sanitizer/63813
3529         * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3530         argument to ptype, set type to TREE_TYPE (ptype).  Don't call
3531         get_pointer_alignment for non-pointers.  Use ptype, or if it is
3532         reference type, corresponding pointer type, as type of kind
3533         argument.
3534         (ubsan_maybe_instrument_reference,
3535         ubsan_maybe_instrument_member_call): Adjust callers.
3537 2014-11-15  Marek Polacek  <polacek@redhat.com>
3539         PR middle-end/63884
3540         * array-notation-common.c (is_sec_implicit_index_fn): Return false
3541         for NULL fndecl.
3542         (extract_array_notation_exprs): Return for NULL node.
3544 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
3546         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3547         undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3549 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
3551         PR c/59708
3552         * c-common.c (check_builtin_function_arguments): Handle
3553         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3555 2014-11-10  Andi Kleen  <ak@linux.intel.com>
3557         PR c/60804
3558         * c-common.h (check_no_cilk): Declare.
3559         * cilk.c (get_error_location): New function.
3560         (check_no_cilk): Dito.
3562 2014-11-10  Andi Kleen  <ak@linux.intel.com>
3564         * cilk.c (recognize_spawn): Use expression location
3565         for error message.
3567 2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
3569         * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3571 2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
3573         * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3574         (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3575         (__cpp_range_based_for, __cpp_initializer_lists,
3576         __cpp_delegating_constructors, __cpp_nsdmi,
3577         __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3578         for C++11; (__cpp_attribute_deprecated): Remove in favor of
3579         __has_cpp_attribute.
3580         * c-lex.c (cb_has_attribute): New callback CPP function;
3581         (init_c_lex): Set has_attribute callback.
3583 2014-11-04  Richard Biener  <rguenther@suse.de>
3585         * c-common.c (shorten_compare): Do not shorten mixed
3586         DFP and non-DFP compares.
3588 2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3590         * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3591         * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3592         Commentary and rearrangement of tests.
3593         * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3594         Commentary and rearrangement of tests.
3595         * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3596         * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3598 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
3600         * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3601         enum from machine_mode.
3603 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
3605         * c-common.c: Adjust include files.
3606         * c-gimplify.c: Ditto.
3607         * cilk.c: Ditto.
3608         * c-pragma.c: Ditto.
3609         * c-ubsan.c: Ditto.
3611 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
3613         * c-gimplify.c: Adjust include files.
3615 2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3617         PR c++/53061
3618         * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3619         c_common_initialize_diagnostics.
3620         * c-common.h: Likewise.
3622 2014-10-24  Marek Polacek  <polacek@redhat.com>
3624         PR c/56980
3625         * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3626         print "struct"/"union"/"enum" for typedefed names.
3628 2014-10-23  Marek Polacek  <polacek@redhat.com>
3630         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3631         in unsigned type.
3633 2014-10-22  Jakub Jelinek  <jakub@redhat.com>
3634             Yury Gribov  <y.gribov@samsung.com>
3636         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3637         ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3638         instead of flag_sanitize_recover as bool flag.
3640 2014-10-21  Kirill Yukhin  <kirill.yukhin@intel.com>
3642         * cilk.c: Revert previous change.
3644 2014-10-20  Igor Zamyatin  <igor.zamyatin@intel.com>
3646         PR c/63307
3647         * cilk.c: Include vec.h.
3648         (struct cilk_decls): New structure.
3649         (wrapper_parm_cb): Split this function to...
3650         (fill_decls_vec): ...this...
3651         (create_parm_list): ...and this.
3652         (compare_decls): New function.
3653         (for_local_cb): Remove.
3654         (wrapper_local_cb): Ditto.
3655         (build_wrapper_type): For now first traverse and fill vector of
3656         declarations then sort it and then deal with sorted vector.
3657         (cilk_outline): Ditto.
3658         (declare_one_free_variable): Ditto.
3660 2014-10-17  Marek Polacek  <polacek@redhat.com>
3662         * c-opts.c (c_common_post_options): Set warn_implicit_int.
3663         * c.opt (Wimplicit-int): Initialize to -1.
3665 2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
3667         * c-pragma.c: Adjust include files.
3668         * c-semantics.c: Likewise.
3670 2014-10-16  DJ Delorie  <dj@redhat.com>
3672         * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3673         multiples of bytes.
3675 2014-10-14  Jason Merrill  <jason@redhat.com>
3677         PR c++/63455
3678         * c-common.h (CPP_PREPARSED_EXPR): New.
3679         (N_CP_TTYPES): Adjust.
3681 2014-10-15  Marek Polacek  <polacek@redhat.com>
3683         * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3685 2014-10-14  DJ Delorie  <dj@redhat.com>
3687         * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3688         types, not just __int128.
3689         * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3690         types, not just __int128.
3691         (cpp_atomic_builtins): Round pointer sizes up.
3692         (type_suffix): Use type precision, not specific types.
3693         * c-common.c (c_common_reswords): Remove __int128 special case.
3694         (c_common_type_for_size): Check for all __intN types, not just
3695         __int128.
3696         (c_common_type_for_mode): Likewise.
3697         (c_common_signed_or_unsigned_type): Likewise.
3698         (c_build_bitfield_integer_type): Likewise.
3699         (c_common_nodes_and_builtins): Likewise.
3700         (keyword_begins_type_specifier): Likewise.
3701         * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3702         __intN variants.
3704 2014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
3706         * c-common.c: Use hash_table instead of hashtab.
3708 2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3710         * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
3711         C++11 section.
3713 2014-10-03  Marc Glisse  <marc.glisse@inria.fr>
3715         PR c++/54427
3716         PR c++/57198
3717         PR c++/58845
3718         * c-common.c (warn_logical_operator): Punt for vectors.
3720 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3722         Implement SD-6: SG10 Feature Test Recommendations
3723         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3724         macros and the __has_header macro.
3726 2014-09-30  Jason Merrill  <jason@redhat.com>
3728         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3729         RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3730         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3732         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3733         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3735         * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3736         * c-common.c (c_common_reswords): Remove __is_convertible_to.
3738 2014-09-24  Marek Polacek  <polacek@redhat.com>
3740         PR c/61405
3741         PR c/53874
3742         * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3744 2014-09-23  Andi Kleen  <ak@linux.intel.com>
3746         * c-common.c (handle_no_reorder_attribute): New function.
3747         (c_common_attribute_table): Add no_reorder attribute.
3749 2014-09-22  Joseph Myers  <joseph@codesourcery.com>
3751         * c-cppbuiltin.c (c_cpp_builtins): Define
3752         __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3753         modes.
3755 2014-09-18  Joseph Myers  <joseph@codesourcery.com>
3757         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3758         for supported floating-point modes.
3760 2014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3762         * c.opt (Wpsabi): Use LangEnabledBy.
3763         * c-opts.c (c_common_handle_option): Do not handle here.
3765 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
3767         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3768         macros for floating-point modes.
3770 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
3772         PR target/58757
3773         * c-cppbuiltin.c (builtin_define_float_constants): Correct
3774         __*_DENORM_MIN__ without denormals.
3776 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
3778         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3779         ubsan_instrument_vla, ubsan_instrument_return): Adjust
3780         ubsan_create_data callers.
3781         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3782         index is constant or BIT_AND_EXPR with constant mask and is
3783         small enough for the bound.
3784         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3785         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3787 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3789         * c.opt: Add CppReason to various flags.
3790         (Wdate-time): Re-sort.
3791         * c-common.c: Include c-common.h earlier.
3792         (struct reason_option_codes_t): Delete.
3793         (c_option_controlling_cpp_error): Prefix global type and struct
3794         with cpp_.
3796 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3798         * c.opt (Wnormalized): New.
3799         (Wnormalized=): Use Enum and Reject Negative.
3800         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3802 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
3804         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3805         digits of floating-point modes if -fbuilding-libgcc.
3807 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
3809         * c-cppbuiltin.c (c_cpp_builtins): Also define
3810         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3811         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3812         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3813         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3814         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3815         __LIBGCC_STACK_GROWS_DOWNWARD__,
3816         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3817         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3818         __LIBGCC_DWARF_FRAME_REGISTERS__,
3819         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3820         __LIBGCC_STACK_POINTER_REGNUM__ and
3821         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3822         (builtin_define_with_value): Handle backslash-escaping in string
3823         macro values.
3825 2014-09-05  Richard Biener  <rguenther@suse.de>
3827         PR middle-end/63148
3828         * c-format.c (check_format_arg): Properly handle
3829         effectively signed POINTER_PLUS_EXPR offset.
3831 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3833         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3834         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3835         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3836         and Init.
3837         * c-opts.c (c_common_handle_option): Do not handle here.
3838         (sanitize_cpp_opts): Likewise.
3839         * c-common.c (struct reason_option_codes_t): Handle
3840         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3842 2014-09-03  Marek Polacek  <polacek@redhat.com>
3844         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3846 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
3847             Balaji V. Iyer  <balaji.v.iyer@intel.com>
3848             Igor Zamyatin  <igor.zamyatin@intel.com>
3850         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3851         * c-common.c (c_common_reswords): Added _Cilk_for.
3852         * c-common.h (enum rid): Added RID_CILK_FOR.
3853         (cilk_for_number_of_iterations): Add declaration.
3854         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3855         CILK_FOR.
3856         * c-pragma.c (init_pragma): Register "grainsize" pragma.
3857         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3859 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3861         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3862         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3863         Wundef): Use CPP, Var and Init.
3864         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3866 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3868         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3869         * c-opts.c (c_common_handle_option): Do not handle here.
3871 2014-08-25  Jason Merrill  <jason@redhat.com>
3873         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3874         -std=c++14 and -std=gnu++14, rather than the reverse.
3875         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3876         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3877         * c-common.h (cxx_dialect): Remove cxx1y.
3879 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
3881         * c-common.h (enum cxx_dialect): Add cxx14.
3882         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3883         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3884         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3886 2014-08-22  Jason Merrill  <jason@redhat.com>
3888         * c.opt (std=gnu++17): Fix alias.
3890 2014-08-22  Marek Polacek  <polacek@redhat.com>
3892         PR c++/62199
3893         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
3894         check for vector types.  Drop LHS argument.
3895         * c-common.h (warn_logical_not_parentheses): Adjust.
3897 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3899         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3900         (Wmultichar): Likewise.
3901         (Wdate-time): Use C-family languages instead of Common. Use CPP
3902         and Var.
3903         * c-opts.c (c_common_handle_option): Do not handle the above
3904         options here.
3905         (sanitize_cpp_opts): Likewise.
3907 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3909         PR fortran/44054
3910         * c-opts.c: Include tree-diagnostics.h.
3911         (c_diagnostic_finalizer): New.
3912         (c_common_initialize_diagnostics): Use it.
3914 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3916         PR preprocessor/51303
3917         * c-common.c (struct reason_option_codes_t option_codes):
3918         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3920 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3922         PR c/60975
3923         PR c/53063
3924         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3925         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3926         (c_common_post_options): Call init_global_opts_from_cpp.
3927         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3929 2014-08-19  Marek Polacek  <polacek@redhat.com>
3931         PR c++/62153
3932         * c-common.c (maybe_warn_bool_compare): New function.
3933         * c-common.h (maybe_warn_bool_compare): Declare.
3934         * c.opt (Wbool-compare): New option.
3936 2014-08-19  Marek Polacek  <polacek@redhat.com>
3938         * c.opt (Wc99-c11-compat): New option.
3940 2014-08-19  Marek Polacek  <polacek@redhat.com>
3942         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3943         to warn_c90_c99_compat.
3944         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3945         to -1.
3947 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3948             Steven Bosscher  <steven@gcc.gnu.org>
3950         PR c/52952
3951         * c-format.c: Add extra_arg_loc and format_string_loc to struct
3952         format_check_results.
3953         (check_function_format): Use true and add comment for boolean
3954         argument.
3955         (finish_dollar_format_checking): Use explicit location when warning.
3956         (check_format_info): Likewise.
3957         (check_format_arg): Set extra_arg_loc and format_string_loc.
3958         (check_format_info_main): Use explicit location when warning.
3959         (check_format_types): Pass explicit location.
3960         (format_type_warning): Likewise.
3962 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3964         PR fortran/44054
3965         * c-format.c: Handle Fortran flags.
3967 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
3969         PR other/61962
3970         * array-notation-common.c (find_rank): Added handling for other
3971         types of references.
3973 2014-08-10  Marek Polacek  <polacek@redhat.com>
3975         PR c/51849
3976         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3977         * c.opt (Wc90-c99-compat): Add option.
3979 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
3981         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3983 2014-08-03  Marek Polacek  <polacek@redhat.com>
3985         * c-common.c (check_case_value):  Add location_t parameter.  Use it.
3986         (c_add_case_label): Pass loc to check_case_value.
3988 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
3990         * cilk.c: Use hash_map instead of pointer_map.
3992 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
3994         * c-gimplify.c: Use hash_set instead of pointer_set.
3996 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
3998         PR middle-end/61455
3999         * array-notation-common.c (extract_array_notation_exprs): Handling
4000         of DECL_EXPR added.
4002 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
4004         * c-common.h (min_align_of_type): Removed prototype.
4005         * c-common.c (min_align_of_type): Removed.
4006         * c-ubsan.h (ubsan_maybe_instrument_reference,
4007         ubsan_maybe_instrument_member_call): New prototypes.
4008         * c-ubsan.c: Include stor-layout.h and builtins.h.
4009         (ubsan_maybe_instrument_reference_or_call,
4010         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4011         functions.
4013 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
4015         PR c++/60517
4016         * c.opt (-Wreturn-local-addr): Move to common.opt.
4018 2014-07-30  Jason Merrill  <jason@redhat.com>
4020         PR c++/61659
4021         PR c++/61687
4022         Revert:
4023         * c.opt (-fuse-all-virtuals): New.
4025 2014-07-30  Tom Tromey  <tromey@redhat.com>
4027         PR c/59855
4028         * c.opt (Wdesignated-init): New option.
4029         * c-common.c (c_common_attribute_table): Add "designated_init".
4030         (handle_designated_init): New function.
4032 2014-07-24  Marek Polacek  <polacek@redhat.com>
4034         PR c/57653
4035         * c-opts.c (c_finish_options): If -imacros is in effect, return.
4037 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
4039         PR preprocessor/60723 - missing system-ness marks for macro tokens
4040         * c-ppoutput.c (struct print::prev_was_system_token): New data
4041         member.
4042         (init_pp_output): Initialize it.
4043         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4044         (do_line_change): Return a flag saying if a line marker was
4045         emitted or not.
4046         (scan_translation_unit): Detect if the system-ness of the token we
4047         are about to emit is different from the one of the previously
4048         emitted token.  If so, emit a line marker.  Avoid emitting useless
4049         adjacent line markers.  Avoid emitting line markers for tokens
4050         originating from the expansion of built-in macros.
4051         (scan_translation_unit_directives_only): Adjust.
4053 2014-07-15  Marek Polacek  <polacek@redhat.com>
4055         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4056         TYPE_MAX_VALUE is NULL.
4058 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
4060         PR middle-end/61294
4061         * c.opt (Wmemset-transposed-args): New warning.
4063 2014-07-10  Jason Merrill  <jason@redhat.com>
4065         PR c++/61659
4066         PR c++/61687
4067         * c.opt (-fuse-all-virtuals): New.
4069 2014-07-09  Richard Biener  <rguenther@suse.de>
4071         PR c-family/61741
4072         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4073         using unsigned arithmetic if overflow does not wrap instead of
4074         if overflow is undefined.
4076 2014-07-06  Marek Polacek  <polacek@redhat.com>
4078         PR c/6940
4079         * c.opt (Wsizeof-array-argument): New option.
4081 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
4083         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
4084         comments->count <= 1, as comments->entries might be NULL.
4086 2014-07-01  Marek Polacek  <polacek@redhat.com>
4088         * c.opt (Wint-conversion): New option.
4090 2014-07-01  Marek Polacek  <polacek@redhat.com>
4092         PR c/58286
4093         * c.opt (Wincompatible-pointer-types): New option.
4095 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
4097         PR c++/51400
4098         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4099         Do not discard TYPE_QUALS of type.
4101 2014-06-26  Jason Merrill  <jason@redhat.com>
4103         * c-common.h (enum cxx_dialect): Add cxx1z.
4104         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4105         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4107 2014-06-26  Teresa Johnson  <tejohnson@google.com>
4109         * c-common.h (get_dump_info): Declare.
4110         * c-gimplify.c (c_genericize): Use saved dump files.
4111         * c-opts.c (c_common_parse_file): Begin and end dumps
4112         once around parsing invocation.
4113         (get_dump_info): New function.
4115 2014-06-23  Marek Polacek  <polacek@redhat.com>
4116             Andrew MacLeod  <amacleod@redhat.com>
4118         PR c/61553
4119         * c-common.c (get_atomic_generic_size): Don't segfault if the
4120         type doesn't have a size.
4122 2014-06-20  Marek Polacek  <polacek@redhat.com>
4124         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4125         (ubsan_walk_array_refs_r): New function.
4126         (c_genericize): Instrument array bounds.
4127         * c-ubsan.c: Include "internal-fn.h".
4128         (ubsan_instrument_division): Mark instrumented arrays as having
4129         side effects.  Adjust ubsan_type_descriptor call.
4130         (ubsan_instrument_shift): Likewise.
4131         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4132         (ubsan_instrument_bounds): New function.
4133         (ubsan_array_ref_instrumented_p): New function.
4134         (ubsan_maybe_instrument_array_ref): New function.
4135         * c-ubsan.h (ubsan_instrument_bounds): Declare.
4136         (ubsan_array_ref_instrumented_p): Declare.
4137         (ubsan_maybe_instrument_array_ref): Declare.
4139 2014-06-20  Hale Wang  <hale.wang@arm.com>
4141         PR lto/61123
4142         * c.opt (fshort-enums): Add to LTO.
4143         * c.opt (fshort-wchar): Likewise.
4145 2014-06-16  Marek Polacek  <polacek@redhat.com>
4147         PR c/60439
4148         * c.opt (Wswitch-bool): Add Var.
4150 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
4152         PR middle-end/61486
4153         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4154         #pragma omp target teams or
4155         #pragma omp {,target }teams distribute simd.
4157 2014-06-12  Jason Merrill  <jason@redhat.com>
4159         * c.opt (Wabi=, fabi-compat-version): New.
4160         * c-opts.c (c_common_handle_option): Handle -Wabi=.
4161         (c_common_post_options): Handle flag_abi_compat_version default.
4162         Disallow -fabi-compat-version=1.
4163         * c-common.h (abi_version_crosses): New.
4165 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
4167         * c-common.c (handle_section_attribute): Update handling for
4168         section names that are no longer trees.
4170 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
4172         PR fortran/60928
4173         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4174         (omp_pragmas): ... back here.
4176 2014-06-05  Marek Polacek  <polacek@redhat.com>
4178         PR c/49706
4179         * c-common.c (warn_logical_not_parentheses): New function.
4180         * c-common.h (warn_logical_not_parentheses): Declare.
4181         * c.opt (Wlogical-not-parentheses): New option.
4183 2014-06-04  Marek Polacek  <polacek@redhat.com>
4185         PR c/30020
4186         * c-common.c (check_case_bounds): Add location parameter.
4187         Use it.
4188         (c_add_case_label): Pass loc to check_case_bounds.
4190 2014-06-03  Marek Polacek  <polacek@redhat.com>
4192         PR c/60439
4193         * c.opt (Wswitch-bool): New option.
4195 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
4197         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4198         Remove prototypes.
4199         (record_types_used_by_current_var_decl): Move prototype to where
4200         it belongs.
4202         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4203         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4204         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4206 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
4208         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4209         * c-common.c (c_common_nodes_and_builtins): Don't initialize
4210         void_zero_node.
4211         * c-pretty-print.c (pp_c_void_constant): New function.
4212         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4213         (c_pretty_printer::expression): Handle VOID_CST.
4214         * cilk.c (extract_free_variables): Likewise.
4215         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4216         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4218 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
4220         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4221         * c-pragma.c (push_alignment): Adjust.
4222         (handle_pragma_push_options): Likewise.
4224 2014-05-09  Marek Polacek  <polacek@redhat.com>
4226         PR c/50459
4227         * c-common.c (check_user_alignment): Return -1 if alignment is error
4228         node.
4229         (handle_aligned_attribute): Don't call default_conversion on
4230         FUNCTION_DECLs.
4231         (handle_vector_size_attribute): Likewise.
4232         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4233         (handle_sentinel_attribute): Call default_conversion and allow even
4234         integral types as an argument.
4236 2014-05-08  Marek Polacek  <polacek@redhat.com>
4238         PR c/61053
4239         * c-common.c (min_align_of_type): New function factored out from...
4240         (c_sizeof_or_alignof_type): ...here.
4241         * c-common.h (min_align_of_type): Declare.
4243 2014-05-08  Marek Polacek  <polacek@redhat.com>
4245         PR c/61077
4246         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4247         parameter type of main.
4249 2014-05-07  DJ Delorie  <dj@redhat.com>
4251         * c-cppbuiltin.c (print_bits_of_hex): New.
4252         (builtin_define_type_minmax): Print values using hex so as not to
4253         require a pre-computed list of string values.
4255 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
4256             Mike Stump  <mikestump@comcast.net>
4257             Richard Sandiford  <rdsandiford@googlemail.com>
4259         * c-ada-spec.c: Include wide-int.h.
4260         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4261         (dump_generic_ada_node): Use wide-int interfaces.
4262         * c-common.c: Include wide-int-print.h.
4263         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4264         (pointer_int_sum): Use wide-int interfaces.
4265         (c_common_nodes_and_builtins): Use make_int_cst.
4266         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4267         (handle_alloc_size_attribute): Use wide-int interfaces.
4268         (get_nonnull_operand): Likewise.
4269         * c-format.c (get_constant): Use tree_fits_uhwi_p.
4270         * c-lex.c: Include wide-int.h.
4271         (narrowest_unsigned_type): Take a widest_int rather than two
4272         HOST_WIDE_INTs.
4273         (narrowest_signed_type): Likewise.
4274         (interpret_integer): Update accordingly.  Use wide-int interfaces.
4275         (lex_charconst): Use wide-int interfaces.
4276         * c-pretty-print.c: Include wide-int.h.
4277         (pp_c_integer_constant): Use wide-int interfaces.
4278         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4279         INT_CST_LT_UNSIGNED.
4281 2014-05-06  Richard Biener  <rguenther@suse.de>
4283         * c-opts.c (c_common_post_options): For -freestanding,
4284         -fno-hosted and -fno-builtin disable pattern recognition
4285         if not enabled explicitely.
4287 2014-05-02  Marek Polacek  <polacek@redhat.com>
4289         * c.opt (Wsizeof-pointer-memaccess): Describe option.
4291 2014-05-01  Marek Polacek  <polacek@redhat.com>
4293         PR c/43245
4294         * c.opt (Wdiscarded-qualifiers): Add.
4296 2014-04-30  Marek Polacek  <polacek@redhat.com>
4298         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
4299         INT_MIN / -1 sanitization only for integer types.
4301 2014-04-25  Marek Polacek  <polacek@redhat.com>
4303         PR c/18079
4304         * c-common.c (handle_noinline_attribute): Warn if the attribute
4305         conflicts with always_inline attribute.
4306         (handle_always_inline_attribute): Warn if the attribute conflicts
4307         with noinline attribute.
4309 2014-04-25  Marek Polacek  <polacek@redhat.com>
4311         PR c/60156
4312         * c-common.c (check_main_parameter_types): Warn about variadic main.
4314 2014-04-24  Mike Stump  <mikestump@comcast.net>
4316         * c.opt (Wshadow-ivar): Default to on.
4318 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
4320         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4322 2014-04-23  Marek Polacek  <polacek@redhat.com>
4324         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4326 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4328         PR sanitizer/60275
4329         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4330         if flag_sanitize_undefined_trap_on_error.
4331         (ubsan_instrument_division, ubsan_instrument_shift,
4332         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
4333         if !flag_sanitize_recover.
4335 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
4337         PR libstdc++/43622
4338         * c-common.c (registered_builtin_types): Make non-static.
4339         * c-common.h (registered_builtin_types): Declare.
4341 2014-04-14  Richard Biener  <rguenther@suse.de>
4342         Marc Glisse  <marc.glisse@inria.fr>
4344         PR c/60819
4345         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4346         apply may-alias the scalar pointer type when applicable.
4348 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
4350         PR middle-end/60467
4351         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4352         as possible argument for Cilk_spawn.
4354 2014-04-11  Tobias Burnus  <burnus@net-b.de>
4356         PR c/60194
4357         * c.opt (Wformat-signedness): Add
4358         * c-format.c(check_format_types): Use it.
4360 2014-04-11  Jason Merrill  <jason@redhat.com>
4362         PR c++/57926
4363         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4364         default_conversion for an array argument.
4366 2014-04-08  Marek Polacek  <polacek@redhat.com>
4368         PR sanitizer/60745
4369         * c-ubsan.c: Include asan.h.
4370         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4372 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
4374         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4376 2014-04-02  Marek Polacek  <polacek@redhat.com>
4378         * c-common.h (c_expand_expr): Remove declaration.
4380 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
4382         PR c++/60689
4383         * c-common.c (add_atomic_size_parameter): When creating new
4384         params vector, push the size argument first.
4386 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
4388         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4389         ubsan_instrument_vla, ubsan_instrument_return): Adjust
4390         ubsan_create_data callers.
4392 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
4394         PR debug/60603
4395         * c-opts.c (c_finish_options): Restore cb_file_change call to
4396         <built-in>.
4398 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
4400         PR middle-end/36282
4401         * c-pragma.c (apply_pragma_weak): Only look at
4402         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4403         DECL_ASSEMBLER_NAME_SET_P (decl).
4404         (maybe_apply_pending_pragma_weaks): Exit early if
4405         vec_safe_is_empty (pending_weaks) rather than only when
4406         !pending_weaks.
4407         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
4408         set assembler name back to NULL afterwards.
4410 2014-03-11  Jason Merrill  <jason@redhat.com>
4412         * c.opt: Add -std=gnu++14.
4414 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
4416         * c-opts.c (c_common_post_options): Don't override
4417         -ffp-contract=fast if unsafe-math-optimizations is on.
4419 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
4421         * c.opt: Enable LTO FE for fshort-double.
4423 2014-03-07  Jason Merrill  <jason@redhat.com>
4425         * c.opt: Add -std=c++14.
4427 2014-03-06  Marek Polacek  <polacek@redhat.com>
4429         PR c/60197
4430         * cilk.c (contains_cilk_spawn_stmt): New function.
4431         (contains_cilk_spawn_stmt_walker): Likewise.
4432         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4433         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4435 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
4437         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4438         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4439         even when flag_preprocess_only.
4441 2014-02-26  Jason Merrill  <jason@redhat.com>
4443         PR c++/59231
4444         PR c++/11586
4445         * c-common.c (shorten_compare): Don't check
4446         c_inhibit_evaluation_warnings.
4448 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
4450         PR c/37743
4451         * c-common.c (c_common_nodes_and_builtins): When initializing
4452         c_uint{16,32,64}_type_node, also set corresponding
4453         uint{16,32,64}_type_node to the same value.
4455         PR c++/60267
4456         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4457         for PRAGMA_IVDEP if flag_preprocess_only.
4459 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
4461         PR c/60101
4462         * c-common.c (merge_tlist): If copy is true, call new_tlist,
4463         if false, add ADD itself, rather than vice versa.
4464         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4465         copy.  For SAVE_EXPR, only call merge_tlist once.
4467 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
4469         PR middle-end/60092
4470         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4471         and tree_to_uhwi.
4472         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4473         functions.
4474         (c_common_attribute_table): Add alloc_align and assume_aligned
4475         attributes.
4477 2014-02-06  Marek Polacek  <polacek@redhat.com>
4479         PR c/60087
4480         * c-common.c (warn_for_sign_compare): Call warning_at with location
4481         instead of warning.
4483 2014-02-05  Marek Polacek  <polacek@redhat.com>
4485         PR c/53123
4486         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4487         statement.
4489 2014-02-04  Marek Polacek  <polacek@redhat.com>
4491         PR c/60036
4492         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4493         SAVE_EXPR.
4495 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
4497         PR c++/53017
4498         PR c++/59211
4499         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4500         handle_vector_size_attribute, handle_nonnull_attribute): Call
4501         default_conversion on the attribute argument.
4502         (handle_nonnull_attribute): Increment the argument number.
4504 2014-01-31  Marek Polacek  <polacek@redhat.com>
4506         PR c/59963
4507         * c-common.c (add_atomic_size_parameter): Pass vNULL to
4508         build_function_call_vec.
4509         (resolve_overloaded_builtin): Likewise.
4510         * c-common.h (build_function_call_vec): Adjust declaration.
4512 2014-01-30  Marek Polacek  <polacek@redhat.com>
4514         PR c/59940
4515         * c-common.h (unsafe_conversion_p): Adjust declaration.
4516         (warnings_for_convert_and_check): Likewise.
4517         (convert_and_check): Likewise.
4518         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
4519         expansion_point_location_if_in_system_header on it.
4520         (warnings_for_convert_and_check): Add location parameter.  Call
4521         expansion_point_location_if_in_system_header on it.  Use it.
4522         (convert_and_check): Add location parameter.  Use it.
4523         (conversion_warning): Likewise.
4524         (c_add_case_label): Adjust convert_and_check calls.
4525         (scalar_to_vector): Adjust unsafe_conversion_p calls.
4527 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4529         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4530         flag_cilkplus.
4531         * c-pragma.c (init_pragma): Likewise.
4532         * c.opt: Likewise.
4534 2014-01-23  Marek Polacek  <polacek@redhat.com>
4536         PR c/59846
4537         * c-common.c (shorten_compare): Add location_t parameter.
4538         * c-common.h (shorten_binary_op): Adjust declaration.
4540 2014-01-23  Marek Polacek  <polacek@redhat.com>
4542         PR c/58346
4543         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4544         * c-common.h: Declare it.
4546 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
4548         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4549         * c-ada-spec.c (dump_ads): Likewise.
4550         (cpp_check): Likewise.
4551         (dump_ada_specs): Likewise.
4553 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
4555         PR c++/49718
4556         * c-common.c (handle_no_instrument_function_attribute): Allow
4557         no_instrument_function attribute in class member
4558         definition/declaration.
4560 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
4562         PR c/58943
4563         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4564         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
4565         being COMPOUND_EXPR.
4566         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4567         operand a SAVE_EXPR and second MODIFY_EXPR.
4569 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
4571         PR target/58115
4572         * c-pch.c (c_common_write_pch): Call
4573         prepare_target_option_nodes_for_pch.
4575 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
4577         Update copyright years
4579 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
4581         * array-notation-common.c, c-cilkplus.c: Use the standard form for
4582         the copyright notice.
4584 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
4586         * c-ada-spec.c (print_constructor): New function.
4587         (print_destructor): Retrieve the origin of the destructor.
4588         (print_ada_declaration): Revamp handling of constructors/destructors.
4590 2013-12-23  Stuart Hastings  <stuart@apple.com>
4591             Bill Maddox  <maddox@google.com>
4592             Jason Merrill  <jason@redhat.com>
4594         * c.opt: Add -fdeclone-ctor-dtor.
4595         * c-opts.c (c_common_post_options): Default to on iff -Os.
4597 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4599         * c-common.c (c_common_attribute_table): Added "cilk simd function"
4600         attribute.
4601         * c-pragma.h (enum pragma_cilk_clause): Remove.
4602         (enum pragma_omp_clause):  Added the following fields:
4603         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4604         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4605         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4606         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4607         PRAGMA_CILK_CLAUSE_UNIFORM.
4610 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4612         * cilk.c (cilk_outline): Made this function non-static.
4613         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4614         (create_cilk_wrapper): Added a new parameter: a function pointer.
4615         (c_install_body_w_frame_cleanup): Remove
4616         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4617         * c-common.h (cilk_outline): New prototype.
4618         (gimplify_cilk_spawn): Removed two parameters.
4619         (cilk_install_body_with_frame_cleanup): New prototype.
4620         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4621         CILK_SPAWN_STMT case.
4623 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
4625         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4627         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4628         (int_array_type_node): Remove.
4629         * c-common.c (c_common_nodes_and_builtins): Don't build it.
4631 2013-12-05  Marek Polacek  <polacek@redhat.com>
4633         PR c/52023
4634         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4635         [ADJUST_FIELD_ALIGN].
4637 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
4639         PR c/52023
4640         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4641         and check field alignment if set.
4642         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4643         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4645 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
4646             Marek Polacek  <polacek@redhat.com>
4648         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4649         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4651 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
4653         PR c/59309
4654         * cilk.c (gimplify_cilk_spawn): Properly handle function without
4655         arguments.
4657 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
4659         PR c/59280
4660         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4661         goto invalid.  If it is error_mark_node, don't issue further
4662         diagnostics.
4664 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
4666         * c.opt (Wopenmp-simd): New.
4668 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
4670         * c-ubsan.h (ubsan_instrument_return): New prototype.
4671         * c-ubsan.c (ubsan_instrument_return): New function.
4673 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
4675         * c-common.c: Add required include files from gimple.h.
4676         * c-gimplify.c: Likewise
4677         * cilk.c: Likewise
4679 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
4681         * c-common.c (unsafe_conversion_p): Remove use of
4682         EXPR_LOC_OR_HERE macro.
4683         (conversion_warning): Likewise.
4684         (warnings_for_convert_and_check): Likewise.
4685         (warn_for_collisions_1): Likewise.
4686         (shorten_compare): Likewise, and remove use of in_system_header
4687         macro, using the location from the former.
4688         * c-lex.c (dump_one_header): Remove use of input_filename macro.
4689         (cb_def_pragma): Remove use of in_system_header macro.
4690         (lex_string): Likewise.
4691         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4693 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
4694             Mike Stump  <mikestump@comcast.net>
4695             Richard Sandiford  <rdsandiford@googlemail.com>
4697         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4698         instead of TREE_INT_CST_LOW, in cases where there is a protecting
4699         tree_fits_shwi_p or tree_fits_uhwi_p.
4700         (dump_generic_ada_node): Likewise.
4701         * c-format.c (check_format_arg): Likewise.
4702         * c-pretty-print.c (pp_c_integer_constant): Likewise.
4704 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
4706         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4708 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
4710         PR c/53001
4711         * c-common.c (unsafe_conversion_p): Make this function
4712         return an enumeration with more detail.
4713         (conversion_warning): Use the new return type of
4714         unsafe_conversion_p to separately warn either about conversions
4715         that lower floating point number precision or about the other
4716         kinds of conversions.
4717         * c-common.h (enum conversion_safety): New enumeration.
4718         (unsafe_conversion_p): switching return type to
4719         conversion_safety enumeration.
4720         * c.opt: Adding new warning -Wfloat-conversion and
4721         enabling it with -Wconversion.
4723 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
4725         * c-opts.c: Include plugin.h.
4726         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
4728 2013-11-19  Marek Polacek  <polacek@redhat.com>
4730         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4731         call.
4732         (ubsan_instrument_shift): Likewise.
4733         (ubsan_instrument_vla): Likewise.
4735 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4737         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4738         cast to unsigned type.
4740 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4742         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4743         tree_low_cst.
4744         (complete_array_type): Update comment to refer to tree_to_[su]hwi
4745         rather than tree_low_cst.
4747 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4749         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4750         tree_to_uhwi throughout.
4752 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4754         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4755         tree_low_cst (..., 0) with tree_to_shwi throughout.
4757 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4759         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4760         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4762 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4764         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4765         host_integerp (..., 0) with tree_fits_shwi_p throughout.
4767 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
4769         * c-cilkplus.c: New file.
4770         * c-common.c (readonly_error): Add location argument.
4771         * c-common.h (readonly_error): Same.
4772         (c_finish_cilk_clauses): Protoize.
4773         (c_check_cilk_loop): Same.
4774         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4775         Do not fail on error_mark_node.
4776         Abstract increment canonicalization to here...
4777         (c_omp_for_incr_canonicalize_ptr): New.
4778         c-pragma.c (init_pragma): Register "simd" pragma.
4779         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4780         (enum pragma_cilk_clause): New.
4782 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
4784         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4785         wchar_type and host_integerp checks.
4787 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
4789         * c-common.c: Likewise.
4790         * c-gimplify.c: Likewise.
4791         * cilk.c: Likewise.
4793 2013-11-14  Diego Novillo  <dnovillo@google.com>
4795         * c-common.c: Include fold-const.h.
4796         Include stor-layout.h.
4797         Include calls.h.
4798         Include stringpool.h.
4799         Include attribs.h.
4800         Include varasm.h.
4801         Include trans-mem.h.
4802         * c-cppbuiltin.c: Include stor-layout.h.
4803         Include stringpool.h.
4804         * c-format.c: Include stringpool.h.
4805         * c-lex.c: Include stringpool.h.
4806         Include stor-layout.h.
4807         * c-pragma.c: Include stringpool.h.
4808         Include attribs.h.
4809         Include varasm.h.
4810         Include gcc-symtab.h.
4811         * c-pretty-print.c: Include stor-layout.h.
4812         Include attribs.h.
4813         * cilk.c: Include stringpool.h.
4814         Include calls.h.
4816 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
4818         * c-common.h (enum rid): Add RID_AUTO_TYPE.
4819         * c-common.c (c_common_reswords): Add __auto_type.
4820         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4822 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
4824         * c-common.c: Include gimplify.h.
4825         * c-gimplify.c: Likewise.
4826         * cilk.c: Likewise.
4827         * c-omp.c: Include gimple-expr.h instead of gimple.h.
4828         * c-ubsan.c: Don't include gimple.h.
4830 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
4832         * c-common.c (c_common_reswords): Add _Thread_local.
4834 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
4836         * c-common.c (atomic_size_supported_p): New function.
4837         (resolve_overloaded_atomic_exchange)
4838         (resolve_overloaded_atomic_compare_exchange)
4839         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4840         Use it instead of comparing size with a local list of sizes.
4842 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
4843             Joseph Myers  <joseph@codesourcery.com>
4845         * c-common.h (enum rid): Add RID_ATOMIC.
4846         * c-common.c (c_common_reswords): Add _Atomic.
4847         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4848         (keyword_is_type_qualifier): Accept RID_ATOMIC.
4849         * c-format.c (check_format_types): Check for extra _Atomic
4850         qualifiers in format argument.
4851         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4852         (pp_c_type_qualifier_list): Mention _Atomic in comment.
4854 2013-11-06  Tobias Burnus  <burnus@net-b.de>
4856         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4858 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
4860         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4861         standards modes.
4862         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4863         to mean lack of IEEE 754 support.
4865 2013-11-05  Tobias Burnus  <burnus@net-b.de>
4867         * c.opt (-Wdate-time): New option
4868         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4870 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
4872         * c-cppbuiltin.c (cpp_iec_559_value): Test
4873         flag_excess_precision_cmdline not flag_excess_precision.
4875 2013-11-05  Tobias Burnus  <burnus@net-b.de>
4877         * c.opt (fopenmp-simd): New option.
4878         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4879         (omp_pragmas): ... this new struct.
4880         (c_pp_lookup_pragma): Also walk omp_pragmas.
4881         (init_pragma): Init pragmas for -fopenmp-simd.
4883 2013-11-04  Marek Polacek  <polacek@redhat.com>
4885         PR c++/58979
4886         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4888 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
4890         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4891         New functions.
4892         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4894 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
4896         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4897         (dump_ada_specs): Adjust prototype of second callback.
4898         * c-ada-spec.c (cpp_check): New global variable.
4899         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4900         (print_generic_ada_decl): Likewise.
4901         (has_static_fields): Change return type to bool and add guard.
4902         (has_nontrivial_methods): New predicate.
4903         (is_tagged_type): Change return type to bool.
4904         (separate_class_package): Call has_nontrivial_methods.
4905         (pp_ada_tree_identifier): Minor tweaks.
4906         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4907         (dump_ada_array_domains): Likewise.
4908         (dump_ada_array_type): Likewise.
4909         (dump_template_types): Remove cpp_check parameter and do not pass it to
4910         dump_generic_ada_node.
4911         (dump_ada_template): Likewise.
4912         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4913         recursively.
4914         (print_ada_methods): Change return type to integer.  Remove cpp_check
4915         parameter and do not pass it down.
4916         (dump_nested_types): Remove cpp_check parameter and do not pass it to
4917         dump_generic_ada_node.
4918         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
4919         accessing methods.
4920         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4921         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
4922         value of print_ada_methods.
4923         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4924         Set cpp_check to it before invoking dump_ada_nodes.
4925         (dump_ada_specs): Likewise.
4927 2013-11-03  Marek Polacek  <polacek@redhat.com>
4929         * c-ubsan.c: Don't include hash-table.h.
4930         (ubsan_instrument_vla): New function.
4931         * c-ubsan.h: Declare it.
4933 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
4935         Automated part of renaming of symtab_node_base to symtab_node.
4937         Patch autogenerated by rename_symtab.py from
4938         https://github.com/davidmalcolm/gcc-refactoring-scripts
4939         revision 58bb219cc090b2f4516a9297d868c245495ee622
4941         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4942         symtab_node_base to symtab_node.
4944 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
4946         Implement C++14 digit separators.
4947         * c-lex.c (interpret_float): Remove digit separators from scratch string
4948         before building real literal.
4950 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
4952         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4954 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4956         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4957         fields.
4958         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4959         enabled.
4960         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4961         (insert_cilk_frame): New prototype.
4962         (cilk_init_builtins): Likewise.
4963         (gimplify_cilk_spawn): Likewise.
4964         (c_cilk_install_body_w_frame_cleanup): Likewise.
4965         (cilk_detect_spawn_and_unwrap): Likewise.
4966         (cilk_set_spawn_marker): Likewise.
4967         (build_cilk_sync): Likewise.
4968         (build_cilk_spawn): Likewise.
4969         * cilk.c: New file.
4971 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
4973         Patch autogenerated by refactor_symtab.py from
4974         https://github.com/davidmalcolm/gcc-refactoring-scripts
4975         revision 58bb219cc090b2f4516a9297d868c245495ee622
4977         * c-gimplify.c (c_genericize): Update for conversion of symtab types
4978         to a true class hierarchy.
4979         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4981 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
4983         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4985 2013-10-26  Jeff Law  <law@redhat.com>
4987         * c-common.c (c_define_builtins): Remove mudflap support.
4988         * c.opt: Ignore and warn for mudflap options.
4990 2013-10-24  Tobias Burnus  <burnus@net-b.de>
4992         PR other/33426
4993         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4994         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4996 2013-10-23  Jason Merrill  <jason@redhat.com>
4998         * c-format.c (gcc_cxxdiag_char_table): Add %X.
5000 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
5002         * c-common.h (omp_clause_mask::operator !=): New method.
5003         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5004         instead of if (mask & something) tests everywhere.
5006         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5007         201307 instead of 201107.
5008         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5009         (c_common_attribute_table): Add "omp declare target" and
5010         "omp declare simd" attributes.
5011         (handle_omp_declare_target_attribute,
5012         handle_omp_declare_simd_attribute): New functions.
5013         * c-omp.c: Include c-pragma.h.
5014         (c_finish_omp_taskgroup): New function.
5015         (c_finish_omp_atomic): Add swapped argument, if true,
5016         build the operation first with rhs, lhs arguments and use NOP_EXPR
5017         build_modify_expr.
5018         (c_finish_omp_for): Add code argument, pass it down to make_code.
5019         (c_omp_split_clauses): New function.
5020         (c_split_parallel_clauses): Removed.
5021         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5022         c_omp_declare_simd_clauses_to_decls): New functions.
5023         * c-common.h (omp_clause_mask): New type.
5024         (OMP_CLAUSE_MASK_1): Define.
5025         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5026         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5027         omp_clause_mask::operator |, omp_clause_mask::operator &,
5028         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5029         omp_clause_mask::operator ==): New methods.
5030         (enum c_omp_clause_split): New.
5031         (c_finish_omp_taskgroup): New prototype.
5032         (c_finish_omp_atomic): Add swapped argument.
5033         (c_finish_omp_for): Add code argument.
5034         (c_omp_split_clauses): New prototype.
5035         (c_split_parallel_clauses): Removed.
5036         (c_omp_declare_simd_clauses_to_numbers,
5037         c_omp_declare_simd_clauses_to_decls): New prototypes.
5038         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5039         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5040         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5041         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5042         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5043         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5044         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5045         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5046         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5047         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5048         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5049         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5050         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5051         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5052         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5053         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5054         PRAGMA_OMP_CLAUSE_UNIFORM.
5056 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
5058         PR tree-optimization/20318
5059         * c-common.c (handle_returns_nonnull_attribute): New function.
5060         (c_common_attribute_table): Add returns_nonnull.
5062 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
5064         PR c++/19476
5065         * c.opt (fcheck-new): Move to common.opt.
5067 2013-09-25  Marek Polacek  <polacek@redhat.com>
5068             Jakub Jelinek  <jakub@redhat.com>
5070         PR sanitizer/58413
5071         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5072         an expression if we can prove it is correct.
5073         (ubsan_instrument_division): Likewise.  Remove unnecessary
5074         check.
5076 2013-09-18  Marek Polacek  <polacek@redhat.com>
5078         PR sanitizer/58411
5079         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5080         Declare it.
5081         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5083 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
5085         PR target/48094
5086         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5087         fobjc-gc, freplace-objc-classes): Accept for LTO.
5089 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
5091         * c-target.def: New hook
5093 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
5095         PR c++/43452
5096         * c.opt (Wdelete-incomplete): Add.
5098 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
5100         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5101         (vector_types_compatible_elements_p): New function.
5102         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5103         declaration.
5104         (vector_types_compatible_elements_p): Declare.
5106 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5108         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5109         a virtual member function.
5110         (pp_simple_type_specifier): Remove.
5111         (pp_c_type_specifier): Likewise.
5112         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5113         Rename from pp_c_type_specifier.  Adjust.
5114         (c_pretty_printer::c_pretty_printer): Do not assign to
5115         simple_type_specifier.
5117 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5119         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5120         member function.
5121         (c_pretty_printer::storage_class_specifier): Likewise.
5122         (c_pretty_printer::initializer): Likewise.
5123         (pp_declaration): Remove.
5124         (pp_declaration_specifiers): Likewise.
5125         (pp_abstract_declarator): Likewise.
5126         (pp_declarator): Likewise.
5127         (pp_type_id): Likewise.
5128         (pp_statement): Likewise.
5129         (pp_constant): Likewise.
5130         (pp_id_expression): Likewise.
5131         (pp_primary_expression): Likewise.
5132         (pp_unary_expression): Likewise.
5133         (pp_multiplicative_expression): Likewise.
5134         (pp_conditional_expression): Likewise.
5135         (pp_assignment_expression): Likewise.
5136         (pp_expression): Likewise.
5137         (pp_c_type_id): Likewise.
5138         (pp_c_storage_class_specifier): Likewise.
5139         * c-pretty-print.c (pp_c_type_cast): Tidy.
5140         (pp_c_pointer): Likewise.
5141         (pp_c_type_specifier): Likewise.
5142         (pp_c_parameter_type_list): Likewise.
5143         (pp_c_function_definition): Likewise.
5144         (pp_c_init_declarator): Likewise.
5145         (pp_c_initializer_list): Likewise.
5146         (pp_c_constructor_elts): Likewise.
5147         (c_pretty_printer::direct_abstract_declarator): Likewise.
5148         (c_pretty_printer::declaration_specifiers): Likewise.
5149         (c_pretty_printer::primary_expression): Likewise.
5150         (c_pretty_printer::postfix_expression): Likewise.
5151         (c_pretty_printer::type_id): Rename from pp_c_type_id.
5152         (c_pretty_printer::storage_class_specifier): Rename from
5153         pp_c_storage_class_specifier.
5154         (c_pretty_printer::initializer): Rename from pp_c_initializer.
5155         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5156         storage_class_specifier, initializer, offset_list, flags.
5158 2013-08-30  Marek Polacek  <polacek@redhat.com>
5160         * c-ubsan.c: New file.
5161         * c-ubsan.h: New file.
5163 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5165         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5166         member function.
5167         (c_pretty_printer::declaration_specifiers): Likewise.
5168         (c_pretty_printer::declarator): Likewise.
5169         (c_pretty_printer::abstract_declarator): Likewise.
5170         (c_pretty_printer::direct_abstract_declarator): Likewise.
5171         (c_pretty_printer::direct_declarator): Likewise.
5172         (c_pretty_printer::function_specifier): Likewise.
5173         (pp_declaration): Adjust.
5174         (pp_declaration_specifiers): Likewise.
5175         (pp_abstract_declarator): Likewise.
5176         (pp_direct_declarator): Likewise.
5177         (pp_function_specifier): Likewise.
5178         (pp_direct_abstract_declarator): Remove as unused.
5179         (pp_c_declaration): Remove.
5180         (pp_c_declaration_specifiers): Likewise.
5181         (pp_c_declarator): Likewise.
5182         (pp_c_direct_declarator): Likewise.
5183         (pp_c_function_specifier): Likewise.
5184         (pp_c_direct_abstract_declarator): Likewise.
5185         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5186         from pp_c_abstract_declarator.  Adjust.
5187         (c_pretty_printer::direct_abstract_declarator):  Rename from
5188         pp_c_direct_abstract_declarator.  Adjust.
5189         (c_pretty_printer::function_specifier): Rename from
5190         pp_c_function_specifier.  Adjust.
5191         (c_pretty_printer::declaration_specifiers): Rename from
5192         pp_c_declaration_specifiers.  Adjust.
5193         (c_pretty_printer::direct_declarator): Rename from
5194         pp_c_direct_declarator.  Adjust.
5195         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
5196         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
5197         (c_pretty_printer::c_pretty_printer): Do not assign to
5198         declaration, declaration_specifiers, declarator,
5199         direct_declarator, direct_abstract_declarator, function_specifier.
5201 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
5203         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5204         virtual member function.
5205         (c_pretty_printer::multiplicative_expression): Likewise.
5206         (c_pretty_printer::conditional_expression): Likewise.
5207         (c_pretty_printer::assignment_expression): Likewise.
5208         (c_pretty_printer::expression): Likewise.
5209         (pp_unary_expression): Adjust.
5210         (pp_multiplicative_expression): Likewise.
5211         (pp_assignment_expression): Likewise.
5212         (pp_conditional_expression): Likewise.
5213         (pp_expression): Likewise.
5214         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5215         from pp_c_unary_expression.  Adjust.
5216         (c_pretty_printer::multiplicative_expression): Rename from
5217         pp_c_multiplicative_expression.  Adjust.
5218         (c_pretty_printer::conditional_expression): Rename from
5219         pp_c_conditional_expression.  Adjust.
5220         (c_pretty_printer::assignment_expression): Rename from
5221         pp_c_assignment_expression.  Adjust.
5222         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
5223         (c_pretty_printer::c_pretty_printer): Do not assign to
5224         unary_expression, multiplicative_expression,
5225         conditional_expression, expression.
5227 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5229         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5230         virtual member function.
5231         (pp_postfix_expression): Adjust.
5232         (pp_c_postfix_expression): Remove.
5233         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5234         from pp_c_postfix_expression.  Adjust.
5235         (c_pretty_printer::c_pretty_printer): Do not assign to
5236         postfix_expression.
5238 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5240         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5241         virtua member function.
5242         (pp_primary_expression): Adjust.
5243         (pp_c_primary_expression): Remove.
5244         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5245         from pp_c_primary_expression.  Adjust.
5246         (pp_c_initializer_list): Use pp_primary_expression.
5247         (c_pretty_printer::c_pretty_printer): Do not assign to
5248         primary_expression.
5250 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5252         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5253         * c-pretty-print.c (M_): Remove.
5254         (c_pretty_printer::translate_string): Define.
5255         (pp_c_type_specifier): Use it.
5256         (pp_c_primary_expression): Likewise.
5257         (pp_c_expression): Likewise.
5259 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5261         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5262         virtual function.
5263         (pp_c_id_expression): Remove.
5264         (pp_id_expression): Adjust.
5265         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5266         pp_c_id_expression.  Adjust.
5267         (pp_c_postfix_expression): Use pp_id_expression.
5268         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5270 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5272         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5273         member function.
5274         (pp_constant): Adjust.
5275         (pp_c_constant): Remove.
5276         * c-pretty-print.c (c_pretty_printer::constant): Rename from
5277         pp_c_constant.  Adjust.
5278         (pp_c_constant)
5279         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5280         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5282 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5284         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5285         (c_pretty_printer::c_pretty_printer): Declare.
5286         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5287         c_pretty_printer_init.  Adjust.
5288         (print_c_tree): Do not call c_pretty_printer_init.
5289         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5291 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
5293         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5295 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
5297         PR c++/58080
5298         * c-common.c (pointer_int_sum): Add bool parameter.
5299         * c-common.h (pointer_int_sum): Adjust declaration.
5301 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5303         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
5304         c_pretty_printer variable.
5306 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5308         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5309         (pp_base): Remove.
5310         (pp_c_base): Likewise.  Adjust users.
5311         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5312         (pp_c_whitespace): Do not call pp_base.
5313         (pp_c_left_paren): Likewise.
5314         (pp_c_right_paren): Likewise.
5315         (pp_c_left_brace): Likewise.
5316         (pp_c_right_brace): Likewise.
5317         (pp_c_left_bracket): Likewise.
5318         (pp_c_right_bracket): Likewise.
5319         (pp_c_dot): Likewise.
5320         (pp_c_ampersand): Likewise.
5321         (pp_c_star): Likewise.
5322         (pp_c_arrow): Likewise.
5323         (pp_c_semicolon): Likewise.
5324         (pp_c_complement): Likewise.
5325         (pp_c_exclamation): Likewise.
5326         (pp_c_direct_declarator): Likewise.
5327         (pp_c_ws_string): Likewise.
5328         (pp_c_identifier): Likewise.
5329         (pp_c_statement): Likewise.
5330         (print_c_tree): Likewise.
5332 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
5334         PR c++/58072
5335         * c-common.c (c_parse_error): Catch user-defined literal tokens and
5336         provide useful error strings.
5338 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5340         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5341         printer functions instead of pp_string or operators and punctuators.
5342         (dump_generic_ada_node): Likewise.
5343         * c-pretty-print.c (pp_c_type_specifier): Likewise.
5344         (pp_c_relational_expression): Likewise.
5345         (pp_c_logical_or_expression): Likewise.
5347 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5349         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5350         functions instead of pp_character.
5351         (pp_ada_tree_identifier): Likewise.
5352         (dump_ada_double_name): Likewise.
5353         (dump_ada_function_declaration): Likewise.
5354         (dump_ada_array_domains): Likewise.
5355         (dump_template_types): Likewise.
5356         (dump_generic_ada_node): Likewise.
5357         (print_ada_declaration): Likewise.
5358         (print_ada_struct_decl): Likewise.
5359         * c-pretty-print.c (pp_c_integer_constant): Likewise.
5361 2013-07-23  Tom Tromey  <tromey@redhat.com>
5363         * c-common.h (enum rid) <RID_GENERIC>: New constant.
5364         * c-common.c (c_common_reswords): Add _Generic.
5366 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
5368         * c-common.c: Fix typos.
5369         * c-common.h: Likewise.
5371 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
5373         PR c++/55203
5374         * c-common.c (c_common_attribute_table): Add warn_unused.
5375         (handle_warn_unused_attribute): New.
5377 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
5379         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5380         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5382 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
5384         PR c++/57869
5385         * c.opt: Add Wconditionally-supported.
5387 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
5389         * array-notation-common.c (length_mismatch_in_expr_p): Delete
5390         unused variables l_length and l_node.
5392 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
5394         PR c/57821
5395         * c-common.c (complete_array_type): Delay folding first index
5396         like other indices.  When folding, check for index overflow.
5398 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
5400         PR c++/57509
5401         * c-common.h (c_build_vec_perm_expr): New complain argument.
5402         * c-common.c (c_build_vec_perm_expr): Likewise.
5403         Use save_expr also in C++.
5405 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5407         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5408         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5409         * c-opts.c (c_common_post_options): Likewise.
5411 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5413         * array-notation-common.c (length_mismatch_in_expr): Changed the
5414         parameter type's from a dynamic array to a vec_tree.  Also removed
5415         the size parameters.
5416         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5417         the change above.
5419 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5421         * c-common.h (struct cilkplus_an_parts): New structure.
5422         (struct cilkplus_an_loop_parts): Likewise.
5423         (cilkplus_extract_an_triplets): New prototype.
5424         (fix_sec_implicit_args): Likewise.
5425         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5426         (fix_sec_implicit_args): Likewise.
5428 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5430         * array-notation-common.c (find_inv_trees): Removed an unwanted
5431         typecasting.
5432         * c-common.h (struct inv_list::additional_tcodes): Changed type from
5433         enum rid to enum tree_code.
5435 2013-06-11  Jan Hubicka  <jh@suse.cz>
5437         * c-common.c (handle_alias_ifunc_attribute): Do not set
5438         DECL_EXTERNAL for weakref variables.
5439         * c-pragma.c (handle_pragma_weak): Make sure aliases
5440         are not declared as external.
5442 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5444         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5445         function from c/c-array-notation.c.
5446         (is_cilkplus_reduce_builtin): Likewise.
5447         (find_rank): Likewise.
5448         (extract_array_notation_exprs): Likewise.
5449         (replace_array_notations): Likewise.
5450         (find_inv_trees): Likewise.
5451         (replace_inv_trees): Likewise.
5452         (contains_array_notation_expr): Likewise.
5453         (find_correct_array_notation_type): Likewise.
5454         * c-common.h (struct inv_list): Moved this struct from the file
5455         c/c-array-notation.c and added a new field called additional tcodes.
5456         (length_mismatch_in_expr_p): New prototype.
5457         (is_cilkplus_reduce_builtin): Likewise.
5458         (find_rank): Likewise.
5459         (extract_array_notation_exprs): Likewise.
5460         (replace_array_notation): Likewise.
5461         (find_inv_trees): Likewise.
5462         (replace_inv_trees): Likewise.
5463         (find_correct_array_notation_type): Likewise.
5465 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5467         * c-common.c (c_define_builtins): When cilkplus is enabled, the
5468         function array_notation_init_builtins is called.
5469         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5470         * c-common.def (ARRAY_NOTATION_REF): New tree.
5471         * c-common.h (build_array_notation_expr): New function declaration.
5472         (build_array_notation_ref): Likewise.
5473         (extract_sec_implicit_index_arg): New extern declaration.
5474         (is_sec_implicit_index_fn): Likewise.
5475         (ARRAY_NOTATION_CHECK): New define.
5476         (ARRAY_NOTATION_ARRAY): Likewise.
5477         (ARRAY_NOTATION_START): Likewise.
5478         (ARRAY_NOTATION_LENGTH): Likewise.
5479         (ARRAY_NOTATION_STRIDE): Likewise.
5480         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5481         ARRAY_NOTATION_REF.
5482         (pp_c_expression): Likewise.
5483         * c.opt (flag_enable_cilkplus): New flag.
5484         * array-notation-common.c: New file.
5486 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
5488         PR c++/57274
5489         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5491 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
5493         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5494         vectors.
5496 2013-05-07  Han Shen  <shenhan@google.com>
5498         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5500 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5502         * c-common.c (check_user_alignment): Emit error for negative values.
5504 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5506         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5508 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5510         * c-cppbuiltin.c (c_cpp_builtins): Do not define
5511         __GXX_EXPERIMENTAL_CXX1Y__.
5513 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5514             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
5516         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5517         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5518         to simply use OPT_Wpointer_arith.
5519         (c_sizeof_or_alignof_type): Likewise.
5521 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5523         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5525 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
5527         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5528         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5529         specifiers.
5531 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
5533         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5535 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
5537         * c-common.c (pointer_int_sum): Remove dead code.
5539 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
5541         PR middle-end/56524
5542         * c-common.c (handle_optimize_attribute): Don't call
5543         save_optabs_if_changed.
5545 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
5547         PR middle-end/56461
5548         * c-pch.c (pch_init): Free target_validity at the end.
5550 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
5552         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5554 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
5555             Jakub Jelinek  <jakub@redhat.com>
5557         PR sanitizer/56454
5558         * c-common.c (handle_no_sanitize_address_attribute): New function.
5559         (c_common_attribute_table): Add no_sanitize_address attribute.
5560         (handle_no_address_safety_analysis_attribute): Add
5561         no_sanitize_address attribute, not no_address_safety_analysis
5562         attribute.
5564 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
5566         PR target/52555
5567         * c-common.c (handle_optimize_attribute): Call
5568         save_optabs_if_changed.
5570 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
5571             Steven Bosscher  <steven@gcc.gnu.org>
5573         PR pch/54117
5574         * c-opts.c (c_common_post_options): If debug info is enabled
5575         and non-dwarf*, refuse to load PCH files and when writing PCH
5576         file warn.
5578 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
5580         PR middle-end/56167
5581         * c-common.c (handle_error_attribute): Fix condition.
5583 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
5585         PR c++/55742
5586         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5588 2013-01-18  Jason Merrill  <jason@redhat.com>
5590         PR target/54908
5591         * c.opt (-fextern-tls-init): New.
5592         * c-opts.c (c_common_post_options): Handle it.
5594 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
5596         PR c/48418
5597         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5598         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5599         and is either negative or bigger or equal to type precision
5600         of the first operand.
5602 2012-12-03  Marek Polacek  <polacek@redhat.com>
5604         PR c/55570
5605         * c-common.c (check_user_alignment): Swap order of tests,
5606         check TREE_CODE first.
5608 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
5610         PR c++/52654
5611         * c-common.h (overflow_type): New enum.
5612         (build_userdef_literal): Add overflow_type argument.
5613         (tree_userdef_literal): Add overflow_type.
5614         (USERDEF_LITERAL_OVERFLOW): New access macro.
5615         * c-common.c (build_userdef_literal): Add overflow_type
5616         argument.
5617         * c-lex.c (c_lex_with_flags): Add overflow_type to
5618         build_userdef_literal calls.
5619         (interpret_integer, interpret_float): Add overflow_type argument.
5621 2012-11-28  Richard Biener  <rguenther@suse.de>
5623         PR c/35634
5624         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5625         here and use a type with proper overflow behavior for types that would
5626         need to be promoted for the arithmetic.
5628 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
5630         PR sanitizer/55435
5631         * c-common.c (handle_no_address_safety_analysis_attribute): New
5632         function.
5633         (c_common_attribute_table): Add no_address_safety_analysis.
5635 2012-11-16  Simon Baldwin  <simonb@google.com>
5637         * c.opt: Add f[no-]canonical-system-headers.
5638         * c-opts.c (c_common_handle_option): Handle
5639         OPT_fcanonical_system_headers.
5641 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
5643         PR c++/54413
5644         * c-opts.c (c_common_handle_option): Set new flags.
5645         * c.opt: Describe new flags.
5647 2012-11-09  Jason Merrill  <jason@redhat.com>
5649         * c.opt (Wabi-tag): New.
5651 2012-11-09  Andi Kleen  <ak@linux.intel.com>
5653         PR 55139
5654         * c-common.c (get_atomic_generic_size): Mask with
5655         MEMMODEL_MASK
5657 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5659         PR c/53063
5660         * c.opt (Wformat): Make it Alias Wformat=1.
5661         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5662         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5663         LangEnabledBy.
5664         (Wformat=): RejectNegative. Use LangEnabledBy.
5665         (Wnonnull): Use LangEnabledBy.
5666         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5667         * c-format.c (set_Wformat): Delete.
5668         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
5669         (maybe_read_dollar_number):  Likewise.
5670         (avoid_dollar_number):  Likewise.
5671         (finish_dollar_format_checking):  Likewise.
5672         (check_format_info):  Likewise.
5673         (check_format_info_main):  Likewise.
5674         (check_format_types):  Likewise.
5675         (format_type_warning):  Likewise.
5676         * c-common.c (int):  Likewise.
5677         (check_function_sentinel):  Likewise.
5678         * c-common.h (warn_format,set_Wformat): Do not declare here.
5680 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5682         PR c/53063
5683         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5684         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5685         Use LangEnabledBy.
5686         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5687         common.opt.
5688         (Wvariadic-macros): Init(1).
5689         * c-opts.c (c_common_handle_option): Do not handle them
5690         explicitly.
5691         (c_common_post_options): Likewise.
5692         (sanitize_cpp_opts): warn_unused_macros is now
5693         cpp_warn_unused_macros.
5694         (push_command_line_include): Likewise.
5695         * c-common.c (warn_unknown_pragmas): Do not define.
5696         * c-common.h (warn_unknown_pragmas): Do not declare.
5698 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5700         PR c/51294
5701         * c-common.c (conversion_warning): Handle conditional expressions.
5703 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
5705         PR c++/54930
5706         * c.opt (Wreturn_local_addr): Define new option.
5708 2012-10-25  Jason Merrill  <jason@redhat.com>
5710         * c.opt (Wvirtual-move-assign): New.
5712         * c.opt (Winherited-variadic-ctor): New.
5714 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
5716         PR c++/54427
5717         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5719 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
5721         * c-common.h (pch_cpp_save_state): Declare.
5722         * c-target.def (c_preinclude): New hook.
5723         * c-opts.c (done_preinclude): New.
5724         (push_command_line_include): Handle default preincluded header.
5725         (cb_file_change): Call pch_cpp_save_state when calling
5726         push_command_line_include.
5727         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5728         (pch_cpp_save_state): New.
5729         (pch_init): Call pch_cpp_save_state conditionally, instead of
5730         calling cpp_save_state.
5732 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5734         PR c/53063
5735         PR c/40989
5736         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5737         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5738         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5739         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5740         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5741         * c-opts.c (c_common_handle_option): Remove explicit handling from
5742         here.
5743         (c_common_post_options): Likewise.
5745 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
5747         * c-ada-spec.c (LOCATION_COL): Delete.
5748         (compare_location): New function.
5749         (compare_node): Use it.
5750         (compare_comment): Likewise.
5752 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5754         PR c/53063
5755         PR c/40989
5756         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5757         * c-opts.c (c_common_handle_option): Do not set them here. Add
5758         comment.
5759         (c_common_post_options): Likewise.
5761 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
5763         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5764         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5765         Remove POINTER_TYPE handling, add large unsigned handling and use
5766         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5768 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
5770         PR c/54381
5771         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5772         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5773         locs and array of 3 trees instead of just single loc and single
5774         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
5775         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5776         For *cmp* builtins that take two sources strings report warnings
5777         about first and second source, not about destination and source.
5779 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
5781         PR c++/53055
5782         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5784 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
5786         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5787         declaring something coming from another file.
5789 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
5791         PR ada/54845
5792         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5794 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
5796         PR c++/54194
5797         * c-common.c (warn_about_parentheses): Add location_t parameter;
5798         use EXPR_LOC_OR_LOC.
5799         * c-common.h: Update declaration.
5801 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
5803         PR c++/54427
5804         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5805         more operations. Make error messages optional.
5806         * c-common.h (enum stv_conv): Moved from c-typeck.c.
5807         (scalar_to_vector): Declare.
5809 2012-10-08  Jason Merrill  <jason@redhat.com>
5811         * c-common.c (c_common_reswords): Add thread_local.
5813 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
5815         PR c++/53528 C++11 attribute support
5816         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5817         new functions.
5818         * c-common.c (check_cxx_fundamental_alignment_constraints): New
5819         static function.
5820         (handle_aligned_attribute): In choose strictest alignment
5821         among many.  Use new check_cxx_fundamental_alignment_constraints.
5822         (handle_transparent_union_attribute): In c++11 attribute syntax,
5823         don't look through typedefs.
5825 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
5827         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5828         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5829         out of dumpfile.h.
5831 2012-09-25  Dehao Chen  <dehao@google.com>
5833         PR middle-end/54645
5834         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
5835         map when read in the pch.
5837 2012-09-18  Arnaud Charlet  <charlet@adacore.com>
5839         * c-ada-spec.c: Style fixes.
5841 2012-09-18  Thomas Quinot  <quinot@adacore.com>
5843         * c.opt (-fada-spec-parent): Define new command line switch.
5844         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5845         is specified, generate binding spec as a child of the specified unit.
5847 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
5848             Manuel López-Ibáñez  <manu@gcc.gnu.org>
5850         PR c++/53210
5851         * c.opt ([Winit-self]): Enabled by -Wall in C++.
5853 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
5855         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5856         for pointers, and add missing Convention C pragma.
5857         (print_ada_struct_decl): Add missing aliased keyword.
5858         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5860 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
5862         * c-common.c (sizeof_pointer_memaccess_warning): New function.
5863         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5864         * c-opts.c (c_common_handle_option): Enable it for -Wall.
5865         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5866         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5868 2012-08-10  Richard Guenther  <rguenther@suse.de>
5870         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5872 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
5874         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5875         instead of separate pp_newline and pp_flush.
5876         (print_c_tree): Likewise.
5878 2012-07-26  Richard Henderson  <rth@redhat.com>
5880         * c-common.c (handle_hot_attribute): Allow labels.
5881         (handle_cold_attribute): Likewise.
5883 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
5885         PR c++/28656
5886         * c-common.c (check_function_nonnull): Handle multiple nonnull
5887         attributes properly.
5889 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
5891         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5892         * c-ada-spec.c: Likewise.
5893         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5895 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
5897         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5898         Remove code conditional on it.
5900 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
5902         * c-gimplify.c: Do not include basic-block.h.
5903         * c-common.c: Do not include linfuncs.h.
5905 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
5907         * c-common.h: Include tree.h.
5909 2012-07-02  Jason Merrill  <jason@redhat.com>
5911         PR c++/53524
5912         * c-common.c (get_priority): Call default_conversion.
5914 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
5916         * c-pch.c (c_common_write_pch): Remove unused variables.
5918 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
5920         * cppspec.c: Moved from gcc/ to here.
5922 2012-06-27  Kai Tietz  <ktietz@redhat.com>
5924         PR preprocessor/37215
5925         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5927 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
5929         * c-common.h (c_common_print_pch_checksum): Remove.
5930         * c-pch.c: Do not include output.h.
5931         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5932         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5933         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5934         (struct c_pch_header): Remove.
5935         (get_ident): Update gpch version.
5936         (pch_init): Do not print executable_checksum to asm_out_file.
5937         Do not fail if there is no asm_out_file to read back from.  Set
5938         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5939         (c_common_write_pch): Verify that nothing was written to asm_out_file
5940         since pch_init was called.  Do not write a c_pch_header, and do not
5941         copy from asm_out_file to the PCH.
5942         (c_common_read_pch): Do not read a c_pch_header, and do not restore
5943         the content of asm_out_file from the PCH.
5944         (c_common_print_pch_checksum): Remove.
5945         * c-opts.c (c_common_init): Print out executable_checksum directly.
5947 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
5949         * c-target.def (objc_declare_unresolved_class_reference,
5950         objc_declare_class_definition): Add new hooks.
5952 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
5954         * c-lex.c: Do not include output.h.
5955         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5956         Remove uses of ASM_OUTPUT_IDENT.
5958 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
5960         PR c++/51033
5961         * c-common.h (c_build_vec_perm_expr): Move decl here.
5962         * c-common.c (c_build_vec_perm_expr): Move definition
5963         here.
5965 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
5967         * c.opt (fconserve-space): Turn into a no-op.
5969 2012-06-04  Sterling Augustine  <saugustine@google.com>
5971         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5972         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5973         both the start and end of the function.
5975 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
5977         * c-common.c: Do not include output.h.
5978         * c-pragma.c: Likewise.
5980 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
5982         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5983         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5984         (lang_decl_name): Handle namespace decls.
5986 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
5988         * c-ada-spec.c: Do not include output.h.
5989         * c-semantics.c: Likewise.
5991 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
5993         * c-common.c: Fix typo.
5995 2012-05-29  Michael Matz  <matz@suse.de>
5997         * c-common.h (c_expand_decl): Remove prototype.
5999 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6001         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6002         * c-opts.c (c_common_handle_option): Remove code handling
6003         warn_missing_braces.
6005 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
6007         PR c++/25137
6008         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6009         -Wmissing_braces.
6011 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
6013         PR c++/53322
6014         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6016 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6018         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6019         * c-opts.c (c_common_handle_option): Do not handle explicitly
6020         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6022 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
6024         PR preprocessor/7263
6025         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
6026         to cpp_classify_number.  For diagnostics, use the precise location
6027         instead of the global input_location.
6029 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
6031         PR c++/11856
6032         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6034 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
6036         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
6038 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6040         PR 53063
6041         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6042         Wreorder): Use LangEnabledBy.
6043         * c-opts.c (c_common_handle_option): Do not enable them
6044         explicitly. Call lang-specific generated functions.
6045         (c_common_post_options): Do not set them here.
6047 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6049         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6050         Wmissing-field-initializers,Wmissing-parameter-type,
6051         Wold-style-declaration,Woverride-init): Use EnabledBy.
6052         * c-opts.c (c_common_post_options): Do not set here explicitly.
6054 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6056         PR 53063
6057         * c-opts.c (c_common_handle_option): Use handle_generated_option
6058         to enable sub-options.
6060 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
6062         PR c++/53158
6063         * c-common.c (warnings_for_convert_and_check): Use warning_at.
6065 2012-05-10  Richard Guenther  <rguenther@suse.de>
6067         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6068         adjust commentary about TYPE_IS_SIZETYPE types.
6070 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6072         PR c++/53261
6073         * c-common.c (warn_logical_operator): Check that argument of
6074         integer_zerop is not NULL.
6076 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6078         PR c/43772
6079         * c-common.c (warn_logical_operator): Do not warn if either side
6080         is already true or false.
6082 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6084         PR c/51712
6085         * c-common.c (expr_original_type): New.
6086         (shorten_compare): Do not warn for enumeration types.
6088 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6090         * c.opt (fpermissive): Add Var(flag_permissive).
6092 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
6094         PR c++/51033
6095         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6096         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6098 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
6100         Add -Wvarargs option
6101         * c.opt (Wvarargs):  Define new option.
6103 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6105         * c-common.c (check_function_arguments): Replace
6106         Wmissing-format-attribute with Wsuggest-attribute=format.
6108 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6110         * c.opt (Wsuggest-attribute=format): New. Alias of
6111         Wmissing-format-attribute.
6112         * c-format.c (decode_format_type): Replace
6113         Wmissing-format-attribute with Wsuggest-attribute=format.
6114         (check_function_format): Likewise.
6116 2012-04-27  Ollie Wild  <aaw@google.com>
6118         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6119         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6120         * c.opt: Add Wliteral-suffix.
6122 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6124         PR c/44774
6125         * c.opt (Wpedantic): New.
6126         (pedantic): Alias Wpedantic.
6127         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6128         (c_common_post_options): Likewise.
6129         (sanitize_cpp_opts): Likewise.
6130         * c-lex.c (interpret_float): Likewise.
6131         * c-format.c (check_format_types): Likewise.
6132         * c-common.c (pointer_int_sum): Likewise.
6133         (c_sizeof_or_alignof_type): Likewise.
6134         (c_add_case_label): Likewise.
6135         (c_do_switch_warnings): Likewise.
6136         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6138 2012-04-15  Jason Merrill  <jason@redhat.com>
6140         PR c++/52818
6141         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6142         (C_STD_NAME): Distinguish between C++98 and C++11.
6144 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
6146         PR target/52624
6147         * c-common.h (uint16_type_node): Rename into...
6148         (c_uint16_type_node): ...this.
6149         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6150         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6152 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6154         * c-common.c (warn_if_unused_value): Move definition to here.
6155         * c-common.h (warn_if_unused_value): Move declaration to here.
6157 2012-03-23  William Bader  <williambader@hotmail.com>
6159         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6161 2012-03-20  Jason Merrill  <jason@redhat.com>
6163         * c-common.h (enum cxx_dialect): Add cxx1y.
6164         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6165         test.
6166         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6167         * c-opts.c (c_common_post_options): Likewise.
6168         (set_std_cxx1y): New.
6169         (c_common_handle_option): Call it.
6170         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6172 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
6174         PR c++/14710
6175         * c.opt ([Wuseless-cast]): Add.
6177 2012-03-16  Richard Guenther  <rguenther@suse.de>
6179         * c-pretty-print.c (pp_c_initializer_list): Adjust.
6181 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6183         PR c++/44783
6184         * c.opt (ftemplate-backtrace-limit) Add.
6186 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6188         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6189         handling.
6190         * c-pragma.c (handle_pragma_extern_prefix): Remove.
6191         (init_pragma): Don't register extern_prefix.
6193 2012-03-12  Richard Guenther  <rguenther@suse.de>
6195         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6196         (builtin_type_for_size): Likewise.
6198 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6200         PR c++/52215
6201         * c-common.c (sync_resolve_params): Don't decide whether to convert
6202         or not based on TYPE_SIZE comparison, convert whenever arg_type
6203         is unsigned INTEGER_TYPE.
6205 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
6207         PR c/52118
6208         * c.opt ([Wunused-local-typedefs]): Fix description.
6210 2012-01-24  Mike Stump  <mikestump@comcast.net>
6212         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6213         exactly.
6215 2012-01-18  Richard Guenther  <rguenther@suse.de>
6217         * c-opts.c (c_common_post_options): Reset LTO flags if
6218         we are about to generate a PCH.
6220 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
6222         PR c++/51777
6223         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6224         use pp_unsigned_wide_integer.
6226 2012-01-10  Richard Guenther  <rguenther@suse.de>
6228         PR middle-end/51806
6229         * c-opts.c (c_common_handle_option): Move -Werror handling
6230         to language independent code.
6232 2012-01-05  Richard Guenther  <rguenther@suse.de>
6234         PR middle-end/51764
6235         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6236         from common.opt.
6238 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
6240         PR c++/51316
6241         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6242         of array types with an unknown bound.
6244 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
6246         * c-common.c (flag_isoc99): Update comment to refer to C11.
6247         (flag_isoc1x): Change to flag_isoc11.
6248         * c-common.h (flag_isoc99): Update comment to refer to C11.
6249         (flag_isoc1x): Change to flag_isoc11.
6250         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6251         C11.
6252         * c-opts.c (set_std_c1x): Change to set_std_c11.
6253         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6254         Call set_std_c11.
6255         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6256         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6257         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
6258         standard.
6259         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6260         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
6261         (std=gnu1x): Make alias of std=gnu11.
6263 2011-12-19  Jason Merrill  <jason@redhat.com>
6265         PR c++/51228
6266         * c-common.c (handle_transparent_union_attribute): Check the first
6267         field if the type is complete.
6269 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
6271         PR libstdc++/51365
6272         * c-common.c (RID_IS_FINAL): Add.
6273         * c-common.h (RID_IS_FINAL): Add.
6275 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
6277         * c.opt (fgnu-runtime): Provide full description.
6278         (fnext-runtime): Likewise.
6279         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6281 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
6283         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
6284         predefines in one place.  Add LOCK_FREE predefines.
6285         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6286         new func.
6288 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
6290         PR c/51256
6291         * c-common.c (get_atomic_generic_size): Check for various error
6292         conditions
6293         (resolve_overloaded_atomic_exchange,
6294         resolve_overloaded_atomic_compare_exchange,
6295         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6296         error_mark_node for error conditions.
6298 2011-11-08  Richard Guenther  <rguenther@suse.de>
6300         PR middle-end/51010
6301         c-family/
6303 2011-11-07  Richard Henderson  <rth@redhat.com>
6304             Aldy Hernandez  <aldyh@redhat.com>
6305             Torvald Riegel  <triegel@redhat.com>
6307         Merged from transactional-memory.
6309         * c-common.c (handle_tm_wrap_attribute,
6310         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6311         (struct c_common_reswords): Added __transaction* keywords.
6312         (struct c_common_attribute_table): Added transaction* and tm_regparm
6313         attributes.
6314         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6315         masks.
6316         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6317         find_tm_attribute): Declare.
6319 2011-11-07  Jason Merrill  <jason@redhat.com>
6321         PR c++/35688
6322         * c-common.c, c-common.h: Revert yesterday's changes.
6324 2011-11-06  Jason Merrill  <jason@redhat.com>
6326         PR c++/35688
6327         * c-common.c (decl_has_visibility_attr): Split out from...
6328         (c_determine_visibility): ...here.
6329         * c-common.h: Declare it.
6331 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
6333         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6334         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6335         type.
6336         (check_user_alignment): New.  Split out of
6337         handle_aligned_attribute.  Disallow integer constants with
6338         noninteger types.  Conditionally allow zero.
6339         (handle_aligned_attribute): Use check_user_alignment.
6340         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6342 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
6343             Richard Henderson  <rth@redhat.com>
6345         Merged from cxx-mem-model.
6347         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
6348         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
6349         parameters that are the same type size.
6350         (get_atomic_generic_size): New.  Find size of generic
6351         atomic function parameters and do typechecking.
6352         (add_atomic_size_parameter): New.  Insert size into parameter list.
6353         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6354         either __atomic_exchange_n or external library call.
6355         (resolve_overloaded_atomic_compare_exchange): Restructure
6356         __atomic_compare_exchange to either _n variant or external library call.
6357         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
6358         __atomic_load_n or an external library call.
6359         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6360         __atomic_store_n or an external library call.
6361         (resolve_overloaded_builtin): Handle new __atomic builtins.
6363 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
6365         PR c++/50608
6366         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6367         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
6368         <INDIRECT_REF>: Return the argument.
6369         <ARRAY_REF>: Remove special code for negative offset.
6370         Call fold_build_pointer_plus instead of size_binop.
6371         (fold_offsetof): Remove STOP_REF argument and adjust.
6372         * c-common.h (fold_offsetof_1): Declare.
6373         (fold_offsetof): Remove STOP_REF argument.
6375 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
6377         PR c++/50810
6378         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6379         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6380         Wnarrowing for C++0x and C++98.
6381         * c.opt ([Wnarrowing]): Update.
6383 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
6385         PR c++/44277
6386         * c.opt: Add Wzero-as-null-pointer-constant.
6388 2011-10-31  Jason Merrill  <jason@redhat.com>
6390         * c.opt (-fdeduce-init-list): Off by default.
6392         PR c++/50920
6393         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6394         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6395         and -Wc++11-compat.
6396         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6398 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
6400         PR c++/30066
6401         * c.opt (fvisibility-inlines-hidden): Description change.
6403 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
6405         Implement C++11 user-defined literals.
6406         * c-common.c (build_userdef_literal): New.
6407         * c-common.def: New tree code.
6408         * c-common.h (tree_userdef_literal): New tree struct and accessors.
6409         * c-lex.c (interpret_float): Add suffix parm.
6410         (c_lex_with_flags): Build literal tokens.
6412 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6414         PR c++/50841
6415         Revert:
6416         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6418         PR c++/50810
6419         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6420         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6421         Wnarrowing for C++0x and C++98.
6422         * c.opt ([Wnarrowing]): Update.
6424 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6426         PR c++/50810
6427         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6428         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6429         Wnarrowing for C++0x and C++98.
6430         * c.opt ([Wnarrowing]): Update.
6432 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
6434         PR c++/45385
6435         * c-common.c (conversion_warning): Remove code looking for
6436         artificial operands.
6438 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
6440         PR bootstrap/50760
6441         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
6442         !NO_IMPLICIT_EXTERN_C.
6444 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
6446         * c-common.c (c_common_reswords): Add __bases,
6447         __direct_bases.
6448         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6450 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
6452         PR c++/50757
6453         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6455 2011-10-15  Tom Tromey  <tromey@redhat.com>
6456             Dodji Seketeli  <dodji@redhat.com>
6458         * c.opt (fdebug-cpp): New option.
6459         * c-opts.c (c_common_handle_option): Handle the option.
6460         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6461         output stream in parameter. Factorized from ...
6462         (maybe_print_line): ... this. Dump location debug information when
6463         -fdebug-cpp is in effect.
6464         (print_line_1): New static function. Takes an output stream in
6465         parameter. Factorized from ...
6466         (print_line): ... here. Dump location information when -fdebug-cpp
6467         is in effect.
6468         (scan_translation_unit): Dump location information when
6469         -fdebug-cpp is in effect.
6471 2011-10-15  Tom Tromey  <tromey@redhat.com>
6472             Dodji Seketeli  <dodji@redhat.com>
6474         * c.opt (ftrack-macro-expansion): New option. Handle it with and
6475         without argument.
6476         * c-opts.c (c_common_handle_option)<case
6477         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6478         cases. Handle -ftrack-macro-expansion with and without argument.
6480 2011-10-15  Tom Tromey  <tromey@redhat.com>
6481             Dodji Seketeli  <dodji@redhat.com>
6483         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6484         (print_line, cb_define, do_line_change): Adjust to avoid touching
6485         the internals of struct line_map.  Use the public API instead.
6486         * c-pch.c (c_common_read_pch): Likewise.
6487         * c-lex.c (fe_file_change): Likewise.
6489 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
6491         PR c++/17212
6492         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6494 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
6496         PR c++/33067
6497         * c-pretty-print.c (pp_c_floating_constant): Output
6498         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6500 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
6502         * c-common.c (def_builtin_1): Delete old interface with two
6503         parallel arrays to hold standard builtin declarations, and replace
6504         it with a function based interface that can support creating
6505         builtins on the fly in the future.  Change all uses, and poison
6506         the old names.  Make sure 0 is not a legitimate builtin index.
6507         * c-omp.c (c_finish_omp_barrier): Ditto.
6508         (c_finish_omp_taskwait): Ditto.
6509         (c_finish_omp_flush): Ditto.
6511 2011-10-11  Tristan Gingold  <gingold@adacore.com>
6513         * c.opt: (fallow-parameterless-variadic-functions): New.
6515 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
6517         PR c++/33255 - Support -Wunused-local-typedefs warning
6518         * c-common.h (struct c_language_function::local_typedefs): New
6519         field.
6520         (record_locally_defined_typedef, maybe_record_typedef_use)
6521         (maybe_warn_unused_local_typedefs): Declare new functions.
6522         * c-common.c (record_locally_defined_typedef)
6523         (maybe_record_typedef_use)
6524         (maybe_warn_unused_local_typedefs): Define new functions.
6525         * c.opt: Declare new -Wunused-local-typedefs flag.
6527 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
6529         PR middle-end/50266
6530         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6531         computations.
6533 2011-09-05  Richard Guenther  <rguenther@suse.de>
6535         * c-common.c (complete_array_type): Use ssize_int (-1) instead
6536         of integer_minus_one_node for empty array upper bounds.
6538 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
6540         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6541         it's the first time it's being called on this main TU.
6543 2011-08-24  Richard Guenther  <rguenther@suse.de>
6545         PR c/49396
6546         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6548 2011-08-22  Gabriel Charette  <gchare@google.com>
6550         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6551         defined in cpp_init_builtins and c_cpp_builtins.
6553 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
6555         * c-common.c (c_common_reswords): Add __builtin_complex.
6556         * c-common.h (RID_BUILTIN_COMPLEX): New.
6558 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
6560         * c-common.c (c_common_reswords): Add _Noreturn.
6561         (keyword_is_function_specifier): Handle RID_NORETURN.
6562         * c-common.h (RID_NORETURN): New.
6564 2011-08-10  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
6566         * c-common.c (unsafe_conversion_p): New function. Check if it is
6567         unsafe to convert an expression to the type.
6568         (conversion_warning): Adjust, use unsafe_conversion_p.
6569         * c-common.h (unsafe_conversion_p): New function declaration.
6571 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
6573         * c-common.h (c_finish_omp_atomic): Adjust prototype.
6574         (c_finish_omp_taskyield): New prototype.
6575         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6576         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6577         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
6578         or RHS1 have side-effects, evaluate those too in the right spot,
6579         if it is a decl and LHS is also a decl, error out if they
6580         aren't the same.
6581         (c_finish_omp_taskyield): New function.
6582         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6583         * c-pragma.c (omp_pragmas): Add taskyield.
6584         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6585         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6586         PRAGMA_OMP_CLAUSE_MERGEABLE.
6588 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
6590         * c-common.h (set_underlying_type): Remove parm name from
6591         declaration.
6593 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
6595         * c-pretty-print.h: Search c-common.h in c-family.
6597 2011-07-22  Jason Merrill  <jason@redhat.com>
6599         PR c++/49793
6600         * c.opt (Wnarrowing): New.
6602         PR c++/30112
6603         * c-common.h: Declare c_linkage_bindings.
6604         * c-pragma.c (handle_pragma_redefine_extname): Use it.
6606         PR c++/49813
6607         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6608         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6609         as flag_isoc99 for 'restrict'.
6610         (pp_c_specifier_qualifier_list): Likewise for _Complex.
6612 2011-07-21  Ian Lance Taylor  <iant@google.com>
6614         PR middle-end/49705
6615         * c-common.c (c_disable_warnings): New static function.
6616         (c_enable_warnings): New static function.
6617         (c_fully_fold_internal): Change local unused_p to bool.  Call
6618         c_disable_warnings and c_enable_warnings rather than change
6619         c_inhibit_evaluation_warnings.
6621 2011-07-20  Jason Merrill  <jason@redhat.com>
6623         PR c++/6709 (DR 743)
6624         PR c++/42603 (DR 950)
6625         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6626         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6627         (CPP_DECLTYPE): New.
6628         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6630 2011-07-19  Richard Guenther  <rguenther@suse.de>
6632         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6633         * c-omp.c (c_finish_omp_for): Likewise.
6635 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
6637         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6638         body on the next line.
6640 2011-07-08  Jason Merrill  <jason@redhat.com>
6642         PR c++/45437
6643         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6645         PR c++/49673
6646         * c-common.c (c_apply_type_quals_to_decl): Don't check
6647         TYPE_NEEDS_CONSTRUCTING.
6649 2011-07-06  Richard Guenther  <rguenther@suse.de>
6651         * c-common.c (c_common_nodes_and_builtins):
6652         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6654 2011-07-05  Richard Guenther  <rguenther@suse.de>
6656         * c-common.c (c_common_nodes_and_builtins): Build all common
6657         tree nodes first.
6659 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
6661         * c-common.h (c_tree_chain_next): New static inline function.
6663         * c-common.c (check_builtin_function_arguments): Handle
6664         BUILT_IN_ASSUME_ALIGNED.
6666 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
6668         * c-common.c: Add sync_ or SYNC__ to builtin names.
6669         * c-omp.c: Add sync_ or SYNC__ to builtin names.
6671 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
6673         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6674         handler.
6675         (gen_pragma_handler): New union.
6676         (internal_pragma_handler): New type.
6677         (c_register_pragma_with_data)
6678         (c_register_pragma_with_expansion_and_data): New functions.
6680         * c-pragma.c (registered_pragmas, c_register_pragma_1)
6681         (c_register_pragma, c_register_pragma_with_expansion)
6682         (c_invoke_pragma_handler): Changed to work with
6683         internal_pragma_handler.
6684         (c_register_pragma_with_data)
6685         (c_register_pragma_with_expansion_and_data): New functions.
6687 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
6689         * c-common.c: Include common/common-target.h.
6690         (handle_section_attribute): Use
6691         targetm_common.have_named_sections.
6692         * c-cppbuiltin.c: Include common/common-target.h.
6693         (c_cpp_builtins): Use targetm_common.except_unwind_info.
6695 2011-06-10  Richard Guenther  <rguenther@suse.de>
6697         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6698         to print a IDENTIFIER_NODE.
6700 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6701             Joseph Myers  <joseph@codesourcery.com>
6703         * c.opt (fbuilding-libgcc): New option.
6704         * c-cppbuiltin.c (c_cpp_builtins): Define
6705         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6707 2011-06-07  Jason Merrill  <jason@redhat.com>
6709         * c-common.c (max_tinst_depth): Lower default to 900.
6711         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6713 2011-06-07  Richard Guenther  <rguenther@suse.de>
6715         * c-common.c (c_common_nodes_and_builtins): Do not set
6716         size_type_node or call set_sizetype.
6718 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
6720         PR debug/49130
6721         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
6722         type when using pointer comparison to compare types.
6724 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
6726         * c.opt: Add -Wdelete-non-virtual-dtor.
6727         * c-opts.c (c_common_handle_option): Include it in -Wall.
6729 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
6731         PR bootstrap/49190
6733         Revert:
6734         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6736         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6737         not tree_common.
6739 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
6741         PR c++/49165
6742         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6743         C++ don't call c_common_truthvalue_conversion on void type arms.
6745 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
6747         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6748         (stmt_list_stack): Define.
6749         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6750         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6752 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6754         * c-common.c (warning_candidate_p): Check for BLOCKs.
6756 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6758         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6759         not tree_common.
6761 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
6763         * c-common.c (def_fn_type): Remove extra va_end.
6765 2011-05-23  Jason Merrill  <jason@redhat.com>
6767         PR c++/48106
6768         * c-common.c (c_common_get_narrower): New.
6769         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6771 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
6773         * c-common.h (check_function_arguments): Tweak prototype of
6774         check_function_arguments.
6775         * c-common.c (check_function_arguments): Likewise.  Adjust
6776         calls to check_function_nonnull, check_function_format, and
6777         check_function_sentinel.
6778         (check_function_sentinel): Take a FUNCTION_TYPE rather than
6779         separate attributes and typelist arguments.  Use
6780         FOREACH_FUNCTION_ARGS to iterate over argument types.
6782 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
6784         * c-common.c (c_common_reswords): Reorder.
6785         * c-common.h (rid): Likewise.
6787 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
6789         * c-common.c (def_fn_type): Don't call build_function_type, call
6790         build_function_type_array or build_varargs_function_type_array
6791         instead.
6792         (c_common_nodes_and_builtins): Likewise.
6794 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
6796         * c-common.c (c_add_case_label): Omit the loc argument to
6797         build_case_label.
6798         * c-common.h (build_case_label): Remove.
6799         * c-semantics.c (build_case_label): Remove.
6801 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
6803         * c-objc.h (objc_start_method_definition): Update prototype.
6804         * stub-objc.c (objc_start_method_definition): Add extra parameter.
6806 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
6808         * c-common.c (check_main_parameter_types): Reindent.  Don't use
6809         TYPE_ARG_TYPES directly.
6810         (handle_nonnull_attribute): Likewise.
6811         (sync_resolve_params): Likewise.
6812         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
6813         to check_format_string.
6814         (handle_format_attribute): Likewise.
6815         (check_format_string): Take a function type to examine instead of
6816         a type list.  Use a function_arg_iterator to step through argument
6817         types.
6819 2011-05-04  Richard Guenther  <rguenther@suse.de>
6821         * c-common.c (fix_string_type): Use size_int for index type bounds.
6822         (start_fname_decls): Do not pass NULL to build_int_cst.
6823         (c_init_attributes): Likewise.
6824         * c-lex.c (c_lex_with_flags): Likewise.
6826 2011-04-27  Jason Merrill  <jason@redhat.com>
6828         * c-common.c (make_tree_vector_from_list): New.
6829         * c-common.h: Declare it.
6831 2011-04-26  Richard Guenther  <rguenther@suse.de>
6833         PR preprocessor/48248
6834         * c-ppoutput.c (maybe_print_line): Always optimize newlines
6835         for output size with -P.
6837 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
6839         * c-common.c (struct c_common_resword): Add __underlying_type.
6840         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6842 2011-04-20  Jim Meyering  <meyering@redhat.com>
6844         * c-format.c (init_dollar_format_checking): Remove useless
6845         if-before-free.
6847 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
6849         * c-objc.h (objc_get_interface_ivars): Removed.
6850         (objc_detect_field_duplicates): New.
6851         * stub-objc.c: Likewise.
6853 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
6855         * stub-objc.c (objc_declare_protocols): Renamed to
6856         objc_declare_protocol.
6857         * c-objc.h: Likewise.
6859 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
6861         * stub-objc.c (objc_declare_class): Updated argument name.
6863 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
6865         * c-common.h (c_common_init_ts): Declare.
6866         * c-common.c (c_common_init_ts): Define.
6868 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
6870         * c-objc.h (objc_build_message_expr): Updated prototype.
6871         * stub-objc.c (objc_build_message_expr): Likewise.
6873 2011-04-12  Martin Jambor  <mjambor@suse.cz>
6875         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6876         of cgraph_node.
6878 2011-04-11  Richard Guenther  <rguenther@suse.de>
6880         * c-common.c (complete_array_type): Build a range type of
6881         proper type.
6883 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
6885         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6886         (handle_type_generic_attribute): Likewise.
6888 2011-04-07  Jason Merrill  <jason@redhat.com>
6890         PR c++/48450
6891         * c-common.c (c_common_truthvalue_conversion): Don't ignore
6892         conversion from C++0x scoped enum.
6894 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
6896         * c-target-def.h: New file.
6897         * c-target.def: New file.
6898         * c-target.h: New file.
6899         * c-common.c (targetcm): Don't define here.
6900         * c-common.h (default_handle_c_option): Declare.
6901         * c-format.c: Include c-target.h instead of target.h.
6902         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
6903         include tm.h.
6904         (default_handle_c_option): Move from targhooks.c.
6906 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
6908         PR preprocessor/48248
6909         * c-ppoutput.c (print): Add src_file field.
6910         (init_pp_output): Initialize it.
6911         (maybe_print_line): Don't optimize by adding up to 8 newlines
6912         if map->to_file and print.src_file are different file.
6913         (print_line): Update print.src_file.
6915 2011-03-25  Kai Tietz  <ktietz@redhat.com>
6917         * c-ada-spec.c (compare_comment): Use filename_cmp
6918         instead of strcmp for filename.
6920 2011-03-25  Jeff Law  <law@redhat.com>
6922         * c-common.c (def_fn_type): Add missing va_end.
6924 2011-03-25  Jason Merrill  <jason@redhat.com>
6926         * c.opt: Add -std=c++03.
6928 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
6930         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6932 2011-03-17  Kai Tietz  <ktietz@redhat.com>
6934         PR target/12171
6935         * c-pretty-print.c (pp_c_specifier_qualifier_list):
6936         Display allowed attributes for function pointer types.
6937         (pp_c_attributes_display): New function to display
6938         attributes having affects_type_identity flag set to true.
6939         * c-pretty-print.h (pp_c_attributes_display): New prototype.
6941         * c-common.c (c_common_attribute_table):
6942         Add new element.
6943         (c_common_format_attribute_table): Likewise.
6945 2011-03-18  Jason Merrill  <jason@redhat.com>
6947         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6948         * c-common.h: Don't declare it here.
6949         * c-common.c: Or define it here.
6950         * c-opts.c (c_common_handle_option): Or set it here.
6952         PR c++/35315
6953         * c-common.c (handle_transparent_union_attribute): Don't
6954         make a duplicate type in C++.
6956 2011-03-15  Jason Merrill  <jason@redhat.com>
6958         * c-common.c (max_constexpr_depth): New.
6959         * c-common.h: Declare it.
6960         * c-opts.c (c_common_handle_option): Set it.
6961         * c.opt (fconstexpr-depth): New option.
6963 2011-03-11  Jason Merrill  <jason@redhat.com>
6965         * c-common.c (attribute_takes_identifier_p): Add missing const.
6967         PR c++/46803
6968         * c-common.c (attribute_takes_identifier_p): Assume that an
6969         unknown attribute takes an identifier.
6971 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
6973         PR c/47786
6974         * c-common.c (c_type_hash): Call list_length instead of iterating
6975         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
6977 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
6979         PR c/47809
6980         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6982 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
6984         * c.opt (fobjc-abi-version=) New.
6985         (fobjc-nilcheck): New.
6987 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
6989         PR c++/46890
6990         * c-common.h (keyword_is_decl_specifier): Declare.
6991         * c-common.c (keyword_is_decl_specifier): Define.
6992         (keyword_is_function_specifier): New function.
6994 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
6996         PR c/47473
6997         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6998         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6999         REAL_TYPE.
7001 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
7003         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7005 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
7007         PR pch/47430
7008         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7009         after init_c_lex if pch_file is set.
7011 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
7013         PR c++/43601
7014         * c.opt (-fkeep-inline-dllexport): New switch.
7016 2011-01-12  Richard Guenther  <rguenther@suse.de>
7018         PR middle-end/32511
7019         * c-common.c (handle_weak_attribute): Warn instead of error
7020         on declaring an inline function weak.
7022 2011-01-05  Tom Tromey  <tromey@redhat.com>
7024         * c-common.h (lvalue_error): Update.
7025         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
7026         not error.
7028 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7030         PR objc/47075
7031         * c-objc.h (objc_finish_message_expr): Added argument to
7032         prototype.
7034 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
7036         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7037         Use prototype_p.
7039 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7041         * c-objc.h (objc_maybe_warn_exceptions): New.
7042         * stub-objc.c (objc_maybe_warn_exceptions): New.
7044 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
7046         * c-common.h (readonly_error): Declare.
7047         * c-common.c (readonly_error): Define.
7049 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
7051         * c-common.h (invalid_indirection_error): Declare.
7052         * c-common.c (invalid_indirection_error): Define.
7054 2010-12-03  Richard Guenther  <rguenther@suse.de>
7056         PR c/46745
7057         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7058         (pp_c_unary_expression): Likewise.
7059         (pp_c_expression): Likewise.
7061 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7063         * c-common.h (objc_finish_function): New.
7064         (objc_non_volatilized_type): Removed.
7065         (objc_type_quals_match): Removed.
7066         * stub-objc.c (objc_finish_function): New.
7067         (objc_non_volatilized_type): Removed.
7068         (objc_type_quals_match): Removed.
7070 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
7072         * c-common.h (parse_optimize_options): Declare.
7073         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7074         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7076 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
7078         * c-opts.c (check_deps_environment_vars): Use getenv instead of
7079         GET_ENVIRONMENT.
7080         * c-pch.c (O_BINARY): Don't define here.
7081         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7083 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
7085         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7086         targetm.except_unwind_info.
7088 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
7090         * c-opts.c (c_common_handle_option): Pass location to
7091         set_struct_debug_option.
7093 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
7095         * c-common.c (visibility_options): Move from ../opts.c.
7096         * c-common.h (struct visibility_flags, visibility_options):
7097         Declare here.
7098         * c-opts.c (finish_options): Rename to c_finish_options.
7099         (c_common_init): Update call to finish_options.
7101 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
7103         PR objc/34033
7104         * c-lex.c (lex_string): Check that each string in an Objective-C
7105         string concat sequence starts with either one or zero '@', and
7106         that there are no spurious '@' signs at the end.
7108 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
7110         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7111         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7112         HANDLE_PRAGMA_VISIBILITY.
7113         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7114         HANDLE_PRAGMA_VISIBILITY): Don't define.
7115         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7117 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
7119         PR c++/16189
7120         PR c++/36888
7121         PR c++/45331
7122         * c-common.h (keyword_begins_type_specifier): Declare.
7123         (keyword_is_storage_class_specifier): Declare.
7124         (keyword_is_type_qualifier): Declare.
7125         * c-common.c (keyword_begins_type_specifier): New function.
7126         (keyword_is_storage_class_specifier): New function.
7127         (keyword_is_type_qualifier): Declare.
7129 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
7131         PR c/46547
7132         * c-common.c (in_late_binary_op): Define.
7133         (c_common_truthvalue_conversion): Check in_late_binary_op before
7134         calling c_save_expr.
7135         * c-common.h (in_late_binary_op): Declare.
7137 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
7139         * c-opts.c (c_common_handle_option): Update calls to
7140         set_struct_debug_option.
7142 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
7144         * c-common.h (objc_declare_protocols): Added additional argument.
7145         * stub-objc.c (objc_declare_protocol): Same change.
7147 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
7149         PR c/33193
7150         * c-common.h (build_real_imag_expr): Declare.
7151         * c-semantics.c (build_real_imag_expr): Define.
7153 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
7155         * c-opts.c (c_common_parse_file): Take no arguments.
7156         * c-common.h (c_common_parse_file): Update prototype.
7158 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
7160         PR c++/46401
7161         * c-common.c (warning_candidate_p): Don't track non-const calls
7162         or STRING_CSTs.
7164 2010-11-15  Ian Lance Taylor  <iant@google.com>
7166         * c-lex.c (init_c_lex): Set macro debug callbacks if
7167         flag_dump_go_spec is set.
7169 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
7171         * c-common.h (objc_build_incr_expr_for_property_ref): New.
7172         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7174 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
7176         PR preprocessor/45038
7177         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7178         dialects.
7180 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
7182         * c-common.h (c_family_lang_mask): Declare.
7183         * c-opts.c (c_family_lang_mask): Make extern.
7184         * c-pragma.c (handle_pragma_diagnostic): Use
7185         control_warning_option.
7187 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
7189         * c-common.c (parse_optimize_options): Update call to
7190         decode_options.
7191         * c-common.h (c_common_handle_option): Update prototype.
7192         * c-opts.c (c_common_handle_option): Take location_t parameter and
7193         pass it to other functions.
7195 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
7197         * c-opts.c (warning_as_error_callback): Remove.
7198         (c_common_initialize_diagnostics): Don't call
7199         register_warning_as_error_callback.
7200         (c_common_handle_option): Handle -Werror=normalized= here.
7202 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
7204         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7205         in diagnostic.
7206         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7207         letter.
7208         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7209         Remove trailing '.' from diagnostics.
7210         * c.opt (Wwrite-strings_: Avoid '`' in help text.
7212 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
7214         * c-common.c (parse_optimize_options): Pass global_dc to
7215         decode_options.
7216         * c-opts.c (c_common_handle_option): Pass &global_options to
7217         set_Wstrict_aliasing.
7218         * c.opt (v): Don't mark Common or document here.
7220 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
7222         PR target/44981
7223         * c-format.c (format_type): New type gcc_objc_string_format_type.
7224         (valid_stringptr_type_p): New.
7225         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
7226         (check_format_string): Pass expected type, use
7227         valid_stringptr_type_p (), check that the format string types are
7228         consistent with the format specification.
7229         (decode_format_attr): Warn if NSString is used outside objective-c.
7230         (format_types_orig): Add NSString.
7231         (format_name): New.
7232         (format_flags): New.
7233         (check_format_arg): Handle format strings requiring an external parser.
7234         first_target_format_type: New variable.
7235         (handle_format_attribute): Set up first_target_format_type, pass the
7236         expected format arg string type to check_format_string().
7237         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
7238         * stub-objc.c (objc_string_ref_type_p): New.
7239         (objc_check_format_arg): New.
7241 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
7243         Fixed using the Objective-C 2.0 dot-syntax with class names.
7244         * c-common.h (objc_build_class_component_ref): New.
7245         * stub-objc.c (objc_build_class_component_ref): New.
7247 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
7249         * c.opt (Wproperty-assign-default): New option.
7251 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
7253         Implemented -fobjc-std=objc1 flag.
7254         * c.opt (fobjc-std=objc1): New option.
7256 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
7258         Implemented format and noreturn attributes for Objective-C methods.
7259         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7260         attribute for Objective-C methods.
7262 2010-10-31  Jason Merrill  <jason@redhat.com>
7264         * c-common.c (conversion_warning, warn_for_collisions_1): Use
7265         EXPR_LOC_OR_HERE.
7267 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7269         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7270         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7271         (objc_add_property_declaration): Removed arguments for copies and
7272         ivar.
7273         (objc_build_getter_call): Renamed to
7274         objc_maybe_build_component_ref.
7275         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7276         (objc_is_property_ref): New.
7277         * c-common.c (c_common_reswords): Removed copies and ivar.
7278         * stub-objc.c (objc_add_property_declaration): Removed arguments
7279         for copies and ivar.
7280         (objc_build_getter_call): Renamed to
7281         objc_maybe_build_component_ref.
7282         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7283         (objc_is_property_ref): New.
7285 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
7286             Matthew Gingell  <gingell@adacore.com>
7288         * c-ada-spec.c (separate_class_package): New function.
7289         (pp_ada_tree_identifier): Prefix references to C++ classes with the
7290         name of their enclosing package.
7291         (print_ada_declaration): Use separate_class_package.
7293 2010-10-27  Jason Merrill  <jason@redhat.com>
7295         * c-common.c (c_common_reswords): Add __is_literal_type.
7296         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7298         * c-common.c (check_case_value): Remove special C++ code.
7300 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7302         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7303         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
7304         and RID_LAST_PATTR.
7305         (objc_add_property_declaration): Added additional arguments.
7306         (objc_property_attribute_kind): Removed.
7307         (objc_set_property_attr): Removed.
7308         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7309         copy and nonatomic.
7310         * stub-objc.c (objc_add_property_declaration): Added additional
7311         arguments.
7312         (objc_set_property_attr): Removed.
7314 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7316         * c-common.h (objc_add_property_variable): Renamed to
7317         objc_add_property_declaration.  Added location argument.
7318         * stub-objc.c (objc_add_property_variable): Same change.
7320 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
7322         * c-common.h (objc_maybe_printable_name): New.
7323         * stub-objc.c (objc_maybe_printable_name): New.
7325 2010-10-22  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
7326             Andrew Pinski  <pinskia@gmail.com>
7328         * c-common.h (c_common_mark_addressable_vec): Declare.
7329         * c-common.c (c_common_mark_addressable_vec): New function.
7331 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
7333         * c-common.h (objc_set_method_type): Removed.
7334         (objc_add_method_declaration): Added boolean argument.
7335         (objc_start_method_definition): Same change.
7336         (objc_build_method_signature): Same change.
7337         * stub-objc.c (objc_set_method_type): Removed.
7338         (objc_add_method_declaration): Added boolean argument.
7339         (objc_start_method_definition): Same change.
7340         (objc_build_method_signature): Same change.
7342 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
7344         * c-common.h (finish_file): Removed.
7345         (objc_write_global_declarations): New.
7346         * c-opts.c (c_common_parse_file): Do not call finish_file.
7347         * stub-objc.c (objc_write_global_declarations): New.
7349 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7351         Implemented parsing @synthesize and @dynamic for
7352         Objective-C/Objective-C++.
7353         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7354         (objc_add_synthesize_declaration): New.
7355         (objc_add_dynamic_declaration): New.
7356         * c-common.c (c_common_reswords): Add synthesize and dynamic.
7357         * stub-objc.c (objc_add_synthesize_declaration): New.
7358         (objc_add_dynamic_declaration): New.
7360 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
7362         PR target/46041
7363         * c-cppbuiltin.c (mode_has_fma): Move function here from
7364         builtins.c.  Don't use the fma optab, instead just use the
7365         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7366         using -save-temps.
7368 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7370         Merge from 'apple/trunk' branch on FSF servers.
7372         2005-11-08  Fariborz Jahanian  <fjahanian@apple.com>
7374         Radar 4330422
7375         * c-common.h (objc_non_volatilized_type): New declaration
7376         * stub-objc.c (objc_non_volatilized_type): New stub.
7378 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
7380         Merge from 'apple/trunk' branch on FSF servers.
7382         2006-03-27 Fariborz Jahanian  <fjahanian@apple.com>
7384         Radar 4133425
7385         * c-common.h (objc_diagnose_private_ivar): New decl.
7386         * stub-objc.c (objc_diagnose_private_ivar): New stub.
7388 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
7390         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7391         * c-common.h (enum rid): Add RID_AT_PACKAGE.
7392         (objc_ivar_visibility_kind): New enum.
7393         (objc_set_visibility): Adjust prototype to use visibility enum.
7394         * stub-objc.c (objc_set_visibility): Adjust stub to use
7395         visibility enum.
7397 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
7399         * c-cppbuiltin.c (builtin_define_float_constants): Emit
7400         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7401         has the appropriate fma builtins.
7402         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7404 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
7406         merge from FSF apple 'trunk' branch.
7407         2006 Fariborz Jahanian  <fjahanian@apple.com>
7409         Radars 4436866, 4505126, 4506903, 4517826
7410         * c-common.c (c_common_resword): Define @property and its attributes.
7411         * c-common.h: Define property attribute enum entries.
7412         (OBJC_IS_PATTR_KEYWORD): New.
7413         (objc_property_attribute_kind): New enum.
7414         Declare objc_set_property_attr (), objc_add_property_variable (),
7415         objc_build_getter_call () and objc_build_setter_call ().
7416         * stub-objc.c (objc_set_property_attr): New stub.
7417         (objc_add_property_variable): Likewise.
7418         (objc_build_getter_call): Likewise.
7419         (objc_build_setter_call) Likewise.
7421 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
7423         merge from FSF apple 'trunk' branch.
7424         2006-04-26 Fariborz Jahanian  <fjahanian@apple.com>
7426         Radar 3803157 (method attributes)
7427         * c-common.c (handle_deprecated_attribute): Recognize
7428         objc methods as valid declarations.
7429         * c-common.h: Declare objc_method_decl ().
7430         * stub-objc.c (objc_method_decl): New stub.
7432 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
7434         * c-common.c (parse_optimize_options): Call
7435         decode_cmdline_options_to_array_default_mask before
7436         decode_options.  Update arguments to decode_options.
7437         * c-common.h (c_common_init_options_struct): Declare.
7438         * c-opts.c (c_common_init_options_struct): New.  Split out from
7439         c_common_init_options.
7441 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
7443         Implemented fast enumeration for Objective-C.
7444         * c-common.h (objc_finish_foreach_loop): New.
7445         * stub-objc.c (objc_finish_foreach_loop): New.
7447 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
7449         * c-common.h (struct diagnostic_context): Don't declare here.
7450         (c_common_initialize_diagnostics): Declare using
7451         diagnostic_context typedef.
7452         * c-opts.c (c_common_handle_option): Pass global_dc to
7453         handle_generated_option.
7455 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
7457         * c-opts.c (c_common_handle_option): Pass &global_options_set to
7458         handle_generated_option.
7460 2010-10-03  Ian Lance Taylor  <iant@google.com>
7462         * c.opt (-fplan9-extensions): New option.
7464 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
7466         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7467         Remove.
7468         (c_cpp_builtins): Call functions from cppbuiltin.c instead
7469         of duplicating code.
7471 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
7473         * c-common.c: Add two new entries for @optional
7474         and @required keywords.
7476         merge from FSF 'apple/trunk' branch.
7477         2006-01-30  Fariborz Jahanian  <fjahanian@apple.com>
7479         Radar 4386773
7480         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7481         objective-c keywords.
7482         (objc_set_method_opt): New declaration.
7483         * stub-objc.c (objc_set_method_opt): New stub.
7485 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
7487         * c-common.c (handle_optimize_attribute): Pass &global_options to
7488         cl_optimization_save and cl_optimization_restore.
7489         * c-opts.c (c_common_handle_option): Pass &global_options to
7490         handle_generated_option.
7491         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7492         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7493         &global_options to cl_optimization_restore.
7495 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7497         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7498         Objective-C/Objective-C++ keywords.
7500 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7502         Merge from 'apple/trunk' branch on FSF servers.
7504         2005-10-04  Fariborz Jahanian  <fjahanian@apple.com>
7506         Radar 4281748
7507         * c-common.h (objc_check_global_decl): New declaration.
7508         * stub-objc.c (objc_check_global_decl): New stub.
7510 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
7512         * c.opt: Don't use VarExists.
7514 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
7516         * c-common.c (c_cpp_error): Update names of diagnostic_context
7517         members.
7518         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7519         cl_optimization members.
7520         * c-opts.c (warning_as_error_callback, c_common_handle_option,
7521         sanitize_cpp_opts, finish_options): Update names of cpp_options
7522         members.
7524 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7526         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
7527         (objc_is_reserved_word): Removed.
7528         * c-common.c: Updated comments.
7529         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7530         objc_is_reserved_word.
7531         * stub-objc.c (objc_is_reserved_word): Removed.
7533 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
7535         * c-common.h (objc_add_method_declaration): Adjust prototype to
7536         include attributes.
7537         (objc_start_method_definition): Likewise.
7538         (objc_build_keyword_decl): Likewise.
7539         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7540         (objc_start_method_definition): Likewise.
7541         (objc_build_keyword_decl): Likewise.
7543 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
7545         * c-common.h (objc_start_class_interface): Adjust prototype.
7546         (objc_start_category_interface): Likewise.
7547         (objc_start_protocol): Likewise.
7548         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7549         (objc_start_class_interface): Likewise.
7550         (objc_start_category_interface): Likewise.
7552 2010-09-27  Ian Lance Taylor  <iant@google.com>
7554         * c-common.c (c_common_attribute_table): Add no_split_stack.
7555         (handle_no_split_stack_attribute): New static function.
7557 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7559         Merge from 'apple/trunk' branch on FSF servers.
7561         2005-12-15  Fariborz Jahanian  <fjahanian@apple.com>
7563         Radar 4229905
7564         * c-common.h (objc_have_common_type): New declaration.
7565         * stub-objc.c (objc_have_common_type): New stub.
7567         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
7569         Radar 4154928
7570         * c-common.h (objc_common_type): New prototype.
7571         * stub-objc.c (objc_common_type): New stub.
7573 2010-09-24  Jan Hubicka  <jh@suse.cz>
7575         * c-common.c (handle_leaf_attribute): New function.
7576         (struct attribute_spec c_common_att): Add leaf.
7578 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
7580         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7581         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7582         -dump, -dump=, -imacros, -imacros=, -include, -include=,
7583         -include-barrier, -include-directory, -include-directory=,
7584         -include-directory-after, -include-directory-after=,
7585         -include-prefix, -include-prefix=, -include-with-prefix,
7586         -include-with-prefix=, -include-with-prefix-after,
7587         -include-with-prefix-after=, -include-with-prefix-before,
7588         -include-with-prefix-before=, -no-integrated-cpp,
7589         -no-line-commands, -no-standard-includes, -no-warnings, -output,
7590         -output=, -pedantic, -pedantic-errors, -preprocess,
7591         -print-missing-file-dependencies, -trace-includes, -traditional,
7592         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7593         -user-dependencies, -verbose, -write-dependencies,
7594         -write-user-dependencies, no-integrated-cpp, traditional): New.
7596 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
7598         PR objc/23710
7599         * c-common.h (objc_start_method_definition): Return bool instead
7600         of void.
7601         * stub-objc.c (objc_start_method_definition): Return bool instead
7602         of void.
7604 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
7606         PR objc/25965
7607         * c-common.h (objc_get_interface_ivars): New declaration.
7608         * stub-objc.c (objc_get_interface_ivars): New stub.
7610 2010-09-15  Ian Lance Taylor  <iant@google.com>
7612         * c-common.c (parse_optimize_options): Do not capitalize warning
7613         messages.  Remove period at end of warning message.
7615 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
7617         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7618         (handle_alias_attribute): ... here.
7619         (handle_ifunc_attribute): New.
7621 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
7623         * c-common.h (do_warn_double_promotion): Declare.
7624         * c-common.c (do_warn_double_promotion): Define.
7626 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
7628         * c.opt (Wdouble-promotion): New.
7630 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7632         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7633         fvtable-thunks, fxref): Mark no longer supported in help text.
7635 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7637         * c.opt (Wimport, fall-virtual, falt-external-templates,
7638         fdefault-inline, fenum-int-equiv, fexternal-templates,
7639         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7640         fname-mangling-version-, fnew-abi, fnonnull-objects,
7641         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7642         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7643         applicable.
7644         (fhandle-exceptions): Mark with Alias and Warn.
7645         * c-opts.c (c_common_handle_option): Don't handle options marked
7646         as ignored.
7648 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7650         * c.opt (Wcomments, Werror-implicit-function-declaration,
7651         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7652         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7653         aliases.
7654         * c-common.c (option_codes): Use OPT_Wcomment instead of
7655         OPT_Wcomments.
7656         * c-opts.c (warning_as_error_callback, c_common_handle_option):
7657         Don't handle options marked as aliases.
7659 2010-08-25  Richard Guenther  <rguenther@suse.de>
7661         * c-common.c (c_common_get_alias_set): Remove special
7662         handling for pointers.
7664 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
7666         * c-common.c: Use FOR_EACH_VEC_ELT.
7667         * c-gimplify.c: Likewise.
7668         * c-pragma.c: Likewise.
7670 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
7672         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
7673         RejectDriver.
7674         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
7675         RejectDriver.
7676         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7677         instead of OPT_MDX and OPT_MMDX.
7679 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
7681         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7683 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
7685         * c.opt (MD, MMD): Change to MDX and MMDX.
7686         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7688 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
7690         * c-opts.c (c_common_handle_option): Call handle_generated_option
7691         instead of handle_option.
7693 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
7695         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7696         (maybe_apply_renaming_pragma): Delete unneeded declarations.
7698 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
7700         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
7701         (pending_redefine_extname): Change type to a VEC.
7702         (add_to_renaming_pragma_list): Update for new type of
7703         pending_redefine_extname.
7704         (maybe_apply_renaming_pragma): Likewise.
7706 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
7708         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7709         visited.
7710         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7711         decide whether a type has already been declared/seen.
7712         Do not go to the original type.
7713         (dump_nested_types): New parameter forward.
7714         Generate forward declaration if needed and mark type as visited.
7715         (print_ada_declaration): Call dump_nested_types if not already done.
7716         Mark types as visited.
7718 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
7720         * c.opt (-print-pch-checksum): Remove option.
7721         * c-opts.c (c_common_handle_option): Don't handle
7722         OPT_print_pch_checksum.
7724 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7726         * c-common.h (c_common_handle_option): Update prototype and return
7727         value type.
7728         * c-opts.c (c_common_handle_option): Update prototype and return
7729         value type.  Update calls to handle_option and
7730         enable_warning_as_error.
7732 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
7734         PR c/45079
7735         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7737 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7739         * c-common.h (c_common_missing_argument): Remove.
7740         * c-opts.c (c_common_missing_argument): Remove.
7741         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7742         idirafter, imacros, include, isysroot, isystem, iquote): Add
7743         MissingArgError.
7744         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7746 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7748         * c-common.h (c_common_option_lang_mask,
7749         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7750         New.
7751         (c_common_init_options): Update prototype.
7752         * c-opts.c (c_common_option_lang_mask): New.
7753         (c_common_initialize_diagnostics): Split out of
7754         c_common_init_options.
7755         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7756         New.
7757         (c_common_init_options): Update prototype.  Use decoded options in
7758         search for -lang-asm.
7760 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
7762         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7763         * c-format.c: Likewise.
7765 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7767         * c-common.h: Include diagnostic-core.h. Error if already
7768         included.
7769         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7771 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7773         * c-common.c (IN_GCC_FRONTEND): Do not undef.
7774         Do not include expr.h
7775         (vector_mode_valid_p): Move here.
7777 2010-06-21  DJ Delorie  <dj@redhat.com>
7779         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7780         allow these pragmas anywhere.
7782 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
7784         PR bootstrap/44509
7785         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7786         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7787         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7788         ggc_strdup instead of xstrdup.
7790 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
7792         * c-cppbuiltin.c: Include cpp-id-data.h.
7793         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7794         (lazy_hex_fp_value): New function.
7795         (builtin_define_with_hex_fp_value): Provide definitions lazily.
7797 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7799         * c-gimplify.c: Do not include tree-flow.h
7801 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
7803         PR other/44034
7804         * c-common.c: Rename targetm member:
7805         targetm.enum_va_list -> targetm.enum_va_list_p
7807 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
7809         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7811 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
7813         * c-cppbuiltin.c: Do not include except.h.
7815 2010-06-24  Andi Kleen  <ak@linux.intel.com>
7817         * c-common.c (warn_for_omitted_condop): New.
7818         * c-common.h (warn_for_omitted_condop): Add prototype.
7820 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
7822         * c.opt (lang-objc): Remove.
7823         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7825 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
7827         * c-opts.c: Include "tm_p.h".
7829 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
7831         * c-common.c (parse_optimize_options): Update call to
7832         decode_options.
7834 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
7836         * c-common.c (record_types_used_by_current_var_decl): Adjust for
7837         new type of types_used_by_cur_var_decl.
7839 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
7841         PR bootstrap/44512
7842         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7843         for C++ standard compliance.
7845 2010-06-16  Jason Merrill  <jason@redhat.com>
7847         * c.opt: Add -Wnoexcept.
7849 2010-06-16  Richard Guenther  <rguenther@suse.de>
7851         PR c/44555
7852         * c-common.c (c_common_truthvalue_conversion): Remove
7853         premature and wrong optimization concering ADDR_EXPRs.
7855 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
7857         * c-ada-spec.c (dump_sloc): Remove column info.
7858         (is_simple_enum): New function.
7859         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7860         enum types when relevant.
7862 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7864         * c-common.c (conversion_warning): Warn at expression
7865         location.
7867 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
7869         * c-opts.c (c_common_handle_option): Don't handle
7870         OPT_fshow_column.
7872 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
7874         * c-pragma.c (push_alignment): Use typed GC allocation.
7875         (handle_pragma_push_options): Likewise.
7877         * c-common.c (parse_optimize_options): Likewise.
7879         * c-common.h (struct sorted_fields_type): Add variable_size GTY
7880         option.
7882 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
7884         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7885         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7886         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7887         flag_signed_bitfields, warn_strict_null_sentinel,
7888         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7889         flag_gen_declaration, flag_no_gnu_keywords,
7890         flag_implement_inlines, flag_implicit_templates,
7891         flag_implicit_inline_templates, flag_optional_diags,
7892         flag_elide_constructors, flag_default_inline, flag_rtti,
7893         flag_conserve_space, flag_access_control, flag_check_new,
7894         flag_new_for_scope, flag_weak, flag_working_directory,
7895         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7896         flag_enforce_eh_specs, flag_threadsafe_statics,
7897         flag_pretty_templates): Remove.
7898         * c-common.h (flag_preprocess_only, flag_nil_receivers,
7899         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7900         flag_replace_objc_classes, flag_undef, flag_no_builtin,
7901         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7902         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7903         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7904         flag_no_gnu_keywords, flag_implement_inlines,
7905         flag_implicit_templates, flag_implicit_inline_templates,
7906         flag_optional_diags, flag_elide_constructors, flag_default_inline,
7907         flag_rtti, flag_conserve_space, flag_access_control,
7908         flag_check_new, flag_new_for_scope, flag_weak,
7909         flag_working_directory, flag_use_cxa_atexit,
7910         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7911         flag_threadsafe_statics, flag_pretty_templates,
7912         warn_strict_null_sentinel): Remove.
7913         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7914         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7915         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7916         fimplicit-inline-templates, fimplicit-templates,
7917         flax-vector-conversions, fms-extensions, fnil-receivers,
7918         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7919         frtti, fshort-double, fshort-enums, fshort-wchar,
7920         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7921         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7922         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7923         gen-decls, undef): Use Var.
7924         (fdefault-inline, foptional-diags): Document as doing nothing.
7925         * c-opts.c (c_common_handle_option): Remove cases for options now
7926         using Var.  Mark ignored options as such.
7928 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
7930         * c-common.c: Moved to here from parent directory.
7931         * c-common.def: Likewise.
7932         * c-common.h: Likewise.
7933         * c-cppbuiltin.c: Likewise.
7934         * c-dump.c: Likewise.
7935         * c-format.c: Likewise.
7936         * c-format.h : Likewise.
7937         * c-gimplify.c: Likewise.
7938         * c-lex.c: Likewise.
7939         * c-omp.c: Likewise.
7940         * c.opt: Likewise.
7941         * c-opts.c: Likewise.
7942         * c-pch.c: Likewise.
7943         * c-ppoutput.c: Likewise.
7944         * c-pragma.c: Likewise.
7945         * c-pragma.h: Likewise.
7946         * c-pretty-print.c: Likewise.
7947         * c-pretty-print.h: Likewise.
7948         * c-semantics.c: Likewise.
7949         * stub-objc.c: Likewise.
7951         * c-common.c: Include gt-c-family-c-common.h.
7952         * c-pragma.c: Include gt-c-family-c-pragma.h.
7954 Copyright (C) 2010-2017 Free Software Foundation, Inc.
7956 Copying and distribution of this file, with or without modification,
7957 are permitted in any medium without royalty provided the copyright
7958 notice and this notice are preserved.