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