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