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