PR c/64423
[official-gcc.git] / gcc / c-family / ChangeLog
blob960c7d1de2aaf7d0a042e1cc4d0db02f5a7eb3f7
1 2015-01-05  Marek Polacek  <polacek@redhat.com>
3         PR c/64423
4         * c-common.c (warn_array_subscript_with_type_char): Add location_t
5         parameter.  Use it.
6         * c-common.h (warn_array_subscript_with_type_char): Update
7         declaration.
9 2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
11         * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
12         Control macro with flag_sized_deallocation.
14 2014-12-20  Martin Uecker <uecker@eecs.berkeley.edu>
16         * c.opt (Wdiscarded-array-qualifiers): New option.
18 2014-12-19  Jakub Jelinek  <jakub@redhat.com>
20         PR preprocessor/63831
21         * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
22         and __has_cpp_attribute here.
23         * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
24         c_common_has_attribute.
25         * c-common.h (c_common_has_attribute): New prototype.
26         * c-lex.c (init_c_lex): Set cb->has_attribute to
27         c_common_has_attribute instead of cb_has_attribute.
28         (get_token_no_padding): New function.
29         (cb_has_attribute): Renamed to ...
30         (c_common_has_attribute): ... this.  No longer static.  Use
31         get_token_no_padding, require ()s, don't build TREE_LIST
32         unnecessarily, fix up formatting, adjust diagnostics, call
33         init_attributes.
35 2014-12-15  Jason Merrill  <jason@redhat.com>
37         * c.opt (-fsized-deallocation, -Wc++14-compat): New.
38         (-Wsized-deallocation): New.
39         * c-opts.c (c_common_post_options): -fsized-deallocation defaults
40         to on in C++14 and up.
42 2014-12-11  Jason Merrill  <jason@redhat.com>
44         * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
46         * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
47         we aren't complaining about VLAs.
49 2014-12-06  Marek Polacek  <polacek@redhat.com>
51         PR tree-optimization/64183
52         * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
53         shift-expression if it is integer_type_node.  Use types_compatible_p.
55 2014-11-29  Jakub Jelinek  <jakub@redhat.com>
57         * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
58         last argument from create_tmp_var_raw and create_tmp_var calls.
59         * cilk.c (gimplify_cilk_spawn): Likewise.
60         * c-omp.c (c_finish_omp_atomic): Likewise.
62 2014-11-28  Marek Polacek  <polacek@redhat.com>
64         * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
65         instead of unsigned_type_node.
67 2014-11-28  Marek Polacek  <polacek@redhat.com>
69         PR c/63862
70         * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
71         to op1_utype.
72         * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
73         expression to unsigned_type_node.
75 2014-11-20  Mark Wielaard  <mjw@redhat.com>
77         PR debug/38757
78         * c-opts.c (set_std_c89): Set lang_hooks.name.
79         (set_std_c99): Likewise.
80         (set_std_c11): Likewise.
81         (set_std_cxx98): Likewise.
82         (set_std_cxx11): Likewise.
83         (set_std_cxx14): Likewise.
84         (set_std_cxx1z): Likewise.
86 2014-11-21  Jakub Jelinek  <jakub@redhat.com>
88         PR target/63764
89         * c-common.h (convert_vector_to_pointer_for_subscript): Change
90         return type to bool.
91         * c-common.c: Include gimple-expr.h.
92         (convert_vector_to_pointer_for_subscript): Change return type to
93         bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
94         and copy it into a TARGET_EXPR and use that instead of *vecp
95         directly.
97 2014-11-19  David Malcolm  <dmalcolm@redhat.com>
99         Merger of git branch "gimple-classes-v2-option-3".
100         * ChangeLog.gimple-classes: New.
101         * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
102         from being just a vec<gimple> to a vec<gbind *>.
104 2014-11-18  Jakub Jelinek  <jakub@redhat.com>
106         PR sanitizer/63813
107         * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
108         argument to ptype, set type to TREE_TYPE (ptype).  Don't call
109         get_pointer_alignment for non-pointers.  Use ptype, or if it is
110         reference type, corresponding pointer type, as type of kind
111         argument.
112         (ubsan_maybe_instrument_reference,
113         ubsan_maybe_instrument_member_call): Adjust callers.
115 2014-11-15  Marek Polacek  <polacek@redhat.com>
117         PR middle-end/63884
118         * array-notation-common.c (is_sec_implicit_index_fn): Return false
119         for NULL fndecl.
120         (extract_array_notation_exprs): Return for NULL node.
122 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
124         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
125         undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
127 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
129         PR c/59708
130         * c-common.c (check_builtin_function_arguments): Handle
131         BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
133 2014-11-10  Andi Kleen  <ak@linux.intel.com>
135         PR c/60804
136         * c-common.h (check_no_cilk): Declare.
137         * cilk.c (get_error_location): New function.
138         (check_no_cilk): Dito.
140 2014-11-10  Andi Kleen  <ak@linux.intel.com>
142         * cilk.c (recognize_spawn): Use expression location
143         for error message.
145 2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
147         * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
149 2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
151         * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
152         (__cpp_rtti, __cpp_exceptions): New macros for C++98;
153         (__cpp_range_based_for, __cpp_initializer_lists,
154         __cpp_delegating_constructors, __cpp_nsdmi,
155         __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
156         for C++11; (__cpp_attribute_deprecated): Remove in favor of
157         __has_cpp_attribute.
158         * c-lex.c (cb_has_attribute): New callback CPP function;
159         (init_c_lex): Set has_attribute callback.
161 2014-11-04  Richard Biener  <rguenther@suse.de>
163         * c-common.c (shorten_compare): Do not shorten mixed
164         DFP and non-DFP compares.
166 2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
168         * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
169         * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
170         Commentary and rearrangement of tests.
171         * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
172         Commentary and rearrangement of tests.
173         * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
174         * g++.dg/cpp1y/feat-cxx98.C: Commentary.
176 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
178         * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
179         enum from machine_mode.
181 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
183         * c-family/c-common.c: Adjust include files.
184         * c-family/c-gimplify.c: Ditto.
185         * c-family/cilk.c: Ditto.
186         * c-family/c-pragma.c: Ditto.
187         * c-family/c-ubsan.c: Ditto.
189 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
191         * c-gimplify.c: Adjust include files.
193 2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
195         PR c++/53061
196         * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
197         c_common_initialize_diagnostics.
198         * c-common.h: Likewise.
200 2014-10-24  Marek Polacek  <polacek@redhat.com>
202         PR c/56980
203         * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
204         print "struct"/"union"/"enum" for typedefed names.
206 2014-10-23  Marek Polacek  <polacek@redhat.com>
208         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
209         in unsigned type.
211 2014-10-22  Jakub Jelinek  <jakub@redhat.com>
212             Yury Gribov  <y.gribov@samsung.com>
214         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
215         ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
216         instead of flag_sanitize_recover as bool flag.
218 2014-10-21  Kirill Yukhin  <kirill.yukhin@intel.com>
220         * cilk.c: Revert previous change.
222 2014-10-20  Igor Zamyatin  <igor.zamyatin@intel.com>
224         PR c/63307
225         * cilk.c: Include vec.h.
226         (struct cilk_decls): New structure.
227         (wrapper_parm_cb): Split this function to...
228         (fill_decls_vec): ...this...
229         (create_parm_list): ...and this.
230         (compare_decls): New function.
231         (for_local_cb): Remove.
232         (wrapper_local_cb): Ditto.
233         (build_wrapper_type): For now first traverse and fill vector of
234         declarations then sort it and then deal with sorted vector.
235         (cilk_outline): Ditto.
236         (declare_one_free_variable): Ditto.
238 2014-10-17  Marek Polacek  <polacek@redhat.com>
240         * c-opts.c (c_common_post_options): Set warn_implicit_int.
241         * c.opt (Wimplicit-int): Initialize to -1.
243 2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
245         * c-pragma.c: Adjust include files.
246         * c-semantics.c: Likewise.
248 2014-10-16  DJ Delorie  <dj@redhat.com>
250         * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
251         multiples of bytes.
253 2014-10-14  Jason Merrill  <jason@redhat.com>
255         PR c++/63455
256         * c-common.h (CPP_PREPARSED_EXPR): New.
257         (N_CP_TTYPES): Adjust.
259 2014-10-15  Marek Polacek  <polacek@redhat.com>
261         * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
263 2014-10-14  DJ Delorie  <dj@redhat.com>
265         * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
266         types, not just __int128.
267         * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
268         types, not just __int128.
269         (cpp_atomic_builtins): Round pointer sizes up.
270         (type_suffix): Use type precision, not specific types.
271         * c-common.c (c_common_reswords): Remove __int128 special case.
272         (c_common_type_for_size): Check for all __intN types, not just
273         __int128.
274         (c_common_type_for_mode): Likewise.
275         (c_common_signed_or_unsigned_type): Likewise.
276         (c_build_bitfield_integer_type): Likewise.
277         (c_common_nodes_and_builtins): Likewise.
278         (keyword_begins_type_specifier): Likewise.
279         * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
280         __intN variants.
282 2014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
284         * c-common.c: Use hash_table instead of hashtab.
286 2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
288         * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
289         C++11 section.
291 2014-10-03  Marc Glisse  <marc.glisse@inria.fr>
293         PR c++/54427
294         PR c++/57198
295         PR c++/58845
296         * c-common.c (warn_logical_operator): Punt for vectors.
298 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
300         Implement SD-6: SG10 Feature Test Recommendations
301         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
302         macros and the __has_header macro.
304 2014-09-30  Jason Merrill  <jason@redhat.com>
306         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
307         RID_IS_TRIVIALLY_CONSTRUCTIBLE.
308         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
310         * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
311         * c-common.c (c_common_reswords): Add __is_trivially_copyable.
313         * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
314         * c-common.c (c_common_reswords): Remove __is_convertible_to.
316 2014-09-24  Marek Polacek  <polacek@redhat.com>
318         PR c/61405
319         PR c/53874
320         * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
322 2014-09-23  Andi Kleen  <ak@linux.intel.com>
324         * c-common.c (handle_no_reorder_attribute): New function.
325         (c_common_attribute_table): Add no_reorder attribute.
327 2014-09-22  Joseph Myers  <joseph@codesourcery.com>
329         * c-cppbuiltin.c (c_cpp_builtins): Define
330         __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
331         modes.
333 2014-09-18  Joseph Myers  <joseph@codesourcery.com>
335         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
336         for supported floating-point modes.
338 2014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
340         * c.opt (Wpsabi): Use LangEnabledBy.
341         * c-opts.c (c_common_handle_option): Do not handle here.
343 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
345         * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
346         macros for floating-point modes.
348 2014-09-11  Marc Glisse  <marc.glisse@inria.fr>
350         PR target/58757
351         * c-cppbuiltin.c (builtin_define_float_constants): Correct
352         __*_DENORM_MIN__ without denormals.
354 2014-09-10  Jakub Jelinek  <jakub@redhat.com>
356         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
357         ubsan_instrument_vla, ubsan_instrument_return): Adjust
358         ubsan_create_data callers.
359         (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
360         index is constant or BIT_AND_EXPR with constant mask and is
361         small enough for the bound.
362         * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
363         ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
365 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
367         * c.opt: Add CppReason to various flags.
368         (Wdate-time): Re-sort.
369         * c-common.c: Include c-common.h earlier.
370         (struct reason_option_codes_t): Delete.
371         (c_option_controlling_cpp_error): Prefix global type and struct
372         with cpp_.
374 2014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
376         * c.opt (Wnormalized): New.
377         (Wnormalized=): Use Enum and Reject Negative.
378         * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
380 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
382         * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
383         digits of floating-point modes if -fbuilding-libgcc.
385 2014-09-05  Joseph Myers  <joseph@codesourcery.com>
387         * c-cppbuiltin.c (c_cpp_builtins): Also define
388         __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
389         __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
390         __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
391         __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
392         __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
393         __LIBGCC_STACK_GROWS_DOWNWARD__,
394         __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
395         __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
396         __LIBGCC_DWARF_FRAME_REGISTERS__,
397         __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
398         __LIBGCC_STACK_POINTER_REGNUM__ and
399         __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
400         (builtin_define_with_value): Handle backslash-escaping in string
401         macro values.
403 2014-09-05  Richard Biener  <rguenther@suse.de>
405         PR middle-end/63148
406         * c-format.c (check_format_arg): Properly handle
407         effectively signed POINTER_PLUS_EXPR offset.
409 2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
411         * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
412         Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
413         (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
414         and Init.
415         * c-opts.c (c_common_handle_option): Do not handle here.
416         (sanitize_cpp_opts): Likewise.
417         * c-common.c (struct reason_option_codes_t): Handle
418         CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
420 2014-09-03  Marek Polacek  <polacek@redhat.com>
422         * c.opt (Wlogical-not-parentheses): Enable by -Wall.
424 2014-09-02  Jakub Jelinek  <jakub@redhat.com>
425             Balaji V. Iyer  <balaji.v.iyer@intel.com>
426             Igor Zamyatin  <igor.zamyatin@intel.com>
428         * c-cilkplus.c (cilk_for_number_of_iterations): New function.
429         * c-common.c (c_common_reswords): Added _Cilk_for.
430         * c-common.h (enum rid): Added RID_CILK_FOR.
431         (cilk_for_number_of_iterations): Add declaration.
432         * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
433         CILK_FOR.
434         * c-pragma.c (init_pragma): Register "grainsize" pragma.
435         * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
437 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
439         * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
440         Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
441         Wundef): Use CPP, Var and Init.
442         * c-opts.c (c_common_handle_option): Do not handle the above flags here.
444 2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
446         * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
447         * c-opts.c (c_common_handle_option): Do not handle here.
449 2014-08-25  Jason Merrill  <jason@redhat.com>
451         * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
452         -std=c++14 and -std=gnu++14, rather than the reverse.
453         * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
454         OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
455         * c-common.h (cxx_dialect): Remove cxx1y.
457 2014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
459         * c-common.h (enum cxx_dialect): Add cxx14.
460         * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
461         * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
462         cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
464 2014-08-22  Jason Merrill  <jason@redhat.com>
466         * c.opt (std=gnu++17): Fix alias.
468 2014-08-22  Marek Polacek  <polacek@redhat.com>
470         PR c++/62199
471         * c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
472         check for vector types.  Drop LHS argument.
473         * c-common.h (warn_logical_not_parentheses): Adjust.
475 2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
477         * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
478         (Wmultichar): Likewise.
479         (Wdate-time): Use C-family languages instead of Common. Use CPP
480         and Var.
481         * c-opts.c (c_common_handle_option): Do not handle the above
482         options here.
483         (sanitize_cpp_opts): Likewise.
485 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
487         PR fortran/44054
488         * c-opts.c: Include tree-diagnostics.h.
489         (c_diagnostic_finalizer): New.
490         (c_common_initialize_diagnostics): Use it.
492 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
494         PR preprocessor/51303
495         * c-common.c (struct reason_option_codes_t option_codes):
496         Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
498 2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
500         PR c/60975
501         PR c/53063
502         * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
503         * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
504         (c_common_post_options): Call init_global_opts_from_cpp.
505         (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
507 2014-08-19  Marek Polacek  <polacek@redhat.com>
509         PR c++/62153
510         * c-common.c (maybe_warn_bool_compare): New function.
511         * c-common.h (maybe_warn_bool_compare): Declare.
512         * c.opt (Wbool-compare): New option.
514 2014-08-19  Marek Polacek  <polacek@redhat.com>
516         * c.opt (Wc99-c11-compat): New option.
518 2014-08-19  Marek Polacek  <polacek@redhat.com>
520         * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
521         to warn_c90_c99_compat.
522         * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
523         to -1.
525 2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
526             Steven Bosscher  <steven@gcc.gnu.org>
528         PR c/52952
529         * c-format.c: Add extra_arg_loc and format_string_loc to struct
530         format_check_results.
531         (check_function_format): Use true and add comment for boolean
532         argument.
533         (finish_dollar_format_checking): Use explicit location when warning.
534         (check_format_info): Likewise.
535         (check_format_arg): Set extra_arg_loc and format_string_loc.
536         (check_format_info_main): Use explicit location when warning.
537         (check_format_types): Pass explicit location.
538         (format_type_warning): Likewise.
540 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
542         PR fortran/44054
543         * c-format.c: Handle Fortran flags.
545 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
547         PR other/61962
548         * array-notation-common.c (find_rank): Added handling for other
549         types of references.
551 2014-08-10  Marek Polacek  <polacek@redhat.com>
553         PR c/51849
554         * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
555         * c.opt (Wc90-c99-compat): Add option.
557 2014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
559         * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
561 2014-08-03  Marek Polacek  <polacek@redhat.com>
563         * c-common.c (check_case_value):  Add location_t parameter.  Use it.
564         (c_add_case_label): Pass loc to check_case_value.
566 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
568         * cilk.c: Use hash_map instead of pointer_map.
570 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
572         * c-gimplify.c: Use hash_set instead of pointer_set.
574 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
576         PR middle-end/61455
577         * array-notation-common.c (extract_array_notation_exprs): Handling
578         of DECL_EXPR added.
580 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
582         * c-common.h (min_align_of_type): Removed prototype.
583         * c-common.c (min_align_of_type): Removed.
584         * c-ubsan.h (ubsan_maybe_instrument_reference,
585         ubsan_maybe_instrument_member_call): New prototypes.
586         * c-ubsan.c: Include stor-layout.h and builtins.h.
587         (ubsan_maybe_instrument_reference_or_call,
588         ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
589         functions.
591 2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
593         PR c++/60517
594         * c.opt (-Wreturn-local-addr): Move to common.opt.
596 2014-07-30  Jason Merrill  <jason@redhat.com>
598         PR c++/61659
599         PR c++/61687
600         Revert:
601         * c.opt (-fuse-all-virtuals): New.
603 2014-07-30  Tom Tromey  <tromey@redhat.com>
605         PR c/59855
606         * c.opt (Wdesignated-init): New option.
607         * c-common.c (c_common_attribute_table): Add "designated_init".
608         (handle_designated_init): New function.
610 2014-07-24  Marek Polacek  <polacek@redhat.com>
612         PR c/57653
613         * c-opts.c (c_finish_options): If -imacros is in effect, return.
615 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
617         PR preprocessor/60723 - missing system-ness marks for macro tokens
618         * c-ppoutput.c (struct print::prev_was_system_token): New data
619         member.
620         (init_pp_output): Initialize it.
621         (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
622         (do_line_change): Return a flag saying if a line marker was
623         emitted or not.
624         (scan_translation_unit): Detect if the system-ness of the token we
625         are about to emit is different from the one of the previously
626         emitted token.  If so, emit a line marker.  Avoid emitting useless
627         adjacent line markers.  Avoid emitting line markers for tokens
628         originating from the expansion of built-in macros.
629         (scan_translation_unit_directives_only): Adjust.
631 2014-07-15  Marek Polacek  <polacek@redhat.com>
633         * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
634         TYPE_MAX_VALUE is NULL.
636 2014-07-14  Jakub Jelinek  <jakub@redhat.com>
638         PR middle-end/61294
639         * c.opt (Wmemset-transposed-args): New warning.
641 2014-07-10  Jason Merrill  <jason@redhat.com>
643         PR c++/61659
644         PR c++/61687
645         * c.opt (-fuse-all-virtuals): New.
647 2014-07-09  Richard Biener  <rguenther@suse.de>
649         PR c-family/61741
650         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
651         using unsigned arithmetic if overflow does not wrap instead of
652         if overflow is undefined.
654 2014-07-06  Marek Polacek  <polacek@redhat.com>
656         PR c/6940
657         * c.opt (Wsizeof-array-argument): New option.
659 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
661         * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 
662         comments->count <= 1, as comments->entries might be NULL.
664 2014-07-01  Marek Polacek  <polacek@redhat.com>
666         * c.opt (Wint-conversion): New option.
668 2014-07-01  Marek Polacek  <polacek@redhat.com>
670         PR c/58286
671         * c.opt (Wincompatible-pointer-types): New option.
673 2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
675         PR c++/51400
676         * c-common.c (handle_noreturn_attribute, handle_const_attribute):
677         Do not discard TYPE_QUALS of type.
679 2014-06-26  Jason Merrill  <jason@redhat.com>
681         * c-common.h (enum cxx_dialect): Add cxx1z.
682         * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
683         * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
685 2014-06-26  Teresa Johnson  <tejohnson@google.com>
687         * c-common.h (get_dump_info): Declare.
688         * c-gimplify.c (c_genericize): Use saved dump files.
689         * c-opts.c (c_common_parse_file): Begin and end dumps
690         once around parsing invocation.
691         (get_dump_info): New function.
693 2014-06-23  Marek Polacek  <polacek@redhat.com>
694             Andrew MacLeod  <amacleod@redhat.com>
696         PR c/61553
697         * c-common.c (get_atomic_generic_size): Don't segfault if the
698         type doesn't have a size.
700 2014-06-20  Marek Polacek  <polacek@redhat.com>
702         * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
703         (ubsan_walk_array_refs_r): New function.
704         (c_genericize): Instrument array bounds.
705         * c-ubsan.c: Include "internal-fn.h".
706         (ubsan_instrument_division): Mark instrumented arrays as having
707         side effects.  Adjust ubsan_type_descriptor call.
708         (ubsan_instrument_shift): Likewise.
709         (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
710         (ubsan_instrument_bounds): New function.
711         (ubsan_array_ref_instrumented_p): New function.
712         (ubsan_maybe_instrument_array_ref): New function.
713         * c-ubsan.h (ubsan_instrument_bounds): Declare.
714         (ubsan_array_ref_instrumented_p): Declare.
715         (ubsan_maybe_instrument_array_ref): Declare.
717 2014-06-20  Hale Wang  <hale.wang@arm.com>
719         PR lto/61123
720         * c.opt (fshort-enums): Add to LTO.
721         * c.opt (fshort-wchar): Likewise.
723 2014-06-16  Marek Polacek  <polacek@redhat.com>
725         PR c/60439
726         * c.opt (Wswitch-bool): Add Var.
728 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
730         PR middle-end/61486
731         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
732         #pragma omp target teams or
733         #pragma omp {,target }teams distribute simd.
735 2014-06-12  Jason Merrill  <jason@redhat.com>
737         * c.opt (Wabi=, fabi-compat-version): New.
738         * c-opts.c (c_common_handle_option): Handle -Wabi=.
739         (c_common_post_options): Handle flag_abi_compat_version default.
740         Disallow -fabi-compat-version=1.
741         * c-common.h (abi_version_crosses): New.
743 2014-06-11  Jan Hubicka  <hubicka@ucw.cz>
745         * c-family/c-common.c (handle_section_attribute): Update handling for
746         section names that are no longer trees.
748 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
750         PR fortran/60928
751         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
752         (omp_pragmas): ... back here.
754 2014-06-05  Marek Polacek  <polacek@redhat.com>
756         PR c/49706
757         * c-common.c (warn_logical_not_parentheses): New function.
758         * c-common.h (warn_logical_not_parentheses): Declare.
759         * c.opt (Wlogical-not-parentheses): New option.
761 2014-06-04  Marek Polacek  <polacek@redhat.com>
763         PR c/30020
764         * c-common.c (check_case_bounds): Add location parameter.
765         Use it.
766         (c_add_case_label): Pass loc to check_case_bounds.
768 2014-06-03  Marek Polacek  <polacek@redhat.com>
770         PR c/60439
771         * c.opt (Wswitch-bool): New option.
773 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
775         * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
776         Remove prototypes.
777         (record_types_used_by_current_var_decl): Move prototype to where
778         it belongs.
780         * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
781         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
782         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
784 2014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
786         * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
787         * c-common.c (c_common_nodes_and_builtins): Don't initialize
788         void_zero_node.
789         * c-pretty-print.c (pp_c_void_constant): New function.
790         (c_pretty_printer::constant, c_pretty_printer::primary_expression)
791         (c_pretty_printer::expression): Handle VOID_CST.
792         * cilk.c (extract_free_variables): Likewise.
793         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
794         (ubsan_instrument_vla): Use void_node instead of void_zero_node.
796 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
798         * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
799         * c-pragma.c (push_alignment): Adjust.
800         (handle_pragma_push_options): Likewise.
802 2014-05-09  Marek Polacek  <polacek@redhat.com>
804         PR c/50459
805         * c-common.c (check_user_alignment): Return -1 if alignment is error
806         node.
807         (handle_aligned_attribute): Don't call default_conversion on
808         FUNCTION_DECLs.
809         (handle_vector_size_attribute): Likewise.
810         (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
811         (handle_sentinel_attribute): Call default_conversion and allow even
812         integral types as an argument.
814 2014-05-08  Marek Polacek  <polacek@redhat.com>
816         PR c/61053
817         * c-common.c (min_align_of_type): New function factored out from...
818         (c_sizeof_or_alignof_type): ...here.
819         * c-common.h (min_align_of_type): Declare.
821 2014-05-08  Marek Polacek  <polacek@redhat.com>
823         PR c/61077
824         * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
825         parameter type of main.
827 2014-05-07  DJ Delorie  <dj@redhat.com>
829         * c-cppbuiltin.c (print_bits_of_hex): New.
830         (builtin_define_type_minmax): Print values using hex so as not to
831         require a pre-computed list of string values.
833 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
834             Mike Stump  <mikestump@comcast.net>
835             Richard Sandiford  <rdsandiford@googlemail.com>
837         * c-ada-spec.c: Include wide-int.h.
838         (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
839         (dump_generic_ada_node): Use wide-int interfaces.
840         * c-common.c: Include wide-int-print.h.
841         (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
842         (pointer_int_sum): Use wide-int interfaces.
843         (c_common_nodes_and_builtins): Use make_int_cst.
844         (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
845         (handle_alloc_size_attribute): Use wide-int interfaces.
846         (get_nonnull_operand): Likewise.
847         * c-format.c (get_constant): Use tree_fits_uhwi_p.
848         * c-lex.c: Include wide-int.h.
849         (narrowest_unsigned_type): Take a widest_int rather than two
850         HOST_WIDE_INTs.
851         (narrowest_signed_type): Likewise.
852         (interpret_integer): Update accordingly.  Use wide-int interfaces.
853         (lex_charconst): Use wide-int interfaces.
854         * c-pretty-print.c: Include wide-int.h.
855         (pp_c_integer_constant): Use wide-int interfaces.
856         * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
857         INT_CST_LT_UNSIGNED.
859 2014-05-06  Richard Biener  <rguenther@suse.de>
861         * c-opts.c (c_common_post_options): For -freestanding,
862         -fno-hosted and -fno-builtin disable pattern recognition
863         if not enabled explicitely.
865 2014-05-02  Marek Polacek  <polacek@redhat.com>
867         * c.opt (Wsizeof-pointer-memaccess): Describe option.
869 2014-05-01  Marek Polacek  <polacek@redhat.com>
871         PR c/43245
872         * c.opt (Wdiscarded-qualifiers): Add.
874 2014-04-30  Marek Polacek  <polacek@redhat.com>
876         * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
877         INT_MIN / -1 sanitization only for integer types.
879 2014-04-25  Marek Polacek  <polacek@redhat.com>
881         PR c/18079
882         * c-common.c (handle_noinline_attribute): Warn if the attribute
883         conflicts with always_inline attribute.
884         (handle_always_inline_attribute): Warn if the attribute conflicts
885         with noinline attribute.
887 2014-04-25  Marek Polacek  <polacek@redhat.com>
889         PR c/60156
890         * c-common.c (check_main_parameter_types): Warn about variadic main.
892 2014-04-24  Mike Stump  <mikestump@comcast.net>
894         * c.opt (Wshadow-ivar): Default to on.
896 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
898         * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
900 2014-04-23  Marek Polacek  <polacek@redhat.com>
902         * c-common.c (handle_tm_wrap_attribute): Tweak error message.
904 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
906         PR sanitizer/60275
907         * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
908         if flag_sanitize_undefined_trap_on_error.
909         (ubsan_instrument_division, ubsan_instrument_shift,
910         ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
911         if !flag_sanitize_recover.
913 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
915         PR libstdc++/43622
916         * c-common.c (registered_builtin_types): Make non-static.
917         * c-common.h (registered_builtin_types): Declare.
919 2014-04-14  Richard Biener  <rguenther@suse.de>
920         Marc Glisse  <marc.glisse@inria.fr>
922         PR c/60819
923         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
924         apply may-alias the scalar pointer type when applicable.
926 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
928         PR middle-end/60467
929         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
930         as possible argument for Cilk_spawn.
932 2014-04-11  Tobias Burnus  <burnus@net-b.de>
934         PR c/60194
935         * c.opt (Wformat-signedness): Add
936         * c-format.c(check_format_types): Use it.
938 2014-04-11  Jason Merrill  <jason@redhat.com>
940         PR c++/57926
941         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
942         default_conversion for an array argument.
944 2014-04-08  Marek Polacek  <polacek@redhat.com>
946         PR sanitizer/60745
947         * c-ubsan.c: Include asan.h.
948         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
950 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
952         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
954 2014-04-02  Marek Polacek  <polacek@redhat.com>
956         * c-common.h (c_expand_expr): Remove declaration.
958 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
960         PR c++/60689
961         * c-common.c (add_atomic_size_parameter): When creating new
962         params vector, push the size argument first.
964 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
966         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
967         ubsan_instrument_vla, ubsan_instrument_return): Adjust
968         ubsan_create_data callers.
970 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
972         PR debug/60603
973         * c-opts.c (c_finish_options): Restore cb_file_change call to
974         <built-in>.
976 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
978         PR middle-end/36282
979         * c-pragma.c (apply_pragma_weak): Only look at
980         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
981         DECL_ASSEMBLER_NAME_SET_P (decl).
982         (maybe_apply_pending_pragma_weaks): Exit early if
983         vec_safe_is_empty (pending_weaks) rather than only when
984         !pending_weaks.
985         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
986         set assembler name back to NULL afterwards.
988 2014-03-11  Jason Merrill  <jason@redhat.com>
990         * c.opt: Add -std=gnu++14.
992 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
994         * c-opts.c (c_common_post_options): Don't override
995         -ffp-contract=fast if unsafe-math-optimizations is on.
997 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
999     * c.opt: Enable LTO FE for fshort-double.
1001 2014-03-07  Jason Merrill  <jason@redhat.com>
1003         * c.opt: Add -std=c++14.
1005 2014-03-06  Marek Polacek  <polacek@redhat.com>
1007         PR c/60197
1008         * cilk.c (contains_cilk_spawn_stmt): New function.
1009         (contains_cilk_spawn_stmt_walker): Likewise.
1010         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1011         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1013 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
1015         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1016         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1017         even when flag_preprocess_only.
1019 2014-02-26  Jason Merrill  <jason@redhat.com>
1021         PR c++/59231
1022         PR c++/11586
1023         * c-common.c (shorten_compare): Don't check
1024         c_inhibit_evaluation_warnings.
1026 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
1028         PR c/37743
1029         * c-common.c (c_common_nodes_and_builtins): When initializing
1030         c_uint{16,32,64}_type_node, also set corresponding
1031         uint{16,32,64}_type_node to the same value.
1033         PR c++/60267
1034         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1035         for PRAGMA_IVDEP if flag_preprocess_only.
1037 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
1039         PR c/60101
1040         * c-common.c (merge_tlist): If copy is true, call new_tlist,
1041         if false, add ADD itself, rather than vice versa.
1042         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1043         copy.  For SAVE_EXPR, only call merge_tlist once.
1045 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
1047         PR middle-end/60092
1048         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1049         and tree_to_uhwi.
1050         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1051         functions.
1052         (c_common_attribute_table): Add alloc_align and assume_aligned
1053         attributes.
1055 2014-02-06  Marek Polacek  <polacek@redhat.com>
1057         PR c/60087
1058         * c-common.c (warn_for_sign_compare): Call warning_at with location
1059         instead of warning.
1061 2014-02-05  Marek Polacek  <polacek@redhat.com>
1063         PR c/53123
1064         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1065         statement.
1067 2014-02-04  Marek Polacek  <polacek@redhat.com>
1069         PR c/60036
1070         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1071         SAVE_EXPR.
1073 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
1075         PR c++/53017
1076         PR c++/59211
1077         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1078         handle_vector_size_attribute, handle_nonnull_attribute): Call
1079         default_conversion on the attribute argument.
1080         (handle_nonnull_attribute): Increment the argument number.
1082 2014-01-31  Marek Polacek  <polacek@redhat.com>
1084         PR c/59963
1085         * c-common.c (add_atomic_size_parameter): Pass vNULL to
1086         build_function_call_vec.
1087         (resolve_overloaded_builtin): Likewise.
1088         * c-common.h (build_function_call_vec): Adjust declaration.
1090 2014-01-30  Marek Polacek  <polacek@redhat.com>
1092         PR c/59940
1093         * c-common.h (unsafe_conversion_p): Adjust declaration.
1094         (warnings_for_convert_and_check): Likewise.
1095         (convert_and_check): Likewise.
1096         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
1097         expansion_point_location_if_in_system_header on it.
1098         (warnings_for_convert_and_check): Add location parameter.  Call
1099         expansion_point_location_if_in_system_header on it.  Use it.
1100         (convert_and_check): Add location parameter.  Use it.
1101         (conversion_warning): Likewise.
1102         (c_add_case_label): Adjust convert_and_check calls.
1103         (scalar_to_vector): Adjust unsafe_conversion_p calls.
1105 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1107         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1108         flag_cilkplus.
1109         * c-pragma.c (init_pragma): Likewise.
1110         * c.opt: Likewise.
1112 2014-01-23  Marek Polacek  <polacek@redhat.com>
1114         PR c/59846
1115         * c-common.c (shorten_compare): Add location_t parameter.
1116         * c-common.h (shorten_binary_op): Adjust declaration.
1118 2014-01-23  Marek Polacek  <polacek@redhat.com>
1120         PR c/58346
1121         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1122         * c-common.h: Declare it.
1124 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
1126         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1127         * c-ada-spec.c (dump_ads): Likewise.
1128         (cpp_check): Likewise.
1129         (dump_ada_specs): Likewise.
1131 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
1133         PR c++/49718
1134         * c-common.c (handle_no_instrument_function_attribute): Allow
1135         no_instrument_function attribute in class member
1136         definition/declaration.
1138 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
1140         PR c/58943
1141         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1142         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
1143         being COMPOUND_EXPR.
1144         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1145         operand a SAVE_EXPR and second MODIFY_EXPR.
1147 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
1149         PR target/58115
1150         * c-pch.c (c_common_write_pch): Call
1151         prepare_target_option_nodes_for_pch.
1153 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1155         Update copyright years
1157 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1159         * array-notation-common.c, c-cilkplus.c: Use the standard form for
1160         the copyright notice.
1162 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
1164         * c-ada-spec.c (print_constructor): New function.
1165         (print_destructor): Retrieve the origin of the destructor.
1166         (print_ada_declaration): Revamp handling of constructors/destructors.
1168 2013-12-23  Stuart Hastings <stuart@apple.com>
1169             Bill Maddox  <maddox@google.com>
1170             Jason Merrill  <jason@redhat.com>
1172         * c.opt: Add -fdeclone-ctor-dtor.
1173         * c-opts.c (c_common_post_options): Default to on iff -Os.
1175 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1177         * c-common.c (c_common_attribute_table): Added "cilk simd function"
1178         attribute.
1179         * c-pragma.h (enum pragma_cilk_clause): Remove.
1180         (enum pragma_omp_clause):  Added the following fields:
1181         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1182         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1183         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1184         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1185         PRAGMA_CILK_CLAUSE_UNIFORM.
1187         
1188 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1190         * cilk.c (cilk_outline): Made this function non-static.
1191         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1192         (create_cilk_wrapper): Added a new parameter: a function pointer.
1193         (c_install_body_w_frame_cleanup): Remove
1194         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1195         * c-common.h (cilk_outline): New prototype.
1196         (gimplify_cilk_spawn): Removed two parameters.
1197         (cilk_install_body_with_frame_cleanup): New prototype.
1198         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1199         CILK_SPAWN_STMT case.
1201 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
1203         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1205         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1206         (int_array_type_node): Remove.
1207         * c-common.c (c_common_nodes_and_builtins): Don't build it.
1209 2013-12-05  Marek Polacek  <polacek@redhat.com>
1211         PR c/52023
1212         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1213         [ADJUST_FIELD_ALIGN].
1215 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
1217         PR c/52023
1218         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1219         and check field alignment if set.
1220         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1221         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1223 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
1224             Marek Polacek  <polacek@redhat.com>
1226         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1227         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1229 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
1231         PR c/59309
1232         * cilk.c (gimplify_cilk_spawn): Properly handle function without
1233         arguments.
1235 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
1237         PR c/59280
1238         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1239         goto invalid.  If it is error_mark_node, don't issue further
1240         diagnostics.
1242 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
1244         * c.opt (Wopenmp-simd): New.
1246 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
1248         * c-ubsan.h (ubsan_instrument_return): New prototype.
1249         * c-ubsan.c (ubsan_instrument_return): New function.
1251 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
1253         * c-common.c: Add required include files from gimple.h.
1254         * c-gimplify.c: Likewise
1255         * cilk.c: Likewise
1257 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
1259         * c-common.c (unsafe_conversion_p): Remove use of
1260         EXPR_LOC_OR_HERE macro.
1261         (conversion_warning): Likewise.
1262         (warnings_for_convert_and_check): Likewise.
1263         (warn_for_collisions_1): Likewise.
1264         (shorten_compare): Likewise, and remove use of in_system_header
1265         macro, using the location from the former.
1266         * c-lex.c (dump_one_header): Remove use of input_filename macro.
1267         (cb_def_pragma): Remove use of in_system_header macro.
1268         (lex_string): Likewise.
1269         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1271 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
1272             Mike Stump  <mikestump@comcast.net>
1273             Richard Sandiford  <rdsandiford@googlemail.com>
1275         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1276         instead of TREE_INT_CST_LOW, in cases where there is a protecting
1277         tree_fits_shwi_p or tree_fits_uhwi_p.
1278         (dump_generic_ada_node): Likewise.
1279         * c-format.c (check_format_arg): Likewise.
1280         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1282 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
1284         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1286 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
1288         PR c/53001
1289         * c-common.c (unsafe_conversion_p): Make this function
1290         return an enumeration with more detail.
1291         (conversion_warning): Use the new return type of
1292         unsafe_conversion_p to separately warn either about conversions
1293         that lower floating point number precision or about the other
1294         kinds of conversions.
1295         * c-common.h (enum conversion_safety): New enumeration.
1296         (unsafe_conversion_p): switching return type to
1297         conversion_safety enumeration.
1298         * c.opt: Adding new warning -Wfloat-conversion and
1299         enabling it with -Wconversion.
1301 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
1303         * c-opts.c: Include plugin.h.
1304         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1306 2013-11-19  Marek Polacek  <polacek@redhat.com>
1308         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1309         call.
1310         (ubsan_instrument_shift): Likewise.
1311         (ubsan_instrument_vla): Likewise.
1313 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1315         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1316         cast to unsigned type.
1318 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1320         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1321         tree_low_cst.
1322         (complete_array_type): Update comment to refer to tree_to_[su]hwi
1323         rather than tree_low_cst.
1325 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1327         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1328         tree_to_uhwi throughout.
1330 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1332         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1333         tree_low_cst (..., 0) with tree_to_shwi throughout.
1335 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1337         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1338         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1340 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
1342         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1343         host_integerp (..., 0) with tree_fits_shwi_p throughout.
1345 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
1347         * c-cilkplus.c: New file.
1348         * c-common.c (readonly_error): Add location argument.
1349         * c-common.h (readonly_error): Same.
1350         (c_finish_cilk_clauses): Protoize.
1351         (c_check_cilk_loop): Same.
1352         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1353         Do not fail on error_mark_node.
1354         Abstract increment canonicalization to here...
1355         (c_omp_for_incr_canonicalize_ptr): New.
1356         c-pragma.c (init_pragma): Register "simd" pragma.
1357         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1358         (enum pragma_cilk_clause): New.
1360 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
1362         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1363         wchar_type and host_integerp checks.
1365 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
1367         * c-common.c: Likewise.
1368         * c-gimplify.c: Likewise.
1369         * cilk.c: Likewise.
1371 2013-11-14  Diego Novillo  <dnovillo@google.com>
1373         * c-common.c: Include fold-const.h.
1374         Include stor-layout.h.
1375         Include calls.h.
1376         Include stringpool.h.
1377         Include attribs.h.
1378         Include varasm.h.
1379         Include trans-mem.h.
1380         * c-cppbuiltin.c: Include stor-layout.h.
1381         Include stringpool.h.
1382         * c-format.c: Include stringpool.h.
1383         * c-lex.c: Include stringpool.h.
1384         Include stor-layout.h.
1385         * c-pragma.c: Include stringpool.h.
1386         Include attribs.h.
1387         Include varasm.h.
1388         Include gcc-symtab.h.
1389         * c-pretty-print.c: Include stor-layout.h.
1390         Include attribs.h.
1391         * cilk.c: Include stringpool.h.
1392         Include calls.h.
1394 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
1396         * c-common.h (enum rid): Add RID_AUTO_TYPE.
1397         * c-common.c (c_common_reswords): Add __auto_type.
1398         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1400 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
1402         * c-common.c: Include gimplify.h.
1403         * c-gimplify.c: Likewise.
1404         * cilk.c: Likewise.
1405         * c-omp.c: Include gimple-expr.h instead of gimple.h.
1406         * c-ubsan.c: Don't include gimple.h.
1408 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
1410         * c-common.c (c_common_reswords): Add _Thread_local.
1412 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
1414         * c-common.c (atomic_size_supported_p): New function.
1415         (resolve_overloaded_atomic_exchange)
1416         (resolve_overloaded_atomic_compare_exchange)
1417         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1418         Use it instead of comparing size with a local list of sizes.
1420 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
1421             Joseph Myers  <joseph@codesourcery.com>
1423         * c-common.h (enum rid): Add RID_ATOMIC.
1424         * c-common.c (c_common_reswords): Add _Atomic.
1425         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1426         (keyword_is_type_qualifier): Accept RID_ATOMIC.
1427         * c-format.c (check_format_types): Check for extra _Atomic
1428         qualifiers in format argument.
1429         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1430         (pp_c_type_qualifier_list): Mention _Atomic in comment.
1432 2013-11-06  Tobias Burnus  <burnus@net-b.de>
1434         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1436 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
1438         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1439         standards modes.
1440         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1441         to mean lack of IEEE 754 support.
1443 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1445         * c.opt (-Wdate-time): New option
1446         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1448 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
1450         * c-cppbuiltin.c (cpp_iec_559_value): Test
1451         flag_excess_precision_cmdline not flag_excess_precision.
1453 2013-11-05  Tobias Burnus  <burnus@net-b.de>
1455         * c.opt (fopenmp-simd): New option.
1456         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1457         (omp_pragmas): ... this new struct.
1458         (c_pp_lookup_pragma): Also walk omp_pragmas.
1459         (init_pragma): Init pragmas for -fopenmp-simd.
1461 2013-11-04  Marek Polacek  <polacek@redhat.com>
1463         PR c++/58979
1464         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1466 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
1468         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1469         New functions.
1470         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1472 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1474         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1475         (dump_ada_specs): Adjust prototype of second callback.
1476         * c-ada-spec.c (cpp_check): New global variable.
1477         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1478         (print_generic_ada_decl): Likewise.
1479         (has_static_fields): Change return type to bool and add guard.
1480         (has_nontrivial_methods): New predicate.
1481         (is_tagged_type): Change return type to bool.
1482         (separate_class_package): Call has_nontrivial_methods.
1483         (pp_ada_tree_identifier): Minor tweaks.
1484         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1485         (dump_ada_array_domains): Likewise.
1486         (dump_ada_array_type): Likewise.
1487         (dump_template_types): Remove cpp_check parameter and do not pass it to
1488         dump_generic_ada_node.
1489         (dump_ada_template): Likewise.
1490         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1491         recursively.
1492         (print_ada_methods): Change return type to integer.  Remove cpp_check
1493         parameter and do not pass it down.
1494         (dump_nested_types): Remove cpp_check parameter and do not pass it to
1495         dump_generic_ada_node.
1496         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
1497         accessing methods.
1498         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1499         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
1500         value of print_ada_methods.
1501         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1502         Set cpp_check to it before invoking dump_ada_nodes.
1503         (dump_ada_specs): Likewise.
1505 2013-11-03  Marek Polacek  <polacek@redhat.com>
1507         * c-ubsan.c: Don't include hash-table.h.
1508         (ubsan_instrument_vla): New function.
1509         * c-ubsan.h: Declare it.
1511 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
1513         Automated part of renaming of symtab_node_base to symtab_node.
1515         Patch autogenerated by rename_symtab.py from
1516         https://github.com/davidmalcolm/gcc-refactoring-scripts
1517         revision 58bb219cc090b2f4516a9297d868c245495ee622
1519         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1520         symtab_node_base to symtab_node.
1522 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
1524         Implement C++14 digit separators.
1525         * c-lex.c (interpret_float): Remove digit separators from scratch string
1526         before building real literal.
1528 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
1530         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1532 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1534         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1535         fields.
1536         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1537         enabled.
1538         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1539         (insert_cilk_frame): New prototype.
1540         (cilk_init_builtins): Likewise.
1541         (gimplify_cilk_spawn): Likewise.
1542         (c_cilk_install_body_w_frame_cleanup): Likewise.
1543         (cilk_detect_spawn_and_unwrap): Likewise.
1544         (cilk_set_spawn_marker): Likewise.
1545         (build_cilk_sync): Likewise.
1546         (build_cilk_spawn): Likewise.
1547         * cilk.c: New file.
1549 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
1551         Patch autogenerated by refactor_symtab.py from
1552         https://github.com/davidmalcolm/gcc-refactoring-scripts
1553         revision 58bb219cc090b2f4516a9297d868c245495ee622
1555         * c-gimplify.c (c_genericize): Update for conversion of symtab types
1556         to a true class hierarchy.
1557         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1559 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
1561         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1563 2013-10-26  Jeff Law  <law@redhat.com>
1565         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1566         * c-family/c.opt: Ignore and warn for mudflap options.
1568 2013-10-24  Tobias Burnus  <burnus@net-b.de>
1570         PR other/33426
1571         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1572         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1574 2013-10-23  Jason Merrill  <jason@redhat.com>
1576         * c-format.c (gcc_cxxdiag_char_table): Add %X.
1578 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
1580         * c-common.h (omp_clause_mask::operator !=): New method.
1581         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1582         instead of if (mask & something) tests everywhere.
1584         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1585         201307 instead of 201107.
1586         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1587         (c_common_attribute_table): Add "omp declare target" and
1588         "omp declare simd" attributes.
1589         (handle_omp_declare_target_attribute,
1590         handle_omp_declare_simd_attribute): New functions.
1591         * c-omp.c: Include c-pragma.h.
1592         (c_finish_omp_taskgroup): New function.
1593         (c_finish_omp_atomic): Add swapped argument, if true,
1594         build the operation first with rhs, lhs arguments and use NOP_EXPR
1595         build_modify_expr.
1596         (c_finish_omp_for): Add code argument, pass it down to make_code.
1597         (c_omp_split_clauses): New function.
1598         (c_split_parallel_clauses): Removed.
1599         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1600         c_omp_declare_simd_clauses_to_decls): New functions.
1601         * c-common.h (omp_clause_mask): New type.
1602         (OMP_CLAUSE_MASK_1): Define.
1603         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1604         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1605         omp_clause_mask::operator |, omp_clause_mask::operator &,
1606         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1607         omp_clause_mask::operator ==): New methods.
1608         (enum c_omp_clause_split): New.
1609         (c_finish_omp_taskgroup): New prototype.
1610         (c_finish_omp_atomic): Add swapped argument.
1611         (c_finish_omp_for): Add code argument.
1612         (c_omp_split_clauses): New prototype.
1613         (c_split_parallel_clauses): Removed.
1614         (c_omp_declare_simd_clauses_to_numbers,
1615         c_omp_declare_simd_clauses_to_decls): New prototypes.
1616         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1617         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1618         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1619         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1620         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1621         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1622         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1623         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1624         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1625         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1626         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1627         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1628         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1629         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1630         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1631         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1632         PRAGMA_OMP_CLAUSE_UNIFORM.
1634 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
1636         PR tree-optimization/20318
1637         * c-common.c (handle_returns_nonnull_attribute): New function.
1638         (c_common_attribute_table): Add returns_nonnull.
1640 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
1642         PR c++/19476
1643         * c.opt (fcheck-new): Move to common.opt.
1645 2013-09-25  Marek Polacek  <polacek@redhat.com>
1646             Jakub Jelinek  <jakub@redhat.com>
1648         PR sanitizer/58413
1649         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1650         an expression if we can prove it is correct.
1651         (ubsan_instrument_division): Likewise.  Remove unnecessary
1652         check.
1654 2013-09-18  Marek Polacek  <polacek@redhat.com>
1656         PR sanitizer/58411
1657         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1658         Declare it.
1659         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1661 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
1663         PR target/48094
1664         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1665         fobjc-gc, freplace-objc-classes): Accept for LTO.
1667 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
1669         * c-target.def: New hook
1671 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1673         PR c++/43452
1674         * c.opt (Wdelete-incomplete): Add.
1676 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
1678         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1679         (vector_types_compatible_elements_p): New function.
1680         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1681         declaration.
1682         (vector_types_compatible_elements_p): Declare.
1684 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1686         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1687         a virtual member function.
1688         (pp_simple_type_specifier): Remove.
1689         (pp_c_type_specifier): Likewise.
1690         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1691         Rename from pp_c_type_specifier.  Adjust.
1692         (c_pretty_printer::c_pretty_printer): Do not assign to
1693         simple_type_specifier.
1695 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1697         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1698         member function.
1699         (c_pretty_printer::storage_class_specifier): Likewise.
1700         (c_pretty_printer::initializer): Likewise.
1701         (pp_declaration): Remove.
1702         (pp_declaration_specifiers): Likewise.
1703         (pp_abstract_declarator): Likewise.
1704         (pp_declarator): Likewise.
1705         (pp_type_id): Likewise.
1706         (pp_statement): Likewise.
1707         (pp_constant): Likewise.
1708         (pp_id_expression): Likewise.
1709         (pp_primary_expression): Likewise.
1710         (pp_unary_expression): Likewise.
1711         (pp_multiplicative_expression): Likewise.
1712         (pp_conditional_expression): Likewise.
1713         (pp_assignment_expression): Likewise.
1714         (pp_expression): Likewise.
1715         (pp_c_type_id): Likewise.
1716         (pp_c_storage_class_specifier): Likewise.
1717         * c-pretty-print.c (pp_c_type_cast): Tidy.
1718         (pp_c_pointer): Likewise.
1719         (pp_c_type_specifier): Likewise.
1720         (pp_c_parameter_type_list): Likewise.
1721         (pp_c_function_definition): Likewise.
1722         (pp_c_init_declarator): Likewise.
1723         (pp_c_initializer_list): Likewise.
1724         (pp_c_constructor_elts): Likewise.
1725         (c_pretty_printer::direct_abstract_declarator): Likewise.
1726         (c_pretty_printer::declaration_specifiers): Likewise.
1727         (c_pretty_printer::primary_expression): Likewise.
1728         (c_pretty_printer::postfix_expression): Likewise.
1729         (c_pretty_printer::type_id): Rename from pp_c_type_id.
1730         (c_pretty_printer::storage_class_specifier): Rename from
1731         pp_c_storage_class_specifier.
1732         (c_pretty_printer::initializer): Rename from pp_c_initializer.
1733         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1734         storage_class_specifier, initializer, offset_list, flags.
1736 2013-08-30  Marek Polacek  <polacek@redhat.com>
1738         * c-ubsan.c: New file.
1739         * c-ubsan.h: New file.
1741 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1743         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1744         member function.
1745         (c_pretty_printer::declaration_specifiers): Likewise.
1746         (c_pretty_printer::declarator): Likewise.
1747         (c_pretty_printer::abstract_declarator): Likewise.
1748         (c_pretty_printer::direct_abstract_declarator): Likewise.
1749         (c_pretty_printer::direct_declarator): Likewise.
1750         (c_pretty_printer::function_specifier): Likewise.
1751         (pp_declaration): Adjust.
1752         (pp_declaration_specifiers): Likewise.
1753         (pp_abstract_declarator): Likewise.
1754         (pp_direct_declarator): Likewise.
1755         (pp_function_specifier): Likewise.
1756         (pp_direct_abstract_declarator): Remove as unused.
1757         (pp_c_declaration): Remove.
1758         (pp_c_declaration_specifiers): Likewise.
1759         (pp_c_declarator): Likewise.
1760         (pp_c_direct_declarator): Likewise.
1761         (pp_c_function_specifier): Likewise.
1762         (pp_c_direct_abstract_declarator): Likewise.
1763         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1764         from pp_c_abstract_declarator.  Adjust.
1765         (c_pretty_printer::direct_abstract_declarator):  Rename from
1766         pp_c_direct_abstract_declarator.  Adjust.
1767         (c_pretty_printer::function_specifier): Rename from
1768         pp_c_function_specifier.  Adjust.
1769         (c_pretty_printer::declaration_specifiers): Rename from
1770         pp_c_declaration_specifiers.  Adjust.
1771         (c_pretty_printer::direct_declarator): Rename from
1772         pp_c_direct_declarator.  Adjust.
1773         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
1774         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
1775         (c_pretty_printer::c_pretty_printer): Do not assign to
1776         declaration, declaration_specifiers, declarator,
1777         direct_declarator, direct_abstract_declarator, function_specifier.
1779 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
1781         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1782         virtual member function.
1783         (c_pretty_printer::multiplicative_expression): Likewise.
1784         (c_pretty_printer::conditional_expression): Likewise.
1785         (c_pretty_printer::assignment_expression): Likewise.
1786         (c_pretty_printer::expression): Likewise.
1787         (pp_unary_expression): Adjust.
1788         (pp_multiplicative_expression): Likewise.
1789         (pp_assignment_expression): Likewise.
1790         (pp_conditional_expression): Likewise.
1791         (pp_expression): Likewise.
1792         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1793         from pp_c_unary_expression.  Adjust.
1794         (c_pretty_printer::multiplicative_expression): Rename from
1795         pp_c_multiplicative_expression.  Adjust.
1796         (c_pretty_printer::conditional_expression): Rename from
1797         pp_c_conditional_expression.  Adjust.
1798         (c_pretty_printer::assignment_expression): Rename from
1799         pp_c_assignment_expression.  Adjust.
1800         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
1801         (c_pretty_printer::c_pretty_printer): Do not assign to
1802         unary_expression, multiplicative_expression,
1803         conditional_expression, expression.
1805 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1807         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1808         virtual member function.
1809         (pp_postfix_expression): Adjust.
1810         (pp_c_postfix_expression): Remove.
1811         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1812         from pp_c_postfix_expression.  Adjust.
1813         (c_pretty_printer::c_pretty_printer): Do not assign to
1814         postfix_expression.
1816 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1818         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1819         virtua member function.
1820         (pp_primary_expression): Adjust.
1821         (pp_c_primary_expression): Remove.
1822         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1823         from pp_c_primary_expression.  Adjust.
1824         (pp_c_initializer_list): Use pp_primary_expression.
1825         (c_pretty_printer::c_pretty_printer): Do not assign to
1826         primary_expression.
1828 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1830         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1831         * c-pretty-print.c (M_): Remove.
1832         (c_pretty_printer::translate_string): Define.
1833         (pp_c_type_specifier): Use it.
1834         (pp_c_primary_expression): Likewise.
1835         (pp_c_expression): Likewise.
1837 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1839         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1840         virtual function.
1841         (pp_c_id_expression): Remove.
1842         (pp_id_expression): Adjust.
1843         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1844         pp_c_id_expression.  Adjust.
1845         (pp_c_postfix_expression): Use pp_id_expression.
1846         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1848 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1850         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1851         member function.
1852         (pp_constant): Adjust.
1853         (pp_c_constant): Remove.
1854         * c-pretty-print.c (c_pretty_printer::constant): Rename from
1855         pp_c_constant.  Adjust.
1856         (pp_c_constant)
1857         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1858         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1860 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1862         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1863         (c_pretty_printer::c_pretty_printer): Declare.
1864         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1865         c_pretty_printer_init.  Adjust.
1866         (print_c_tree): Do not call c_pretty_printer_init.
1867         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1869 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
1871         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1873 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1875         PR c++/58080
1876         * c-common.c (pointer_int_sum): Add bool parameter.
1877         * c-common.h (pointer_int_sum): Adjust declaration.
1879 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1881         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1882         c_pretty_printer variable.
1884 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1886         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1887         (pp_base): Remove.
1888         (pp_c_base): Likewise.  Adjust users.
1889         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1890         (pp_c_whitespace): Do not call pp_base.
1891         (pp_c_left_paren): Likewise.
1892         (pp_c_right_paren): Likewise.
1893         (pp_c_left_brace): Likewise.
1894         (pp_c_right_brace): Likewise.
1895         (pp_c_left_bracket): Likewise.
1896         (pp_c_right_bracket): Likewise.
1897         (pp_c_dot): Likewise.
1898         (pp_c_ampersand): Likewise.
1899         (pp_c_star): Likewise.
1900         (pp_c_arrow): Likewise.
1901         (pp_c_semicolon): Likewise.
1902         (pp_c_complement): Likewise.
1903         (pp_c_exclamation): Likewise.
1904         (pp_c_direct_declarator): Likewise.
1905         (pp_c_ws_string): Likewise.
1906         (pp_c_identifier): Likewise.
1907         (pp_c_statement): Likewise.
1908         (print_c_tree): Likewise.
1910 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1912         PR c++/58072
1913         * c-common.c (c_parse_error): Catch user-defined literal tokens and
1914         provide useful error strings.
1916 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1918         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1919         printer functions instead of pp_string or operators and punctuators.
1920         (dump_generic_ada_node): Likewise.
1921         * c-pretty-print.c (pp_c_type_specifier): Likewise.
1922         (pp_c_relational_expression): Likewise.
1923         (pp_c_logical_or_expression): Likewise.
1925 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1927         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1928         functions instead of pp_character.
1929         (pp_ada_tree_identifier): Likewise.
1930         (dump_ada_double_name): Likewise.
1931         (dump_ada_function_declaration): Likewise.
1932         (dump_ada_array_domains): Likewise.
1933         (dump_template_types): Likewise.
1934         (dump_generic_ada_node): Likewise.
1935         (print_ada_declaration): Likewise.
1936         (print_ada_struct_decl): Likewise.
1937         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1939 2013-07-23  Tom Tromey  <tromey@redhat.com>
1941         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1942         * c-common.c (c_common_reswords): Add _Generic.
1944 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1946         * c-common.c: Fix typos.
1947         * c-common.h: Likewise.
1949 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1951         PR c++/55203
1952         * c-common.c (c_common_attribute_table): Add warn_unused.
1953         (handle_warn_unused_attribute): New.
1955 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1957         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1958         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1960 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1962         PR c++/57869
1963         * c.opt: Add Wconditionally-supported.
1965 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1967         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1968         unused variables l_length and l_node.
1970 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1972         PR c/57821
1973         * c-common.c (complete_array_type): Delay folding first index
1974         like other indices.  When folding, check for index overflow.
1976 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1978         PR c++/57509
1979         * c-common.h (c_build_vec_perm_expr): New complain argument.
1980         * c-common.c (c_build_vec_perm_expr): Likewise.
1981         Use save_expr also in C++.
1983 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1985         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1986         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1987         * c-opts.c (c_common_post_options): Likewise.
1989 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1991         * array-notation-common.c (length_mismatch_in_expr): Changed the
1992         parameter type's from a dynamic array to a vec_tree.  Also removed
1993         the size parameters.
1994         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1995         the change above.
1997 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1999         * c-common.h (struct cilkplus_an_parts): New structure.
2000         (struct cilkplus_an_loop_parts): Likewise.
2001         (cilkplus_extract_an_triplets): New prototype.
2002         (fix_sec_implicit_args): Likewise.
2003         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2004         (fix_sec_implicit_args): Likewise.
2006 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
2008         * array-notation-common.c (find_inv_trees): Removed an unwanted
2009         typecasting.
2010         * c-common.h (struct inv_list::additional_tcodes): Changed type from
2011         enum rid to enum tree_code.
2013 2013-06-11  Jan Hubicka  <jh@suse.cz>
2015         * c-common.c (handle_alias_ifunc_attribute): Do not set
2016         DECL_EXTERNAL for weakref variables.
2017         * c-pragma.c (handle_pragma_weak): Make sure aliases
2018         are not declared as external.
2020 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
2022         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2023         function from c/c-array-notation.c.
2024         (is_cilkplus_reduce_builtin): Likewise.
2025         (find_rank): Likewise.
2026         (extract_array_notation_exprs): Likewise.
2027         (replace_array_notations): Likewise.
2028         (find_inv_trees): Likewise.
2029         (replace_inv_trees): Likewise.
2030         (contains_array_notation_expr): Likewise.
2031         (find_correct_array_notation_type): Likewise.
2032         * c-common.h (struct inv_list): Moved this struct from the file
2033         c/c-array-notation.c and added a new field called additional tcodes.
2034         (length_mismatch_in_expr_p): New prototype.
2035         (is_cilkplus_reduce_builtin): Likewise.
2036         (find_rank): Likewise.
2037         (extract_array_notation_exprs): Likewise.
2038         (replace_array_notation): Likewise.
2039         (find_inv_trees): Likewise.
2040         (replace_inv_trees): Likewise.
2041         (find_correct_array_notation_type): Likewise.
2043 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
2045         * c-common.c (c_define_builtins): When cilkplus is enabled, the
2046         function array_notation_init_builtins is called.
2047         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2048         * c-common.def (ARRAY_NOTATION_REF): New tree.
2049         * c-common.h (build_array_notation_expr): New function declaration.
2050         (build_array_notation_ref): Likewise.
2051         (extract_sec_implicit_index_arg): New extern declaration.
2052         (is_sec_implicit_index_fn): Likewise.
2053         (ARRAY_NOTATION_CHECK): New define.
2054         (ARRAY_NOTATION_ARRAY): Likewise.
2055         (ARRAY_NOTATION_START): Likewise.
2056         (ARRAY_NOTATION_LENGTH): Likewise.
2057         (ARRAY_NOTATION_STRIDE): Likewise.
2058         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2059         ARRAY_NOTATION_REF.
2060         (pp_c_expression): Likewise.
2061         * c.opt (flag_enable_cilkplus): New flag.
2062         * array-notation-common.c: New file.
2064 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
2066         PR c++/57274
2067         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2069 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
2071         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2072         vectors.
2074 2013-05-07  Han Shen  <shenhan@google.com>
2076         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2078 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2080         * c-common.c (check_user_alignment): Emit error for negative values.
2082 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2084         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2086 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2088         * c-cppbuiltin.c (c_cpp_builtins): Do not define
2089         __GXX_EXPERIMENTAL_CXX1Y__.
2091 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2092             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2094         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2095         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2096         to simply use OPT_Wpointer_arith.
2097         (c_sizeof_or_alignof_type): Likewise.
2099 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2101         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2103 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
2105         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2106         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2107         specifiers.
2109 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
2111         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2113 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2115         * c-common.c (pointer_int_sum): Remove dead code.
2117 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
2119         PR middle-end/56524
2120         * c-common.c (handle_optimize_attribute): Don't call
2121         save_optabs_if_changed.
2123 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2125         PR middle-end/56461
2126         * c-pch.c (pch_init): Free target_validity at the end.
2128 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
2130         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2132 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
2133             Jakub Jelinek  <jakub@redhat.com>
2135         PR sanitizer/56454
2136         * c-common.c (handle_no_sanitize_address_attribute): New function.
2137         (c_common_attribute_table): Add no_sanitize_address attribute.
2138         (handle_no_address_safety_analysis_attribute): Add
2139         no_sanitize_address attribute, not no_address_safety_analysis
2140         attribute.
2142 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
2144         PR target/52555
2145         * c-common.c (handle_optimize_attribute): Call
2146         save_optabs_if_changed.
2148 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
2149             Steven Bosscher  <steven@gcc.gnu.org>
2151         PR pch/54117
2152         * c-opts.c (c_common_post_options): If debug info is enabled
2153         and non-dwarf*, refuse to load PCH files and when writing PCH
2154         file warn.
2156 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
2158         PR middle-end/56167
2159         * c-common.c (handle_error_attribute): Fix condition.
2161 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
2163         PR c++/55742
2164         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2166 2013-01-18  Jason Merrill  <jason@redhat.com>
2168         PR target/54908
2169         * c.opt (-fextern-tls-init): New.
2170         * c-opts.c (c_common_post_options): Handle it.
2172 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
2174         PR c/48418
2175         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2176         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2177         and is either negative or bigger or equal to type precision
2178         of the first operand.
2180 2012-12-03  Marek Polacek  <polacek@redhat.com>
2182         PR c/55570
2183         * c-common.c (check_user_alignment): Swap order of tests,
2184         check TREE_CODE first.
2186 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
2188         PR c++/52654
2189         * c-common.h (overflow_type): New enum.
2190         (build_userdef_literal): Add overflow_type argument.
2191         (tree_userdef_literal): Add overflow_type.
2192         (USERDEF_LITERAL_OVERFLOW): New access macro.
2193         * c-common.c (build_userdef_literal): Add overflow_type
2194         argument.
2195         * c-lex.c (c_lex_with_flags): Add overflow_type to
2196         build_userdef_literal calls.
2197         (interpret_integer, interpret_float): Add overflow_type argument.
2199 2012-11-28  Richard Biener  <rguenther@suse.de>
2201         PR c/35634
2202         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2203         here and use a type with proper overflow behavior for types that would
2204         need to be promoted for the arithmetic.
2206 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
2208         PR sanitizer/55435
2209         * c-common.c (handle_no_address_safety_analysis_attribute): New
2210         function.
2211         (c_common_attribute_table): Add no_address_safety_analysis.
2213 2012-11-16  Simon Baldwin  <simonb@google.com>
2215         * c.opt: Add f[no-]canonical-system-headers.
2216         * c-opts.c (c_common_handle_option): Handle
2217         OPT_fcanonical_system_headers.
2219 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
2221         PR c++/54413
2222         * c-opts.c (c_common_handle_option): Set new flags.
2223         * c.opt: Describe new flags.
2225 2012-11-09  Jason Merrill  <jason@redhat.com>
2227         * c.opt (Wabi-tag): New.
2229 2012-11-09  Andi Kleen  <ak@linux.intel.com>
2231         PR 55139
2232         * c-common.c (get_atomic_generic_size): Mask with
2233         MEMMODEL_MASK
2235 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2237         PR c/53063
2238         * c.opt (Wformat): Make it Alias Wformat=1.
2239         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2240         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2241         LangEnabledBy.
2242         (Wformat=): RejectNegative. Use LangEnabledBy.
2243         (Wnonnull): Use LangEnabledBy.
2244         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2245         * c-format.c (set_Wformat): Delete.
2246         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2247         (maybe_read_dollar_number):  Likewise.
2248         (avoid_dollar_number):  Likewise.
2249         (finish_dollar_format_checking):  Likewise.
2250         (check_format_info):  Likewise.
2251         (check_format_info_main):  Likewise.
2252         (check_format_types):  Likewise.
2253         (format_type_warning):  Likewise.
2254         * c-common.c (int):  Likewise.
2255         (check_function_sentinel):  Likewise.
2256         * c-common.h (warn_format,set_Wformat): Do not declare here.
2258 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2260         PR c/53063
2261         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2262         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2263         Use LangEnabledBy.
2264         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2265         common.opt.
2266         (Wvariadic-macros): Init(1).
2267         * c-opts.c (c_common_handle_option): Do not handle them
2268         explicitly.
2269         (c_common_post_options): Likewise.
2270         (sanitize_cpp_opts): warn_unused_macros is now
2271         cpp_warn_unused_macros.
2272         (push_command_line_include): Likewise.
2273         * c-common.c (warn_unknown_pragmas): Do not define.
2274         * c-common.h (warn_unknown_pragmas): Do not declare.
2276 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2278         PR c/51294
2279         * c-common.c (conversion_warning): Handle conditional expressions.
2281 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2283         PR c++/54930
2284         * c.opt (Wreturn_local_addr): Define new option.
2286 2012-10-25  Jason Merrill  <jason@redhat.com>
2288         * c.opt (Wvirtual-move-assign): New.
2290         * c.opt (Winherited-variadic-ctor): New.
2292 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
2294         PR c++/54427
2295         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2297 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
2299         * c-common.h (pch_cpp_save_state): Declare.
2300         * c-target.def (c_preinclude): New hook.
2301         * c-opts.c (done_preinclude): New.
2302         (push_command_line_include): Handle default preincluded header.
2303         (cb_file_change): Call pch_cpp_save_state when calling
2304         push_command_line_include.
2305         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2306         (pch_cpp_save_state): New.
2307         (pch_init): Call pch_cpp_save_state conditionally, instead of
2308         calling cpp_save_state.
2310 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2312         PR c/53063
2313         PR c/40989
2314         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2315         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2316         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2317         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2318         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2319         * c-opts.c (c_common_handle_option): Remove explicit handling from
2320         here.
2321         (c_common_post_options): Likewise.
2323 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
2325         * c-ada-spec.c (LOCATION_COL): Delete.
2326         (compare_location): New function.
2327         (compare_node): Use it.
2328         (compare_comment): Likewise.
2330 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2332         PR c/53063
2333         PR c/40989
2334         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2335         * c-opts.c (c_common_handle_option): Do not set them here. Add
2336         comment.
2337         (c_common_post_options): Likewise.
2339 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2341         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2342         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2343         Remove POINTER_TYPE handling, add large unsigned handling and use
2344         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2346 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
2348         PR c/54381
2349         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2350         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2351         locs and array of 3 trees instead of just single loc and single
2352         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
2353         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2354         For *cmp* builtins that take two sources strings report warnings
2355         about first and second source, not about destination and source.
2357 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
2359         PR c++/53055
2360         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2362 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
2364         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2365         declaring something coming from another file.
2367 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
2369         PR ada/54845
2370         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2372 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
2374         PR c++/54194
2375         * c-common.c (warn_about_parentheses): Add location_t parameter;
2376         use EXPR_LOC_OR_LOC.
2377         * c-common.h: Update declaration.
2379 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
2381         PR c++/54427
2382         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2383         more operations. Make error messages optional.
2384         * c-common.h (enum stv_conv): Moved from c-typeck.c.
2385         (scalar_to_vector): Declare.
2387 2012-10-08  Jason Merrill  <jason@redhat.com>
2389         * c-common.c (c_common_reswords): Add thread_local.
2391 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
2393         PR c++/53528 C++11 attribute support
2394         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2395         new functions.
2396         * c-common.c (check_cxx_fundamental_alignment_constraints): New
2397         static function.
2398         (handle_aligned_attribute): In choose strictest alignment
2399         among many.  Use new check_cxx_fundamental_alignment_constraints.
2400         (handle_transparent_union_attribute): In c++11 attribute syntax,
2401         don't look through typedefs.
2403 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
2405         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2406         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2407         out of dumpfile.h.
2409 2012-09-25  Dehao Chen  <dehao@google.com>
2411         PR middle-end/54645
2412         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
2413         map when read in the pch.
2415 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
2417         * c-ada-spec.c: Style fixes.
2419 2012-09-18 Thomas Quinot  <quinot@adacore.com>
2421         * c.opt (-fada-spec-parent): Define new command line switch.
2422         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2423         is specified, generate binding spec as a child of the specified unit.
2425 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
2426             Manuel López-Ibáñez  <manu@gcc.gnu.org>
2428         PR c++/53210
2429         * c.opt ([Winit-self]): Enabled by -Wall in C++.
2431 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
2433         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2434         for pointers, and add missing Convention C pragma.
2435         (print_ada_struct_decl): Add missing aliased keyword.
2436         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2438 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
2440         * c-common.c (sizeof_pointer_memaccess_warning): New function.
2441         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2442         * c-opts.c (c_common_handle_option): Enable it for -Wall.
2443         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2444         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2446 2012-08-10  Richard Guenther  <rguenther@suse.de>
2448         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2450 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
2452         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2453         instead of separate pp_newline and pp_flush.
2454         (print_c_tree): Likewise.
2456 2012-07-26  Richard Henderson  <rth@redhat.com>
2458         * c-common.c (handle_hot_attribute): Allow labels.
2459         (handle_cold_attribute): Likewise.
2461 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
2463         PR c++/28656
2464         * c-common.c (check_function_nonnull): Handle multiple nonnull
2465         attributes properly.
2467 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
2469         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2470         * c-ada-spec.c: Likewise.
2471         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2473 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
2475         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2476         Remove code conditional on it.
2478 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
2480         * c-gimplify.c: Do not include basic-block.h.
2481         * c-common.c: Do not include linfuncs.h.
2483 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
2485         * c-common.h: Include tree.h.
2487 2012-07-02  Jason Merrill  <jason@redhat.com>
2489         PR c++/53524
2490         * c-common.c (get_priority): Call default_conversion.
2492 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
2494         * c-pch.c (c_common_write_pch): Remove unused variables.
2496 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
2498         * cppspec.c: Moved from gcc/ to here.
2500 2012-06-27  Kai Tietz  <ktietz@redhat.com>
2502         PR preprocessor/37215
2503         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2505 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
2507         * c-common.h (c_common_print_pch_checksum): Remove.
2508         * c-pch.c: Do not include output.h.
2509         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2510         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2511         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2512         (struct c_pch_header): Remove.
2513         (get_ident): Update gpch version.
2514         (pch_init): Do not print executable_checksum to asm_out_file.
2515         Do not fail if there is no asm_out_file to read back from.  Set
2516         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2517         (c_common_write_pch): Verify that nothing was written to asm_out_file
2518         since pch_init was called.  Do not write a c_pch_header, and do not
2519         copy from asm_out_file to the PCH.
2520         (c_common_read_pch): Do not read a c_pch_header, and do not restore
2521         the content of asm_out_file from the PCH.
2522         (c_common_print_pch_checksum): Remove.
2523         * c-opts.c (c_common_init): Print out executable_checksum directly.
2525 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2527         * c-target.def (objc_declare_unresolved_class_reference,
2528         objc_declare_class_definition): Add new hooks.
2530 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
2532         * c-lex.c: Do not include output.h.
2533         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2534         Remove uses of ASM_OUTPUT_IDENT.
2536 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
2538         PR c++/51033
2539         * c-common.h (c_build_vec_perm_expr): Move decl here.
2540         * c-common.c (c_build_vec_perm_expr): Move definition
2541         here.
2543 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
2545         * c.opt (fconserve-space): Turn into a no-op.
2547 2012-06-04  Sterling Augustine  <saugustine@google.com>
2549         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2550         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2551         both the start and end of the function.
2553 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2555         * c-common.c: Do not include output.h.
2556         * c-pragma.c: Likewise.
2558 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
2560         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2561         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2562         (lang_decl_name): Handle namespace decls.
2564 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
2566         * c-ada-spec.c: Do not include output.h.
2567         * c-semantics.c: Likewise.
2569 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
2571         * c-common.c: Fix typo.
2573 2012-05-29  Michael Matz  <matz@suse.de>
2575         * c-common.h (c_expand_decl): Remove prototype.
2577 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2579         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2580         * c-opts.c (c_common_handle_option): Remove code handling
2581         warn_missing_braces.
2583 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
2585         PR c++/25137
2586         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2587         -Wmissing_braces.
2589 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
2591         PR c++/53322
2592         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2594 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2596         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2597         * c-opts.c (c_common_handle_option): Do not handle explicitly
2598         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2600 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
2602         PR preprocessor/7263
2603         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
2604         to cpp_classify_number.  For diagnostics, use the precise location
2605         instead of the global input_location.
2607 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2609         PR c++/11856
2610         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2612 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
2614         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
2616 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2618         PR 53063
2619         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2620         Wreorder): Use LangEnabledBy.
2621         * c-opts.c (c_common_handle_option): Do not enable them
2622         explicitly. Call lang-specific generated functions.
2623         (c_common_post_options): Do not set them here.
2625 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2627         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2628         Wmissing-field-initializers,Wmissing-parameter-type,
2629         Wold-style-declaration,Woverride-init): Use EnabledBy.
2630         * c-opts.c (c_common_post_options): Do not set here explicitly.
2632 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2634         PR 53063
2635         * c-opts.c (c_common_handle_option): Use handle_generated_option
2636         to enable sub-options.
2638 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
2640         PR c++/53158
2641         * c-common.c (warnings_for_convert_and_check): Use warning_at.
2643 2012-05-10  Richard Guenther  <rguenther@suse.de>
2645         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2646         adjust commentary about TYPE_IS_SIZETYPE types.
2648 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2650         PR c++/53261
2651         * c-common.c (warn_logical_operator): Check that argument of
2652         integer_zerop is not NULL.
2654 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2656         PR c/43772
2657         * c-common.c (warn_logical_operator): Do not warn if either side
2658         is already true or false.
2660 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2662         PR c/51712
2663         * c-common.c (expr_original_type): New.
2664         (shorten_compare): Do not warn for enumeration types.
2666 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2668         * c.opt (fpermissive): Add Var(flag_permissive).
2670 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
2672         PR c++/51033
2673         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2674         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2676 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
2678         Add -Wvarargs option
2679         * c.opt (Wvarargs):  Define new option.
2681 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2683         * c-common.c (check_function_arguments): Replace
2684         Wmissing-format-attribute with Wsuggest-attribute=format.
2686 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2688         * c.opt (Wsuggest-attribute=format): New. Alias of
2689         Wmissing-format-attribute.
2690         * c-format.c (decode_format_type): Replace
2691         Wmissing-format-attribute with Wsuggest-attribute=format.
2692         (check_function_format): Likewise.
2694 2012-04-27  Ollie Wild  <aaw@google.com>
2696         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2697         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2698         * c.opt: Add Wliteral-suffix.
2700 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2702         PR c/44774
2703         * c.opt (Wpedantic): New.
2704         (pedantic): Alias Wpedantic.
2705         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2706         (c_common_post_options): Likewise.
2707         (sanitize_cpp_opts): Likewise.
2708         * c-lex.c (interpret_float): Likewise.
2709         * c-format.c (check_format_types): Likewise.
2710         * c-common.c (pointer_int_sum): Likewise.
2711         (c_sizeof_or_alignof_type): Likewise.
2712         (c_add_case_label): Likewise.
2713         (c_do_switch_warnings): Likewise.
2714         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2716 2012-04-15  Jason Merrill  <jason@redhat.com>
2718         PR c++/52818
2719         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2720         (C_STD_NAME): Distinguish between C++98 and C++11.
2722 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2724         PR target/52624
2725         * c-common.h (uint16_type_node): Rename into...
2726         (c_uint16_type_node): ...this.
2727         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2728         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2730 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2732         * c-common.c (warn_if_unused_value): Move definition to here.
2733         * c-common.h (warn_if_unused_value): Move declaration to here.
2735 2012-03-23  William Bader  <williambader@hotmail.com>
2737         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2739 2012-03-20  Jason Merrill  <jason@redhat.com>
2741         * c-common.h (enum cxx_dialect): Add cxx1y.
2742         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2743         test.
2744         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2745         * c-opts.c (c_common_post_options): Likewise.
2746         (set_std_cxx1y): New.
2747         (c_common_handle_option): Call it.
2748         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2750 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2752         PR c++/14710
2753         * c.opt ([Wuseless-cast]): Add.
2755 2012-03-16  Richard Guenther  <rguenther@suse.de>
2757         * c-pretty-print.c (pp_c_initializer_list): Adjust.
2759 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2761         PR c++/44783
2762         * c.opt (ftemplate-backtrace-limit) Add.
2764 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2766         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2767         handling.
2768         * c-pragma.c (handle_pragma_extern_prefix): Remove.
2769         (init_pragma): Don't register extern_prefix.
2771 2012-03-12  Richard Guenther  <rguenther@suse.de>
2773         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2774         (builtin_type_for_size): Likewise.
2776 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
2778         PR c++/52215
2779         * c-common.c (sync_resolve_params): Don't decide whether to convert
2780         or not based on TYPE_SIZE comparison, convert whenever arg_type
2781         is unsigned INTEGER_TYPE.
2783 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
2785         PR c/52118
2786         * c.opt ([Wunused-local-typedefs]): Fix description.
2788 2012-01-24  Mike Stump  <mikestump@comcast.net>
2790         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2791         exactly.
2793 2012-01-18  Richard Guenther  <rguenther@suse.de>
2795         * c-opts.c (c_common_post_options): Reset LTO flags if
2796         we are about to generate a PCH.
2798 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
2800         PR c++/51777
2801         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2802         use pp_unsigned_wide_integer.
2804 2012-01-10  Richard Guenther  <rguenther@suse.de>
2806         PR middle-end/51806
2807         * c-opts.c (c_common_handle_option): Move -Werror handling
2808         to language independent code.
2810 2012-01-05  Richard Guenther  <rguenther@suse.de>
2812         PR middle-end/51764
2813         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2814         from common.opt.
2816 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
2818         PR c++/51316
2819         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2820         of array types with an unknown bound.
2822 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
2824         * c-common.c (flag_isoc99): Update comment to refer to C11.
2825         (flag_isoc1x): Change to flag_isoc11.
2826         * c-common.h (flag_isoc99): Update comment to refer to C11.
2827         (flag_isoc1x): Change to flag_isoc11.
2828         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2829         C11.
2830         * c-opts.c (set_std_c1x): Change to set_std_c11.
2831         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2832         Call set_std_c11.
2833         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2834         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2835         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
2836         standard.
2837         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2838         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
2839         (std=gnu1x): Make alias of std=gnu11.
2841 2011-12-19  Jason Merrill  <jason@redhat.com>
2843         PR c++/51228
2844         * c-common.c (handle_transparent_union_attribute): Check the first
2845         field if the type is complete.
2847 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2849         PR libstdc++/51365
2850         * c-common.c (RID_IS_FINAL): Add.
2851         * c-common.h (RID_IS_FINAL): Add.
2853 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2855         * c.opt (fgnu-runtime): Provide full description.
2856         (fnext-runtime): Likewise.
2857         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2859 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2861         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2862         predefines in one place.  Add LOCK_FREE predefines.
2863         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2864         new func.
2866 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2868         PR c/51256
2869         * c-common.c (get_atomic_generic_size): Check for various error
2870         conditions
2871         (resolve_overloaded_atomic_exchange,
2872         resolve_overloaded_atomic_compare_exchange,
2873         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2874         error_mark_node for error conditions.
2876 2011-11-08  Richard Guenther  <rguenther@suse.de>
2878         PR middle-end/51010
2879         c-family/
2881 2011-11-07  Richard Henderson  <rth@redhat.com>
2882             Aldy Hernandez  <aldyh@redhat.com>
2883             Torvald Riegel  <triegel@redhat.com>
2885         Merged from transactional-memory.
2887         * c-common.c (handle_tm_wrap_attribute,
2888         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2889         (struct c_common_reswords): Added __transaction* keywords.
2890         (struct c_common_attribute_table): Added transaction* and tm_regparm
2891         attributes.
2892         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2893         masks.
2894         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2895         find_tm_attribute): Declare.
2897 2011-11-07  Jason Merrill  <jason@redhat.com>
2899         PR c++/35688
2900         * c-common.c, c-common.h: Revert yesterday's changes.
2902 2011-11-06  Jason Merrill  <jason@redhat.com>
2904         PR c++/35688
2905         * c-common.c (decl_has_visibility_attr): Split out from...
2906         (c_determine_visibility): ...here.
2907         * c-common.h: Declare it.
2909 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
2911         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2912         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2913         type.
2914         (check_user_alignment): New.  Split out of
2915         handle_aligned_attribute.  Disallow integer constants with
2916         noninteger types.  Conditionally allow zero.
2917         (handle_aligned_attribute): Use check_user_alignment.
2918         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2920 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2921             Richard Henderson  <rth@redhat.com>
2923         Merged from cxx-mem-model.
2925         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2926         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2927         parameters that are the same type size.
2928         (get_atomic_generic_size): New.  Find size of generic
2929         atomic function parameters and do typechecking.
2930         (add_atomic_size_parameter): New.  Insert size into parameter list.
2931         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2932         either __atomic_exchange_n or external library call.
2933         (resolve_overloaded_atomic_compare_exchange): Restructure
2934         __atomic_compare_exchange to either _n variant or external library call.
2935         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2936         __atomic_load_n or an external library call.
2937         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2938         __atomic_store_n or an external library call.
2939         (resolve_overloaded_builtin): Handle new __atomic builtins.
2941 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2943         PR c++/50608
2944         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2945         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2946         <INDIRECT_REF>: Return the argument.
2947         <ARRAY_REF>: Remove special code for negative offset.
2948         Call fold_build_pointer_plus instead of size_binop.
2949         (fold_offsetof): Remove STOP_REF argument and adjust.
2950         * c-common.h (fold_offsetof_1): Declare.
2951         (fold_offsetof): Remove STOP_REF argument.
2953 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2955         PR c++/50810
2956         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2957         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2958         Wnarrowing for C++0x and C++98.
2959         * c.opt ([Wnarrowing]): Update.
2961 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2963         PR c++/44277
2964         * c.opt: Add Wzero-as-null-pointer-constant.
2966 2011-10-31  Jason Merrill  <jason@redhat.com>
2968         * c.opt (-fdeduce-init-list): Off by default.
2970         PR c++/50920
2971         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2972         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2973         and -Wc++11-compat.
2974         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2976 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2978         PR c++/30066
2979         * c.opt (fvisibility-inlines-hidden): Description change.
2981 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2983         Implement C++11 user-defined literals.
2984         * c-common.c (build_userdef_literal): New.
2985         * c-common.def: New tree code.
2986         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2987         * c-lex.c (interpret_float): Add suffix parm.
2988         (c_lex_with_flags): Build literal tokens.
2990 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2992         PR c++/50841
2993         Revert:
2994         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2996         PR c++/50810
2997         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2998         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2999         Wnarrowing for C++0x and C++98.
3000         * c.opt ([Wnarrowing]): Update.
3002 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
3004         PR c++/50810
3005         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3006         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3007         Wnarrowing for C++0x and C++98.
3008         * c.opt ([Wnarrowing]): Update.
3010 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
3012         PR c++/45385
3013         * c-common.c (conversion_warning): Remove code looking for
3014         artificial operands.
3016 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
3018         PR bootstrap/50760
3019         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
3020         !NO_IMPLICIT_EXTERN_C.
3022 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
3024         * c-common.c (c_common_reswords): Add __bases,
3025         __direct_bases.
3026         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3028 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
3030         PR c++/50757
3031         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3033 2011-10-15  Tom Tromey  <tromey@redhat.com>
3034             Dodji Seketeli  <dodji@redhat.com>
3036         * c.opt (fdebug-cpp): New option.
3037         * c-opts.c (c_common_handle_option): Handle the option.
3038         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3039         output stream in parameter. Factorized from ...
3040         (maybe_print_line): ... this. Dump location debug information when
3041         -fdebug-cpp is in effect.
3042         (print_line_1): New static function. Takes an output stream in
3043         parameter. Factorized from ...
3044         (print_line): ... here. Dump location information when -fdebug-cpp
3045         is in effect.
3046         (scan_translation_unit): Dump location information when
3047         -fdebug-cpp is in effect.
3049 2011-10-15  Tom Tromey  <tromey@redhat.com>
3050             Dodji Seketeli  <dodji@redhat.com>
3052         * c.opt (ftrack-macro-expansion): New option. Handle it with and
3053         without argument.
3054         * c-opts.c (c_common_handle_option)<case
3055         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3056         cases. Handle -ftrack-macro-expansion with and without argument.
3058 2011-10-15  Tom Tromey  <tromey@redhat.com>
3059             Dodji Seketeli  <dodji@redhat.com>
3061         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3062         (print_line, cb_define, do_line_change): Adjust to avoid touching
3063         the internals of struct line_map.  Use the public API instead.
3064         * c-pch.c (c_common_read_pch): Likewise.
3065         * c-lex.c (fe_file_change): Likewise.
3067 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3069         PR c++/17212
3070         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3072 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
3074         PR c++/33067
3075         * c-pretty-print.c (pp_c_floating_constant): Output
3076         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3078 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
3080         * c-common.c (def_builtin_1): Delete old interface with two
3081         parallel arrays to hold standard builtin declarations, and replace
3082         it with a function based interface that can support creating
3083         builtins on the fly in the future.  Change all uses, and poison
3084         the old names.  Make sure 0 is not a legitimate builtin index.
3085         * c-omp.c (c_finish_omp_barrier): Ditto.
3086         (c_finish_omp_taskwait): Ditto.
3087         (c_finish_omp_flush): Ditto.
3089 2011-10-11  Tristan Gingold  <gingold@adacore.com>
3091         * c.opt: (fallow-parameterless-variadic-functions): New.
3093 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
3095         PR c++/33255 - Support -Wunused-local-typedefs warning
3096         * c-common.h (struct c_language_function::local_typedefs): New
3097         field.
3098         (record_locally_defined_typedef, maybe_record_typedef_use)
3099         (maybe_warn_unused_local_typedefs): Declare new functions.
3100         * c-common.c (record_locally_defined_typedef)
3101         (maybe_record_typedef_use)
3102         (maybe_warn_unused_local_typedefs): Define new functions.
3103         * c.opt: Declare new -Wunused-local-typedefs flag.
3105 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
3107         PR middle-end/50266
3108         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3109         computations.
3111 2011-09-05  Richard Guenther  <rguenther@suse.de>
3113         * c-common.c (complete_array_type): Use ssize_int (-1) instead
3114         of integer_minus_one_node for empty array upper bounds.
3116 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
3118         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3119         it's the first time it's being called on this main TU.
3121 2011-08-24  Richard Guenther  <rguenther@suse.de>
3123         PR c/49396
3124         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3126 2011-08-22  Gabriel Charette  <gchare@google.com>
3128         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3129         defined in cpp_init_builtins and c_cpp_builtins.
3131 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
3133         * c-common.c (c_common_reswords): Add __builtin_complex.
3134         * c-common.h (RID_BUILTIN_COMPLEX): New.
3136 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
3138         * c-common.c (c_common_reswords): Add _Noreturn.
3139         (keyword_is_function_specifier): Handle RID_NORETURN.
3140         * c-common.h (RID_NORETURN): New.
3142 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3144         * c-common.c (unsafe_conversion_p): New function. Check if it is
3145         unsafe to convert an expression to the type.
3146         (conversion_warning): Adjust, use unsafe_conversion_p.
3147         * c-common.h (unsafe_conversion_p): New function declaration.
3149 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
3151         * c-common.h (c_finish_omp_atomic): Adjust prototype.
3152         (c_finish_omp_taskyield): New prototype.
3153         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3154         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3155         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
3156         or RHS1 have side-effects, evaluate those too in the right spot,
3157         if it is a decl and LHS is also a decl, error out if they
3158         aren't the same.
3159         (c_finish_omp_taskyield): New function.
3160         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3161         * c-pragma.c (omp_pragmas): Add taskyield.
3162         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3163         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3164         PRAGMA_OMP_CLAUSE_MERGEABLE.
3166 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
3168         * c-common.h (set_underlying_type): Remove parm name from
3169         declaration.
3171 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
3173         * c-pretty-print.h: Search c-common.h in c-family.
3175 2011-07-22  Jason Merrill  <jason@redhat.com>
3177         PR c++/49793
3178         * c.opt (Wnarrowing): New.
3180         PR c++/30112
3181         * c-common.h: Declare c_linkage_bindings.
3182         * c-pragma.c (handle_pragma_redefine_extname): Use it.
3184         PR c++/49813
3185         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3186         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3187         as flag_isoc99 for 'restrict'.
3188         (pp_c_specifier_qualifier_list): Likewise for _Complex.
3190 2011-07-21  Ian Lance Taylor  <iant@google.com>
3192         PR middle-end/49705
3193         * c-common.c (c_disable_warnings): New static function.
3194         (c_enable_warnings): New static function.
3195         (c_fully_fold_internal): Change local unused_p to bool.  Call
3196         c_disable_warnings and c_enable_warnings rather than change
3197         c_inhibit_evaluation_warnings.
3199 2011-07-20  Jason Merrill  <jason@redhat.com>
3201         PR c++/6709 (DR 743)
3202         PR c++/42603 (DR 950)
3203         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3204         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3205         (CPP_DECLTYPE): New.
3206         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3208 2011-07-19  Richard Guenther  <rguenther@suse.de>
3210         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3211         * c-omp.c (c_finish_omp_for): Likewise.
3213 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
3215         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3216         body on the next line.
3218 2011-07-08  Jason Merrill  <jason@redhat.com>
3220         PR c++/45437
3221         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3223         PR c++/49673
3224         * c-common.c (c_apply_type_quals_to_decl): Don't check
3225         TYPE_NEEDS_CONSTRUCTING.
3227 2011-07-06  Richard Guenther  <rguenther@suse.de>
3229         * c-common.c (c_common_nodes_and_builtins):
3230         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3232 2011-07-05  Richard Guenther  <rguenther@suse.de>
3234         * c-common.c (c_common_nodes_and_builtins): Build all common
3235         tree nodes first.
3237 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
3239         * c-common.h (c_tree_chain_next): New static inline function.
3241         * c-common.c (check_builtin_function_arguments): Handle
3242         BUILT_IN_ASSUME_ALIGNED.
3244 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
3246         * c-common.c: Add sync_ or SYNC__ to builtin names.
3247         * c-omp.c: Add sync_ or SYNC__ to builtin names.
3249 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
3251         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3252         handler.
3253         (gen_pragma_handler): New union.
3254         (internal_pragma_handler): New type.
3255         (c_register_pragma_with_data)
3256         (c_register_pragma_with_expansion_and_data): New functions.
3258         * c-pragma.c (registered_pragmas, c_register_pragma_1)
3259         (c_register_pragma, c_register_pragma_with_expansion)
3260         (c_invoke_pragma_handler): Changed to work with
3261         internal_pragma_handler.
3262         (c_register_pragma_with_data)
3263         (c_register_pragma_with_expansion_and_data): New functions.
3265 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
3267         * c-common.c: Include common/common-target.h.
3268         (handle_section_attribute): Use
3269         targetm_common.have_named_sections.
3270         * c-cppbuiltin.c: Include common/common-target.h.
3271         (c_cpp_builtins): Use targetm_common.except_unwind_info.
3273 2011-06-10  Richard Guenther  <rguenther@suse.de>
3275         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3276         to print a IDENTIFIER_NODE.
3278 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3279             Joseph Myers  <joseph@codesourcery.com>
3281         * c.opt (fbuilding-libgcc): New option.
3282         * c-cppbuiltin.c (c_cpp_builtins): Define
3283         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3285 2011-06-07  Jason Merrill  <jason@redhat.com>
3287         * c-common.c (max_tinst_depth): Lower default to 900.
3289         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3291 2011-06-07  Richard Guenther  <rguenther@suse.de>
3293         * c-common.c (c_common_nodes_and_builtins): Do not set
3294         size_type_node or call set_sizetype.
3296 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
3298         PR debug/49130
3299         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
3300         type when using pointer comparison to compare types.
3302 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
3304         * c.opt: Add -Wdelete-non-virtual-dtor.
3305         * c-opts.c (c_common_handle_option): Include it in -Wall.
3307 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
3309         PR bootstrap/49190
3311         Revert:
3312         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3314         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3315         not tree_common.
3317 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
3319         PR c++/49165
3320         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3321         C++ don't call c_common_truthvalue_conversion on void type arms.
3323 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
3325         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3326         (stmt_list_stack): Define.
3327         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3328         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3330 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3332         * c-common.c (warning_candidate_p): Check for BLOCKs.
3334 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
3336         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3337         not tree_common.
3339 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
3341         * c-common.c (def_fn_type): Remove extra va_end.
3343 2011-05-23  Jason Merrill  <jason@redhat.com>
3345         PR c++/48106
3346         * c-common.c (c_common_get_narrower): New.
3347         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3349 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
3351         * c-common.h (check_function_arguments): Tweak prototype of
3352         check_function_arguments.
3353         * c-common.c (check_function_arguments): Likewise.  Adjust
3354         calls to check_function_nonnull, check_function_format, and
3355         check_function_sentinel.
3356         (check_function_sentinel): Take a FUNCTION_TYPE rather than
3357         separate attributes and typelist arguments.  Use
3358         FOREACH_FUNCTION_ARGS to iterate over argument types.
3360 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
3362         * c-common.c (c_common_reswords): Reorder.
3363         * c-common.h (rid): Likewise.
3365 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
3367         * c-common.c (def_fn_type): Don't call build_function_type, call
3368         build_function_type_array or build_varargs_function_type_array
3369         instead.
3370         (c_common_nodes_and_builtins): Likewise.
3372 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
3374         * c-common.c (c_add_case_label): Omit the loc argument to
3375         build_case_label.
3376         * c-common.h (build_case_label): Remove.
3377         * c-semantics.c (build_case_label): Remove.
3379 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
3381         * c-objc.h (objc_start_method_definition): Update prototype.
3382         * stub-objc.c (objc_start_method_definition): Add extra parameter.
3384 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
3386         * c-common.c (check_main_parameter_types): Reindent.  Don't use
3387         TYPE_ARG_TYPES directly.
3388         (handle_nonnull_attribute): Likewise.
3389         (sync_resolve_params): Likewise.
3390         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
3391         to check_format_string.
3392         (handle_format_attribute): Likewise.
3393         (check_format_string): Take a function type to examine instead of
3394         a type list.  Use a function_arg_iterator to step through argument
3395         types.
3397 2011-05-04  Richard Guenther  <rguenther@suse.de>
3399         * c-common.c (fix_string_type): Use size_int for index type bounds.
3400         (start_fname_decls): Do not pass NULL to build_int_cst.
3401         (c_init_attributes): Likewise.
3402         * c-lex.c (c_lex_with_flags): Likewise.
3404 2011-04-27  Jason Merrill  <jason@redhat.com>
3406         * c-common.c (make_tree_vector_from_list): New.
3407         * c-common.h: Declare it.
3409 2011-04-26  Richard Guenther  <rguenther@suse.de>
3411         PR preprocessor/48248
3412         * c-ppoutput.c (maybe_print_line): Always optimize newlines
3413         for output size with -P.
3415 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3417         * c-common.c (struct c_common_resword): Add __underlying_type.
3418         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3420 2011-04-20  Jim Meyering  <meyering@redhat.com>
3422         * c-format.c (init_dollar_format_checking): Remove useless
3423         if-before-free.
3425 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3427         * c-objc.h (objc_get_interface_ivars): Removed.
3428         (objc_detect_field_duplicates): New.
3429         * stub-objc.c: Likewise.
3431 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3433         * stub-objc.c (objc_declare_protocols): Renamed to
3434         objc_declare_protocol.
3435         * c-objc.h: Likewise.
3437 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
3439         * stub-objc.c (objc_declare_class): Updated argument name.
3441 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
3443         * c-common.h (c_common_init_ts): Declare.
3444         * c-common.c (c_common_init_ts): Define.
3446 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3448         * c-objc.h (objc_build_message_expr): Updated prototype.
3449         * stub-objc.c (objc_build_message_expr): Likewise.
3451 2011-04-12  Martin Jambor  <mjambor@suse.cz>
3453         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3454         of cgraph_node.
3456 2011-04-11  Richard Guenther  <rguenther@suse.de>
3458         * c-common.c (complete_array_type): Build a range type of
3459         proper type.
3461 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
3463         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3464         (handle_type_generic_attribute): Likewise.
3466 2011-04-07  Jason Merrill  <jason@redhat.com>
3468         PR c++/48450
3469         * c-common.c (c_common_truthvalue_conversion): Don't ignore
3470         conversion from C++0x scoped enum.
3472 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
3474         * c-target-def.h: New file.
3475         * c-target.def: New file.
3476         * c-target.h: New file.
3477         * c-common.c (targetcm): Don't define here.
3478         * c-common.h (default_handle_c_option): Declare.
3479         * c-format.c: Include c-target.h instead of target.h.
3480         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
3481         include tm.h.
3482         (default_handle_c_option): Move from targhooks.c.
3484 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
3486         PR preprocessor/48248
3487         * c-ppoutput.c (print): Add src_file field.
3488         (init_pp_output): Initialize it.
3489         (maybe_print_line): Don't optimize by adding up to 8 newlines
3490         if map->to_file and print.src_file are different file.
3491         (print_line): Update print.src_file.
3493 2011-03-25  Kai Tietz  <ktietz@redhat.com>
3495         * c-ada-spec.c (compare_comment): Use filename_cmp
3496         instead of strcmp for filename.
3498 2011-03-25  Jeff Law  <law@redhat.com>
3500         * c-family/c-common.c (def_fn_type): Add missing va_end.
3502 2011-03-25  Jason Merrill  <jason@redhat.com>
3504         * c.opt: Add -std=c++03.
3506 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
3508         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3510 2011-03-17  Kai Tietz
3512         PR target/12171
3513         * c-pretty-print.c (pp_c_specifier_qualifier_list):
3514         Display allowed attributes for function pointer types.
3515         (pp_c_attributes_display): New function to display
3516         attributes having affects_type_identity flag set to true.
3517         * c-pretty-print.h (pp_c_attributes_display): New prototype.
3519         * c-common.c (c_common_attribute_table):
3520         Add new element.
3521         (c_common_format_attribute_table): Likewise.
3523 2011-03-18  Jason Merrill  <jason@redhat.com>
3525         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3526         * c-common.h: Don't declare it here.
3527         * c-common.c: Or define it here.
3528         * c-opts.c (c_common_handle_option): Or set it here.
3530         PR c++/35315
3531         * c-common.c (handle_transparent_union_attribute): Don't
3532         make a duplicate type in C++.
3534 2011-03-15  Jason Merrill  <jason@redhat.com>
3536         * c-common.c (max_constexpr_depth): New.
3537         * c-common.h: Declare it.
3538         * c-opts.c (c_common_handle_option): Set it.
3539         * c.opt (fconstexpr-depth): New option.
3541 2011-03-11  Jason Merrill  <jason@redhat.com>
3543         * c-common.c (attribute_takes_identifier_p): Add missing const.
3545         PR c++/46803
3546         * c-common.c (attribute_takes_identifier_p): Assume that an
3547         unknown attribute takes an identifier.
3549 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
3551         PR c/47786
3552         * c-common.c (c_type_hash): Call list_length instead of iterating
3553         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
3555 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3557         PR c/47809
3558         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3560 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3562         * c.opt (fobjc-abi-version=) New.
3563         (fobjc-nilcheck): New.
3565 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
3567         PR c++/46890
3568         * c-common.h (keyword_is_decl_specifier): Declare.
3569         * c-common.c (keyword_is_decl_specifier): Define.
3570         (keyword_is_function_specifier): New function.
3572 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3574         PR c/47473
3575         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3576         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3577         REAL_TYPE.
3579 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
3581         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3583 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
3585         PR pch/47430
3586         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3587         after init_c_lex if pch_file is set.
3589 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3591         PR c++/43601
3592         * c.opt (-fkeep-inline-dllexport): New switch.
3594 2011-01-12  Richard Guenther  <rguenther@suse.de>
3596         PR middle-end/32511
3597         * c-common.c (handle_weak_attribute): Warn instead of error
3598         on declaring an inline function weak.
3600 2011-01-05  Tom Tromey  <tromey@redhat.com>
3602         * c-common.h (lvalue_error): Update.
3603         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
3604         not error.
3606 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3608         PR objc/47075
3609         * c-objc.h (objc_finish_message_expr): Added argument to
3610         prototype.
3612 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
3614         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3615         Use prototype_p.
3617 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3619         * c-objc.h (objc_maybe_warn_exceptions): New.
3620         * stub-objc.c (objc_maybe_warn_exceptions): New.
3622 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
3624         * c-common.h (readonly_error): Declare.
3625         * c-common.c (readonly_error): Define.
3627 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
3629         * c-common.h (invalid_indirection_error): Declare.
3630         * c-common.c (invalid_indirection_error): Define.
3632 2010-12-03  Richard Guenther  <rguenther@suse.de>
3634         PR c/46745
3635         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3636         (pp_c_unary_expression): Likewise.
3637         (pp_c_expression): Likewise.
3639 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3641         * c-common.h (objc_finish_function): New.
3642         (objc_non_volatilized_type): Removed.
3643         (objc_type_quals_match): Removed.
3644         * stub-objc.c (objc_finish_function): New.
3645         (objc_non_volatilized_type): Removed.
3646         (objc_type_quals_match): Removed.
3648 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
3650         * c-common.h (parse_optimize_options): Declare.
3651         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3652         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3654 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
3656         * c-opts.c (check_deps_environment_vars): Use getenv instead of
3657         GET_ENVIRONMENT.
3658         * c-pch.c (O_BINARY): Don't define here.
3659         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3661 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
3663         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3664         targetm.except_unwind_info.
3666 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3668         * c-opts.c (c_common_handle_option): Pass location to
3669         set_struct_debug_option.
3671 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3673         * c-common.c (visibility_options): Move from ../opts.c.
3674         * c-common.h (struct visibility_flags, visibility_options):
3675         Declare here.
3676         * c-opts.c (finish_options): Rename to c_finish_options.
3677         (c_common_init): Update call to finish_options.
3679 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
3681         PR objc/34033
3682         * c-lex.c (lex_string): Check that each string in an Objective-C
3683         string concat sequence starts with either one or zero '@', and
3684         that there are no spurious '@' signs at the end.
3686 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
3688         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3689         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3690         HANDLE_PRAGMA_VISIBILITY.
3691         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3692         HANDLE_PRAGMA_VISIBILITY): Don't define.
3693         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3695 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
3697         PR c++/16189
3698         PR c++/36888
3699         PR c++/45331
3700         * c-common.h (keyword_begins_type_specifier): Declare.
3701         (keyword_is_storage_class_specifier): Declare.
3702         (keyword_is_type_qualifier): Declare.
3703         * c-common.c (keyword_begins_type_specifier): New function.
3704         (keyword_is_storage_class_specifier): New function.
3705         (keyword_is_type_qualifier): Declare.
3707 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3709         PR c/46547
3710         * c-common.c (in_late_binary_op): Define.
3711         (c_common_truthvalue_conversion): Check in_late_binary_op before
3712         calling c_save_expr.
3713         * c-common.h (in_late_binary_op): Declare.
3715 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
3717         * c-opts.c (c_common_handle_option): Update calls to
3718         set_struct_debug_option.
3720 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
3722         * c-common.h (objc_declare_protocols): Added additional argument.
3723         * stub-objc.c (objc_declare_protocol): Same change.
3725 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
3727         PR c/33193
3728         * c-common.h (build_real_imag_expr): Declare.
3729         * c-semantics.c (build_real_imag_expr): Define.
3731 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
3733         * c-opts.c (c_common_parse_file): Take no arguments.
3734         * c-common.h (c_common_parse_file): Update prototype.
3736 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
3738         PR c++/46401
3739         * c-common.c (warning_candidate_p): Don't track non-const calls
3740         or STRING_CSTs.
3742 2010-11-15  Ian Lance Taylor  <iant@google.com>
3744         * c-lex.c (init_c_lex): Set macro debug callbacks if
3745         flag_dump_go_spec is set.
3747 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
3749         * c-common.h (objc_build_incr_expr_for_property_ref): New.
3750         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3752 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
3754         PR preprocessor/45038
3755         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3756         dialects.
3758 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3760         * c-common.h (c_family_lang_mask): Declare.
3761         * c-opts.c (c_family_lang_mask): Make extern.
3762         * c-pragma.c (handle_pragma_diagnostic): Use
3763         control_warning_option.
3765 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
3767         * c-common.c (parse_optimize_options): Update call to
3768         decode_options.
3769         * c-common.h (c_common_handle_option): Update prototype.
3770         * c-opts.c (c_common_handle_option): Take location_t parameter and
3771         pass it to other functions.
3773 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
3775         * c-opts.c (warning_as_error_callback): Remove.
3776         (c_common_initialize_diagnostics): Don't call
3777         register_warning_as_error_callback.
3778         (c_common_handle_option): Handle -Werror=normalized= here.
3780 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3782         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3783         in diagnostic.
3784         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3785         letter.
3786         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3787         Remove trailing '.' from diagnostics.
3788         * c.opt (Wwrite-strings_: Avoid '`' in help text.
3790 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3792         * c-common.c (parse_optimize_options): Pass global_dc to
3793         decode_options.
3794         * c-opts.c (c_common_handle_option): Pass &global_options to
3795         set_Wstrict_aliasing.
3796         * c.opt (v): Don't mark Common or document here.
3798 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
3800         PR target/44981
3801         * c-format.c (format_type): New type gcc_objc_string_format_type.
3802         (valid_stringptr_type_p): New.
3803         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
3804         (check_format_string): Pass expected type, use
3805         valid_stringptr_type_p (), check that the format string types are
3806         consistent with the format specification.
3807         (decode_format_attr): Warn if NSString is used outside objective-c.
3808         (format_types_orig): Add NSString.
3809         (format_name): New.
3810         (format_flags): New.
3811         (check_format_arg): Handle format strings requiring an external parser.
3812         first_target_format_type: New variable.
3813         (handle_format_attribute): Set up first_target_format_type, pass the
3814         expected format arg string type to check_format_string().
3815         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
3816         * stub-objc.c (objc_string_ref_type_p): New.
3817         (objc_check_format_arg): New.
3819 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
3821         Fixed using the Objective-C 2.0 dot-syntax with class names.
3822         * c-common.h (objc_build_class_component_ref): New.
3823         * stub-objc.c (objc_build_class_component_ref): New.
3825 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3827         * c.opt (Wproperty-assign-default): New option.
3829 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3831         Implemented -fobjc-std=objc1 flag.
3832         * c.opt (fobjc-std=objc1): New option.
3834 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
3836         Implemented format and noreturn attributes for Objective-C methods.
3837         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3838         attribute for Objective-C methods.
3840 2010-10-31  Jason Merrill  <jason@redhat.com>
3842         * c-common.c (conversion_warning, warn_for_collisions_1): Use
3843         EXPR_LOC_OR_HERE.
3845 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3847         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3848         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3849         (objc_add_property_declaration): Removed arguments for copies and
3850         ivar.
3851         (objc_build_getter_call): Renamed to
3852         objc_maybe_build_component_ref.
3853         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3854         (objc_is_property_ref): New.
3855         * c-common.c (c_common_reswords): Removed copies and ivar.
3856         * stub-objc.c (objc_add_property_declaration): Removed arguments
3857         for copies and ivar.
3858         (objc_build_getter_call): Renamed to
3859         objc_maybe_build_component_ref.
3860         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3861         (objc_is_property_ref): New.
3863 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
3864             Matthew Gingell  <gingell@adacore.com>
3866         * c-ada-spec.c (separate_class_package): New function.
3867         (pp_ada_tree_identifier): Prefix references to C++ classes with the
3868         name of their enclosing package.
3869         (print_ada_declaration): Use separate_class_package.
3871 2010-10-27  Jason Merrill  <jason@redhat.com>
3873         * c-common.c (c_common_reswords): Add __is_literal_type.
3874         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3876         * c-common.c (check_case_value): Remove special C++ code.
3878 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3880         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3881         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3882         and RID_LAST_PATTR.
3883         (objc_add_property_declaration): Added additional arguments.
3884         (objc_property_attribute_kind): Removed.
3885         (objc_set_property_attr): Removed.
3886         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3887         copy and nonatomic.
3888         * stub-objc.c (objc_add_property_declaration): Added additional
3889         arguments.
3890         (objc_set_property_attr): Removed.
3892 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3894         * c-common.h (objc_add_property_variable): Renamed to
3895         objc_add_property_declaration.  Added location argument.
3896         * stub-objc.c (objc_add_property_variable): Same change.
3897         
3898 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3900         * c-common.h (objc_maybe_printable_name): New.
3901         * stub-objc.c (objc_maybe_printable_name): New.
3903 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3904         Andrew Pinski <pinskia@gmail.com>
3906         * c-common.h (c_common_mark_addressable_vec): Declare.
3907         * c-common.c (c_common_mark_addressable_vec): New function.
3909 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3911         * c-common.h (objc_set_method_type): Removed.
3912         (objc_add_method_declaration): Added boolean argument.
3913         (objc_start_method_definition): Same change.
3914         (objc_build_method_signature): Same change.
3915         * stub-objc.c (objc_set_method_type): Removed.
3916         (objc_add_method_declaration): Added boolean argument.
3917         (objc_start_method_definition): Same change.
3918         (objc_build_method_signature): Same change.
3920 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3922         * c-common.h (finish_file): Removed.
3923         (objc_write_global_declarations): New.
3924         * c-opts.c (c_common_parse_file): Do not call finish_file.
3925         * stub-objc.c (objc_write_global_declarations): New.
3927 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3929         Implemented parsing @synthesize and @dynamic for
3930         Objective-C/Objective-C++.
3931         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3932         (objc_add_synthesize_declaration): New.
3933         (objc_add_dynamic_declaration): New.
3934         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3935         * stub-objc.c (objc_add_synthesize_declaration): New.
3936         (objc_add_dynamic_declaration): New.
3938 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3940         PR target/46041
3941         * c-cppbuiltin.c (mode_has_fma): Move function here from
3942         builtins.c.  Don't use the fma optab, instead just use the
3943         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3944         using -save-temps.
3946 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3948         Merge from 'apple/trunk' branch on FSF servers.
3950         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3952         Radar 4330422
3953         * c-common.h (objc_non_volatilized_type): New declaration
3954         * stub-objc.c (objc_non_volatilized_type): New stub.
3956 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3958         Merge from 'apple/trunk' branch on FSF servers.
3960         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3962         Radar 4133425
3963         * c-common.h (objc_diagnose_private_ivar): New decl.
3964         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3966 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3968         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3969         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3970         (objc_ivar_visibility_kind): New enum.
3971         (objc_set_visibility): Adjust prototype to use visibility enum.
3972         * stub-objc.c (objc_set_visibility): Adjust stub to use
3973         visibility enum.
3975 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3977         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3978         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3979         has the appropriate fma builtins.
3980         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3982 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3984         merge from FSF apple 'trunk' branch.
3985         2006 Fariborz Jahanian <fjahanian@apple.com>
3987         Radars 4436866, 4505126, 4506903, 4517826
3988         * c-common.c (c_common_resword): Define @property and its attributes.
3989         * c-common.h: Define property attribute enum entries.
3990         (OBJC_IS_PATTR_KEYWORD): New.
3991         (objc_property_attribute_kind): New enum.
3992         Declare objc_set_property_attr (), objc_add_property_variable (),
3993         objc_build_getter_call () and objc_build_setter_call ().
3994         * stub-objc.c (objc_set_property_attr): New stub.
3995         (objc_add_property_variable): Likewise.
3996         (objc_build_getter_call): Likewise.
3997         (objc_build_setter_call) Likewise.
3999 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
4001         merge from FSF apple 'trunk' branch.
4002         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4004         Radar 3803157 (method attributes)
4005         * c-common.c (handle_deprecated_attribute): Recognize
4006         objc methods as valid declarations.
4007         * c-common.h: Declare objc_method_decl ().
4008         * stub-objc.c (objc_method_decl): New stub.
4010 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
4012         * c-common.c (parse_optimize_options): Call
4013         decode_cmdline_options_to_array_default_mask before
4014         decode_options.  Update arguments to decode_options.
4015         * c-common.h (c_common_init_options_struct): Declare.
4016         * c-opts.c (c_common_init_options_struct): New.  Split out from
4017         c_common_init_options.
4019 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
4021         Implemented fast enumeration for Objective-C.
4022         * c-common.h (objc_finish_foreach_loop): New.
4023         * stub-objc.c (objc_finish_foreach_loop): New.
4025 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
4027         * c-common.h (struct diagnostic_context): Don't declare here.
4028         (c_common_initialize_diagnostics): Declare using
4029         diagnostic_context typedef.
4030         * c-opts.c (c_common_handle_option): Pass global_dc to
4031         handle_generated_option.
4033 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
4035         * c-opts.c (c_common_handle_option): Pass &global_options_set to
4036         handle_generated_option.
4038 2010-10-03  Ian Lance Taylor  <iant@google.com>
4040         * c.opt (-fplan9-extensions): New option.
4042 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4044         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4045         Remove.
4046         (c_cpp_builtins): Call functions from cppbuiltin.c instead
4047         of duplicating code.
4049 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
4051         * c-common.c: Add two new entries for @optional
4052         and @required keywords.
4054         merge from FSF 'apple/trunk' branch.
4055         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
4057         Radar 4386773
4058         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4059         objective-c keywords.
4060         (objc_set_method_opt): New declaration.
4061         * stub-objc.c (objc_set_method_opt): New stub.
4063 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
4065         * c-common.c (handle_optimize_attribute): Pass &global_options to
4066         cl_optimization_save and cl_optimization_restore.
4067         * c-opts.c (c_common_handle_option): Pass &global_options to
4068         handle_generated_option.
4069         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4070         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4071         &global_options to cl_optimization_restore.
4073 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
4075         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4076         Objective-C/Objective-C++ keywords.
4078 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
4080         Merge from 'apple/trunk' branch on FSF servers.
4082         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
4084         Radar 4281748
4085         * c-common.h (objc_check_global_decl): New declaration.
4086         * stub-objc.c (objc_check_global_decl): New stub.
4088 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
4090         * c.opt: Don't use VarExists.
4092 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
4094         * c-common.c (c_cpp_error): Update names of diagnostic_context
4095         members.
4096         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4097         cl_optimization members.
4098         * c-opts.c (warning_as_error_callback, c_common_handle_option,
4099         sanitize_cpp_opts, finish_options): Update names of cpp_options
4100         members.
4102 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
4104         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
4105         (objc_is_reserved_word): Removed.
4106         * c-common.c: Updated comments.
4107         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4108         objc_is_reserved_word.
4109         * stub-objc.c (objc_is_reserved_word): Removed.
4111 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
4113         * c-common.h (objc_add_method_declaration): Adjust prototype to
4114         include attributes.
4115         (objc_start_method_definition): Likewise.
4116         (objc_build_keyword_decl): Likewise.
4117         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4118         (objc_start_method_definition): Likewise.
4119         (objc_build_keyword_decl): Likewise.
4121 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
4123         * c-common.h (objc_start_class_interface): Adjust prototype.
4124         (objc_start_category_interface): Likewise.
4125         (objc_start_protocol): Likewise.
4126         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4127         (objc_start_class_interface): Likewise.
4128         (objc_start_category_interface): Likewise.
4130 2010-09-27  Ian Lance Taylor  <iant@google.com>
4132         * c-common.c (c_common_attribute_table): Add no_split_stack.
4133         (handle_no_split_stack_attribute): New static function.
4135 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
4137         Merge from 'apple/trunk' branch on FSF servers.
4139         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
4141         Radar 4229905
4142         * c-common.h (objc_have_common_type): New declaration.
4143         * stub-objc.c (objc_have_common_type): New stub.
4145         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
4147         Radar 4154928
4148         * c-common.h (objc_common_type): New prototype.
4149         * stub-objc.c (objc_common_type): New stub.
4151 2010-09-24  Jan Hubicka  <jh@suse.cz>
4153         * c-common.c (handle_leaf_attribute): New function.
4154         (struct attribute_spec c_common_att): Add leaf.
4156 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
4158         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4159         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4160         -dump, -dump=, -imacros, -imacros=, -include, -include=,
4161         -include-barrier, -include-directory, -include-directory=,
4162         -include-directory-after, -include-directory-after=,
4163         -include-prefix, -include-prefix=, -include-with-prefix,
4164         -include-with-prefix=, -include-with-prefix-after,
4165         -include-with-prefix-after=, -include-with-prefix-before,
4166         -include-with-prefix-before=, -no-integrated-cpp,
4167         -no-line-commands, -no-standard-includes, -no-warnings, -output,
4168         -output=, -pedantic, -pedantic-errors, -preprocess,
4169         -print-missing-file-dependencies, -trace-includes, -traditional,
4170         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4171         -user-dependencies, -verbose, -write-dependencies,
4172         -write-user-dependencies, no-integrated-cpp, traditional): New.
4174 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
4176         PR objc/23710
4177         * c-common.h (objc_start_method_definition): Return bool instead
4178         of void.
4179         * stub-objc.c (objc_start_method_definition): Return bool instead
4180         of void.
4182 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
4184         PR objc/25965
4185         * c-common.h (objc_get_interface_ivars): New declaration.
4186         * stub-objc.c (objc_get_interface_ivars): New stub.
4188 2010-09-15  Ian Lance Taylor  <iant@google.com>
4190         * c-common.c (parse_optimize_options): Do not capitalize warning
4191         messages.  Remove period at end of warning message.
4193 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
4195         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4196         (handle_alias_attribute): ... here.
4197         (handle_ifunc_attribute): New.
4199 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
4201         * c-common.h (do_warn_double_promotion): Declare.
4202         * c-common.c (do_warn_double_promotion): Define.
4204 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
4206         * c.opt (Wdouble-promotion): New.
4208 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
4210         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4211         fvtable-thunks, fxref): Mark no longer supported in help text.
4213 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
4215         * c.opt (Wimport, fall-virtual, falt-external-templates,
4216         fdefault-inline, fenum-int-equiv, fexternal-templates,
4217         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4218         fname-mangling-version-, fnew-abi, fnonnull-objects,
4219         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4220         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4221         applicable.
4222         (fhandle-exceptions): Mark with Alias and Warn.
4223         * c-opts.c (c_common_handle_option): Don't handle options marked
4224         as ignored.
4226 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
4228         * c.opt (Wcomments, Werror-implicit-function-declaration,
4229         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4230         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4231         aliases.
4232         * c-common.c (option_codes): Use OPT_Wcomment instead of
4233         OPT_Wcomments.
4234         * c-opts.c (warning_as_error_callback, c_common_handle_option):
4235         Don't handle options marked as aliases.
4237 2010-08-25  Richard Guenther  <rguenther@suse.de>
4239         * c-common.c (c_common_get_alias_set): Remove special
4240         handling for pointers.
4242 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
4244         * c-common.c: Use FOR_EACH_VEC_ELT.
4245         * c-gimplify.c: Likewise.
4246         * c-pragma.c: Likewise.
4248 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
4250         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
4251         RejectDriver.
4252         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
4253         RejectDriver.
4254         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4255         instead of OPT_MDX and OPT_MMDX.
4257 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
4259         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4261 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
4263         * c.opt (MD, MMD): Change to MDX and MMDX.
4264         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4266 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
4268         * c-opts.c (c_common_handle_option): Call handle_generated_option
4269         instead of handle_option.
4271 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
4273         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4274         (maybe_apply_renaming_pragma): Delete unneeded declarations.
4276 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
4278         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
4279         (pending_redefine_extname): Change type to a VEC.
4280         (add_to_renaming_pragma_list): Update for new type of
4281         pending_redefine_extname.
4282         (maybe_apply_renaming_pragma): Likewise.
4284 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
4286         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4287         visited.
4288         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4289         decide whether a type has already been declared/seen.
4290         Do not go to the original type.
4291         (dump_nested_types): New parameter forward.
4292         Generate forward declaration if needed and mark type as visited.
4293         (print_ada_declaration): Call dump_nested_types if not already done.
4294         Mark types as visited.
4296 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
4298         * c.opt (-print-pch-checksum): Remove option.
4299         * c-opts.c (c_common_handle_option): Don't handle
4300         OPT_print_pch_checksum.
4302 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4304         * c-common.h (c_common_handle_option): Update prototype and return
4305         value type.
4306         * c-opts.c (c_common_handle_option): Update prototype and return
4307         value type.  Update calls to handle_option and
4308         enable_warning_as_error.
4310 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
4312         PR c/45079
4313         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4315 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4317         * c-common.h (c_common_missing_argument): Remove.
4318         * c-opts.c (c_common_missing_argument): Remove.
4319         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4320         idirafter, imacros, include, isysroot, isystem, iquote): Add
4321         MissingArgError.
4322         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4324 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
4326         * c-common.h (c_common_option_lang_mask,
4327         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4328         New.
4329         (c_common_init_options): Update prototype.
4330         * c-opts.c (c_common_option_lang_mask): New.
4331         (c_common_initialize_diagnostics): Split out of
4332         c_common_init_options.
4333         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4334         New.
4335         (c_common_init_options): Update prototype.  Use decoded options in
4336         search for -lang-asm.
4338 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
4340         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4341         * c-format.c: Likewise.
4343 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4345         * c-common.h: Include diagnostic-core.h. Error if already
4346         included.
4347         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4349 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4351         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4352         Do not include expr.h
4353         (vector_mode_valid_p): Move here.
4355 2010-06-21  DJ Delorie  <dj@redhat.com>
4357         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4358         allow these pragmas anywhere.
4360 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
4362         PR bootstrap/44509
4363         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4364         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4365         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4366         ggc_strdup instead of xstrdup.
4368 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
4370         * c-cppbuiltin.c: Include cpp-id-data.h.
4371         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4372         (lazy_hex_fp_value): New function.
4373         (builtin_define_with_hex_fp_value): Provide definitions lazily.
4375 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4377         * c-gimplify.c: Do not include tree-flow.h
4379 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
4381         PR other/44034
4382         * c-common.c: Rename targetm member:
4383         targetm.enum_va_list -> targetm.enum_va_list_p
4385 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
4387         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4389 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
4391         * c-cppbuiltin.c: Do not include except.h.
4393 2010-06-24  Andi Kleen  <ak@linux.intel.com>
4395         * c-common.c (warn_for_omitted_condop): New.
4396         * c-common.h (warn_for_omitted_condop): Add prototype.
4398 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
4400         * c.opt (lang-objc): Remove.
4401         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4403 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
4405         * c-opts.c: Include "tm_p.h".
4407 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
4409         * c-common.c (parse_optimize_options): Update call to
4410         decode_options.
4412 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
4414         * c-common.c (record_types_used_by_current_var_decl): Adjust for
4415         new type of types_used_by_cur_var_decl.
4417 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
4419         PR bootstrap/44512
4420         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4421         for C++ standard compliance.
4423 2010-06-16  Jason Merrill  <jason@redhat.com>
4425         * c.opt: Add -Wnoexcept.
4427 2010-06-16  Richard Guenther  <rguenther@suse.de>
4429         PR c/44555
4430         * c-common.c (c_common_truthvalue_conversion): Remove
4431         premature and wrong optimization concering ADDR_EXPRs.
4433 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
4435         * c-ada-spec.c (dump_sloc): Remove column info.
4436         (is_simple_enum): New function.
4437         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4438         enum types when relevant.
4440 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4442         * c-common.c (conversion_warning): Warn at expression
4443         location.
4445 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
4447         * c-opts.c (c_common_handle_option): Don't handle
4448         OPT_fshow_column.
4450 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
4452         * c-pragma.c (push_alignment): Use typed GC allocation.
4453         (handle_pragma_push_options): Likewise.
4455         * c-common.c (parse_optimize_options): Likewise.
4457         * c-common.h (struct sorted_fields_type): Add variable_size GTY
4458         option.
4460 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
4462         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4463         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4464         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4465         flag_signed_bitfields, warn_strict_null_sentinel,
4466         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4467         flag_gen_declaration, flag_no_gnu_keywords,
4468         flag_implement_inlines, flag_implicit_templates,
4469         flag_implicit_inline_templates, flag_optional_diags,
4470         flag_elide_constructors, flag_default_inline, flag_rtti,
4471         flag_conserve_space, flag_access_control, flag_check_new,
4472         flag_new_for_scope, flag_weak, flag_working_directory,
4473         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4474         flag_enforce_eh_specs, flag_threadsafe_statics,
4475         flag_pretty_templates): Remove.
4476         * c-common.h (flag_preprocess_only, flag_nil_receivers,
4477         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4478         flag_replace_objc_classes, flag_undef, flag_no_builtin,
4479         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4480         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4481         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4482         flag_no_gnu_keywords, flag_implement_inlines,
4483         flag_implicit_templates, flag_implicit_inline_templates,
4484         flag_optional_diags, flag_elide_constructors, flag_default_inline,
4485         flag_rtti, flag_conserve_space, flag_access_control,
4486         flag_check_new, flag_new_for_scope, flag_weak,
4487         flag_working_directory, flag_use_cxa_atexit,
4488         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4489         flag_threadsafe_statics, flag_pretty_templates,
4490         warn_strict_null_sentinel): Remove.
4491         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4492         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4493         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4494         fimplicit-inline-templates, fimplicit-templates,
4495         flax-vector-conversions, fms-extensions, fnil-receivers,
4496         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4497         frtti, fshort-double, fshort-enums, fshort-wchar,
4498         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4499         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4500         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4501         gen-decls, undef): Use Var.
4502         (fdefault-inline, foptional-diags): Document as doing nothing.
4503         * c-opts.c (c_common_handle_option): Remove cases for options now
4504         using Var.  Mark ignored options as such.
4506 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
4508         * c-common.c: Moved to here from parent directory.
4509         * c-common.def: Likewise.
4510         * c-common.h: Likewise.
4511         * c-cppbuiltin.c: Likewise.
4512         * c-dump.c: Likewise.
4513         * c-format.c: Likewise.
4514         * c-format.h : Likewise.
4515         * c-gimplify.c: Likewise.
4516         * c-lex.c: Likewise.
4517         * c-omp.c: Likewise.
4518         * c.opt: Likewise.
4519         * c-opts.c: Likewise.
4520         * c-pch.c: Likewise.
4521         * c-ppoutput.c: Likewise.
4522         * c-pragma.c: Likewise.
4523         * c-pragma.h: Likewise.
4524         * c-pretty-print.c: Likewise.
4525         * c-pretty-print.h: Likewise.
4526         * c-semantics.c: Likewise.
4527         * stub-objc.c: Likewise.
4529         * c-common.c: Include gt-c-family-c-common.h.
4530         * c-pragma.c: Include gt-c-family-c-pragma.h.
4532 Copyright (C) 2010-2014 Free Software Foundation, Inc.
4534 Copying and distribution of this file, with or without modification,
4535 are permitted in any medium without royalty provided the copyright
4536 notice and this notice are preserved.