[2/77] Add an E_ prefix to case statements
[official-gcc.git] / gcc / c-family / ChangeLog
blobe8bf5c3149314b5810ddcb38394cf2e7c01be501
1 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
2             Alan Hayward  <alan.hayward@arm.com>
3             David Sherwood  <david.sherwood@arm.com>
5         * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
6         case statements.
8 2017-08-29  Martin Liska  <mliska@suse.cz>
10         PR other/39851
11         * c-common.c (parse_optimize_options): Add argument to function
12         call.
13         * c-pragma.c (handle_pragma_diagnostic): Likewise.
15 2017-08-24  David Malcolm  <dmalcolm@redhat.com>
17         * c-lex.c (interpret_float): Use token location
18         when building an EXCESS_PRECISION_EXPR.
20 2017-08-21  David Malcolm  <dmalcolm@redhat.com>
22         * c-common.c (check_function_arguments): Add "arglogs" param; pass
23         it to check_function_format.
24         * c-common.h (check_function_arguments): Add vec<location_t> *
25         param.
26         (check_function_format): Likewise.
27         * c-format.c (struct format_check_context): Add field "arglocs".
28         (check_function_format): Add param "arglocs"; pass it to
29         check_format_info.
30         (check_format_info):  Add param "arglocs"; use it to initialize
31         new field of format_ctx.
32         (check_format_arg): Pass format_ctx->arglocs to new param of
33         check_format_info_main.
34         (class argument_parser): New field "arglocs".
35         (argument_parser::argument_parser): Add "arglocs_" param and use
36         it to initialize new field.
37         (argument_parser::check_argument_type): Pass new arglocs field to
38         check_format_types.
39         (check_format_info_main): Add param "arglocs", and use it when
40         constructing arg_parser.
41         (check_format_types): Add param "arglocs"; use it if non-NULL when
42         !EXPR_HAS_LOCATION (cur_param) to get at location information.
44 2017-08-18  H.J. Lu  <hongjiu.lu@intel.com>
46         PR c/53037
47         * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
48         (c_common_attribute_table): Add warn_if_not_aligned.
49         (handle_aligned_attribute): Renamed to ...
50         (common_handle_aligned_attribute): Remove argument, name, and add
51         argument, warn_if_not_aligned.  Handle warn_if_not_aligned.
52         (handle_aligned_attribute): New.
53         * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
55 2017-08-14  Martin Sebor  <msebor@redhat.com>
57         PR c/81117
58         * c-attribs.c (c_common_attribute_table): Add nonstring entry.
59         (handle_nonstring_attribute): New function.
61 2017-08-14  Martin Sebor  <msebor@redhat.com>
63         PR c/81117
64         * c-format.h (T89_G): New macro.
65         * c-format.c (local_gcall_ptr_node): New variable.
66         (init_dynamic_diag_info): Initialize it.
68 2017-08-11  Martin Liska  <mliska@suse.cz>
70         * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
71         TARGET_SUPPORTS_ALIASES.
73 2017-08-10  David Malcolm  <dmalcolm@redhat.com>
75         * c-common.c (c_parse_error): Add rich_location * param, using it
76         rather implicitly using input_location.
77         * c-common.h (c_parse_error): Add rich_location * param.
79 2017-08-09  Marek Polacek  <polacek@redhat.com>
81         * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
82         (c_common_truthvalue_conversion): Likewise.
83         * c-omp.c (c_finish_omp_atomic): Likewise.
84         * c-common.h (build_binary_op): Update declaration.
86 2017-08-08  Martin Liska  <mliska@suse.cz>
88         * c-ada-spec.c: Include header files.
89         * c-ubsan.c: Likewise.
90         * c-warn.c: Likewise.
92 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
94         PR c/69389
95         * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
97 2017-08-07  Eric Botcazou  <ebotcazou@adacore.com>
99         * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
100         (print_ada_methods): Likewise.
101         (print_ada_declaration): Likewise.
103 2017-08-07  Martin Liska  <mliska@suse.cz>
105         * array-notation-common.c: Add new includes.
106         * c-format.c( handle_format_attribute): Canonicalize a format
107         function name.
108         * c-lex.c (c_common_has_attribute): Canonicalize name of an
109         attribute.
110         * c-pretty-print.c: Add new include.
112 2017-08-05  Eric Botcazou  <ebotcazou@adacore.com>
114         * c-ada-spec.c (has_static_fields): Look only into variables.
115         (print_constructor): Add TYPE parameter and use it for the name.
116         (print_destructor): Likewise.
117         (print_ada_declaration): Adjust to new constructor/destructor names.
118         Adjust calls to print_constructor and print_destructor.
119         (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
120         Look only into variables in the final loop.
122 2017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
124         * c-ada-spec.c (has_static_fields): Look only into fields.
125         (dump_generic_ada_node): Small tweak.
126         (dump_nested_types): Look only into fields.
127         (print_ada_declaration): Look only into methods.  Small tweak.
128         (print_ada_struct_decl): Look only into fields.  Use DECL_VIRTUAL_P.
130 2017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
132         * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
133         (dump_ada_function_declaration): Likewise.
134         (dump_generic_ada_node): Likewise.
135         (print_ada_declaration): Add support for const-qualified variables.
137 2017-07-31  Martin Liska  <mliska@suse.cz>
139         PR sanitize/81530
140         * c-ubsan.c (ubsan_maybe_instrument_array_ref):
141         Guard condition with flag_sanitize_p also with current_function_decl
142         non-null equality.
143         (ubsan_maybe_instrument_reference_or_call): Likewise.
145 2017-07-30  Uros Bizjak  <ubizjak@gmail.com>
147         * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
149 2017-07-29  Eric Botcazou  <ebotcazou@adacore.com>
151         * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
152         for enumeral types.
153         (print_ada_declaration): Add missing guard for record types.
155 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
157         PR c/45784
158         * c-omp.c (c_finish_omp_for): If the condition is wrapped in
159         rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
160         new COMPOUND_EXPRs around the rhs of the comparison.
162 2017-07-27  Marek Polacek  <polacek@redhat.com>
164         PR c/81417
165         * c-warn.c (warn_for_sign_compare): Tweak the warning message.  Print
166         the types.
168 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
170         * c-attribs.c (c_common_attribute_table): Add noipa attribute.
171         (handle_noipa_attribute): New function.
173 2017-07-07  Torsten Duwe  <duwe@suse.de>
175         * c-attribs.c (c_common_attribute_table): Add entry for
176         "patchable_function_entry".
178 2017-07-20  Nathan Sidwell  <nathan@acm.org>
180         Remove TYPE_METHODS.
181         * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
182         dump_ada_template, print_ada_methods,
183         print_ada_declaration): Member fns are on TYPE_FIELDS.
185 2017-07-18  Nathan Sidwell  <nathan@acm.org>
187         * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
189 2017-07-14  David Malcolm  <dmalcolm@redhat.com>
191         * c-common.c (try_to_locate_new_include_insertion_point): New
192         function.
193         (per_file_includes_t): New typedef.
194         (added_includes_t): New typedef.
195         (added_includes): New variable.
196         (maybe_add_include_fixit): New function.
197         * c-common.h (maybe_add_include_fixit): New decl.
199 2017-07-10  Martin Sebor  <msebor@redhat.com>
201         PR other/81345
202         * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
204 2017-07-06  David Malcolm  <dmalcolm@redhat.com>
206         * c-common.c (selftest::c_family_tests): New.
207         * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
208         (selftest::c_family_tests): New decl.
210 2017-07-04  Marek Polacek  <polacek@redhat.com>
212         PR c/81231
213         * c-common.c (sync_resolve_size): Give error for pointers to incomplete
214         types.
216 2017-07-04  Marek Polacek  <polacek@redhat.com>
218         * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
220 2017-06-28  Martin Liska  <mliska@suse.cz>
222         PR ipa/81128
223         * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
224         to a function declaration.
226 2017-06-28  Martin Liska  <mliska@suse.cz>
228         PR driver/79659
229         * c.opt: Add IntegerRange to various options.
231 2017-06-26  Marek Polacek  <polacek@redhat.com>
233         PR c/80116
234         * c-common.h (warn_for_multistatement_macros): Declare.
235         * c-warn.c: Include "c-family/c-indentation.h".
236         (warn_for_multistatement_macros): New function.
237         * c.opt (Wmultistatement-macros): New option.
238         * c-indentation.c (guard_tinfo_to_string): No longer static.
239         Change the parameter type to "enum rid".  Handle RID_SWITCH.
240         * c-indentation.h (guard_tinfo_to_string): Declare.
242 2017-06-23  Marc Glisse  <marc.glisse@inria.fr>
244         * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
246 2017-06-15  Martin Sebor  <msebor@redhat.com>
248         PR c++/80560
249         * c.opt (-Wclass-memaccess): New option.
251 2017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
253         * c-opts.c (c_common_finish): Handle '-' special value to -MF.
255 2017-06-13  Marek Polacek  <polacek@redhat.com>
257         PR objc/80949
258         * c-warn.c (do_warn_duplicated_branches): Return if any of the
259         branches is null.
261 2017-06-13  Martin Liska  <mliska@suse.cz>
263         PR sanitize/78204
264         * c-attribs.c (add_no_sanitize_value): New function.
265         (handle_no_sanitize_attribute): Likewise.
266         (handle_no_sanitize_address_attribute): Use the function.
267         (handle_no_sanitize_thread_attribute): New function.
268         (handle_no_address_safety_analysis_attribute): Use
269         add_no_sanitize_value.
270         (handle_no_sanitize_undefined_attribute): Likewise.
271         * c-common.h: Declare new functions.
272         * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
273         (ubsan_instrument_shift): Likewise.
274         (ubsan_instrument_bounds): Likewise.
275         (ubsan_maybe_instrument_array_ref): Likewise.
276         (ubsan_maybe_instrument_reference_or_call): Likewise.
278 2017-06-11  Jason Merrill  <jason@redhat.com>
280         * c-ada-spec.c, c-pragma.c: Use id_equal.
282 2017-06-04  Marek Polacek  <polacek@redhat.com>
284         PR c/80919
285         * c-format.c (matching_type_p): Return false if any of the types
286         requires structural equality.
288 2017-06-02  Martin Sebor  <msebor@redhat.com>
290         PR c/80892
291         * c-warn.c (conversion_warning): Use -Wconversion for integer
292         conversion and -Wfloat-conversion for floating one.
294 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
296         * c.opt (Wsizeof-pointer-div): New warning option.
298 2017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
300         * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
301         (Wcatch-value=1): Enable by -Wall.
303 2017-05-30  David Malcolm  <dmalcolm@redhat.com>
305         * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
306         format_chars.
307         * c.opt (fdiagnostics-show-template-tree): New option.
308         (felide-type): New option.
310 2017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
312         * c.opt (Wcatch-value=): New C++ warning flag.
314 2017-05-24  Nathan Sidwell  <nathan@acm.org>
316         * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
317         const casts to avoid warning.
319 2017-05-24  Martin Sebor  <msebor@redhat.com>
321         PR c/80731
322         * c-common.h (unsafe_conversion_p): Add a function argument.
323         * c-common.c (unsafe_conversion_p): Same.
324         Add type names and values to diagnostics.
325         (scalar_to_vector): Adjust.
326         * c-warn.c (constant_expression_error): Add a function argument.
327         Add type names and values to diagnostics.
328         (conversion_warning): Add a function argument.
329         Add type names and values to diagnostics.
330         (warnings_for_convert_and_check): Same.
332 2017-05-19  Jason Merrill  <jason@redhat.com>
334         * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
335         enumerators.
337 2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
339         * c-format.c (locus): Move out of function scope,
340         add GTY attribute.
342 2017-05-19  Nathan Sidwell  <nathan@acm.org>
344         * c-opts.c (class_dump_file, class_dump_flags): Delete.
345         (c_common_parse_file): Remove class dump handling.
346         (get_dump_info): Likewise.
348 2017-05-19  Richard Biener  <rguenther@suse.de>
350         PR c++/80593
351         * c-warn.c (strict_aliasing_warning): Do not warn for accesses
352         to alias-set zero memory.
354 2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
356         * c-format.c (local_tree_type_node): Add GTY attribute.
358 2017-05-18  Marek Polacek  <polacek@redhat.com>
360         * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
361         (c_common_fixed_point_type_for_size): Likewise.
362         (c_common_type_for_mode): Likewise.
363         (shorten_compare): Likewise.
364         (c_promoting_integer_type_p): Use false/true instead of 0/1.
365         * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
367 2017-05-18  Marek Polacek  <polacek@redhat.com>
369         * c-common.c (self_promoting_args_p): Change the return type to bool.
370         Use false/true instead of 0/1.
371         * c-common.h (self_promoting_args_p): Update.
373 2017-05-17  Marek Polacek  <polacek@redhat.com>
375         * c-common.c: Use NULL_TREE instead of 0 where appropriate.
376         * c-warn.c: Likewise.
378 2017-05-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
380         Implement new C++ intrinsics __is_assignable and __is_constructible.
381         * c-common.c (__is_assignable, __is_constructible): New.
382         * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
384 2017-05-17  Martin Liska  <mliska@suse.cz>
386         * c-common.h: Introduce dump_flags_t type and
387         use it instead of int type.
388         * c-gimplify.c (c_genericize): Likewise.
389         * c-opts.c: Likewise.
391 2017-05-17  Marek Polacek  <polacek@redhat.com>
393         * c-common.c (c_save_expr): Remove.
394         (c_common_truthvalue_conversion): Remove a call to c_save_expr.
395         * c-common.h (c_save_expr): Remove declaration.
397 2017-05-09  Volker Reichelt  <v.reichelt@netcologne.de>
399         PR c/35441
400         * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
401         MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
402         (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
403         (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
404         RDIV_EXPR.
405         (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
407 2017-05-09  Marek Polacek  <polacek@redhat.com>
409         PR c/80525
410         * c-warn.c (unwrap_c_maybe_const): New.
411         (warn_logical_operator): Call it.
413 2017-05-09  Nathan Sidwell  <nathan@acm.org>
415         * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
416         * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
418 2017-05-08  Martin Sebor  <msebor@redhat.com>
420         PR translation/80280
421         * c-format.h (struct format_flag_spec): Add new member.
422         (T89_T): New macro.
423         * c-format.c (local_tree_type_node): New global.
424         (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
425         (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
426         (strfmon_flag_specs): Likewise.
427         (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
428         with distinct quoting properties.
429         (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
430         (flag_chars_t::validate): Add argument and handle bad quoting.
431         (check_format_info_main): Handle quoting problems.
432         (init_dynamic_diag_info): Simplify.
434 2017-05-08  Jason Merrill  <jason@redhat.com>
436         * c-opts.c (c_common_post_options): Update defaults for
437         flag_abi_version and flag_abi_compat_version.
439 2017-05-05  David Malcolm  <dmalcolm@redhat.com>
441         * c-common.c (c_cpp_error): Replace report_diagnostic
442         with diagnostic_report_diagnostic.
444 2017-05-04  Martin Sebor  <msebor@redhat.com>
446         PR translation/80280
447         * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
448         (handle_weakref_attribute): Same.
450 2017-05-03  Nathan Sidwell  <nathan@acm.org>
452         Canonicalize canonical type hashing
453         * c-common.c (complete_array_type): Use type_hash_canon.
455 2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
457         PR c++/80038
458         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
459         prototype.
460         (cilk_install_body_pedigree_operations): Likewise.
461         * cilk.c (cilk_set_spawn_marker): Mark functions that should be
462         detatched.
463         (cilk_gimplify_call_params_in_spawned_fn): Remove.
464         (cilk_install_body_pedigree_operations): Likewise.
465         (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
466         unwrapping.
468 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
470         PR c++/80534
471         * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
472         flag on non-aggregate element types.
474 2017-04-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
476         * c-common.c (c_type_hasher, type_hash_table): Remove.
477         (c_common_get_alias_set): Remove unreachable code.
478         * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
480 2017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
482         * c.opt (Wextra-semi): New C++ warning flag.
484 2017-04-20  Jakub Jelinek  <jakub@redhat.com>
486         PR middle-end/80423
487         * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
489 2017-04-18  Jakub Jelinek  <jakub@redhat.com>
491         PR middle-end/79788
492         PR middle-end/80375
493         * c-common.c (c_common_type_for_mode): Don't handle
494         widest_*_literal_type_node here.
495         c_common_signed_or_unsigned_type): Likewise.
496         (c_common_nodes_and_builtins): Set widest_*_literal_type_node
497         to *intTI_type_node or *intDI_type_node depending on whether
498         TImode is supported by the target or not.
500 2017-04-10  Martin Liska  <mliska@suse.cz>
502         PR sanitizer/80350
503         * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
504         doing an UBSAN check.
506 2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
508         * c-warn.c (do_warn_double_promotion): Fix typo in comment.
510 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
512         PR c++/79572
513         * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
514         tree *.
515         * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise.  Handle
516         not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
517         REFERENCE_TYPE.
519 2017-03-31  David Malcolm  <dmalcolm@redhat.com>
521         PR documentation/78732
522         * c.opt (Wendif-labels): Fix description to refer to
523         #else rather than #elif.
525 2017-03-31  Jakub Jelinek  <jakub@redhat.com>
527         PR libstdc++/80251
528         * c-common.h (enum rid): Add RID_IS_AGGREGATE.
529         * c-common.c (c_common_reswords): Add __is_aggregate trait.
531 2017-03-27  Jakub Jelinek  <jakub@redhat.com>
533         PR middle-end/80162
534         * c-common.c (c_common_mark_addressable_vec): Don't set
535         TREE_ADDRESSABLE on DECL_HARD_REGISTER.
537 2017-03-21  Martin Sebor  <msebor@redhat.com>
539         PR c++/79548
540         * c-common.c (set_underlying_type): Mark type used only when
541         original del is declared unused.
543 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
545         PR translation/79848
546         * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
547         "%qs".
549 2017-03-10  David Malcolm  <dmalcolm@redhat.com>
551         PR c/79921
552         * c-indentation.c (warn_for_misleading_indentation): Remove parens
553         from inform's message, so that xgettext can locate it.
555 2017-03-09  Marek Polacek  <polacek@redhat.com>
557         PR c++/79962
558         PR c++/79984
559         * c-attribs.c (handle_nonnull_attribute): Save the result of default
560         conversion to the attribute list.
562 2017-03-09  Martin Liska  <mliska@suse.cz>
564         * c-ada-spec.c (macro_length): Increment value instead of a pointer.
566 2017-03-03  Jason Merrill  <jason@redhat.com>
568         * c.opt (Wnoexcept-type): New.
570 2017-03-02  Richard Biener  <rguenther@suse.de>
572         PR c/79756
573         * c-common.c (c_common_mark_addressable_vec): Look through
574         C_MAYBE_CONST_EXPR.
576 2017-02-28  Martin Liska  <mliska@suse.cz>
578         * c.opt: Replace space with tabular for options of <number>
579         type.
581 2017-02-28  Martin Liska  <mliska@suse.cz>
583         * c.opt: Fix --help=option -Q for options which are of
584         an enum type.
586 2017-02-24  Jakub Jelinek  <jakub@redhat.com>
588         PR c++/79588
589         * c-common.c (check_function_restrict): New function.
590         (check_function_arguments): Add FNDECL argument.  Call
591         check_function_restrict if -Wrestrict.
592         * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
593         and NARGS.  Use auto_vec for ARG_POSITIONS, simplify.
594         * c-common.h (check_function_arguments): Add FNDECL argument.
595         (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
597 2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
599         * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
600         treatment of parameters with pointer-to-tagged type and tidy up.
601         (print_ada_methods): Remove the special treatment of C++ static member
602         functions.
604 2017-02-22  Martin Liska  <mliska@suse.cz>
606         * c.opt: Replace inequality signs with square brackets
607         for -Wnornalized.
609 2017-02-21  Jakub Jelinek  <jakub@redhat.com>
611         PR c++/79641
612         * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
613         preserve quals.
615 2017-02-17  Joseph Myers  <joseph@codesourcery.com>
617         * c-cppbuiltin.c (builtin_define_float_constants): Define
618         __DECIMAL_DIG__ to the value for long double.
620 2017-02-15  Marek Polacek  <polacek@redhat.com>
622         PR c/79515
623         * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
624         conversion has occured.
626 2017-01-24  David Malcolm  <dmalcolm@redhat.com>
628         * c-common.c (c_common_reswords): Add "__RTL".
629         * c-common.h (enum rid): Add RID_RTL.
631 2017-01-20  Marek Polacek  <polacek@redhat.com>
633         PR c/64279
634         * c-common.h (do_warn_duplicated_branches_r): Declare.
635         * c-gimplify.c (c_genericize): Walk the function tree calling
636         do_warn_duplicated_branches_r.
637         * c-warn.c (expr_from_macro_expansion_r): New.
638         (do_warn_duplicated_branches): New.
639         (do_warn_duplicated_branches_r): New.
640         * c.opt (Wduplicated-branches): New option.
642 2017-01-17  David Malcolm  <dmalcolm@redhat.com>
644         PR c++/71497
645         * c-indentation.c (warn_for_misleading_indentation): Use the past
646         subjunctive in the note.
648 2017-01-17  Aldy Hernandez  <aldyh@redhat.com>
650         PR c/79116
651         * array-notation-common.c (cilkplus_extract_an_triplets): Convert
652         start type to integer_type.
654 2017-01-16  Jakub Jelinek  <jakub@redhat.com>
656         PR driver/49726
657         * c.opt (gen-decls): Add Driver flag.
659 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
661         Revert:
662         2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
664         PR c++/71737
665         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
667 2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
669         PR c++/71737
670         * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
672 2017-01-12  Martin Sebor  <msebor@redhat.com>
674         (-Wformat-overflow): ...to this.
676 2017-01-11  Martin Sebor  <msebor@redhat.com>
678         PR c/78768
679         * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
680         Also enable for LTO.
682 2017-01-10  Jason Merrill  <jason@redhat.com>
684         Implement P0195R2, C++17 variadic using.
685         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
687 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
689         PR translation/79019
690         PR translation/79020
691         * c.opt (Wnormalized=): Fix typo in description.
693 2017-01-08  Martin Sebor  <msebor@redhat.com>
695         PR middle-end/77708
696         * c.opt (-Wformat-truncation): New option.
698 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
700         * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
701         value to unsigned short to fit in 4 hex digits without
702         warnings.
704 2017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
706         * c.opt (fsso-struct): Add 'native' value.
708 2017-01-05  Martin Liska  <mliska@suse.cz>
710         PR pch/78970
711         * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
712         header.
714 2017-01-04  Marek Polacek  <polacek@redhat.com>
716         PR c++/64767
717         * c.opt (Wpointer-compare): New option.
719 2017-01-04  Jakub Jelinek  <jakub@redhat.com>
721         PR driver/78957
722         * c.opt (fsso-struct=): Add RejectNegative.
724 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
726         Update copyright years.
728 2016-12-29  Martin Liska  <mliska@suse.cz>
730         PR c/78933
731         * c.opt (strong-eval-order): Add RejectNegative keyword.
733 2016-12-22  Jason Merrill  <jason@redhat.com>
735         Implement P0522R0, matching of template template arguments.
736         * c-cppbuiltin.c (c_cpp_builtins): Define
737         __cpp_template_template_args.
739 2016-12-21  Jakub Jelinek  <jakub@redhat.com>
741         PR bootstrap/78817
742         * c-common.c (struct nonnull_arg_ctx): New type.
743         (check_function_nonnull): Return bool instead of void.  Use
744         nonnull_arg_ctx as context rather than just location_t.
745         (check_nonnull_arg): Adjust for the new context type, set
746         warned_p to true if a warning has been diagnosed.
747         (check_function_arguments): Return bool instead of void.
748         * c-common.h (check_function_arguments): Adjust prototype.
750 2016-12-21  Jason Merrill  <jason@redhat.com>
752         * c.opt (-fnew-ttp-matching): New flag.
753         * c-opts.c (c_common_post_options): Default on if -std=c++1z.
755 2016-12-14  Martin Jambor  <mjambor@suse.cz>
757         * c-omp.c: Include omp-general.h instead of omp-low.h.
758         (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
759         name.
761 2016-12-14  Martin Sebor  <msebor@redhat.com>
763         PR c/17308
764         * c-common.c (check_nonnull_arg): Disable when optimization
765         is enabled.
767 2016-12-12  Marek Polacek  <polacek@redhat.com>
769         PR c++/78647
770         * c-common.c (attribute_fallthrough_p): Return false for
771         error_mark_node.
773 2016-12-08  Martin Sebor  <msebor@redhat.com>
775         PR c/78284
776         * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
778 2016-12-08  Martin Sebor  <msebor@redhat.com>
780         PR c/78165
781         * c-pretty-print (pp_c_integer_constant): Avoid formatting type
782         suffix.
784 2016-12-07  Martin Sebor  <msebor@redhat.com>
786         PR c/53562
787         PR middle-end/77784
788         PR middle-end/78149
789         PR middle-end/78138
790         * c.opt (-Wstringop-overflow): New option.
792 2016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
794         * c-attribs.c (asan odr indicator): New attribute.
795         (handle_asan_odr_indicator_attribute): New function.
797 2016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
799         * c-common.c (c_common_nodes_and_builtins): Remove initialization of
800         ptrdiff_type_node;
802 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
804         * c-common.c (excess_precision_mode_join): New.
805         (c_ts18661_flt_eval_method): New.
806         (c_c11_flt_eval_method): Likewise.
807         (c_flt_eval_method): Likewise.
808         * c-common.h (excess_precision_mode_join): New.
809         (c_flt_eval_method): Likewise.
810         * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
811         (cpp_iec_559_value): Call it.
812         (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
813         call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
814         __FLT_EVAL_METHOD_TS_18661_3__.
816 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
818         * c-opts.c (c_common_post_options): Add logic to handle the default
819         case for -fpermitted-flt-eval-methods.
821 2016-11-23  Paolo Bonzini  <bonzini@gnu.org>
823         * c.opt (Wexpansion-to-defined): New.
825 2016-11-23  Jakub Jelinek  <jakub@redhat.com>
827         PR target/78451
828         * c-pragma.c (handle_pragma_target): Don't replace
829         current_target_pragma, but chainon the new args to the current one.
831 2016-11-22  Nathan Sidwell  <nathan@acm.org>
833         * array-notation-common.c (cilkplus_extract_an_trplets): Fix
834         indentation and formatting.
836 2016-11-21  Martin Sebor  <msebor@redhat.com>
838         * c.opt (-fprintf-return-value): Enable by default.
840 2016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
842         PR c++/71973
843         * c.opt (-Wbuiltin-declaration-mismatch): New warning.
844         * c-common.c (c_common_nodes_and_builtins): Initialize
845         const_tm_ptr_type_node.
847 2016-11-16  Marek Polacek  <polacek@redhat.com>
849         PR c/78285
850         * c-common.c (c_add_case_label): Turn error_at calls into inform.
852 2016-11-14  Jakub Jelinek  <jakub@redhat.com>
854         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
856 2016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
857             Richard Biener  <rguenther@suse.de>
859         * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
860         * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
861         * c.opt (fgimple): New option.
863 2016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
865         PR c/35503
866         * c-common.h (warn_for_restrict): Declare.
867         * c-warn.c: Include gcc-rich-location.h.
868         (warn_for_restrict): New function.
869         * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
870         (gcc_cdiag_char_table): Likewise.
871         (gcc_cxxdiag_char_table): Likewise.
872         * c.opt (Wrestrict): New option.
874 2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
876         * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
877         for nested types only if the type is a record or union and dump SLOC.
879 2016-11-09  Jason Merrill  <jason@redhat.com>
881         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
883 2016-11-09  Jakub Jelinek  <jakub@redhat.com>
885         * c-ubsan.c (ubsan_instrument_shift): Handle split
886         -fsanitize=shift-base and -fsanitize=shift-exponent.
888 2016-11-07  Jason Merrill  <jason@redhat.com>
890         * c.opt (Wc++1z-compat): New.
891         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
893 2016-11-07  Martin Liska  <mliska@suse.cz>
895         * c-warn.c (warn_for_unused_label): Save all labels used
896         in goto or in &label.
898 2016-11-03  Jason Merrill  <jason@redhat.com>
900         * c-cppbuiltin.c (c_cpp_builtins): Correct
901         __cpp_inheriting_constructors.
903 2016-11-01  Jason Merrill  <jason@redhat.com>
905         * c-cppbuiltin.c (c_cpp_builtins): Update
906         __cpp_inheriting_constructors.
908         * c.opt (-fnew-inheriting-ctors): New.
909         * c-opts.c: Default to on for ABI 11+.
911 2016-10-31  Jakub Jelinek  <jakub@redhat.com>
913         PR c++/77948
914         * c.opt (fext-numeric-literals): Add Var and Init.
915         * c-opts.c (c_common_handle_option): Don't clear
916         cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
917         (c_common_post_options): Clear it here if not set
918         explicitly.
920 2016-10-28  Aldy Hernandez  <aldyh@redhat.com>
922         PR debug/77773
923         * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
924         if NULL.
926 2016-10-25  Jakub Jelinek  <jakub@redhat.com>
928         * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
929         * c-common.c (c_common_reswords): Add __builtin_launder.
931 2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
933         * c-common.c (c_common_truthvalue_conversion): Warn for
934         multiplications in boolean context.  Fix the quoting of '<<' and '<'
935         in the shift warning.
937 2016-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
939         * c-common.c (c_common_truthvalue_conversion): Fix the comment.
941 2016-10-20  Jason Merrill  <jason@redhat.com>
943         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
945 2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
947         * c-common.c (c_common_truthvalue_conversion): Warn only for signed
948         integer shift ops in boolean context.
950 2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
952         * c.opt (Walloca): New.
953         (Walloca-larger-than=): New.
954         (Wvla-larger-than=): New.
956 2016-10-17  Marek Polacek  <polacek@redhat.com>
958         * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
959         Return immediately when finding a match.
960         (warn_tautological_cmp): Remove a boolean variable that is no longer
961         needed.
963 2016-10-17  Marek Polacek  <polacek@redhat.com>
965         * c-attribs.c: New file.
966         * c-common.c: Move attributes handling to c-attribs.c.
967         (get_nonnull_operand): No longer static.
968         * c-common.h: Move the declarations from c-attribs.c to its own section.
970 2016-10-14  Jason Merrill  <jason@redhat.com>
972         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
973         and __cpp_deduction_guides.
975 2016-10-13  Jason Merrill  <jason@redhat.com>
977         * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
979 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
981         * c-cppbuiltin.c: Include memmodel.h.
982         * c-opts.c: Likewise.
983         * c-pragma.c: Likewise.
984         * c-warn.c: Likewise.
986 2016-10-12  Jakub Jelinek  <jakub@redhat.com>
988         * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
989         (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
990         * c-opts.c (sanitize_cpp_opts): Initialize
991         cpp_opts->cpp_warn_implicit_fallthrough.
993 2016-10-11  Marek Polacek  <polacek@redhat.com>
995         * c-common.c (warning_candidate_p): Change the return type to bool
996         and return true/false instead of 1/0.
997         (vector_mode_valid_p): Likewise.
999 2016-10-11  Marek Polacek  <polacek@redhat.com>
1001         * c-common.c (fold_for_warn): No longer static.
1002         (bool_promoted_to_int_p): Likewise.
1003         (c_common_get_narrower): Likewise.
1004         (constant_expression_warning): Move to c-warn.c.
1005         (constant_expression_error): Likewise.
1006         (overflow_warning): Likewise.
1007         (warn_logical_operator): Likewise.
1008         (find_array_ref_with_const_idx_r): Likewise.
1009         (warn_tautological_cmp): Likewise.
1010         (expr_has_boolean_operands_p): Likewise.
1011         (warn_logical_not_parentheses): Likewise.
1012         (warn_if_unused_value): Likewise.
1013         (strict_aliasing_warning): Likewise.
1014         (sizeof_pointer_memaccess_warning): Likewise.
1015         (check_main_parameter_types): Likewise.
1016         (conversion_warning): Likewise.
1017         (warnings_for_convert_and_check): Likewise.
1018         (match_case_to_enum_1): Likewise.
1019         (match_case_to_enum): Likewise.
1020         (c_do_switch_warnings): Likewise.
1021         (warn_for_omitted_condop): Likewise.
1022         (readonly_error): Likewise.
1023         (lvalue_error): Likewise.
1024         (invalid_indirection_error): Likewise.
1025         (warn_array_subscript_with_type_char): Likewise.
1026         (warn_about_parentheses): Likewise.
1027         (warn_for_unused_label): Likewise.
1028         (warn_for_div_by_zero): Likewise.
1029         (warn_for_memset): Likewise.
1030         (warn_for_sign_compare): Likewise.
1031         (do_warn_double_promotion): Likewise.
1032         (do_warn_unused_parameter): Likewise.
1033         (record_locally_defined_typedef): Likewise.
1034         (maybe_record_typedef_use): Likewise.
1035         (maybe_warn_unused_local_typedefs): Likewise.
1036         (maybe_warn_bool_compare): Likewise.
1037         (maybe_warn_shift_overflow): Likewise.
1038         (warn_duplicated_cond_add_or_warn): Likewise.
1039         (diagnose_mismatched_attributes): Likewise.
1040         * c-common.h: Move the declarations from c-warn.c to its own section.
1041         * c-warn.c: New file.
1043 2016-10-08  Jason Merrill  <jason@redhat.com>
1045         * c-common.c (c_common_truthvalue_conversion): Don't distribute
1046         into COND_EXPR in C++.
1048 2016-10-08  Jakub Jelinek  <jakub@redhat.com>
1050         * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
1051         token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
1052         CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
1054 2016-10-07  Jakub Jelinek  <jakub@redhat.com>
1056         Implement LWG2296 helper intrinsic
1057         * c-common.h (enum rid): Add RID_ADDRESSOF.
1058         * c-common.c (c_common_reswords): Add __builtin_addressof.
1060 2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1062         PR c++/77700
1063         * c-common.c (c_common_truthvalue_conversion): Warn also for
1064         suspicious enum values in boolean context.
1066 2016-10-06  Jakub Jelinek  <jakub@redhat.com>
1068         Implement P0258R2 - helper for C++17
1069         std::has_unique_object_representations trait
1070         * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
1071         * c-common.c (c_common_reswords): Add
1072         __has_unique_object_representations.
1074 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
1076         PR sanitizer/66343
1077         * c-ubsan.c (ubsan_instrument_return): Don't call
1078         initialize_sanitizer_builtins here.
1080 2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1082         * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1083         conditional expression in boolean context when only one arm is
1084         non-boolean.
1086 2016-10-05  Jakub Jelinek  <jakub@redhat.com>
1088         PR sanitizer/77823
1089         * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1090         is not integral.
1092         * c-common.c (c_common_reswords): Update comment for C++11.
1094 2016-10-04  Jason Merrill  <jason@redhat.com>
1096         * c-common.c (make_tree_vector_from_ctor): New.
1097         * c-common.h: Declare it.
1099 2016-10-04  Jakub Jelinek  <jakub@redhat.com>
1101         * c-cppbuiltin.c (c_cpp_builtins): Don't define
1102         __LIBGCC_JCR_SECTION_NAME__.
1104 2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1106         * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1107         left shift in boolean context.
1109 2016-09-29  Jakub Jelinek  <jakub@redhat.com>
1111         Implement P0001R1 - C++17 removal of register storage class specifier
1112         * c.opt (Wregister): New warning.
1113         * c-opts.c (c_common_post_options): Enable -Wregister by
1114         default for C++17.
1116 2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
1118         * c-opts.c (c_common_post_options): Remove special case for
1119         TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1120         in C++.
1122 2016-09-27  Jakub Jelinek  <jakub@redhat.com>
1124         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1125         -std=c++1z.
1127         * c-ada-spec.c (print_ada_declaration): Remove break after return.
1129 2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1131         * c-common.c: Include memmodel.h.
1133 2016-09-26  Marek Polacek  <polacek@redhat.com>
1135         * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1137 2016-09-26  Marek Polacek  <polacek@redhat.com>
1139         PR c/7652
1140         * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1141         (handle_fallthrough_attribute): New function.
1142         (attribute_fallthrough_p): New function.
1143         * c-common.h (attribute_fallthrough_p): Declare.
1145 2016-09-24  Marek Polacek  <polacek@redhat.com>
1147         PR c/77490
1148         * c.opt (Wbool-operation): New.
1150 2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1152         * c-common.c (c_common_truthvalue_conversion): Inhibit
1153         Wint-in-bool-context warning with from_macro_definition_at.
1154         Mention the expression will always evaluate to true.
1156 2016-09-21  Martin Sebor  <msebor@redhat.com>
1158         PR bootstrap/77676
1159         * c.opt (fprintf-return-value): Temporarily initialize to zero
1160         to unblock bootstrap failures.
1162 2016-09-21  Jakub Jelinek  <jakub@redhat.com>
1164         PR c++/77651
1165         * c.opt (Waligned-new=): Add RejectNegative.
1166         (faligned-new=): Likewise.  Spelling fix - change
1167         aligned_new_threshhold to aligned_new_threshold.
1168         * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1169         to aligned_new_threshold.
1171 2016-09-20  Martin Sebor  <msebor@redhat.com>
1173         PR middle-end/49905
1174         * c.opt: Add -Wformat-length and -fprintf-return-value.
1176 2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1178         PR c++/77434
1179         * c.opt (Wint-in-bool-context): New warning.
1180         * c-common.c (c_common_truthvalue_conversion): Warn on integer
1181         constants in boolean context.
1183 2016-09-19  Joseph Myers  <joseph@codesourcery.com>
1185         * c-common.c (max_align_t_align): Also consider alignment of
1186         float128_type_node.
1188 2016-09-15  Jason Merrill  <jason@redhat.com>
1190         * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1191         DECL_EXTERNAL.
1193 2016-09-14  Jason Merrill  <jason@redhat.com>
1195         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1196         limit FIELD_DECL, either.
1198 2016-09-14  Marek Polacek  <polacek@redhat.com>
1200         * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1201         * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1202         * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1204 2016-09-13  David Malcolm  <dmalcolm@redhat.com>
1206         * c-common.c (warn_logical_not_parentheses): Replace
1207         rich_location::add_fixit_insert calls with add_fixit_insert_before
1208         and add_fixit_insert_after, eliminating the "next_loc" calculation.
1210 2016-09-13  Jason Merrill  <jason@redhat.com>
1211             Tom de Vries  <tom@codesourcery.com>
1213         PR c++/77427
1214         * c-common.c (set_underlying_type): Don't treat array as builtin type.
1216 2016-09-13  Jason Merrill  <jason@redhat.com>
1218         * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1219         limit types at all.
1221 2016-09-12  Jason Merrill  <jason@redhat.com>
1223         * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1224         bit/byte confusion, allow large alignment for types.
1226 2016-09-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1228         PR c++/77496
1229         * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1231 2016-09-12  David Malcolm  <dmalcolm@redhat.com>
1233         PR c/72858
1234         * c-format.c (argument_parser::check_argument_type): Add params
1235         "type_start" and "conversion_char".  Use the former to generate
1236         offset_to_type_start and pass it and conversion_char to
1237         check_format_types.
1238         (check_format_info_main): Capture the start of the type
1239         information as "type_start", and pass it an format_char
1240         to arg_parser.check_argument_type.
1241         (check_format_types): Provide an example in the leading comment.
1242         Add params "offset_to_type_start" and "conversion_char"; pass
1243         them to format_type_warning calls.
1244         (test_get_modifier_for_format_len): Likewise.
1245         (matching_type_p): New function.
1246         (get_format_for_type): Add param "conversion_char" and move
1247         implementation into...
1248         (get_format_for_type_1): ...new function, called twice.
1249         Use new function matching_type_p rather than checking for
1250         TYPE_CANONICAL equality.
1251         (get_corrected_substring): New function.
1252         (format_type_warning): Provide an example in the leading comment.
1253         Add params "offset_to_type_start" and "conversion_char".  Replace
1254         call to get_format_for_type with call to get_corrected_substring
1255         and move rejection of hints for widths/precisions there.
1256         (assert_format_for_type_streq): Add param "conversion_char".
1257         (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1258         (test_get_format_for_type_printf): Add conversion chars to the
1259         tests, adding coverage for various combinations of integer
1260         vs double conversions, and for preserving octal and hexadecimal
1261         conversions.
1262         (test_get_format_for_type_scanf): Add conversion chars to the
1263         tests.
1265 2016-09-10  Tom de Vries  <tom@codesourcery.com>
1267         PR C/71602
1268         * c-common.c (build_va_arg): Handle more strict
1269         targetm.canonical_va_list_type.  Replace first argument type error with
1270         assert.
1272 2016-09-09  Martin Sebor  <msebor@redhat.com>
1274         PR c/77520
1275         PR c/77521
1276         * c-format.c (argument_parser::find_format_char_info): Use %qc
1277         format directive unconditionally.
1279 2016-09-09  Jason Merrill  <jason@redhat.com>
1281         Implement C++17 new of over-aligned types.
1282         * c.opt: Add -faligned-new and -Waligned-new.
1283         * c-common.c (max_align_t_align): Split out from...
1284         (cxx_fundamental_alignment_p): ...here.
1285         * c-common.h: Declare it.
1286         * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1288 2016-09-09  Joseph Myers  <joseph@codesourcery.com>
1290         * c-cppbuiltin.c (builtin_define_type_width): New function.
1291         (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1292         macros.
1294 2016-09-07  David Malcolm  <dmalcolm@redhat.com>
1296         * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1297         a POINTER_TYPE.
1298         (substring_loc::get_location): Move to substring-locations.c,
1299         keeping implementation as...
1300         (c_get_substring_location): New function, from the above, reworked
1301         to use accessors rather than member lookup.
1302         * c-common.h (class substring_loc): Move to substring-locations.h,
1303         replacing with a forward decl.
1304         (c_get_substring_location): New decl.
1305         * c-format.c: Include "substring-locations.h".
1306         (format_warning_va): Move to substring-locations.c.
1307         (format_warning_at_substring): Likewise.
1309 2016-09-06 Martin Sebor  <msebor@redhat.com>
1311         PR c/77336
1312         * c-format.c (check_function_format): Avoid issuing warnings for
1313         functions unless they call format functions with non-constant
1314         format strings.
1316 2016-09-06  Richard Biener  <rguenther@suse.de>
1318         PR c/77450
1319         * c-common.c (c_common_mark_addressable_vec): Handle
1320         COMPOUND_LITERAL_EXPR.
1322 2016-09-05  Marek Polacek  <polacek@redhat.com>
1324         PR c/77423
1325         * c-common.c (bool_promoted_to_int_p): New function.
1326         (expr_has_boolean_operands_p): New function.
1327         (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1328         (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1330 2016-09-04  Tom de Vries  <tom@codesourcery.com>
1332         revert:
1333         2016-08-29  Tom de Vries  <tom@codesourcery.com>
1335         * c-common.c (build_va_arg): Replace first argument type error
1336         with assert.
1338 2016-09-02  Jakub Jelinek  <jakub@redhat.com>
1340         PR c/65467
1341         * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1342         (c_finish_omp_for): Reject _Atomic qualified iterators.
1344 2016-09-01  Martin Sebor  <msebor@redhat.com>
1346         * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1347         size to guarantee it fits the output of the formatted function
1348         regardless of its arguments.
1350 2016-09-01  Marek Polacek  <polacek@redhat.com>
1352         PR c/7652
1353         * c-common.c (resolve_overloaded_builtin): Fix formatting.  Add
1354         FALLTHRU comments.
1356 2016-08-29  Marek Polacek  <polacek@redhat.com>
1358         PR c/77292
1359         * c-common.c (warn_logical_not_parentheses): Don't warn for
1360         a comparison or a logical operator.
1362 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1364         * c-common.c (build_va_arg): Fix type comparison assert.
1366 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1368         * c-common.c (build_va_arg): Replace first argument type error
1369         with assert.
1371 2016-08-29  Tom de Vries  <tom@codesourcery.com>
1373         PR c/77398
1374         * c-common.c (build_va_arg): Add first argument error.  Build va_arg
1375         with error_mark_node as va_list instead of with illegal va_list.
1377 2016-08-25  Marek Polacek  <polacek@redhat.com>
1378             David Malcolm  <dmalcolm@redhat.com>
1380         * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1381         * c-common.h (warn_logical_not_parentheses): Update declaration.
1383 2016-08-22  Marek Polacek  <polacek@redhat.com>
1385         PR c++/77321
1386         * c-common.c (warn_for_memset): Check type for null.
1388 2016-08-22  Joseph Myers  <joseph@codesourcery.com>
1390         * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1391         _FloatNx types for suffixes for built-in functions.
1393 2016-08-19  Joseph Myers  <joseph@codesourcery.com>
1395         PR c/32187
1396         * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1397         (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1398         (RID_FLOAT128X): New enum rid values.
1399         (CASE_RID_FLOATN_NX): New macro.
1400         * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1401         keywords.
1402         (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1403         corresponding complex types.
1404         (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1405         _FloatNx and corresponding complex types.
1406         (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1407         * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1408         and _FloatNx types for the widest type for determining
1409         DECIMAL_DIG.  Define __LDBL_DECIMAL_DIG__ as well as
1410         __DECIMAL_DIG__ for long double.  Handle FMA_SUFFIX being NULL.
1411         (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1412         and _FloatNx types.
1413         * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1414         constants.
1415         * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1416         _FloatNx types.
1418 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
1420         * c-opts.c (c_diagnostic_finalizer): Update for change to
1421         diagnostic_show_locus.
1423 2016-08-18  David Malcolm  <dmalcolm@redhat.com>
1425         * c-common.c: Include "spellcheck.h".
1426         (cb_get_suggestion): New function.
1427         * c-common.h (cb_get_suggestion): New decl.
1428         * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1429         cb_get_suggestion.
1431 2016-08-18  Marek Polacek  <polacek@redhat.com>
1433         PR c/71514
1434         * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1435         and pointer-to-VLA.
1437 2016-08-16  David Malcolm  <dmalcolm@redhat.com>
1439         PR c/72857
1440         * c-common.c (substring_loc::get_range): Rename to...
1441         (substring_loc::get_location): ...this, converting param from a
1442         source_range * to a location_t *.  Call
1443         get_source_location_for_substring rather than
1444         get_source_range_for_substring, and pass in m_caret_idx.
1445         * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1446         (substring_loc::get_range): Replace with...
1447         (substring_loc::get_location): ...this.
1448         (substring_loc::set_caret_index): New method.
1449         (substring_loc): Add field m_caret_idx.
1450         * c-format.c (format_warning_va): Update for above changes.
1451         Rename local "substring_loc" to "fmt_substring_loc" to avoid
1452         clashing with type name.
1453         (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1454         (check_argument_type): Likewise.
1455         (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1456         Use a copy when emitting warnings, setting the caret index from TYPE.
1458 2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
1459             Arnaud Charlet  <charlet@adacore.com>
1461         * c-ada-spec.c (dump_number): New function.
1462         (handle_escape_character): Likewise.
1463         (print_ada_macros): Add handling of constant integers and strings.
1465 2016-08-12  Marek Polacek  <polacek@redhat.com>
1467         PR c/7652
1468         * c-common.c (scalar_to_vector): Adjust fall through comment.
1469         * c-opts.c (c_common_handle_option): Likewise.
1470         * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1471         * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1472         fall through comment.
1473         * cilk.c (extract_free_variables): Add FALLTHRU.
1475 2016-08-10  Jason Merrill  <jason@redhat.com>
1477         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1479 2016-08-09  Jason Merrill  <jason@redhat.com>
1481         * c-common.c (c_common_attribute_table): vector_size affects type
1482         identity.
1484 2016-08-09  Marek Polacek  <polacek@redhat.com>
1486         PR c/7652
1487         * c-ada-spec.c (dump_generic_ada_node): Add return.
1489 2016-08-09  Jason Merrill  <jason@redhat.com>
1491         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1492         C++17 constexpr lambdas.
1494 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1496         PR c/64955
1497         * c-common.h (selftest::c_format_c_tests): New declaration.
1498         (selftest::run_c_tests): New declaration.
1499         * c-format.c: Include "selftest.h.
1500         (format_warning_va): Add param "corrected_substring" and use
1501         it to add a replacement fix-it hint.
1502         (format_warning_at_substring): Likewise.
1503         (format_warning_at_char): Update for new param of
1504         format_warning_va.
1505         (argument_parser::check_argument_type): Pass "fki" to
1506         check_format_types.
1507         (check_format_types): Add param "fki" and pass it to
1508         format_type_warning.
1509         (deref_n_times): New function.
1510         (get_modifier_for_format_len): New function.
1511         (selftest::test_get_modifier_for_format_len): New function.
1512         (get_format_for_type): New function.
1513         (format_type_warning): Add param "fki" and use it to attempt
1514         to provide hints for argument types when calling
1515         format_warning_at_substring.
1516         (selftest::get_info): New function.
1517         (selftest::assert_format_for_type_streq): New function.
1518         (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1519         (selftest::test_get_format_for_type_printf): New function.
1520         (selftest::test_get_format_for_type_scanf): New function.
1521         (selftest::c_format_c_tests): New function.
1523 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1525         PR c/52952
1526         * c-format.c: Include "diagnostic.h".
1527         (location_column_from_byte_offset): Delete.
1528         (location_from_offset): Delete.
1529         (format_warning_va): New function.
1530         (format_warning_at_substring): New function.
1531         (format_warning_at_char): New function.
1532         (check_format_arg): Capture location of format_tree and pass to
1533         check_format_info_main.
1534         (argument_parser): Add fields "start_of_this_format" and
1535         "format_string_cst".
1536         (flag_chars_t::validate): Add param "format_string_cst".  Convert
1537         warning_at call using location_from_offset to call to
1538         format_warning_at_char.
1539         (argument_parser::argument_parser): Add param "format_string_cst_"
1540         and use use it to initialize field "format_string_cst".
1541         Initialize new field "start_of_this_format".
1542         (argument_parser::read_format_flags): Convert warning_at call
1543         using location_from_offset to a call to format_warning_at_char.
1544         (argument_parser::read_any_format_left_precision): Likewise.
1545         (argument_parser::read_any_format_precision): Likewise.
1546         (argument_parser::read_any_other_modifier): Likewise.
1547         (argument_parser::find_format_char_info): Likewise, in three places.
1548         (argument_parser::parse_any_scan_set): Likewise, in one place.
1549         (argument_parser::handle_conversions): Likewise, in two places.
1550         (argument_parser::check_argument_type): Add param "fmt_param_loc"
1551         and use it to make a substring_loc.  Pass the latter to
1552         check_format_types.
1553         (check_format_info_main): Add params "fmt_param_loc" and
1554         "format_string_cst".  Convert warning_at calls using
1555         location_from_offset to calls to format_warning_at_char.  Pass the
1556         new params to the arg_parser ctor.  Pass "format_string_cst" to
1557         flag_chars.validate.  Pass "fmt_param_loc" to
1558         arg_parser.check_argument_type.
1559         (check_format_types): Convert first param from a location_t
1560         to a const substring_loc & and rename to "fmt_loc".  Attempt
1561         to extract the range of the relevant parameter and pass it
1562         to format_type_warning.
1563         (format_type_warning): Convert first param from a location_t
1564         to a const substring_loc & and rename to "fmt_loc".  Add
1565         params "param_range" and "type".  Replace calls to warning_at
1566         with calls to format_warning_at_substring.
1568 2016-08-08  David Malcolm  <dmalcolm@redhat.com>
1570         * c-format.c (class flag_chars_t): New class.
1571         (struct length_modifier): New struct.
1572         (class argument_parser): New class.
1573         (flag_chars_t::flag_chars_t): New ctor.
1574         (flag_chars_t::has_char_p): New method.
1575         (flag_chars_t::add_char): New method.
1576         (flag_chars_t::validate): New method.
1577         (flag_chars_t::get_alloc_flag): New method.
1578         (flag_chars_t::assignment_suppression_p): New method.
1579         (argument_parser::argument_parser): New ctor.
1580         (argument_parser::read_any_dollar): New method.
1581         (argument_parser::read_format_flags): New method.
1582         (argument_parser::read_any_format_width): New method.
1583         (argument_parser::read_any_format_left_precision): New method.
1584         (argument_parser::read_any_format_precision): New method.
1585         (argument_parser::handle_alloc_chars): New method.
1586         (argument_parser::read_any_length_modifier): New method.
1587         (argument_parser::read_any_other_modifier): New method.
1588         (argument_parser::find_format_char_info): New method.
1589         (argument_parser::validate_flag_pairs): New method.
1590         (argument_parser::give_y2k_warnings): New method.
1591         (argument_parser::parse_any_scan_set): New method.
1592         (argument_parser::handle_conversions): New method.
1593         (argument_parser::check_argument_type): New method.
1594         (check_format_info_main): Introduce classes argument_parser
1595         and flag_chars_t, moving the code within the loop into methods
1596         of these classes.  Make various locals "const".
1598 2016-08-05  David Malcolm  <dmalcolm@redhat.com>
1600         * c-common.c: Include "substring-locations.h".
1601         (get_cpp_ttype_from_string_type): New function.
1602         (g_string_concat_db): New global.
1603         (substring_loc::get_range): New method.
1604         * c-common.h (g_string_concat_db): New declaration.
1605         (class substring_loc): New class.
1606         * c-lex.c (lex_string): When concatenating strings, capture the
1607         locations of all tokens using a new obstack, and record the
1608         concatenation locations within g_string_concat_db.
1609         * c-opts.c (c_common_init_options): Construct g_string_concat_db
1610         on the ggc-heap.
1612 2016-07-29  Marek Polacek  <polacek@redhat.com>
1614         PR c/71926
1615         * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1616         parentheses warning.
1618         PR c/71574
1619         * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1621 2016-07-28  Martin Liska  <mliska@suse.cz>
1623         PR gcov-profile/68025
1624         * c-common.c (handle_no_profile_instrument_function_attribute):
1626 2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1628         * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1629         BITS_PER_UNIT_LOG.
1631 2016-07-25  Jason Merrill  <jason@redhat.com>
1633         PR c++/65970
1634         * c.opt (fconstexpr-loop-limit): New.
1636 2016-07-22  Martin Sebor  <msebor@redhat.com>
1638         PR c++/71675
1639         * c-common.c (resolve_overloaded_builtin): Avoid converting
1640         __atomic_compare_exchange_n return type to that of what its
1641         first argument points to.
1643 2016-07-22  Uros Bizjak  <ubizjak@gmail.com>
1645         * c-common.c: Use HOST_WIDE_INT_M1U instead of
1646         ~(unsigned HOST_WIDE_INT) 0.
1648 2016-07-22  Martin Liska  <mliska@suse.cz>
1650         PR gcov-profile/69028
1651         PR gcov-profile/62047
1652         * cilk.c (create_cilk_helper_decl): Set location of a new decl
1653         to the current_function_decl.
1655 2016-07-21  Jason Merrill  <jason@redhat.com>
1657         PR c++/65168
1658         * c-common.c (c_common_truthvalue_conversion): Check
1659         c_inhibit_evaluation_warnings for warning about address of
1660         reference.
1662 2016-07-20  David Malcolm  <dmalcolm@redhat.com>
1664         * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1665         const char *.
1667 2016-07-15  Jason Merrill  <jason@redhat.com>
1669         * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1671 2016-07-15  Jakub Jelinek  <jakub@redhat.com>
1673         PR c/71858
1674         * c-common.h (enum lookup_name_fuzzy_kind): Add
1675         FUZZY_LOOKUP_FUNCTION_NAME.
1677 2016-07-08  Jason Merrill  <jason@redhat.com>
1679         P0145: Refining Expression Order for C++.
1680         * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1681         * c-opts.c: Adjust.
1683 2016-07-05  Markus Trippelsdorf  <markus@trippelsdorf.de>
1685         PR c++/71214
1686         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1688 2016-06-29  Thomas Schwinge  <thomas@codesourcery.com>
1690         * c-pragma.h (enum pragma_kind): Rename
1691         PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE.  Adjust all
1692         users.
1694 2016-06-29  Richard Biener  <rguenther@suse.de>
1696         PR middle-end/71002
1697         * c-common.c (c_common_get_alias_set): Remove union type punning case.
1699 2016-06-24  Jason Merrill  <jason@redhat.com>
1701         P0145R2: Refining Expression Order for C++.
1702         * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1703         MODIFY_EXPR.
1705 2016-06-24  Jakub Jelinek  <jakub@redhat.com>
1707         * c-common.c (check_builtin_function_arguments): Require last
1708         argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1709         Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1710         if the last argument is pointer to enumerated or boolean type.
1712 2016-06-22  David Malcolm  <dmalcolm@redhat.com>
1714         PR c/70339
1715         * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1716         (lookup_name_fuzzy): New prototype.
1718 2016-06-21  John David Anglin  <danglin@gcc.gnu.org>
1720         * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1722 2016-06-14  Jason Merrill  <jason@redhat.com>
1724         P0145R2: Refining Expression Order for C++.
1725         * c.opt (fargs-in-order): New.
1726         * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1728 2016-06-13  Jakub Jelinek  <jakub@redhat.com>
1730         PR sanitizer/71498
1731         * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1732         all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1734         PR preprocessor/71183
1735         * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1736         to cb_get_source_date_epoch.
1738 2016-06-10  Jakub Jelinek  <jakub@redhat.com>
1740         PR c/68657
1741         * c.opt (Wpsabi): Add Warning flag.
1743 2016-06-10  Martin Sebor  <msebor@redhat.com>
1745         PR c/71392
1746         * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1747         the nonnull attribute in type-generic builtins.
1749 2016-06-09  Martin Sebor  <msebor@redhat.com>
1751         PR c/70883
1752         * c-common.c (builtin_function_validate_nargs): Make text of error
1753         message consistent with others like it.
1755 2016-06-08  Martin Sebor  <msebor@redhat.com>
1756             Jakub Jelinek  <jakub@redhat.com>
1758         PR c++/70507
1759         PR c/68120
1760         * c-common.c (check_builtin_function_arguments): Handle
1761         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1763 2016-06-08  Richard Biener  <rguenther@suse.de>
1765         * c-common.c (parse_optimize_options): Improve diagnostic messages.
1767 2016-06-07  Richard Biener  <rguenther@suse.de>
1769         PR c/61564
1770         * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1771         options and warn about others.
1773 2016-06-01  Eduard Sanou  <dhole@openmailbox.org>
1775         * c-common.c (get_source_date_epoch): Rename to
1776         cb_get_source_date_epoch.
1777         * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1778         message when the parsing fails.  Use error_at instead of fatal_error.
1779         * c-common.h (get_source_date_epoch): Rename to
1780         cb_get_source_date_epoch.
1781         * c-common.h (cb_get_source_date_epoch): Prototype.
1782         * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1783         * c-common.h (c_omp_region_type): Remove trailing comma.
1784         * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1785         * c-lex.c (c_lex_with_flags): Remove initialization of
1786         pfile->source_date_epoch.
1788 2016-05-30  Jakub Jelinek  <jakub@redhat.com>
1790         PR c++/71349
1791         * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1792         C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
1793         C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1794         instead of C_OMP_CLAUSE_SPLIT_FOR.
1796 2016-05-24  Richard Biener  <rguenther@suse.de>
1798         PR middle-end/70434
1799         PR c/69504
1800         * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1801         (convert_vector_to_array_for_subscript): ... this.
1802         * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1803         VIEW_CONVERT_EXPR to an array type.  Rename to ...
1804         (convert_vector_to_array_for_subscript): ... this.
1806 2016-05-12  Marek Polacek  <polacek@redhat.com>
1808         PR c/70756
1809         * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1810         size_in_bytes and pass LOC to it.
1812 2016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
1814         PR c/43651
1815         * c.opt (Wduplicate-decl-specifier): New option.
1817 2016-05-11  Marek Polacek  <polacek@redhat.com>
1819         PR c++/71024
1820         * c-common.c (diagnose_mismatched_attributes): New function.
1821         * c-common.h (diagnose_mismatched_attributes): Declare.
1823 2016-05-04  Marek Polacek  <polacek@redhat.com>
1825         * c.opt (Wdangling-else): New option.
1827 2016-05-03  Marek Polacek  <polacek@redhat.com>
1829         PR c/70859
1830         * c-common.c (builtin_function_validate_nargs): Add location
1831         parameter.  Use it.
1832         (check_builtin_function_arguments): Add location and arguments
1833         parameters.  Use them.
1834         * c-common.h (check_builtin_function_arguments): Update declaration.
1836 2016-05-03  Richard Biener  <rguenther@suse.de>
1838         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1839         allow call args to gimplify to SSA names.
1841 2016-05-03  Marek Polacek  <polacek@redhat.com>
1843         * c-common.h (enum c_omp_region_type): Remove stray comma.
1845 2016-05-02  Cesar Philippidis  <cesar@codesourcery.com>
1847         * c-common.h (enum c_omp_region_type): Define.
1849 2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
1851         * c-common.c (shorten_compare): Use wi::to_wide.
1853 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
1855         PR middle-end/70626
1856         * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1857         * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1858         reduction clauses in acc parallel loops.
1860 2016-04-29  Marek Polacek  <polacek@redhat.com>
1862         PR c/70852
1863         * c-common.c (warn_for_memset): Check domain before accessing it.
1865 2016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1867         PR/69089
1868         * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1869         "aligned" attribute.
1871 2016-04-28  Jason Merrill  <jason@redhat.com>
1873         * c-lex.c (c_common_has_attribute): Handle nodiscard.
1875 2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
1876             Matthias Klose  <doko@debian.org>
1878         * c-common.c (get_source_date_epoch): New function, gets the environment
1879         variable SOURCE_DATE_EPOCH and parses it as long long with error 
1880         handling.
1881         * c-common.h (get_source_date_epoch): Prototype.
1882         * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1884 2015-04-27  Ryan Burn  <contact@rnburn.com>
1886         PR c++/69024
1887         PR c++/68997
1888         * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1889         (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1890         external linkage.
1891         (cilk_detect_and_unwrap): Corresponding changes.
1892         (extract_free_variables): Don't extract free variables from
1893         AGGR_INIT_EXPR slot.
1894         * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1895         (cilk_recognize_spawn): Likewise.
1897 2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
1899         * c.opt (Wmemset-elt-size): New option.
1900         * c-common.c (warn_for_memset): New function.
1901         * c-common.h (warn_for_memset): Declare.
1903 2016-04-25  Jason Merrill  <jason@redhat.com>
1905         * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1906         No longer static.
1907         * c-common.h: Declare it.
1908         * c-lex.c (c_common_has_attribute): Add maybe_unused.
1910 2016-04-22  Jason Merrill  <jason@redhat.com>
1912         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1914 2016-04-20  Ilya Verbin  <ilya.verbin@intel.com>
1916         PR c++/69363
1917         * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1918         * c-common.h (c_finish_cilk_clauses): Remove declaration.
1920 2016-04-18  Michael Matz  <matz@suse.de>
1922         * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1923         and SET_DECL_ALIGN.
1925 2016-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1927         * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1928         (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1929         to incomplete types.
1930         (dump_nested_type): Remove redundant tests and tidy up.
1931         (print_ada_declaration): Also set TREE_VISITED on the declaration of
1932         a type which is the typedef of an original type.
1934 2016-04-15  Marek Polacek  <polacek@redhat.com>
1936         PR c/70651
1937         * c-common.c (build_va_arg): Change two asserts into errors and return
1938         error_mark_node.
1940 2016-04-13  Marek Polacek  <polacek@redhat.com>
1942         PR c++/70639
1943         * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1944         for switch statements, too.
1946 2016-03-28  Jason Merrill  <jason@redhat.com>
1948         * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1950 2016-03-23  Marek Polacek  <polacek@redhat.com>
1952         PR c++/69884
1953         * c.opt (Wignored-attributes): New option.
1955 2016-03-22  David Malcolm  <dmalcolm@redhat.com>
1957         PR c/69993
1958         * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1959         diagnostic text, reversing the order of the warning and note so
1960         that they appear in source order.
1962 2016-03-17  Marek Polacek  <polacek@redhat.com>
1964         PR c/69407
1965         * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1966         operations.
1968 2016-03-14  Jason Merrill  <jason@redhat.com>
1970         * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1972         * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1974 2016-03-09  Richard Biener  <rguenther@suse.de>
1976         PR c/70143
1977         * c-common.c (strict_aliasing_warning): Add back
1978         alias_sets_conflict_p check.
1980 2016-03-08  Jason Merrill  <jason@redhat.com>
1982         * c-opts.c (set_std_cxx1z): Don't enable concepts.
1984 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
1986         PR c/68187
1987         * c-indentation.c (get_visual_column): Move code to determine next
1988         tab stop to...
1989         (next_tab_stop): ...this new function.
1990         (line_contains_hash_if): Delete function.
1991         (detect_preprocessor_logic): Delete function.
1992         (get_first_nws_vis_column): New function.
1993         (detect_intervening_unindent): New function.
1994         (should_warn_for_misleading_indentation): Replace call to
1995         detect_preprocessor_logic with a call to
1996         detect_intervening_unindent.
1998 2016-03-04  David Malcolm  <dmalcolm@redhat.com>
2000         PR c/68187
2001         * c-indentation.c (should_warn_for_misleading_indentation): When
2002         suppressing warnings about cases where the guard and body are on
2003         the same column, only use the first non-whitespace column in place
2004         of the guard token column when dealing with "else" clauses.
2005         When rejecting aligned BODY and NEXT, loosen the requirement
2006         from equality with the first non-whitespace of guard to simply
2007         that they not be indented relative to it.
2009 2016-03-04  Richard Biener  <rguenther@suse.de>
2011         PR c++/70054
2012         * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
2013         instead of alias_sets_conflict_p.
2015 2016-03-01  Marek Polacek  <polacek@redhat.com>
2017         PR c++/69795
2018         * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
2019         any DECL.
2021 2016-02-22  Martin Sebor  <msebor@redhat.com>
2023         PR middle-end/69780
2024         * c-common.c (check_builtin_function_arguments): Validate and
2025         reject invalid arguments to __builtin_alloca_with_align.
2027 2016-02-20  Mark Wielaard  <mjw@redhat.com>
2029         PR c/28901
2030         * c.opt (Wunused-const-variable): Turn into Alias for...
2031         (Wunused-const-variable=): New option.
2033 2016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2035         PR c++/69865
2036         * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
2037         here...
2038         (c_common_init_options): ...to here.
2039         (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
2041 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
2043         PR c++/69826
2044         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
2045         (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
2046         flag_preprocess_only.
2048 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
2050         PR c/69835
2051         * c.opt (Wnonnull-compare): Enable for -Wall.
2053 2016-02-15  Jakub Jelinek  <jakub@redhat.com>
2055         PR c++/69797
2056         * c-common.c (sync_resolve_size): Diagnose too few arguments
2057         even when params is non-NULL empty vector.
2059 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
2061         PR target/60410
2062         * c.opt (fshort-double): Remove.
2064 2016-02-05  Martin Sebor  <msebor@redhat.com>
2066         PR c++/69662
2067         * c.opt (Warning options): Update -Wplacement-new to take
2068         an optional argument.
2070 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
2072         PR preprocessor/69543
2073         PR c/69558
2074         * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2075         instead of loc to control_warning_option.
2077 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
2079         * c.opt (fopenacc-dim=): New option.
2081 2016-01-27  Ryan Burn  <contact@rnburn.com>
2083         PR cilkplus/69267
2084         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2085         gimplify_arg. Removed superfluous post_p argument.
2086         * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2087         superfluous post_p argument.
2088         * c-gimplify.c (c_gimplify_expr): Likewise.
2090 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
2092         PR other/69006
2093         * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2094         pp_newline_and_flush with pp_flush.
2096 2016-01-20  Martin Sebor  <msebor@redhat.com>
2098         PR c/69405
2099         * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2100         an incompatible argument when the argument isn't a valid tree node.
2102 2016-01-18  Jason Merrill  <jason@redhat.com>
2104         PR c++/68767
2105         * c-common.c (check_function_arguments_recurse): Fold the whole
2106         COND_EXPR, not just the condition.
2108 2016-01-18  Tom de Vries  <tom@codesourcery.com>
2110         * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2111         classify as loop clause.
2113 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
2115         PR bootstrap/68271
2116         * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2117         C++ FE no longer has limit on number of pragmas.
2119 2015-01-14  Ryan Burn  <contact@rnburn.com>
2121         PR c++/69048
2122         * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
2123         to add missing cleanup point.
2125 2016-01-14  David Malcolm  <dmalcolm@redhat.com>
2127         PR c++/68819
2128         * c-indentation.c (get_visual_column): Add location_t param.
2129         Handle the column number being zero by effectively disabling the
2130         warning, with an "inform".
2131         (should_warn_for_misleading_indentation): Add location_t argument
2132         for all uses of get_visual_column.
2134 2016-01-10  Patrick Palka  <ppalka@gcc.gnu.org>
2136         PR c++/69029
2137         * c-indentation.c (should_warn_for_misleading_indentation):
2138         Don't warn about do-while statements.
2140 2016-01-07  Martin Sebor  <msebor@redhat.com>
2142         PR c/68966
2143         * c-common.c (sync_resolve_size): Reject first argument when it's
2144         a pointer to _Bool.
2146 2016-01-05  David Malcolm  <dmalcolm@redhat.com>
2148         PR c/69122
2149         * c-indentation.c (get_visual_column): Remove default argument.
2150         (should_warn_for_misleading_indentation): For the multiline case,
2151         update call to get_visual_column for next_stmt_exploc so that it
2152         captures the location of the first non-whitespace character in the
2153         relevant line.  Don't issue warnings if there is non-whitespace
2154         before the next statement.
2156 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
2158         Update copyright years.
2160 2015-12-21  David Malcolm  <dmalcolm@redhat.com>
2162         * c-common.c (binary_op_error): Convert first param from
2163         location_t to rich_location * and use it when emitting an error.
2164         * c-common.h (binary_op_error): Convert first param from
2165         location_t to rich_location *.
2167 2015-12-16  David Malcolm  <dmalcolm@redhat.com>
2169         * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2170         * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2172 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
2174         * c-common.c (c_common_attribute_table): Handle "omp declare target
2175         link" attribute.
2177 2015-12-14  Jakub Jelinek  <jakub@redhat.com>
2179         PR c/68833
2180         * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2182 2014-12-12  Tobias Burnus  <burnus@net-b.de>
2184         PR fortran/68815
2185         * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2186         specifiers (%d, %i,%u and %c).
2188 2015-12-10  David Malcolm  <dmalcolm@redhat.com>
2190         * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2192 2015-12-08  Jakub Jelinek  <jakub@redhat.com>
2194         PR c/48088
2195         PR c/68657
2196         * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2197         * c-pragma.c (handle_pragma_diagnostic): Adjust
2198         control_warning_option caller.
2200 2015-12-07  David Malcolm  <dmalcolm@redhat.com>
2202         * c-common.c (c_cpp_error): Update for change to
2203         rich_location::set_range.
2205 2015-12-04  Paolo Bonzini  <bonzini@gnu.org>
2207         * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2208         shifting 1 out of the sign bit.
2210 2015-12-04  Kirill Yukhin  <kirill.yukhin@intel.com>
2212         * c-common.c (c_common_attribute_table[]): Update max arguments
2213         count for "simd" attribute.
2214         (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2216 2015-12-03  Jakub Jelinek  <jakub@redhat.com>
2218         PR preprocessor/57580
2219         * c-ppoutput.c (print): Change printed field to bool.
2220         Move src_file last for smaller padding.
2221         (init_pp_output): Set print.printed to false instead of 0.
2222         (scan_translation_unit): Fix up formatting.  Set print.printed
2223         to true after printing something other than newline.
2224         (scan_translation_unit_trad): Set print.printed to true instead of 1.
2225         (maybe_print_line_1): Set print.printed to false instead of 0.
2226         (print_line_1): Likewise.
2227         (do_line_change): Set print.printed to true instead of 1.
2228         (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2229         dump_macro): Set print.printed to false after printing newline.
2231 2015-12-02  Jason Merrill  <jason@redhat.com>
2233         * c-common.c (fold_for_warn): New.
2234         (warn_logical_operator, warn_tautological_cmp)
2235         (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2237         * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2238         (c_fully_fold_internal, decl_constant_value_for_optimization):
2239         Move to c/c-fold.c.
2240         * c-common.h: Don't declare decl_constant_value_for_optimization.
2242 2015-12-02  Joseph Myers  <joseph@codesourcery.com>
2244         PR c/68162
2245         * c-common.h (c_build_qualified_type): Add extra default
2246         arguments.
2248 2015-12-01  Julian Brown  <julian@codesourcery.com>
2249             Cesar Philippidis  <cesar@codesourcery.com>
2250             James Norris  <James_Norris@mentor.com>
2252         * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2253         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2254         (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2256 2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
2258         * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2259         (decl_sloc_common): Delete and move bulk of processing to...
2260         (decl_sloc): ...here.
2261         (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2262         (dump_ada_double_name): Remove S parameter and compute the suffix.
2263         (dump_ada_array_type): Add PARENT parameter.  Simplify computation of
2264         element type and deal with an anonymous one.
2265         (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2266         (dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
2267         and remove reference to QUAL_UNION_TYPE.
2268         (dump_nested_types): Make 2 passes on the fields and move bulk to...
2269         (dump_nested_type): ...here.  New function extracted from above.
2270         Generate a full declaration for anonymous element type of arrays.
2271         (print_ada_declaration): Really skip anonymous declarations.  Remove
2272         references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
2273         Clean up processing of declarations of array types and objects.
2274         (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2275         Remove obsolete code and tidy up.
2277 2015-11-29  Jan Hubicka  <hubicka@ucw.cz>
2279         PR c/67581
2280         * c-common.c (handle_transparent_union_attribute): Update
2281         also type variants.
2283 2015-11-27  Martin Liska  <mliska@suse.cz>
2285         PR c++/68312
2286         * array-notation-common.c (cilkplus_extract_an_triplets):
2287         Release vector of vectors.
2288         * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2290 2015-11-26  Eric Botcazou  <ebotcazou@adacore.com>
2292         PR c++/68527
2293         * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2294         (print_ada_struct_decl): Likewise.
2296 2015-11-23  Igor Zamyatin  <igor.zamyatin@intel.com>
2298         PR c++/68001
2299         * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2300         * cilk.c (recognize_spawn): Determine location in a more precise
2301         way.
2303 2015-11-19  Jason Merrill  <jason@redhat.com>
2305         * c-common.c (shorten_compare): But look through macros from
2306         system headers.
2308 2015-11-18  Jason Merrill  <jason@redhat.com>
2310         * c-common.c (shorten_compare): Don't -Wtype-limits if the
2311         non-constant operand comes from a macro.
2313 2015-11-17  Jason Merrill  <jason@redhat.com>
2315         PR bootstrap/68346
2316         * c-common.c (warn_tautological_cmp): Fold before checking for
2317         constants.
2319 2015-11-16  Marek Polacek  <polacek@redhat.com>
2321         PR c++/68362
2322         * c-common.c (check_case_bounds): Fold low and high cases.
2324 2015-11-16  Marek Polacek  <polacek@redhat.com>
2326         * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2327         * c-common.c (c_common_get_alias_set): Likewise.
2328         (handle_visibility_attribute): Likewise.
2330 2015-11-16  Kirill Yukhin  <kirill.yukhin@intel.com>
2332         * c-common.c (handle_simd_attribute): New.
2333         (struct attribute_spec): Add entry for "simd".
2334         (handle_simd_attribute): New.
2336 2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
2338         * c-lex.c (interpret_float): Use fold_convert.
2340 2015-11-13  David Malcolm  <dmalcolm@redhat.com>
2342         * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2343         and store it on the result.
2344         * c-opts.c (c_common_init_options): Set
2345         global_dc->colorize_source_p.
2347 2015-11-12  James Norris  <jnorris@codesourcery.com>
2348             Joseph Myers  <joseph@codesourcery.com>
2350         * c-pragma.c (oacc_pragmas): Add entry for declare directive. 
2351         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2352         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2353         PRAGMA_OACC_CLAUSE_LINK.
2355 2015-11-11  Marek Polacek  <polacek@redhat.com>
2357         PR c/68107
2358         PR c++/68266
2359         * c-common.c (valid_array_size_p): New function.
2360         * c-common.h (valid_array_size_p): Declare.
2362 2015-11-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
2364         PR bootstrap/68271
2365         * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2367 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
2369         * array-notation-common.c: Remove unused header files.
2370         * c-ada-spec.c: Likewise.
2371         * c-cilkplus.c: Likewise.
2372         * c-common.c: Likewise.
2373         * c-cppbuiltin.c: Likewise.
2374         * c-dump.c: Likewise.
2375         * c-format.c: Likewise.
2376         * c-gimplify.c: Likewise.
2377         * c-indentation.c: Likewise.
2378         * c-lex.c: Likewise.
2379         * c-omp.c: Likewise.
2380         * c-opts.c: Likewise.
2381         * c-pch.c: Likewise.
2382         * c-ppoutput.c: Likewise.
2383         * c-pragma.c: Likewise.
2384         * c-pretty-print.c: Likewise.
2385         * c-semantics.c: Likewise.
2386         * c-ubsan.c: Likewise.
2387         * cilk.c: Likewise.
2388         * stub-objc.c: Likewise.
2390 2015-11-09  Thomas Schwinge  <thomas@codesourcery.com>
2391             Cesar Philippidis  <cesar@codesourcery.com>
2392             James Norris  <jnorris@codesourcery.com>
2393             Julian Brown  <julian@codesourcery.com>
2394             Nathan Sidwell  <nathan@codesourcery.com>
2396         * c-pragma.c (oacc_pragmas): Add "routine".
2397         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2399 2015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
2401         * c-common.c (c_common_attributes): Add scalar_storage_order.
2402         (handle_scalar_storage_order_attribute): New function.
2403         * c-pragma.c (global_sso): New variable.
2404         (maybe_apply_pragma_scalar_storage_order): New function.
2405         (handle_pragma_scalar_storage_order): Likewise.
2406         (init_pragma): Register scalar_storage_order.
2407         * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2408         * c.opt (Wscalar-storage-order): New warning.
2409         (fsso-struct=): New option.
2411 2015-11-08  Martin Sebor  <msebor@redhat.com>
2413         * c.opt (Wplacement-new): Add a period to the end of a sentence.
2415 2015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
2417         * c-common.c: Don't undef DEF_BUILTIN.
2419 2015-11-06  David Malcolm  <dmalcolm@redhat.com>
2421         * c-common.c (c_cpp_error): Convert parameter from location_t to
2422         rich_location *.  Eliminate the "column_override" parameter and
2423         the call to diagnostic_override_column.
2424         Update the "done_lexing" clause to set range 0
2425         on the rich_location, rather than overwriting a location_t.
2426         * c-common.h (c_cpp_error): Convert parameter from location_t to
2427         rich_location *.  Eliminate the "column_override" parameter.
2429 2015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
2430             Thomas Schwinge  <thomas@codesourcery.com>
2431             James Norris  <jnorris@codesourcery.com>
2433         * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2434         AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses.  Associate REDUCTION
2435         clauses with parallel and kernels and loops.
2436         * c-pragma.h (enum pragma_omp_clause): Add entries for
2437         PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2438         * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2439         NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2440         INDEPENDENT,SEQ}.
2441         (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2443 2015-11-05  Martin Sebor  <msebor@redhat.com>
2445         PR c++/67942
2446         * c.opt (-Wplacement-new): New option.
2448 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
2450         * c-common.h (c_finish_omp_atomic): Add TEST argument.
2451         (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2452         * c-omp.c (c_finish_omp_atomic): Add TEST argument.  Don't call
2453         save_expr or create_tmp_var* if TEST is true.
2454         (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2455         Don't call add_stmt here.
2456         (struct c_omp_check_loop_iv_data): New type.
2457         (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2458         c_omp_check_loop_iv_exprs): New functions.
2459         (c_omp_split_clauses): Adjust for lastprivate being allowed on
2460         distribute.
2461         (c_omp_declare_simd_clauses_to_numbers): Change
2462         OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2463         (c_omp_declare_simd_clauses_to_decls): Similarly change those
2464         from numbers to PARM_DECLs.
2466 2015-11-04  Mikhail Maltsev  <maltsevm@gmail.com>
2468         * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2469         flag_checking.
2471 2015-11-03  Bernd Schmidt  <bschmidt@redhat.com>
2473         PR c++-common/67882
2474         * c-common.h (fold_offsetof_1): Add argument.
2475         * c-common.c (fold_offsetof_1): Diagnose more invalid
2476         offsetof expressions that reference elements past the end of
2477         an array.
2479 2015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
2480             Chung-Lin Tang  <cltang@codesourcery.com>
2482         * c-pragma.c (oacc_pragmas): Add "atomic".
2483         * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2485 2015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>
2487         * c-common.c (handle_target_clones_attribute): New.
2488         (c_common_attribute_table): Add handle_target_clones_attribute.
2489         (handle_always_inline_attribute): Add check on target_clones attribute.
2490         (handle_target_attribute): Ditto.
2492 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
2494         * array-notation-common.c: Reorder #include's and remove duplicates.
2495         * c-ada-spec.c: Likewise.
2496         * c-cilkplus.c: Likewise.
2497         * c-common.c: Likewise.
2498         * c-cppbuiltin.c: Likewise.
2499         * c-dump.c: Likewise.
2500         * c-format.c: Likewise.
2501         * c-gimplify.c: Likewise.
2502         * c-indentation.c: Likewise.
2503         * c-lex.c: Likewise.
2504         * c-omp.c: Likewise.
2505         * c-opts.c: Likewise.
2506         * c-pch.c: Likewise.
2507         * c-ppoutput.c: Likewise.
2508         * c-pragma.c: Likewise.
2509         * c-pretty-print.c: Likewise.
2510         * c-semantics.c: Likewise.
2511         * c-ubsan.c: Likewise.
2512         * cilk.c: Likewise.
2513         * stub-objc.c: Likewise.
2515 2015-10-28  Jason Merrill  <jason@redhat.com>
2517         * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2519 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
2520             James Norris  <jnorris@codesourcery.com>
2521             Cesar Philippidis  <cesar@codesourcery.com>
2523         PR c/64765
2524         PR c/64880
2525         * c-common.h (c_oacc_split_loop_clauses): Declare function.
2526         * c-omp.c (c_oacc_split_loop_clauses): New function.
2528 2015-10-21  Martin Sebor  <msebor@redhat.com>
2530         PR driver/68043
2531         * c.opt: End each sentence that describes an option with a period.
2533 2015-10-20  Marek Polacek  <polacek@redhat.com>
2535         * array-notation-common.c (is_cilkplus_vector_p): Define.
2536         * c-common.h (is_cilkplus_vector_p): Declare.
2538 2015-10-20  Marek Polacek  <polacek@redhat.com>
2540         * c.opt (std=gnu++11): Do not describe as experimental.
2541         (std=gnu++14): Likewise.
2543 2015-10-19  Jason Merrill  <jason@redhat.com>
2545         * c-cppbuiltin.c (c_cpp_builtins): Define
2546         __cpp_nontype_template_args.
2548 2015-10-19  Jason Merrill  <jason@redhat.com>
2550         * c-cppbuiltin.c (c_cpp_builtins): Define
2551         __cpp_enumerator_attributes, __cpp_fold_expressions,
2552         __cpp_unicode_characters.
2554 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
2555             Aldy Hernandez  <aldyh@redhat.com>
2557         * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2558         DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2559         (c_define_builtins): Likewise.
2560         * c-common.h (enum c_omp_clause_split): Add
2561         C_OMP_CLAUSE_SPLIT_TASKLOOP.
2562         (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2563         (c_finish_omp_for): Add ORIG_DECLV argument.
2564         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2565         201511 instead of 201307.
2566         * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2567         OMP_CRITICAL_CLAUSES to it.
2568         (c_finish_omp_ordered): Add CLAUSES argument, set
2569         OMP_ORDERED_CLAUSES to it.
2570         (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2571         to it if OMP_FOR.  Clear DECL_INITIAL on the IVs.
2572         (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2573         constructs and new OpenMP 4.5 clauses.  Clear
2574         OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD.  Add
2575         verification code.
2576         * c-pragma.c (omp_pragmas_simd): Add taskloop.
2577         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2578         (enum pragma_omp_clause): Add
2579         PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2580         and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2582 2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
2584         * c-lex.c (interpret_float): Use real_equal instead of
2585         REAL_VALUES_EQUAL.
2587 2015-10-04  Jason Merrill  <jason@redhat.com>
2589         Implement N4514, C++ Extensions for Transactional Memory.
2590         * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2591         (c_common_attribute_table): Add transaction_safe_dynamic.
2592         transaction_safe now affects type identity.
2593         (handle_tm_attribute): Handle transaction_safe_dynamic.
2594         * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2595         RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2596         (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2597         (D_TRANSMEM): New.
2598         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2599         * c-pretty-print.c (pp_c_attributes_display): Don't print
2600         transaction_safe in C++.
2602 2015-10-02  Marek Polacek  <polacek@redhat.com>
2604         * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2606 2015-10-02  Marek Polacek  <polacek@redhat.com>
2608         PR c/64249
2609         * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2610         * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2611         * c.opt (Wduplicated-cond): New option.
2613 2015-10-01  Joseph Myers  <joseph@codesourcery.com>
2615         * c.opt (std=c11): Do not describe as experimental.
2616         (std=gnu11): Likewise.
2617         (std=iso9899:2011): Likewise.
2619 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
2621         * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2622         (DEF_FUNCTION_TYPE_VAR_11): Delete.
2624 2015-09-25  Marek Polacek  <polacek@redhat.com>
2626         * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2627         (ubsan_instrument_shift): Likewise.
2629 2015-09-25  Marek Polacek  <polacek@redhat.com>
2631         PR sanitizer/64906
2632         * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2634 2015-09-24  Patrick Palka  <ppalka@gcc.gnu.org>
2636         * c-indentation.c (should_warn_for_misleading_indentation):
2637         Compare next_stmt_vis_column with guard_line_first_nws instead
2638         of with guard_line_vis_column.
2640 2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2642         PR c/49654
2643         PR c/49655
2644         * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2645         options and options not valid for the current language.
2647 2015-09-22  Patrick Palka  <ppalka@gcc.gnu.org>
2649         * c-indentation.c (should_warn_for_misleading_indentation):
2650         Float out and consolidate the calls to get_visual_column that
2651         are passed guard_exploc as an argument.  Compare
2652         next_stmt_vis_column with guard_line_first_nws instead of with
2653         body_line_first_nws.
2655 2015-09-22  Nathan Sidwell  <nathan@codesourcery.com>
2657         * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2658         Wnamespaces): New C++ warnings.
2660 2015-09-22  Jason Merrill  <jason@redhat.com>
2662         * c-common.h (abi_compat_version_crosses): New.
2663         (warn_abi_version): Declare.
2664         * c-common.c: Define it.
2665         * c-opts.c (c_common_post_options): Handle it.
2666         flag_abi_compat_version defaults to 8.
2668 2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
2670         Complete the implementation of N4230, Nested namespace definition.
2671         * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2672         __cpp_nested_namespace_definitions.
2674 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2676         * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2678 2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2680         * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2681         when warning.
2682         * c-pragma.h (pragma_lex): Add optional loc argument.
2684 2015-09-16  Mikhail Maltsev  <maltsevm@gmail.com>
2686         * c-format.c (check_format_arg): Adjust to use common block size in all
2687         object pools.
2689 2015-09-15  David Malcolm  <dmalcolm@redhat.com>
2691         * c-format.c (location_from_offset): Update for change in
2692         signature of location_get_source_line.
2693         * c-indentation.c (get_visual_column): Likewise.
2694         (line_contains_hash_if): Likewise.
2696 2015-09-14  Marek Polacek  <polacek@redhat.com>
2698         * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2699         setting various warnings.
2701 2015-09-14  Marek Polacek  <polacek@redhat.com>
2703         * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2704         a negative value.
2706 2015-09-11  Mark Wielaard  <mjw@redhat.com>
2708         PR c/28901
2709         * c.opt (Wunused-variable): Option from common.opt.
2710         (Wunused-const-variable): New option.
2712 2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
2714         PR c++/53184
2715         * c.opt ([Wsubobject-linkage]): Add.
2717 2015-09-03  Martin Sebor  <msebor@redhat.com>
2719         PR c/66516
2720         * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2721         functions.
2722         * c-common.c (reject_gcc_builtin): Define.
2724 2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>
2726         PR middle-end/60586
2727         * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2728         prototype.
2729         * c-gimplify.c (c_gimplify_expr): Added a call to the function
2730         cilk_gimplify_call_params_in_spawned_fn.
2731         * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2732         (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2733         unwrapping.
2735 2015-08-25  Marek Polacek  <polacek@redhat.com>
2737         PR middle-end/67330
2738         * c-common.c (handle_weak_attribute): Don't check whether the
2739         visibility can be changed here.
2741 2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2743         * c-lex.c (c_lex_with_flags): Use explicit locations.
2745 2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
2747         * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2748         c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2750 2015-08-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2752         PR middle-end/36757
2753         * c-common.c (check_builtin_function_arguments): Add check
2754         for BUILT_IN_SIGNBIT argument.
2756 2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2758         PR c++/67160
2759         * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2760         in c++1z mode.
2762 2015-08-17  Marek Polacek  <polacek@redhat.com>
2764         * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2765         with whitespaces before qualifier names.
2767 2015-08-12  Marek Polacek  <polacek@redhat.com>
2769         PR c++/55095
2770         * c-common.c (maybe_warn_shift_overflow): Properly handle
2771         left-shifting 1 into the sign bit.
2773 2015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2775         * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2777 2015-08-06  Andrew Sutton  <andrew.n.sutton@gmail.com>
2778             Braden Obrzut  <admin@maniacsvault.net>
2779             Jason Merrill  <jason@redhat.com>
2781         Add C++ Concepts TS support.
2782         * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2783         * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2784         (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2785         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2786         * c-opts.c (set_std_cxx1z): Set flag_concepts.
2787         * c.opt (fconcepts): New.
2789 2015-08-02  Martin Sebor  <msebor@redhat.com>
2791         * c.opt (-Wframe-address): New warning option.
2793 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2795         * c-indentation.c (should_warn_for_misleading_indentation):
2796         Improve heuristics.
2798 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2800         * c-indentation.c (get_visual_column): Add parameter first_nws,
2801         use it.  Update comment documenting the function.
2802         (is_first_nonwhitespace_on_line): Remove.
2803         (should_warn_for_misleading_indentation): Replace usage of
2804         of is_first_nonwhitespace_on_line with get_visual_column.
2806 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
2808         * c-indentation.h (struct token_indent_info): Define.
2809         (get_token_indent_info): Define.
2810         (warn_for_misleading_information): Declare.
2811         * c-common.h (warn_for_misleading_information): Remove.
2812         * c-identation.c (warn_for_misleading_indentation):
2813         Change declaration to take three token_indent_infos.  Adjust
2814         accordingly.
2815         * c-identation.c (should_warn_for_misleading_indentation):
2816         Likewise.  Bail out early if the body is a compound statement.
2817         (guard_tinfo_to_string): Define.
2819 2015-07-30  Jason Merrill  <jason@redhat.com>
2821         * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2822         '*' for reference decay.
2824 2015-07-30  Marek Polacek  <polacek@redhat.com>
2826         * c-common.c (warn_tautological_cmp): Bail for float types.
2828 2015-07-27  Marek Polacek  <polacek@redhat.com>
2830         PR bootstrap/67030
2831         * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2833 2015-07-27  Marek Polacek  <polacek@redhat.com>
2835         PR c++/66555
2836         PR c/54979
2837         * c-common.c (find_array_ref_with_const_idx_r): New function.
2838         (warn_tautological_cmp): New function.
2839         * c-common.h (warn_tautological_cmp): Declare.
2840         * c.opt (Wtautological-compare): New option.
2842 2015-07-23  Marek Polacek  <polacek@redhat.com>
2844         * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2845         (ubsan_instrument_shift): Likewise.
2847 2015-07-23  Marek Polacek  <polacek@redhat.com>
2849         PR sanitizer/66908
2850         * c-ubsan.c: Include gimplify.h.
2851         (ubsan_instrument_division): Unshare OP0 and OP1.
2852         (ubsan_instrument_shift): Likewise.
2854 2015-07-20  Marek Polacek  <polacek@redhat.com>
2855             Richard Sandiford  <richard.sandiford@arm.com>
2857         PR c++/55095
2858         * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2859         Use EXPR_LOC_OR_LOC.
2860         (maybe_warn_shift_overflow): New function.
2861         * c-common.h (maybe_warn_shift_overflow): Declare.
2862         * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2863         * c.opt (Wshift-overflow): New option.
2865 2015-07-16  Martin Liska  <mliska@suse.cz>
2867         * c-format.c (static void check_format_info_main): Use
2868         object_allocator instead of pool_allocator.
2869         (check_format_arg): Likewise.
2870         (check_format_info_main): Likewise.
2872 2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
2874         * c-opts.c: Remove multiline #include comment.
2876 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
2878         * c-common.c: Fix double word typos.
2880 2015-07-10  Eric Botcazou  <ebotcazou@adacore.com>
2882         * c-ada-spec.h (cpp_operation): Revert latest change.
2883         * c-ada-spec.c (print_ada_declaration): Likewise.  Skip implicit
2884         constructors and destructors.
2886 2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
2888         * c-common.h: Adjust includes for flags.h changes.
2889         * stub-objc.c: Likewise.
2891 2015-07-08  Eric Botcazou  <ebotcazou@adacore.com>
2893         * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2894         * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2896 2015-07-08  Jakub Jelinek  <jakub@redhat.com>
2898         * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2899         are to be removed, return NULL rather than original clauses list.
2901 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
2903         * array-notation-common.c: Adjust includes.
2904         * c-ada-spec.c: Likewise.
2905         * c-cilkplus.c: Likewise.
2906         * c-common.h: Likewise.
2907         * c-cppbuiltin.c: Likewise.
2908         * c-dump.c: Likewise.
2909         * c-format.c: Likewise.
2910         * c-gimplify.c: Likewise.
2911         * c-indentation.c: Likewise.
2912         * c-lex.c: Likewise.
2913         * c-omp.c: Likewise.
2914         * c-opts.c: Likewise.
2915         * c-pch.c: Likewise.
2916         * c-ppoutput.c: Likewise.
2917         * c-pragma.c: Likewise.
2918         * c-pretty-print.c: Likewise.
2919         * c-semantics.c: Likewise.
2920         * c-ubsan.c: Likewise.
2921         * cilk.c: Likewise.
2922         * stub-objc.c: Likewise.
2924 2015-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2926         * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2927         * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2929 2015-07-01  Jason Merrill  <jason@redhat.com>
2931         * c-common.h (D_CXX11): Rename from D_CXX0X.
2932         (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2933         * c-common.c: Adjust.
2935         * c-opts.c (c_common_post_options): Default to C++14.
2937         * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2939 2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
2941         Implement N4197 - Adding u8 character literals
2942         * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
2943         CPP_CHAR.
2944         * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
2945         CPP_UTF8CHAR_USERDEF tokens.
2946         * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
2947         and CPP_UTF8CHAR tokens.
2948         (lex_charconst): Treat CPP_UTF8CHAR token.
2950 2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2952         PR fortran/66605
2953         * c-common.c (do_warn_unused_parameter): Move here.
2954         * c-common.h (do_warn_unused_parameter): Declare.
2956 2015-06-29  Marek Polacek  <polacek@redhat.com>
2958         PR c/66322
2959         * c-common.c (check_case_bounds): Add bool * parameter.  Set
2960         OUTSIDE_RANGE_P.
2961         (c_add_case_label): Add bool * parameter.  Pass it down to
2962         check_case_bounds.
2963         (c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
2964         warning here.
2965         * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2966         declarations.
2968 2015-06-27  Marek Polacek  <polacek@redhat.com>
2970         * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2971         or VECTOR_INTEGER_TYPE_P throughout.
2972         * c-gimplify.c: Likewise.
2974 2015-06-26  Marek Polacek  <polacek@redhat.com>
2976         * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2977         * c-common.c (c_fully_fold_internal): Likewise.
2978         (c_alignof_expr): Likewise.
2979         * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2980         * c-ubsan.c (ubsan_instrument_bounds): Likewise.
2981         * cilk.c (create_parm_list): Likewise.
2983 2015-06-26  Marek Polacek  <polacek@redhat.com>
2985         * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2987 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
2989         * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2990         * c-gimplify.c: Likewise.
2991         * c-pragma.c: Likewise.
2992         * c-ubsan.c: Likewise.
2993         * cilk.c: Likewise.
2995 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
2997         * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2998         ggc_hasher.
3000 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
3002         * cilk.c: Move calls.h after tm.h in the include chain.
3004 2015-06-25  Marek Polacek  <polacek@redhat.com>
3006         * array-notation-common.c: Use VAR_P throughout.
3007         * c-ada-spec.c: Likewise.
3008         * c-common.c: Likewise.
3009         * c-format.c: Likewise.
3010         * c-gimplify.c: Likewise.
3011         * c-omp.c: Likewise.
3012         * c-pragma.c: Likewise.
3013         * c-pretty-print.c: Likewise.
3014         * cilk.c: Likewise.
3016 2015-06-25  Marek Polacek  <polacek@redhat.com>
3018         * cilk.c (extract_free_variables): Use is_global_var.
3020 2015-06-23  Richard Sandiford  <richard.sandiford@arm.com>
3022         * c-common.c: Don't include target-def.h.
3024 2015-06-23  Marek Polacek  <polacek@redhat.com>
3026         * c-common.c (warn_logical_operator): Use tree_int_cst_equal
3027         when comparing INTEGER_CSTs.
3029 2015-06-22  Pierre-Marie de Rodat  <derodat@adacore.com>
3031         * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
3032         * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
3033         (dump_ada_template): Skip partially specialized types.
3035 2015-06-22  Mikhail Maltsev  <maltsevm@gmail.com>
3037         * c-common.c (scalar_to_vector): Use std::swap instead of manually
3038         swapping.
3040 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
3042         * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
3043         * c-ada-spec.c: Likewise.
3044         * c-cilkplus.c: Likewise.
3045         * c-common.c: Likewise.
3046         * c-common.h: Likewise.
3047         * c-cppbuiltin.c: Likewise.
3048         * c-dump.c: Likewise.
3049         * c-format.c: Likewise.
3050         * c-gimplify.c: Likewise.
3051         * c-indentation.c: Likewise.
3052         * c-lex.c: Likewise.
3053         * c-omp.c: Likewise.
3054         * c-opts.c: Likewise.
3055         * c-pch.c: Likewise.
3056         * c-ppoutput.c: Likewise.
3057         * c-pragma.c: Likewise.
3058         * c-pretty-print.c: Likewise.
3059         * c-semantics.c: Likewise.
3060         * c-ubsan.c: Likewise.
3061         * cilk.c: Likewise.
3062         * stub-objc.c: Likewise.
3064 2015-06-13  Patrick Palka  <ppalka@gcc.gnu.org>
3066         PR c++/65168
3067         * c-common.c (c_common_truthvalue_conversion): Warn when
3068         converting an address of a reference to a truth value.
3070 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
3072         * array-notation-common.c : Adjust include files.
3073         * c-ada-spec.c : Likewise.
3074         * c-cilkplus.c : Likewise.
3075         * c-common.c : Likewise.
3076         * c-common.h : Likewise.
3077         * c-cppbuiltin.c : Likewise.
3078         * c-dump.c : Likewise.
3079         * c-format.c : Likewise.
3080         * c-gimplify.c : Likewise.
3081         * c-indentation.c : Likewise.
3082         * c-lex.c : Likewise.
3083         * c-omp.c : Likewise.
3084         * c-opts.c : Likewise.
3085         * c-pch.c : Likewise.
3086         * c-ppoutput.c : Likewise.
3087         * c-pragma.c : Likewise.
3088         * c-pretty-print.c : Likewise.
3089         * c-semantics.c : Likewise.
3090         * c-ubsan.c : Likewise.
3091         * cilk.c : Likewise.
3092         * stub-objc.c : Likewise.
3094 2015-06-08  Marek Polacek  <polacek@redhat.com>
3096         PR c/66415
3097         * c-format.c (location_from_offset): Return LOC if LINE is null.
3099 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
3101         * c-common.h (c_parse_final_cleanups): New prototype.
3102         * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3104 2015-06-04  Sriraman Tallam  <tmsriram@google.com>
3106         * c-common.c (noplt): New attribute.
3107         (handle_noplt_attribute): New handler.
3109 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
3111         * array-notation-common.c: Adjust includes for restructured coretypes.h.
3112         * c-ada-spec.c: Likewise.
3113         * c-cilkplus.c: Likewise.
3114         * c-common.c: Likewise.
3115         * c-common.h: Likewise.
3116         * c-cppbuiltin.c: Likewise.
3117         * c-dump.c: Likewise.
3118         * c-format.c: Likewise.
3119         * c-gimplify.c: Likewise.
3120         * c-indentation.c: Likewise.
3121         * c-lex.c: Likewise.
3122         * c-omp.c: Likewise.
3123         * c-opts.c: Likewise.
3124         * c-pch.c: Likewise.
3125         * c-ppoutput.c: Likewise.
3126         * c-pragma.c: Likewise.
3127         * c-pretty-print.c: Likewise.
3128         * c-semantics.c: Likewise.
3129         * c-ubsan.c: Likewise.
3130         * cilk.c: Likewise.
3131         * stub-objc.c: Likewise.
3133 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
3135         PR c/66220:
3136         * c-indentation.c (should_warn_for_misleading_indentation): Use
3137         expand_location rather than expand_location_to_spelling_point.
3138         Don't warn if the guarding statement is more indented than the
3139         next/body stmts.
3141 2015-06-02  David Malcolm  <dmalcolm@redhat.com>
3143         * c-indentation.c (warn_for_misleading_indentation): Bail out
3144         immediately if -Wmisleading-indentation isn't enabled.
3146 2015-06-01  Martin Liska  <mliska@suse.cz>
3148         * c-format.c (check_format_arg):Use new type-based pool allocator.
3149         (check_format_info_main) Likewise.
3151 2015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
3153         * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3154         (has_nontrivial_methods): Likewise.
3156 2015-05-25  Marek Polacek  <polacek@redhat.com>
3158         * c-ubsan.c (ubsan_instrument_shift): Use type0.
3160 2015-05-22  Marek Polacek  <polacek@redhat.com>
3162         PR c/47043
3163         * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3165 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
3167         * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3168         STACK_GROWS_DOWNWARD.
3170 2015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
3172         * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3173         STACK_GROWS_DOWNWARD rather than if it is defined.
3175 2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3177         PR c/52952
3178         * c-format.c (location_column_from_byte_offset): New.
3179         (location_from_offset): New.
3180         (struct format_wanted_type): Add offset_loc field.
3181         (check_format_info): Move handling of location for extra arguments
3182         closer to the point of warning.
3183         (check_format_info_main): Pass the result of location_from_offset
3184         to warning_at.
3185         (format_type_warning): Pass the result of location_from_offset
3186         to warning_at.
3188 2015-05-20  Marek Polacek  <polacek@redhat.com>
3190         * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3192 2015-05-20  Marek Polacek  <polacek@redhat.com>
3194         * c-ada-spec.c (dump_sloc): Use DECL_P.
3196 2015-05-20  Marek Polacek  <polacek@redhat.com>
3198         * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3199         * c-common.c: Likewise.
3201 2015-05-19  David Malcolm  <dmalcolm@redhat.com>
3203         * c-common.h (fe_file_change): Strengthen param from
3204         const line_map * to const line_map_ordinary *.
3205         (pp_file_change): Likewise.
3206         * c-lex.c (fe_file_change): Likewise.
3207         (cb_define): Use linemap_check_ordinary when invoking
3208         SOURCE_LINE.
3209         (cb_undef): Likewise.
3210         * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3211         invoking cb_file_change.
3212         (c_finish_options): Likewise.
3213         (push_command_line_include): Likewise.
3214         (cb_file_change): Strengthen param "new_map" from
3215         const line_map * to const line_map_ordinary *.
3216         * c-ppoutput.c (cb_define): Likewise for local "map".
3217         (pp_file_change): Likewise for param "map" and local "from".
3219 2015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
3221         * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3223 2015-05-18  Tom de Vries  <tom@codesourcery.com>
3225         * c-common.c (build_va_arg_1): New function.
3226         (build_va_arg): Add address operator to va_list operand if necessary.
3228 2015-05-15  Mikhail Maltsev  <maltsevm@gmail.com>
3230         PR c/48956
3231         * c-common.c (int_safely_convertible_to_real_p): Define.
3232         (unsafe_conversion_p): Check conversions involving complex types.
3233         (conversion_warning): Add new warning message for conversions which
3234         discard imaginary component.
3235         * c-common.h: (enum conversion_safety): Add new enumerator for such
3236         conversions.
3238 2015-05-14  Marek Polacek  <polacek@redhat.com>
3240         PR c/66066
3241         PR c/66127
3242         * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3243         (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3244         C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
3245         use it.  If FOR_INT_CONST, require that all evaluated operands be
3246         INTEGER_CSTs.
3248 2015-05-12  David Malcolm  <dmalcolm@redhat.com>
3250         * c-common.h (warn_for_misleading_indentation): New prototype.
3251         * c-indentation.c: New file.
3252         * c.opt (Wmisleading-indentation): New option.
3254 2015-05-12  Tom de Vries  <tom@codesourcery.com>
3256         PR tree-optimization/66010
3257         * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3259 2015-05-09  Jason Merrill  <jason@redhat.com>
3261         * c-opts.c (c_common_post_options): Also clear
3262         cpp_opts->cpp_warn_cxx11_compat.
3264         * c-common.h (enum cxx_dialect): Add cxx_unset.
3265         * c-common.c (cxx_dialect): Initialize to cxx_unset.
3266         * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3268         * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3269         (std=gnu++0x): Mark as Undocumented.
3270         (std=gnu++1y): Add deprecated message.
3272 2015-05-08  Jason Merrill  <jason@redhat.com>
3274         * c.opt (Wc++11-compat): Make primary.  Rename var warn_cxx11_compat.
3275         * c-opts.c: Adjust.
3277         * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3279 2015-05-08  Marek Polacek  <polacek@redhat.com>
3281         PR c/64918
3282         * c.opt (Woverride-init-side-effects): New option.
3284 2015-05-07  Marek Polacek  <polacek@redhat.com>
3286         PR c/65179
3287         * c-common.c (c_fully_fold_internal): Warn when left shifting a
3288         negative value.
3289         * c.opt (Wshift-negative-value): New option.
3290         * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3291         when -Wextra and C99/C++11 mode.
3293 2015-05-07  Marek Polacek  <polacek@redhat.com>
3294             Martin Uecker  <uecker@eecs.berkeley.edu>
3296         * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3297         flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3299 2015-05-05  Jason Merrill  <jason@redhat.com>
3301         * c.opt (Wterminate): New.
3303 2015-04-30  Marek Polacek  <polacek@redhat.com>
3305         * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3306         require that the non-constant be of a boolean type.
3308 2015-04-29  Josh Triplett  <josh@joshtriplett.org>
3310         * c-common.c (handle_section_attribute): Refactor to reduce
3311         nesting and distinguish between error cases.
3313 2015-04-29  Marek Polacek  <polacek@redhat.com>
3315         PR c/64610
3316         * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3317         with 0/1.
3319 2015-04-29  Jakub Jelinek  <jakub@redhat.com>
3321         * c-common.h (omp_clause_mask): Unconditionally define as a class.
3322         Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3323         HOST_BITS_PER_WIDE_INT.
3325 2015-04-28  Tom de Vries  <tom@codesourcery.com>
3327         PR tree-optimization/65887
3328         * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3330 2015-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3331             Pierre-Marie de Rodat  <derodat@adacore.com>
3333         * c-ada-spec.c (in_function): Delete.
3334         (dump_generic_ada_node): Do not change in_function and remove the
3335         redundant code dealing with it.
3336         (print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
3337         (print_ada_methods): Output the static member functions in a nested
3338         package after the regular methods as well as associated renamings.
3340 2015-04-24  Marek Polacek  <polacek@redhat.com>
3342         PR c/65830
3343         * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3344         and OPT_Wshift_count_overflow.
3346         PR c/63357
3347         * c-common.c (warn_logical_operator): Warn if the operands have the
3348         same expressions.
3350 2015-04-24  Marek Polacek  <polacek@redhat.com>
3352         PR c/61534
3353         * c-common.c (warn_logical_operator): Bail if either operand comes
3354         from a macro expansion.
3356 2015-04-10  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3358         PR target/55143
3359         * c-common.c (c_default_pointer_mode): Add definition.
3360         * c-common.h (c_default_pointer_mode): Add declaration.
3362 2015-03-11  Jakub Jelinek  <jakub@redhat.com>
3364         * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3365         on record_builtin_type argument.
3367 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
3369         PR c/65120
3370         * c-common.c (warn_logical_not_parentheses): Don't warn for
3371         !x == 0 or !x != 0.
3373 2015-03-07  Marek Polacek  <polacek@redhat.com>
3375         PR sanitizer/65280
3376         * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3377         before trying to figure out whether we have a flexible array member.
3379 2015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3380             Jonathan Wakely  <jwakely.gcc@gmail.com>
3382         * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3384 2015-03-05  Eric Botcazou  <ebotcazou@adacore.com>
3386         PR ada/65319
3387         * c-ada-spec.c (print_destructor): Remove obsolete code.
3389 2015-03-01  Eric Botcazou  <ebotcazou@adacore.com>
3391         * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3392         (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3393         DECL_TEMPLATE_RESULT emulations.
3394         (dump_ada_template)): Add guard for TYPE_METHODS.
3396 2015-02-27  Marek Polacek  <polacek@redhat.com>
3398         PR c/65040
3399         * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3401 2015-02-27  Kai Tietz  <ktietz@redhat.com>
3403         PR c/35330
3404         * c-pragma.c (handle_pragma_weak): Do not try to create
3405         weak/alias of declarations not being function, or variable
3406         declarations.
3408 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
3410         PR libgomp/64625
3411         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3412         Remove macros.
3413         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3415 2015-02-16  Marek Polacek  <polacek@redhat.com>
3417         PR c/65066
3418         * c-format.c (check_format_types): Handle null param.
3420 2015-02-13  Marek Polacek  <polacek@redhat.com>
3422         PR c/65040
3423         * c-format.c (check_format_types): Don't warn about different
3424         signedness if the original value is in the range of WANTED_TYPE.
3426 2015-02-12  Jason Merrill  <jason@redhat.com>
3428         PR c++/64956
3429         * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3430         to the current highest version.
3431         * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3433 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
3435         PR c/64824
3436         PR c/64868
3437         * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3438         instead of RDIV_EXPR.  Use build_binary_op instead of
3439         build2_loc.
3441 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
3443         * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3444         to pass input_location as first argument.
3446 2015-01-23  Tom de Vries  <tom@codesourcery.com>
3448         PR libgomp/64672
3449         * c.opt (fopenacc): Mark as LTO option.
3451 2015-01-23  Tom de Vries  <tom@codesourcery.com>
3453         PR libgomp/64707
3454         * c.opt (fopenmp): Mark as LTO option.
3456 2015-01-21  Jakub Jelinek  <jakub@redhat.com>
3458         PR c/63307
3459         * cilk.c (fill_decls_vec): Only put decls into vector v.
3460         (compare_decls): Fix up formatting.
3462 2015-01-21  Igor Zamyatin  <igor.zamyatin@intel.com>
3464         PR c/63307
3465         * cilk.c: Include vec.h.
3466         (struct cilk_decls): New structure.
3467         (wrapper_parm_cb): Split this function to...
3468         (fill_decls_vec): ...this...
3469         (create_parm_list): ...and this.
3470         (compare_decls): New function.
3471         (for_local_cb): Remove.
3472         (wrapper_local_cb): Ditto.
3473         (build_wrapper_type): For now first traverse and fill vector of
3474         declarations then sort it and then deal with sorted vector.
3475         (cilk_outline): Ditto.
3476         (declare_one_free_variable): Ditto.
3478 2015-01-21  Jason Merrill  <jason@redhat.com>
3480         PR c++/64629
3481         * c-format.c (check_format_arg): Call decl_constant_value.
3483 2015-01-19  Martin Liska  <mliska@suse.cz>
3485         * c-common.c (handle_noicf_attribute): New function.
3487 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
3488             Bernd Schmidt  <bernds@codesourcery.com>
3489             James Norris  <jnorris@codesourcery.com>
3490             Cesar Philippidis  <cesar@codesourcery.com>
3491             Ilmir Usmanov  <i.usmanov@samsung.com>
3492             Jakub Jelinek  <jakub@redhat.com>
3494         * c.opt (fopenacc): New option.
3495         * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3496         * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3497         New macros.
3498         * c-common.h (c_finish_oacc_wait): New prototype.
3499         * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3500         (c_finish_oacc_wait): New function.
3501         * c-pragma.c (oacc_pragmas): New variable.
3502         (c_pp_lookup_pragma, init_pragma): Handle it.
3503         * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3504         PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3505         PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3506         PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3507         (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3508         PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3509         PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3510         PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3511         PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3512         PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3513         PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3514         PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3515         PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3516         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3517         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3518         PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3519         PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3520         PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3521         PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3522         PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3523         PRAGMA_OACC_CLAUSE_WORKER.
3525 2015-01-14  Marcos Diaz  <marcos.diaz@tallertechnologies.com>
3527         * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3528         for the new option fstack-protector_explicit.
3529         * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3530         (handle_stack_protect_attribute): New function.
3532 2015-01-13  Martin Uecker  <uecker@eecs.berkeley.edu>
3534         * c.opt: New option -Warray-bounds=.
3536 2015-01-09  Michael Collison  <michael.collison@linaro.org>
3538         * array-notation-common.c: Include hash-set.h, machmode.h,
3539         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3540         fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3541         * c-ada-spec.c: Ditto.
3542         * c-cilkplus.c: Ditto.
3543         * c-common.c: Include input.h due to flattening of tree.h.
3544         Define macro GCC_C_COMMON_C.
3545         * c-common.h: Flatten tree.h header files into c-common.h.
3546         Remove include of tree-core.h.
3547         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3548         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3549         fold-const.h, wide-int.h, and inchash.h due to
3550         flattening of tree.h.
3551         * c-dump.c: Ditto.
3552         * c-format.c: Flatten tree.h header files into c-common.h.
3553         * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3554         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3555         fold-const.h, wide-int.h, and inchash.h due to
3556         flattening of tree.h.
3557         * c-dump.c: Include hash-set.h, machmode.h,
3558         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3559         fold-const.h, wide-int.h, and inchash.h due to
3560         flattening of tree.h.
3561         * c-format.c: Include hash-set.h, machmode.h,
3562         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3563         fold-const.h, wide-int.h, inchash.h and real.h due to
3564         flattening of tree.h.
3565         * c-gimplify.c: Include hash-set.h, machmode.h,
3566         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3567         fold-const.h, wide-int.h, and inchash.h due to
3568         flattening of tree.h.
3569         * cilk.c: Ditto.
3570         * c-lex.c: Ditto.
3571         * c-omp.c: Ditto.
3572         * c-opts.c: Ditto.
3573         * c-pch.c: Ditto.
3574         * c-ppoutput.c: Ditto.
3575         * c-pragma.c: Ditto.
3576         * c-pretty-print.c: Ditto.
3577         * c-semantics.c: Ditto.
3578         * c-ubsan.c: Ditto.
3579         * stub-objc.c: Ditto.
3581 2015-01-08  Jason Merrill  <jason@redhat.com>
3583         * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3584         do_ubsan_in_current_function.
3585         (ubsan_maybe_instrument_reference_or_call): Likewise.
3586         * c-ubsan.h: Declare it.
3588 2015-01-08  Mike Stump  <mikestump@comcast.net>
3590         * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3592 2015-01-07  Marek Polacek  <polacek@redhat.com>
3594         PR c/64440
3595         * c-common.c (c_fully_fold_internal): Warn for division and modulo
3596         if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3598 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
3600         PR c++/31397
3601         * c.opt (Wsuggest-override): New option.
3603 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
3605         Update copyright years.
3607 2015-01-05  Marek Polacek  <polacek@redhat.com>
3609         PR c/64423
3610         * c-common.c (warn_array_subscript_with_type_char): Add location_t
3611         parameter.  Use it.
3612         * c-common.h (warn_array_subscript_with_type_char): Update
3613         declaration.
3615 2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
3617         * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3618         Control macro with flag_sized_deallocation.
3620 2014-12-20  Martin Uecker  <uecker@eecs.berkeley.edu>
3622         * c.opt (Wdiscarded-array-qualifiers): New option.
3624 2014-12-19  Jakub Jelinek  <jakub@redhat.com>
3626         PR preprocessor/63831
3627         * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3628         and __has_cpp_attribute here.
3629         * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3630         c_common_has_attribute.
3631         * c-common.h (c_common_has_attribute): New prototype.
3632         * c-lex.c (init_c_lex): Set cb->has_attribute to
3633         c_common_has_attribute instead of cb_has_attribute.
3634         (get_token_no_padding): New function.
3635         (cb_has_attribute): Renamed to ...
3636         (c_common_has_attribute): ... this.  No longer static.  Use
3637         get_token_no_padding, require ()s, don't build TREE_LIST
3638         unnecessarily, fix up formatting, adjust diagnostics, call
3639         init_attributes.
3641 2014-12-15  Jason Merrill  <jason@redhat.com>
3643         * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3644         (-Wsized-deallocation): New.
3645         * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3646         to on in C++14 and up.
3648 2014-12-11  Jason Merrill  <jason@redhat.com>
3650         * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3652         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3653         we aren't complaining about VLAs.
3655 2014-12-06  Marek Polacek  <polacek@redhat.com>
3657         PR tree-optimization/64183
3658         * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3659         shift-expression if it is integer_type_node.  Use types_compatible_p.
3661 2014-11-29  Jakub Jelinek  <jakub@redhat.com>
3663         * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3664         last argument from create_tmp_var_raw and create_tmp_var calls.
3665         * cilk.c (gimplify_cilk_spawn): Likewise.
3666         * c-omp.c (c_finish_omp_atomic): Likewise.
3668 2014-11-28  Marek Polacek  <polacek@redhat.com>
3670         * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3671         instead of unsigned_type_node.
3673 2014-11-28  Marek Polacek  <polacek@redhat.com>
3675         PR c/63862
3676         * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3677         to op1_utype.
3678         * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3679         expression to unsigned_type_node.
3681 2014-11-20  Mark Wielaard  <mjw@redhat.com>
3683         PR debug/38757
3684         * c-opts.c (set_std_c89): Set lang_hooks.name.
3685         (set_std_c99): Likewise.
3686         (set_std_c11): Likewise.
3687         (set_std_cxx98): Likewise.
3688         (set_std_cxx11): Likewise.
3689         (set_std_cxx14): Likewise.
3690         (set_std_cxx1z): Likewise.
3692 2014-11-21  Jakub Jelinek  <jakub@redhat.com>
3694         PR target/63764
3695         * c-common.h (convert_vector_to_pointer_for_subscript): Change
3696         return type to bool.
3697         * c-common.c: Include gimple-expr.h.
3698         (convert_vector_to_pointer_for_subscript): Change return type to
3699         bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3700         and copy it into a TARGET_EXPR and use that instead of *vecp
3701         directly.
3703 2014-11-19  David Malcolm  <dmalcolm@redhat.com>
3705         Merger of git branch "gimple-classes-v2-option-3".
3706         * ChangeLog.gimple-classes: New.
3707         * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3708         from being just a vec<gimple> to a vec<gbind *>.
3710 2014-11-18  Jakub Jelinek  <jakub@redhat.com>
3712         PR sanitizer/63813
3713         * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3714         argument to ptype, set type to TREE_TYPE (ptype).  Don't call
3715         get_pointer_alignment for non-pointers.  Use ptype, or if it is
3716         reference type, corresponding pointer type, as type of kind
3717         argument.
3718         (ubsan_maybe_instrument_reference,
3719         ubsan_maybe_instrument_member_call): Adjust callers.
3721 2014-11-15  Marek Polacek  <polacek@redhat.com>
3723         PR middle-end/63884
3724         * array-notation-common.c (is_sec_implicit_index_fn): Return false
3725         for NULL fndecl.
3726         (extract_array_notation_exprs): Return for NULL node.
3728 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
3730         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3731         undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3733 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
3735         PR c/59708
3736         * c-common.c (check_builtin_function_arguments): Handle
3737         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3739 2014-11-10  Andi Kleen  <ak@linux.intel.com>
3741         PR c/60804
3742         * c-common.h (check_no_cilk): Declare.
3743         * cilk.c (get_error_location): New function.
3744         (check_no_cilk): Dito.
3746 2014-11-10  Andi Kleen  <ak@linux.intel.com>
3748         * cilk.c (recognize_spawn): Use expression location
3749         for error message.
3751 2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
3753         * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3755 2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
3757         * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3758         (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3759         (__cpp_range_based_for, __cpp_initializer_lists,
3760         __cpp_delegating_constructors, __cpp_nsdmi,
3761         __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3762         for C++11; (__cpp_attribute_deprecated): Remove in favor of
3763         __has_cpp_attribute.
3764         * c-lex.c (cb_has_attribute): New callback CPP function;
3765         (init_c_lex): Set has_attribute callback.
3767 2014-11-04  Richard Biener  <rguenther@suse.de>
3769         * c-common.c (shorten_compare): Do not shorten mixed
3770         DFP and non-DFP compares.
3772 2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3774         * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3775         * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3776         Commentary and rearrangement of tests.
3777         * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3778         Commentary and rearrangement of tests.
3779         * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3780         * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3782 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
3784         * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3785         enum from machine_mode.
3787 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
3789         * c-common.c: Adjust include files.
3790         * c-gimplify.c: Ditto.
3791         * cilk.c: Ditto.
3792         * c-pragma.c: Ditto.
3793         * c-ubsan.c: Ditto.
3795 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
3797         * c-gimplify.c: Adjust include files.
3799 2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3801         PR c++/53061
3802         * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3803         c_common_initialize_diagnostics.
3804         * c-common.h: Likewise.
3806 2014-10-24  Marek Polacek  <polacek@redhat.com>
3808         PR c/56980
3809         * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3810         print "struct"/"union"/"enum" for typedefed names.
3812 2014-10-23  Marek Polacek  <polacek@redhat.com>
3814         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3815         in unsigned type.
3817 2014-10-22  Jakub Jelinek  <jakub@redhat.com>
3818             Yury Gribov  <y.gribov@samsung.com>
3820         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3821         ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3822         instead of flag_sanitize_recover as bool flag.
3824 2014-10-21  Kirill Yukhin  <kirill.yukhin@intel.com>
3826         * cilk.c: Revert previous change.
3828 2014-10-20  Igor Zamyatin  <igor.zamyatin@intel.com>
3830         PR c/63307
3831         * cilk.c: Include vec.h.
3832         (struct cilk_decls): New structure.
3833         (wrapper_parm_cb): Split this function to...
3834         (fill_decls_vec): ...this...
3835         (create_parm_list): ...and this.
3836         (compare_decls): New function.
3837         (for_local_cb): Remove.
3838         (wrapper_local_cb): Ditto.
3839         (build_wrapper_type): For now first traverse and fill vector of
3840         declarations then sort it and then deal with sorted vector.
3841         (cilk_outline): Ditto.
3842         (declare_one_free_variable): Ditto.
3844 2014-10-17  Marek Polacek  <polacek@redhat.com>
3846         * c-opts.c (c_common_post_options): Set warn_implicit_int.
3847         * c.opt (Wimplicit-int): Initialize to -1.
3849 2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
3851         * c-pragma.c: Adjust include files.
3852         * c-semantics.c: Likewise.
3854 2014-10-16  DJ Delorie  <dj@redhat.com>
3856         * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3857         multiples of bytes.
3859 2014-10-14  Jason Merrill  <jason@redhat.com>
3861         PR c++/63455
3862         * c-common.h (CPP_PREPARSED_EXPR): New.
3863         (N_CP_TTYPES): Adjust.
3865 2014-10-15  Marek Polacek  <polacek@redhat.com>
3867         * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3869 2014-10-14  DJ Delorie  <dj@redhat.com>
3871         * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3872         types, not just __int128.
3873         * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3874         types, not just __int128.
3875         (cpp_atomic_builtins): Round pointer sizes up.
3876         (type_suffix): Use type precision, not specific types.
3877         * c-common.c (c_common_reswords): Remove __int128 special case.
3878         (c_common_type_for_size): Check for all __intN types, not just
3879         __int128.
3880         (c_common_type_for_mode): Likewise.
3881         (c_common_signed_or_unsigned_type): Likewise.
3882         (c_build_bitfield_integer_type): Likewise.
3883         (c_common_nodes_and_builtins): Likewise.
3884         (keyword_begins_type_specifier): Likewise.
3885         * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3886         __intN variants.
3888 2014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
3890         * c-common.c: Use hash_table instead of hashtab.
3892 2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3894         * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
3895         C++11 section.
3897 2014-10-03  Marc Glisse  <marc.glisse@inria.fr>
3899         PR c++/54427
3900         PR c++/57198
3901         PR c++/58845
3902         * c-common.c (warn_logical_operator): Punt for vectors.
3904 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3906         Implement SD-6: SG10 Feature Test Recommendations
3907         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3908         macros and the __has_header macro.
3910 2014-09-30  Jason Merrill  <jason@redhat.com>
3912         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3913         RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3914         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3916         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3917         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3919         * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3920         * c-common.c (c_common_reswords): Remove __is_convertible_to.
3922 2014-09-24  Marek Polacek  <polacek@redhat.com>
3924         PR c/61405
3925         PR c/53874
3926         * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3928 2014-09-23  Andi Kleen  <ak@linux.intel.com>
3930         * c-common.c (handle_no_reorder_attribute): New function.
3931         (c_common_attribute_table): Add no_reorder attribute.
3933 2014-09-22  Joseph Myers  <joseph@codesourcery.com>
3935         * c-cppbuiltin.c (c_cpp_builtins): Define
3936         __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3937         modes.
3939 2014-09-18  Joseph Myers  <joseph@codesourcery.com>
3941         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3942         for supported floating-point modes.
3944 2014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3946         * c.opt (Wpsabi): Use LangEnabledBy.
3947         * c-opts.c (c_common_handle_option): Do not handle here.
3949 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
3951         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3952         macros for floating-point modes.
3954 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
3956         PR target/58757
3957         * c-cppbuiltin.c (builtin_define_float_constants): Correct
3958         __*_DENORM_MIN__ without denormals.
3960 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
3962         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3963         ubsan_instrument_vla, ubsan_instrument_return): Adjust
3964         ubsan_create_data callers.
3965         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3966         index is constant or BIT_AND_EXPR with constant mask and is
3967         small enough for the bound.
3968         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3969         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3971 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3973         * c.opt: Add CppReason to various flags.
3974         (Wdate-time): Re-sort.
3975         * c-common.c: Include c-common.h earlier.
3976         (struct reason_option_codes_t): Delete.
3977         (c_option_controlling_cpp_error): Prefix global type and struct
3978         with cpp_.
3980 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3982         * c.opt (Wnormalized): New.
3983         (Wnormalized=): Use Enum and Reject Negative.
3984         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3986 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
3988         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3989         digits of floating-point modes if -fbuilding-libgcc.
3991 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
3993         * c-cppbuiltin.c (c_cpp_builtins): Also define
3994         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3995         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3996         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3997         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3998         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3999         __LIBGCC_STACK_GROWS_DOWNWARD__,
4000         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
4001         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
4002         __LIBGCC_DWARF_FRAME_REGISTERS__,
4003         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
4004         __LIBGCC_STACK_POINTER_REGNUM__ and
4005         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
4006         (builtin_define_with_value): Handle backslash-escaping in string
4007         macro values.
4009 2014-09-05  Richard Biener  <rguenther@suse.de>
4011         PR middle-end/63148
4012         * c-format.c (check_format_arg): Properly handle
4013         effectively signed POINTER_PLUS_EXPR offset.
4015 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4017         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
4018         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
4019         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
4020         and Init.
4021         * c-opts.c (c_common_handle_option): Do not handle here.
4022         (sanitize_cpp_opts): Likewise.
4023         * c-common.c (struct reason_option_codes_t): Handle
4024         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
4026 2014-09-03  Marek Polacek  <polacek@redhat.com>
4028         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
4030 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
4031             Balaji V. Iyer  <balaji.v.iyer@intel.com>
4032             Igor Zamyatin  <igor.zamyatin@intel.com>
4034         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
4035         * c-common.c (c_common_reswords): Added _Cilk_for.
4036         * c-common.h (enum rid): Added RID_CILK_FOR.
4037         (cilk_for_number_of_iterations): Add declaration.
4038         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
4039         CILK_FOR.
4040         * c-pragma.c (init_pragma): Register "grainsize" pragma.
4041         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
4043 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4045         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
4046         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
4047         Wundef): Use CPP, Var and Init.
4048         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
4050 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4052         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
4053         * c-opts.c (c_common_handle_option): Do not handle here.
4055 2014-08-25  Jason Merrill  <jason@redhat.com>
4057         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
4058         -std=c++14 and -std=gnu++14, rather than the reverse.
4059         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
4060         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
4061         * c-common.h (cxx_dialect): Remove cxx1y.
4063 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
4065         * c-common.h (enum cxx_dialect): Add cxx14.
4066         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
4067         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
4068         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
4070 2014-08-22  Jason Merrill  <jason@redhat.com>
4072         * c.opt (std=gnu++17): Fix alias.
4074 2014-08-22  Marek Polacek  <polacek@redhat.com>
4076         PR c++/62199
4077         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
4078         check for vector types.  Drop LHS argument.
4079         * c-common.h (warn_logical_not_parentheses): Adjust.
4081 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4083         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4084         (Wmultichar): Likewise.
4085         (Wdate-time): Use C-family languages instead of Common. Use CPP
4086         and Var.
4087         * c-opts.c (c_common_handle_option): Do not handle the above
4088         options here.
4089         (sanitize_cpp_opts): Likewise.
4091 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4093         PR fortran/44054
4094         * c-opts.c: Include tree-diagnostics.h.
4095         (c_diagnostic_finalizer): New.
4096         (c_common_initialize_diagnostics): Use it.
4098 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4100         PR preprocessor/51303
4101         * c-common.c (struct reason_option_codes_t option_codes):
4102         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4104 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4106         PR c/60975
4107         PR c/53063
4108         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4109         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4110         (c_common_post_options): Call init_global_opts_from_cpp.
4111         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4113 2014-08-19  Marek Polacek  <polacek@redhat.com>
4115         PR c++/62153
4116         * c-common.c (maybe_warn_bool_compare): New function.
4117         * c-common.h (maybe_warn_bool_compare): Declare.
4118         * c.opt (Wbool-compare): New option.
4120 2014-08-19  Marek Polacek  <polacek@redhat.com>
4122         * c.opt (Wc99-c11-compat): New option.
4124 2014-08-19  Marek Polacek  <polacek@redhat.com>
4126         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4127         to warn_c90_c99_compat.
4128         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4129         to -1.
4131 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4132             Steven Bosscher  <steven@gcc.gnu.org>
4134         PR c/52952
4135         * c-format.c: Add extra_arg_loc and format_string_loc to struct
4136         format_check_results.
4137         (check_function_format): Use true and add comment for boolean
4138         argument.
4139         (finish_dollar_format_checking): Use explicit location when warning.
4140         (check_format_info): Likewise.
4141         (check_format_arg): Set extra_arg_loc and format_string_loc.
4142         (check_format_info_main): Use explicit location when warning.
4143         (check_format_types): Pass explicit location.
4144         (format_type_warning): Likewise.
4146 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4148         PR fortran/44054
4149         * c-format.c: Handle Fortran flags.
4151 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
4153         PR other/61962
4154         * array-notation-common.c (find_rank): Added handling for other
4155         types of references.
4157 2014-08-10  Marek Polacek  <polacek@redhat.com>
4159         PR c/51849
4160         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4161         * c.opt (Wc90-c99-compat): Add option.
4163 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
4165         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4167 2014-08-03  Marek Polacek  <polacek@redhat.com>
4169         * c-common.c (check_case_value):  Add location_t parameter.  Use it.
4170         (c_add_case_label): Pass loc to check_case_value.
4172 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
4174         * cilk.c: Use hash_map instead of pointer_map.
4176 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
4178         * c-gimplify.c: Use hash_set instead of pointer_set.
4180 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
4182         PR middle-end/61455
4183         * array-notation-common.c (extract_array_notation_exprs): Handling
4184         of DECL_EXPR added.
4186 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
4188         * c-common.h (min_align_of_type): Removed prototype.
4189         * c-common.c (min_align_of_type): Removed.
4190         * c-ubsan.h (ubsan_maybe_instrument_reference,
4191         ubsan_maybe_instrument_member_call): New prototypes.
4192         * c-ubsan.c: Include stor-layout.h and builtins.h.
4193         (ubsan_maybe_instrument_reference_or_call,
4194         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4195         functions.
4197 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
4199         PR c++/60517
4200         * c.opt (-Wreturn-local-addr): Move to common.opt.
4202 2014-07-30  Jason Merrill  <jason@redhat.com>
4204         PR c++/61659
4205         PR c++/61687
4206         Revert:
4207         * c.opt (-fuse-all-virtuals): New.
4209 2014-07-30  Tom Tromey  <tromey@redhat.com>
4211         PR c/59855
4212         * c.opt (Wdesignated-init): New option.
4213         * c-common.c (c_common_attribute_table): Add "designated_init".
4214         (handle_designated_init): New function.
4216 2014-07-24  Marek Polacek  <polacek@redhat.com>
4218         PR c/57653
4219         * c-opts.c (c_finish_options): If -imacros is in effect, return.
4221 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
4223         PR preprocessor/60723 - missing system-ness marks for macro tokens
4224         * c-ppoutput.c (struct print::prev_was_system_token): New data
4225         member.
4226         (init_pp_output): Initialize it.
4227         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4228         (do_line_change): Return a flag saying if a line marker was
4229         emitted or not.
4230         (scan_translation_unit): Detect if the system-ness of the token we
4231         are about to emit is different from the one of the previously
4232         emitted token.  If so, emit a line marker.  Avoid emitting useless
4233         adjacent line markers.  Avoid emitting line markers for tokens
4234         originating from the expansion of built-in macros.
4235         (scan_translation_unit_directives_only): Adjust.
4237 2014-07-15  Marek Polacek  <polacek@redhat.com>
4239         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4240         TYPE_MAX_VALUE is NULL.
4242 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
4244         PR middle-end/61294
4245         * c.opt (Wmemset-transposed-args): New warning.
4247 2014-07-10  Jason Merrill  <jason@redhat.com>
4249         PR c++/61659
4250         PR c++/61687
4251         * c.opt (-fuse-all-virtuals): New.
4253 2014-07-09  Richard Biener  <rguenther@suse.de>
4255         PR c-family/61741
4256         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4257         using unsigned arithmetic if overflow does not wrap instead of
4258         if overflow is undefined.
4260 2014-07-06  Marek Polacek  <polacek@redhat.com>
4262         PR c/6940
4263         * c.opt (Wsizeof-array-argument): New option.
4265 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
4267         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
4268         comments->count <= 1, as comments->entries might be NULL.
4270 2014-07-01  Marek Polacek  <polacek@redhat.com>
4272         * c.opt (Wint-conversion): New option.
4274 2014-07-01  Marek Polacek  <polacek@redhat.com>
4276         PR c/58286
4277         * c.opt (Wincompatible-pointer-types): New option.
4279 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
4281         PR c++/51400
4282         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4283         Do not discard TYPE_QUALS of type.
4285 2014-06-26  Jason Merrill  <jason@redhat.com>
4287         * c-common.h (enum cxx_dialect): Add cxx1z.
4288         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4289         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4291 2014-06-26  Teresa Johnson  <tejohnson@google.com>
4293         * c-common.h (get_dump_info): Declare.
4294         * c-gimplify.c (c_genericize): Use saved dump files.
4295         * c-opts.c (c_common_parse_file): Begin and end dumps
4296         once around parsing invocation.
4297         (get_dump_info): New function.
4299 2014-06-23  Marek Polacek  <polacek@redhat.com>
4300             Andrew MacLeod  <amacleod@redhat.com>
4302         PR c/61553
4303         * c-common.c (get_atomic_generic_size): Don't segfault if the
4304         type doesn't have a size.
4306 2014-06-20  Marek Polacek  <polacek@redhat.com>
4308         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4309         (ubsan_walk_array_refs_r): New function.
4310         (c_genericize): Instrument array bounds.
4311         * c-ubsan.c: Include "internal-fn.h".
4312         (ubsan_instrument_division): Mark instrumented arrays as having
4313         side effects.  Adjust ubsan_type_descriptor call.
4314         (ubsan_instrument_shift): Likewise.
4315         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4316         (ubsan_instrument_bounds): New function.
4317         (ubsan_array_ref_instrumented_p): New function.
4318         (ubsan_maybe_instrument_array_ref): New function.
4319         * c-ubsan.h (ubsan_instrument_bounds): Declare.
4320         (ubsan_array_ref_instrumented_p): Declare.
4321         (ubsan_maybe_instrument_array_ref): Declare.
4323 2014-06-20  Hale Wang  <hale.wang@arm.com>
4325         PR lto/61123
4326         * c.opt (fshort-enums): Add to LTO.
4327         * c.opt (fshort-wchar): Likewise.
4329 2014-06-16  Marek Polacek  <polacek@redhat.com>
4331         PR c/60439
4332         * c.opt (Wswitch-bool): Add Var.
4334 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
4336         PR middle-end/61486
4337         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4338         #pragma omp target teams or
4339         #pragma omp {,target }teams distribute simd.
4341 2014-06-12  Jason Merrill  <jason@redhat.com>
4343         * c.opt (Wabi=, fabi-compat-version): New.
4344         * c-opts.c (c_common_handle_option): Handle -Wabi=.
4345         (c_common_post_options): Handle flag_abi_compat_version default.
4346         Disallow -fabi-compat-version=1.
4347         * c-common.h (abi_version_crosses): New.
4349 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
4351         * c-common.c (handle_section_attribute): Update handling for
4352         section names that are no longer trees.
4354 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
4356         PR fortran/60928
4357         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4358         (omp_pragmas): ... back here.
4360 2014-06-05  Marek Polacek  <polacek@redhat.com>
4362         PR c/49706
4363         * c-common.c (warn_logical_not_parentheses): New function.
4364         * c-common.h (warn_logical_not_parentheses): Declare.
4365         * c.opt (Wlogical-not-parentheses): New option.
4367 2014-06-04  Marek Polacek  <polacek@redhat.com>
4369         PR c/30020
4370         * c-common.c (check_case_bounds): Add location parameter.
4371         Use it.
4372         (c_add_case_label): Pass loc to check_case_bounds.
4374 2014-06-03  Marek Polacek  <polacek@redhat.com>
4376         PR c/60439
4377         * c.opt (Wswitch-bool): New option.
4379 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
4381         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4382         Remove prototypes.
4383         (record_types_used_by_current_var_decl): Move prototype to where
4384         it belongs.
4386         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4387         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4388         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4390 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
4392         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4393         * c-common.c (c_common_nodes_and_builtins): Don't initialize
4394         void_zero_node.
4395         * c-pretty-print.c (pp_c_void_constant): New function.
4396         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4397         (c_pretty_printer::expression): Handle VOID_CST.
4398         * cilk.c (extract_free_variables): Likewise.
4399         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4400         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4402 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
4404         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4405         * c-pragma.c (push_alignment): Adjust.
4406         (handle_pragma_push_options): Likewise.
4408 2014-05-09  Marek Polacek  <polacek@redhat.com>
4410         PR c/50459
4411         * c-common.c (check_user_alignment): Return -1 if alignment is error
4412         node.
4413         (handle_aligned_attribute): Don't call default_conversion on
4414         FUNCTION_DECLs.
4415         (handle_vector_size_attribute): Likewise.
4416         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4417         (handle_sentinel_attribute): Call default_conversion and allow even
4418         integral types as an argument.
4420 2014-05-08  Marek Polacek  <polacek@redhat.com>
4422         PR c/61053
4423         * c-common.c (min_align_of_type): New function factored out from...
4424         (c_sizeof_or_alignof_type): ...here.
4425         * c-common.h (min_align_of_type): Declare.
4427 2014-05-08  Marek Polacek  <polacek@redhat.com>
4429         PR c/61077
4430         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4431         parameter type of main.
4433 2014-05-07  DJ Delorie  <dj@redhat.com>
4435         * c-cppbuiltin.c (print_bits_of_hex): New.
4436         (builtin_define_type_minmax): Print values using hex so as not to
4437         require a pre-computed list of string values.
4439 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
4440             Mike Stump  <mikestump@comcast.net>
4441             Richard Sandiford  <rdsandiford@googlemail.com>
4443         * c-ada-spec.c: Include wide-int.h.
4444         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4445         (dump_generic_ada_node): Use wide-int interfaces.
4446         * c-common.c: Include wide-int-print.h.
4447         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4448         (pointer_int_sum): Use wide-int interfaces.
4449         (c_common_nodes_and_builtins): Use make_int_cst.
4450         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4451         (handle_alloc_size_attribute): Use wide-int interfaces.
4452         (get_nonnull_operand): Likewise.
4453         * c-format.c (get_constant): Use tree_fits_uhwi_p.
4454         * c-lex.c: Include wide-int.h.
4455         (narrowest_unsigned_type): Take a widest_int rather than two
4456         HOST_WIDE_INTs.
4457         (narrowest_signed_type): Likewise.
4458         (interpret_integer): Update accordingly.  Use wide-int interfaces.
4459         (lex_charconst): Use wide-int interfaces.
4460         * c-pretty-print.c: Include wide-int.h.
4461         (pp_c_integer_constant): Use wide-int interfaces.
4462         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4463         INT_CST_LT_UNSIGNED.
4465 2014-05-06  Richard Biener  <rguenther@suse.de>
4467         * c-opts.c (c_common_post_options): For -freestanding,
4468         -fno-hosted and -fno-builtin disable pattern recognition
4469         if not enabled explicitely.
4471 2014-05-02  Marek Polacek  <polacek@redhat.com>
4473         * c.opt (Wsizeof-pointer-memaccess): Describe option.
4475 2014-05-01  Marek Polacek  <polacek@redhat.com>
4477         PR c/43245
4478         * c.opt (Wdiscarded-qualifiers): Add.
4480 2014-04-30  Marek Polacek  <polacek@redhat.com>
4482         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
4483         INT_MIN / -1 sanitization only for integer types.
4485 2014-04-25  Marek Polacek  <polacek@redhat.com>
4487         PR c/18079
4488         * c-common.c (handle_noinline_attribute): Warn if the attribute
4489         conflicts with always_inline attribute.
4490         (handle_always_inline_attribute): Warn if the attribute conflicts
4491         with noinline attribute.
4493 2014-04-25  Marek Polacek  <polacek@redhat.com>
4495         PR c/60156
4496         * c-common.c (check_main_parameter_types): Warn about variadic main.
4498 2014-04-24  Mike Stump  <mikestump@comcast.net>
4500         * c.opt (Wshadow-ivar): Default to on.
4502 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
4504         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4506 2014-04-23  Marek Polacek  <polacek@redhat.com>
4508         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4510 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4512         PR sanitizer/60275
4513         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4514         if flag_sanitize_undefined_trap_on_error.
4515         (ubsan_instrument_division, ubsan_instrument_shift,
4516         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
4517         if !flag_sanitize_recover.
4519 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
4521         PR libstdc++/43622
4522         * c-common.c (registered_builtin_types): Make non-static.
4523         * c-common.h (registered_builtin_types): Declare.
4525 2014-04-14  Richard Biener  <rguenther@suse.de>
4526         Marc Glisse  <marc.glisse@inria.fr>
4528         PR c/60819
4529         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4530         apply may-alias the scalar pointer type when applicable.
4532 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
4534         PR middle-end/60467
4535         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4536         as possible argument for Cilk_spawn.
4538 2014-04-11  Tobias Burnus  <burnus@net-b.de>
4540         PR c/60194
4541         * c.opt (Wformat-signedness): Add
4542         * c-format.c(check_format_types): Use it.
4544 2014-04-11  Jason Merrill  <jason@redhat.com>
4546         PR c++/57926
4547         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4548         default_conversion for an array argument.
4550 2014-04-08  Marek Polacek  <polacek@redhat.com>
4552         PR sanitizer/60745
4553         * c-ubsan.c: Include asan.h.
4554         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4556 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
4558         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4560 2014-04-02  Marek Polacek  <polacek@redhat.com>
4562         * c-common.h (c_expand_expr): Remove declaration.
4564 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
4566         PR c++/60689
4567         * c-common.c (add_atomic_size_parameter): When creating new
4568         params vector, push the size argument first.
4570 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
4572         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4573         ubsan_instrument_vla, ubsan_instrument_return): Adjust
4574         ubsan_create_data callers.
4576 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
4578         PR debug/60603
4579         * c-opts.c (c_finish_options): Restore cb_file_change call to
4580         <built-in>.
4582 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
4584         PR middle-end/36282
4585         * c-pragma.c (apply_pragma_weak): Only look at
4586         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4587         DECL_ASSEMBLER_NAME_SET_P (decl).
4588         (maybe_apply_pending_pragma_weaks): Exit early if
4589         vec_safe_is_empty (pending_weaks) rather than only when
4590         !pending_weaks.
4591         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
4592         set assembler name back to NULL afterwards.
4594 2014-03-11  Jason Merrill  <jason@redhat.com>
4596         * c.opt: Add -std=gnu++14.
4598 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
4600         * c-opts.c (c_common_post_options): Don't override
4601         -ffp-contract=fast if unsafe-math-optimizations is on.
4603 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
4605         * c.opt: Enable LTO FE for fshort-double.
4607 2014-03-07  Jason Merrill  <jason@redhat.com>
4609         * c.opt: Add -std=c++14.
4611 2014-03-06  Marek Polacek  <polacek@redhat.com>
4613         PR c/60197
4614         * cilk.c (contains_cilk_spawn_stmt): New function.
4615         (contains_cilk_spawn_stmt_walker): Likewise.
4616         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4617         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4619 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
4621         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4622         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4623         even when flag_preprocess_only.
4625 2014-02-26  Jason Merrill  <jason@redhat.com>
4627         PR c++/59231
4628         PR c++/11586
4629         * c-common.c (shorten_compare): Don't check
4630         c_inhibit_evaluation_warnings.
4632 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
4634         PR c/37743
4635         * c-common.c (c_common_nodes_and_builtins): When initializing
4636         c_uint{16,32,64}_type_node, also set corresponding
4637         uint{16,32,64}_type_node to the same value.
4639         PR c++/60267
4640         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4641         for PRAGMA_IVDEP if flag_preprocess_only.
4643 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
4645         PR c/60101
4646         * c-common.c (merge_tlist): If copy is true, call new_tlist,
4647         if false, add ADD itself, rather than vice versa.
4648         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4649         copy.  For SAVE_EXPR, only call merge_tlist once.
4651 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
4653         PR middle-end/60092
4654         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4655         and tree_to_uhwi.
4656         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4657         functions.
4658         (c_common_attribute_table): Add alloc_align and assume_aligned
4659         attributes.
4661 2014-02-06  Marek Polacek  <polacek@redhat.com>
4663         PR c/60087
4664         * c-common.c (warn_for_sign_compare): Call warning_at with location
4665         instead of warning.
4667 2014-02-05  Marek Polacek  <polacek@redhat.com>
4669         PR c/53123
4670         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4671         statement.
4673 2014-02-04  Marek Polacek  <polacek@redhat.com>
4675         PR c/60036
4676         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4677         SAVE_EXPR.
4679 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
4681         PR c++/53017
4682         PR c++/59211
4683         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4684         handle_vector_size_attribute, handle_nonnull_attribute): Call
4685         default_conversion on the attribute argument.
4686         (handle_nonnull_attribute): Increment the argument number.
4688 2014-01-31  Marek Polacek  <polacek@redhat.com>
4690         PR c/59963
4691         * c-common.c (add_atomic_size_parameter): Pass vNULL to
4692         build_function_call_vec.
4693         (resolve_overloaded_builtin): Likewise.
4694         * c-common.h (build_function_call_vec): Adjust declaration.
4696 2014-01-30  Marek Polacek  <polacek@redhat.com>
4698         PR c/59940
4699         * c-common.h (unsafe_conversion_p): Adjust declaration.
4700         (warnings_for_convert_and_check): Likewise.
4701         (convert_and_check): Likewise.
4702         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
4703         expansion_point_location_if_in_system_header on it.
4704         (warnings_for_convert_and_check): Add location parameter.  Call
4705         expansion_point_location_if_in_system_header on it.  Use it.
4706         (convert_and_check): Add location parameter.  Use it.
4707         (conversion_warning): Likewise.
4708         (c_add_case_label): Adjust convert_and_check calls.
4709         (scalar_to_vector): Adjust unsafe_conversion_p calls.
4711 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4713         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4714         flag_cilkplus.
4715         * c-pragma.c (init_pragma): Likewise.
4716         * c.opt: Likewise.
4718 2014-01-23  Marek Polacek  <polacek@redhat.com>
4720         PR c/59846
4721         * c-common.c (shorten_compare): Add location_t parameter.
4722         * c-common.h (shorten_binary_op): Adjust declaration.
4724 2014-01-23  Marek Polacek  <polacek@redhat.com>
4726         PR c/58346
4727         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4728         * c-common.h: Declare it.
4730 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
4732         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4733         * c-ada-spec.c (dump_ads): Likewise.
4734         (cpp_check): Likewise.
4735         (dump_ada_specs): Likewise.
4737 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
4739         PR c++/49718
4740         * c-common.c (handle_no_instrument_function_attribute): Allow
4741         no_instrument_function attribute in class member
4742         definition/declaration.
4744 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
4746         PR c/58943
4747         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4748         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
4749         being COMPOUND_EXPR.
4750         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4751         operand a SAVE_EXPR and second MODIFY_EXPR.
4753 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
4755         PR target/58115
4756         * c-pch.c (c_common_write_pch): Call
4757         prepare_target_option_nodes_for_pch.
4759 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
4761         Update copyright years
4763 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
4765         * array-notation-common.c, c-cilkplus.c: Use the standard form for
4766         the copyright notice.
4768 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
4770         * c-ada-spec.c (print_constructor): New function.
4771         (print_destructor): Retrieve the origin of the destructor.
4772         (print_ada_declaration): Revamp handling of constructors/destructors.
4774 2013-12-23  Stuart Hastings  <stuart@apple.com>
4775             Bill Maddox  <maddox@google.com>
4776             Jason Merrill  <jason@redhat.com>
4778         * c.opt: Add -fdeclone-ctor-dtor.
4779         * c-opts.c (c_common_post_options): Default to on iff -Os.
4781 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4783         * c-common.c (c_common_attribute_table): Added "cilk simd function"
4784         attribute.
4785         * c-pragma.h (enum pragma_cilk_clause): Remove.
4786         (enum pragma_omp_clause):  Added the following fields:
4787         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4788         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4789         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4790         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4791         PRAGMA_CILK_CLAUSE_UNIFORM.
4794 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4796         * cilk.c (cilk_outline): Made this function non-static.
4797         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4798         (create_cilk_wrapper): Added a new parameter: a function pointer.
4799         (c_install_body_w_frame_cleanup): Remove
4800         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4801         * c-common.h (cilk_outline): New prototype.
4802         (gimplify_cilk_spawn): Removed two parameters.
4803         (cilk_install_body_with_frame_cleanup): New prototype.
4804         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4805         CILK_SPAWN_STMT case.
4807 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
4809         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4811         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4812         (int_array_type_node): Remove.
4813         * c-common.c (c_common_nodes_and_builtins): Don't build it.
4815 2013-12-05  Marek Polacek  <polacek@redhat.com>
4817         PR c/52023
4818         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4819         [ADJUST_FIELD_ALIGN].
4821 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
4823         PR c/52023
4824         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4825         and check field alignment if set.
4826         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4827         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4829 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
4830             Marek Polacek  <polacek@redhat.com>
4832         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4833         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4835 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
4837         PR c/59309
4838         * cilk.c (gimplify_cilk_spawn): Properly handle function without
4839         arguments.
4841 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
4843         PR c/59280
4844         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4845         goto invalid.  If it is error_mark_node, don't issue further
4846         diagnostics.
4848 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
4850         * c.opt (Wopenmp-simd): New.
4852 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
4854         * c-ubsan.h (ubsan_instrument_return): New prototype.
4855         * c-ubsan.c (ubsan_instrument_return): New function.
4857 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
4859         * c-common.c: Add required include files from gimple.h.
4860         * c-gimplify.c: Likewise
4861         * cilk.c: Likewise
4863 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
4865         * c-common.c (unsafe_conversion_p): Remove use of
4866         EXPR_LOC_OR_HERE macro.
4867         (conversion_warning): Likewise.
4868         (warnings_for_convert_and_check): Likewise.
4869         (warn_for_collisions_1): Likewise.
4870         (shorten_compare): Likewise, and remove use of in_system_header
4871         macro, using the location from the former.
4872         * c-lex.c (dump_one_header): Remove use of input_filename macro.
4873         (cb_def_pragma): Remove use of in_system_header macro.
4874         (lex_string): Likewise.
4875         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4877 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
4878             Mike Stump  <mikestump@comcast.net>
4879             Richard Sandiford  <rdsandiford@googlemail.com>
4881         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4882         instead of TREE_INT_CST_LOW, in cases where there is a protecting
4883         tree_fits_shwi_p or tree_fits_uhwi_p.
4884         (dump_generic_ada_node): Likewise.
4885         * c-format.c (check_format_arg): Likewise.
4886         * c-pretty-print.c (pp_c_integer_constant): Likewise.
4888 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
4890         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4892 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
4894         PR c/53001
4895         * c-common.c (unsafe_conversion_p): Make this function
4896         return an enumeration with more detail.
4897         (conversion_warning): Use the new return type of
4898         unsafe_conversion_p to separately warn either about conversions
4899         that lower floating point number precision or about the other
4900         kinds of conversions.
4901         * c-common.h (enum conversion_safety): New enumeration.
4902         (unsafe_conversion_p): switching return type to
4903         conversion_safety enumeration.
4904         * c.opt: Adding new warning -Wfloat-conversion and
4905         enabling it with -Wconversion.
4907 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
4909         * c-opts.c: Include plugin.h.
4910         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
4912 2013-11-19  Marek Polacek  <polacek@redhat.com>
4914         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4915         call.
4916         (ubsan_instrument_shift): Likewise.
4917         (ubsan_instrument_vla): Likewise.
4919 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4921         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4922         cast to unsigned type.
4924 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4926         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4927         tree_low_cst.
4928         (complete_array_type): Update comment to refer to tree_to_[su]hwi
4929         rather than tree_low_cst.
4931 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4933         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4934         tree_to_uhwi throughout.
4936 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4938         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4939         tree_low_cst (..., 0) with tree_to_shwi throughout.
4941 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4943         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4944         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4946 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
4948         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4949         host_integerp (..., 0) with tree_fits_shwi_p throughout.
4951 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
4953         * c-cilkplus.c: New file.
4954         * c-common.c (readonly_error): Add location argument.
4955         * c-common.h (readonly_error): Same.
4956         (c_finish_cilk_clauses): Protoize.
4957         (c_check_cilk_loop): Same.
4958         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4959         Do not fail on error_mark_node.
4960         Abstract increment canonicalization to here...
4961         (c_omp_for_incr_canonicalize_ptr): New.
4962         c-pragma.c (init_pragma): Register "simd" pragma.
4963         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4964         (enum pragma_cilk_clause): New.
4966 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
4968         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4969         wchar_type and host_integerp checks.
4971 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
4973         * c-common.c: Likewise.
4974         * c-gimplify.c: Likewise.
4975         * cilk.c: Likewise.
4977 2013-11-14  Diego Novillo  <dnovillo@google.com>
4979         * c-common.c: Include fold-const.h.
4980         Include stor-layout.h.
4981         Include calls.h.
4982         Include stringpool.h.
4983         Include attribs.h.
4984         Include varasm.h.
4985         Include trans-mem.h.
4986         * c-cppbuiltin.c: Include stor-layout.h.
4987         Include stringpool.h.
4988         * c-format.c: Include stringpool.h.
4989         * c-lex.c: Include stringpool.h.
4990         Include stor-layout.h.
4991         * c-pragma.c: Include stringpool.h.
4992         Include attribs.h.
4993         Include varasm.h.
4994         Include gcc-symtab.h.
4995         * c-pretty-print.c: Include stor-layout.h.
4996         Include attribs.h.
4997         * cilk.c: Include stringpool.h.
4998         Include calls.h.
5000 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
5002         * c-common.h (enum rid): Add RID_AUTO_TYPE.
5003         * c-common.c (c_common_reswords): Add __auto_type.
5004         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
5006 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
5008         * c-common.c: Include gimplify.h.
5009         * c-gimplify.c: Likewise.
5010         * cilk.c: Likewise.
5011         * c-omp.c: Include gimple-expr.h instead of gimple.h.
5012         * c-ubsan.c: Don't include gimple.h.
5014 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
5016         * c-common.c (c_common_reswords): Add _Thread_local.
5018 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
5020         * c-common.c (atomic_size_supported_p): New function.
5021         (resolve_overloaded_atomic_exchange)
5022         (resolve_overloaded_atomic_compare_exchange)
5023         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
5024         Use it instead of comparing size with a local list of sizes.
5026 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
5027             Joseph Myers  <joseph@codesourcery.com>
5029         * c-common.h (enum rid): Add RID_ATOMIC.
5030         * c-common.c (c_common_reswords): Add _Atomic.
5031         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
5032         (keyword_is_type_qualifier): Accept RID_ATOMIC.
5033         * c-format.c (check_format_types): Check for extra _Atomic
5034         qualifiers in format argument.
5035         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
5036         (pp_c_type_qualifier_list): Mention _Atomic in comment.
5038 2013-11-06  Tobias Burnus  <burnus@net-b.de>
5040         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
5042 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
5044         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
5045         standards modes.
5046         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
5047         to mean lack of IEEE 754 support.
5049 2013-11-05  Tobias Burnus  <burnus@net-b.de>
5051         * c.opt (-Wdate-time): New option
5052         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
5054 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
5056         * c-cppbuiltin.c (cpp_iec_559_value): Test
5057         flag_excess_precision_cmdline not flag_excess_precision.
5059 2013-11-05  Tobias Burnus  <burnus@net-b.de>
5061         * c.opt (fopenmp-simd): New option.
5062         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
5063         (omp_pragmas): ... this new struct.
5064         (c_pp_lookup_pragma): Also walk omp_pragmas.
5065         (init_pragma): Init pragmas for -fopenmp-simd.
5067 2013-11-04  Marek Polacek  <polacek@redhat.com>
5069         PR c++/58979
5070         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
5072 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
5074         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5075         New functions.
5076         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5078 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
5080         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5081         (dump_ada_specs): Adjust prototype of second callback.
5082         * c-ada-spec.c (cpp_check): New global variable.
5083         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5084         (print_generic_ada_decl): Likewise.
5085         (has_static_fields): Change return type to bool and add guard.
5086         (has_nontrivial_methods): New predicate.
5087         (is_tagged_type): Change return type to bool.
5088         (separate_class_package): Call has_nontrivial_methods.
5089         (pp_ada_tree_identifier): Minor tweaks.
5090         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5091         (dump_ada_array_domains): Likewise.
5092         (dump_ada_array_type): Likewise.
5093         (dump_template_types): Remove cpp_check parameter and do not pass it to
5094         dump_generic_ada_node.
5095         (dump_ada_template): Likewise.
5096         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5097         recursively.
5098         (print_ada_methods): Change return type to integer.  Remove cpp_check
5099         parameter and do not pass it down.
5100         (dump_nested_types): Remove cpp_check parameter and do not pass it to
5101         dump_generic_ada_node.
5102         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
5103         accessing methods.
5104         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5105         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
5106         value of print_ada_methods.
5107         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5108         Set cpp_check to it before invoking dump_ada_nodes.
5109         (dump_ada_specs): Likewise.
5111 2013-11-03  Marek Polacek  <polacek@redhat.com>
5113         * c-ubsan.c: Don't include hash-table.h.
5114         (ubsan_instrument_vla): New function.
5115         * c-ubsan.h: Declare it.
5117 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
5119         Automated part of renaming of symtab_node_base to symtab_node.
5121         Patch autogenerated by rename_symtab.py from
5122         https://github.com/davidmalcolm/gcc-refactoring-scripts
5123         revision 58bb219cc090b2f4516a9297d868c245495ee622
5125         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5126         symtab_node_base to symtab_node.
5128 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
5130         Implement C++14 digit separators.
5131         * c-lex.c (interpret_float): Remove digit separators from scratch string
5132         before building real literal.
5134 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
5136         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5138 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5140         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5141         fields.
5142         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5143         enabled.
5144         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5145         (insert_cilk_frame): New prototype.
5146         (cilk_init_builtins): Likewise.
5147         (gimplify_cilk_spawn): Likewise.
5148         (c_cilk_install_body_w_frame_cleanup): Likewise.
5149         (cilk_detect_spawn_and_unwrap): Likewise.
5150         (cilk_set_spawn_marker): Likewise.
5151         (build_cilk_sync): Likewise.
5152         (build_cilk_spawn): Likewise.
5153         * cilk.c: New file.
5155 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
5157         Patch autogenerated by refactor_symtab.py from
5158         https://github.com/davidmalcolm/gcc-refactoring-scripts
5159         revision 58bb219cc090b2f4516a9297d868c245495ee622
5161         * c-gimplify.c (c_genericize): Update for conversion of symtab types
5162         to a true class hierarchy.
5163         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5165 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
5167         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5169 2013-10-26  Jeff Law  <law@redhat.com>
5171         * c-common.c (c_define_builtins): Remove mudflap support.
5172         * c.opt: Ignore and warn for mudflap options.
5174 2013-10-24  Tobias Burnus  <burnus@net-b.de>
5176         PR other/33426
5177         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5178         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5180 2013-10-23  Jason Merrill  <jason@redhat.com>
5182         * c-format.c (gcc_cxxdiag_char_table): Add %X.
5184 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
5186         * c-common.h (omp_clause_mask::operator !=): New method.
5187         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5188         instead of if (mask & something) tests everywhere.
5190         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5191         201307 instead of 201107.
5192         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5193         (c_common_attribute_table): Add "omp declare target" and
5194         "omp declare simd" attributes.
5195         (handle_omp_declare_target_attribute,
5196         handle_omp_declare_simd_attribute): New functions.
5197         * c-omp.c: Include c-pragma.h.
5198         (c_finish_omp_taskgroup): New function.
5199         (c_finish_omp_atomic): Add swapped argument, if true,
5200         build the operation first with rhs, lhs arguments and use NOP_EXPR
5201         build_modify_expr.
5202         (c_finish_omp_for): Add code argument, pass it down to make_code.
5203         (c_omp_split_clauses): New function.
5204         (c_split_parallel_clauses): Removed.
5205         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5206         c_omp_declare_simd_clauses_to_decls): New functions.
5207         * c-common.h (omp_clause_mask): New type.
5208         (OMP_CLAUSE_MASK_1): Define.
5209         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5210         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5211         omp_clause_mask::operator |, omp_clause_mask::operator &,
5212         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5213         omp_clause_mask::operator ==): New methods.
5214         (enum c_omp_clause_split): New.
5215         (c_finish_omp_taskgroup): New prototype.
5216         (c_finish_omp_atomic): Add swapped argument.
5217         (c_finish_omp_for): Add code argument.
5218         (c_omp_split_clauses): New prototype.
5219         (c_split_parallel_clauses): Removed.
5220         (c_omp_declare_simd_clauses_to_numbers,
5221         c_omp_declare_simd_clauses_to_decls): New prototypes.
5222         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5223         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5224         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5225         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5226         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5227         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5228         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5229         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5230         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5231         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5232         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5233         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5234         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5235         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5236         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5237         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5238         PRAGMA_OMP_CLAUSE_UNIFORM.
5240 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
5242         PR tree-optimization/20318
5243         * c-common.c (handle_returns_nonnull_attribute): New function.
5244         (c_common_attribute_table): Add returns_nonnull.
5246 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
5248         PR c++/19476
5249         * c.opt (fcheck-new): Move to common.opt.
5251 2013-09-25  Marek Polacek  <polacek@redhat.com>
5252             Jakub Jelinek  <jakub@redhat.com>
5254         PR sanitizer/58413
5255         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5256         an expression if we can prove it is correct.
5257         (ubsan_instrument_division): Likewise.  Remove unnecessary
5258         check.
5260 2013-09-18  Marek Polacek  <polacek@redhat.com>
5262         PR sanitizer/58411
5263         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5264         Declare it.
5265         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5267 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
5269         PR target/48094
5270         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5271         fobjc-gc, freplace-objc-classes): Accept for LTO.
5273 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
5275         * c-target.def: New hook
5277 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
5279         PR c++/43452
5280         * c.opt (Wdelete-incomplete): Add.
5282 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
5284         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5285         (vector_types_compatible_elements_p): New function.
5286         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5287         declaration.
5288         (vector_types_compatible_elements_p): Declare.
5290 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5292         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5293         a virtual member function.
5294         (pp_simple_type_specifier): Remove.
5295         (pp_c_type_specifier): Likewise.
5296         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5297         Rename from pp_c_type_specifier.  Adjust.
5298         (c_pretty_printer::c_pretty_printer): Do not assign to
5299         simple_type_specifier.
5301 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5303         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5304         member function.
5305         (c_pretty_printer::storage_class_specifier): Likewise.
5306         (c_pretty_printer::initializer): Likewise.
5307         (pp_declaration): Remove.
5308         (pp_declaration_specifiers): Likewise.
5309         (pp_abstract_declarator): Likewise.
5310         (pp_declarator): Likewise.
5311         (pp_type_id): Likewise.
5312         (pp_statement): Likewise.
5313         (pp_constant): Likewise.
5314         (pp_id_expression): Likewise.
5315         (pp_primary_expression): Likewise.
5316         (pp_unary_expression): Likewise.
5317         (pp_multiplicative_expression): Likewise.
5318         (pp_conditional_expression): Likewise.
5319         (pp_assignment_expression): Likewise.
5320         (pp_expression): Likewise.
5321         (pp_c_type_id): Likewise.
5322         (pp_c_storage_class_specifier): Likewise.
5323         * c-pretty-print.c (pp_c_type_cast): Tidy.
5324         (pp_c_pointer): Likewise.
5325         (pp_c_type_specifier): Likewise.
5326         (pp_c_parameter_type_list): Likewise.
5327         (pp_c_function_definition): Likewise.
5328         (pp_c_init_declarator): Likewise.
5329         (pp_c_initializer_list): Likewise.
5330         (pp_c_constructor_elts): Likewise.
5331         (c_pretty_printer::direct_abstract_declarator): Likewise.
5332         (c_pretty_printer::declaration_specifiers): Likewise.
5333         (c_pretty_printer::primary_expression): Likewise.
5334         (c_pretty_printer::postfix_expression): Likewise.
5335         (c_pretty_printer::type_id): Rename from pp_c_type_id.
5336         (c_pretty_printer::storage_class_specifier): Rename from
5337         pp_c_storage_class_specifier.
5338         (c_pretty_printer::initializer): Rename from pp_c_initializer.
5339         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5340         storage_class_specifier, initializer, offset_list, flags.
5342 2013-08-30  Marek Polacek  <polacek@redhat.com>
5344         * c-ubsan.c: New file.
5345         * c-ubsan.h: New file.
5347 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5349         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5350         member function.
5351         (c_pretty_printer::declaration_specifiers): Likewise.
5352         (c_pretty_printer::declarator): Likewise.
5353         (c_pretty_printer::abstract_declarator): Likewise.
5354         (c_pretty_printer::direct_abstract_declarator): Likewise.
5355         (c_pretty_printer::direct_declarator): Likewise.
5356         (c_pretty_printer::function_specifier): Likewise.
5357         (pp_declaration): Adjust.
5358         (pp_declaration_specifiers): Likewise.
5359         (pp_abstract_declarator): Likewise.
5360         (pp_direct_declarator): Likewise.
5361         (pp_function_specifier): Likewise.
5362         (pp_direct_abstract_declarator): Remove as unused.
5363         (pp_c_declaration): Remove.
5364         (pp_c_declaration_specifiers): Likewise.
5365         (pp_c_declarator): Likewise.
5366         (pp_c_direct_declarator): Likewise.
5367         (pp_c_function_specifier): Likewise.
5368         (pp_c_direct_abstract_declarator): Likewise.
5369         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5370         from pp_c_abstract_declarator.  Adjust.
5371         (c_pretty_printer::direct_abstract_declarator):  Rename from
5372         pp_c_direct_abstract_declarator.  Adjust.
5373         (c_pretty_printer::function_specifier): Rename from
5374         pp_c_function_specifier.  Adjust.
5375         (c_pretty_printer::declaration_specifiers): Rename from
5376         pp_c_declaration_specifiers.  Adjust.
5377         (c_pretty_printer::direct_declarator): Rename from
5378         pp_c_direct_declarator.  Adjust.
5379         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
5380         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
5381         (c_pretty_printer::c_pretty_printer): Do not assign to
5382         declaration, declaration_specifiers, declarator,
5383         direct_declarator, direct_abstract_declarator, function_specifier.
5385 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
5387         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5388         virtual member function.
5389         (c_pretty_printer::multiplicative_expression): Likewise.
5390         (c_pretty_printer::conditional_expression): Likewise.
5391         (c_pretty_printer::assignment_expression): Likewise.
5392         (c_pretty_printer::expression): Likewise.
5393         (pp_unary_expression): Adjust.
5394         (pp_multiplicative_expression): Likewise.
5395         (pp_assignment_expression): Likewise.
5396         (pp_conditional_expression): Likewise.
5397         (pp_expression): Likewise.
5398         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5399         from pp_c_unary_expression.  Adjust.
5400         (c_pretty_printer::multiplicative_expression): Rename from
5401         pp_c_multiplicative_expression.  Adjust.
5402         (c_pretty_printer::conditional_expression): Rename from
5403         pp_c_conditional_expression.  Adjust.
5404         (c_pretty_printer::assignment_expression): Rename from
5405         pp_c_assignment_expression.  Adjust.
5406         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
5407         (c_pretty_printer::c_pretty_printer): Do not assign to
5408         unary_expression, multiplicative_expression,
5409         conditional_expression, expression.
5411 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5413         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5414         virtual member function.
5415         (pp_postfix_expression): Adjust.
5416         (pp_c_postfix_expression): Remove.
5417         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5418         from pp_c_postfix_expression.  Adjust.
5419         (c_pretty_printer::c_pretty_printer): Do not assign to
5420         postfix_expression.
5422 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5424         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5425         virtua member function.
5426         (pp_primary_expression): Adjust.
5427         (pp_c_primary_expression): Remove.
5428         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5429         from pp_c_primary_expression.  Adjust.
5430         (pp_c_initializer_list): Use pp_primary_expression.
5431         (c_pretty_printer::c_pretty_printer): Do not assign to
5432         primary_expression.
5434 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5436         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5437         * c-pretty-print.c (M_): Remove.
5438         (c_pretty_printer::translate_string): Define.
5439         (pp_c_type_specifier): Use it.
5440         (pp_c_primary_expression): Likewise.
5441         (pp_c_expression): Likewise.
5443 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5445         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5446         virtual function.
5447         (pp_c_id_expression): Remove.
5448         (pp_id_expression): Adjust.
5449         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5450         pp_c_id_expression.  Adjust.
5451         (pp_c_postfix_expression): Use pp_id_expression.
5452         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5454 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5456         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5457         member function.
5458         (pp_constant): Adjust.
5459         (pp_c_constant): Remove.
5460         * c-pretty-print.c (c_pretty_printer::constant): Rename from
5461         pp_c_constant.  Adjust.
5462         (pp_c_constant)
5463         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5464         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5466 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5468         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5469         (c_pretty_printer::c_pretty_printer): Declare.
5470         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5471         c_pretty_printer_init.  Adjust.
5472         (print_c_tree): Do not call c_pretty_printer_init.
5473         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5475 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
5477         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5479 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
5481         PR c++/58080
5482         * c-common.c (pointer_int_sum): Add bool parameter.
5483         * c-common.h (pointer_int_sum): Adjust declaration.
5485 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5487         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
5488         c_pretty_printer variable.
5490 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5492         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5493         (pp_base): Remove.
5494         (pp_c_base): Likewise.  Adjust users.
5495         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5496         (pp_c_whitespace): Do not call pp_base.
5497         (pp_c_left_paren): Likewise.
5498         (pp_c_right_paren): Likewise.
5499         (pp_c_left_brace): Likewise.
5500         (pp_c_right_brace): Likewise.
5501         (pp_c_left_bracket): Likewise.
5502         (pp_c_right_bracket): Likewise.
5503         (pp_c_dot): Likewise.
5504         (pp_c_ampersand): Likewise.
5505         (pp_c_star): Likewise.
5506         (pp_c_arrow): Likewise.
5507         (pp_c_semicolon): Likewise.
5508         (pp_c_complement): Likewise.
5509         (pp_c_exclamation): Likewise.
5510         (pp_c_direct_declarator): Likewise.
5511         (pp_c_ws_string): Likewise.
5512         (pp_c_identifier): Likewise.
5513         (pp_c_statement): Likewise.
5514         (print_c_tree): Likewise.
5516 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
5518         PR c++/58072
5519         * c-common.c (c_parse_error): Catch user-defined literal tokens and
5520         provide useful error strings.
5522 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5524         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5525         printer functions instead of pp_string or operators and punctuators.
5526         (dump_generic_ada_node): Likewise.
5527         * c-pretty-print.c (pp_c_type_specifier): Likewise.
5528         (pp_c_relational_expression): Likewise.
5529         (pp_c_logical_or_expression): Likewise.
5531 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5533         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5534         functions instead of pp_character.
5535         (pp_ada_tree_identifier): Likewise.
5536         (dump_ada_double_name): Likewise.
5537         (dump_ada_function_declaration): Likewise.
5538         (dump_ada_array_domains): Likewise.
5539         (dump_template_types): Likewise.
5540         (dump_generic_ada_node): Likewise.
5541         (print_ada_declaration): Likewise.
5542         (print_ada_struct_decl): Likewise.
5543         * c-pretty-print.c (pp_c_integer_constant): Likewise.
5545 2013-07-23  Tom Tromey  <tromey@redhat.com>
5547         * c-common.h (enum rid) <RID_GENERIC>: New constant.
5548         * c-common.c (c_common_reswords): Add _Generic.
5550 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
5552         * c-common.c: Fix typos.
5553         * c-common.h: Likewise.
5555 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
5557         PR c++/55203
5558         * c-common.c (c_common_attribute_table): Add warn_unused.
5559         (handle_warn_unused_attribute): New.
5561 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
5563         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5564         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5566 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
5568         PR c++/57869
5569         * c.opt: Add Wconditionally-supported.
5571 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
5573         * array-notation-common.c (length_mismatch_in_expr_p): Delete
5574         unused variables l_length and l_node.
5576 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
5578         PR c/57821
5579         * c-common.c (complete_array_type): Delay folding first index
5580         like other indices.  When folding, check for index overflow.
5582 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
5584         PR c++/57509
5585         * c-common.h (c_build_vec_perm_expr): New complain argument.
5586         * c-common.c (c_build_vec_perm_expr): Likewise.
5587         Use save_expr also in C++.
5589 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5591         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5592         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5593         * c-opts.c (c_common_post_options): Likewise.
5595 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5597         * array-notation-common.c (length_mismatch_in_expr): Changed the
5598         parameter type's from a dynamic array to a vec_tree.  Also removed
5599         the size parameters.
5600         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5601         the change above.
5603 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5605         * c-common.h (struct cilkplus_an_parts): New structure.
5606         (struct cilkplus_an_loop_parts): Likewise.
5607         (cilkplus_extract_an_triplets): New prototype.
5608         (fix_sec_implicit_args): Likewise.
5609         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5610         (fix_sec_implicit_args): Likewise.
5612 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5614         * array-notation-common.c (find_inv_trees): Removed an unwanted
5615         typecasting.
5616         * c-common.h (struct inv_list::additional_tcodes): Changed type from
5617         enum rid to enum tree_code.
5619 2013-06-11  Jan Hubicka  <jh@suse.cz>
5621         * c-common.c (handle_alias_ifunc_attribute): Do not set
5622         DECL_EXTERNAL for weakref variables.
5623         * c-pragma.c (handle_pragma_weak): Make sure aliases
5624         are not declared as external.
5626 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5628         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5629         function from c/c-array-notation.c.
5630         (is_cilkplus_reduce_builtin): Likewise.
5631         (find_rank): Likewise.
5632         (extract_array_notation_exprs): Likewise.
5633         (replace_array_notations): Likewise.
5634         (find_inv_trees): Likewise.
5635         (replace_inv_trees): Likewise.
5636         (contains_array_notation_expr): Likewise.
5637         (find_correct_array_notation_type): Likewise.
5638         * c-common.h (struct inv_list): Moved this struct from the file
5639         c/c-array-notation.c and added a new field called additional tcodes.
5640         (length_mismatch_in_expr_p): New prototype.
5641         (is_cilkplus_reduce_builtin): Likewise.
5642         (find_rank): Likewise.
5643         (extract_array_notation_exprs): Likewise.
5644         (replace_array_notation): Likewise.
5645         (find_inv_trees): Likewise.
5646         (replace_inv_trees): Likewise.
5647         (find_correct_array_notation_type): Likewise.
5649 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
5651         * c-common.c (c_define_builtins): When cilkplus is enabled, the
5652         function array_notation_init_builtins is called.
5653         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5654         * c-common.def (ARRAY_NOTATION_REF): New tree.
5655         * c-common.h (build_array_notation_expr): New function declaration.
5656         (build_array_notation_ref): Likewise.
5657         (extract_sec_implicit_index_arg): New extern declaration.
5658         (is_sec_implicit_index_fn): Likewise.
5659         (ARRAY_NOTATION_CHECK): New define.
5660         (ARRAY_NOTATION_ARRAY): Likewise.
5661         (ARRAY_NOTATION_START): Likewise.
5662         (ARRAY_NOTATION_LENGTH): Likewise.
5663         (ARRAY_NOTATION_STRIDE): Likewise.
5664         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5665         ARRAY_NOTATION_REF.
5666         (pp_c_expression): Likewise.
5667         * c.opt (flag_enable_cilkplus): New flag.
5668         * array-notation-common.c: New file.
5670 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
5672         PR c++/57274
5673         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5675 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
5677         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5678         vectors.
5680 2013-05-07  Han Shen  <shenhan@google.com>
5682         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5684 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5686         * c-common.c (check_user_alignment): Emit error for negative values.
5688 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5690         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5692 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5694         * c-cppbuiltin.c (c_cpp_builtins): Do not define
5695         __GXX_EXPERIMENTAL_CXX1Y__.
5697 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5698             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
5700         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5701         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5702         to simply use OPT_Wpointer_arith.
5703         (c_sizeof_or_alignof_type): Likewise.
5705 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5707         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5709 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
5711         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5712         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5713         specifiers.
5715 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
5717         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5719 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
5721         * c-common.c (pointer_int_sum): Remove dead code.
5723 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
5725         PR middle-end/56524
5726         * c-common.c (handle_optimize_attribute): Don't call
5727         save_optabs_if_changed.
5729 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
5731         PR middle-end/56461
5732         * c-pch.c (pch_init): Free target_validity at the end.
5734 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
5736         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5738 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
5739             Jakub Jelinek  <jakub@redhat.com>
5741         PR sanitizer/56454
5742         * c-common.c (handle_no_sanitize_address_attribute): New function.
5743         (c_common_attribute_table): Add no_sanitize_address attribute.
5744         (handle_no_address_safety_analysis_attribute): Add
5745         no_sanitize_address attribute, not no_address_safety_analysis
5746         attribute.
5748 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
5750         PR target/52555
5751         * c-common.c (handle_optimize_attribute): Call
5752         save_optabs_if_changed.
5754 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
5755             Steven Bosscher  <steven@gcc.gnu.org>
5757         PR pch/54117
5758         * c-opts.c (c_common_post_options): If debug info is enabled
5759         and non-dwarf*, refuse to load PCH files and when writing PCH
5760         file warn.
5762 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
5764         PR middle-end/56167
5765         * c-common.c (handle_error_attribute): Fix condition.
5767 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
5769         PR c++/55742
5770         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5772 2013-01-18  Jason Merrill  <jason@redhat.com>
5774         PR target/54908
5775         * c.opt (-fextern-tls-init): New.
5776         * c-opts.c (c_common_post_options): Handle it.
5778 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
5780         PR c/48418
5781         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5782         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5783         and is either negative or bigger or equal to type precision
5784         of the first operand.
5786 2012-12-03  Marek Polacek  <polacek@redhat.com>
5788         PR c/55570
5789         * c-common.c (check_user_alignment): Swap order of tests,
5790         check TREE_CODE first.
5792 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
5794         PR c++/52654
5795         * c-common.h (overflow_type): New enum.
5796         (build_userdef_literal): Add overflow_type argument.
5797         (tree_userdef_literal): Add overflow_type.
5798         (USERDEF_LITERAL_OVERFLOW): New access macro.
5799         * c-common.c (build_userdef_literal): Add overflow_type
5800         argument.
5801         * c-lex.c (c_lex_with_flags): Add overflow_type to
5802         build_userdef_literal calls.
5803         (interpret_integer, interpret_float): Add overflow_type argument.
5805 2012-11-28  Richard Biener  <rguenther@suse.de>
5807         PR c/35634
5808         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5809         here and use a type with proper overflow behavior for types that would
5810         need to be promoted for the arithmetic.
5812 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
5814         PR sanitizer/55435
5815         * c-common.c (handle_no_address_safety_analysis_attribute): New
5816         function.
5817         (c_common_attribute_table): Add no_address_safety_analysis.
5819 2012-11-16  Simon Baldwin  <simonb@google.com>
5821         * c.opt: Add f[no-]canonical-system-headers.
5822         * c-opts.c (c_common_handle_option): Handle
5823         OPT_fcanonical_system_headers.
5825 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
5827         PR c++/54413
5828         * c-opts.c (c_common_handle_option): Set new flags.
5829         * c.opt: Describe new flags.
5831 2012-11-09  Jason Merrill  <jason@redhat.com>
5833         * c.opt (Wabi-tag): New.
5835 2012-11-09  Andi Kleen  <ak@linux.intel.com>
5837         PR 55139
5838         * c-common.c (get_atomic_generic_size): Mask with
5839         MEMMODEL_MASK
5841 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5843         PR c/53063
5844         * c.opt (Wformat): Make it Alias Wformat=1.
5845         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5846         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5847         LangEnabledBy.
5848         (Wformat=): RejectNegative. Use LangEnabledBy.
5849         (Wnonnull): Use LangEnabledBy.
5850         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5851         * c-format.c (set_Wformat): Delete.
5852         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
5853         (maybe_read_dollar_number):  Likewise.
5854         (avoid_dollar_number):  Likewise.
5855         (finish_dollar_format_checking):  Likewise.
5856         (check_format_info):  Likewise.
5857         (check_format_info_main):  Likewise.
5858         (check_format_types):  Likewise.
5859         (format_type_warning):  Likewise.
5860         * c-common.c (int):  Likewise.
5861         (check_function_sentinel):  Likewise.
5862         * c-common.h (warn_format,set_Wformat): Do not declare here.
5864 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5866         PR c/53063
5867         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5868         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5869         Use LangEnabledBy.
5870         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5871         common.opt.
5872         (Wvariadic-macros): Init(1).
5873         * c-opts.c (c_common_handle_option): Do not handle them
5874         explicitly.
5875         (c_common_post_options): Likewise.
5876         (sanitize_cpp_opts): warn_unused_macros is now
5877         cpp_warn_unused_macros.
5878         (push_command_line_include): Likewise.
5879         * c-common.c (warn_unknown_pragmas): Do not define.
5880         * c-common.h (warn_unknown_pragmas): Do not declare.
5882 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5884         PR c/51294
5885         * c-common.c (conversion_warning): Handle conditional expressions.
5887 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
5889         PR c++/54930
5890         * c.opt (Wreturn_local_addr): Define new option.
5892 2012-10-25  Jason Merrill  <jason@redhat.com>
5894         * c.opt (Wvirtual-move-assign): New.
5896         * c.opt (Winherited-variadic-ctor): New.
5898 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
5900         PR c++/54427
5901         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5903 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
5905         * c-common.h (pch_cpp_save_state): Declare.
5906         * c-target.def (c_preinclude): New hook.
5907         * c-opts.c (done_preinclude): New.
5908         (push_command_line_include): Handle default preincluded header.
5909         (cb_file_change): Call pch_cpp_save_state when calling
5910         push_command_line_include.
5911         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5912         (pch_cpp_save_state): New.
5913         (pch_init): Call pch_cpp_save_state conditionally, instead of
5914         calling cpp_save_state.
5916 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5918         PR c/53063
5919         PR c/40989
5920         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5921         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5922         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5923         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5924         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5925         * c-opts.c (c_common_handle_option): Remove explicit handling from
5926         here.
5927         (c_common_post_options): Likewise.
5929 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
5931         * c-ada-spec.c (LOCATION_COL): Delete.
5932         (compare_location): New function.
5933         (compare_node): Use it.
5934         (compare_comment): Likewise.
5936 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5938         PR c/53063
5939         PR c/40989
5940         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5941         * c-opts.c (c_common_handle_option): Do not set them here. Add
5942         comment.
5943         (c_common_post_options): Likewise.
5945 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
5947         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5948         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5949         Remove POINTER_TYPE handling, add large unsigned handling and use
5950         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5952 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
5954         PR c/54381
5955         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5956         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5957         locs and array of 3 trees instead of just single loc and single
5958         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
5959         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5960         For *cmp* builtins that take two sources strings report warnings
5961         about first and second source, not about destination and source.
5963 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
5965         PR c++/53055
5966         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5968 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
5970         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5971         declaring something coming from another file.
5973 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
5975         PR ada/54845
5976         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5978 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
5980         PR c++/54194
5981         * c-common.c (warn_about_parentheses): Add location_t parameter;
5982         use EXPR_LOC_OR_LOC.
5983         * c-common.h: Update declaration.
5985 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
5987         PR c++/54427
5988         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5989         more operations. Make error messages optional.
5990         * c-common.h (enum stv_conv): Moved from c-typeck.c.
5991         (scalar_to_vector): Declare.
5993 2012-10-08  Jason Merrill  <jason@redhat.com>
5995         * c-common.c (c_common_reswords): Add thread_local.
5997 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
5999         PR c++/53528 C++11 attribute support
6000         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
6001         new functions.
6002         * c-common.c (check_cxx_fundamental_alignment_constraints): New
6003         static function.
6004         (handle_aligned_attribute): In choose strictest alignment
6005         among many.  Use new check_cxx_fundamental_alignment_constraints.
6006         (handle_transparent_union_attribute): In c++11 attribute syntax,
6007         don't look through typedefs.
6009 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
6011         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
6012         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
6013         out of dumpfile.h.
6015 2012-09-25  Dehao Chen  <dehao@google.com>
6017         PR middle-end/54645
6018         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6019         map when read in the pch.
6021 2012-09-18  Arnaud Charlet  <charlet@adacore.com>
6023         * c-ada-spec.c: Style fixes.
6025 2012-09-18  Thomas Quinot  <quinot@adacore.com>
6027         * c.opt (-fada-spec-parent): Define new command line switch.
6028         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
6029         is specified, generate binding spec as a child of the specified unit.
6031 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
6032             Manuel López-Ibáñez  <manu@gcc.gnu.org>
6034         PR c++/53210
6035         * c.opt ([Winit-self]): Enabled by -Wall in C++.
6037 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
6039         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
6040         for pointers, and add missing Convention C pragma.
6041         (print_ada_struct_decl): Add missing aliased keyword.
6042         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
6044 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
6046         * c-common.c (sizeof_pointer_memaccess_warning): New function.
6047         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
6048         * c-opts.c (c_common_handle_option): Enable it for -Wall.
6049         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
6050         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
6052 2012-08-10  Richard Guenther  <rguenther@suse.de>
6054         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
6056 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
6058         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
6059         instead of separate pp_newline and pp_flush.
6060         (print_c_tree): Likewise.
6062 2012-07-26  Richard Henderson  <rth@redhat.com>
6064         * c-common.c (handle_hot_attribute): Allow labels.
6065         (handle_cold_attribute): Likewise.
6067 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
6069         PR c++/28656
6070         * c-common.c (check_function_nonnull): Handle multiple nonnull
6071         attributes properly.
6073 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
6075         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6076         * c-ada-spec.c: Likewise.
6077         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6079 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
6081         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6082         Remove code conditional on it.
6084 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
6086         * c-gimplify.c: Do not include basic-block.h.
6087         * c-common.c: Do not include linfuncs.h.
6089 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
6091         * c-common.h: Include tree.h.
6093 2012-07-02  Jason Merrill  <jason@redhat.com>
6095         PR c++/53524
6096         * c-common.c (get_priority): Call default_conversion.
6098 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
6100         * c-pch.c (c_common_write_pch): Remove unused variables.
6102 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
6104         * cppspec.c: Moved from gcc/ to here.
6106 2012-06-27  Kai Tietz  <ktietz@redhat.com>
6108         PR preprocessor/37215
6109         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6111 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
6113         * c-common.h (c_common_print_pch_checksum): Remove.
6114         * c-pch.c: Do not include output.h.
6115         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6116         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6117         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6118         (struct c_pch_header): Remove.
6119         (get_ident): Update gpch version.
6120         (pch_init): Do not print executable_checksum to asm_out_file.
6121         Do not fail if there is no asm_out_file to read back from.  Set
6122         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6123         (c_common_write_pch): Verify that nothing was written to asm_out_file
6124         since pch_init was called.  Do not write a c_pch_header, and do not
6125         copy from asm_out_file to the PCH.
6126         (c_common_read_pch): Do not read a c_pch_header, and do not restore
6127         the content of asm_out_file from the PCH.
6128         (c_common_print_pch_checksum): Remove.
6129         * c-opts.c (c_common_init): Print out executable_checksum directly.
6131 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
6133         * c-target.def (objc_declare_unresolved_class_reference,
6134         objc_declare_class_definition): Add new hooks.
6136 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
6138         * c-lex.c: Do not include output.h.
6139         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6140         Remove uses of ASM_OUTPUT_IDENT.
6142 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
6144         PR c++/51033
6145         * c-common.h (c_build_vec_perm_expr): Move decl here.
6146         * c-common.c (c_build_vec_perm_expr): Move definition
6147         here.
6149 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
6151         * c.opt (fconserve-space): Turn into a no-op.
6153 2012-06-04  Sterling Augustine  <saugustine@google.com>
6155         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6156         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6157         both the start and end of the function.
6159 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
6161         * c-common.c: Do not include output.h.
6162         * c-pragma.c: Likewise.
6164 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
6166         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6167         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6168         (lang_decl_name): Handle namespace decls.
6170 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
6172         * c-ada-spec.c: Do not include output.h.
6173         * c-semantics.c: Likewise.
6175 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
6177         * c-common.c: Fix typo.
6179 2012-05-29  Michael Matz  <matz@suse.de>
6181         * c-common.h (c_expand_decl): Remove prototype.
6183 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6185         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6186         * c-opts.c (c_common_handle_option): Remove code handling
6187         warn_missing_braces.
6189 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
6191         PR c++/25137
6192         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6193         -Wmissing_braces.
6195 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
6197         PR c++/53322
6198         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6200 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6202         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6203         * c-opts.c (c_common_handle_option): Do not handle explicitly
6204         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6206 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
6208         PR preprocessor/7263
6209         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
6210         to cpp_classify_number.  For diagnostics, use the precise location
6211         instead of the global input_location.
6213 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
6215         PR c++/11856
6216         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6218 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
6220         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
6222 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6224         PR 53063
6225         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6226         Wreorder): Use LangEnabledBy.
6227         * c-opts.c (c_common_handle_option): Do not enable them
6228         explicitly. Call lang-specific generated functions.
6229         (c_common_post_options): Do not set them here.
6231 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6233         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6234         Wmissing-field-initializers,Wmissing-parameter-type,
6235         Wold-style-declaration,Woverride-init): Use EnabledBy.
6236         * c-opts.c (c_common_post_options): Do not set here explicitly.
6238 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6240         PR 53063
6241         * c-opts.c (c_common_handle_option): Use handle_generated_option
6242         to enable sub-options.
6244 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
6246         PR c++/53158
6247         * c-common.c (warnings_for_convert_and_check): Use warning_at.
6249 2012-05-10  Richard Guenther  <rguenther@suse.de>
6251         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6252         adjust commentary about TYPE_IS_SIZETYPE types.
6254 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6256         PR c++/53261
6257         * c-common.c (warn_logical_operator): Check that argument of
6258         integer_zerop is not NULL.
6260 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6262         PR c/43772
6263         * c-common.c (warn_logical_operator): Do not warn if either side
6264         is already true or false.
6266 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6268         PR c/51712
6269         * c-common.c (expr_original_type): New.
6270         (shorten_compare): Do not warn for enumeration types.
6272 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6274         * c.opt (fpermissive): Add Var(flag_permissive).
6276 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
6278         PR c++/51033
6279         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6280         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6282 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
6284         Add -Wvarargs option
6285         * c.opt (Wvarargs):  Define new option.
6287 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6289         * c-common.c (check_function_arguments): Replace
6290         Wmissing-format-attribute with Wsuggest-attribute=format.
6292 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6294         * c.opt (Wsuggest-attribute=format): New. Alias of
6295         Wmissing-format-attribute.
6296         * c-format.c (decode_format_type): Replace
6297         Wmissing-format-attribute with Wsuggest-attribute=format.
6298         (check_function_format): Likewise.
6300 2012-04-27  Ollie Wild  <aaw@google.com>
6302         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6303         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6304         * c.opt: Add Wliteral-suffix.
6306 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6308         PR c/44774
6309         * c.opt (Wpedantic): New.
6310         (pedantic): Alias Wpedantic.
6311         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6312         (c_common_post_options): Likewise.
6313         (sanitize_cpp_opts): Likewise.
6314         * c-lex.c (interpret_float): Likewise.
6315         * c-format.c (check_format_types): Likewise.
6316         * c-common.c (pointer_int_sum): Likewise.
6317         (c_sizeof_or_alignof_type): Likewise.
6318         (c_add_case_label): Likewise.
6319         (c_do_switch_warnings): Likewise.
6320         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6322 2012-04-15  Jason Merrill  <jason@redhat.com>
6324         PR c++/52818
6325         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6326         (C_STD_NAME): Distinguish between C++98 and C++11.
6328 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
6330         PR target/52624
6331         * c-common.h (uint16_type_node): Rename into...
6332         (c_uint16_type_node): ...this.
6333         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6334         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6336 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6338         * c-common.c (warn_if_unused_value): Move definition to here.
6339         * c-common.h (warn_if_unused_value): Move declaration to here.
6341 2012-03-23  William Bader  <williambader@hotmail.com>
6343         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6345 2012-03-20  Jason Merrill  <jason@redhat.com>
6347         * c-common.h (enum cxx_dialect): Add cxx1y.
6348         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6349         test.
6350         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6351         * c-opts.c (c_common_post_options): Likewise.
6352         (set_std_cxx1y): New.
6353         (c_common_handle_option): Call it.
6354         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6356 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
6358         PR c++/14710
6359         * c.opt ([Wuseless-cast]): Add.
6361 2012-03-16  Richard Guenther  <rguenther@suse.de>
6363         * c-pretty-print.c (pp_c_initializer_list): Adjust.
6365 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6367         PR c++/44783
6368         * c.opt (ftemplate-backtrace-limit) Add.
6370 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6372         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6373         handling.
6374         * c-pragma.c (handle_pragma_extern_prefix): Remove.
6375         (init_pragma): Don't register extern_prefix.
6377 2012-03-12  Richard Guenther  <rguenther@suse.de>
6379         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6380         (builtin_type_for_size): Likewise.
6382 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6384         PR c++/52215
6385         * c-common.c (sync_resolve_params): Don't decide whether to convert
6386         or not based on TYPE_SIZE comparison, convert whenever arg_type
6387         is unsigned INTEGER_TYPE.
6389 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
6391         PR c/52118
6392         * c.opt ([Wunused-local-typedefs]): Fix description.
6394 2012-01-24  Mike Stump  <mikestump@comcast.net>
6396         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6397         exactly.
6399 2012-01-18  Richard Guenther  <rguenther@suse.de>
6401         * c-opts.c (c_common_post_options): Reset LTO flags if
6402         we are about to generate a PCH.
6404 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
6406         PR c++/51777
6407         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6408         use pp_unsigned_wide_integer.
6410 2012-01-10  Richard Guenther  <rguenther@suse.de>
6412         PR middle-end/51806
6413         * c-opts.c (c_common_handle_option): Move -Werror handling
6414         to language independent code.
6416 2012-01-05  Richard Guenther  <rguenther@suse.de>
6418         PR middle-end/51764
6419         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6420         from common.opt.
6422 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
6424         PR c++/51316
6425         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6426         of array types with an unknown bound.
6428 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
6430         * c-common.c (flag_isoc99): Update comment to refer to C11.
6431         (flag_isoc1x): Change to flag_isoc11.
6432         * c-common.h (flag_isoc99): Update comment to refer to C11.
6433         (flag_isoc1x): Change to flag_isoc11.
6434         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6435         C11.
6436         * c-opts.c (set_std_c1x): Change to set_std_c11.
6437         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6438         Call set_std_c11.
6439         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6440         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6441         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
6442         standard.
6443         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6444         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
6445         (std=gnu1x): Make alias of std=gnu11.
6447 2011-12-19  Jason Merrill  <jason@redhat.com>
6449         PR c++/51228
6450         * c-common.c (handle_transparent_union_attribute): Check the first
6451         field if the type is complete.
6453 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
6455         PR libstdc++/51365
6456         * c-common.c (RID_IS_FINAL): Add.
6457         * c-common.h (RID_IS_FINAL): Add.
6459 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
6461         * c.opt (fgnu-runtime): Provide full description.
6462         (fnext-runtime): Likewise.
6463         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6465 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
6467         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
6468         predefines in one place.  Add LOCK_FREE predefines.
6469         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6470         new func.
6472 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
6474         PR c/51256
6475         * c-common.c (get_atomic_generic_size): Check for various error
6476         conditions
6477         (resolve_overloaded_atomic_exchange,
6478         resolve_overloaded_atomic_compare_exchange,
6479         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6480         error_mark_node for error conditions.
6482 2011-11-08  Richard Guenther  <rguenther@suse.de>
6484         PR middle-end/51010
6485         c-family/
6487 2011-11-07  Richard Henderson  <rth@redhat.com>
6488             Aldy Hernandez  <aldyh@redhat.com>
6489             Torvald Riegel  <triegel@redhat.com>
6491         Merged from transactional-memory.
6493         * c-common.c (handle_tm_wrap_attribute,
6494         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6495         (struct c_common_reswords): Added __transaction* keywords.
6496         (struct c_common_attribute_table): Added transaction* and tm_regparm
6497         attributes.
6498         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6499         masks.
6500         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6501         find_tm_attribute): Declare.
6503 2011-11-07  Jason Merrill  <jason@redhat.com>
6505         PR c++/35688
6506         * c-common.c, c-common.h: Revert yesterday's changes.
6508 2011-11-06  Jason Merrill  <jason@redhat.com>
6510         PR c++/35688
6511         * c-common.c (decl_has_visibility_attr): Split out from...
6512         (c_determine_visibility): ...here.
6513         * c-common.h: Declare it.
6515 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
6517         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6518         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6519         type.
6520         (check_user_alignment): New.  Split out of
6521         handle_aligned_attribute.  Disallow integer constants with
6522         noninteger types.  Conditionally allow zero.
6523         (handle_aligned_attribute): Use check_user_alignment.
6524         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6526 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
6527             Richard Henderson  <rth@redhat.com>
6529         Merged from cxx-mem-model.
6531         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
6532         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
6533         parameters that are the same type size.
6534         (get_atomic_generic_size): New.  Find size of generic
6535         atomic function parameters and do typechecking.
6536         (add_atomic_size_parameter): New.  Insert size into parameter list.
6537         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6538         either __atomic_exchange_n or external library call.
6539         (resolve_overloaded_atomic_compare_exchange): Restructure
6540         __atomic_compare_exchange to either _n variant or external library call.
6541         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
6542         __atomic_load_n or an external library call.
6543         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6544         __atomic_store_n or an external library call.
6545         (resolve_overloaded_builtin): Handle new __atomic builtins.
6547 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
6549         PR c++/50608
6550         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6551         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
6552         <INDIRECT_REF>: Return the argument.
6553         <ARRAY_REF>: Remove special code for negative offset.
6554         Call fold_build_pointer_plus instead of size_binop.
6555         (fold_offsetof): Remove STOP_REF argument and adjust.
6556         * c-common.h (fold_offsetof_1): Declare.
6557         (fold_offsetof): Remove STOP_REF argument.
6559 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
6561         PR c++/50810
6562         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6563         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6564         Wnarrowing for C++0x and C++98.
6565         * c.opt ([Wnarrowing]): Update.
6567 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
6569         PR c++/44277
6570         * c.opt: Add Wzero-as-null-pointer-constant.
6572 2011-10-31  Jason Merrill  <jason@redhat.com>
6574         * c.opt (-fdeduce-init-list): Off by default.
6576         PR c++/50920
6577         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6578         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6579         and -Wc++11-compat.
6580         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6582 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
6584         PR c++/30066
6585         * c.opt (fvisibility-inlines-hidden): Description change.
6587 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
6589         Implement C++11 user-defined literals.
6590         * c-common.c (build_userdef_literal): New.
6591         * c-common.def: New tree code.
6592         * c-common.h (tree_userdef_literal): New tree struct and accessors.
6593         * c-lex.c (interpret_float): Add suffix parm.
6594         (c_lex_with_flags): Build literal tokens.
6596 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6598         PR c++/50841
6599         Revert:
6600         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6602         PR c++/50810
6603         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6604         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6605         Wnarrowing for C++0x and C++98.
6606         * c.opt ([Wnarrowing]): Update.
6608 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
6610         PR c++/50810
6611         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6612         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6613         Wnarrowing for C++0x and C++98.
6614         * c.opt ([Wnarrowing]): Update.
6616 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
6618         PR c++/45385
6619         * c-common.c (conversion_warning): Remove code looking for
6620         artificial operands.
6622 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
6624         PR bootstrap/50760
6625         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
6626         !NO_IMPLICIT_EXTERN_C.
6628 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
6630         * c-common.c (c_common_reswords): Add __bases,
6631         __direct_bases.
6632         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6634 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
6636         PR c++/50757
6637         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6639 2011-10-15  Tom Tromey  <tromey@redhat.com>
6640             Dodji Seketeli  <dodji@redhat.com>
6642         * c.opt (fdebug-cpp): New option.
6643         * c-opts.c (c_common_handle_option): Handle the option.
6644         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6645         output stream in parameter. Factorized from ...
6646         (maybe_print_line): ... this. Dump location debug information when
6647         -fdebug-cpp is in effect.
6648         (print_line_1): New static function. Takes an output stream in
6649         parameter. Factorized from ...
6650         (print_line): ... here. Dump location information when -fdebug-cpp
6651         is in effect.
6652         (scan_translation_unit): Dump location information when
6653         -fdebug-cpp is in effect.
6655 2011-10-15  Tom Tromey  <tromey@redhat.com>
6656             Dodji Seketeli  <dodji@redhat.com>
6658         * c.opt (ftrack-macro-expansion): New option. Handle it with and
6659         without argument.
6660         * c-opts.c (c_common_handle_option)<case
6661         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6662         cases. Handle -ftrack-macro-expansion with and without argument.
6664 2011-10-15  Tom Tromey  <tromey@redhat.com>
6665             Dodji Seketeli  <dodji@redhat.com>
6667         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6668         (print_line, cb_define, do_line_change): Adjust to avoid touching
6669         the internals of struct line_map.  Use the public API instead.
6670         * c-pch.c (c_common_read_pch): Likewise.
6671         * c-lex.c (fe_file_change): Likewise.
6673 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
6675         PR c++/17212
6676         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6678 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
6680         PR c++/33067
6681         * c-pretty-print.c (pp_c_floating_constant): Output
6682         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6684 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
6686         * c-common.c (def_builtin_1): Delete old interface with two
6687         parallel arrays to hold standard builtin declarations, and replace
6688         it with a function based interface that can support creating
6689         builtins on the fly in the future.  Change all uses, and poison
6690         the old names.  Make sure 0 is not a legitimate builtin index.
6691         * c-omp.c (c_finish_omp_barrier): Ditto.
6692         (c_finish_omp_taskwait): Ditto.
6693         (c_finish_omp_flush): Ditto.
6695 2011-10-11  Tristan Gingold  <gingold@adacore.com>
6697         * c.opt: (fallow-parameterless-variadic-functions): New.
6699 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
6701         PR c++/33255 - Support -Wunused-local-typedefs warning
6702         * c-common.h (struct c_language_function::local_typedefs): New
6703         field.
6704         (record_locally_defined_typedef, maybe_record_typedef_use)
6705         (maybe_warn_unused_local_typedefs): Declare new functions.
6706         * c-common.c (record_locally_defined_typedef)
6707         (maybe_record_typedef_use)
6708         (maybe_warn_unused_local_typedefs): Define new functions.
6709         * c.opt: Declare new -Wunused-local-typedefs flag.
6711 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
6713         PR middle-end/50266
6714         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6715         computations.
6717 2011-09-05  Richard Guenther  <rguenther@suse.de>
6719         * c-common.c (complete_array_type): Use ssize_int (-1) instead
6720         of integer_minus_one_node for empty array upper bounds.
6722 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
6724         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6725         it's the first time it's being called on this main TU.
6727 2011-08-24  Richard Guenther  <rguenther@suse.de>
6729         PR c/49396
6730         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6732 2011-08-22  Gabriel Charette  <gchare@google.com>
6734         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6735         defined in cpp_init_builtins and c_cpp_builtins.
6737 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
6739         * c-common.c (c_common_reswords): Add __builtin_complex.
6740         * c-common.h (RID_BUILTIN_COMPLEX): New.
6742 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
6744         * c-common.c (c_common_reswords): Add _Noreturn.
6745         (keyword_is_function_specifier): Handle RID_NORETURN.
6746         * c-common.h (RID_NORETURN): New.
6748 2011-08-10  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
6750         * c-common.c (unsafe_conversion_p): New function. Check if it is
6751         unsafe to convert an expression to the type.
6752         (conversion_warning): Adjust, use unsafe_conversion_p.
6753         * c-common.h (unsafe_conversion_p): New function declaration.
6755 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
6757         * c-common.h (c_finish_omp_atomic): Adjust prototype.
6758         (c_finish_omp_taskyield): New prototype.
6759         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6760         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6761         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
6762         or RHS1 have side-effects, evaluate those too in the right spot,
6763         if it is a decl and LHS is also a decl, error out if they
6764         aren't the same.
6765         (c_finish_omp_taskyield): New function.
6766         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6767         * c-pragma.c (omp_pragmas): Add taskyield.
6768         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6769         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6770         PRAGMA_OMP_CLAUSE_MERGEABLE.
6772 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
6774         * c-common.h (set_underlying_type): Remove parm name from
6775         declaration.
6777 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
6779         * c-pretty-print.h: Search c-common.h in c-family.
6781 2011-07-22  Jason Merrill  <jason@redhat.com>
6783         PR c++/49793
6784         * c.opt (Wnarrowing): New.
6786         PR c++/30112
6787         * c-common.h: Declare c_linkage_bindings.
6788         * c-pragma.c (handle_pragma_redefine_extname): Use it.
6790         PR c++/49813
6791         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6792         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6793         as flag_isoc99 for 'restrict'.
6794         (pp_c_specifier_qualifier_list): Likewise for _Complex.
6796 2011-07-21  Ian Lance Taylor  <iant@google.com>
6798         PR middle-end/49705
6799         * c-common.c (c_disable_warnings): New static function.
6800         (c_enable_warnings): New static function.
6801         (c_fully_fold_internal): Change local unused_p to bool.  Call
6802         c_disable_warnings and c_enable_warnings rather than change
6803         c_inhibit_evaluation_warnings.
6805 2011-07-20  Jason Merrill  <jason@redhat.com>
6807         PR c++/6709 (DR 743)
6808         PR c++/42603 (DR 950)
6809         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6810         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6811         (CPP_DECLTYPE): New.
6812         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6814 2011-07-19  Richard Guenther  <rguenther@suse.de>
6816         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6817         * c-omp.c (c_finish_omp_for): Likewise.
6819 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
6821         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6822         body on the next line.
6824 2011-07-08  Jason Merrill  <jason@redhat.com>
6826         PR c++/45437
6827         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6829         PR c++/49673
6830         * c-common.c (c_apply_type_quals_to_decl): Don't check
6831         TYPE_NEEDS_CONSTRUCTING.
6833 2011-07-06  Richard Guenther  <rguenther@suse.de>
6835         * c-common.c (c_common_nodes_and_builtins):
6836         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6838 2011-07-05  Richard Guenther  <rguenther@suse.de>
6840         * c-common.c (c_common_nodes_and_builtins): Build all common
6841         tree nodes first.
6843 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
6845         * c-common.h (c_tree_chain_next): New static inline function.
6847         * c-common.c (check_builtin_function_arguments): Handle
6848         BUILT_IN_ASSUME_ALIGNED.
6850 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
6852         * c-common.c: Add sync_ or SYNC__ to builtin names.
6853         * c-omp.c: Add sync_ or SYNC__ to builtin names.
6855 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
6857         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6858         handler.
6859         (gen_pragma_handler): New union.
6860         (internal_pragma_handler): New type.
6861         (c_register_pragma_with_data)
6862         (c_register_pragma_with_expansion_and_data): New functions.
6864         * c-pragma.c (registered_pragmas, c_register_pragma_1)
6865         (c_register_pragma, c_register_pragma_with_expansion)
6866         (c_invoke_pragma_handler): Changed to work with
6867         internal_pragma_handler.
6868         (c_register_pragma_with_data)
6869         (c_register_pragma_with_expansion_and_data): New functions.
6871 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
6873         * c-common.c: Include common/common-target.h.
6874         (handle_section_attribute): Use
6875         targetm_common.have_named_sections.
6876         * c-cppbuiltin.c: Include common/common-target.h.
6877         (c_cpp_builtins): Use targetm_common.except_unwind_info.
6879 2011-06-10  Richard Guenther  <rguenther@suse.de>
6881         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6882         to print a IDENTIFIER_NODE.
6884 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6885             Joseph Myers  <joseph@codesourcery.com>
6887         * c.opt (fbuilding-libgcc): New option.
6888         * c-cppbuiltin.c (c_cpp_builtins): Define
6889         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6891 2011-06-07  Jason Merrill  <jason@redhat.com>
6893         * c-common.c (max_tinst_depth): Lower default to 900.
6895         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6897 2011-06-07  Richard Guenther  <rguenther@suse.de>
6899         * c-common.c (c_common_nodes_and_builtins): Do not set
6900         size_type_node or call set_sizetype.
6902 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
6904         PR debug/49130
6905         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
6906         type when using pointer comparison to compare types.
6908 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
6910         * c.opt: Add -Wdelete-non-virtual-dtor.
6911         * c-opts.c (c_common_handle_option): Include it in -Wall.
6913 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
6915         PR bootstrap/49190
6917         Revert:
6918         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6920         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6921         not tree_common.
6923 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
6925         PR c++/49165
6926         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6927         C++ don't call c_common_truthvalue_conversion on void type arms.
6929 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
6931         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6932         (stmt_list_stack): Define.
6933         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6934         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6936 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6938         * c-common.c (warning_candidate_p): Check for BLOCKs.
6940 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
6942         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6943         not tree_common.
6945 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
6947         * c-common.c (def_fn_type): Remove extra va_end.
6949 2011-05-23  Jason Merrill  <jason@redhat.com>
6951         PR c++/48106
6952         * c-common.c (c_common_get_narrower): New.
6953         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6955 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
6957         * c-common.h (check_function_arguments): Tweak prototype of
6958         check_function_arguments.
6959         * c-common.c (check_function_arguments): Likewise.  Adjust
6960         calls to check_function_nonnull, check_function_format, and
6961         check_function_sentinel.
6962         (check_function_sentinel): Take a FUNCTION_TYPE rather than
6963         separate attributes and typelist arguments.  Use
6964         FOREACH_FUNCTION_ARGS to iterate over argument types.
6966 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
6968         * c-common.c (c_common_reswords): Reorder.
6969         * c-common.h (rid): Likewise.
6971 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
6973         * c-common.c (def_fn_type): Don't call build_function_type, call
6974         build_function_type_array or build_varargs_function_type_array
6975         instead.
6976         (c_common_nodes_and_builtins): Likewise.
6978 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
6980         * c-common.c (c_add_case_label): Omit the loc argument to
6981         build_case_label.
6982         * c-common.h (build_case_label): Remove.
6983         * c-semantics.c (build_case_label): Remove.
6985 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
6987         * c-objc.h (objc_start_method_definition): Update prototype.
6988         * stub-objc.c (objc_start_method_definition): Add extra parameter.
6990 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
6992         * c-common.c (check_main_parameter_types): Reindent.  Don't use
6993         TYPE_ARG_TYPES directly.
6994         (handle_nonnull_attribute): Likewise.
6995         (sync_resolve_params): Likewise.
6996         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
6997         to check_format_string.
6998         (handle_format_attribute): Likewise.
6999         (check_format_string): Take a function type to examine instead of
7000         a type list.  Use a function_arg_iterator to step through argument
7001         types.
7003 2011-05-04  Richard Guenther  <rguenther@suse.de>
7005         * c-common.c (fix_string_type): Use size_int for index type bounds.
7006         (start_fname_decls): Do not pass NULL to build_int_cst.
7007         (c_init_attributes): Likewise.
7008         * c-lex.c (c_lex_with_flags): Likewise.
7010 2011-04-27  Jason Merrill  <jason@redhat.com>
7012         * c-common.c (make_tree_vector_from_list): New.
7013         * c-common.h: Declare it.
7015 2011-04-26  Richard Guenther  <rguenther@suse.de>
7017         PR preprocessor/48248
7018         * c-ppoutput.c (maybe_print_line): Always optimize newlines
7019         for output size with -P.
7021 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
7023         * c-common.c (struct c_common_resword): Add __underlying_type.
7024         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
7026 2011-04-20  Jim Meyering  <meyering@redhat.com>
7028         * c-format.c (init_dollar_format_checking): Remove useless
7029         if-before-free.
7031 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
7033         * c-objc.h (objc_get_interface_ivars): Removed.
7034         (objc_detect_field_duplicates): New.
7035         * stub-objc.c: Likewise.
7037 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
7039         * stub-objc.c (objc_declare_protocols): Renamed to
7040         objc_declare_protocol.
7041         * c-objc.h: Likewise.
7043 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
7045         * stub-objc.c (objc_declare_class): Updated argument name.
7047 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
7049         * c-common.h (c_common_init_ts): Declare.
7050         * c-common.c (c_common_init_ts): Define.
7052 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
7054         * c-objc.h (objc_build_message_expr): Updated prototype.
7055         * stub-objc.c (objc_build_message_expr): Likewise.
7057 2011-04-12  Martin Jambor  <mjambor@suse.cz>
7059         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
7060         of cgraph_node.
7062 2011-04-11  Richard Guenther  <rguenther@suse.de>
7064         * c-common.c (complete_array_type): Build a range type of
7065         proper type.
7067 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
7069         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
7070         (handle_type_generic_attribute): Likewise.
7072 2011-04-07  Jason Merrill  <jason@redhat.com>
7074         PR c++/48450
7075         * c-common.c (c_common_truthvalue_conversion): Don't ignore
7076         conversion from C++0x scoped enum.
7078 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
7080         * c-target-def.h: New file.
7081         * c-target.def: New file.
7082         * c-target.h: New file.
7083         * c-common.c (targetcm): Don't define here.
7084         * c-common.h (default_handle_c_option): Declare.
7085         * c-format.c: Include c-target.h instead of target.h.
7086         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
7087         include tm.h.
7088         (default_handle_c_option): Move from targhooks.c.
7090 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
7092         PR preprocessor/48248
7093         * c-ppoutput.c (print): Add src_file field.
7094         (init_pp_output): Initialize it.
7095         (maybe_print_line): Don't optimize by adding up to 8 newlines
7096         if map->to_file and print.src_file are different file.
7097         (print_line): Update print.src_file.
7099 2011-03-25  Kai Tietz  <ktietz@redhat.com>
7101         * c-ada-spec.c (compare_comment): Use filename_cmp
7102         instead of strcmp for filename.
7104 2011-03-25  Jeff Law  <law@redhat.com>
7106         * c-common.c (def_fn_type): Add missing va_end.
7108 2011-03-25  Jason Merrill  <jason@redhat.com>
7110         * c.opt: Add -std=c++03.
7112 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
7114         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7116 2011-03-17  Kai Tietz  <ktietz@redhat.com>
7118         PR target/12171
7119         * c-pretty-print.c (pp_c_specifier_qualifier_list):
7120         Display allowed attributes for function pointer types.
7121         (pp_c_attributes_display): New function to display
7122         attributes having affects_type_identity flag set to true.
7123         * c-pretty-print.h (pp_c_attributes_display): New prototype.
7125         * c-common.c (c_common_attribute_table):
7126         Add new element.
7127         (c_common_format_attribute_table): Likewise.
7129 2011-03-18  Jason Merrill  <jason@redhat.com>
7131         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7132         * c-common.h: Don't declare it here.
7133         * c-common.c: Or define it here.
7134         * c-opts.c (c_common_handle_option): Or set it here.
7136         PR c++/35315
7137         * c-common.c (handle_transparent_union_attribute): Don't
7138         make a duplicate type in C++.
7140 2011-03-15  Jason Merrill  <jason@redhat.com>
7142         * c-common.c (max_constexpr_depth): New.
7143         * c-common.h: Declare it.
7144         * c-opts.c (c_common_handle_option): Set it.
7145         * c.opt (fconstexpr-depth): New option.
7147 2011-03-11  Jason Merrill  <jason@redhat.com>
7149         * c-common.c (attribute_takes_identifier_p): Add missing const.
7151         PR c++/46803
7152         * c-common.c (attribute_takes_identifier_p): Assume that an
7153         unknown attribute takes an identifier.
7155 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
7157         PR c/47786
7158         * c-common.c (c_type_hash): Call list_length instead of iterating
7159         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
7161 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
7163         PR c/47809
7164         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7166 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
7168         * c.opt (fobjc-abi-version=) New.
7169         (fobjc-nilcheck): New.
7171 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
7173         PR c++/46890
7174         * c-common.h (keyword_is_decl_specifier): Declare.
7175         * c-common.c (keyword_is_decl_specifier): Define.
7176         (keyword_is_function_specifier): New function.
7178 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
7180         PR c/47473
7181         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7182         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7183         REAL_TYPE.
7185 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
7187         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7189 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
7191         PR pch/47430
7192         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7193         after init_c_lex if pch_file is set.
7195 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
7197         PR c++/43601
7198         * c.opt (-fkeep-inline-dllexport): New switch.
7200 2011-01-12  Richard Guenther  <rguenther@suse.de>
7202         PR middle-end/32511
7203         * c-common.c (handle_weak_attribute): Warn instead of error
7204         on declaring an inline function weak.
7206 2011-01-05  Tom Tromey  <tromey@redhat.com>
7208         * c-common.h (lvalue_error): Update.
7209         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
7210         not error.
7212 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7214         PR objc/47075
7215         * c-objc.h (objc_finish_message_expr): Added argument to
7216         prototype.
7218 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
7220         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7221         Use prototype_p.
7223 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7225         * c-objc.h (objc_maybe_warn_exceptions): New.
7226         * stub-objc.c (objc_maybe_warn_exceptions): New.
7228 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
7230         * c-common.h (readonly_error): Declare.
7231         * c-common.c (readonly_error): Define.
7233 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
7235         * c-common.h (invalid_indirection_error): Declare.
7236         * c-common.c (invalid_indirection_error): Define.
7238 2010-12-03  Richard Guenther  <rguenther@suse.de>
7240         PR c/46745
7241         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7242         (pp_c_unary_expression): Likewise.
7243         (pp_c_expression): Likewise.
7245 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7247         * c-common.h (objc_finish_function): New.
7248         (objc_non_volatilized_type): Removed.
7249         (objc_type_quals_match): Removed.
7250         * stub-objc.c (objc_finish_function): New.
7251         (objc_non_volatilized_type): Removed.
7252         (objc_type_quals_match): Removed.
7254 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
7256         * c-common.h (parse_optimize_options): Declare.
7257         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7258         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7260 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
7262         * c-opts.c (check_deps_environment_vars): Use getenv instead of
7263         GET_ENVIRONMENT.
7264         * c-pch.c (O_BINARY): Don't define here.
7265         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7267 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
7269         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7270         targetm.except_unwind_info.
7272 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
7274         * c-opts.c (c_common_handle_option): Pass location to
7275         set_struct_debug_option.
7277 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
7279         * c-common.c (visibility_options): Move from ../opts.c.
7280         * c-common.h (struct visibility_flags, visibility_options):
7281         Declare here.
7282         * c-opts.c (finish_options): Rename to c_finish_options.
7283         (c_common_init): Update call to finish_options.
7285 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
7287         PR objc/34033
7288         * c-lex.c (lex_string): Check that each string in an Objective-C
7289         string concat sequence starts with either one or zero '@', and
7290         that there are no spurious '@' signs at the end.
7292 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
7294         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7295         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7296         HANDLE_PRAGMA_VISIBILITY.
7297         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7298         HANDLE_PRAGMA_VISIBILITY): Don't define.
7299         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7301 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
7303         PR c++/16189
7304         PR c++/36888
7305         PR c++/45331
7306         * c-common.h (keyword_begins_type_specifier): Declare.
7307         (keyword_is_storage_class_specifier): Declare.
7308         (keyword_is_type_qualifier): Declare.
7309         * c-common.c (keyword_begins_type_specifier): New function.
7310         (keyword_is_storage_class_specifier): New function.
7311         (keyword_is_type_qualifier): Declare.
7313 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
7315         PR c/46547
7316         * c-common.c (in_late_binary_op): Define.
7317         (c_common_truthvalue_conversion): Check in_late_binary_op before
7318         calling c_save_expr.
7319         * c-common.h (in_late_binary_op): Declare.
7321 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
7323         * c-opts.c (c_common_handle_option): Update calls to
7324         set_struct_debug_option.
7326 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
7328         * c-common.h (objc_declare_protocols): Added additional argument.
7329         * stub-objc.c (objc_declare_protocol): Same change.
7331 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
7333         PR c/33193
7334         * c-common.h (build_real_imag_expr): Declare.
7335         * c-semantics.c (build_real_imag_expr): Define.
7337 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
7339         * c-opts.c (c_common_parse_file): Take no arguments.
7340         * c-common.h (c_common_parse_file): Update prototype.
7342 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
7344         PR c++/46401
7345         * c-common.c (warning_candidate_p): Don't track non-const calls
7346         or STRING_CSTs.
7348 2010-11-15  Ian Lance Taylor  <iant@google.com>
7350         * c-lex.c (init_c_lex): Set macro debug callbacks if
7351         flag_dump_go_spec is set.
7353 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
7355         * c-common.h (objc_build_incr_expr_for_property_ref): New.
7356         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7358 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
7360         PR preprocessor/45038
7361         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7362         dialects.
7364 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
7366         * c-common.h (c_family_lang_mask): Declare.
7367         * c-opts.c (c_family_lang_mask): Make extern.
7368         * c-pragma.c (handle_pragma_diagnostic): Use
7369         control_warning_option.
7371 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
7373         * c-common.c (parse_optimize_options): Update call to
7374         decode_options.
7375         * c-common.h (c_common_handle_option): Update prototype.
7376         * c-opts.c (c_common_handle_option): Take location_t parameter and
7377         pass it to other functions.
7379 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
7381         * c-opts.c (warning_as_error_callback): Remove.
7382         (c_common_initialize_diagnostics): Don't call
7383         register_warning_as_error_callback.
7384         (c_common_handle_option): Handle -Werror=normalized= here.
7386 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
7388         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7389         in diagnostic.
7390         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7391         letter.
7392         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7393         Remove trailing '.' from diagnostics.
7394         * c.opt (Wwrite-strings_: Avoid '`' in help text.
7396 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
7398         * c-common.c (parse_optimize_options): Pass global_dc to
7399         decode_options.
7400         * c-opts.c (c_common_handle_option): Pass &global_options to
7401         set_Wstrict_aliasing.
7402         * c.opt (v): Don't mark Common or document here.
7404 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
7406         PR target/44981
7407         * c-format.c (format_type): New type gcc_objc_string_format_type.
7408         (valid_stringptr_type_p): New.
7409         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
7410         (check_format_string): Pass expected type, use
7411         valid_stringptr_type_p (), check that the format string types are
7412         consistent with the format specification.
7413         (decode_format_attr): Warn if NSString is used outside objective-c.
7414         (format_types_orig): Add NSString.
7415         (format_name): New.
7416         (format_flags): New.
7417         (check_format_arg): Handle format strings requiring an external parser.
7418         first_target_format_type: New variable.
7419         (handle_format_attribute): Set up first_target_format_type, pass the
7420         expected format arg string type to check_format_string().
7421         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
7422         * stub-objc.c (objc_string_ref_type_p): New.
7423         (objc_check_format_arg): New.
7425 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
7427         Fixed using the Objective-C 2.0 dot-syntax with class names.
7428         * c-common.h (objc_build_class_component_ref): New.
7429         * stub-objc.c (objc_build_class_component_ref): New.
7431 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
7433         * c.opt (Wproperty-assign-default): New option.
7435 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
7437         Implemented -fobjc-std=objc1 flag.
7438         * c.opt (fobjc-std=objc1): New option.
7440 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
7442         Implemented format and noreturn attributes for Objective-C methods.
7443         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7444         attribute for Objective-C methods.
7446 2010-10-31  Jason Merrill  <jason@redhat.com>
7448         * c-common.c (conversion_warning, warn_for_collisions_1): Use
7449         EXPR_LOC_OR_HERE.
7451 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7453         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7454         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7455         (objc_add_property_declaration): Removed arguments for copies and
7456         ivar.
7457         (objc_build_getter_call): Renamed to
7458         objc_maybe_build_component_ref.
7459         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7460         (objc_is_property_ref): New.
7461         * c-common.c (c_common_reswords): Removed copies and ivar.
7462         * stub-objc.c (objc_add_property_declaration): Removed arguments
7463         for copies and ivar.
7464         (objc_build_getter_call): Renamed to
7465         objc_maybe_build_component_ref.
7466         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7467         (objc_is_property_ref): New.
7469 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
7470             Matthew Gingell  <gingell@adacore.com>
7472         * c-ada-spec.c (separate_class_package): New function.
7473         (pp_ada_tree_identifier): Prefix references to C++ classes with the
7474         name of their enclosing package.
7475         (print_ada_declaration): Use separate_class_package.
7477 2010-10-27  Jason Merrill  <jason@redhat.com>
7479         * c-common.c (c_common_reswords): Add __is_literal_type.
7480         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7482         * c-common.c (check_case_value): Remove special C++ code.
7484 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7486         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7487         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
7488         and RID_LAST_PATTR.
7489         (objc_add_property_declaration): Added additional arguments.
7490         (objc_property_attribute_kind): Removed.
7491         (objc_set_property_attr): Removed.
7492         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7493         copy and nonatomic.
7494         * stub-objc.c (objc_add_property_declaration): Added additional
7495         arguments.
7496         (objc_set_property_attr): Removed.
7498 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7500         * c-common.h (objc_add_property_variable): Renamed to
7501         objc_add_property_declaration.  Added location argument.
7502         * stub-objc.c (objc_add_property_variable): Same change.
7504 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
7506         * c-common.h (objc_maybe_printable_name): New.
7507         * stub-objc.c (objc_maybe_printable_name): New.
7509 2010-10-22  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
7510             Andrew Pinski  <pinskia@gmail.com>
7512         * c-common.h (c_common_mark_addressable_vec): Declare.
7513         * c-common.c (c_common_mark_addressable_vec): New function.
7515 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
7517         * c-common.h (objc_set_method_type): Removed.
7518         (objc_add_method_declaration): Added boolean argument.
7519         (objc_start_method_definition): Same change.
7520         (objc_build_method_signature): Same change.
7521         * stub-objc.c (objc_set_method_type): Removed.
7522         (objc_add_method_declaration): Added boolean argument.
7523         (objc_start_method_definition): Same change.
7524         (objc_build_method_signature): Same change.
7526 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
7528         * c-common.h (finish_file): Removed.
7529         (objc_write_global_declarations): New.
7530         * c-opts.c (c_common_parse_file): Do not call finish_file.
7531         * stub-objc.c (objc_write_global_declarations): New.
7533 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7535         Implemented parsing @synthesize and @dynamic for
7536         Objective-C/Objective-C++.
7537         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7538         (objc_add_synthesize_declaration): New.
7539         (objc_add_dynamic_declaration): New.
7540         * c-common.c (c_common_reswords): Add synthesize and dynamic.
7541         * stub-objc.c (objc_add_synthesize_declaration): New.
7542         (objc_add_dynamic_declaration): New.
7544 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
7546         PR target/46041
7547         * c-cppbuiltin.c (mode_has_fma): Move function here from
7548         builtins.c.  Don't use the fma optab, instead just use the
7549         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7550         using -save-temps.
7552 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
7554         Merge from 'apple/trunk' branch on FSF servers.
7556         2005-11-08  Fariborz Jahanian  <fjahanian@apple.com>
7558         Radar 4330422
7559         * c-common.h (objc_non_volatilized_type): New declaration
7560         * stub-objc.c (objc_non_volatilized_type): New stub.
7562 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
7564         Merge from 'apple/trunk' branch on FSF servers.
7566         2006-03-27 Fariborz Jahanian  <fjahanian@apple.com>
7568         Radar 4133425
7569         * c-common.h (objc_diagnose_private_ivar): New decl.
7570         * stub-objc.c (objc_diagnose_private_ivar): New stub.
7572 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
7574         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7575         * c-common.h (enum rid): Add RID_AT_PACKAGE.
7576         (objc_ivar_visibility_kind): New enum.
7577         (objc_set_visibility): Adjust prototype to use visibility enum.
7578         * stub-objc.c (objc_set_visibility): Adjust stub to use
7579         visibility enum.
7581 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
7583         * c-cppbuiltin.c (builtin_define_float_constants): Emit
7584         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7585         has the appropriate fma builtins.
7586         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7588 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
7590         merge from FSF apple 'trunk' branch.
7591         2006 Fariborz Jahanian  <fjahanian@apple.com>
7593         Radars 4436866, 4505126, 4506903, 4517826
7594         * c-common.c (c_common_resword): Define @property and its attributes.
7595         * c-common.h: Define property attribute enum entries.
7596         (OBJC_IS_PATTR_KEYWORD): New.
7597         (objc_property_attribute_kind): New enum.
7598         Declare objc_set_property_attr (), objc_add_property_variable (),
7599         objc_build_getter_call () and objc_build_setter_call ().
7600         * stub-objc.c (objc_set_property_attr): New stub.
7601         (objc_add_property_variable): Likewise.
7602         (objc_build_getter_call): Likewise.
7603         (objc_build_setter_call) Likewise.
7605 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
7607         merge from FSF apple 'trunk' branch.
7608         2006-04-26 Fariborz Jahanian  <fjahanian@apple.com>
7610         Radar 3803157 (method attributes)
7611         * c-common.c (handle_deprecated_attribute): Recognize
7612         objc methods as valid declarations.
7613         * c-common.h: Declare objc_method_decl ().
7614         * stub-objc.c (objc_method_decl): New stub.
7616 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
7618         * c-common.c (parse_optimize_options): Call
7619         decode_cmdline_options_to_array_default_mask before
7620         decode_options.  Update arguments to decode_options.
7621         * c-common.h (c_common_init_options_struct): Declare.
7622         * c-opts.c (c_common_init_options_struct): New.  Split out from
7623         c_common_init_options.
7625 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
7627         Implemented fast enumeration for Objective-C.
7628         * c-common.h (objc_finish_foreach_loop): New.
7629         * stub-objc.c (objc_finish_foreach_loop): New.
7631 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
7633         * c-common.h (struct diagnostic_context): Don't declare here.
7634         (c_common_initialize_diagnostics): Declare using
7635         diagnostic_context typedef.
7636         * c-opts.c (c_common_handle_option): Pass global_dc to
7637         handle_generated_option.
7639 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
7641         * c-opts.c (c_common_handle_option): Pass &global_options_set to
7642         handle_generated_option.
7644 2010-10-03  Ian Lance Taylor  <iant@google.com>
7646         * c.opt (-fplan9-extensions): New option.
7648 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
7650         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7651         Remove.
7652         (c_cpp_builtins): Call functions from cppbuiltin.c instead
7653         of duplicating code.
7655 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
7657         * c-common.c: Add two new entries for @optional
7658         and @required keywords.
7660         merge from FSF 'apple/trunk' branch.
7661         2006-01-30  Fariborz Jahanian  <fjahanian@apple.com>
7663         Radar 4386773
7664         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7665         objective-c keywords.
7666         (objc_set_method_opt): New declaration.
7667         * stub-objc.c (objc_set_method_opt): New stub.
7669 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
7671         * c-common.c (handle_optimize_attribute): Pass &global_options to
7672         cl_optimization_save and cl_optimization_restore.
7673         * c-opts.c (c_common_handle_option): Pass &global_options to
7674         handle_generated_option.
7675         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7676         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7677         &global_options to cl_optimization_restore.
7679 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
7681         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7682         Objective-C/Objective-C++ keywords.
7684 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7686         Merge from 'apple/trunk' branch on FSF servers.
7688         2005-10-04  Fariborz Jahanian  <fjahanian@apple.com>
7690         Radar 4281748
7691         * c-common.h (objc_check_global_decl): New declaration.
7692         * stub-objc.c (objc_check_global_decl): New stub.
7694 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
7696         * c.opt: Don't use VarExists.
7698 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
7700         * c-common.c (c_cpp_error): Update names of diagnostic_context
7701         members.
7702         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7703         cl_optimization members.
7704         * c-opts.c (warning_as_error_callback, c_common_handle_option,
7705         sanitize_cpp_opts, finish_options): Update names of cpp_options
7706         members.
7708 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
7710         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
7711         (objc_is_reserved_word): Removed.
7712         * c-common.c: Updated comments.
7713         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7714         objc_is_reserved_word.
7715         * stub-objc.c (objc_is_reserved_word): Removed.
7717 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
7719         * c-common.h (objc_add_method_declaration): Adjust prototype to
7720         include attributes.
7721         (objc_start_method_definition): Likewise.
7722         (objc_build_keyword_decl): Likewise.
7723         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7724         (objc_start_method_definition): Likewise.
7725         (objc_build_keyword_decl): Likewise.
7727 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
7729         * c-common.h (objc_start_class_interface): Adjust prototype.
7730         (objc_start_category_interface): Likewise.
7731         (objc_start_protocol): Likewise.
7732         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7733         (objc_start_class_interface): Likewise.
7734         (objc_start_category_interface): Likewise.
7736 2010-09-27  Ian Lance Taylor  <iant@google.com>
7738         * c-common.c (c_common_attribute_table): Add no_split_stack.
7739         (handle_no_split_stack_attribute): New static function.
7741 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
7743         Merge from 'apple/trunk' branch on FSF servers.
7745         2005-12-15  Fariborz Jahanian  <fjahanian@apple.com>
7747         Radar 4229905
7748         * c-common.h (objc_have_common_type): New declaration.
7749         * stub-objc.c (objc_have_common_type): New stub.
7751         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
7753         Radar 4154928
7754         * c-common.h (objc_common_type): New prototype.
7755         * stub-objc.c (objc_common_type): New stub.
7757 2010-09-24  Jan Hubicka  <jh@suse.cz>
7759         * c-common.c (handle_leaf_attribute): New function.
7760         (struct attribute_spec c_common_att): Add leaf.
7762 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
7764         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7765         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7766         -dump, -dump=, -imacros, -imacros=, -include, -include=,
7767         -include-barrier, -include-directory, -include-directory=,
7768         -include-directory-after, -include-directory-after=,
7769         -include-prefix, -include-prefix=, -include-with-prefix,
7770         -include-with-prefix=, -include-with-prefix-after,
7771         -include-with-prefix-after=, -include-with-prefix-before,
7772         -include-with-prefix-before=, -no-integrated-cpp,
7773         -no-line-commands, -no-standard-includes, -no-warnings, -output,
7774         -output=, -pedantic, -pedantic-errors, -preprocess,
7775         -print-missing-file-dependencies, -trace-includes, -traditional,
7776         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7777         -user-dependencies, -verbose, -write-dependencies,
7778         -write-user-dependencies, no-integrated-cpp, traditional): New.
7780 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
7782         PR objc/23710
7783         * c-common.h (objc_start_method_definition): Return bool instead
7784         of void.
7785         * stub-objc.c (objc_start_method_definition): Return bool instead
7786         of void.
7788 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
7790         PR objc/25965
7791         * c-common.h (objc_get_interface_ivars): New declaration.
7792         * stub-objc.c (objc_get_interface_ivars): New stub.
7794 2010-09-15  Ian Lance Taylor  <iant@google.com>
7796         * c-common.c (parse_optimize_options): Do not capitalize warning
7797         messages.  Remove period at end of warning message.
7799 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
7801         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7802         (handle_alias_attribute): ... here.
7803         (handle_ifunc_attribute): New.
7805 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
7807         * c-common.h (do_warn_double_promotion): Declare.
7808         * c-common.c (do_warn_double_promotion): Define.
7810 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
7812         * c.opt (Wdouble-promotion): New.
7814 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7816         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7817         fvtable-thunks, fxref): Mark no longer supported in help text.
7819 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7821         * c.opt (Wimport, fall-virtual, falt-external-templates,
7822         fdefault-inline, fenum-int-equiv, fexternal-templates,
7823         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7824         fname-mangling-version-, fnew-abi, fnonnull-objects,
7825         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7826         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7827         applicable.
7828         (fhandle-exceptions): Mark with Alias and Warn.
7829         * c-opts.c (c_common_handle_option): Don't handle options marked
7830         as ignored.
7832 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
7834         * c.opt (Wcomments, Werror-implicit-function-declaration,
7835         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7836         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7837         aliases.
7838         * c-common.c (option_codes): Use OPT_Wcomment instead of
7839         OPT_Wcomments.
7840         * c-opts.c (warning_as_error_callback, c_common_handle_option):
7841         Don't handle options marked as aliases.
7843 2010-08-25  Richard Guenther  <rguenther@suse.de>
7845         * c-common.c (c_common_get_alias_set): Remove special
7846         handling for pointers.
7848 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
7850         * c-common.c: Use FOR_EACH_VEC_ELT.
7851         * c-gimplify.c: Likewise.
7852         * c-pragma.c: Likewise.
7854 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
7856         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
7857         RejectDriver.
7858         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
7859         RejectDriver.
7860         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7861         instead of OPT_MDX and OPT_MMDX.
7863 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
7865         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7867 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
7869         * c.opt (MD, MMD): Change to MDX and MMDX.
7870         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7872 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
7874         * c-opts.c (c_common_handle_option): Call handle_generated_option
7875         instead of handle_option.
7877 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
7879         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7880         (maybe_apply_renaming_pragma): Delete unneeded declarations.
7882 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
7884         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
7885         (pending_redefine_extname): Change type to a VEC.
7886         (add_to_renaming_pragma_list): Update for new type of
7887         pending_redefine_extname.
7888         (maybe_apply_renaming_pragma): Likewise.
7890 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
7892         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7893         visited.
7894         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7895         decide whether a type has already been declared/seen.
7896         Do not go to the original type.
7897         (dump_nested_types): New parameter forward.
7898         Generate forward declaration if needed and mark type as visited.
7899         (print_ada_declaration): Call dump_nested_types if not already done.
7900         Mark types as visited.
7902 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
7904         * c.opt (-print-pch-checksum): Remove option.
7905         * c-opts.c (c_common_handle_option): Don't handle
7906         OPT_print_pch_checksum.
7908 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7910         * c-common.h (c_common_handle_option): Update prototype and return
7911         value type.
7912         * c-opts.c (c_common_handle_option): Update prototype and return
7913         value type.  Update calls to handle_option and
7914         enable_warning_as_error.
7916 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
7918         PR c/45079
7919         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7921 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7923         * c-common.h (c_common_missing_argument): Remove.
7924         * c-opts.c (c_common_missing_argument): Remove.
7925         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7926         idirafter, imacros, include, isysroot, isystem, iquote): Add
7927         MissingArgError.
7928         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7930 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
7932         * c-common.h (c_common_option_lang_mask,
7933         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7934         New.
7935         (c_common_init_options): Update prototype.
7936         * c-opts.c (c_common_option_lang_mask): New.
7937         (c_common_initialize_diagnostics): Split out of
7938         c_common_init_options.
7939         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7940         New.
7941         (c_common_init_options): Update prototype.  Use decoded options in
7942         search for -lang-asm.
7944 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
7946         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7947         * c-format.c: Likewise.
7949 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7951         * c-common.h: Include diagnostic-core.h. Error if already
7952         included.
7953         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7955 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7957         * c-common.c (IN_GCC_FRONTEND): Do not undef.
7958         Do not include expr.h
7959         (vector_mode_valid_p): Move here.
7961 2010-06-21  DJ Delorie  <dj@redhat.com>
7963         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7964         allow these pragmas anywhere.
7966 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
7968         PR bootstrap/44509
7969         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7970         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7971         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7972         ggc_strdup instead of xstrdup.
7974 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
7976         * c-cppbuiltin.c: Include cpp-id-data.h.
7977         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7978         (lazy_hex_fp_value): New function.
7979         (builtin_define_with_hex_fp_value): Provide definitions lazily.
7981 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7983         * c-gimplify.c: Do not include tree-flow.h
7985 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
7987         PR other/44034
7988         * c-common.c: Rename targetm member:
7989         targetm.enum_va_list -> targetm.enum_va_list_p
7991 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
7993         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7995 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
7997         * c-cppbuiltin.c: Do not include except.h.
7999 2010-06-24  Andi Kleen  <ak@linux.intel.com>
8001         * c-common.c (warn_for_omitted_condop): New.
8002         * c-common.h (warn_for_omitted_condop): Add prototype.
8004 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
8006         * c.opt (lang-objc): Remove.
8007         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
8009 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
8011         * c-opts.c: Include "tm_p.h".
8013 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
8015         * c-common.c (parse_optimize_options): Update call to
8016         decode_options.
8018 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
8020         * c-common.c (record_types_used_by_current_var_decl): Adjust for
8021         new type of types_used_by_cur_var_decl.
8023 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
8025         PR bootstrap/44512
8026         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
8027         for C++ standard compliance.
8029 2010-06-16  Jason Merrill  <jason@redhat.com>
8031         * c.opt: Add -Wnoexcept.
8033 2010-06-16  Richard Guenther  <rguenther@suse.de>
8035         PR c/44555
8036         * c-common.c (c_common_truthvalue_conversion): Remove
8037         premature and wrong optimization concering ADDR_EXPRs.
8039 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
8041         * c-ada-spec.c (dump_sloc): Remove column info.
8042         (is_simple_enum): New function.
8043         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
8044         enum types when relevant.
8046 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8048         * c-common.c (conversion_warning): Warn at expression
8049         location.
8051 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
8053         * c-opts.c (c_common_handle_option): Don't handle
8054         OPT_fshow_column.
8056 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
8058         * c-pragma.c (push_alignment): Use typed GC allocation.
8059         (handle_pragma_push_options): Likewise.
8061         * c-common.c (parse_optimize_options): Likewise.
8063         * c-common.h (struct sorted_fields_type): Add variable_size GTY
8064         option.
8066 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
8068         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
8069         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8070         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8071         flag_signed_bitfields, warn_strict_null_sentinel,
8072         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8073         flag_gen_declaration, flag_no_gnu_keywords,
8074         flag_implement_inlines, flag_implicit_templates,
8075         flag_implicit_inline_templates, flag_optional_diags,
8076         flag_elide_constructors, flag_default_inline, flag_rtti,
8077         flag_conserve_space, flag_access_control, flag_check_new,
8078         flag_new_for_scope, flag_weak, flag_working_directory,
8079         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8080         flag_enforce_eh_specs, flag_threadsafe_statics,
8081         flag_pretty_templates): Remove.
8082         * c-common.h (flag_preprocess_only, flag_nil_receivers,
8083         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8084         flag_replace_objc_classes, flag_undef, flag_no_builtin,
8085         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8086         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8087         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8088         flag_no_gnu_keywords, flag_implement_inlines,
8089         flag_implicit_templates, flag_implicit_inline_templates,
8090         flag_optional_diags, flag_elide_constructors, flag_default_inline,
8091         flag_rtti, flag_conserve_space, flag_access_control,
8092         flag_check_new, flag_new_for_scope, flag_weak,
8093         flag_working_directory, flag_use_cxa_atexit,
8094         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8095         flag_threadsafe_statics, flag_pretty_templates,
8096         warn_strict_null_sentinel): Remove.
8097         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8098         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8099         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8100         fimplicit-inline-templates, fimplicit-templates,
8101         flax-vector-conversions, fms-extensions, fnil-receivers,
8102         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8103         frtti, fshort-double, fshort-enums, fshort-wchar,
8104         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8105         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8106         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8107         gen-decls, undef): Use Var.
8108         (fdefault-inline, foptional-diags): Document as doing nothing.
8109         * c-opts.c (c_common_handle_option): Remove cases for options now
8110         using Var.  Mark ignored options as such.
8112 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
8114         * c-common.c: Moved to here from parent directory.
8115         * c-common.def: Likewise.
8116         * c-common.h: Likewise.
8117         * c-cppbuiltin.c: Likewise.
8118         * c-dump.c: Likewise.
8119         * c-format.c: Likewise.
8120         * c-format.h : Likewise.
8121         * c-gimplify.c: Likewise.
8122         * c-lex.c: Likewise.
8123         * c-omp.c: Likewise.
8124         * c.opt: Likewise.
8125         * c-opts.c: Likewise.
8126         * c-pch.c: Likewise.
8127         * c-ppoutput.c: Likewise.
8128         * c-pragma.c: Likewise.
8129         * c-pragma.h: Likewise.
8130         * c-pretty-print.c: Likewise.
8131         * c-pretty-print.h: Likewise.
8132         * c-semantics.c: Likewise.
8133         * stub-objc.c: Likewise.
8135         * c-common.c: Include gt-c-family-c-common.h.
8136         * c-pragma.c: Include gt-c-family-c-pragma.h.
8138 Copyright (C) 2010-2017 Free Software Foundation, Inc.
8140 Copying and distribution of this file, with or without modification,
8141 are permitted in any medium without royalty provided the copyright
8142 notice and this notice are preserved.