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