Remove LIBGCC2_HAS_?F_MODE target macros.
[official-gcc.git] / gcc / c-family / ChangeLog
blob4b8d1a5d2bb168eb64b51cc1a7535c5895252456
1 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
3         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
4         macros for floating-point modes.
6 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
8         PR target/58757
9         * c-cppbuiltin.c (builtin_define_float_constants): Correct
10         __*_DENORM_MIN__ without denormals.
12 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
14         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
15         ubsan_instrument_vla, ubsan_instrument_return): Adjust
16         ubsan_create_data callers.
17         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
18         index is constant or BIT_AND_EXPR with constant mask and is
19         small enough for the bound.
20         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
21         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
23 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
25         * c.opt: Add CppReason to various flags.
26         (Wdate-time): Re-sort.
27         * c-common.c: Include c-common.h earlier.
28         (struct reason_option_codes_t): Delete.
29         (c_option_controlling_cpp_error): Prefix global type and struct
30         with cpp_.
32 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
34         * c.opt (Wnormalized): New.
35         (Wnormalized=): Use Enum and Reject Negative.
36         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
38 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
40         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
41         digits of floating-point modes if -fbuilding-libgcc.
43 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
45         * c-cppbuiltin.c (c_cpp_builtins): Also define
46         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
47         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
48         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
49         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
50         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
51         __LIBGCC_STACK_GROWS_DOWNWARD__,
52         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
53         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
54         __LIBGCC_DWARF_FRAME_REGISTERS__,
55         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
56         __LIBGCC_STACK_POINTER_REGNUM__ and
57         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
58         (builtin_define_with_value): Handle backslash-escaping in string
59         macro values.
61 2014-09-05  Richard Biener  <rguenther@suse.de>
63         PR middle-end/63148
64         * c-format.c (check_format_arg): Properly handle
65         effectively signed POINTER_PLUS_EXPR offset.
67 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
69         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
70         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
71         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
72         and Init.
73         * c-opts.c (c_common_handle_option): Do not handle here.
74         (sanitize_cpp_opts): Likewise.
75         * c-common.c (struct reason_option_codes_t): Handle
76         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
78 2014-09-03  Marek Polacek  <polacek@redhat.com>
80         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
82 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
83             Balaji V. Iyer  <balaji.v.iyer@intel.com>
84             Igor Zamyatin  <igor.zamyatin@intel.com>
86         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
87         * c-common.c (c_common_reswords): Added _Cilk_for.
88         * c-common.h (enum rid): Added RID_CILK_FOR.
89         (cilk_for_number_of_iterations): Add declaration.
90         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
91         CILK_FOR.
92         * c-pragma.c (init_pragma): Register "grainsize" pragma.
93         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
95 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
97         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
98         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
99         Wundef): Use CPP, Var and Init.
100         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
102 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
104         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
105         * c-opts.c (c_common_handle_option): Do not handle here.
107 2014-08-25  Jason Merrill  <jason@redhat.com>
109         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
110         -std=c++14 and -std=gnu++14, rather than the reverse.
111         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
112         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
113         * c-common.h (cxx_dialect): Remove cxx1y.
115 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
117         * c-common.h (enum cxx_dialect): Add cxx14.
118         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
119         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
120         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
122 2014-08-22  Jason Merrill  <jason@redhat.com>
124         * c.opt (std=gnu++17): Fix alias.
126 2014-08-22  Marek Polacek  <polacek@redhat.com>
128         PR c++/62199
129         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
130         check for vector types.  Drop LHS argument.
131         * c-common.h (warn_logical_not_parentheses): Adjust.
133 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
135         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
136         (Wmultichar): Likewise.
137         (Wdate-time): Use C-family languages instead of Common. Use CPP
138         and Var.
139         * c-opts.c (c_common_handle_option): Do not handle the above
140         options here.
141         (sanitize_cpp_opts): Likewise.
143 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
145         PR fortran/44054
146         * c-opts.c: Include tree-diagnostics.h.
147         (c_diagnostic_finalizer): New.
148         (c_common_initialize_diagnostics): Use it.
150 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
152         PR preprocessor/51303
153         * c-common.c (struct reason_option_codes_t option_codes):
154         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
156 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
158         PR c/60975
159         PR c/53063
160         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
161         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
162         (c_common_post_options): Call init_global_opts_from_cpp.
163         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
165 2014-08-19  Marek Polacek  <polacek@redhat.com>
167         PR c++/62153
168         * c-common.c (maybe_warn_bool_compare): New function.
169         * c-common.h (maybe_warn_bool_compare): Declare.
170         * c.opt (Wbool-compare): New option.
172 2014-08-19  Marek Polacek  <polacek@redhat.com>
174         * c.opt (Wc99-c11-compat): New option.
176 2014-08-19  Marek Polacek  <polacek@redhat.com>
178         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
179         to warn_c90_c99_compat.
180         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
181         to -1.
183 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
184             Steven Bosscher  <steven@gcc.gnu.org>
186         PR c/52952
187         * c-format.c: Add extra_arg_loc and format_string_loc to struct
188         format_check_results.
189         (check_function_format): Use true and add comment for boolean
190         argument.
191         (finish_dollar_format_checking): Use explicit location when warning.
192         (check_format_info): Likewise.
193         (check_format_arg): Set extra_arg_loc and format_string_loc.
194         (check_format_info_main): Use explicit location when warning.
195         (check_format_types): Pass explicit location.
196         (format_type_warning): Likewise.
198 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
200         PR fortran/44054
201         * c-format.c: Handle Fortran flags.
203 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
205         PR other/61962
206         * array-notation-common.c (find_rank): Added handling for other
207         types of references.
209 2014-08-10  Marek Polacek  <polacek@redhat.com>
211         PR c/51849
212         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
213         * c.opt (Wc90-c99-compat): Add option.
215 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
217         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
219 2014-08-03  Marek Polacek  <polacek@redhat.com>
221         * c-common.c (check_case_value):  Add location_t parameter.  Use it.
222         (c_add_case_label): Pass loc to check_case_value.
224 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
226         * cilk.c: Use hash_map instead of pointer_map.
228 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
230         * c-gimplify.c: Use hash_set instead of pointer_set.
232 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
234         PR middle-end/61455
235         * array-notation-common.c (extract_array_notation_exprs): Handling
236         of DECL_EXPR added.
238 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
240         * c-common.h (min_align_of_type): Removed prototype.
241         * c-common.c (min_align_of_type): Removed.
242         * c-ubsan.h (ubsan_maybe_instrument_reference,
243         ubsan_maybe_instrument_member_call): New prototypes.
244         * c-ubsan.c: Include stor-layout.h and builtins.h.
245         (ubsan_maybe_instrument_reference_or_call,
246         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
247         functions.
249 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
251         PR c++/60517
252         * c.opt (-Wreturn-local-addr): Move to common.opt.
254 2014-07-30  Jason Merrill  <jason@redhat.com>
256         PR c++/61659
257         PR c++/61687
258         Revert:
259         * c.opt (-fuse-all-virtuals): New.
261 2014-07-30  Tom Tromey  <tromey@redhat.com>
263         PR c/59855
264         * c.opt (Wdesignated-init): New option.
265         * c-common.c (c_common_attribute_table): Add "designated_init".
266         (handle_designated_init): New function.
268 2014-07-24  Marek Polacek  <polacek@redhat.com>
270         PR c/57653
271         * c-opts.c (c_finish_options): If -imacros is in effect, return.
273 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
275         PR preprocessor/60723 - missing system-ness marks for macro tokens
276         * c-ppoutput.c (struct print::prev_was_system_token): New data
277         member.
278         (init_pp_output): Initialize it.
279         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
280         (do_line_change): Return a flag saying if a line marker was
281         emitted or not.
282         (scan_translation_unit): Detect if the system-ness of the token we
283         are about to emit is different from the one of the previously
284         emitted token.  If so, emit a line marker.  Avoid emitting useless
285         adjacent line markers.  Avoid emitting line markers for tokens
286         originating from the expansion of built-in macros.
287         (scan_translation_unit_directives_only): Adjust.
289 2014-07-15  Marek Polacek  <polacek@redhat.com>
291         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
292         TYPE_MAX_VALUE is NULL.
294 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
296         PR middle-end/61294
297         * c.opt (Wmemset-transposed-args): New warning.
299 2014-07-10  Jason Merrill  <jason@redhat.com>
301         PR c++/61659
302         PR c++/61687
303         * c.opt (-fuse-all-virtuals): New.
305 2014-07-09  Richard Biener  <rguenther@suse.de>
307         PR c-family/61741
308         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
309         using unsigned arithmetic if overflow does not wrap instead of
310         if overflow is undefined.
312 2014-07-06  Marek Polacek  <polacek@redhat.com>
314         PR c/6940
315         * c.opt (Wsizeof-array-argument): New option.
317 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
319         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 
320         comments->count <= 1, as comments->entries might be NULL.
322 2014-07-01  Marek Polacek  <polacek@redhat.com>
324         * c.opt (Wint-conversion): New option.
326 2014-07-01  Marek Polacek  <polacek@redhat.com>
328         PR c/58286
329         * c.opt (Wincompatible-pointer-types): New option.
331 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
333         PR c++/51400
334         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
335         Do not discard TYPE_QUALS of type.
337 2014-06-26  Jason Merrill  <jason@redhat.com>
339         * c-common.h (enum cxx_dialect): Add cxx1z.
340         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
341         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
343 2014-06-26  Teresa Johnson  <tejohnson@google.com>
345         * c-common.h (get_dump_info): Declare.
346         * c-gimplify.c (c_genericize): Use saved dump files.
347         * c-opts.c (c_common_parse_file): Begin and end dumps
348         once around parsing invocation.
349         (get_dump_info): New function.
351 2014-06-23  Marek Polacek  <polacek@redhat.com>
352             Andrew MacLeod  <amacleod@redhat.com>
354         PR c/61553
355         * c-common.c (get_atomic_generic_size): Don't segfault if the
356         type doesn't have a size.
358 2014-06-20  Marek Polacek  <polacek@redhat.com>
360         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
361         (ubsan_walk_array_refs_r): New function.
362         (c_genericize): Instrument array bounds.
363         * c-ubsan.c: Include "internal-fn.h".
364         (ubsan_instrument_division): Mark instrumented arrays as having
365         side effects.  Adjust ubsan_type_descriptor call.
366         (ubsan_instrument_shift): Likewise.
367         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
368         (ubsan_instrument_bounds): New function.
369         (ubsan_array_ref_instrumented_p): New function.
370         (ubsan_maybe_instrument_array_ref): New function.
371         * c-ubsan.h (ubsan_instrument_bounds): Declare.
372         (ubsan_array_ref_instrumented_p): Declare.
373         (ubsan_maybe_instrument_array_ref): Declare.
375 2014-06-20  Hale Wang  <hale.wang@arm.com>
377         PR lto/61123
378         * c.opt (fshort-enums): Add to LTO.
379         * c.opt (fshort-wchar): Likewise.
381 2014-06-16  Marek Polacek  <polacek@redhat.com>
383         PR c/60439
384         * c.opt (Wswitch-bool): Add Var.
386 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
388         PR middle-end/61486
389         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
390         #pragma omp target teams or
391         #pragma omp {,target }teams distribute simd.
393 2014-06-12  Jason Merrill  <jason@redhat.com>
395         * c.opt (Wabi=, fabi-compat-version): New.
396         * c-opts.c (c_common_handle_option): Handle -Wabi=.
397         (c_common_post_options): Handle flag_abi_compat_version default.
398         Disallow -fabi-compat-version=1.
399         * c-common.h (abi_version_crosses): New.
401 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
403         * c-family/c-common.c (handle_section_attribute): Update handling for
404         section names that are no longer trees.
406 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
408         PR fortran/60928
409         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
410         (omp_pragmas): ... back here.
412 2014-06-05  Marek Polacek  <polacek@redhat.com>
414         PR c/49706
415         * c-common.c (warn_logical_not_parentheses): New function.
416         * c-common.h (warn_logical_not_parentheses): Declare.
417         * c.opt (Wlogical-not-parentheses): New option.
419 2014-06-04  Marek Polacek  <polacek@redhat.com>
421         PR c/30020
422         * c-common.c (check_case_bounds): Add location parameter.
423         Use it.
424         (c_add_case_label): Pass loc to check_case_bounds.
426 2014-06-03  Marek Polacek  <polacek@redhat.com>
428         PR c/60439
429         * c.opt (Wswitch-bool): New option.
431 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
433         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
434         Remove prototypes.
435         (record_types_used_by_current_var_decl): Move prototype to where
436         it belongs.
438         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
439         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
440         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
442 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
444         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
445         * c-common.c (c_common_nodes_and_builtins): Don't initialize
446         void_zero_node.
447         * c-pretty-print.c (pp_c_void_constant): New function.
448         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
449         (c_pretty_printer::expression): Handle VOID_CST.
450         * cilk.c (extract_free_variables): Likewise.
451         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
452         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
454 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
456         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
457         * c-pragma.c (push_alignment): Adjust.
458         (handle_pragma_push_options): Likewise.
460 2014-05-09  Marek Polacek  <polacek@redhat.com>
462         PR c/50459
463         * c-common.c (check_user_alignment): Return -1 if alignment is error
464         node.
465         (handle_aligned_attribute): Don't call default_conversion on
466         FUNCTION_DECLs.
467         (handle_vector_size_attribute): Likewise.
468         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
469         (handle_sentinel_attribute): Call default_conversion and allow even
470         integral types as an argument.
472 2014-05-08  Marek Polacek  <polacek@redhat.com>
474         PR c/61053
475         * c-common.c (min_align_of_type): New function factored out from...
476         (c_sizeof_or_alignof_type): ...here.
477         * c-common.h (min_align_of_type): Declare.
479 2014-05-08  Marek Polacek  <polacek@redhat.com>
481         PR c/61077
482         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
483         parameter type of main.
485 2014-05-07  DJ Delorie  <dj@redhat.com>
487         * c-cppbuiltin.c (print_bits_of_hex): New.
488         (builtin_define_type_minmax): Print values using hex so as not to
489         require a pre-computed list of string values.
491 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
492             Mike Stump  <mikestump@comcast.net>
493             Richard Sandiford  <rdsandiford@googlemail.com>
495         * c-ada-spec.c: Include wide-int.h.
496         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
497         (dump_generic_ada_node): Use wide-int interfaces.
498         * c-common.c: Include wide-int-print.h.
499         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
500         (pointer_int_sum): Use wide-int interfaces.
501         (c_common_nodes_and_builtins): Use make_int_cst.
502         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
503         (handle_alloc_size_attribute): Use wide-int interfaces.
504         (get_nonnull_operand): Likewise.
505         * c-format.c (get_constant): Use tree_fits_uhwi_p.
506         * c-lex.c: Include wide-int.h.
507         (narrowest_unsigned_type): Take a widest_int rather than two
508         HOST_WIDE_INTs.
509         (narrowest_signed_type): Likewise.
510         (interpret_integer): Update accordingly.  Use wide-int interfaces.
511         (lex_charconst): Use wide-int interfaces.
512         * c-pretty-print.c: Include wide-int.h.
513         (pp_c_integer_constant): Use wide-int interfaces.
514         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
515         INT_CST_LT_UNSIGNED.
517 2014-05-06  Richard Biener  <rguenther@suse.de>
519         * c-opts.c (c_common_post_options): For -freestanding,
520         -fno-hosted and -fno-builtin disable pattern recognition
521         if not enabled explicitely.
523 2014-05-02  Marek Polacek  <polacek@redhat.com>
525         * c.opt (Wsizeof-pointer-memaccess): Describe option.
527 2014-05-01  Marek Polacek  <polacek@redhat.com>
529         PR c/43245
530         * c.opt (Wdiscarded-qualifiers): Add.
532 2014-04-30  Marek Polacek  <polacek@redhat.com>
534         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
535         INT_MIN / -1 sanitization only for integer types.
537 2014-04-25  Marek Polacek  <polacek@redhat.com>
539         PR c/18079
540         * c-common.c (handle_noinline_attribute): Warn if the attribute
541         conflicts with always_inline attribute.
542         (handle_always_inline_attribute): Warn if the attribute conflicts
543         with noinline attribute.
545 2014-04-25  Marek Polacek  <polacek@redhat.com>
547         PR c/60156
548         * c-common.c (check_main_parameter_types): Warn about variadic main.
550 2014-04-24  Mike Stump  <mikestump@comcast.net>
552         * c.opt (Wshadow-ivar): Default to on.
554 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
556         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
558 2014-04-23  Marek Polacek  <polacek@redhat.com>
560         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
562 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
564         PR sanitizer/60275
565         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
566         if flag_sanitize_undefined_trap_on_error.
567         (ubsan_instrument_division, ubsan_instrument_shift,
568         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
569         if !flag_sanitize_recover.
571 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
573         PR libstdc++/43622
574         * c-common.c (registered_builtin_types): Make non-static.
575         * c-common.h (registered_builtin_types): Declare.
577 2014-04-14  Richard Biener  <rguenther@suse.de>
578         Marc Glisse  <marc.glisse@inria.fr>
580         PR c/60819
581         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
582         apply may-alias the scalar pointer type when applicable.
584 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
586         PR middle-end/60467
587         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
588         as possible argument for Cilk_spawn.
590 2014-04-11  Tobias Burnus  <burnus@net-b.de>
592         PR c/60194
593         * c.opt (Wformat-signedness): Add
594         * c-format.c(check_format_types): Use it.
596 2014-04-11  Jason Merrill  <jason@redhat.com>
598         PR c++/57926
599         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
600         default_conversion for an array argument.
602 2014-04-08  Marek Polacek  <polacek@redhat.com>
604         PR sanitizer/60745
605         * c-ubsan.c: Include asan.h.
606         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
608 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
610         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
612 2014-04-02  Marek Polacek  <polacek@redhat.com>
614         * c-common.h (c_expand_expr): Remove declaration.
616 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
618         PR c++/60689
619         * c-common.c (add_atomic_size_parameter): When creating new
620         params vector, push the size argument first.
622 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
624         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
625         ubsan_instrument_vla, ubsan_instrument_return): Adjust
626         ubsan_create_data callers.
628 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
630         PR debug/60603
631         * c-opts.c (c_finish_options): Restore cb_file_change call to
632         <built-in>.
634 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
636         PR middle-end/36282
637         * c-pragma.c (apply_pragma_weak): Only look at
638         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
639         DECL_ASSEMBLER_NAME_SET_P (decl).
640         (maybe_apply_pending_pragma_weaks): Exit early if
641         vec_safe_is_empty (pending_weaks) rather than only when
642         !pending_weaks.
643         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
644         set assembler name back to NULL afterwards.
646 2014-03-11  Jason Merrill  <jason@redhat.com>
648         * c.opt: Add -std=gnu++14.
650 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
652         * c-opts.c (c_common_post_options): Don't override
653         -ffp-contract=fast if unsafe-math-optimizations is on.
655 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
657     * c.opt: Enable LTO FE for fshort-double.
659 2014-03-07  Jason Merrill  <jason@redhat.com>
661         * c.opt: Add -std=c++14.
663 2014-03-06  Marek Polacek  <polacek@redhat.com>
665         PR c/60197
666         * cilk.c (contains_cilk_spawn_stmt): New function.
667         (contains_cilk_spawn_stmt_walker): Likewise.
668         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
669         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
671 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
673         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
674         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
675         even when flag_preprocess_only.
677 2014-02-26  Jason Merrill  <jason@redhat.com>
679         PR c++/59231
680         PR c++/11586
681         * c-common.c (shorten_compare): Don't check
682         c_inhibit_evaluation_warnings.
684 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
686         PR c/37743
687         * c-common.c (c_common_nodes_and_builtins): When initializing
688         c_uint{16,32,64}_type_node, also set corresponding
689         uint{16,32,64}_type_node to the same value.
691         PR c++/60267
692         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
693         for PRAGMA_IVDEP if flag_preprocess_only.
695 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
697         PR c/60101
698         * c-common.c (merge_tlist): If copy is true, call new_tlist,
699         if false, add ADD itself, rather than vice versa.
700         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
701         copy.  For SAVE_EXPR, only call merge_tlist once.
703 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
705         PR middle-end/60092
706         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
707         and tree_to_uhwi.
708         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
709         functions.
710         (c_common_attribute_table): Add alloc_align and assume_aligned
711         attributes.
713 2014-02-06  Marek Polacek  <polacek@redhat.com>
715         PR c/60087
716         * c-common.c (warn_for_sign_compare): Call warning_at with location
717         instead of warning.
719 2014-02-05  Marek Polacek  <polacek@redhat.com>
721         PR c/53123
722         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
723         statement.
725 2014-02-04  Marek Polacek  <polacek@redhat.com>
727         PR c/60036
728         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
729         SAVE_EXPR.
731 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
733         PR c++/53017
734         PR c++/59211
735         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
736         handle_vector_size_attribute, handle_nonnull_attribute): Call
737         default_conversion on the attribute argument.
738         (handle_nonnull_attribute): Increment the argument number.
740 2014-01-31  Marek Polacek  <polacek@redhat.com>
742         PR c/59963
743         * c-common.c (add_atomic_size_parameter): Pass vNULL to
744         build_function_call_vec.
745         (resolve_overloaded_builtin): Likewise.
746         * c-common.h (build_function_call_vec): Adjust declaration.
748 2014-01-30  Marek Polacek  <polacek@redhat.com>
750         PR c/59940
751         * c-common.h (unsafe_conversion_p): Adjust declaration.
752         (warnings_for_convert_and_check): Likewise.
753         (convert_and_check): Likewise.
754         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
755         expansion_point_location_if_in_system_header on it.
756         (warnings_for_convert_and_check): Add location parameter.  Call
757         expansion_point_location_if_in_system_header on it.  Use it.
758         (convert_and_check): Add location parameter.  Use it.
759         (conversion_warning): Likewise.
760         (c_add_case_label): Adjust convert_and_check calls.
761         (scalar_to_vector): Adjust unsafe_conversion_p calls.
763 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
765         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
766         flag_cilkplus.
767         * c-pragma.c (init_pragma): Likewise.
768         * c.opt: Likewise.
770 2014-01-23  Marek Polacek  <polacek@redhat.com>
772         PR c/59846
773         * c-common.c (shorten_compare): Add location_t parameter.
774         * c-common.h (shorten_binary_op): Adjust declaration.
776 2014-01-23  Marek Polacek  <polacek@redhat.com>
778         PR c/58346
779         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
780         * c-common.h: Declare it.
782 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
784         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
785         * c-ada-spec.c (dump_ads): Likewise.
786         (cpp_check): Likewise.
787         (dump_ada_specs): Likewise.
789 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
791         PR c++/49718
792         * c-common.c (handle_no_instrument_function_attribute): Allow
793         no_instrument_function attribute in class member
794         definition/declaration.
796 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
798         PR c/58943
799         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
800         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
801         being COMPOUND_EXPR.
802         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
803         operand a SAVE_EXPR and second MODIFY_EXPR.
805 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
807         PR target/58115
808         * c-pch.c (c_common_write_pch): Call
809         prepare_target_option_nodes_for_pch.
811 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
813         Update copyright years
815 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
817         * array-notation-common.c, c-cilkplus.c: Use the standard form for
818         the copyright notice.
820 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
822         * c-ada-spec.c (print_constructor): New function.
823         (print_destructor): Retrieve the origin of the destructor.
824         (print_ada_declaration): Revamp handling of constructors/destructors.
826 2013-12-23  Stuart Hastings <stuart@apple.com>
827             Bill Maddox  <maddox@google.com>
828             Jason Merrill  <jason@redhat.com>
830         * c.opt: Add -fdeclone-ctor-dtor.
831         * c-opts.c (c_common_post_options): Default to on iff -Os.
833 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
835         * c-common.c (c_common_attribute_table): Added "cilk simd function"
836         attribute.
837         * c-pragma.h (enum pragma_cilk_clause): Remove.
838         (enum pragma_omp_clause):  Added the following fields:
839         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
840         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
841         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
842         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
843         PRAGMA_CILK_CLAUSE_UNIFORM.
845         
846 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
848         * cilk.c (cilk_outline): Made this function non-static.
849         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
850         (create_cilk_wrapper): Added a new parameter: a function pointer.
851         (c_install_body_w_frame_cleanup): Remove
852         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
853         * c-common.h (cilk_outline): New prototype.
854         (gimplify_cilk_spawn): Removed two parameters.
855         (cilk_install_body_with_frame_cleanup): New prototype.
856         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
857         CILK_SPAWN_STMT case.
859 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
861         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
863         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
864         (int_array_type_node): Remove.
865         * c-common.c (c_common_nodes_and_builtins): Don't build it.
867 2013-12-05  Marek Polacek  <polacek@redhat.com>
869         PR c/52023
870         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
871         [ADJUST_FIELD_ALIGN].
873 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
875         PR c/52023
876         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
877         and check field alignment if set.
878         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
879         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
881 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
882             Marek Polacek  <polacek@redhat.com>
884         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
885         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
887 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
889         PR c/59309
890         * cilk.c (gimplify_cilk_spawn): Properly handle function without
891         arguments.
893 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
895         PR c/59280
896         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
897         goto invalid.  If it is error_mark_node, don't issue further
898         diagnostics.
900 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
902         * c.opt (Wopenmp-simd): New.
904 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
906         * c-ubsan.h (ubsan_instrument_return): New prototype.
907         * c-ubsan.c (ubsan_instrument_return): New function.
909 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
911         * c-common.c: Add required include files from gimple.h.
912         * c-gimplify.c: Likewise
913         * cilk.c: Likewise
915 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
917         * c-common.c (unsafe_conversion_p): Remove use of
918         EXPR_LOC_OR_HERE macro.
919         (conversion_warning): Likewise.
920         (warnings_for_convert_and_check): Likewise.
921         (warn_for_collisions_1): Likewise.
922         (shorten_compare): Likewise, and remove use of in_system_header
923         macro, using the location from the former.
924         * c-lex.c (dump_one_header): Remove use of input_filename macro.
925         (cb_def_pragma): Remove use of in_system_header macro.
926         (lex_string): Likewise.
927         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
929 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
930             Mike Stump  <mikestump@comcast.net>
931             Richard Sandiford  <rdsandiford@googlemail.com>
933         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
934         instead of TREE_INT_CST_LOW, in cases where there is a protecting
935         tree_fits_shwi_p or tree_fits_uhwi_p.
936         (dump_generic_ada_node): Likewise.
937         * c-format.c (check_format_arg): Likewise.
938         * c-pretty-print.c (pp_c_integer_constant): Likewise.
940 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
942         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
944 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
946         PR c/53001
947         * c-common.c (unsafe_conversion_p): Make this function
948         return an enumeration with more detail.
949         (conversion_warning): Use the new return type of
950         unsafe_conversion_p to separately warn either about conversions
951         that lower floating point number precision or about the other
952         kinds of conversions.
953         * c-common.h (enum conversion_safety): New enumeration.
954         (unsafe_conversion_p): switching return type to
955         conversion_safety enumeration.
956         * c.opt: Adding new warning -Wfloat-conversion and
957         enabling it with -Wconversion.
959 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
961         * c-opts.c: Include plugin.h.
962         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
964 2013-11-19  Marek Polacek  <polacek@redhat.com>
966         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
967         call.
968         (ubsan_instrument_shift): Likewise.
969         (ubsan_instrument_vla): Likewise.
971 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
973         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
974         cast to unsigned type.
976 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
978         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
979         tree_low_cst.
980         (complete_array_type): Update comment to refer to tree_to_[su]hwi
981         rather than tree_low_cst.
983 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
985         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
986         tree_to_uhwi throughout.
988 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
990         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
991         tree_low_cst (..., 0) with tree_to_shwi throughout.
993 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
995         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
996         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
998 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1000         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1001         host_integerp (..., 0) with tree_fits_shwi_p throughout.
1003 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
1005         * c-cilkplus.c: New file.
1006         * c-common.c (readonly_error): Add location argument.
1007         * c-common.h (readonly_error): Same.
1008         (c_finish_cilk_clauses): Protoize.
1009         (c_check_cilk_loop): Same.
1010         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1011         Do not fail on error_mark_node.
1012         Abstract increment canonicalization to here...
1013         (c_omp_for_incr_canonicalize_ptr): New.
1014         c-pragma.c (init_pragma): Register "simd" pragma.
1015         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1016         (enum pragma_cilk_clause): New.
1018 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
1020         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1021         wchar_type and host_integerp checks.
1023 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
1025         * c-common.c: Likewise.
1026         * c-gimplify.c: Likewise.
1027         * cilk.c: Likewise.
1029 2013-11-14  Diego Novillo  <dnovillo@google.com>
1031         * c-common.c: Include fold-const.h.
1032         Include stor-layout.h.
1033         Include calls.h.
1034         Include stringpool.h.
1035         Include attribs.h.
1036         Include varasm.h.
1037         Include trans-mem.h.
1038         * c-cppbuiltin.c: Include stor-layout.h.
1039         Include stringpool.h.
1040         * c-format.c: Include stringpool.h.
1041         * c-lex.c: Include stringpool.h.
1042         Include stor-layout.h.
1043         * c-pragma.c: Include stringpool.h.
1044         Include attribs.h.
1045         Include varasm.h.
1046         Include gcc-symtab.h.
1047         * c-pretty-print.c: Include stor-layout.h.
1048         Include attribs.h.
1049         * cilk.c: Include stringpool.h.
1050         Include calls.h.
1052 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
1054         * c-common.h (enum rid): Add RID_AUTO_TYPE.
1055         * c-common.c (c_common_reswords): Add __auto_type.
1056         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1058 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
1060         * c-common.c: Include gimplify.h.
1061         * c-gimplify.c: Likewise.
1062         * cilk.c: Likewise.
1063         * c-omp.c: Include gimple-expr.h instead of gimple.h.
1064         * c-ubsan.c: Don't include gimple.h.
1066 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
1068         * c-common.c (c_common_reswords): Add _Thread_local.
1070 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
1072         * c-common.c (atomic_size_supported_p): New function.
1073         (resolve_overloaded_atomic_exchange)
1074         (resolve_overloaded_atomic_compare_exchange)
1075         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1076         Use it instead of comparing size with a local list of sizes.
1078 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
1079             Joseph Myers  <joseph@codesourcery.com>
1081         * c-common.h (enum rid): Add RID_ATOMIC.
1082         * c-common.c (c_common_reswords): Add _Atomic.
1083         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1084         (keyword_is_type_qualifier): Accept RID_ATOMIC.
1085         * c-format.c (check_format_types): Check for extra _Atomic
1086         qualifiers in format argument.
1087         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1088         (pp_c_type_qualifier_list): Mention _Atomic in comment.
1090 2013-11-06  Tobias Burnus  <burnus@net-b.de>
1092         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1094 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
1096         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1097         standards modes.
1098         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1099         to mean lack of IEEE 754 support.
1101 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1103         * c.opt (-Wdate-time): New option
1104         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1106 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
1108         * c-cppbuiltin.c (cpp_iec_559_value): Test
1109         flag_excess_precision_cmdline not flag_excess_precision.
1111 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1113         * c.opt (fopenmp-simd): New option.
1114         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1115         (omp_pragmas): ... this new struct.
1116         (c_pp_lookup_pragma): Also walk omp_pragmas.
1117         (init_pragma): Init pragmas for -fopenmp-simd.
1119 2013-11-04  Marek Polacek  <polacek@redhat.com>
1121         PR c++/58979
1122         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1124 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
1126         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1127         New functions.
1128         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1130 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1132         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1133         (dump_ada_specs): Adjust prototype of second callback.
1134         * c-ada-spec.c (cpp_check): New global variable.
1135         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1136         (print_generic_ada_decl): Likewise.
1137         (has_static_fields): Change return type to bool and add guard.
1138         (has_nontrivial_methods): New predicate.
1139         (is_tagged_type): Change return type to bool.
1140         (separate_class_package): Call has_nontrivial_methods.
1141         (pp_ada_tree_identifier): Minor tweaks.
1142         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1143         (dump_ada_array_domains): Likewise.
1144         (dump_ada_array_type): Likewise.
1145         (dump_template_types): Remove cpp_check parameter and do not pass it to
1146         dump_generic_ada_node.
1147         (dump_ada_template): Likewise.
1148         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1149         recursively.
1150         (print_ada_methods): Change return type to integer.  Remove cpp_check
1151         parameter and do not pass it down.
1152         (dump_nested_types): Remove cpp_check parameter and do not pass it to
1153         dump_generic_ada_node.
1154         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
1155         accessing methods.
1156         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1157         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
1158         value of print_ada_methods.
1159         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1160         Set cpp_check to it before invoking dump_ada_nodes.
1161         (dump_ada_specs): Likewise.
1163 2013-11-03  Marek Polacek  <polacek@redhat.com>
1165         * c-ubsan.c: Don't include hash-table.h.
1166         (ubsan_instrument_vla): New function.
1167         * c-ubsan.h: Declare it.
1169 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
1171         Automated part of renaming of symtab_node_base to symtab_node.
1173         Patch autogenerated by rename_symtab.py from
1174         https://github.com/davidmalcolm/gcc-refactoring-scripts
1175         revision 58bb219cc090b2f4516a9297d868c245495ee622
1177         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1178         symtab_node_base to symtab_node.
1180 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
1182         Implement C++14 digit separators.
1183         * c-lex.c (interpret_float): Remove digit separators from scratch string
1184         before building real literal.
1186 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
1188         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1190 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1192         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1193         fields.
1194         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1195         enabled.
1196         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1197         (insert_cilk_frame): New prototype.
1198         (cilk_init_builtins): Likewise.
1199         (gimplify_cilk_spawn): Likewise.
1200         (c_cilk_install_body_w_frame_cleanup): Likewise.
1201         (cilk_detect_spawn_and_unwrap): Likewise.
1202         (cilk_set_spawn_marker): Likewise.
1203         (build_cilk_sync): Likewise.
1204         (build_cilk_spawn): Likewise.
1205         * cilk.c: New file.
1207 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
1209         Patch autogenerated by refactor_symtab.py from
1210         https://github.com/davidmalcolm/gcc-refactoring-scripts
1211         revision 58bb219cc090b2f4516a9297d868c245495ee622
1213         * c-gimplify.c (c_genericize): Update for conversion of symtab types
1214         to a true class hierarchy.
1215         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1217 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
1219         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1221 2013-10-26  Jeff Law  <law@redhat.com>
1223         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1224         * c-family/c.opt: Ignore and warn for mudflap options.
1226 2013-10-24  Tobias Burnus  <burnus@net-b.de>
1228         PR other/33426
1229         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1230         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1232 2013-10-23  Jason Merrill  <jason@redhat.com>
1234         * c-format.c (gcc_cxxdiag_char_table): Add %X.
1236 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
1238         * c-common.h (omp_clause_mask::operator !=): New method.
1239         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1240         instead of if (mask & something) tests everywhere.
1242         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1243         201307 instead of 201107.
1244         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1245         (c_common_attribute_table): Add "omp declare target" and
1246         "omp declare simd" attributes.
1247         (handle_omp_declare_target_attribute,
1248         handle_omp_declare_simd_attribute): New functions.
1249         * c-omp.c: Include c-pragma.h.
1250         (c_finish_omp_taskgroup): New function.
1251         (c_finish_omp_atomic): Add swapped argument, if true,
1252         build the operation first with rhs, lhs arguments and use NOP_EXPR
1253         build_modify_expr.
1254         (c_finish_omp_for): Add code argument, pass it down to make_code.
1255         (c_omp_split_clauses): New function.
1256         (c_split_parallel_clauses): Removed.
1257         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1258         c_omp_declare_simd_clauses_to_decls): New functions.
1259         * c-common.h (omp_clause_mask): New type.
1260         (OMP_CLAUSE_MASK_1): Define.
1261         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1262         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1263         omp_clause_mask::operator |, omp_clause_mask::operator &,
1264         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1265         omp_clause_mask::operator ==): New methods.
1266         (enum c_omp_clause_split): New.
1267         (c_finish_omp_taskgroup): New prototype.
1268         (c_finish_omp_atomic): Add swapped argument.
1269         (c_finish_omp_for): Add code argument.
1270         (c_omp_split_clauses): New prototype.
1271         (c_split_parallel_clauses): Removed.
1272         (c_omp_declare_simd_clauses_to_numbers,
1273         c_omp_declare_simd_clauses_to_decls): New prototypes.
1274         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1275         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1276         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1277         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1278         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1279         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1280         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1281         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1282         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1283         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1284         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1285         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1286         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1287         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1288         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1289         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1290         PRAGMA_OMP_CLAUSE_UNIFORM.
1292 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
1294         PR tree-optimization/20318
1295         * c-common.c (handle_returns_nonnull_attribute): New function.
1296         (c_common_attribute_table): Add returns_nonnull.
1298 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
1300         PR c++/19476
1301         * c.opt (fcheck-new): Move to common.opt.
1303 2013-09-25  Marek Polacek  <polacek@redhat.com>
1304             Jakub Jelinek  <jakub@redhat.com>
1306         PR sanitizer/58413
1307         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1308         an expression if we can prove it is correct.
1309         (ubsan_instrument_division): Likewise.  Remove unnecessary
1310         check.
1312 2013-09-18  Marek Polacek  <polacek@redhat.com>
1314         PR sanitizer/58411
1315         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1316         Declare it.
1317         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1319 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
1321         PR target/48094
1322         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1323         fobjc-gc, freplace-objc-classes): Accept for LTO.
1325 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
1327         * c-target.def: New hook
1329 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1331         PR c++/43452
1332         * c.opt (Wdelete-incomplete): Add.
1334 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
1336         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1337         (vector_types_compatible_elements_p): New function.
1338         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1339         declaration.
1340         (vector_types_compatible_elements_p): Declare.
1342 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1344         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1345         a virtual member function.
1346         (pp_simple_type_specifier): Remove.
1347         (pp_c_type_specifier): Likewise.
1348         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1349         Rename from pp_c_type_specifier.  Adjust.
1350         (c_pretty_printer::c_pretty_printer): Do not assign to
1351         simple_type_specifier.
1353 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1355         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1356         member function.
1357         (c_pretty_printer::storage_class_specifier): Likewise.
1358         (c_pretty_printer::initializer): Likewise.
1359         (pp_declaration): Remove.
1360         (pp_declaration_specifiers): Likewise.
1361         (pp_abstract_declarator): Likewise.
1362         (pp_declarator): Likewise.
1363         (pp_type_id): Likewise.
1364         (pp_statement): Likewise.
1365         (pp_constant): Likewise.
1366         (pp_id_expression): Likewise.
1367         (pp_primary_expression): Likewise.
1368         (pp_unary_expression): Likewise.
1369         (pp_multiplicative_expression): Likewise.
1370         (pp_conditional_expression): Likewise.
1371         (pp_assignment_expression): Likewise.
1372         (pp_expression): Likewise.
1373         (pp_c_type_id): Likewise.
1374         (pp_c_storage_class_specifier): Likewise.
1375         * c-pretty-print.c (pp_c_type_cast): Tidy.
1376         (pp_c_pointer): Likewise.
1377         (pp_c_type_specifier): Likewise.
1378         (pp_c_parameter_type_list): Likewise.
1379         (pp_c_function_definition): Likewise.
1380         (pp_c_init_declarator): Likewise.
1381         (pp_c_initializer_list): Likewise.
1382         (pp_c_constructor_elts): Likewise.
1383         (c_pretty_printer::direct_abstract_declarator): Likewise.
1384         (c_pretty_printer::declaration_specifiers): Likewise.
1385         (c_pretty_printer::primary_expression): Likewise.
1386         (c_pretty_printer::postfix_expression): Likewise.
1387         (c_pretty_printer::type_id): Rename from pp_c_type_id.
1388         (c_pretty_printer::storage_class_specifier): Rename from
1389         pp_c_storage_class_specifier.
1390         (c_pretty_printer::initializer): Rename from pp_c_initializer.
1391         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1392         storage_class_specifier, initializer, offset_list, flags.
1394 2013-08-30  Marek Polacek  <polacek@redhat.com>
1396         * c-ubsan.c: New file.
1397         * c-ubsan.h: New file.
1399 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1401         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1402         member function.
1403         (c_pretty_printer::declaration_specifiers): Likewise.
1404         (c_pretty_printer::declarator): Likewise.
1405         (c_pretty_printer::abstract_declarator): Likewise.
1406         (c_pretty_printer::direct_abstract_declarator): Likewise.
1407         (c_pretty_printer::direct_declarator): Likewise.
1408         (c_pretty_printer::function_specifier): Likewise.
1409         (pp_declaration): Adjust.
1410         (pp_declaration_specifiers): Likewise.
1411         (pp_abstract_declarator): Likewise.
1412         (pp_direct_declarator): Likewise.
1413         (pp_function_specifier): Likewise.
1414         (pp_direct_abstract_declarator): Remove as unused.
1415         (pp_c_declaration): Remove.
1416         (pp_c_declaration_specifiers): Likewise.
1417         (pp_c_declarator): Likewise.
1418         (pp_c_direct_declarator): Likewise.
1419         (pp_c_function_specifier): Likewise.
1420         (pp_c_direct_abstract_declarator): Likewise.
1421         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1422         from pp_c_abstract_declarator.  Adjust.
1423         (c_pretty_printer::direct_abstract_declarator):  Rename from
1424         pp_c_direct_abstract_declarator.  Adjust.
1425         (c_pretty_printer::function_specifier): Rename from
1426         pp_c_function_specifier.  Adjust.
1427         (c_pretty_printer::declaration_specifiers): Rename from
1428         pp_c_declaration_specifiers.  Adjust.
1429         (c_pretty_printer::direct_declarator): Rename from
1430         pp_c_direct_declarator.  Adjust.
1431         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
1432         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
1433         (c_pretty_printer::c_pretty_printer): Do not assign to
1434         declaration, declaration_specifiers, declarator,
1435         direct_declarator, direct_abstract_declarator, function_specifier.
1437 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
1439         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1440         virtual member function.
1441         (c_pretty_printer::multiplicative_expression): Likewise.
1442         (c_pretty_printer::conditional_expression): Likewise.
1443         (c_pretty_printer::assignment_expression): Likewise.
1444         (c_pretty_printer::expression): Likewise.
1445         (pp_unary_expression): Adjust.
1446         (pp_multiplicative_expression): Likewise.
1447         (pp_assignment_expression): Likewise.
1448         (pp_conditional_expression): Likewise.
1449         (pp_expression): Likewise.
1450         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1451         from pp_c_unary_expression.  Adjust.
1452         (c_pretty_printer::multiplicative_expression): Rename from
1453         pp_c_multiplicative_expression.  Adjust.
1454         (c_pretty_printer::conditional_expression): Rename from
1455         pp_c_conditional_expression.  Adjust.
1456         (c_pretty_printer::assignment_expression): Rename from
1457         pp_c_assignment_expression.  Adjust.
1458         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
1459         (c_pretty_printer::c_pretty_printer): Do not assign to
1460         unary_expression, multiplicative_expression,
1461         conditional_expression, expression.
1463 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1465         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1466         virtual member function.
1467         (pp_postfix_expression): Adjust.
1468         (pp_c_postfix_expression): Remove.
1469         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1470         from pp_c_postfix_expression.  Adjust.
1471         (c_pretty_printer::c_pretty_printer): Do not assign to
1472         postfix_expression.
1474 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1476         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1477         virtua member function.
1478         (pp_primary_expression): Adjust.
1479         (pp_c_primary_expression): Remove.
1480         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1481         from pp_c_primary_expression.  Adjust.
1482         (pp_c_initializer_list): Use pp_primary_expression.
1483         (c_pretty_printer::c_pretty_printer): Do not assign to
1484         primary_expression.
1486 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1488         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1489         * c-pretty-print.c (M_): Remove.
1490         (c_pretty_printer::translate_string): Define.
1491         (pp_c_type_specifier): Use it.
1492         (pp_c_primary_expression): Likewise.
1493         (pp_c_expression): Likewise.
1495 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1497         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1498         virtual function.
1499         (pp_c_id_expression): Remove.
1500         (pp_id_expression): Adjust.
1501         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1502         pp_c_id_expression.  Adjust.
1503         (pp_c_postfix_expression): Use pp_id_expression.
1504         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1506 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1508         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1509         member function.
1510         (pp_constant): Adjust.
1511         (pp_c_constant): Remove.
1512         * c-pretty-print.c (c_pretty_printer::constant): Rename from
1513         pp_c_constant.  Adjust.
1514         (pp_c_constant)
1515         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1516         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1518 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1520         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1521         (c_pretty_printer::c_pretty_printer): Declare.
1522         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1523         c_pretty_printer_init.  Adjust.
1524         (print_c_tree): Do not call c_pretty_printer_init.
1525         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1527 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
1529         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1531 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1533         PR c++/58080
1534         * c-common.c (pointer_int_sum): Add bool parameter.
1535         * c-common.h (pointer_int_sum): Adjust declaration.
1537 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1539         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1540         c_pretty_printer variable.
1542 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1544         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1545         (pp_base): Remove.
1546         (pp_c_base): Likewise.  Adjust users.
1547         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1548         (pp_c_whitespace): Do not call pp_base.
1549         (pp_c_left_paren): Likewise.
1550         (pp_c_right_paren): Likewise.
1551         (pp_c_left_brace): Likewise.
1552         (pp_c_right_brace): Likewise.
1553         (pp_c_left_bracket): Likewise.
1554         (pp_c_right_bracket): Likewise.
1555         (pp_c_dot): Likewise.
1556         (pp_c_ampersand): Likewise.
1557         (pp_c_star): Likewise.
1558         (pp_c_arrow): Likewise.
1559         (pp_c_semicolon): Likewise.
1560         (pp_c_complement): Likewise.
1561         (pp_c_exclamation): Likewise.
1562         (pp_c_direct_declarator): Likewise.
1563         (pp_c_ws_string): Likewise.
1564         (pp_c_identifier): Likewise.
1565         (pp_c_statement): Likewise.
1566         (print_c_tree): Likewise.
1568 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1570         PR c++/58072
1571         * c-common.c (c_parse_error): Catch user-defined literal tokens and
1572         provide useful error strings.
1574 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1576         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1577         printer functions instead of pp_string or operators and punctuators.
1578         (dump_generic_ada_node): Likewise.
1579         * c-pretty-print.c (pp_c_type_specifier): Likewise.
1580         (pp_c_relational_expression): Likewise.
1581         (pp_c_logical_or_expression): Likewise.
1583 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1585         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1586         functions instead of pp_character.
1587         (pp_ada_tree_identifier): Likewise.
1588         (dump_ada_double_name): Likewise.
1589         (dump_ada_function_declaration): Likewise.
1590         (dump_ada_array_domains): Likewise.
1591         (dump_template_types): Likewise.
1592         (dump_generic_ada_node): Likewise.
1593         (print_ada_declaration): Likewise.
1594         (print_ada_struct_decl): Likewise.
1595         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1597 2013-07-23  Tom Tromey  <tromey@redhat.com>
1599         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1600         * c-common.c (c_common_reswords): Add _Generic.
1602 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1604         * c-common.c: Fix typos.
1605         * c-common.h: Likewise.
1607 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1609         PR c++/55203
1610         * c-common.c (c_common_attribute_table): Add warn_unused.
1611         (handle_warn_unused_attribute): New.
1613 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1615         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1616         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1618 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1620         PR c++/57869
1621         * c.opt: Add Wconditionally-supported.
1623 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1625         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1626         unused variables l_length and l_node.
1628 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1630         PR c/57821
1631         * c-common.c (complete_array_type): Delay folding first index
1632         like other indices.  When folding, check for index overflow.
1634 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1636         PR c++/57509
1637         * c-common.h (c_build_vec_perm_expr): New complain argument.
1638         * c-common.c (c_build_vec_perm_expr): Likewise.
1639         Use save_expr also in C++.
1641 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1643         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1644         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1645         * c-opts.c (c_common_post_options): Likewise.
1647 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1649         * array-notation-common.c (length_mismatch_in_expr): Changed the
1650         parameter type's from a dynamic array to a vec_tree.  Also removed
1651         the size parameters.
1652         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1653         the change above.
1655 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1657         * c-common.h (struct cilkplus_an_parts): New structure.
1658         (struct cilkplus_an_loop_parts): Likewise.
1659         (cilkplus_extract_an_triplets): New prototype.
1660         (fix_sec_implicit_args): Likewise.
1661         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1662         (fix_sec_implicit_args): Likewise.
1664 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1666         * array-notation-common.c (find_inv_trees): Removed an unwanted
1667         typecasting.
1668         * c-common.h (struct inv_list::additional_tcodes): Changed type from
1669         enum rid to enum tree_code.
1671 2013-06-11  Jan Hubicka  <jh@suse.cz>
1673         * c-common.c (handle_alias_ifunc_attribute): Do not set
1674         DECL_EXTERNAL for weakref variables.
1675         * c-pragma.c (handle_pragma_weak): Make sure aliases
1676         are not declared as external.
1678 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1680         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1681         function from c/c-array-notation.c.
1682         (is_cilkplus_reduce_builtin): Likewise.
1683         (find_rank): Likewise.
1684         (extract_array_notation_exprs): Likewise.
1685         (replace_array_notations): Likewise.
1686         (find_inv_trees): Likewise.
1687         (replace_inv_trees): Likewise.
1688         (contains_array_notation_expr): Likewise.
1689         (find_correct_array_notation_type): Likewise.
1690         * c-common.h (struct inv_list): Moved this struct from the file
1691         c/c-array-notation.c and added a new field called additional tcodes.
1692         (length_mismatch_in_expr_p): New prototype.
1693         (is_cilkplus_reduce_builtin): Likewise.
1694         (find_rank): Likewise.
1695         (extract_array_notation_exprs): Likewise.
1696         (replace_array_notation): Likewise.
1697         (find_inv_trees): Likewise.
1698         (replace_inv_trees): Likewise.
1699         (find_correct_array_notation_type): Likewise.
1701 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1703         * c-common.c (c_define_builtins): When cilkplus is enabled, the
1704         function array_notation_init_builtins is called.
1705         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1706         * c-common.def (ARRAY_NOTATION_REF): New tree.
1707         * c-common.h (build_array_notation_expr): New function declaration.
1708         (build_array_notation_ref): Likewise.
1709         (extract_sec_implicit_index_arg): New extern declaration.
1710         (is_sec_implicit_index_fn): Likewise.
1711         (ARRAY_NOTATION_CHECK): New define.
1712         (ARRAY_NOTATION_ARRAY): Likewise.
1713         (ARRAY_NOTATION_START): Likewise.
1714         (ARRAY_NOTATION_LENGTH): Likewise.
1715         (ARRAY_NOTATION_STRIDE): Likewise.
1716         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1717         ARRAY_NOTATION_REF.
1718         (pp_c_expression): Likewise.
1719         * c.opt (flag_enable_cilkplus): New flag.
1720         * array-notation-common.c: New file.
1722 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1724         PR c++/57274
1725         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1727 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1729         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1730         vectors.
1732 2013-05-07  Han Shen  <shenhan@google.com>
1734         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1736 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1738         * c-common.c (check_user_alignment): Emit error for negative values.
1740 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1742         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1744 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1746         * c-cppbuiltin.c (c_cpp_builtins): Do not define
1747         __GXX_EXPERIMENTAL_CXX1Y__.
1749 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1750             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1752         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1753         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1754         to simply use OPT_Wpointer_arith.
1755         (c_sizeof_or_alignof_type): Likewise.
1757 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1759         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1761 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1763         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1764         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1765         specifiers.
1767 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1769         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1771 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1773         * c-common.c (pointer_int_sum): Remove dead code.
1775 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1777         PR middle-end/56524
1778         * c-common.c (handle_optimize_attribute): Don't call
1779         save_optabs_if_changed.
1781 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1783         PR middle-end/56461
1784         * c-pch.c (pch_init): Free target_validity at the end.
1786 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
1788         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1790 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1791             Jakub Jelinek  <jakub@redhat.com>
1793         PR sanitizer/56454
1794         * c-common.c (handle_no_sanitize_address_attribute): New function.
1795         (c_common_attribute_table): Add no_sanitize_address attribute.
1796         (handle_no_address_safety_analysis_attribute): Add
1797         no_sanitize_address attribute, not no_address_safety_analysis
1798         attribute.
1800 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1802         PR target/52555
1803         * c-common.c (handle_optimize_attribute): Call
1804         save_optabs_if_changed.
1806 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
1807             Steven Bosscher  <steven@gcc.gnu.org>
1809         PR pch/54117
1810         * c-opts.c (c_common_post_options): If debug info is enabled
1811         and non-dwarf*, refuse to load PCH files and when writing PCH
1812         file warn.
1814 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1816         PR middle-end/56167
1817         * c-common.c (handle_error_attribute): Fix condition.
1819 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
1821         PR c++/55742
1822         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1824 2013-01-18  Jason Merrill  <jason@redhat.com>
1826         PR target/54908
1827         * c.opt (-fextern-tls-init): New.
1828         * c-opts.c (c_common_post_options): Handle it.
1830 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
1832         PR c/48418
1833         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1834         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1835         and is either negative or bigger or equal to type precision
1836         of the first operand.
1838 2012-12-03  Marek Polacek  <polacek@redhat.com>
1840         PR c/55570
1841         * c-common.c (check_user_alignment): Swap order of tests,
1842         check TREE_CODE first.
1844 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1846         PR c++/52654
1847         * c-common.h (overflow_type): New enum.
1848         (build_userdef_literal): Add overflow_type argument.
1849         (tree_userdef_literal): Add overflow_type.
1850         (USERDEF_LITERAL_OVERFLOW): New access macro.
1851         * c-common.c (build_userdef_literal): Add overflow_type
1852         argument.
1853         * c-lex.c (c_lex_with_flags): Add overflow_type to
1854         build_userdef_literal calls.
1855         (interpret_integer, interpret_float): Add overflow_type argument.
1857 2012-11-28  Richard Biener  <rguenther@suse.de>
1859         PR c/35634
1860         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1861         here and use a type with proper overflow behavior for types that would
1862         need to be promoted for the arithmetic.
1864 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1866         PR sanitizer/55435
1867         * c-common.c (handle_no_address_safety_analysis_attribute): New
1868         function.
1869         (c_common_attribute_table): Add no_address_safety_analysis.
1871 2012-11-16  Simon Baldwin  <simonb@google.com>
1873         * c.opt: Add f[no-]canonical-system-headers.
1874         * c-opts.c (c_common_handle_option): Handle
1875         OPT_fcanonical_system_headers.
1877 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1879         PR c++/54413
1880         * c-opts.c (c_common_handle_option): Set new flags.
1881         * c.opt: Describe new flags.
1883 2012-11-09  Jason Merrill  <jason@redhat.com>
1885         * c.opt (Wabi-tag): New.
1887 2012-11-09  Andi Kleen  <ak@linux.intel.com>
1889         PR 55139
1890         * c-common.c (get_atomic_generic_size): Mask with
1891         MEMMODEL_MASK
1893 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1895         PR c/53063
1896         * c.opt (Wformat): Make it Alias Wformat=1.
1897         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1898         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1899         LangEnabledBy.
1900         (Wformat=): RejectNegative. Use LangEnabledBy.
1901         (Wnonnull): Use LangEnabledBy.
1902         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1903         * c-format.c (set_Wformat): Delete.
1904         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1905         (maybe_read_dollar_number):  Likewise.
1906         (avoid_dollar_number):  Likewise.
1907         (finish_dollar_format_checking):  Likewise.
1908         (check_format_info):  Likewise.
1909         (check_format_info_main):  Likewise.
1910         (check_format_types):  Likewise.
1911         (format_type_warning):  Likewise.
1912         * c-common.c (int):  Likewise.
1913         (check_function_sentinel):  Likewise.
1914         * c-common.h (warn_format,set_Wformat): Do not declare here.
1916 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1918         PR c/53063
1919         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1920         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1921         Use LangEnabledBy.
1922         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1923         common.opt.
1924         (Wvariadic-macros): Init(1).
1925         * c-opts.c (c_common_handle_option): Do not handle them
1926         explicitly.
1927         (c_common_post_options): Likewise.
1928         (sanitize_cpp_opts): warn_unused_macros is now
1929         cpp_warn_unused_macros.
1930         (push_command_line_include): Likewise.
1931         * c-common.c (warn_unknown_pragmas): Do not define.
1932         * c-common.h (warn_unknown_pragmas): Do not declare.
1934 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1936         PR c/51294
1937         * c-common.c (conversion_warning): Handle conditional expressions.
1939 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1941         PR c++/54930
1942         * c.opt (Wreturn_local_addr): Define new option.
1944 2012-10-25  Jason Merrill  <jason@redhat.com>
1946         * c.opt (Wvirtual-move-assign): New.
1948         * c.opt (Winherited-variadic-ctor): New.
1950 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1952         PR c++/54427
1953         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1955 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
1957         * c-common.h (pch_cpp_save_state): Declare.
1958         * c-target.def (c_preinclude): New hook.
1959         * c-opts.c (done_preinclude): New.
1960         (push_command_line_include): Handle default preincluded header.
1961         (cb_file_change): Call pch_cpp_save_state when calling
1962         push_command_line_include.
1963         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1964         (pch_cpp_save_state): New.
1965         (pch_init): Call pch_cpp_save_state conditionally, instead of
1966         calling cpp_save_state.
1968 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1970         PR c/53063
1971         PR c/40989
1972         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1973         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1974         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1975         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1976         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1977         * c-opts.c (c_common_handle_option): Remove explicit handling from
1978         here.
1979         (c_common_post_options): Likewise.
1981 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1983         * c-ada-spec.c (LOCATION_COL): Delete.
1984         (compare_location): New function.
1985         (compare_node): Use it.
1986         (compare_comment): Likewise.
1988 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1990         PR c/53063
1991         PR c/40989
1992         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1993         * c-opts.c (c_common_handle_option): Do not set them here. Add
1994         comment.
1995         (c_common_post_options): Likewise.
1997 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1999         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2000         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2001         Remove POINTER_TYPE handling, add large unsigned handling and use
2002         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2004 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
2006         PR c/54381
2007         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2008         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2009         locs and array of 3 trees instead of just single loc and single
2010         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
2011         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2012         For *cmp* builtins that take two sources strings report warnings
2013         about first and second source, not about destination and source.
2015 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
2017         PR c++/53055
2018         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2020 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
2022         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2023         declaring something coming from another file.
2025 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
2027         PR ada/54845
2028         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2030 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
2032         PR c++/54194
2033         * c-common.c (warn_about_parentheses): Add location_t parameter;
2034         use EXPR_LOC_OR_LOC.
2035         * c-common.h: Update declaration.
2037 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
2039         PR c++/54427
2040         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2041         more operations. Make error messages optional.
2042         * c-common.h (enum stv_conv): Moved from c-typeck.c.
2043         (scalar_to_vector): Declare.
2045 2012-10-08  Jason Merrill  <jason@redhat.com>
2047         * c-common.c (c_common_reswords): Add thread_local.
2049 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
2051         PR c++/53528 C++11 attribute support
2052         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2053         new functions.
2054         * c-common.c (check_cxx_fundamental_alignment_constraints): New
2055         static function.
2056         (handle_aligned_attribute): In choose strictest alignment
2057         among many.  Use new check_cxx_fundamental_alignment_constraints.
2058         (handle_transparent_union_attribute): In c++11 attribute syntax,
2059         don't look through typedefs.
2061 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
2063         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2064         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2065         out of dumpfile.h.
2067 2012-09-25  Dehao Chen  <dehao@google.com>
2069         PR middle-end/54645
2070         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
2071         map when read in the pch.
2073 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
2075         * c-ada-spec.c: Style fixes.
2077 2012-09-18 Thomas Quinot  <quinot@adacore.com>
2079         * c.opt (-fada-spec-parent): Define new command line switch.
2080         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2081         is specified, generate binding spec as a child of the specified unit.
2083 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
2084             Manuel López-Ibáñez  <manu@gcc.gnu.org>
2086         PR c++/53210
2087         * c.opt ([Winit-self]): Enabled by -Wall in C++.
2089 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
2091         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2092         for pointers, and add missing Convention C pragma.
2093         (print_ada_struct_decl): Add missing aliased keyword.
2094         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2096 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
2098         * c-common.c (sizeof_pointer_memaccess_warning): New function.
2099         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2100         * c-opts.c (c_common_handle_option): Enable it for -Wall.
2101         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2102         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2104 2012-08-10  Richard Guenther  <rguenther@suse.de>
2106         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2108 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
2110         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2111         instead of separate pp_newline and pp_flush.
2112         (print_c_tree): Likewise.
2114 2012-07-26  Richard Henderson  <rth@redhat.com>
2116         * c-common.c (handle_hot_attribute): Allow labels.
2117         (handle_cold_attribute): Likewise.
2119 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
2121         PR c++/28656
2122         * c-common.c (check_function_nonnull): Handle multiple nonnull
2123         attributes properly.
2125 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
2127         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2128         * c-ada-spec.c: Likewise.
2129         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2131 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
2133         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2134         Remove code conditional on it.
2136 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
2138         * c-gimplify.c: Do not include basic-block.h.
2139         * c-common.c: Do not include linfuncs.h.
2141 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
2143         * c-common.h: Include tree.h.
2145 2012-07-02  Jason Merrill  <jason@redhat.com>
2147         PR c++/53524
2148         * c-common.c (get_priority): Call default_conversion.
2150 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
2152         * c-pch.c (c_common_write_pch): Remove unused variables.
2154 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
2156         * cppspec.c: Moved from gcc/ to here.
2158 2012-06-27  Kai Tietz  <ktietz@redhat.com>
2160         PR preprocessor/37215
2161         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2163 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
2165         * c-common.h (c_common_print_pch_checksum): Remove.
2166         * c-pch.c: Do not include output.h.
2167         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2168         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2169         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2170         (struct c_pch_header): Remove.
2171         (get_ident): Update gpch version.
2172         (pch_init): Do not print executable_checksum to asm_out_file.
2173         Do not fail if there is no asm_out_file to read back from.  Set
2174         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2175         (c_common_write_pch): Verify that nothing was written to asm_out_file
2176         since pch_init was called.  Do not write a c_pch_header, and do not
2177         copy from asm_out_file to the PCH.
2178         (c_common_read_pch): Do not read a c_pch_header, and do not restore
2179         the content of asm_out_file from the PCH.
2180         (c_common_print_pch_checksum): Remove.
2181         * c-opts.c (c_common_init): Print out executable_checksum directly.
2183 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2185         * c-target.def (objc_declare_unresolved_class_reference,
2186         objc_declare_class_definition): Add new hooks.
2188 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2190         * c-lex.c: Do not include output.h.
2191         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2192         Remove uses of ASM_OUTPUT_IDENT.
2194 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
2196         PR c++/51033
2197         * c-common.h (c_build_vec_perm_expr): Move decl here.
2198         * c-common.c (c_build_vec_perm_expr): Move definition
2199         here.
2201 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
2203         * c.opt (fconserve-space): Turn into a no-op.
2205 2012-06-04  Sterling Augustine  <saugustine@google.com>
2207         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2208         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2209         both the start and end of the function.
2211 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2213         * c-common.c: Do not include output.h.
2214         * c-pragma.c: Likewise.
2216 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2218         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2219         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2220         (lang_decl_name): Handle namespace decls.
2222 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
2224         * c-ada-spec.c: Do not include output.h.
2225         * c-semantics.c: Likewise.
2227 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
2229         * c-common.c: Fix typo.
2231 2012-05-29  Michael Matz  <matz@suse.de>
2233         * c-common.h (c_expand_decl): Remove prototype.
2235 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2237         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2238         * c-opts.c (c_common_handle_option): Remove code handling
2239         warn_missing_braces.
2241 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
2243         PR c++/25137
2244         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2245         -Wmissing_braces.
2247 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
2249         PR c++/53322
2250         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2252 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2254         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2255         * c-opts.c (c_common_handle_option): Do not handle explicitly
2256         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2258 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
2260         PR preprocessor/7263
2261         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
2262         to cpp_classify_number.  For diagnostics, use the precise location
2263         instead of the global input_location.
2265 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2267         PR c++/11856
2268         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2270 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
2272         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
2274 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2276         PR 53063
2277         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2278         Wreorder): Use LangEnabledBy.
2279         * c-opts.c (c_common_handle_option): Do not enable them
2280         explicitly. Call lang-specific generated functions.
2281         (c_common_post_options): Do not set them here.
2283 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2285         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2286         Wmissing-field-initializers,Wmissing-parameter-type,
2287         Wold-style-declaration,Woverride-init): Use EnabledBy.
2288         * c-opts.c (c_common_post_options): Do not set here explicitly.
2290 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2292         PR 53063
2293         * c-opts.c (c_common_handle_option): Use handle_generated_option
2294         to enable sub-options.
2296 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
2298         PR c++/53158
2299         * c-common.c (warnings_for_convert_and_check): Use warning_at.
2301 2012-05-10  Richard Guenther  <rguenther@suse.de>
2303         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2304         adjust commentary about TYPE_IS_SIZETYPE types.
2306 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2308         PR c++/53261
2309         * c-common.c (warn_logical_operator): Check that argument of
2310         integer_zerop is not NULL.
2312 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2314         PR c/43772
2315         * c-common.c (warn_logical_operator): Do not warn if either side
2316         is already true or false.
2318 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2320         PR c/51712
2321         * c-common.c (expr_original_type): New.
2322         (shorten_compare): Do not warn for enumeration types.
2324 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2326         * c.opt (fpermissive): Add Var(flag_permissive).
2328 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
2330         PR c++/51033
2331         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2332         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2334 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
2336         Add -Wvarargs option
2337         * c.opt (Wvarargs):  Define new option.
2339 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2341         * c-common.c (check_function_arguments): Replace
2342         Wmissing-format-attribute with Wsuggest-attribute=format.
2344 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2346         * c.opt (Wsuggest-attribute=format): New. Alias of
2347         Wmissing-format-attribute.
2348         * c-format.c (decode_format_type): Replace
2349         Wmissing-format-attribute with Wsuggest-attribute=format.
2350         (check_function_format): Likewise.
2352 2012-04-27  Ollie Wild  <aaw@google.com>
2354         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2355         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2356         * c.opt: Add Wliteral-suffix.
2358 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2360         PR c/44774
2361         * c.opt (Wpedantic): New.
2362         (pedantic): Alias Wpedantic.
2363         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2364         (c_common_post_options): Likewise.
2365         (sanitize_cpp_opts): Likewise.
2366         * c-lex.c (interpret_float): Likewise.
2367         * c-format.c (check_format_types): Likewise.
2368         * c-common.c (pointer_int_sum): Likewise.
2369         (c_sizeof_or_alignof_type): Likewise.
2370         (c_add_case_label): Likewise.
2371         (c_do_switch_warnings): Likewise.
2372         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2374 2012-04-15  Jason Merrill  <jason@redhat.com>
2376         PR c++/52818
2377         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2378         (C_STD_NAME): Distinguish between C++98 and C++11.
2380 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2382         PR target/52624
2383         * c-common.h (uint16_type_node): Rename into...
2384         (c_uint16_type_node): ...this.
2385         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2386         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2388 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2390         * c-common.c (warn_if_unused_value): Move definition to here.
2391         * c-common.h (warn_if_unused_value): Move declaration to here.
2393 2012-03-23  William Bader  <williambader@hotmail.com>
2395         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2397 2012-03-20  Jason Merrill  <jason@redhat.com>
2399         * c-common.h (enum cxx_dialect): Add cxx1y.
2400         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2401         test.
2402         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2403         * c-opts.c (c_common_post_options): Likewise.
2404         (set_std_cxx1y): New.
2405         (c_common_handle_option): Call it.
2406         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2408 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2410         PR c++/14710
2411         * c.opt ([Wuseless-cast]): Add.
2413 2012-03-16  Richard Guenther  <rguenther@suse.de>
2415         * c-pretty-print.c (pp_c_initializer_list): Adjust.
2417 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2419         PR c++/44783
2420         * c.opt (ftemplate-backtrace-limit) Add.
2422 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2424         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2425         handling.
2426         * c-pragma.c (handle_pragma_extern_prefix): Remove.
2427         (init_pragma): Don't register extern_prefix.
2429 2012-03-12  Richard Guenther  <rguenther@suse.de>
2431         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2432         (builtin_type_for_size): Likewise.
2434 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
2436         PR c++/52215
2437         * c-common.c (sync_resolve_params): Don't decide whether to convert
2438         or not based on TYPE_SIZE comparison, convert whenever arg_type
2439         is unsigned INTEGER_TYPE.
2441 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
2443         PR c/52118
2444         * c.opt ([Wunused-local-typedefs]): Fix description.
2446 2012-01-24  Mike Stump  <mikestump@comcast.net>
2448         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2449         exactly.
2451 2012-01-18  Richard Guenther  <rguenther@suse.de>
2453         * c-opts.c (c_common_post_options): Reset LTO flags if
2454         we are about to generate a PCH.
2456 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
2458         PR c++/51777
2459         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2460         use pp_unsigned_wide_integer.
2462 2012-01-10  Richard Guenther  <rguenther@suse.de>
2464         PR middle-end/51806
2465         * c-opts.c (c_common_handle_option): Move -Werror handling
2466         to language independent code.
2468 2012-01-05  Richard Guenther  <rguenther@suse.de>
2470         PR middle-end/51764
2471         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2472         from common.opt.
2474 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
2476         PR c++/51316
2477         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2478         of array types with an unknown bound.
2480 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
2482         * c-common.c (flag_isoc99): Update comment to refer to C11.
2483         (flag_isoc1x): Change to flag_isoc11.
2484         * c-common.h (flag_isoc99): Update comment to refer to C11.
2485         (flag_isoc1x): Change to flag_isoc11.
2486         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2487         C11.
2488         * c-opts.c (set_std_c1x): Change to set_std_c11.
2489         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2490         Call set_std_c11.
2491         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2492         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2493         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
2494         standard.
2495         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2496         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
2497         (std=gnu1x): Make alias of std=gnu11.
2499 2011-12-19  Jason Merrill  <jason@redhat.com>
2501         PR c++/51228
2502         * c-common.c (handle_transparent_union_attribute): Check the first
2503         field if the type is complete.
2505 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2507         PR libstdc++/51365
2508         * c-common.c (RID_IS_FINAL): Add.
2509         * c-common.h (RID_IS_FINAL): Add.
2511 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2513         * c.opt (fgnu-runtime): Provide full description.
2514         (fnext-runtime): Likewise.
2515         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2517 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2519         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2520         predefines in one place.  Add LOCK_FREE predefines.
2521         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2522         new func.
2524 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2526         PR c/51256
2527         * c-common.c (get_atomic_generic_size): Check for various error
2528         conditions
2529         (resolve_overloaded_atomic_exchange,
2530         resolve_overloaded_atomic_compare_exchange,
2531         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2532         error_mark_node for error conditions.
2534 2011-11-08  Richard Guenther  <rguenther@suse.de>
2536         PR middle-end/51010
2537         c-family/
2539 2011-11-07  Richard Henderson  <rth@redhat.com>
2540             Aldy Hernandez  <aldyh@redhat.com>
2541             Torvald Riegel  <triegel@redhat.com>
2543         Merged from transactional-memory.
2545         * c-common.c (handle_tm_wrap_attribute,
2546         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2547         (struct c_common_reswords): Added __transaction* keywords.
2548         (struct c_common_attribute_table): Added transaction* and tm_regparm
2549         attributes.
2550         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2551         masks.
2552         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2553         find_tm_attribute): Declare.
2555 2011-11-07  Jason Merrill  <jason@redhat.com>
2557         PR c++/35688
2558         * c-common.c, c-common.h: Revert yesterday's changes.
2560 2011-11-06  Jason Merrill  <jason@redhat.com>
2562         PR c++/35688
2563         * c-common.c (decl_has_visibility_attr): Split out from...
2564         (c_determine_visibility): ...here.
2565         * c-common.h: Declare it.
2567 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
2569         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2570         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2571         type.
2572         (check_user_alignment): New.  Split out of
2573         handle_aligned_attribute.  Disallow integer constants with
2574         noninteger types.  Conditionally allow zero.
2575         (handle_aligned_attribute): Use check_user_alignment.
2576         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2578 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2579             Richard Henderson  <rth@redhat.com>
2581         Merged from cxx-mem-model.
2583         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2584         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2585         parameters that are the same type size.
2586         (get_atomic_generic_size): New.  Find size of generic
2587         atomic function parameters and do typechecking.
2588         (add_atomic_size_parameter): New.  Insert size into parameter list.
2589         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2590         either __atomic_exchange_n or external library call.
2591         (resolve_overloaded_atomic_compare_exchange): Restructure
2592         __atomic_compare_exchange to either _n variant or external library call.
2593         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2594         __atomic_load_n or an external library call.
2595         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2596         __atomic_store_n or an external library call.
2597         (resolve_overloaded_builtin): Handle new __atomic builtins.
2599 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2601         PR c++/50608
2602         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2603         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2604         <INDIRECT_REF>: Return the argument.
2605         <ARRAY_REF>: Remove special code for negative offset.
2606         Call fold_build_pointer_plus instead of size_binop.
2607         (fold_offsetof): Remove STOP_REF argument and adjust.
2608         * c-common.h (fold_offsetof_1): Declare.
2609         (fold_offsetof): Remove STOP_REF argument.
2611 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2613         PR c++/50810
2614         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2615         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2616         Wnarrowing for C++0x and C++98.
2617         * c.opt ([Wnarrowing]): Update.
2619 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2621         PR c++/44277
2622         * c.opt: Add Wzero-as-null-pointer-constant.
2624 2011-10-31  Jason Merrill  <jason@redhat.com>
2626         * c.opt (-fdeduce-init-list): Off by default.
2628         PR c++/50920
2629         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2630         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2631         and -Wc++11-compat.
2632         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2634 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2636         PR c++/30066
2637         * c.opt (fvisibility-inlines-hidden): Description change.
2639 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2641         Implement C++11 user-defined literals.
2642         * c-common.c (build_userdef_literal): New.
2643         * c-common.def: New tree code.
2644         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2645         * c-lex.c (interpret_float): Add suffix parm.
2646         (c_lex_with_flags): Build literal tokens.
2648 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2650         PR c++/50841
2651         Revert:
2652         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2654         PR c++/50810
2655         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2656         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2657         Wnarrowing for C++0x and C++98.
2658         * c.opt ([Wnarrowing]): Update.
2660 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2662         PR c++/50810
2663         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2664         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2665         Wnarrowing for C++0x and C++98.
2666         * c.opt ([Wnarrowing]): Update.
2668 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2670         PR c++/45385
2671         * c-common.c (conversion_warning): Remove code looking for
2672         artificial operands.
2674 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
2676         PR bootstrap/50760
2677         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2678         !NO_IMPLICIT_EXTERN_C.
2680 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2682         * c-common.c (c_common_reswords): Add __bases,
2683         __direct_bases.
2684         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2686 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2688         PR c++/50757
2689         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2691 2011-10-15  Tom Tromey  <tromey@redhat.com>
2692             Dodji Seketeli  <dodji@redhat.com>
2694         * c.opt (fdebug-cpp): New option.
2695         * c-opts.c (c_common_handle_option): Handle the option.
2696         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2697         output stream in parameter. Factorized from ...
2698         (maybe_print_line): ... this. Dump location debug information when
2699         -fdebug-cpp is in effect.
2700         (print_line_1): New static function. Takes an output stream in
2701         parameter. Factorized from ...
2702         (print_line): ... here. Dump location information when -fdebug-cpp
2703         is in effect.
2704         (scan_translation_unit): Dump location information when
2705         -fdebug-cpp is in effect.
2707 2011-10-15  Tom Tromey  <tromey@redhat.com>
2708             Dodji Seketeli  <dodji@redhat.com>
2710         * c.opt (ftrack-macro-expansion): New option. Handle it with and
2711         without argument.
2712         * c-opts.c (c_common_handle_option)<case
2713         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2714         cases. Handle -ftrack-macro-expansion with and without argument.
2716 2011-10-15  Tom Tromey  <tromey@redhat.com>
2717             Dodji Seketeli  <dodji@redhat.com>
2719         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2720         (print_line, cb_define, do_line_change): Adjust to avoid touching
2721         the internals of struct line_map.  Use the public API instead.
2722         * c-pch.c (c_common_read_pch): Likewise.
2723         * c-lex.c (fe_file_change): Likewise.
2725 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2727         PR c++/17212
2728         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2730 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2732         PR c++/33067
2733         * c-pretty-print.c (pp_c_floating_constant): Output
2734         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2736 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2738         * c-common.c (def_builtin_1): Delete old interface with two
2739         parallel arrays to hold standard builtin declarations, and replace
2740         it with a function based interface that can support creating
2741         builtins on the fly in the future.  Change all uses, and poison
2742         the old names.  Make sure 0 is not a legitimate builtin index.
2743         * c-omp.c (c_finish_omp_barrier): Ditto.
2744         (c_finish_omp_taskwait): Ditto.
2745         (c_finish_omp_flush): Ditto.
2747 2011-10-11  Tristan Gingold  <gingold@adacore.com>
2749         * c.opt: (fallow-parameterless-variadic-functions): New.
2751 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
2753         PR c++/33255 - Support -Wunused-local-typedefs warning
2754         * c-common.h (struct c_language_function::local_typedefs): New
2755         field.
2756         (record_locally_defined_typedef, maybe_record_typedef_use)
2757         (maybe_warn_unused_local_typedefs): Declare new functions.
2758         * c-common.c (record_locally_defined_typedef)
2759         (maybe_record_typedef_use)
2760         (maybe_warn_unused_local_typedefs): Define new functions.
2761         * c.opt: Declare new -Wunused-local-typedefs flag.
2763 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2765         PR middle-end/50266
2766         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2767         computations.
2769 2011-09-05  Richard Guenther  <rguenther@suse.de>
2771         * c-common.c (complete_array_type): Use ssize_int (-1) instead
2772         of integer_minus_one_node for empty array upper bounds.
2774 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
2776         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2777         it's the first time it's being called on this main TU.
2779 2011-08-24  Richard Guenther  <rguenther@suse.de>
2781         PR c/49396
2782         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2784 2011-08-22  Gabriel Charette  <gchare@google.com>
2786         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2787         defined in cpp_init_builtins and c_cpp_builtins.
2789 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
2791         * c-common.c (c_common_reswords): Add __builtin_complex.
2792         * c-common.h (RID_BUILTIN_COMPLEX): New.
2794 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
2796         * c-common.c (c_common_reswords): Add _Noreturn.
2797         (keyword_is_function_specifier): Handle RID_NORETURN.
2798         * c-common.h (RID_NORETURN): New.
2800 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2802         * c-common.c (unsafe_conversion_p): New function. Check if it is
2803         unsafe to convert an expression to the type.
2804         (conversion_warning): Adjust, use unsafe_conversion_p.
2805         * c-common.h (unsafe_conversion_p): New function declaration.
2807 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
2809         * c-common.h (c_finish_omp_atomic): Adjust prototype.
2810         (c_finish_omp_taskyield): New prototype.
2811         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2812         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2813         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2814         or RHS1 have side-effects, evaluate those too in the right spot,
2815         if it is a decl and LHS is also a decl, error out if they
2816         aren't the same.
2817         (c_finish_omp_taskyield): New function.
2818         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2819         * c-pragma.c (omp_pragmas): Add taskyield.
2820         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2821         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2822         PRAGMA_OMP_CLAUSE_MERGEABLE.
2824 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
2826         * c-common.h (set_underlying_type): Remove parm name from
2827         declaration.
2829 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2831         * c-pretty-print.h: Search c-common.h in c-family.
2833 2011-07-22  Jason Merrill  <jason@redhat.com>
2835         PR c++/49793
2836         * c.opt (Wnarrowing): New.
2838         PR c++/30112
2839         * c-common.h: Declare c_linkage_bindings.
2840         * c-pragma.c (handle_pragma_redefine_extname): Use it.
2842         PR c++/49813
2843         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2844         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2845         as flag_isoc99 for 'restrict'.
2846         (pp_c_specifier_qualifier_list): Likewise for _Complex.
2848 2011-07-21  Ian Lance Taylor  <iant@google.com>
2850         PR middle-end/49705
2851         * c-common.c (c_disable_warnings): New static function.
2852         (c_enable_warnings): New static function.
2853         (c_fully_fold_internal): Change local unused_p to bool.  Call
2854         c_disable_warnings and c_enable_warnings rather than change
2855         c_inhibit_evaluation_warnings.
2857 2011-07-20  Jason Merrill  <jason@redhat.com>
2859         PR c++/6709 (DR 743)
2860         PR c++/42603 (DR 950)
2861         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2862         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2863         (CPP_DECLTYPE): New.
2864         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2866 2011-07-19  Richard Guenther  <rguenther@suse.de>
2868         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2869         * c-omp.c (c_finish_omp_for): Likewise.
2871 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2873         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2874         body on the next line.
2876 2011-07-08  Jason Merrill  <jason@redhat.com>
2878         PR c++/45437
2879         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2881         PR c++/49673
2882         * c-common.c (c_apply_type_quals_to_decl): Don't check
2883         TYPE_NEEDS_CONSTRUCTING.
2885 2011-07-06  Richard Guenther  <rguenther@suse.de>
2887         * c-common.c (c_common_nodes_and_builtins):
2888         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2890 2011-07-05  Richard Guenther  <rguenther@suse.de>
2892         * c-common.c (c_common_nodes_and_builtins): Build all common
2893         tree nodes first.
2895 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2897         * c-common.h (c_tree_chain_next): New static inline function.
2899         * c-common.c (check_builtin_function_arguments): Handle
2900         BUILT_IN_ASSUME_ALIGNED.
2902 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2904         * c-common.c: Add sync_ or SYNC__ to builtin names.
2905         * c-omp.c: Add sync_ or SYNC__ to builtin names.
2907 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
2909         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2910         handler.
2911         (gen_pragma_handler): New union.
2912         (internal_pragma_handler): New type.
2913         (c_register_pragma_with_data)
2914         (c_register_pragma_with_expansion_and_data): New functions.
2916         * c-pragma.c (registered_pragmas, c_register_pragma_1)
2917         (c_register_pragma, c_register_pragma_with_expansion)
2918         (c_invoke_pragma_handler): Changed to work with
2919         internal_pragma_handler.
2920         (c_register_pragma_with_data)
2921         (c_register_pragma_with_expansion_and_data): New functions.
2923 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2925         * c-common.c: Include common/common-target.h.
2926         (handle_section_attribute): Use
2927         targetm_common.have_named_sections.
2928         * c-cppbuiltin.c: Include common/common-target.h.
2929         (c_cpp_builtins): Use targetm_common.except_unwind_info.
2931 2011-06-10  Richard Guenther  <rguenther@suse.de>
2933         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2934         to print a IDENTIFIER_NODE.
2936 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2937             Joseph Myers  <joseph@codesourcery.com>
2939         * c.opt (fbuilding-libgcc): New option.
2940         * c-cppbuiltin.c (c_cpp_builtins): Define
2941         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2943 2011-06-07  Jason Merrill  <jason@redhat.com>
2945         * c-common.c (max_tinst_depth): Lower default to 900.
2947         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2949 2011-06-07  Richard Guenther  <rguenther@suse.de>
2951         * c-common.c (c_common_nodes_and_builtins): Do not set
2952         size_type_node or call set_sizetype.
2954 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
2956         PR debug/49130
2957         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
2958         type when using pointer comparison to compare types.
2960 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2962         * c.opt: Add -Wdelete-non-virtual-dtor.
2963         * c-opts.c (c_common_handle_option): Include it in -Wall.
2965 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
2967         PR bootstrap/49190
2969         Revert:
2970         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2972         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2973         not tree_common.
2975 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
2977         PR c++/49165
2978         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2979         C++ don't call c_common_truthvalue_conversion on void type arms.
2981 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
2983         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2984         (stmt_list_stack): Define.
2985         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2986         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2988 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2990         * c-common.c (warning_candidate_p): Check for BLOCKs.
2992 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2994         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2995         not tree_common.
2997 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2999         * c-common.c (def_fn_type): Remove extra va_end.
3001 2011-05-23  Jason Merrill  <jason@redhat.com>
3003         PR c++/48106
3004         * c-common.c (c_common_get_narrower): New.
3005         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3007 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
3009         * c-common.h (check_function_arguments): Tweak prototype of
3010         check_function_arguments.
3011         * c-common.c (check_function_arguments): Likewise.  Adjust
3012         calls to check_function_nonnull, check_function_format, and
3013         check_function_sentinel.
3014         (check_function_sentinel): Take a FUNCTION_TYPE rather than
3015         separate attributes and typelist arguments.  Use
3016         FOREACH_FUNCTION_ARGS to iterate over argument types.
3018 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
3020         * c-common.c (c_common_reswords): Reorder.
3021         * c-common.h (rid): Likewise.
3023 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
3025         * c-common.c (def_fn_type): Don't call build_function_type, call
3026         build_function_type_array or build_varargs_function_type_array
3027         instead.
3028         (c_common_nodes_and_builtins): Likewise.
3030 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
3032         * c-common.c (c_add_case_label): Omit the loc argument to
3033         build_case_label.
3034         * c-common.h (build_case_label): Remove.
3035         * c-semantics.c (build_case_label): Remove.
3037 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
3039         * c-objc.h (objc_start_method_definition): Update prototype.
3040         * stub-objc.c (objc_start_method_definition): Add extra parameter.
3042 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
3044         * c-common.c (check_main_parameter_types): Reindent.  Don't use
3045         TYPE_ARG_TYPES directly.
3046         (handle_nonnull_attribute): Likewise.
3047         (sync_resolve_params): Likewise.
3048         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
3049         to check_format_string.
3050         (handle_format_attribute): Likewise.
3051         (check_format_string): Take a function type to examine instead of
3052         a type list.  Use a function_arg_iterator to step through argument
3053         types.
3055 2011-05-04  Richard Guenther  <rguenther@suse.de>
3057         * c-common.c (fix_string_type): Use size_int for index type bounds.
3058         (start_fname_decls): Do not pass NULL to build_int_cst.
3059         (c_init_attributes): Likewise.
3060         * c-lex.c (c_lex_with_flags): Likewise.
3062 2011-04-27  Jason Merrill  <jason@redhat.com>
3064         * c-common.c (make_tree_vector_from_list): New.
3065         * c-common.h: Declare it.
3067 2011-04-26  Richard Guenther  <rguenther@suse.de>
3069         PR preprocessor/48248
3070         * c-ppoutput.c (maybe_print_line): Always optimize newlines
3071         for output size with -P.
3073 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3075         * c-common.c (struct c_common_resword): Add __underlying_type.
3076         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3078 2011-04-20  Jim Meyering  <meyering@redhat.com>
3080         * c-format.c (init_dollar_format_checking): Remove useless
3081         if-before-free.
3083 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3085         * c-objc.h (objc_get_interface_ivars): Removed.
3086         (objc_detect_field_duplicates): New.
3087         * stub-objc.c: Likewise.
3089 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3091         * stub-objc.c (objc_declare_protocols): Renamed to
3092         objc_declare_protocol.
3093         * c-objc.h: Likewise.
3095 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3097         * stub-objc.c (objc_declare_class): Updated argument name.
3099 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
3101         * c-common.h (c_common_init_ts): Declare.
3102         * c-common.c (c_common_init_ts): Define.
3104 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3106         * c-objc.h (objc_build_message_expr): Updated prototype.
3107         * stub-objc.c (objc_build_message_expr): Likewise.
3109 2011-04-12  Martin Jambor  <mjambor@suse.cz>
3111         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3112         of cgraph_node.
3114 2011-04-11  Richard Guenther  <rguenther@suse.de>
3116         * c-common.c (complete_array_type): Build a range type of
3117         proper type.
3119 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
3121         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3122         (handle_type_generic_attribute): Likewise.
3124 2011-04-07  Jason Merrill  <jason@redhat.com>
3126         PR c++/48450
3127         * c-common.c (c_common_truthvalue_conversion): Don't ignore
3128         conversion from C++0x scoped enum.
3130 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
3132         * c-target-def.h: New file.
3133         * c-target.def: New file.
3134         * c-target.h: New file.
3135         * c-common.c (targetcm): Don't define here.
3136         * c-common.h (default_handle_c_option): Declare.
3137         * c-format.c: Include c-target.h instead of target.h.
3138         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
3139         include tm.h.
3140         (default_handle_c_option): Move from targhooks.c.
3142 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
3144         PR preprocessor/48248
3145         * c-ppoutput.c (print): Add src_file field.
3146         (init_pp_output): Initialize it.
3147         (maybe_print_line): Don't optimize by adding up to 8 newlines
3148         if map->to_file and print.src_file are different file.
3149         (print_line): Update print.src_file.
3151 2011-03-25  Kai Tietz  <ktietz@redhat.com>
3153         * c-ada-spec.c (compare_comment): Use filename_cmp
3154         instead of strcmp for filename.
3156 2011-03-25  Jeff Law  <law@redhat.com>
3158         * c-family/c-common.c (def_fn_type): Add missing va_end.
3160 2011-03-25  Jason Merrill  <jason@redhat.com>
3162         * c.opt: Add -std=c++03.
3164 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
3166         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3168 2011-03-17  Kai Tietz
3170         PR target/12171
3171         * c-pretty-print.c (pp_c_specifier_qualifier_list):
3172         Display allowed attributes for function pointer types.
3173         (pp_c_attributes_display): New function to display
3174         attributes having affects_type_identity flag set to true.
3175         * c-pretty-print.h (pp_c_attributes_display): New prototype.
3177         * c-common.c (c_common_attribute_table):
3178         Add new element.
3179         (c_common_format_attribute_table): Likewise.
3181 2011-03-18  Jason Merrill  <jason@redhat.com>
3183         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3184         * c-common.h: Don't declare it here.
3185         * c-common.c: Or define it here.
3186         * c-opts.c (c_common_handle_option): Or set it here.
3188         PR c++/35315
3189         * c-common.c (handle_transparent_union_attribute): Don't
3190         make a duplicate type in C++.
3192 2011-03-15  Jason Merrill  <jason@redhat.com>
3194         * c-common.c (max_constexpr_depth): New.
3195         * c-common.h: Declare it.
3196         * c-opts.c (c_common_handle_option): Set it.
3197         * c.opt (fconstexpr-depth): New option.
3199 2011-03-11  Jason Merrill  <jason@redhat.com>
3201         * c-common.c (attribute_takes_identifier_p): Add missing const.
3203         PR c++/46803
3204         * c-common.c (attribute_takes_identifier_p): Assume that an
3205         unknown attribute takes an identifier.
3207 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
3209         PR c/47786
3210         * c-common.c (c_type_hash): Call list_length instead of iterating
3211         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
3213 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3215         PR c/47809
3216         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3218 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3220         * c.opt (fobjc-abi-version=) New.
3221         (fobjc-nilcheck): New.
3223 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
3225         PR c++/46890
3226         * c-common.h (keyword_is_decl_specifier): Declare.
3227         * c-common.c (keyword_is_decl_specifier): Define.
3228         (keyword_is_function_specifier): New function.
3230 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3232         PR c/47473
3233         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3234         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3235         REAL_TYPE.
3237 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
3239         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3241 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3243         PR pch/47430
3244         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3245         after init_c_lex if pch_file is set.
3247 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3249         PR c++/43601
3250         * c.opt (-fkeep-inline-dllexport): New switch.
3252 2011-01-12  Richard Guenther  <rguenther@suse.de>
3254         PR middle-end/32511
3255         * c-common.c (handle_weak_attribute): Warn instead of error
3256         on declaring an inline function weak.
3258 2011-01-05  Tom Tromey  <tromey@redhat.com>
3260         * c-common.h (lvalue_error): Update.
3261         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
3262         not error.
3264 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3266         PR objc/47075
3267         * c-objc.h (objc_finish_message_expr): Added argument to
3268         prototype.
3270 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
3272         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3273         Use prototype_p.
3275 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3277         * c-objc.h (objc_maybe_warn_exceptions): New.
3278         * stub-objc.c (objc_maybe_warn_exceptions): New.
3280 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
3282         * c-common.h (readonly_error): Declare.
3283         * c-common.c (readonly_error): Define.
3285 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
3287         * c-common.h (invalid_indirection_error): Declare.
3288         * c-common.c (invalid_indirection_error): Define.
3290 2010-12-03  Richard Guenther  <rguenther@suse.de>
3292         PR c/46745
3293         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3294         (pp_c_unary_expression): Likewise.
3295         (pp_c_expression): Likewise.
3297 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3299         * c-common.h (objc_finish_function): New.
3300         (objc_non_volatilized_type): Removed.
3301         (objc_type_quals_match): Removed.
3302         * stub-objc.c (objc_finish_function): New.
3303         (objc_non_volatilized_type): Removed.
3304         (objc_type_quals_match): Removed.
3306 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
3308         * c-common.h (parse_optimize_options): Declare.
3309         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3310         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3312 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
3314         * c-opts.c (check_deps_environment_vars): Use getenv instead of
3315         GET_ENVIRONMENT.
3316         * c-pch.c (O_BINARY): Don't define here.
3317         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3319 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
3321         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3322         targetm.except_unwind_info.
3324 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3326         * c-opts.c (c_common_handle_option): Pass location to
3327         set_struct_debug_option.
3329 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3331         * c-common.c (visibility_options): Move from ../opts.c.
3332         * c-common.h (struct visibility_flags, visibility_options):
3333         Declare here.
3334         * c-opts.c (finish_options): Rename to c_finish_options.
3335         (c_common_init): Update call to finish_options.
3337 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
3339         PR objc/34033
3340         * c-lex.c (lex_string): Check that each string in an Objective-C
3341         string concat sequence starts with either one or zero '@', and
3342         that there are no spurious '@' signs at the end.
3344 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
3346         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3347         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3348         HANDLE_PRAGMA_VISIBILITY.
3349         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3350         HANDLE_PRAGMA_VISIBILITY): Don't define.
3351         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3353 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
3355         PR c++/16189
3356         PR c++/36888
3357         PR c++/45331
3358         * c-common.h (keyword_begins_type_specifier): Declare.
3359         (keyword_is_storage_class_specifier): Declare.
3360         (keyword_is_type_qualifier): Declare.
3361         * c-common.c (keyword_begins_type_specifier): New function.
3362         (keyword_is_storage_class_specifier): New function.
3363         (keyword_is_type_qualifier): Declare.
3365 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3367         PR c/46547
3368         * c-common.c (in_late_binary_op): Define.
3369         (c_common_truthvalue_conversion): Check in_late_binary_op before
3370         calling c_save_expr.
3371         * c-common.h (in_late_binary_op): Declare.
3373 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3375         * c-opts.c (c_common_handle_option): Update calls to
3376         set_struct_debug_option.
3378 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
3380         * c-common.h (objc_declare_protocols): Added additional argument.
3381         * stub-objc.c (objc_declare_protocol): Same change.
3383 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
3385         PR c/33193
3386         * c-common.h (build_real_imag_expr): Declare.
3387         * c-semantics.c (build_real_imag_expr): Define.
3389 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
3391         * c-opts.c (c_common_parse_file): Take no arguments.
3392         * c-common.h (c_common_parse_file): Update prototype.
3394 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
3396         PR c++/46401
3397         * c-common.c (warning_candidate_p): Don't track non-const calls
3398         or STRING_CSTs.
3400 2010-11-15  Ian Lance Taylor  <iant@google.com>
3402         * c-lex.c (init_c_lex): Set macro debug callbacks if
3403         flag_dump_go_spec is set.
3405 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3407         * c-common.h (objc_build_incr_expr_for_property_ref): New.
3408         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3410 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
3412         PR preprocessor/45038
3413         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3414         dialects.
3416 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3418         * c-common.h (c_family_lang_mask): Declare.
3419         * c-opts.c (c_family_lang_mask): Make extern.
3420         * c-pragma.c (handle_pragma_diagnostic): Use
3421         control_warning_option.
3423 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3425         * c-common.c (parse_optimize_options): Update call to
3426         decode_options.
3427         * c-common.h (c_common_handle_option): Update prototype.
3428         * c-opts.c (c_common_handle_option): Take location_t parameter and
3429         pass it to other functions.
3431 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
3433         * c-opts.c (warning_as_error_callback): Remove.
3434         (c_common_initialize_diagnostics): Don't call
3435         register_warning_as_error_callback.
3436         (c_common_handle_option): Handle -Werror=normalized= here.
3438 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3440         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3441         in diagnostic.
3442         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3443         letter.
3444         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3445         Remove trailing '.' from diagnostics.
3446         * c.opt (Wwrite-strings_: Avoid '`' in help text.
3448 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3450         * c-common.c (parse_optimize_options): Pass global_dc to
3451         decode_options.
3452         * c-opts.c (c_common_handle_option): Pass &global_options to
3453         set_Wstrict_aliasing.
3454         * c.opt (v): Don't mark Common or document here.
3456 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
3458         PR target/44981
3459         * c-format.c (format_type): New type gcc_objc_string_format_type.
3460         (valid_stringptr_type_p): New.
3461         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
3462         (check_format_string): Pass expected type, use
3463         valid_stringptr_type_p (), check that the format string types are
3464         consistent with the format specification.
3465         (decode_format_attr): Warn if NSString is used outside objective-c.
3466         (format_types_orig): Add NSString.
3467         (format_name): New.
3468         (format_flags): New.
3469         (check_format_arg): Handle format strings requiring an external parser.
3470         first_target_format_type: New variable.
3471         (handle_format_attribute): Set up first_target_format_type, pass the
3472         expected format arg string type to check_format_string().
3473         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
3474         * stub-objc.c (objc_string_ref_type_p): New.
3475         (objc_check_format_arg): New.
3477 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
3479         Fixed using the Objective-C 2.0 dot-syntax with class names.
3480         * c-common.h (objc_build_class_component_ref): New.
3481         * stub-objc.c (objc_build_class_component_ref): New.
3483 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3485         * c.opt (Wproperty-assign-default): New option.
3487 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3489         Implemented -fobjc-std=objc1 flag.
3490         * c.opt (fobjc-std=objc1): New option.
3492 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
3494         Implemented format and noreturn attributes for Objective-C methods.
3495         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3496         attribute for Objective-C methods.
3498 2010-10-31  Jason Merrill  <jason@redhat.com>
3500         * c-common.c (conversion_warning, warn_for_collisions_1): Use
3501         EXPR_LOC_OR_HERE.
3503 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3505         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3506         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3507         (objc_add_property_declaration): Removed arguments for copies and
3508         ivar.
3509         (objc_build_getter_call): Renamed to
3510         objc_maybe_build_component_ref.
3511         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3512         (objc_is_property_ref): New.
3513         * c-common.c (c_common_reswords): Removed copies and ivar.
3514         * stub-objc.c (objc_add_property_declaration): Removed arguments
3515         for copies and ivar.
3516         (objc_build_getter_call): Renamed to
3517         objc_maybe_build_component_ref.
3518         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3519         (objc_is_property_ref): New.
3521 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
3522             Matthew Gingell  <gingell@adacore.com>
3524         * c-ada-spec.c (separate_class_package): New function.
3525         (pp_ada_tree_identifier): Prefix references to C++ classes with the
3526         name of their enclosing package.
3527         (print_ada_declaration): Use separate_class_package.
3529 2010-10-27  Jason Merrill  <jason@redhat.com>
3531         * c-common.c (c_common_reswords): Add __is_literal_type.
3532         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3534         * c-common.c (check_case_value): Remove special C++ code.
3536 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3538         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3539         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3540         and RID_LAST_PATTR.
3541         (objc_add_property_declaration): Added additional arguments.
3542         (objc_property_attribute_kind): Removed.
3543         (objc_set_property_attr): Removed.
3544         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3545         copy and nonatomic.
3546         * stub-objc.c (objc_add_property_declaration): Added additional
3547         arguments.
3548         (objc_set_property_attr): Removed.
3550 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3552         * c-common.h (objc_add_property_variable): Renamed to
3553         objc_add_property_declaration.  Added location argument.
3554         * stub-objc.c (objc_add_property_variable): Same change.
3555         
3556 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3558         * c-common.h (objc_maybe_printable_name): New.
3559         * stub-objc.c (objc_maybe_printable_name): New.
3561 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3562         Andrew Pinski <pinskia@gmail.com>
3564         * c-common.h (c_common_mark_addressable_vec): Declare.
3565         * c-common.c (c_common_mark_addressable_vec): New function.
3567 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3569         * c-common.h (objc_set_method_type): Removed.
3570         (objc_add_method_declaration): Added boolean argument.
3571         (objc_start_method_definition): Same change.
3572         (objc_build_method_signature): Same change.
3573         * stub-objc.c (objc_set_method_type): Removed.
3574         (objc_add_method_declaration): Added boolean argument.
3575         (objc_start_method_definition): Same change.
3576         (objc_build_method_signature): Same change.
3578 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3580         * c-common.h (finish_file): Removed.
3581         (objc_write_global_declarations): New.
3582         * c-opts.c (c_common_parse_file): Do not call finish_file.
3583         * stub-objc.c (objc_write_global_declarations): New.
3585 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3587         Implemented parsing @synthesize and @dynamic for
3588         Objective-C/Objective-C++.
3589         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3590         (objc_add_synthesize_declaration): New.
3591         (objc_add_dynamic_declaration): New.
3592         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3593         * stub-objc.c (objc_add_synthesize_declaration): New.
3594         (objc_add_dynamic_declaration): New.
3596 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3598         PR target/46041
3599         * c-cppbuiltin.c (mode_has_fma): Move function here from
3600         builtins.c.  Don't use the fma optab, instead just use the
3601         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3602         using -save-temps.
3604 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3606         Merge from 'apple/trunk' branch on FSF servers.
3608         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3610         Radar 4330422
3611         * c-common.h (objc_non_volatilized_type): New declaration
3612         * stub-objc.c (objc_non_volatilized_type): New stub.
3614 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3616         Merge from 'apple/trunk' branch on FSF servers.
3618         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3620         Radar 4133425
3621         * c-common.h (objc_diagnose_private_ivar): New decl.
3622         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3624 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3626         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3627         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3628         (objc_ivar_visibility_kind): New enum.
3629         (objc_set_visibility): Adjust prototype to use visibility enum.
3630         * stub-objc.c (objc_set_visibility): Adjust stub to use
3631         visibility enum.
3633 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3635         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3636         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3637         has the appropriate fma builtins.
3638         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3640 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3642         merge from FSF apple 'trunk' branch.
3643         2006 Fariborz Jahanian <fjahanian@apple.com>
3645         Radars 4436866, 4505126, 4506903, 4517826
3646         * c-common.c (c_common_resword): Define @property and its attributes.
3647         * c-common.h: Define property attribute enum entries.
3648         (OBJC_IS_PATTR_KEYWORD): New.
3649         (objc_property_attribute_kind): New enum.
3650         Declare objc_set_property_attr (), objc_add_property_variable (),
3651         objc_build_getter_call () and objc_build_setter_call ().
3652         * stub-objc.c (objc_set_property_attr): New stub.
3653         (objc_add_property_variable): Likewise.
3654         (objc_build_getter_call): Likewise.
3655         (objc_build_setter_call) Likewise.
3657 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3659         merge from FSF apple 'trunk' branch.
3660         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3662         Radar 3803157 (method attributes)
3663         * c-common.c (handle_deprecated_attribute): Recognize
3664         objc methods as valid declarations.
3665         * c-common.h: Declare objc_method_decl ().
3666         * stub-objc.c (objc_method_decl): New stub.
3668 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
3670         * c-common.c (parse_optimize_options): Call
3671         decode_cmdline_options_to_array_default_mask before
3672         decode_options.  Update arguments to decode_options.
3673         * c-common.h (c_common_init_options_struct): Declare.
3674         * c-opts.c (c_common_init_options_struct): New.  Split out from
3675         c_common_init_options.
3677 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3679         Implemented fast enumeration for Objective-C.
3680         * c-common.h (objc_finish_foreach_loop): New.
3681         * stub-objc.c (objc_finish_foreach_loop): New.
3683 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
3685         * c-common.h (struct diagnostic_context): Don't declare here.
3686         (c_common_initialize_diagnostics): Declare using
3687         diagnostic_context typedef.
3688         * c-opts.c (c_common_handle_option): Pass global_dc to
3689         handle_generated_option.
3691 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
3693         * c-opts.c (c_common_handle_option): Pass &global_options_set to
3694         handle_generated_option.
3696 2010-10-03  Ian Lance Taylor  <iant@google.com>
3698         * c.opt (-fplan9-extensions): New option.
3700 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3702         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3703         Remove.
3704         (c_cpp_builtins): Call functions from cppbuiltin.c instead
3705         of duplicating code.
3707 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3709         * c-common.c: Add two new entries for @optional
3710         and @required keywords.
3712         merge from FSF 'apple/trunk' branch.
3713         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3715         Radar 4386773
3716         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3717         objective-c keywords.
3718         (objc_set_method_opt): New declaration.
3719         * stub-objc.c (objc_set_method_opt): New stub.
3721 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3723         * c-common.c (handle_optimize_attribute): Pass &global_options to
3724         cl_optimization_save and cl_optimization_restore.
3725         * c-opts.c (c_common_handle_option): Pass &global_options to
3726         handle_generated_option.
3727         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3728         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3729         &global_options to cl_optimization_restore.
3731 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3733         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3734         Objective-C/Objective-C++ keywords.
3736 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3738         Merge from 'apple/trunk' branch on FSF servers.
3740         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3742         Radar 4281748
3743         * c-common.h (objc_check_global_decl): New declaration.
3744         * stub-objc.c (objc_check_global_decl): New stub.
3746 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3748         * c.opt: Don't use VarExists.
3750 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3752         * c-common.c (c_cpp_error): Update names of diagnostic_context
3753         members.
3754         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3755         cl_optimization members.
3756         * c-opts.c (warning_as_error_callback, c_common_handle_option,
3757         sanitize_cpp_opts, finish_options): Update names of cpp_options
3758         members.
3760 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3762         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3763         (objc_is_reserved_word): Removed.
3764         * c-common.c: Updated comments.
3765         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3766         objc_is_reserved_word.
3767         * stub-objc.c (objc_is_reserved_word): Removed.
3769 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3771         * c-common.h (objc_add_method_declaration): Adjust prototype to
3772         include attributes.
3773         (objc_start_method_definition): Likewise.
3774         (objc_build_keyword_decl): Likewise.
3775         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3776         (objc_start_method_definition): Likewise.
3777         (objc_build_keyword_decl): Likewise.
3779 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3781         * c-common.h (objc_start_class_interface): Adjust prototype.
3782         (objc_start_category_interface): Likewise.
3783         (objc_start_protocol): Likewise.
3784         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3785         (objc_start_class_interface): Likewise.
3786         (objc_start_category_interface): Likewise.
3788 2010-09-27  Ian Lance Taylor  <iant@google.com>
3790         * c-common.c (c_common_attribute_table): Add no_split_stack.
3791         (handle_no_split_stack_attribute): New static function.
3793 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3795         Merge from 'apple/trunk' branch on FSF servers.
3797         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3799         Radar 4229905
3800         * c-common.h (objc_have_common_type): New declaration.
3801         * stub-objc.c (objc_have_common_type): New stub.
3803         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3805         Radar 4154928
3806         * c-common.h (objc_common_type): New prototype.
3807         * stub-objc.c (objc_common_type): New stub.
3809 2010-09-24  Jan Hubicka  <jh@suse.cz>
3811         * c-common.c (handle_leaf_attribute): New function.
3812         (struct attribute_spec c_common_att): Add leaf.
3814 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
3816         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3817         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3818         -dump, -dump=, -imacros, -imacros=, -include, -include=,
3819         -include-barrier, -include-directory, -include-directory=,
3820         -include-directory-after, -include-directory-after=,
3821         -include-prefix, -include-prefix=, -include-with-prefix,
3822         -include-with-prefix=, -include-with-prefix-after,
3823         -include-with-prefix-after=, -include-with-prefix-before,
3824         -include-with-prefix-before=, -no-integrated-cpp,
3825         -no-line-commands, -no-standard-includes, -no-warnings, -output,
3826         -output=, -pedantic, -pedantic-errors, -preprocess,
3827         -print-missing-file-dependencies, -trace-includes, -traditional,
3828         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3829         -user-dependencies, -verbose, -write-dependencies,
3830         -write-user-dependencies, no-integrated-cpp, traditional): New.
3832 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3834         PR objc/23710
3835         * c-common.h (objc_start_method_definition): Return bool instead
3836         of void.
3837         * stub-objc.c (objc_start_method_definition): Return bool instead
3838         of void.
3840 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3842         PR objc/25965
3843         * c-common.h (objc_get_interface_ivars): New declaration.
3844         * stub-objc.c (objc_get_interface_ivars): New stub.
3846 2010-09-15  Ian Lance Taylor  <iant@google.com>
3848         * c-common.c (parse_optimize_options): Do not capitalize warning
3849         messages.  Remove period at end of warning message.
3851 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3853         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3854         (handle_alias_attribute): ... here.
3855         (handle_ifunc_attribute): New.
3857 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
3859         * c-common.h (do_warn_double_promotion): Declare.
3860         * c-common.c (do_warn_double_promotion): Define.
3862 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
3864         * c.opt (Wdouble-promotion): New.
3866 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3868         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3869         fvtable-thunks, fxref): Mark no longer supported in help text.
3871 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3873         * c.opt (Wimport, fall-virtual, falt-external-templates,
3874         fdefault-inline, fenum-int-equiv, fexternal-templates,
3875         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3876         fname-mangling-version-, fnew-abi, fnonnull-objects,
3877         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3878         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3879         applicable.
3880         (fhandle-exceptions): Mark with Alias and Warn.
3881         * c-opts.c (c_common_handle_option): Don't handle options marked
3882         as ignored.
3884 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3886         * c.opt (Wcomments, Werror-implicit-function-declaration,
3887         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3888         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3889         aliases.
3890         * c-common.c (option_codes): Use OPT_Wcomment instead of
3891         OPT_Wcomments.
3892         * c-opts.c (warning_as_error_callback, c_common_handle_option):
3893         Don't handle options marked as aliases.
3895 2010-08-25  Richard Guenther  <rguenther@suse.de>
3897         * c-common.c (c_common_get_alias_set): Remove special
3898         handling for pointers.
3900 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3902         * c-common.c: Use FOR_EACH_VEC_ELT.
3903         * c-gimplify.c: Likewise.
3904         * c-pragma.c: Likewise.
3906 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3908         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3909         RejectDriver.
3910         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
3911         RejectDriver.
3912         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3913         instead of OPT_MDX and OPT_MMDX.
3915 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3917         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3919 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
3921         * c.opt (MD, MMD): Change to MDX and MMDX.
3922         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3924 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
3926         * c-opts.c (c_common_handle_option): Call handle_generated_option
3927         instead of handle_option.
3929 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3931         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3932         (maybe_apply_renaming_pragma): Delete unneeded declarations.
3934 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3936         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3937         (pending_redefine_extname): Change type to a VEC.
3938         (add_to_renaming_pragma_list): Update for new type of
3939         pending_redefine_extname.
3940         (maybe_apply_renaming_pragma): Likewise.
3942 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
3944         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3945         visited.
3946         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3947         decide whether a type has already been declared/seen.
3948         Do not go to the original type.
3949         (dump_nested_types): New parameter forward.
3950         Generate forward declaration if needed and mark type as visited.
3951         (print_ada_declaration): Call dump_nested_types if not already done.
3952         Mark types as visited.
3954 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
3956         * c.opt (-print-pch-checksum): Remove option.
3957         * c-opts.c (c_common_handle_option): Don't handle
3958         OPT_print_pch_checksum.
3960 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3962         * c-common.h (c_common_handle_option): Update prototype and return
3963         value type.
3964         * c-opts.c (c_common_handle_option): Update prototype and return
3965         value type.  Update calls to handle_option and
3966         enable_warning_as_error.
3968 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
3970         PR c/45079
3971         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3973 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3975         * c-common.h (c_common_missing_argument): Remove.
3976         * c-opts.c (c_common_missing_argument): Remove.
3977         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3978         idirafter, imacros, include, isysroot, isystem, iquote): Add
3979         MissingArgError.
3980         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3982 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3984         * c-common.h (c_common_option_lang_mask,
3985         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3986         New.
3987         (c_common_init_options): Update prototype.
3988         * c-opts.c (c_common_option_lang_mask): New.
3989         (c_common_initialize_diagnostics): Split out of
3990         c_common_init_options.
3991         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3992         New.
3993         (c_common_init_options): Update prototype.  Use decoded options in
3994         search for -lang-asm.
3996 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3998         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3999         * c-format.c: Likewise.
4001 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4003         * c-common.h: Include diagnostic-core.h. Error if already
4004         included.
4005         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4007 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4009         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4010         Do not include expr.h
4011         (vector_mode_valid_p): Move here.
4013 2010-06-21  DJ Delorie  <dj@redhat.com>
4015         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4016         allow these pragmas anywhere.
4018 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
4020         PR bootstrap/44509
4021         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4022         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4023         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4024         ggc_strdup instead of xstrdup.
4026 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
4028         * c-cppbuiltin.c: Include cpp-id-data.h.
4029         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4030         (lazy_hex_fp_value): New function.
4031         (builtin_define_with_hex_fp_value): Provide definitions lazily.
4033 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4035         * c-gimplify.c: Do not include tree-flow.h
4037 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
4039         PR other/44034
4040         * c-common.c: Rename targetm member:
4041         targetm.enum_va_list -> targetm.enum_va_list_p
4043 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
4045         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4047 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
4049         * c-cppbuiltin.c: Do not include except.h.
4051 2010-06-24  Andi Kleen  <ak@linux.intel.com>
4053         * c-common.c (warn_for_omitted_condop): New.
4054         * c-common.h (warn_for_omitted_condop): Add prototype.
4056 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
4058         * c.opt (lang-objc): Remove.
4059         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4061 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
4063         * c-opts.c: Include "tm_p.h".
4065 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
4067         * c-common.c (parse_optimize_options): Update call to
4068         decode_options.
4070 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
4072         * c-common.c (record_types_used_by_current_var_decl): Adjust for
4073         new type of types_used_by_cur_var_decl.
4075 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
4077         PR bootstrap/44512
4078         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4079         for C++ standard compliance.
4081 2010-06-16  Jason Merrill  <jason@redhat.com>
4083         * c.opt: Add -Wnoexcept.
4085 2010-06-16  Richard Guenther  <rguenther@suse.de>
4087         PR c/44555
4088         * c-common.c (c_common_truthvalue_conversion): Remove
4089         premature and wrong optimization concering ADDR_EXPRs.
4091 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
4093         * c-ada-spec.c (dump_sloc): Remove column info.
4094         (is_simple_enum): New function.
4095         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4096         enum types when relevant.
4098 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4100         * c-common.c (conversion_warning): Warn at expression
4101         location.
4103 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
4105         * c-opts.c (c_common_handle_option): Don't handle
4106         OPT_fshow_column.
4108 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
4110         * c-pragma.c (push_alignment): Use typed GC allocation.
4111         (handle_pragma_push_options): Likewise.
4113         * c-common.c (parse_optimize_options): Likewise.
4115         * c-common.h (struct sorted_fields_type): Add variable_size GTY
4116         option.
4118 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
4120         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4121         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4122         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4123         flag_signed_bitfields, warn_strict_null_sentinel,
4124         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4125         flag_gen_declaration, flag_no_gnu_keywords,
4126         flag_implement_inlines, flag_implicit_templates,
4127         flag_implicit_inline_templates, flag_optional_diags,
4128         flag_elide_constructors, flag_default_inline, flag_rtti,
4129         flag_conserve_space, flag_access_control, flag_check_new,
4130         flag_new_for_scope, flag_weak, flag_working_directory,
4131         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4132         flag_enforce_eh_specs, flag_threadsafe_statics,
4133         flag_pretty_templates): Remove.
4134         * c-common.h (flag_preprocess_only, flag_nil_receivers,
4135         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4136         flag_replace_objc_classes, flag_undef, flag_no_builtin,
4137         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4138         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4139         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4140         flag_no_gnu_keywords, flag_implement_inlines,
4141         flag_implicit_templates, flag_implicit_inline_templates,
4142         flag_optional_diags, flag_elide_constructors, flag_default_inline,
4143         flag_rtti, flag_conserve_space, flag_access_control,
4144         flag_check_new, flag_new_for_scope, flag_weak,
4145         flag_working_directory, flag_use_cxa_atexit,
4146         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4147         flag_threadsafe_statics, flag_pretty_templates,
4148         warn_strict_null_sentinel): Remove.
4149         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4150         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4151         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4152         fimplicit-inline-templates, fimplicit-templates,
4153         flax-vector-conversions, fms-extensions, fnil-receivers,
4154         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4155         frtti, fshort-double, fshort-enums, fshort-wchar,
4156         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4157         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4158         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4159         gen-decls, undef): Use Var.
4160         (fdefault-inline, foptional-diags): Document as doing nothing.
4161         * c-opts.c (c_common_handle_option): Remove cases for options now
4162         using Var.  Mark ignored options as such.
4164 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
4166         * c-common.c: Moved to here from parent directory.
4167         * c-common.def: Likewise.
4168         * c-common.h: Likewise.
4169         * c-cppbuiltin.c: Likewise.
4170         * c-dump.c: Likewise.
4171         * c-format.c: Likewise.
4172         * c-format.h : Likewise.
4173         * c-gimplify.c: Likewise.
4174         * c-lex.c: Likewise.
4175         * c-omp.c: Likewise.
4176         * c.opt: Likewise.
4177         * c-opts.c: Likewise.
4178         * c-pch.c: Likewise.
4179         * c-ppoutput.c: Likewise.
4180         * c-pragma.c: Likewise.
4181         * c-pragma.h: Likewise.
4182         * c-pretty-print.c: Likewise.
4183         * c-pretty-print.h: Likewise.
4184         * c-semantics.c: Likewise.
4185         * stub-objc.c: Likewise.
4187         * c-common.c: Include gt-c-family-c-common.h.
4188         * c-pragma.c: Include gt-c-family-c-pragma.h.
4190 Copyright (C) 2010-2014 Free Software Foundation, Inc.
4192 Copying and distribution of this file, with or without modification,
4193 are permitted in any medium without royalty provided the copyright
4194 notice and this notice are preserved.