2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
[official-gcc.git] / gcc / c-family / ChangeLog
blobfef201b799bc15d86e29c5f7b4418da8983121ba
1 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3         Implement SD-6: SG10 Feature Test Recommendations
4         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5         macros and the __has_header macro.
7 2014-09-30  Jason Merrill  <jason@redhat.com>
9         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
10         RID_IS_TRIVIALLY_CONSTRUCTIBLE.
11         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
13         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
14         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
16         * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
17         * c-common.c (c_common_reswords): Remove __is_convertible_to.
19 2014-09-24  Marek Polacek  <polacek@redhat.com>
21         PR c/61405
22         PR c/53874
23         * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
25 2014-09-23  Andi Kleen  <ak@linux.intel.com>
27         * c-common.c (handle_no_reorder_attribute): New function.
28         (c_common_attribute_table): Add no_reorder attribute.
30 2014-09-22  Joseph Myers  <joseph@codesourcery.com>
32         * c-cppbuiltin.c (c_cpp_builtins): Define
33         __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
34         modes.
36 2014-09-18  Joseph Myers  <joseph@codesourcery.com>
38         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
39         for supported floating-point modes.
41 2014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
43         * c.opt (Wpsabi): Use LangEnabledBy.
44         * c-opts.c (c_common_handle_option): Do not handle here.
46 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
48         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
49         macros for floating-point modes.
51 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
53         PR target/58757
54         * c-cppbuiltin.c (builtin_define_float_constants): Correct
55         __*_DENORM_MIN__ without denormals.
57 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
59         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
60         ubsan_instrument_vla, ubsan_instrument_return): Adjust
61         ubsan_create_data callers.
62         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
63         index is constant or BIT_AND_EXPR with constant mask and is
64         small enough for the bound.
65         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
66         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
68 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
70         * c.opt: Add CppReason to various flags.
71         (Wdate-time): Re-sort.
72         * c-common.c: Include c-common.h earlier.
73         (struct reason_option_codes_t): Delete.
74         (c_option_controlling_cpp_error): Prefix global type and struct
75         with cpp_.
77 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
79         * c.opt (Wnormalized): New.
80         (Wnormalized=): Use Enum and Reject Negative.
81         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
83 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
85         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
86         digits of floating-point modes if -fbuilding-libgcc.
88 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
90         * c-cppbuiltin.c (c_cpp_builtins): Also define
91         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
92         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
93         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
94         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
95         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
96         __LIBGCC_STACK_GROWS_DOWNWARD__,
97         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
98         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
99         __LIBGCC_DWARF_FRAME_REGISTERS__,
100         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
101         __LIBGCC_STACK_POINTER_REGNUM__ and
102         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
103         (builtin_define_with_value): Handle backslash-escaping in string
104         macro values.
106 2014-09-05  Richard Biener  <rguenther@suse.de>
108         PR middle-end/63148
109         * c-format.c (check_format_arg): Properly handle
110         effectively signed POINTER_PLUS_EXPR offset.
112 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
114         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
115         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
116         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
117         and Init.
118         * c-opts.c (c_common_handle_option): Do not handle here.
119         (sanitize_cpp_opts): Likewise.
120         * c-common.c (struct reason_option_codes_t): Handle
121         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
123 2014-09-03  Marek Polacek  <polacek@redhat.com>
125         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
127 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
128             Balaji V. Iyer  <balaji.v.iyer@intel.com>
129             Igor Zamyatin  <igor.zamyatin@intel.com>
131         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
132         * c-common.c (c_common_reswords): Added _Cilk_for.
133         * c-common.h (enum rid): Added RID_CILK_FOR.
134         (cilk_for_number_of_iterations): Add declaration.
135         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
136         CILK_FOR.
137         * c-pragma.c (init_pragma): Register "grainsize" pragma.
138         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
140 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
142         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
143         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
144         Wundef): Use CPP, Var and Init.
145         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
147 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
149         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
150         * c-opts.c (c_common_handle_option): Do not handle here.
152 2014-08-25  Jason Merrill  <jason@redhat.com>
154         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
155         -std=c++14 and -std=gnu++14, rather than the reverse.
156         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
157         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
158         * c-common.h (cxx_dialect): Remove cxx1y.
160 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
162         * c-common.h (enum cxx_dialect): Add cxx14.
163         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
164         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
165         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
167 2014-08-22  Jason Merrill  <jason@redhat.com>
169         * c.opt (std=gnu++17): Fix alias.
171 2014-08-22  Marek Polacek  <polacek@redhat.com>
173         PR c++/62199
174         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
175         check for vector types.  Drop LHS argument.
176         * c-common.h (warn_logical_not_parentheses): Adjust.
178 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
180         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
181         (Wmultichar): Likewise.
182         (Wdate-time): Use C-family languages instead of Common. Use CPP
183         and Var.
184         * c-opts.c (c_common_handle_option): Do not handle the above
185         options here.
186         (sanitize_cpp_opts): Likewise.
188 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
190         PR fortran/44054
191         * c-opts.c: Include tree-diagnostics.h.
192         (c_diagnostic_finalizer): New.
193         (c_common_initialize_diagnostics): Use it.
195 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
197         PR preprocessor/51303
198         * c-common.c (struct reason_option_codes_t option_codes):
199         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
201 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
203         PR c/60975
204         PR c/53063
205         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
206         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
207         (c_common_post_options): Call init_global_opts_from_cpp.
208         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
210 2014-08-19  Marek Polacek  <polacek@redhat.com>
212         PR c++/62153
213         * c-common.c (maybe_warn_bool_compare): New function.
214         * c-common.h (maybe_warn_bool_compare): Declare.
215         * c.opt (Wbool-compare): New option.
217 2014-08-19  Marek Polacek  <polacek@redhat.com>
219         * c.opt (Wc99-c11-compat): New option.
221 2014-08-19  Marek Polacek  <polacek@redhat.com>
223         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
224         to warn_c90_c99_compat.
225         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
226         to -1.
228 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
229             Steven Bosscher  <steven@gcc.gnu.org>
231         PR c/52952
232         * c-format.c: Add extra_arg_loc and format_string_loc to struct
233         format_check_results.
234         (check_function_format): Use true and add comment for boolean
235         argument.
236         (finish_dollar_format_checking): Use explicit location when warning.
237         (check_format_info): Likewise.
238         (check_format_arg): Set extra_arg_loc and format_string_loc.
239         (check_format_info_main): Use explicit location when warning.
240         (check_format_types): Pass explicit location.
241         (format_type_warning): Likewise.
243 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
245         PR fortran/44054
246         * c-format.c: Handle Fortran flags.
248 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
250         PR other/61962
251         * array-notation-common.c (find_rank): Added handling for other
252         types of references.
254 2014-08-10  Marek Polacek  <polacek@redhat.com>
256         PR c/51849
257         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
258         * c.opt (Wc90-c99-compat): Add option.
260 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
262         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
264 2014-08-03  Marek Polacek  <polacek@redhat.com>
266         * c-common.c (check_case_value):  Add location_t parameter.  Use it.
267         (c_add_case_label): Pass loc to check_case_value.
269 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
271         * cilk.c: Use hash_map instead of pointer_map.
273 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
275         * c-gimplify.c: Use hash_set instead of pointer_set.
277 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
279         PR middle-end/61455
280         * array-notation-common.c (extract_array_notation_exprs): Handling
281         of DECL_EXPR added.
283 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
285         * c-common.h (min_align_of_type): Removed prototype.
286         * c-common.c (min_align_of_type): Removed.
287         * c-ubsan.h (ubsan_maybe_instrument_reference,
288         ubsan_maybe_instrument_member_call): New prototypes.
289         * c-ubsan.c: Include stor-layout.h and builtins.h.
290         (ubsan_maybe_instrument_reference_or_call,
291         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
292         functions.
294 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
296         PR c++/60517
297         * c.opt (-Wreturn-local-addr): Move to common.opt.
299 2014-07-30  Jason Merrill  <jason@redhat.com>
301         PR c++/61659
302         PR c++/61687
303         Revert:
304         * c.opt (-fuse-all-virtuals): New.
306 2014-07-30  Tom Tromey  <tromey@redhat.com>
308         PR c/59855
309         * c.opt (Wdesignated-init): New option.
310         * c-common.c (c_common_attribute_table): Add "designated_init".
311         (handle_designated_init): New function.
313 2014-07-24  Marek Polacek  <polacek@redhat.com>
315         PR c/57653
316         * c-opts.c (c_finish_options): If -imacros is in effect, return.
318 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
320         PR preprocessor/60723 - missing system-ness marks for macro tokens
321         * c-ppoutput.c (struct print::prev_was_system_token): New data
322         member.
323         (init_pp_output): Initialize it.
324         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
325         (do_line_change): Return a flag saying if a line marker was
326         emitted or not.
327         (scan_translation_unit): Detect if the system-ness of the token we
328         are about to emit is different from the one of the previously
329         emitted token.  If so, emit a line marker.  Avoid emitting useless
330         adjacent line markers.  Avoid emitting line markers for tokens
331         originating from the expansion of built-in macros.
332         (scan_translation_unit_directives_only): Adjust.
334 2014-07-15  Marek Polacek  <polacek@redhat.com>
336         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
337         TYPE_MAX_VALUE is NULL.
339 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
341         PR middle-end/61294
342         * c.opt (Wmemset-transposed-args): New warning.
344 2014-07-10  Jason Merrill  <jason@redhat.com>
346         PR c++/61659
347         PR c++/61687
348         * c.opt (-fuse-all-virtuals): New.
350 2014-07-09  Richard Biener  <rguenther@suse.de>
352         PR c-family/61741
353         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
354         using unsigned arithmetic if overflow does not wrap instead of
355         if overflow is undefined.
357 2014-07-06  Marek Polacek  <polacek@redhat.com>
359         PR c/6940
360         * c.opt (Wsizeof-array-argument): New option.
362 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
364         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 
365         comments->count <= 1, as comments->entries might be NULL.
367 2014-07-01  Marek Polacek  <polacek@redhat.com>
369         * c.opt (Wint-conversion): New option.
371 2014-07-01  Marek Polacek  <polacek@redhat.com>
373         PR c/58286
374         * c.opt (Wincompatible-pointer-types): New option.
376 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
378         PR c++/51400
379         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
380         Do not discard TYPE_QUALS of type.
382 2014-06-26  Jason Merrill  <jason@redhat.com>
384         * c-common.h (enum cxx_dialect): Add cxx1z.
385         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
386         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
388 2014-06-26  Teresa Johnson  <tejohnson@google.com>
390         * c-common.h (get_dump_info): Declare.
391         * c-gimplify.c (c_genericize): Use saved dump files.
392         * c-opts.c (c_common_parse_file): Begin and end dumps
393         once around parsing invocation.
394         (get_dump_info): New function.
396 2014-06-23  Marek Polacek  <polacek@redhat.com>
397             Andrew MacLeod  <amacleod@redhat.com>
399         PR c/61553
400         * c-common.c (get_atomic_generic_size): Don't segfault if the
401         type doesn't have a size.
403 2014-06-20  Marek Polacek  <polacek@redhat.com>
405         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
406         (ubsan_walk_array_refs_r): New function.
407         (c_genericize): Instrument array bounds.
408         * c-ubsan.c: Include "internal-fn.h".
409         (ubsan_instrument_division): Mark instrumented arrays as having
410         side effects.  Adjust ubsan_type_descriptor call.
411         (ubsan_instrument_shift): Likewise.
412         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
413         (ubsan_instrument_bounds): New function.
414         (ubsan_array_ref_instrumented_p): New function.
415         (ubsan_maybe_instrument_array_ref): New function.
416         * c-ubsan.h (ubsan_instrument_bounds): Declare.
417         (ubsan_array_ref_instrumented_p): Declare.
418         (ubsan_maybe_instrument_array_ref): Declare.
420 2014-06-20  Hale Wang  <hale.wang@arm.com>
422         PR lto/61123
423         * c.opt (fshort-enums): Add to LTO.
424         * c.opt (fshort-wchar): Likewise.
426 2014-06-16  Marek Polacek  <polacek@redhat.com>
428         PR c/60439
429         * c.opt (Wswitch-bool): Add Var.
431 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
433         PR middle-end/61486
434         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
435         #pragma omp target teams or
436         #pragma omp {,target }teams distribute simd.
438 2014-06-12  Jason Merrill  <jason@redhat.com>
440         * c.opt (Wabi=, fabi-compat-version): New.
441         * c-opts.c (c_common_handle_option): Handle -Wabi=.
442         (c_common_post_options): Handle flag_abi_compat_version default.
443         Disallow -fabi-compat-version=1.
444         * c-common.h (abi_version_crosses): New.
446 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
448         * c-family/c-common.c (handle_section_attribute): Update handling for
449         section names that are no longer trees.
451 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
453         PR fortran/60928
454         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
455         (omp_pragmas): ... back here.
457 2014-06-05  Marek Polacek  <polacek@redhat.com>
459         PR c/49706
460         * c-common.c (warn_logical_not_parentheses): New function.
461         * c-common.h (warn_logical_not_parentheses): Declare.
462         * c.opt (Wlogical-not-parentheses): New option.
464 2014-06-04  Marek Polacek  <polacek@redhat.com>
466         PR c/30020
467         * c-common.c (check_case_bounds): Add location parameter.
468         Use it.
469         (c_add_case_label): Pass loc to check_case_bounds.
471 2014-06-03  Marek Polacek  <polacek@redhat.com>
473         PR c/60439
474         * c.opt (Wswitch-bool): New option.
476 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
478         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
479         Remove prototypes.
480         (record_types_used_by_current_var_decl): Move prototype to where
481         it belongs.
483         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
484         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
485         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
487 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
489         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
490         * c-common.c (c_common_nodes_and_builtins): Don't initialize
491         void_zero_node.
492         * c-pretty-print.c (pp_c_void_constant): New function.
493         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
494         (c_pretty_printer::expression): Handle VOID_CST.
495         * cilk.c (extract_free_variables): Likewise.
496         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
497         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
499 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
501         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
502         * c-pragma.c (push_alignment): Adjust.
503         (handle_pragma_push_options): Likewise.
505 2014-05-09  Marek Polacek  <polacek@redhat.com>
507         PR c/50459
508         * c-common.c (check_user_alignment): Return -1 if alignment is error
509         node.
510         (handle_aligned_attribute): Don't call default_conversion on
511         FUNCTION_DECLs.
512         (handle_vector_size_attribute): Likewise.
513         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
514         (handle_sentinel_attribute): Call default_conversion and allow even
515         integral types as an argument.
517 2014-05-08  Marek Polacek  <polacek@redhat.com>
519         PR c/61053
520         * c-common.c (min_align_of_type): New function factored out from...
521         (c_sizeof_or_alignof_type): ...here.
522         * c-common.h (min_align_of_type): Declare.
524 2014-05-08  Marek Polacek  <polacek@redhat.com>
526         PR c/61077
527         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
528         parameter type of main.
530 2014-05-07  DJ Delorie  <dj@redhat.com>
532         * c-cppbuiltin.c (print_bits_of_hex): New.
533         (builtin_define_type_minmax): Print values using hex so as not to
534         require a pre-computed list of string values.
536 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
537             Mike Stump  <mikestump@comcast.net>
538             Richard Sandiford  <rdsandiford@googlemail.com>
540         * c-ada-spec.c: Include wide-int.h.
541         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
542         (dump_generic_ada_node): Use wide-int interfaces.
543         * c-common.c: Include wide-int-print.h.
544         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
545         (pointer_int_sum): Use wide-int interfaces.
546         (c_common_nodes_and_builtins): Use make_int_cst.
547         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
548         (handle_alloc_size_attribute): Use wide-int interfaces.
549         (get_nonnull_operand): Likewise.
550         * c-format.c (get_constant): Use tree_fits_uhwi_p.
551         * c-lex.c: Include wide-int.h.
552         (narrowest_unsigned_type): Take a widest_int rather than two
553         HOST_WIDE_INTs.
554         (narrowest_signed_type): Likewise.
555         (interpret_integer): Update accordingly.  Use wide-int interfaces.
556         (lex_charconst): Use wide-int interfaces.
557         * c-pretty-print.c: Include wide-int.h.
558         (pp_c_integer_constant): Use wide-int interfaces.
559         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
560         INT_CST_LT_UNSIGNED.
562 2014-05-06  Richard Biener  <rguenther@suse.de>
564         * c-opts.c (c_common_post_options): For -freestanding,
565         -fno-hosted and -fno-builtin disable pattern recognition
566         if not enabled explicitely.
568 2014-05-02  Marek Polacek  <polacek@redhat.com>
570         * c.opt (Wsizeof-pointer-memaccess): Describe option.
572 2014-05-01  Marek Polacek  <polacek@redhat.com>
574         PR c/43245
575         * c.opt (Wdiscarded-qualifiers): Add.
577 2014-04-30  Marek Polacek  <polacek@redhat.com>
579         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
580         INT_MIN / -1 sanitization only for integer types.
582 2014-04-25  Marek Polacek  <polacek@redhat.com>
584         PR c/18079
585         * c-common.c (handle_noinline_attribute): Warn if the attribute
586         conflicts with always_inline attribute.
587         (handle_always_inline_attribute): Warn if the attribute conflicts
588         with noinline attribute.
590 2014-04-25  Marek Polacek  <polacek@redhat.com>
592         PR c/60156
593         * c-common.c (check_main_parameter_types): Warn about variadic main.
595 2014-04-24  Mike Stump  <mikestump@comcast.net>
597         * c.opt (Wshadow-ivar): Default to on.
599 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
601         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
603 2014-04-23  Marek Polacek  <polacek@redhat.com>
605         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
607 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
609         PR sanitizer/60275
610         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
611         if flag_sanitize_undefined_trap_on_error.
612         (ubsan_instrument_division, ubsan_instrument_shift,
613         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
614         if !flag_sanitize_recover.
616 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
618         PR libstdc++/43622
619         * c-common.c (registered_builtin_types): Make non-static.
620         * c-common.h (registered_builtin_types): Declare.
622 2014-04-14  Richard Biener  <rguenther@suse.de>
623         Marc Glisse  <marc.glisse@inria.fr>
625         PR c/60819
626         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
627         apply may-alias the scalar pointer type when applicable.
629 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
631         PR middle-end/60467
632         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
633         as possible argument for Cilk_spawn.
635 2014-04-11  Tobias Burnus  <burnus@net-b.de>
637         PR c/60194
638         * c.opt (Wformat-signedness): Add
639         * c-format.c(check_format_types): Use it.
641 2014-04-11  Jason Merrill  <jason@redhat.com>
643         PR c++/57926
644         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
645         default_conversion for an array argument.
647 2014-04-08  Marek Polacek  <polacek@redhat.com>
649         PR sanitizer/60745
650         * c-ubsan.c: Include asan.h.
651         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
653 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
655         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
657 2014-04-02  Marek Polacek  <polacek@redhat.com>
659         * c-common.h (c_expand_expr): Remove declaration.
661 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
663         PR c++/60689
664         * c-common.c (add_atomic_size_parameter): When creating new
665         params vector, push the size argument first.
667 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
669         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
670         ubsan_instrument_vla, ubsan_instrument_return): Adjust
671         ubsan_create_data callers.
673 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
675         PR debug/60603
676         * c-opts.c (c_finish_options): Restore cb_file_change call to
677         <built-in>.
679 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
681         PR middle-end/36282
682         * c-pragma.c (apply_pragma_weak): Only look at
683         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
684         DECL_ASSEMBLER_NAME_SET_P (decl).
685         (maybe_apply_pending_pragma_weaks): Exit early if
686         vec_safe_is_empty (pending_weaks) rather than only when
687         !pending_weaks.
688         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
689         set assembler name back to NULL afterwards.
691 2014-03-11  Jason Merrill  <jason@redhat.com>
693         * c.opt: Add -std=gnu++14.
695 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
697         * c-opts.c (c_common_post_options): Don't override
698         -ffp-contract=fast if unsafe-math-optimizations is on.
700 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
702     * c.opt: Enable LTO FE for fshort-double.
704 2014-03-07  Jason Merrill  <jason@redhat.com>
706         * c.opt: Add -std=c++14.
708 2014-03-06  Marek Polacek  <polacek@redhat.com>
710         PR c/60197
711         * cilk.c (contains_cilk_spawn_stmt): New function.
712         (contains_cilk_spawn_stmt_walker): Likewise.
713         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
714         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
716 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
718         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
719         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
720         even when flag_preprocess_only.
722 2014-02-26  Jason Merrill  <jason@redhat.com>
724         PR c++/59231
725         PR c++/11586
726         * c-common.c (shorten_compare): Don't check
727         c_inhibit_evaluation_warnings.
729 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
731         PR c/37743
732         * c-common.c (c_common_nodes_and_builtins): When initializing
733         c_uint{16,32,64}_type_node, also set corresponding
734         uint{16,32,64}_type_node to the same value.
736         PR c++/60267
737         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
738         for PRAGMA_IVDEP if flag_preprocess_only.
740 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
742         PR c/60101
743         * c-common.c (merge_tlist): If copy is true, call new_tlist,
744         if false, add ADD itself, rather than vice versa.
745         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
746         copy.  For SAVE_EXPR, only call merge_tlist once.
748 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
750         PR middle-end/60092
751         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
752         and tree_to_uhwi.
753         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
754         functions.
755         (c_common_attribute_table): Add alloc_align and assume_aligned
756         attributes.
758 2014-02-06  Marek Polacek  <polacek@redhat.com>
760         PR c/60087
761         * c-common.c (warn_for_sign_compare): Call warning_at with location
762         instead of warning.
764 2014-02-05  Marek Polacek  <polacek@redhat.com>
766         PR c/53123
767         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
768         statement.
770 2014-02-04  Marek Polacek  <polacek@redhat.com>
772         PR c/60036
773         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
774         SAVE_EXPR.
776 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
778         PR c++/53017
779         PR c++/59211
780         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
781         handle_vector_size_attribute, handle_nonnull_attribute): Call
782         default_conversion on the attribute argument.
783         (handle_nonnull_attribute): Increment the argument number.
785 2014-01-31  Marek Polacek  <polacek@redhat.com>
787         PR c/59963
788         * c-common.c (add_atomic_size_parameter): Pass vNULL to
789         build_function_call_vec.
790         (resolve_overloaded_builtin): Likewise.
791         * c-common.h (build_function_call_vec): Adjust declaration.
793 2014-01-30  Marek Polacek  <polacek@redhat.com>
795         PR c/59940
796         * c-common.h (unsafe_conversion_p): Adjust declaration.
797         (warnings_for_convert_and_check): Likewise.
798         (convert_and_check): Likewise.
799         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
800         expansion_point_location_if_in_system_header on it.
801         (warnings_for_convert_and_check): Add location parameter.  Call
802         expansion_point_location_if_in_system_header on it.  Use it.
803         (convert_and_check): Add location parameter.  Use it.
804         (conversion_warning): Likewise.
805         (c_add_case_label): Adjust convert_and_check calls.
806         (scalar_to_vector): Adjust unsafe_conversion_p calls.
808 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
810         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
811         flag_cilkplus.
812         * c-pragma.c (init_pragma): Likewise.
813         * c.opt: Likewise.
815 2014-01-23  Marek Polacek  <polacek@redhat.com>
817         PR c/59846
818         * c-common.c (shorten_compare): Add location_t parameter.
819         * c-common.h (shorten_binary_op): Adjust declaration.
821 2014-01-23  Marek Polacek  <polacek@redhat.com>
823         PR c/58346
824         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
825         * c-common.h: Declare it.
827 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
829         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
830         * c-ada-spec.c (dump_ads): Likewise.
831         (cpp_check): Likewise.
832         (dump_ada_specs): Likewise.
834 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
836         PR c++/49718
837         * c-common.c (handle_no_instrument_function_attribute): Allow
838         no_instrument_function attribute in class member
839         definition/declaration.
841 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
843         PR c/58943
844         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
845         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
846         being COMPOUND_EXPR.
847         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
848         operand a SAVE_EXPR and second MODIFY_EXPR.
850 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
852         PR target/58115
853         * c-pch.c (c_common_write_pch): Call
854         prepare_target_option_nodes_for_pch.
856 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
858         Update copyright years
860 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
862         * array-notation-common.c, c-cilkplus.c: Use the standard form for
863         the copyright notice.
865 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
867         * c-ada-spec.c (print_constructor): New function.
868         (print_destructor): Retrieve the origin of the destructor.
869         (print_ada_declaration): Revamp handling of constructors/destructors.
871 2013-12-23  Stuart Hastings <stuart@apple.com>
872             Bill Maddox  <maddox@google.com>
873             Jason Merrill  <jason@redhat.com>
875         * c.opt: Add -fdeclone-ctor-dtor.
876         * c-opts.c (c_common_post_options): Default to on iff -Os.
878 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
880         * c-common.c (c_common_attribute_table): Added "cilk simd function"
881         attribute.
882         * c-pragma.h (enum pragma_cilk_clause): Remove.
883         (enum pragma_omp_clause):  Added the following fields:
884         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
885         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
886         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
887         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
888         PRAGMA_CILK_CLAUSE_UNIFORM.
890         
891 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
893         * cilk.c (cilk_outline): Made this function non-static.
894         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
895         (create_cilk_wrapper): Added a new parameter: a function pointer.
896         (c_install_body_w_frame_cleanup): Remove
897         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
898         * c-common.h (cilk_outline): New prototype.
899         (gimplify_cilk_spawn): Removed two parameters.
900         (cilk_install_body_with_frame_cleanup): New prototype.
901         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
902         CILK_SPAWN_STMT case.
904 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
906         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
908         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
909         (int_array_type_node): Remove.
910         * c-common.c (c_common_nodes_and_builtins): Don't build it.
912 2013-12-05  Marek Polacek  <polacek@redhat.com>
914         PR c/52023
915         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
916         [ADJUST_FIELD_ALIGN].
918 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
920         PR c/52023
921         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
922         and check field alignment if set.
923         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
924         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
926 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
927             Marek Polacek  <polacek@redhat.com>
929         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
930         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
932 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
934         PR c/59309
935         * cilk.c (gimplify_cilk_spawn): Properly handle function without
936         arguments.
938 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
940         PR c/59280
941         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
942         goto invalid.  If it is error_mark_node, don't issue further
943         diagnostics.
945 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
947         * c.opt (Wopenmp-simd): New.
949 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
951         * c-ubsan.h (ubsan_instrument_return): New prototype.
952         * c-ubsan.c (ubsan_instrument_return): New function.
954 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
956         * c-common.c: Add required include files from gimple.h.
957         * c-gimplify.c: Likewise
958         * cilk.c: Likewise
960 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
962         * c-common.c (unsafe_conversion_p): Remove use of
963         EXPR_LOC_OR_HERE macro.
964         (conversion_warning): Likewise.
965         (warnings_for_convert_and_check): Likewise.
966         (warn_for_collisions_1): Likewise.
967         (shorten_compare): Likewise, and remove use of in_system_header
968         macro, using the location from the former.
969         * c-lex.c (dump_one_header): Remove use of input_filename macro.
970         (cb_def_pragma): Remove use of in_system_header macro.
971         (lex_string): Likewise.
972         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
974 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
975             Mike Stump  <mikestump@comcast.net>
976             Richard Sandiford  <rdsandiford@googlemail.com>
978         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
979         instead of TREE_INT_CST_LOW, in cases where there is a protecting
980         tree_fits_shwi_p or tree_fits_uhwi_p.
981         (dump_generic_ada_node): Likewise.
982         * c-format.c (check_format_arg): Likewise.
983         * c-pretty-print.c (pp_c_integer_constant): Likewise.
985 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
987         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
989 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
991         PR c/53001
992         * c-common.c (unsafe_conversion_p): Make this function
993         return an enumeration with more detail.
994         (conversion_warning): Use the new return type of
995         unsafe_conversion_p to separately warn either about conversions
996         that lower floating point number precision or about the other
997         kinds of conversions.
998         * c-common.h (enum conversion_safety): New enumeration.
999         (unsafe_conversion_p): switching return type to
1000         conversion_safety enumeration.
1001         * c.opt: Adding new warning -Wfloat-conversion and
1002         enabling it with -Wconversion.
1004 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
1006         * c-opts.c: Include plugin.h.
1007         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1009 2013-11-19  Marek Polacek  <polacek@redhat.com>
1011         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1012         call.
1013         (ubsan_instrument_shift): Likewise.
1014         (ubsan_instrument_vla): Likewise.
1016 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1018         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1019         cast to unsigned type.
1021 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1023         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1024         tree_low_cst.
1025         (complete_array_type): Update comment to refer to tree_to_[su]hwi
1026         rather than tree_low_cst.
1028 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1030         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1031         tree_to_uhwi throughout.
1033 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1035         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1036         tree_low_cst (..., 0) with tree_to_shwi throughout.
1038 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1040         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1041         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1043 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1045         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1046         host_integerp (..., 0) with tree_fits_shwi_p throughout.
1048 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
1050         * c-cilkplus.c: New file.
1051         * c-common.c (readonly_error): Add location argument.
1052         * c-common.h (readonly_error): Same.
1053         (c_finish_cilk_clauses): Protoize.
1054         (c_check_cilk_loop): Same.
1055         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1056         Do not fail on error_mark_node.
1057         Abstract increment canonicalization to here...
1058         (c_omp_for_incr_canonicalize_ptr): New.
1059         c-pragma.c (init_pragma): Register "simd" pragma.
1060         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1061         (enum pragma_cilk_clause): New.
1063 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
1065         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1066         wchar_type and host_integerp checks.
1068 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
1070         * c-common.c: Likewise.
1071         * c-gimplify.c: Likewise.
1072         * cilk.c: Likewise.
1074 2013-11-14  Diego Novillo  <dnovillo@google.com>
1076         * c-common.c: Include fold-const.h.
1077         Include stor-layout.h.
1078         Include calls.h.
1079         Include stringpool.h.
1080         Include attribs.h.
1081         Include varasm.h.
1082         Include trans-mem.h.
1083         * c-cppbuiltin.c: Include stor-layout.h.
1084         Include stringpool.h.
1085         * c-format.c: Include stringpool.h.
1086         * c-lex.c: Include stringpool.h.
1087         Include stor-layout.h.
1088         * c-pragma.c: Include stringpool.h.
1089         Include attribs.h.
1090         Include varasm.h.
1091         Include gcc-symtab.h.
1092         * c-pretty-print.c: Include stor-layout.h.
1093         Include attribs.h.
1094         * cilk.c: Include stringpool.h.
1095         Include calls.h.
1097 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
1099         * c-common.h (enum rid): Add RID_AUTO_TYPE.
1100         * c-common.c (c_common_reswords): Add __auto_type.
1101         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1103 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
1105         * c-common.c: Include gimplify.h.
1106         * c-gimplify.c: Likewise.
1107         * cilk.c: Likewise.
1108         * c-omp.c: Include gimple-expr.h instead of gimple.h.
1109         * c-ubsan.c: Don't include gimple.h.
1111 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
1113         * c-common.c (c_common_reswords): Add _Thread_local.
1115 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
1117         * c-common.c (atomic_size_supported_p): New function.
1118         (resolve_overloaded_atomic_exchange)
1119         (resolve_overloaded_atomic_compare_exchange)
1120         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1121         Use it instead of comparing size with a local list of sizes.
1123 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
1124             Joseph Myers  <joseph@codesourcery.com>
1126         * c-common.h (enum rid): Add RID_ATOMIC.
1127         * c-common.c (c_common_reswords): Add _Atomic.
1128         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1129         (keyword_is_type_qualifier): Accept RID_ATOMIC.
1130         * c-format.c (check_format_types): Check for extra _Atomic
1131         qualifiers in format argument.
1132         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1133         (pp_c_type_qualifier_list): Mention _Atomic in comment.
1135 2013-11-06  Tobias Burnus  <burnus@net-b.de>
1137         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1139 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
1141         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1142         standards modes.
1143         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1144         to mean lack of IEEE 754 support.
1146 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1148         * c.opt (-Wdate-time): New option
1149         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1151 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
1153         * c-cppbuiltin.c (cpp_iec_559_value): Test
1154         flag_excess_precision_cmdline not flag_excess_precision.
1156 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1158         * c.opt (fopenmp-simd): New option.
1159         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1160         (omp_pragmas): ... this new struct.
1161         (c_pp_lookup_pragma): Also walk omp_pragmas.
1162         (init_pragma): Init pragmas for -fopenmp-simd.
1164 2013-11-04  Marek Polacek  <polacek@redhat.com>
1166         PR c++/58979
1167         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1169 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
1171         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1172         New functions.
1173         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1175 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1177         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1178         (dump_ada_specs): Adjust prototype of second callback.
1179         * c-ada-spec.c (cpp_check): New global variable.
1180         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1181         (print_generic_ada_decl): Likewise.
1182         (has_static_fields): Change return type to bool and add guard.
1183         (has_nontrivial_methods): New predicate.
1184         (is_tagged_type): Change return type to bool.
1185         (separate_class_package): Call has_nontrivial_methods.
1186         (pp_ada_tree_identifier): Minor tweaks.
1187         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1188         (dump_ada_array_domains): Likewise.
1189         (dump_ada_array_type): Likewise.
1190         (dump_template_types): Remove cpp_check parameter and do not pass it to
1191         dump_generic_ada_node.
1192         (dump_ada_template): Likewise.
1193         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1194         recursively.
1195         (print_ada_methods): Change return type to integer.  Remove cpp_check
1196         parameter and do not pass it down.
1197         (dump_nested_types): Remove cpp_check parameter and do not pass it to
1198         dump_generic_ada_node.
1199         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
1200         accessing methods.
1201         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1202         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
1203         value of print_ada_methods.
1204         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1205         Set cpp_check to it before invoking dump_ada_nodes.
1206         (dump_ada_specs): Likewise.
1208 2013-11-03  Marek Polacek  <polacek@redhat.com>
1210         * c-ubsan.c: Don't include hash-table.h.
1211         (ubsan_instrument_vla): New function.
1212         * c-ubsan.h: Declare it.
1214 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
1216         Automated part of renaming of symtab_node_base to symtab_node.
1218         Patch autogenerated by rename_symtab.py from
1219         https://github.com/davidmalcolm/gcc-refactoring-scripts
1220         revision 58bb219cc090b2f4516a9297d868c245495ee622
1222         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1223         symtab_node_base to symtab_node.
1225 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
1227         Implement C++14 digit separators.
1228         * c-lex.c (interpret_float): Remove digit separators from scratch string
1229         before building real literal.
1231 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
1233         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1235 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1237         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1238         fields.
1239         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1240         enabled.
1241         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1242         (insert_cilk_frame): New prototype.
1243         (cilk_init_builtins): Likewise.
1244         (gimplify_cilk_spawn): Likewise.
1245         (c_cilk_install_body_w_frame_cleanup): Likewise.
1246         (cilk_detect_spawn_and_unwrap): Likewise.
1247         (cilk_set_spawn_marker): Likewise.
1248         (build_cilk_sync): Likewise.
1249         (build_cilk_spawn): Likewise.
1250         * cilk.c: New file.
1252 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
1254         Patch autogenerated by refactor_symtab.py from
1255         https://github.com/davidmalcolm/gcc-refactoring-scripts
1256         revision 58bb219cc090b2f4516a9297d868c245495ee622
1258         * c-gimplify.c (c_genericize): Update for conversion of symtab types
1259         to a true class hierarchy.
1260         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1262 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
1264         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1266 2013-10-26  Jeff Law  <law@redhat.com>
1268         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1269         * c-family/c.opt: Ignore and warn for mudflap options.
1271 2013-10-24  Tobias Burnus  <burnus@net-b.de>
1273         PR other/33426
1274         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1275         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1277 2013-10-23  Jason Merrill  <jason@redhat.com>
1279         * c-format.c (gcc_cxxdiag_char_table): Add %X.
1281 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
1283         * c-common.h (omp_clause_mask::operator !=): New method.
1284         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1285         instead of if (mask & something) tests everywhere.
1287         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1288         201307 instead of 201107.
1289         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1290         (c_common_attribute_table): Add "omp declare target" and
1291         "omp declare simd" attributes.
1292         (handle_omp_declare_target_attribute,
1293         handle_omp_declare_simd_attribute): New functions.
1294         * c-omp.c: Include c-pragma.h.
1295         (c_finish_omp_taskgroup): New function.
1296         (c_finish_omp_atomic): Add swapped argument, if true,
1297         build the operation first with rhs, lhs arguments and use NOP_EXPR
1298         build_modify_expr.
1299         (c_finish_omp_for): Add code argument, pass it down to make_code.
1300         (c_omp_split_clauses): New function.
1301         (c_split_parallel_clauses): Removed.
1302         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1303         c_omp_declare_simd_clauses_to_decls): New functions.
1304         * c-common.h (omp_clause_mask): New type.
1305         (OMP_CLAUSE_MASK_1): Define.
1306         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1307         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1308         omp_clause_mask::operator |, omp_clause_mask::operator &,
1309         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1310         omp_clause_mask::operator ==): New methods.
1311         (enum c_omp_clause_split): New.
1312         (c_finish_omp_taskgroup): New prototype.
1313         (c_finish_omp_atomic): Add swapped argument.
1314         (c_finish_omp_for): Add code argument.
1315         (c_omp_split_clauses): New prototype.
1316         (c_split_parallel_clauses): Removed.
1317         (c_omp_declare_simd_clauses_to_numbers,
1318         c_omp_declare_simd_clauses_to_decls): New prototypes.
1319         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1320         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1321         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1322         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1323         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1324         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1325         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1326         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1327         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1328         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1329         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1330         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1331         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1332         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1333         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1334         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1335         PRAGMA_OMP_CLAUSE_UNIFORM.
1337 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
1339         PR tree-optimization/20318
1340         * c-common.c (handle_returns_nonnull_attribute): New function.
1341         (c_common_attribute_table): Add returns_nonnull.
1343 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
1345         PR c++/19476
1346         * c.opt (fcheck-new): Move to common.opt.
1348 2013-09-25  Marek Polacek  <polacek@redhat.com>
1349             Jakub Jelinek  <jakub@redhat.com>
1351         PR sanitizer/58413
1352         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1353         an expression if we can prove it is correct.
1354         (ubsan_instrument_division): Likewise.  Remove unnecessary
1355         check.
1357 2013-09-18  Marek Polacek  <polacek@redhat.com>
1359         PR sanitizer/58411
1360         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1361         Declare it.
1362         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1364 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
1366         PR target/48094
1367         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1368         fobjc-gc, freplace-objc-classes): Accept for LTO.
1370 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
1372         * c-target.def: New hook
1374 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1376         PR c++/43452
1377         * c.opt (Wdelete-incomplete): Add.
1379 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
1381         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1382         (vector_types_compatible_elements_p): New function.
1383         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1384         declaration.
1385         (vector_types_compatible_elements_p): Declare.
1387 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1389         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1390         a virtual member function.
1391         (pp_simple_type_specifier): Remove.
1392         (pp_c_type_specifier): Likewise.
1393         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1394         Rename from pp_c_type_specifier.  Adjust.
1395         (c_pretty_printer::c_pretty_printer): Do not assign to
1396         simple_type_specifier.
1398 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1400         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1401         member function.
1402         (c_pretty_printer::storage_class_specifier): Likewise.
1403         (c_pretty_printer::initializer): Likewise.
1404         (pp_declaration): Remove.
1405         (pp_declaration_specifiers): Likewise.
1406         (pp_abstract_declarator): Likewise.
1407         (pp_declarator): Likewise.
1408         (pp_type_id): Likewise.
1409         (pp_statement): Likewise.
1410         (pp_constant): Likewise.
1411         (pp_id_expression): Likewise.
1412         (pp_primary_expression): Likewise.
1413         (pp_unary_expression): Likewise.
1414         (pp_multiplicative_expression): Likewise.
1415         (pp_conditional_expression): Likewise.
1416         (pp_assignment_expression): Likewise.
1417         (pp_expression): Likewise.
1418         (pp_c_type_id): Likewise.
1419         (pp_c_storage_class_specifier): Likewise.
1420         * c-pretty-print.c (pp_c_type_cast): Tidy.
1421         (pp_c_pointer): Likewise.
1422         (pp_c_type_specifier): Likewise.
1423         (pp_c_parameter_type_list): Likewise.
1424         (pp_c_function_definition): Likewise.
1425         (pp_c_init_declarator): Likewise.
1426         (pp_c_initializer_list): Likewise.
1427         (pp_c_constructor_elts): Likewise.
1428         (c_pretty_printer::direct_abstract_declarator): Likewise.
1429         (c_pretty_printer::declaration_specifiers): Likewise.
1430         (c_pretty_printer::primary_expression): Likewise.
1431         (c_pretty_printer::postfix_expression): Likewise.
1432         (c_pretty_printer::type_id): Rename from pp_c_type_id.
1433         (c_pretty_printer::storage_class_specifier): Rename from
1434         pp_c_storage_class_specifier.
1435         (c_pretty_printer::initializer): Rename from pp_c_initializer.
1436         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1437         storage_class_specifier, initializer, offset_list, flags.
1439 2013-08-30  Marek Polacek  <polacek@redhat.com>
1441         * c-ubsan.c: New file.
1442         * c-ubsan.h: New file.
1444 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1446         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1447         member function.
1448         (c_pretty_printer::declaration_specifiers): Likewise.
1449         (c_pretty_printer::declarator): Likewise.
1450         (c_pretty_printer::abstract_declarator): Likewise.
1451         (c_pretty_printer::direct_abstract_declarator): Likewise.
1452         (c_pretty_printer::direct_declarator): Likewise.
1453         (c_pretty_printer::function_specifier): Likewise.
1454         (pp_declaration): Adjust.
1455         (pp_declaration_specifiers): Likewise.
1456         (pp_abstract_declarator): Likewise.
1457         (pp_direct_declarator): Likewise.
1458         (pp_function_specifier): Likewise.
1459         (pp_direct_abstract_declarator): Remove as unused.
1460         (pp_c_declaration): Remove.
1461         (pp_c_declaration_specifiers): Likewise.
1462         (pp_c_declarator): Likewise.
1463         (pp_c_direct_declarator): Likewise.
1464         (pp_c_function_specifier): Likewise.
1465         (pp_c_direct_abstract_declarator): Likewise.
1466         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1467         from pp_c_abstract_declarator.  Adjust.
1468         (c_pretty_printer::direct_abstract_declarator):  Rename from
1469         pp_c_direct_abstract_declarator.  Adjust.
1470         (c_pretty_printer::function_specifier): Rename from
1471         pp_c_function_specifier.  Adjust.
1472         (c_pretty_printer::declaration_specifiers): Rename from
1473         pp_c_declaration_specifiers.  Adjust.
1474         (c_pretty_printer::direct_declarator): Rename from
1475         pp_c_direct_declarator.  Adjust.
1476         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
1477         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
1478         (c_pretty_printer::c_pretty_printer): Do not assign to
1479         declaration, declaration_specifiers, declarator,
1480         direct_declarator, direct_abstract_declarator, function_specifier.
1482 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
1484         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1485         virtual member function.
1486         (c_pretty_printer::multiplicative_expression): Likewise.
1487         (c_pretty_printer::conditional_expression): Likewise.
1488         (c_pretty_printer::assignment_expression): Likewise.
1489         (c_pretty_printer::expression): Likewise.
1490         (pp_unary_expression): Adjust.
1491         (pp_multiplicative_expression): Likewise.
1492         (pp_assignment_expression): Likewise.
1493         (pp_conditional_expression): Likewise.
1494         (pp_expression): Likewise.
1495         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1496         from pp_c_unary_expression.  Adjust.
1497         (c_pretty_printer::multiplicative_expression): Rename from
1498         pp_c_multiplicative_expression.  Adjust.
1499         (c_pretty_printer::conditional_expression): Rename from
1500         pp_c_conditional_expression.  Adjust.
1501         (c_pretty_printer::assignment_expression): Rename from
1502         pp_c_assignment_expression.  Adjust.
1503         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
1504         (c_pretty_printer::c_pretty_printer): Do not assign to
1505         unary_expression, multiplicative_expression,
1506         conditional_expression, expression.
1508 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1510         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1511         virtual member function.
1512         (pp_postfix_expression): Adjust.
1513         (pp_c_postfix_expression): Remove.
1514         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1515         from pp_c_postfix_expression.  Adjust.
1516         (c_pretty_printer::c_pretty_printer): Do not assign to
1517         postfix_expression.
1519 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1521         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1522         virtua member function.
1523         (pp_primary_expression): Adjust.
1524         (pp_c_primary_expression): Remove.
1525         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1526         from pp_c_primary_expression.  Adjust.
1527         (pp_c_initializer_list): Use pp_primary_expression.
1528         (c_pretty_printer::c_pretty_printer): Do not assign to
1529         primary_expression.
1531 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1533         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1534         * c-pretty-print.c (M_): Remove.
1535         (c_pretty_printer::translate_string): Define.
1536         (pp_c_type_specifier): Use it.
1537         (pp_c_primary_expression): Likewise.
1538         (pp_c_expression): Likewise.
1540 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1542         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1543         virtual function.
1544         (pp_c_id_expression): Remove.
1545         (pp_id_expression): Adjust.
1546         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1547         pp_c_id_expression.  Adjust.
1548         (pp_c_postfix_expression): Use pp_id_expression.
1549         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1551 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1553         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1554         member function.
1555         (pp_constant): Adjust.
1556         (pp_c_constant): Remove.
1557         * c-pretty-print.c (c_pretty_printer::constant): Rename from
1558         pp_c_constant.  Adjust.
1559         (pp_c_constant)
1560         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1561         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1563 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1565         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1566         (c_pretty_printer::c_pretty_printer): Declare.
1567         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1568         c_pretty_printer_init.  Adjust.
1569         (print_c_tree): Do not call c_pretty_printer_init.
1570         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1572 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
1574         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1576 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1578         PR c++/58080
1579         * c-common.c (pointer_int_sum): Add bool parameter.
1580         * c-common.h (pointer_int_sum): Adjust declaration.
1582 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1584         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1585         c_pretty_printer variable.
1587 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1589         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1590         (pp_base): Remove.
1591         (pp_c_base): Likewise.  Adjust users.
1592         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1593         (pp_c_whitespace): Do not call pp_base.
1594         (pp_c_left_paren): Likewise.
1595         (pp_c_right_paren): Likewise.
1596         (pp_c_left_brace): Likewise.
1597         (pp_c_right_brace): Likewise.
1598         (pp_c_left_bracket): Likewise.
1599         (pp_c_right_bracket): Likewise.
1600         (pp_c_dot): Likewise.
1601         (pp_c_ampersand): Likewise.
1602         (pp_c_star): Likewise.
1603         (pp_c_arrow): Likewise.
1604         (pp_c_semicolon): Likewise.
1605         (pp_c_complement): Likewise.
1606         (pp_c_exclamation): Likewise.
1607         (pp_c_direct_declarator): Likewise.
1608         (pp_c_ws_string): Likewise.
1609         (pp_c_identifier): Likewise.
1610         (pp_c_statement): Likewise.
1611         (print_c_tree): Likewise.
1613 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1615         PR c++/58072
1616         * c-common.c (c_parse_error): Catch user-defined literal tokens and
1617         provide useful error strings.
1619 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1621         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1622         printer functions instead of pp_string or operators and punctuators.
1623         (dump_generic_ada_node): Likewise.
1624         * c-pretty-print.c (pp_c_type_specifier): Likewise.
1625         (pp_c_relational_expression): Likewise.
1626         (pp_c_logical_or_expression): Likewise.
1628 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1630         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1631         functions instead of pp_character.
1632         (pp_ada_tree_identifier): Likewise.
1633         (dump_ada_double_name): Likewise.
1634         (dump_ada_function_declaration): Likewise.
1635         (dump_ada_array_domains): Likewise.
1636         (dump_template_types): Likewise.
1637         (dump_generic_ada_node): Likewise.
1638         (print_ada_declaration): Likewise.
1639         (print_ada_struct_decl): Likewise.
1640         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1642 2013-07-23  Tom Tromey  <tromey@redhat.com>
1644         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1645         * c-common.c (c_common_reswords): Add _Generic.
1647 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1649         * c-common.c: Fix typos.
1650         * c-common.h: Likewise.
1652 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1654         PR c++/55203
1655         * c-common.c (c_common_attribute_table): Add warn_unused.
1656         (handle_warn_unused_attribute): New.
1658 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1660         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1661         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1663 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1665         PR c++/57869
1666         * c.opt: Add Wconditionally-supported.
1668 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1670         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1671         unused variables l_length and l_node.
1673 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1675         PR c/57821
1676         * c-common.c (complete_array_type): Delay folding first index
1677         like other indices.  When folding, check for index overflow.
1679 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1681         PR c++/57509
1682         * c-common.h (c_build_vec_perm_expr): New complain argument.
1683         * c-common.c (c_build_vec_perm_expr): Likewise.
1684         Use save_expr also in C++.
1686 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1688         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1689         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1690         * c-opts.c (c_common_post_options): Likewise.
1692 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1694         * array-notation-common.c (length_mismatch_in_expr): Changed the
1695         parameter type's from a dynamic array to a vec_tree.  Also removed
1696         the size parameters.
1697         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1698         the change above.
1700 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1702         * c-common.h (struct cilkplus_an_parts): New structure.
1703         (struct cilkplus_an_loop_parts): Likewise.
1704         (cilkplus_extract_an_triplets): New prototype.
1705         (fix_sec_implicit_args): Likewise.
1706         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1707         (fix_sec_implicit_args): Likewise.
1709 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1711         * array-notation-common.c (find_inv_trees): Removed an unwanted
1712         typecasting.
1713         * c-common.h (struct inv_list::additional_tcodes): Changed type from
1714         enum rid to enum tree_code.
1716 2013-06-11  Jan Hubicka  <jh@suse.cz>
1718         * c-common.c (handle_alias_ifunc_attribute): Do not set
1719         DECL_EXTERNAL for weakref variables.
1720         * c-pragma.c (handle_pragma_weak): Make sure aliases
1721         are not declared as external.
1723 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1725         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1726         function from c/c-array-notation.c.
1727         (is_cilkplus_reduce_builtin): Likewise.
1728         (find_rank): Likewise.
1729         (extract_array_notation_exprs): Likewise.
1730         (replace_array_notations): Likewise.
1731         (find_inv_trees): Likewise.
1732         (replace_inv_trees): Likewise.
1733         (contains_array_notation_expr): Likewise.
1734         (find_correct_array_notation_type): Likewise.
1735         * c-common.h (struct inv_list): Moved this struct from the file
1736         c/c-array-notation.c and added a new field called additional tcodes.
1737         (length_mismatch_in_expr_p): New prototype.
1738         (is_cilkplus_reduce_builtin): Likewise.
1739         (find_rank): Likewise.
1740         (extract_array_notation_exprs): Likewise.
1741         (replace_array_notation): Likewise.
1742         (find_inv_trees): Likewise.
1743         (replace_inv_trees): Likewise.
1744         (find_correct_array_notation_type): Likewise.
1746 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1748         * c-common.c (c_define_builtins): When cilkplus is enabled, the
1749         function array_notation_init_builtins is called.
1750         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1751         * c-common.def (ARRAY_NOTATION_REF): New tree.
1752         * c-common.h (build_array_notation_expr): New function declaration.
1753         (build_array_notation_ref): Likewise.
1754         (extract_sec_implicit_index_arg): New extern declaration.
1755         (is_sec_implicit_index_fn): Likewise.
1756         (ARRAY_NOTATION_CHECK): New define.
1757         (ARRAY_NOTATION_ARRAY): Likewise.
1758         (ARRAY_NOTATION_START): Likewise.
1759         (ARRAY_NOTATION_LENGTH): Likewise.
1760         (ARRAY_NOTATION_STRIDE): Likewise.
1761         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1762         ARRAY_NOTATION_REF.
1763         (pp_c_expression): Likewise.
1764         * c.opt (flag_enable_cilkplus): New flag.
1765         * array-notation-common.c: New file.
1767 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1769         PR c++/57274
1770         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1772 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1774         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1775         vectors.
1777 2013-05-07  Han Shen  <shenhan@google.com>
1779         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1781 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1783         * c-common.c (check_user_alignment): Emit error for negative values.
1785 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1787         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1789 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1791         * c-cppbuiltin.c (c_cpp_builtins): Do not define
1792         __GXX_EXPERIMENTAL_CXX1Y__.
1794 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1795             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1797         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1798         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1799         to simply use OPT_Wpointer_arith.
1800         (c_sizeof_or_alignof_type): Likewise.
1802 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1804         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1806 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1808         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1809         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1810         specifiers.
1812 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1814         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1816 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1818         * c-common.c (pointer_int_sum): Remove dead code.
1820 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1822         PR middle-end/56524
1823         * c-common.c (handle_optimize_attribute): Don't call
1824         save_optabs_if_changed.
1826 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1828         PR middle-end/56461
1829         * c-pch.c (pch_init): Free target_validity at the end.
1831 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
1833         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1835 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1836             Jakub Jelinek  <jakub@redhat.com>
1838         PR sanitizer/56454
1839         * c-common.c (handle_no_sanitize_address_attribute): New function.
1840         (c_common_attribute_table): Add no_sanitize_address attribute.
1841         (handle_no_address_safety_analysis_attribute): Add
1842         no_sanitize_address attribute, not no_address_safety_analysis
1843         attribute.
1845 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1847         PR target/52555
1848         * c-common.c (handle_optimize_attribute): Call
1849         save_optabs_if_changed.
1851 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
1852             Steven Bosscher  <steven@gcc.gnu.org>
1854         PR pch/54117
1855         * c-opts.c (c_common_post_options): If debug info is enabled
1856         and non-dwarf*, refuse to load PCH files and when writing PCH
1857         file warn.
1859 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1861         PR middle-end/56167
1862         * c-common.c (handle_error_attribute): Fix condition.
1864 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
1866         PR c++/55742
1867         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1869 2013-01-18  Jason Merrill  <jason@redhat.com>
1871         PR target/54908
1872         * c.opt (-fextern-tls-init): New.
1873         * c-opts.c (c_common_post_options): Handle it.
1875 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
1877         PR c/48418
1878         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1879         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1880         and is either negative or bigger or equal to type precision
1881         of the first operand.
1883 2012-12-03  Marek Polacek  <polacek@redhat.com>
1885         PR c/55570
1886         * c-common.c (check_user_alignment): Swap order of tests,
1887         check TREE_CODE first.
1889 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1891         PR c++/52654
1892         * c-common.h (overflow_type): New enum.
1893         (build_userdef_literal): Add overflow_type argument.
1894         (tree_userdef_literal): Add overflow_type.
1895         (USERDEF_LITERAL_OVERFLOW): New access macro.
1896         * c-common.c (build_userdef_literal): Add overflow_type
1897         argument.
1898         * c-lex.c (c_lex_with_flags): Add overflow_type to
1899         build_userdef_literal calls.
1900         (interpret_integer, interpret_float): Add overflow_type argument.
1902 2012-11-28  Richard Biener  <rguenther@suse.de>
1904         PR c/35634
1905         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1906         here and use a type with proper overflow behavior for types that would
1907         need to be promoted for the arithmetic.
1909 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1911         PR sanitizer/55435
1912         * c-common.c (handle_no_address_safety_analysis_attribute): New
1913         function.
1914         (c_common_attribute_table): Add no_address_safety_analysis.
1916 2012-11-16  Simon Baldwin  <simonb@google.com>
1918         * c.opt: Add f[no-]canonical-system-headers.
1919         * c-opts.c (c_common_handle_option): Handle
1920         OPT_fcanonical_system_headers.
1922 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1924         PR c++/54413
1925         * c-opts.c (c_common_handle_option): Set new flags.
1926         * c.opt: Describe new flags.
1928 2012-11-09  Jason Merrill  <jason@redhat.com>
1930         * c.opt (Wabi-tag): New.
1932 2012-11-09  Andi Kleen  <ak@linux.intel.com>
1934         PR 55139
1935         * c-common.c (get_atomic_generic_size): Mask with
1936         MEMMODEL_MASK
1938 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1940         PR c/53063
1941         * c.opt (Wformat): Make it Alias Wformat=1.
1942         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1943         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1944         LangEnabledBy.
1945         (Wformat=): RejectNegative. Use LangEnabledBy.
1946         (Wnonnull): Use LangEnabledBy.
1947         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1948         * c-format.c (set_Wformat): Delete.
1949         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1950         (maybe_read_dollar_number):  Likewise.
1951         (avoid_dollar_number):  Likewise.
1952         (finish_dollar_format_checking):  Likewise.
1953         (check_format_info):  Likewise.
1954         (check_format_info_main):  Likewise.
1955         (check_format_types):  Likewise.
1956         (format_type_warning):  Likewise.
1957         * c-common.c (int):  Likewise.
1958         (check_function_sentinel):  Likewise.
1959         * c-common.h (warn_format,set_Wformat): Do not declare here.
1961 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1963         PR c/53063
1964         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1965         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1966         Use LangEnabledBy.
1967         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1968         common.opt.
1969         (Wvariadic-macros): Init(1).
1970         * c-opts.c (c_common_handle_option): Do not handle them
1971         explicitly.
1972         (c_common_post_options): Likewise.
1973         (sanitize_cpp_opts): warn_unused_macros is now
1974         cpp_warn_unused_macros.
1975         (push_command_line_include): Likewise.
1976         * c-common.c (warn_unknown_pragmas): Do not define.
1977         * c-common.h (warn_unknown_pragmas): Do not declare.
1979 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1981         PR c/51294
1982         * c-common.c (conversion_warning): Handle conditional expressions.
1984 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1986         PR c++/54930
1987         * c.opt (Wreturn_local_addr): Define new option.
1989 2012-10-25  Jason Merrill  <jason@redhat.com>
1991         * c.opt (Wvirtual-move-assign): New.
1993         * c.opt (Winherited-variadic-ctor): New.
1995 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1997         PR c++/54427
1998         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2000 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
2002         * c-common.h (pch_cpp_save_state): Declare.
2003         * c-target.def (c_preinclude): New hook.
2004         * c-opts.c (done_preinclude): New.
2005         (push_command_line_include): Handle default preincluded header.
2006         (cb_file_change): Call pch_cpp_save_state when calling
2007         push_command_line_include.
2008         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2009         (pch_cpp_save_state): New.
2010         (pch_init): Call pch_cpp_save_state conditionally, instead of
2011         calling cpp_save_state.
2013 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2015         PR c/53063
2016         PR c/40989
2017         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2018         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2019         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2020         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2021         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2022         * c-opts.c (c_common_handle_option): Remove explicit handling from
2023         here.
2024         (c_common_post_options): Likewise.
2026 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
2028         * c-ada-spec.c (LOCATION_COL): Delete.
2029         (compare_location): New function.
2030         (compare_node): Use it.
2031         (compare_comment): Likewise.
2033 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2035         PR c/53063
2036         PR c/40989
2037         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2038         * c-opts.c (c_common_handle_option): Do not set them here. Add
2039         comment.
2040         (c_common_post_options): Likewise.
2042 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2044         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2045         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2046         Remove POINTER_TYPE handling, add large unsigned handling and use
2047         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2049 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
2051         PR c/54381
2052         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2053         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2054         locs and array of 3 trees instead of just single loc and single
2055         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
2056         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2057         For *cmp* builtins that take two sources strings report warnings
2058         about first and second source, not about destination and source.
2060 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
2062         PR c++/53055
2063         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2065 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
2067         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2068         declaring something coming from another file.
2070 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
2072         PR ada/54845
2073         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2075 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
2077         PR c++/54194
2078         * c-common.c (warn_about_parentheses): Add location_t parameter;
2079         use EXPR_LOC_OR_LOC.
2080         * c-common.h: Update declaration.
2082 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
2084         PR c++/54427
2085         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2086         more operations. Make error messages optional.
2087         * c-common.h (enum stv_conv): Moved from c-typeck.c.
2088         (scalar_to_vector): Declare.
2090 2012-10-08  Jason Merrill  <jason@redhat.com>
2092         * c-common.c (c_common_reswords): Add thread_local.
2094 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
2096         PR c++/53528 C++11 attribute support
2097         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2098         new functions.
2099         * c-common.c (check_cxx_fundamental_alignment_constraints): New
2100         static function.
2101         (handle_aligned_attribute): In choose strictest alignment
2102         among many.  Use new check_cxx_fundamental_alignment_constraints.
2103         (handle_transparent_union_attribute): In c++11 attribute syntax,
2104         don't look through typedefs.
2106 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
2108         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2109         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2110         out of dumpfile.h.
2112 2012-09-25  Dehao Chen  <dehao@google.com>
2114         PR middle-end/54645
2115         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
2116         map when read in the pch.
2118 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
2120         * c-ada-spec.c: Style fixes.
2122 2012-09-18 Thomas Quinot  <quinot@adacore.com>
2124         * c.opt (-fada-spec-parent): Define new command line switch.
2125         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2126         is specified, generate binding spec as a child of the specified unit.
2128 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
2129             Manuel López-Ibáñez  <manu@gcc.gnu.org>
2131         PR c++/53210
2132         * c.opt ([Winit-self]): Enabled by -Wall in C++.
2134 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
2136         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2137         for pointers, and add missing Convention C pragma.
2138         (print_ada_struct_decl): Add missing aliased keyword.
2139         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2141 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
2143         * c-common.c (sizeof_pointer_memaccess_warning): New function.
2144         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2145         * c-opts.c (c_common_handle_option): Enable it for -Wall.
2146         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2147         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2149 2012-08-10  Richard Guenther  <rguenther@suse.de>
2151         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2153 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
2155         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2156         instead of separate pp_newline and pp_flush.
2157         (print_c_tree): Likewise.
2159 2012-07-26  Richard Henderson  <rth@redhat.com>
2161         * c-common.c (handle_hot_attribute): Allow labels.
2162         (handle_cold_attribute): Likewise.
2164 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
2166         PR c++/28656
2167         * c-common.c (check_function_nonnull): Handle multiple nonnull
2168         attributes properly.
2170 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
2172         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2173         * c-ada-spec.c: Likewise.
2174         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2176 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
2178         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2179         Remove code conditional on it.
2181 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
2183         * c-gimplify.c: Do not include basic-block.h.
2184         * c-common.c: Do not include linfuncs.h.
2186 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
2188         * c-common.h: Include tree.h.
2190 2012-07-02  Jason Merrill  <jason@redhat.com>
2192         PR c++/53524
2193         * c-common.c (get_priority): Call default_conversion.
2195 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
2197         * c-pch.c (c_common_write_pch): Remove unused variables.
2199 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
2201         * cppspec.c: Moved from gcc/ to here.
2203 2012-06-27  Kai Tietz  <ktietz@redhat.com>
2205         PR preprocessor/37215
2206         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2208 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
2210         * c-common.h (c_common_print_pch_checksum): Remove.
2211         * c-pch.c: Do not include output.h.
2212         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2213         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2214         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2215         (struct c_pch_header): Remove.
2216         (get_ident): Update gpch version.
2217         (pch_init): Do not print executable_checksum to asm_out_file.
2218         Do not fail if there is no asm_out_file to read back from.  Set
2219         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2220         (c_common_write_pch): Verify that nothing was written to asm_out_file
2221         since pch_init was called.  Do not write a c_pch_header, and do not
2222         copy from asm_out_file to the PCH.
2223         (c_common_read_pch): Do not read a c_pch_header, and do not restore
2224         the content of asm_out_file from the PCH.
2225         (c_common_print_pch_checksum): Remove.
2226         * c-opts.c (c_common_init): Print out executable_checksum directly.
2228 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2230         * c-target.def (objc_declare_unresolved_class_reference,
2231         objc_declare_class_definition): Add new hooks.
2233 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2235         * c-lex.c: Do not include output.h.
2236         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2237         Remove uses of ASM_OUTPUT_IDENT.
2239 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
2241         PR c++/51033
2242         * c-common.h (c_build_vec_perm_expr): Move decl here.
2243         * c-common.c (c_build_vec_perm_expr): Move definition
2244         here.
2246 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
2248         * c.opt (fconserve-space): Turn into a no-op.
2250 2012-06-04  Sterling Augustine  <saugustine@google.com>
2252         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2253         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2254         both the start and end of the function.
2256 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2258         * c-common.c: Do not include output.h.
2259         * c-pragma.c: Likewise.
2261 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2263         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2264         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2265         (lang_decl_name): Handle namespace decls.
2267 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
2269         * c-ada-spec.c: Do not include output.h.
2270         * c-semantics.c: Likewise.
2272 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
2274         * c-common.c: Fix typo.
2276 2012-05-29  Michael Matz  <matz@suse.de>
2278         * c-common.h (c_expand_decl): Remove prototype.
2280 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2282         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2283         * c-opts.c (c_common_handle_option): Remove code handling
2284         warn_missing_braces.
2286 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
2288         PR c++/25137
2289         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2290         -Wmissing_braces.
2292 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
2294         PR c++/53322
2295         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2297 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2299         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2300         * c-opts.c (c_common_handle_option): Do not handle explicitly
2301         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2303 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
2305         PR preprocessor/7263
2306         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
2307         to cpp_classify_number.  For diagnostics, use the precise location
2308         instead of the global input_location.
2310 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2312         PR c++/11856
2313         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2315 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
2317         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
2319 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2321         PR 53063
2322         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2323         Wreorder): Use LangEnabledBy.
2324         * c-opts.c (c_common_handle_option): Do not enable them
2325         explicitly. Call lang-specific generated functions.
2326         (c_common_post_options): Do not set them here.
2328 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2330         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2331         Wmissing-field-initializers,Wmissing-parameter-type,
2332         Wold-style-declaration,Woverride-init): Use EnabledBy.
2333         * c-opts.c (c_common_post_options): Do not set here explicitly.
2335 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2337         PR 53063
2338         * c-opts.c (c_common_handle_option): Use handle_generated_option
2339         to enable sub-options.
2341 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
2343         PR c++/53158
2344         * c-common.c (warnings_for_convert_and_check): Use warning_at.
2346 2012-05-10  Richard Guenther  <rguenther@suse.de>
2348         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2349         adjust commentary about TYPE_IS_SIZETYPE types.
2351 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2353         PR c++/53261
2354         * c-common.c (warn_logical_operator): Check that argument of
2355         integer_zerop is not NULL.
2357 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2359         PR c/43772
2360         * c-common.c (warn_logical_operator): Do not warn if either side
2361         is already true or false.
2363 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2365         PR c/51712
2366         * c-common.c (expr_original_type): New.
2367         (shorten_compare): Do not warn for enumeration types.
2369 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2371         * c.opt (fpermissive): Add Var(flag_permissive).
2373 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
2375         PR c++/51033
2376         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2377         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2379 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
2381         Add -Wvarargs option
2382         * c.opt (Wvarargs):  Define new option.
2384 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2386         * c-common.c (check_function_arguments): Replace
2387         Wmissing-format-attribute with Wsuggest-attribute=format.
2389 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2391         * c.opt (Wsuggest-attribute=format): New. Alias of
2392         Wmissing-format-attribute.
2393         * c-format.c (decode_format_type): Replace
2394         Wmissing-format-attribute with Wsuggest-attribute=format.
2395         (check_function_format): Likewise.
2397 2012-04-27  Ollie Wild  <aaw@google.com>
2399         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2400         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2401         * c.opt: Add Wliteral-suffix.
2403 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2405         PR c/44774
2406         * c.opt (Wpedantic): New.
2407         (pedantic): Alias Wpedantic.
2408         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2409         (c_common_post_options): Likewise.
2410         (sanitize_cpp_opts): Likewise.
2411         * c-lex.c (interpret_float): Likewise.
2412         * c-format.c (check_format_types): Likewise.
2413         * c-common.c (pointer_int_sum): Likewise.
2414         (c_sizeof_or_alignof_type): Likewise.
2415         (c_add_case_label): Likewise.
2416         (c_do_switch_warnings): Likewise.
2417         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2419 2012-04-15  Jason Merrill  <jason@redhat.com>
2421         PR c++/52818
2422         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2423         (C_STD_NAME): Distinguish between C++98 and C++11.
2425 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2427         PR target/52624
2428         * c-common.h (uint16_type_node): Rename into...
2429         (c_uint16_type_node): ...this.
2430         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2431         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2433 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2435         * c-common.c (warn_if_unused_value): Move definition to here.
2436         * c-common.h (warn_if_unused_value): Move declaration to here.
2438 2012-03-23  William Bader  <williambader@hotmail.com>
2440         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2442 2012-03-20  Jason Merrill  <jason@redhat.com>
2444         * c-common.h (enum cxx_dialect): Add cxx1y.
2445         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2446         test.
2447         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2448         * c-opts.c (c_common_post_options): Likewise.
2449         (set_std_cxx1y): New.
2450         (c_common_handle_option): Call it.
2451         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2453 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2455         PR c++/14710
2456         * c.opt ([Wuseless-cast]): Add.
2458 2012-03-16  Richard Guenther  <rguenther@suse.de>
2460         * c-pretty-print.c (pp_c_initializer_list): Adjust.
2462 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2464         PR c++/44783
2465         * c.opt (ftemplate-backtrace-limit) Add.
2467 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2469         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2470         handling.
2471         * c-pragma.c (handle_pragma_extern_prefix): Remove.
2472         (init_pragma): Don't register extern_prefix.
2474 2012-03-12  Richard Guenther  <rguenther@suse.de>
2476         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2477         (builtin_type_for_size): Likewise.
2479 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
2481         PR c++/52215
2482         * c-common.c (sync_resolve_params): Don't decide whether to convert
2483         or not based on TYPE_SIZE comparison, convert whenever arg_type
2484         is unsigned INTEGER_TYPE.
2486 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
2488         PR c/52118
2489         * c.opt ([Wunused-local-typedefs]): Fix description.
2491 2012-01-24  Mike Stump  <mikestump@comcast.net>
2493         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2494         exactly.
2496 2012-01-18  Richard Guenther  <rguenther@suse.de>
2498         * c-opts.c (c_common_post_options): Reset LTO flags if
2499         we are about to generate a PCH.
2501 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
2503         PR c++/51777
2504         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2505         use pp_unsigned_wide_integer.
2507 2012-01-10  Richard Guenther  <rguenther@suse.de>
2509         PR middle-end/51806
2510         * c-opts.c (c_common_handle_option): Move -Werror handling
2511         to language independent code.
2513 2012-01-05  Richard Guenther  <rguenther@suse.de>
2515         PR middle-end/51764
2516         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2517         from common.opt.
2519 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
2521         PR c++/51316
2522         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2523         of array types with an unknown bound.
2525 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
2527         * c-common.c (flag_isoc99): Update comment to refer to C11.
2528         (flag_isoc1x): Change to flag_isoc11.
2529         * c-common.h (flag_isoc99): Update comment to refer to C11.
2530         (flag_isoc1x): Change to flag_isoc11.
2531         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2532         C11.
2533         * c-opts.c (set_std_c1x): Change to set_std_c11.
2534         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2535         Call set_std_c11.
2536         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2537         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2538         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
2539         standard.
2540         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2541         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
2542         (std=gnu1x): Make alias of std=gnu11.
2544 2011-12-19  Jason Merrill  <jason@redhat.com>
2546         PR c++/51228
2547         * c-common.c (handle_transparent_union_attribute): Check the first
2548         field if the type is complete.
2550 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2552         PR libstdc++/51365
2553         * c-common.c (RID_IS_FINAL): Add.
2554         * c-common.h (RID_IS_FINAL): Add.
2556 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2558         * c.opt (fgnu-runtime): Provide full description.
2559         (fnext-runtime): Likewise.
2560         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2562 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2564         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2565         predefines in one place.  Add LOCK_FREE predefines.
2566         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2567         new func.
2569 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2571         PR c/51256
2572         * c-common.c (get_atomic_generic_size): Check for various error
2573         conditions
2574         (resolve_overloaded_atomic_exchange,
2575         resolve_overloaded_atomic_compare_exchange,
2576         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2577         error_mark_node for error conditions.
2579 2011-11-08  Richard Guenther  <rguenther@suse.de>
2581         PR middle-end/51010
2582         c-family/
2584 2011-11-07  Richard Henderson  <rth@redhat.com>
2585             Aldy Hernandez  <aldyh@redhat.com>
2586             Torvald Riegel  <triegel@redhat.com>
2588         Merged from transactional-memory.
2590         * c-common.c (handle_tm_wrap_attribute,
2591         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2592         (struct c_common_reswords): Added __transaction* keywords.
2593         (struct c_common_attribute_table): Added transaction* and tm_regparm
2594         attributes.
2595         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2596         masks.
2597         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2598         find_tm_attribute): Declare.
2600 2011-11-07  Jason Merrill  <jason@redhat.com>
2602         PR c++/35688
2603         * c-common.c, c-common.h: Revert yesterday's changes.
2605 2011-11-06  Jason Merrill  <jason@redhat.com>
2607         PR c++/35688
2608         * c-common.c (decl_has_visibility_attr): Split out from...
2609         (c_determine_visibility): ...here.
2610         * c-common.h: Declare it.
2612 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
2614         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2615         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2616         type.
2617         (check_user_alignment): New.  Split out of
2618         handle_aligned_attribute.  Disallow integer constants with
2619         noninteger types.  Conditionally allow zero.
2620         (handle_aligned_attribute): Use check_user_alignment.
2621         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2623 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2624             Richard Henderson  <rth@redhat.com>
2626         Merged from cxx-mem-model.
2628         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2629         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2630         parameters that are the same type size.
2631         (get_atomic_generic_size): New.  Find size of generic
2632         atomic function parameters and do typechecking.
2633         (add_atomic_size_parameter): New.  Insert size into parameter list.
2634         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2635         either __atomic_exchange_n or external library call.
2636         (resolve_overloaded_atomic_compare_exchange): Restructure
2637         __atomic_compare_exchange to either _n variant or external library call.
2638         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2639         __atomic_load_n or an external library call.
2640         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2641         __atomic_store_n or an external library call.
2642         (resolve_overloaded_builtin): Handle new __atomic builtins.
2644 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2646         PR c++/50608
2647         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2648         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2649         <INDIRECT_REF>: Return the argument.
2650         <ARRAY_REF>: Remove special code for negative offset.
2651         Call fold_build_pointer_plus instead of size_binop.
2652         (fold_offsetof): Remove STOP_REF argument and adjust.
2653         * c-common.h (fold_offsetof_1): Declare.
2654         (fold_offsetof): Remove STOP_REF argument.
2656 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2658         PR c++/50810
2659         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2660         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2661         Wnarrowing for C++0x and C++98.
2662         * c.opt ([Wnarrowing]): Update.
2664 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2666         PR c++/44277
2667         * c.opt: Add Wzero-as-null-pointer-constant.
2669 2011-10-31  Jason Merrill  <jason@redhat.com>
2671         * c.opt (-fdeduce-init-list): Off by default.
2673         PR c++/50920
2674         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2675         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2676         and -Wc++11-compat.
2677         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2679 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2681         PR c++/30066
2682         * c.opt (fvisibility-inlines-hidden): Description change.
2684 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2686         Implement C++11 user-defined literals.
2687         * c-common.c (build_userdef_literal): New.
2688         * c-common.def: New tree code.
2689         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2690         * c-lex.c (interpret_float): Add suffix parm.
2691         (c_lex_with_flags): Build literal tokens.
2693 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2695         PR c++/50841
2696         Revert:
2697         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2699         PR c++/50810
2700         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2701         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2702         Wnarrowing for C++0x and C++98.
2703         * c.opt ([Wnarrowing]): Update.
2705 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2707         PR c++/50810
2708         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2709         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2710         Wnarrowing for C++0x and C++98.
2711         * c.opt ([Wnarrowing]): Update.
2713 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2715         PR c++/45385
2716         * c-common.c (conversion_warning): Remove code looking for
2717         artificial operands.
2719 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
2721         PR bootstrap/50760
2722         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2723         !NO_IMPLICIT_EXTERN_C.
2725 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2727         * c-common.c (c_common_reswords): Add __bases,
2728         __direct_bases.
2729         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2731 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2733         PR c++/50757
2734         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2736 2011-10-15  Tom Tromey  <tromey@redhat.com>
2737             Dodji Seketeli  <dodji@redhat.com>
2739         * c.opt (fdebug-cpp): New option.
2740         * c-opts.c (c_common_handle_option): Handle the option.
2741         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2742         output stream in parameter. Factorized from ...
2743         (maybe_print_line): ... this. Dump location debug information when
2744         -fdebug-cpp is in effect.
2745         (print_line_1): New static function. Takes an output stream in
2746         parameter. Factorized from ...
2747         (print_line): ... here. Dump location information when -fdebug-cpp
2748         is in effect.
2749         (scan_translation_unit): Dump location information when
2750         -fdebug-cpp is in effect.
2752 2011-10-15  Tom Tromey  <tromey@redhat.com>
2753             Dodji Seketeli  <dodji@redhat.com>
2755         * c.opt (ftrack-macro-expansion): New option. Handle it with and
2756         without argument.
2757         * c-opts.c (c_common_handle_option)<case
2758         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2759         cases. Handle -ftrack-macro-expansion with and without argument.
2761 2011-10-15  Tom Tromey  <tromey@redhat.com>
2762             Dodji Seketeli  <dodji@redhat.com>
2764         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2765         (print_line, cb_define, do_line_change): Adjust to avoid touching
2766         the internals of struct line_map.  Use the public API instead.
2767         * c-pch.c (c_common_read_pch): Likewise.
2768         * c-lex.c (fe_file_change): Likewise.
2770 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2772         PR c++/17212
2773         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2775 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2777         PR c++/33067
2778         * c-pretty-print.c (pp_c_floating_constant): Output
2779         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2781 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2783         * c-common.c (def_builtin_1): Delete old interface with two
2784         parallel arrays to hold standard builtin declarations, and replace
2785         it with a function based interface that can support creating
2786         builtins on the fly in the future.  Change all uses, and poison
2787         the old names.  Make sure 0 is not a legitimate builtin index.
2788         * c-omp.c (c_finish_omp_barrier): Ditto.
2789         (c_finish_omp_taskwait): Ditto.
2790         (c_finish_omp_flush): Ditto.
2792 2011-10-11  Tristan Gingold  <gingold@adacore.com>
2794         * c.opt: (fallow-parameterless-variadic-functions): New.
2796 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
2798         PR c++/33255 - Support -Wunused-local-typedefs warning
2799         * c-common.h (struct c_language_function::local_typedefs): New
2800         field.
2801         (record_locally_defined_typedef, maybe_record_typedef_use)
2802         (maybe_warn_unused_local_typedefs): Declare new functions.
2803         * c-common.c (record_locally_defined_typedef)
2804         (maybe_record_typedef_use)
2805         (maybe_warn_unused_local_typedefs): Define new functions.
2806         * c.opt: Declare new -Wunused-local-typedefs flag.
2808 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2810         PR middle-end/50266
2811         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2812         computations.
2814 2011-09-05  Richard Guenther  <rguenther@suse.de>
2816         * c-common.c (complete_array_type): Use ssize_int (-1) instead
2817         of integer_minus_one_node for empty array upper bounds.
2819 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
2821         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2822         it's the first time it's being called on this main TU.
2824 2011-08-24  Richard Guenther  <rguenther@suse.de>
2826         PR c/49396
2827         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2829 2011-08-22  Gabriel Charette  <gchare@google.com>
2831         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2832         defined in cpp_init_builtins and c_cpp_builtins.
2834 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
2836         * c-common.c (c_common_reswords): Add __builtin_complex.
2837         * c-common.h (RID_BUILTIN_COMPLEX): New.
2839 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
2841         * c-common.c (c_common_reswords): Add _Noreturn.
2842         (keyword_is_function_specifier): Handle RID_NORETURN.
2843         * c-common.h (RID_NORETURN): New.
2845 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2847         * c-common.c (unsafe_conversion_p): New function. Check if it is
2848         unsafe to convert an expression to the type.
2849         (conversion_warning): Adjust, use unsafe_conversion_p.
2850         * c-common.h (unsafe_conversion_p): New function declaration.
2852 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
2854         * c-common.h (c_finish_omp_atomic): Adjust prototype.
2855         (c_finish_omp_taskyield): New prototype.
2856         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2857         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2858         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2859         or RHS1 have side-effects, evaluate those too in the right spot,
2860         if it is a decl and LHS is also a decl, error out if they
2861         aren't the same.
2862         (c_finish_omp_taskyield): New function.
2863         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2864         * c-pragma.c (omp_pragmas): Add taskyield.
2865         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2866         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2867         PRAGMA_OMP_CLAUSE_MERGEABLE.
2869 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
2871         * c-common.h (set_underlying_type): Remove parm name from
2872         declaration.
2874 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2876         * c-pretty-print.h: Search c-common.h in c-family.
2878 2011-07-22  Jason Merrill  <jason@redhat.com>
2880         PR c++/49793
2881         * c.opt (Wnarrowing): New.
2883         PR c++/30112
2884         * c-common.h: Declare c_linkage_bindings.
2885         * c-pragma.c (handle_pragma_redefine_extname): Use it.
2887         PR c++/49813
2888         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2889         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2890         as flag_isoc99 for 'restrict'.
2891         (pp_c_specifier_qualifier_list): Likewise for _Complex.
2893 2011-07-21  Ian Lance Taylor  <iant@google.com>
2895         PR middle-end/49705
2896         * c-common.c (c_disable_warnings): New static function.
2897         (c_enable_warnings): New static function.
2898         (c_fully_fold_internal): Change local unused_p to bool.  Call
2899         c_disable_warnings and c_enable_warnings rather than change
2900         c_inhibit_evaluation_warnings.
2902 2011-07-20  Jason Merrill  <jason@redhat.com>
2904         PR c++/6709 (DR 743)
2905         PR c++/42603 (DR 950)
2906         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2907         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2908         (CPP_DECLTYPE): New.
2909         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2911 2011-07-19  Richard Guenther  <rguenther@suse.de>
2913         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2914         * c-omp.c (c_finish_omp_for): Likewise.
2916 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2918         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2919         body on the next line.
2921 2011-07-08  Jason Merrill  <jason@redhat.com>
2923         PR c++/45437
2924         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2926         PR c++/49673
2927         * c-common.c (c_apply_type_quals_to_decl): Don't check
2928         TYPE_NEEDS_CONSTRUCTING.
2930 2011-07-06  Richard Guenther  <rguenther@suse.de>
2932         * c-common.c (c_common_nodes_and_builtins):
2933         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2935 2011-07-05  Richard Guenther  <rguenther@suse.de>
2937         * c-common.c (c_common_nodes_and_builtins): Build all common
2938         tree nodes first.
2940 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2942         * c-common.h (c_tree_chain_next): New static inline function.
2944         * c-common.c (check_builtin_function_arguments): Handle
2945         BUILT_IN_ASSUME_ALIGNED.
2947 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2949         * c-common.c: Add sync_ or SYNC__ to builtin names.
2950         * c-omp.c: Add sync_ or SYNC__ to builtin names.
2952 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
2954         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2955         handler.
2956         (gen_pragma_handler): New union.
2957         (internal_pragma_handler): New type.
2958         (c_register_pragma_with_data)
2959         (c_register_pragma_with_expansion_and_data): New functions.
2961         * c-pragma.c (registered_pragmas, c_register_pragma_1)
2962         (c_register_pragma, c_register_pragma_with_expansion)
2963         (c_invoke_pragma_handler): Changed to work with
2964         internal_pragma_handler.
2965         (c_register_pragma_with_data)
2966         (c_register_pragma_with_expansion_and_data): New functions.
2968 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2970         * c-common.c: Include common/common-target.h.
2971         (handle_section_attribute): Use
2972         targetm_common.have_named_sections.
2973         * c-cppbuiltin.c: Include common/common-target.h.
2974         (c_cpp_builtins): Use targetm_common.except_unwind_info.
2976 2011-06-10  Richard Guenther  <rguenther@suse.de>
2978         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2979         to print a IDENTIFIER_NODE.
2981 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2982             Joseph Myers  <joseph@codesourcery.com>
2984         * c.opt (fbuilding-libgcc): New option.
2985         * c-cppbuiltin.c (c_cpp_builtins): Define
2986         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2988 2011-06-07  Jason Merrill  <jason@redhat.com>
2990         * c-common.c (max_tinst_depth): Lower default to 900.
2992         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2994 2011-06-07  Richard Guenther  <rguenther@suse.de>
2996         * c-common.c (c_common_nodes_and_builtins): Do not set
2997         size_type_node or call set_sizetype.
2999 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
3001         PR debug/49130
3002         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
3003         type when using pointer comparison to compare types.
3005 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
3007         * c.opt: Add -Wdelete-non-virtual-dtor.
3008         * c-opts.c (c_common_handle_option): Include it in -Wall.
3010 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
3012         PR bootstrap/49190
3014         Revert:
3015         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3017         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3018         not tree_common.
3020 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
3022         PR c++/49165
3023         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3024         C++ don't call c_common_truthvalue_conversion on void type arms.
3026 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
3028         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3029         (stmt_list_stack): Define.
3030         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3031         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3033 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3035         * c-common.c (warning_candidate_p): Check for BLOCKs.
3037 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3039         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3040         not tree_common.
3042 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
3044         * c-common.c (def_fn_type): Remove extra va_end.
3046 2011-05-23  Jason Merrill  <jason@redhat.com>
3048         PR c++/48106
3049         * c-common.c (c_common_get_narrower): New.
3050         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3052 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
3054         * c-common.h (check_function_arguments): Tweak prototype of
3055         check_function_arguments.
3056         * c-common.c (check_function_arguments): Likewise.  Adjust
3057         calls to check_function_nonnull, check_function_format, and
3058         check_function_sentinel.
3059         (check_function_sentinel): Take a FUNCTION_TYPE rather than
3060         separate attributes and typelist arguments.  Use
3061         FOREACH_FUNCTION_ARGS to iterate over argument types.
3063 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
3065         * c-common.c (c_common_reswords): Reorder.
3066         * c-common.h (rid): Likewise.
3068 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
3070         * c-common.c (def_fn_type): Don't call build_function_type, call
3071         build_function_type_array or build_varargs_function_type_array
3072         instead.
3073         (c_common_nodes_and_builtins): Likewise.
3075 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
3077         * c-common.c (c_add_case_label): Omit the loc argument to
3078         build_case_label.
3079         * c-common.h (build_case_label): Remove.
3080         * c-semantics.c (build_case_label): Remove.
3082 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
3084         * c-objc.h (objc_start_method_definition): Update prototype.
3085         * stub-objc.c (objc_start_method_definition): Add extra parameter.
3087 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
3089         * c-common.c (check_main_parameter_types): Reindent.  Don't use
3090         TYPE_ARG_TYPES directly.
3091         (handle_nonnull_attribute): Likewise.
3092         (sync_resolve_params): Likewise.
3093         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
3094         to check_format_string.
3095         (handle_format_attribute): Likewise.
3096         (check_format_string): Take a function type to examine instead of
3097         a type list.  Use a function_arg_iterator to step through argument
3098         types.
3100 2011-05-04  Richard Guenther  <rguenther@suse.de>
3102         * c-common.c (fix_string_type): Use size_int for index type bounds.
3103         (start_fname_decls): Do not pass NULL to build_int_cst.
3104         (c_init_attributes): Likewise.
3105         * c-lex.c (c_lex_with_flags): Likewise.
3107 2011-04-27  Jason Merrill  <jason@redhat.com>
3109         * c-common.c (make_tree_vector_from_list): New.
3110         * c-common.h: Declare it.
3112 2011-04-26  Richard Guenther  <rguenther@suse.de>
3114         PR preprocessor/48248
3115         * c-ppoutput.c (maybe_print_line): Always optimize newlines
3116         for output size with -P.
3118 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3120         * c-common.c (struct c_common_resword): Add __underlying_type.
3121         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3123 2011-04-20  Jim Meyering  <meyering@redhat.com>
3125         * c-format.c (init_dollar_format_checking): Remove useless
3126         if-before-free.
3128 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3130         * c-objc.h (objc_get_interface_ivars): Removed.
3131         (objc_detect_field_duplicates): New.
3132         * stub-objc.c: Likewise.
3134 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3136         * stub-objc.c (objc_declare_protocols): Renamed to
3137         objc_declare_protocol.
3138         * c-objc.h: Likewise.
3140 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3142         * stub-objc.c (objc_declare_class): Updated argument name.
3144 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
3146         * c-common.h (c_common_init_ts): Declare.
3147         * c-common.c (c_common_init_ts): Define.
3149 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3151         * c-objc.h (objc_build_message_expr): Updated prototype.
3152         * stub-objc.c (objc_build_message_expr): Likewise.
3154 2011-04-12  Martin Jambor  <mjambor@suse.cz>
3156         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3157         of cgraph_node.
3159 2011-04-11  Richard Guenther  <rguenther@suse.de>
3161         * c-common.c (complete_array_type): Build a range type of
3162         proper type.
3164 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
3166         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3167         (handle_type_generic_attribute): Likewise.
3169 2011-04-07  Jason Merrill  <jason@redhat.com>
3171         PR c++/48450
3172         * c-common.c (c_common_truthvalue_conversion): Don't ignore
3173         conversion from C++0x scoped enum.
3175 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
3177         * c-target-def.h: New file.
3178         * c-target.def: New file.
3179         * c-target.h: New file.
3180         * c-common.c (targetcm): Don't define here.
3181         * c-common.h (default_handle_c_option): Declare.
3182         * c-format.c: Include c-target.h instead of target.h.
3183         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
3184         include tm.h.
3185         (default_handle_c_option): Move from targhooks.c.
3187 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
3189         PR preprocessor/48248
3190         * c-ppoutput.c (print): Add src_file field.
3191         (init_pp_output): Initialize it.
3192         (maybe_print_line): Don't optimize by adding up to 8 newlines
3193         if map->to_file and print.src_file are different file.
3194         (print_line): Update print.src_file.
3196 2011-03-25  Kai Tietz  <ktietz@redhat.com>
3198         * c-ada-spec.c (compare_comment): Use filename_cmp
3199         instead of strcmp for filename.
3201 2011-03-25  Jeff Law  <law@redhat.com>
3203         * c-family/c-common.c (def_fn_type): Add missing va_end.
3205 2011-03-25  Jason Merrill  <jason@redhat.com>
3207         * c.opt: Add -std=c++03.
3209 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
3211         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3213 2011-03-17  Kai Tietz
3215         PR target/12171
3216         * c-pretty-print.c (pp_c_specifier_qualifier_list):
3217         Display allowed attributes for function pointer types.
3218         (pp_c_attributes_display): New function to display
3219         attributes having affects_type_identity flag set to true.
3220         * c-pretty-print.h (pp_c_attributes_display): New prototype.
3222         * c-common.c (c_common_attribute_table):
3223         Add new element.
3224         (c_common_format_attribute_table): Likewise.
3226 2011-03-18  Jason Merrill  <jason@redhat.com>
3228         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3229         * c-common.h: Don't declare it here.
3230         * c-common.c: Or define it here.
3231         * c-opts.c (c_common_handle_option): Or set it here.
3233         PR c++/35315
3234         * c-common.c (handle_transparent_union_attribute): Don't
3235         make a duplicate type in C++.
3237 2011-03-15  Jason Merrill  <jason@redhat.com>
3239         * c-common.c (max_constexpr_depth): New.
3240         * c-common.h: Declare it.
3241         * c-opts.c (c_common_handle_option): Set it.
3242         * c.opt (fconstexpr-depth): New option.
3244 2011-03-11  Jason Merrill  <jason@redhat.com>
3246         * c-common.c (attribute_takes_identifier_p): Add missing const.
3248         PR c++/46803
3249         * c-common.c (attribute_takes_identifier_p): Assume that an
3250         unknown attribute takes an identifier.
3252 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
3254         PR c/47786
3255         * c-common.c (c_type_hash): Call list_length instead of iterating
3256         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
3258 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3260         PR c/47809
3261         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3263 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3265         * c.opt (fobjc-abi-version=) New.
3266         (fobjc-nilcheck): New.
3268 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
3270         PR c++/46890
3271         * c-common.h (keyword_is_decl_specifier): Declare.
3272         * c-common.c (keyword_is_decl_specifier): Define.
3273         (keyword_is_function_specifier): New function.
3275 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3277         PR c/47473
3278         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3279         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3280         REAL_TYPE.
3282 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
3284         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3286 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3288         PR pch/47430
3289         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3290         after init_c_lex if pch_file is set.
3292 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3294         PR c++/43601
3295         * c.opt (-fkeep-inline-dllexport): New switch.
3297 2011-01-12  Richard Guenther  <rguenther@suse.de>
3299         PR middle-end/32511
3300         * c-common.c (handle_weak_attribute): Warn instead of error
3301         on declaring an inline function weak.
3303 2011-01-05  Tom Tromey  <tromey@redhat.com>
3305         * c-common.h (lvalue_error): Update.
3306         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
3307         not error.
3309 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3311         PR objc/47075
3312         * c-objc.h (objc_finish_message_expr): Added argument to
3313         prototype.
3315 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
3317         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3318         Use prototype_p.
3320 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3322         * c-objc.h (objc_maybe_warn_exceptions): New.
3323         * stub-objc.c (objc_maybe_warn_exceptions): New.
3325 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
3327         * c-common.h (readonly_error): Declare.
3328         * c-common.c (readonly_error): Define.
3330 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
3332         * c-common.h (invalid_indirection_error): Declare.
3333         * c-common.c (invalid_indirection_error): Define.
3335 2010-12-03  Richard Guenther  <rguenther@suse.de>
3337         PR c/46745
3338         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3339         (pp_c_unary_expression): Likewise.
3340         (pp_c_expression): Likewise.
3342 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3344         * c-common.h (objc_finish_function): New.
3345         (objc_non_volatilized_type): Removed.
3346         (objc_type_quals_match): Removed.
3347         * stub-objc.c (objc_finish_function): New.
3348         (objc_non_volatilized_type): Removed.
3349         (objc_type_quals_match): Removed.
3351 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
3353         * c-common.h (parse_optimize_options): Declare.
3354         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3355         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3357 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
3359         * c-opts.c (check_deps_environment_vars): Use getenv instead of
3360         GET_ENVIRONMENT.
3361         * c-pch.c (O_BINARY): Don't define here.
3362         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3364 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
3366         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3367         targetm.except_unwind_info.
3369 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3371         * c-opts.c (c_common_handle_option): Pass location to
3372         set_struct_debug_option.
3374 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3376         * c-common.c (visibility_options): Move from ../opts.c.
3377         * c-common.h (struct visibility_flags, visibility_options):
3378         Declare here.
3379         * c-opts.c (finish_options): Rename to c_finish_options.
3380         (c_common_init): Update call to finish_options.
3382 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
3384         PR objc/34033
3385         * c-lex.c (lex_string): Check that each string in an Objective-C
3386         string concat sequence starts with either one or zero '@', and
3387         that there are no spurious '@' signs at the end.
3389 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
3391         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3392         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3393         HANDLE_PRAGMA_VISIBILITY.
3394         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3395         HANDLE_PRAGMA_VISIBILITY): Don't define.
3396         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3398 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
3400         PR c++/16189
3401         PR c++/36888
3402         PR c++/45331
3403         * c-common.h (keyword_begins_type_specifier): Declare.
3404         (keyword_is_storage_class_specifier): Declare.
3405         (keyword_is_type_qualifier): Declare.
3406         * c-common.c (keyword_begins_type_specifier): New function.
3407         (keyword_is_storage_class_specifier): New function.
3408         (keyword_is_type_qualifier): Declare.
3410 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3412         PR c/46547
3413         * c-common.c (in_late_binary_op): Define.
3414         (c_common_truthvalue_conversion): Check in_late_binary_op before
3415         calling c_save_expr.
3416         * c-common.h (in_late_binary_op): Declare.
3418 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3420         * c-opts.c (c_common_handle_option): Update calls to
3421         set_struct_debug_option.
3423 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
3425         * c-common.h (objc_declare_protocols): Added additional argument.
3426         * stub-objc.c (objc_declare_protocol): Same change.
3428 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
3430         PR c/33193
3431         * c-common.h (build_real_imag_expr): Declare.
3432         * c-semantics.c (build_real_imag_expr): Define.
3434 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
3436         * c-opts.c (c_common_parse_file): Take no arguments.
3437         * c-common.h (c_common_parse_file): Update prototype.
3439 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
3441         PR c++/46401
3442         * c-common.c (warning_candidate_p): Don't track non-const calls
3443         or STRING_CSTs.
3445 2010-11-15  Ian Lance Taylor  <iant@google.com>
3447         * c-lex.c (init_c_lex): Set macro debug callbacks if
3448         flag_dump_go_spec is set.
3450 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3452         * c-common.h (objc_build_incr_expr_for_property_ref): New.
3453         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3455 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
3457         PR preprocessor/45038
3458         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3459         dialects.
3461 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3463         * c-common.h (c_family_lang_mask): Declare.
3464         * c-opts.c (c_family_lang_mask): Make extern.
3465         * c-pragma.c (handle_pragma_diagnostic): Use
3466         control_warning_option.
3468 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3470         * c-common.c (parse_optimize_options): Update call to
3471         decode_options.
3472         * c-common.h (c_common_handle_option): Update prototype.
3473         * c-opts.c (c_common_handle_option): Take location_t parameter and
3474         pass it to other functions.
3476 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
3478         * c-opts.c (warning_as_error_callback): Remove.
3479         (c_common_initialize_diagnostics): Don't call
3480         register_warning_as_error_callback.
3481         (c_common_handle_option): Handle -Werror=normalized= here.
3483 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3485         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3486         in diagnostic.
3487         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3488         letter.
3489         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3490         Remove trailing '.' from diagnostics.
3491         * c.opt (Wwrite-strings_: Avoid '`' in help text.
3493 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3495         * c-common.c (parse_optimize_options): Pass global_dc to
3496         decode_options.
3497         * c-opts.c (c_common_handle_option): Pass &global_options to
3498         set_Wstrict_aliasing.
3499         * c.opt (v): Don't mark Common or document here.
3501 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
3503         PR target/44981
3504         * c-format.c (format_type): New type gcc_objc_string_format_type.
3505         (valid_stringptr_type_p): New.
3506         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
3507         (check_format_string): Pass expected type, use
3508         valid_stringptr_type_p (), check that the format string types are
3509         consistent with the format specification.
3510         (decode_format_attr): Warn if NSString is used outside objective-c.
3511         (format_types_orig): Add NSString.
3512         (format_name): New.
3513         (format_flags): New.
3514         (check_format_arg): Handle format strings requiring an external parser.
3515         first_target_format_type: New variable.
3516         (handle_format_attribute): Set up first_target_format_type, pass the
3517         expected format arg string type to check_format_string().
3518         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
3519         * stub-objc.c (objc_string_ref_type_p): New.
3520         (objc_check_format_arg): New.
3522 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
3524         Fixed using the Objective-C 2.0 dot-syntax with class names.
3525         * c-common.h (objc_build_class_component_ref): New.
3526         * stub-objc.c (objc_build_class_component_ref): New.
3528 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3530         * c.opt (Wproperty-assign-default): New option.
3532 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3534         Implemented -fobjc-std=objc1 flag.
3535         * c.opt (fobjc-std=objc1): New option.
3537 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
3539         Implemented format and noreturn attributes for Objective-C methods.
3540         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3541         attribute for Objective-C methods.
3543 2010-10-31  Jason Merrill  <jason@redhat.com>
3545         * c-common.c (conversion_warning, warn_for_collisions_1): Use
3546         EXPR_LOC_OR_HERE.
3548 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3550         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3551         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3552         (objc_add_property_declaration): Removed arguments for copies and
3553         ivar.
3554         (objc_build_getter_call): Renamed to
3555         objc_maybe_build_component_ref.
3556         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3557         (objc_is_property_ref): New.
3558         * c-common.c (c_common_reswords): Removed copies and ivar.
3559         * stub-objc.c (objc_add_property_declaration): Removed arguments
3560         for copies and ivar.
3561         (objc_build_getter_call): Renamed to
3562         objc_maybe_build_component_ref.
3563         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3564         (objc_is_property_ref): New.
3566 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
3567             Matthew Gingell  <gingell@adacore.com>
3569         * c-ada-spec.c (separate_class_package): New function.
3570         (pp_ada_tree_identifier): Prefix references to C++ classes with the
3571         name of their enclosing package.
3572         (print_ada_declaration): Use separate_class_package.
3574 2010-10-27  Jason Merrill  <jason@redhat.com>
3576         * c-common.c (c_common_reswords): Add __is_literal_type.
3577         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3579         * c-common.c (check_case_value): Remove special C++ code.
3581 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3583         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3584         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3585         and RID_LAST_PATTR.
3586         (objc_add_property_declaration): Added additional arguments.
3587         (objc_property_attribute_kind): Removed.
3588         (objc_set_property_attr): Removed.
3589         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3590         copy and nonatomic.
3591         * stub-objc.c (objc_add_property_declaration): Added additional
3592         arguments.
3593         (objc_set_property_attr): Removed.
3595 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3597         * c-common.h (objc_add_property_variable): Renamed to
3598         objc_add_property_declaration.  Added location argument.
3599         * stub-objc.c (objc_add_property_variable): Same change.
3600         
3601 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3603         * c-common.h (objc_maybe_printable_name): New.
3604         * stub-objc.c (objc_maybe_printable_name): New.
3606 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3607         Andrew Pinski <pinskia@gmail.com>
3609         * c-common.h (c_common_mark_addressable_vec): Declare.
3610         * c-common.c (c_common_mark_addressable_vec): New function.
3612 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3614         * c-common.h (objc_set_method_type): Removed.
3615         (objc_add_method_declaration): Added boolean argument.
3616         (objc_start_method_definition): Same change.
3617         (objc_build_method_signature): Same change.
3618         * stub-objc.c (objc_set_method_type): Removed.
3619         (objc_add_method_declaration): Added boolean argument.
3620         (objc_start_method_definition): Same change.
3621         (objc_build_method_signature): Same change.
3623 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3625         * c-common.h (finish_file): Removed.
3626         (objc_write_global_declarations): New.
3627         * c-opts.c (c_common_parse_file): Do not call finish_file.
3628         * stub-objc.c (objc_write_global_declarations): New.
3630 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3632         Implemented parsing @synthesize and @dynamic for
3633         Objective-C/Objective-C++.
3634         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3635         (objc_add_synthesize_declaration): New.
3636         (objc_add_dynamic_declaration): New.
3637         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3638         * stub-objc.c (objc_add_synthesize_declaration): New.
3639         (objc_add_dynamic_declaration): New.
3641 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3643         PR target/46041
3644         * c-cppbuiltin.c (mode_has_fma): Move function here from
3645         builtins.c.  Don't use the fma optab, instead just use the
3646         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3647         using -save-temps.
3649 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3651         Merge from 'apple/trunk' branch on FSF servers.
3653         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3655         Radar 4330422
3656         * c-common.h (objc_non_volatilized_type): New declaration
3657         * stub-objc.c (objc_non_volatilized_type): New stub.
3659 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3661         Merge from 'apple/trunk' branch on FSF servers.
3663         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3665         Radar 4133425
3666         * c-common.h (objc_diagnose_private_ivar): New decl.
3667         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3669 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3671         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3672         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3673         (objc_ivar_visibility_kind): New enum.
3674         (objc_set_visibility): Adjust prototype to use visibility enum.
3675         * stub-objc.c (objc_set_visibility): Adjust stub to use
3676         visibility enum.
3678 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3680         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3681         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3682         has the appropriate fma builtins.
3683         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3685 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3687         merge from FSF apple 'trunk' branch.
3688         2006 Fariborz Jahanian <fjahanian@apple.com>
3690         Radars 4436866, 4505126, 4506903, 4517826
3691         * c-common.c (c_common_resword): Define @property and its attributes.
3692         * c-common.h: Define property attribute enum entries.
3693         (OBJC_IS_PATTR_KEYWORD): New.
3694         (objc_property_attribute_kind): New enum.
3695         Declare objc_set_property_attr (), objc_add_property_variable (),
3696         objc_build_getter_call () and objc_build_setter_call ().
3697         * stub-objc.c (objc_set_property_attr): New stub.
3698         (objc_add_property_variable): Likewise.
3699         (objc_build_getter_call): Likewise.
3700         (objc_build_setter_call) Likewise.
3702 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3704         merge from FSF apple 'trunk' branch.
3705         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3707         Radar 3803157 (method attributes)
3708         * c-common.c (handle_deprecated_attribute): Recognize
3709         objc methods as valid declarations.
3710         * c-common.h: Declare objc_method_decl ().
3711         * stub-objc.c (objc_method_decl): New stub.
3713 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
3715         * c-common.c (parse_optimize_options): Call
3716         decode_cmdline_options_to_array_default_mask before
3717         decode_options.  Update arguments to decode_options.
3718         * c-common.h (c_common_init_options_struct): Declare.
3719         * c-opts.c (c_common_init_options_struct): New.  Split out from
3720         c_common_init_options.
3722 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3724         Implemented fast enumeration for Objective-C.
3725         * c-common.h (objc_finish_foreach_loop): New.
3726         * stub-objc.c (objc_finish_foreach_loop): New.
3728 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
3730         * c-common.h (struct diagnostic_context): Don't declare here.
3731         (c_common_initialize_diagnostics): Declare using
3732         diagnostic_context typedef.
3733         * c-opts.c (c_common_handle_option): Pass global_dc to
3734         handle_generated_option.
3736 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
3738         * c-opts.c (c_common_handle_option): Pass &global_options_set to
3739         handle_generated_option.
3741 2010-10-03  Ian Lance Taylor  <iant@google.com>
3743         * c.opt (-fplan9-extensions): New option.
3745 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3747         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3748         Remove.
3749         (c_cpp_builtins): Call functions from cppbuiltin.c instead
3750         of duplicating code.
3752 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3754         * c-common.c: Add two new entries for @optional
3755         and @required keywords.
3757         merge from FSF 'apple/trunk' branch.
3758         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3760         Radar 4386773
3761         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3762         objective-c keywords.
3763         (objc_set_method_opt): New declaration.
3764         * stub-objc.c (objc_set_method_opt): New stub.
3766 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3768         * c-common.c (handle_optimize_attribute): Pass &global_options to
3769         cl_optimization_save and cl_optimization_restore.
3770         * c-opts.c (c_common_handle_option): Pass &global_options to
3771         handle_generated_option.
3772         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3773         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3774         &global_options to cl_optimization_restore.
3776 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3778         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3779         Objective-C/Objective-C++ keywords.
3781 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3783         Merge from 'apple/trunk' branch on FSF servers.
3785         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3787         Radar 4281748
3788         * c-common.h (objc_check_global_decl): New declaration.
3789         * stub-objc.c (objc_check_global_decl): New stub.
3791 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3793         * c.opt: Don't use VarExists.
3795 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3797         * c-common.c (c_cpp_error): Update names of diagnostic_context
3798         members.
3799         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3800         cl_optimization members.
3801         * c-opts.c (warning_as_error_callback, c_common_handle_option,
3802         sanitize_cpp_opts, finish_options): Update names of cpp_options
3803         members.
3805 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3807         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3808         (objc_is_reserved_word): Removed.
3809         * c-common.c: Updated comments.
3810         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3811         objc_is_reserved_word.
3812         * stub-objc.c (objc_is_reserved_word): Removed.
3814 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3816         * c-common.h (objc_add_method_declaration): Adjust prototype to
3817         include attributes.
3818         (objc_start_method_definition): Likewise.
3819         (objc_build_keyword_decl): Likewise.
3820         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3821         (objc_start_method_definition): Likewise.
3822         (objc_build_keyword_decl): Likewise.
3824 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3826         * c-common.h (objc_start_class_interface): Adjust prototype.
3827         (objc_start_category_interface): Likewise.
3828         (objc_start_protocol): Likewise.
3829         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3830         (objc_start_class_interface): Likewise.
3831         (objc_start_category_interface): Likewise.
3833 2010-09-27  Ian Lance Taylor  <iant@google.com>
3835         * c-common.c (c_common_attribute_table): Add no_split_stack.
3836         (handle_no_split_stack_attribute): New static function.
3838 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3840         Merge from 'apple/trunk' branch on FSF servers.
3842         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3844         Radar 4229905
3845         * c-common.h (objc_have_common_type): New declaration.
3846         * stub-objc.c (objc_have_common_type): New stub.
3848         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3850         Radar 4154928
3851         * c-common.h (objc_common_type): New prototype.
3852         * stub-objc.c (objc_common_type): New stub.
3854 2010-09-24  Jan Hubicka  <jh@suse.cz>
3856         * c-common.c (handle_leaf_attribute): New function.
3857         (struct attribute_spec c_common_att): Add leaf.
3859 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
3861         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3862         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3863         -dump, -dump=, -imacros, -imacros=, -include, -include=,
3864         -include-barrier, -include-directory, -include-directory=,
3865         -include-directory-after, -include-directory-after=,
3866         -include-prefix, -include-prefix=, -include-with-prefix,
3867         -include-with-prefix=, -include-with-prefix-after,
3868         -include-with-prefix-after=, -include-with-prefix-before,
3869         -include-with-prefix-before=, -no-integrated-cpp,
3870         -no-line-commands, -no-standard-includes, -no-warnings, -output,
3871         -output=, -pedantic, -pedantic-errors, -preprocess,
3872         -print-missing-file-dependencies, -trace-includes, -traditional,
3873         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3874         -user-dependencies, -verbose, -write-dependencies,
3875         -write-user-dependencies, no-integrated-cpp, traditional): New.
3877 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3879         PR objc/23710
3880         * c-common.h (objc_start_method_definition): Return bool instead
3881         of void.
3882         * stub-objc.c (objc_start_method_definition): Return bool instead
3883         of void.
3885 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3887         PR objc/25965
3888         * c-common.h (objc_get_interface_ivars): New declaration.
3889         * stub-objc.c (objc_get_interface_ivars): New stub.
3891 2010-09-15  Ian Lance Taylor  <iant@google.com>
3893         * c-common.c (parse_optimize_options): Do not capitalize warning
3894         messages.  Remove period at end of warning message.
3896 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3898         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3899         (handle_alias_attribute): ... here.
3900         (handle_ifunc_attribute): New.
3902 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
3904         * c-common.h (do_warn_double_promotion): Declare.
3905         * c-common.c (do_warn_double_promotion): Define.
3907 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
3909         * c.opt (Wdouble-promotion): New.
3911 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3913         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3914         fvtable-thunks, fxref): Mark no longer supported in help text.
3916 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3918         * c.opt (Wimport, fall-virtual, falt-external-templates,
3919         fdefault-inline, fenum-int-equiv, fexternal-templates,
3920         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3921         fname-mangling-version-, fnew-abi, fnonnull-objects,
3922         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3923         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3924         applicable.
3925         (fhandle-exceptions): Mark with Alias and Warn.
3926         * c-opts.c (c_common_handle_option): Don't handle options marked
3927         as ignored.
3929 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3931         * c.opt (Wcomments, Werror-implicit-function-declaration,
3932         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3933         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3934         aliases.
3935         * c-common.c (option_codes): Use OPT_Wcomment instead of
3936         OPT_Wcomments.
3937         * c-opts.c (warning_as_error_callback, c_common_handle_option):
3938         Don't handle options marked as aliases.
3940 2010-08-25  Richard Guenther  <rguenther@suse.de>
3942         * c-common.c (c_common_get_alias_set): Remove special
3943         handling for pointers.
3945 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3947         * c-common.c: Use FOR_EACH_VEC_ELT.
3948         * c-gimplify.c: Likewise.
3949         * c-pragma.c: Likewise.
3951 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3953         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3954         RejectDriver.
3955         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
3956         RejectDriver.
3957         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3958         instead of OPT_MDX and OPT_MMDX.
3960 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3962         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3964 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
3966         * c.opt (MD, MMD): Change to MDX and MMDX.
3967         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3969 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
3971         * c-opts.c (c_common_handle_option): Call handle_generated_option
3972         instead of handle_option.
3974 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3976         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3977         (maybe_apply_renaming_pragma): Delete unneeded declarations.
3979 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3981         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3982         (pending_redefine_extname): Change type to a VEC.
3983         (add_to_renaming_pragma_list): Update for new type of
3984         pending_redefine_extname.
3985         (maybe_apply_renaming_pragma): Likewise.
3987 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
3989         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3990         visited.
3991         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3992         decide whether a type has already been declared/seen.
3993         Do not go to the original type.
3994         (dump_nested_types): New parameter forward.
3995         Generate forward declaration if needed and mark type as visited.
3996         (print_ada_declaration): Call dump_nested_types if not already done.
3997         Mark types as visited.
3999 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
4001         * c.opt (-print-pch-checksum): Remove option.
4002         * c-opts.c (c_common_handle_option): Don't handle
4003         OPT_print_pch_checksum.
4005 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4007         * c-common.h (c_common_handle_option): Update prototype and return
4008         value type.
4009         * c-opts.c (c_common_handle_option): Update prototype and return
4010         value type.  Update calls to handle_option and
4011         enable_warning_as_error.
4013 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
4015         PR c/45079
4016         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4018 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4020         * c-common.h (c_common_missing_argument): Remove.
4021         * c-opts.c (c_common_missing_argument): Remove.
4022         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4023         idirafter, imacros, include, isysroot, isystem, iquote): Add
4024         MissingArgError.
4025         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4027 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4029         * c-common.h (c_common_option_lang_mask,
4030         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4031         New.
4032         (c_common_init_options): Update prototype.
4033         * c-opts.c (c_common_option_lang_mask): New.
4034         (c_common_initialize_diagnostics): Split out of
4035         c_common_init_options.
4036         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4037         New.
4038         (c_common_init_options): Update prototype.  Use decoded options in
4039         search for -lang-asm.
4041 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
4043         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4044         * c-format.c: Likewise.
4046 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4048         * c-common.h: Include diagnostic-core.h. Error if already
4049         included.
4050         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4052 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4054         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4055         Do not include expr.h
4056         (vector_mode_valid_p): Move here.
4058 2010-06-21  DJ Delorie  <dj@redhat.com>
4060         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4061         allow these pragmas anywhere.
4063 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
4065         PR bootstrap/44509
4066         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4067         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4068         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4069         ggc_strdup instead of xstrdup.
4071 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
4073         * c-cppbuiltin.c: Include cpp-id-data.h.
4074         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4075         (lazy_hex_fp_value): New function.
4076         (builtin_define_with_hex_fp_value): Provide definitions lazily.
4078 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4080         * c-gimplify.c: Do not include tree-flow.h
4082 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
4084         PR other/44034
4085         * c-common.c: Rename targetm member:
4086         targetm.enum_va_list -> targetm.enum_va_list_p
4088 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
4090         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4092 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
4094         * c-cppbuiltin.c: Do not include except.h.
4096 2010-06-24  Andi Kleen  <ak@linux.intel.com>
4098         * c-common.c (warn_for_omitted_condop): New.
4099         * c-common.h (warn_for_omitted_condop): Add prototype.
4101 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
4103         * c.opt (lang-objc): Remove.
4104         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4106 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
4108         * c-opts.c: Include "tm_p.h".
4110 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
4112         * c-common.c (parse_optimize_options): Update call to
4113         decode_options.
4115 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
4117         * c-common.c (record_types_used_by_current_var_decl): Adjust for
4118         new type of types_used_by_cur_var_decl.
4120 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
4122         PR bootstrap/44512
4123         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4124         for C++ standard compliance.
4126 2010-06-16  Jason Merrill  <jason@redhat.com>
4128         * c.opt: Add -Wnoexcept.
4130 2010-06-16  Richard Guenther  <rguenther@suse.de>
4132         PR c/44555
4133         * c-common.c (c_common_truthvalue_conversion): Remove
4134         premature and wrong optimization concering ADDR_EXPRs.
4136 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
4138         * c-ada-spec.c (dump_sloc): Remove column info.
4139         (is_simple_enum): New function.
4140         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4141         enum types when relevant.
4143 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4145         * c-common.c (conversion_warning): Warn at expression
4146         location.
4148 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
4150         * c-opts.c (c_common_handle_option): Don't handle
4151         OPT_fshow_column.
4153 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
4155         * c-pragma.c (push_alignment): Use typed GC allocation.
4156         (handle_pragma_push_options): Likewise.
4158         * c-common.c (parse_optimize_options): Likewise.
4160         * c-common.h (struct sorted_fields_type): Add variable_size GTY
4161         option.
4163 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
4165         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4166         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4167         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4168         flag_signed_bitfields, warn_strict_null_sentinel,
4169         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4170         flag_gen_declaration, flag_no_gnu_keywords,
4171         flag_implement_inlines, flag_implicit_templates,
4172         flag_implicit_inline_templates, flag_optional_diags,
4173         flag_elide_constructors, flag_default_inline, flag_rtti,
4174         flag_conserve_space, flag_access_control, flag_check_new,
4175         flag_new_for_scope, flag_weak, flag_working_directory,
4176         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4177         flag_enforce_eh_specs, flag_threadsafe_statics,
4178         flag_pretty_templates): Remove.
4179         * c-common.h (flag_preprocess_only, flag_nil_receivers,
4180         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4181         flag_replace_objc_classes, flag_undef, flag_no_builtin,
4182         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4183         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4184         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4185         flag_no_gnu_keywords, flag_implement_inlines,
4186         flag_implicit_templates, flag_implicit_inline_templates,
4187         flag_optional_diags, flag_elide_constructors, flag_default_inline,
4188         flag_rtti, flag_conserve_space, flag_access_control,
4189         flag_check_new, flag_new_for_scope, flag_weak,
4190         flag_working_directory, flag_use_cxa_atexit,
4191         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4192         flag_threadsafe_statics, flag_pretty_templates,
4193         warn_strict_null_sentinel): Remove.
4194         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4195         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4196         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4197         fimplicit-inline-templates, fimplicit-templates,
4198         flax-vector-conversions, fms-extensions, fnil-receivers,
4199         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4200         frtti, fshort-double, fshort-enums, fshort-wchar,
4201         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4202         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4203         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4204         gen-decls, undef): Use Var.
4205         (fdefault-inline, foptional-diags): Document as doing nothing.
4206         * c-opts.c (c_common_handle_option): Remove cases for options now
4207         using Var.  Mark ignored options as such.
4209 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
4211         * c-common.c: Moved to here from parent directory.
4212         * c-common.def: Likewise.
4213         * c-common.h: Likewise.
4214         * c-cppbuiltin.c: Likewise.
4215         * c-dump.c: Likewise.
4216         * c-format.c: Likewise.
4217         * c-format.h : Likewise.
4218         * c-gimplify.c: Likewise.
4219         * c-lex.c: Likewise.
4220         * c-omp.c: Likewise.
4221         * c.opt: Likewise.
4222         * c-opts.c: Likewise.
4223         * c-pch.c: Likewise.
4224         * c-ppoutput.c: Likewise.
4225         * c-pragma.c: Likewise.
4226         * c-pragma.h: Likewise.
4227         * c-pretty-print.c: Likewise.
4228         * c-pretty-print.h: Likewise.
4229         * c-semantics.c: Likewise.
4230         * stub-objc.c: Likewise.
4232         * c-common.c: Include gt-c-family-c-common.h.
4233         * c-pragma.c: Include gt-c-family-c-pragma.h.
4235 Copyright (C) 2010-2014 Free Software Foundation, Inc.
4237 Copying and distribution of this file, with or without modification,
4238 are permitted in any medium without royalty provided the copyright
4239 notice and this notice are preserved.