gcc/c-family:
[official-gcc.git] / gcc / c-family / ChangeLog
blobd8ca539b3fc8394b8b12c5e4ba46bec9db75cfb7
1 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
3         PR c++/58072
4         * c-common.c (c_parse_error): Catch user-defined literal tokens and
5         provide useful error strings.
7 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
10         printer functions instead of pp_string or operators and punctuators.
11         (dump_generic_ada_node): Likewise.
12         * c-pretty-print.c (pp_c_type_specifier): Likewise.
13         (pp_c_relational_expression): Likewise.
14         (pp_c_logical_or_expression): Likewise.
16 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
18         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
19         functions instead of pp_character.
20         (pp_ada_tree_identifier): Likewise.
21         (dump_ada_double_name): Likewise.
22         (dump_ada_function_declaration): Likewise.
23         (dump_ada_array_domains): Likewise.
24         (dump_template_types): Likewise.
25         (dump_generic_ada_node): Likewise.
26         (print_ada_declaration): Likewise.
27         (print_ada_struct_decl): Likewise.
28         * c-pretty-print.c (pp_c_integer_constant): Likewise.
30 2013-07-23  Tom Tromey  <tromey@redhat.com>
32         * c-common.h (enum rid) <RID_GENERIC>: New constant.
33         * c-common.c (c_common_reswords): Add _Generic.
35 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
37         * c-common.c: Fix typos.
38         * c-common.h: Likewise.
40 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
42         PR c++/55203
43         * c-common.c (c_common_attribute_table): Add warn_unused.
44         (handle_warn_unused_attribute): New.
46 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
48         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
49         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
51 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
53         PR c++/57869
54         * c.opt: Add Wconditionally-supported.
56 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
58         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
59         unused variables l_length and l_node.
61 2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>
63         PR c/57821
64         * c-common.c (complete_array_type): Delay folding first index
65         like other indices.  When folding, check for index overflow.
67 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
69         PR c++/57509
70         * c-common.h (c_build_vec_perm_expr): New complain argument.
71         * c-common.c (c_build_vec_perm_expr): Likewise.
72         Use save_expr also in C++.
74 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
76         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
77         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
78         * c-opts.c (c_common_post_options): Likewise.
80 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
82         * array-notation-common.c (length_mismatch_in_expr): Changed the
83         parameter type's from a dynamic array to a vec_tree.  Also removed
84         the size parameters.
85         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
86         the change above.
88 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
90         * c-common.h (struct cilkplus_an_parts): New structure.
91         (struct cilkplus_an_loop_parts): Likewise.
92         (cilkplus_extract_an_triplets): New prototype.
93         (fix_sec_implicit_args): Likewise.
94         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
95         (fix_sec_implicit_args): Likewise.
97 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
99         * array-notation-common.c (find_inv_trees): Removed an unwanted
100         typecasting.
101         * c-common.h (struct inv_list::additional_tcodes): Changed type from
102         enum rid to enum tree_code.
104 2013-06-11  Jan Hubicka  <jh@suse.cz>
106         * c-common.c (handle_alias_ifunc_attribute): Do not set
107         DECL_EXTERNAL for weakref variables.
108         * c-pragma.c (handle_pragma_weak): Make sure aliases
109         are not declared as external.
111 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
113         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
114         function from c/c-array-notation.c.
115         (is_cilkplus_reduce_builtin): Likewise.
116         (find_rank): Likewise.
117         (extract_array_notation_exprs): Likewise.
118         (replace_array_notations): Likewise.
119         (find_inv_trees): Likewise.
120         (replace_inv_trees): Likewise.
121         (contains_array_notation_expr): Likewise.
122         (find_correct_array_notation_type): Likewise.
123         * c-common.h (struct inv_list): Moved this struct from the file
124         c/c-array-notation.c and added a new field called additional tcodes.
125         (length_mismatch_in_expr_p): New prototype.
126         (is_cilkplus_reduce_builtin): Likewise.
127         (find_rank): Likewise.
128         (extract_array_notation_exprs): Likewise.
129         (replace_array_notation): Likewise.
130         (find_inv_trees): Likewise.
131         (replace_inv_trees): Likewise.
132         (find_correct_array_notation_type): Likewise.
134 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
136         * c-common.c (c_define_builtins): When cilkplus is enabled, the
137         function array_notation_init_builtins is called.
138         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
139         * c-common.def (ARRAY_NOTATION_REF): New tree.
140         * c-common.h (build_array_notation_expr): New function declaration.
141         (build_array_notation_ref): Likewise.
142         (extract_sec_implicit_index_arg): New extern declaration.
143         (is_sec_implicit_index_fn): Likewise.
144         (ARRAY_NOTATION_CHECK): New define.
145         (ARRAY_NOTATION_ARRAY): Likewise.
146         (ARRAY_NOTATION_START): Likewise.
147         (ARRAY_NOTATION_LENGTH): Likewise.
148         (ARRAY_NOTATION_STRIDE): Likewise.
149         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
150         ARRAY_NOTATION_REF.
151         (pp_c_expression): Likewise.
152         * c.opt (flag_enable_cilkplus): New flag.
153         * array-notation-common.c: New file.
155 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
157         PR c++/57274
158         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
160 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
162         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
163         vectors.
165 2013-05-07  Han Shen  <shenhan@google.com>
167         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
169 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
171         * c-common.c (check_user_alignment): Emit error for negative values.
173 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
175         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
177 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
179         * c-cppbuiltin.c (c_cpp_builtins): Do not define
180         __GXX_EXPERIMENTAL_CXX1Y__.
182 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
183             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
185         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
186         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
187         to simply use OPT_Wpointer_arith.
188         (c_sizeof_or_alignof_type): Likewise.
190 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
192         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
194 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
196         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
197         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
198         specifiers.
200 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
202         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
204 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
206         * c-common.c (pointer_int_sum): Remove dead code.
208 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
210         PR middle-end/56524
211         * c-common.c (handle_optimize_attribute): Don't call
212         save_optabs_if_changed.
214 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
216         PR middle-end/56461
217         * c-pch.c (pch_init): Free target_validity at the end.
219 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
221         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
223 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
224             Jakub Jelinek  <jakub@redhat.com>
226         PR sanitizer/56454
227         * c-common.c (handle_no_sanitize_address_attribute): New function.
228         (c_common_attribute_table): Add no_sanitize_address attribute.
229         (handle_no_address_safety_analysis_attribute): Add
230         no_sanitize_address attribute, not no_address_safety_analysis
231         attribute.
233 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
235         PR target/52555
236         * c-common.c (handle_optimize_attribute): Call
237         save_optabs_if_changed.
239 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
240             Steven Bosscher  <steven@gcc.gnu.org>
242         PR pch/54117
243         * c-opts.c (c_common_post_options): If debug info is enabled
244         and non-dwarf*, refuse to load PCH files and when writing PCH
245         file warn.
247 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
249         PR middle-end/56167
250         * c-common.c (handle_error_attribute): Fix condition.
252 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
254         PR c++/55742
255         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
257 2013-01-18  Jason Merrill  <jason@redhat.com>
259         PR target/54908
260         * c.opt (-fextern-tls-init): New.
261         * c-opts.c (c_common_post_options): Handle it.
263 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
265         PR c/48418
266         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
267         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
268         and is either negative or bigger or equal to type precision
269         of the first operand.
271 2012-12-03  Marek Polacek  <polacek@redhat.com>
273         PR c/55570
274         * c-common.c (check_user_alignment): Swap order of tests,
275         check TREE_CODE first.
277 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
279         PR c++/52654
280         * c-common.h (overflow_type): New enum.
281         (build_userdef_literal): Add overflow_type argument.
282         (tree_userdef_literal): Add overflow_type.
283         (USERDEF_LITERAL_OVERFLOW): New access macro.
284         * c-common.c (build_userdef_literal): Add overflow_type
285         argument.
286         * c-lex.c (c_lex_with_flags): Add overflow_type to
287         build_userdef_literal calls.
288         (interpret_integer, interpret_float): Add overflow_type argument.
290 2012-11-28  Richard Biener  <rguenther@suse.de>
292         PR c/35634
293         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
294         here and use a type with proper overflow behavior for types that would
295         need to be promoted for the arithmetic.
297 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
299         PR sanitizer/55435
300         * c-common.c (handle_no_address_safety_analysis_attribute): New
301         function.
302         (c_common_attribute_table): Add no_address_safety_analysis.
304 2012-11-16  Simon Baldwin  <simonb@google.com>
306         * c.opt: Add f[no-]canonical-system-headers.
307         * c-opts.c (c_common_handle_option): Handle
308         OPT_fcanonical_system_headers.
310 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
312         PR c++/54413
313         * c-opts.c (c_common_handle_option): Set new flags.
314         * c.opt: Describe new flags.
316 2012-11-09  Jason Merrill  <jason@redhat.com>
318         * c.opt (Wabi-tag): New.
320 2012-11-09  Andi Kleen  <ak@linux.intel.com>
322         PR 55139
323         * c-common.c (get_atomic_generic_size): Mask with
324         MEMMODEL_MASK
326 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
328         PR c/53063
329         * c.opt (Wformat): Make it Alias Wformat=1.
330         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
331         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
332         LangEnabledBy.
333         (Wformat=): RejectNegative. Use LangEnabledBy.
334         (Wnonnull): Use LangEnabledBy.
335         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
336         * c-format.c (set_Wformat): Delete.
337         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
338         (maybe_read_dollar_number):  Likewise.
339         (avoid_dollar_number):  Likewise.
340         (finish_dollar_format_checking):  Likewise.
341         (check_format_info):  Likewise.
342         (check_format_info_main):  Likewise.
343         (check_format_types):  Likewise.
344         (format_type_warning):  Likewise.
345         * c-common.c (int):  Likewise.
346         (check_function_sentinel):  Likewise.
347         * c-common.h (warn_format,set_Wformat): Do not declare here.
349 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
351         PR c/53063
352         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
353         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
354         Use LangEnabledBy.
355         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
356         common.opt.
357         (Wvariadic-macros): Init(1).
358         * c-opts.c (c_common_handle_option): Do not handle them
359         explicitly.
360         (c_common_post_options): Likewise.
361         (sanitize_cpp_opts): warn_unused_macros is now
362         cpp_warn_unused_macros.
363         (push_command_line_include): Likewise.
364         * c-common.c (warn_unknown_pragmas): Do not define.
365         * c-common.h (warn_unknown_pragmas): Do not declare.
367 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
369         PR c/51294
370         * c-common.c (conversion_warning): Handle conditional expressions.
372 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
374         PR c++/54930
375         * c.opt (Wreturn_local_addr): Define new option.
377 2012-10-25  Jason Merrill  <jason@redhat.com>
379         * c.opt (Wvirtual-move-assign): New.
381         * c.opt (Winherited-variadic-ctor): New.
383 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
385         PR c++/54427
386         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
388 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
390         * c-common.h (pch_cpp_save_state): Declare.
391         * c-target.def (c_preinclude): New hook.
392         * c-opts.c (done_preinclude): New.
393         (push_command_line_include): Handle default preincluded header.
394         (cb_file_change): Call pch_cpp_save_state when calling
395         push_command_line_include.
396         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
397         (pch_cpp_save_state): New.
398         (pch_init): Call pch_cpp_save_state conditionally, instead of
399         calling cpp_save_state.
401 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
403         PR c/53063
404         PR c/40989
405         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
406         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
407         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
408         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
409         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
410         * c-opts.c (c_common_handle_option): Remove explicit handling from
411         here.
412         (c_common_post_options): Likewise.
414 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
416         * c-ada-spec.c (LOCATION_COL): Delete.
417         (compare_location): New function.
418         (compare_node): Use it.
419         (compare_comment): Likewise.
421 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
423         PR c/53063
424         PR c/40989
425         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
426         * c-opts.c (c_common_handle_option): Do not set them here. Add
427         comment.
428         (c_common_post_options): Likewise.
430 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
432         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
433         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
434         Remove POINTER_TYPE handling, add large unsigned handling and use
435         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
437 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
439         PR c/54381
440         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
441         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
442         locs and array of 3 trees instead of just single loc and single
443         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
444         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
445         For *cmp* builtins that take two sources strings report warnings
446         about first and second source, not about destination and source.
448 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
450         PR c++/53055
451         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
453 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
455         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
456         declaring something coming from another file.
458 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
460         PR ada/54845
461         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
463 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
465         PR c++/54194
466         * c-common.c (warn_about_parentheses): Add location_t parameter;
467         use EXPR_LOC_OR_LOC.
468         * c-common.h: Update declaration.
470 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
472         PR c++/54427
473         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
474         more operations. Make error messages optional.
475         * c-common.h (enum stv_conv): Moved from c-typeck.c.
476         (scalar_to_vector): Declare.
478 2012-10-08  Jason Merrill  <jason@redhat.com>
480         * c-common.c (c_common_reswords): Add thread_local.
482 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
484         PR c++/53528 C++11 attribute support
485         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
486         new functions.
487         * c-common.c (check_cxx_fundamental_alignment_constraints): New
488         static function.
489         (handle_aligned_attribute): In choose strictest alignment
490         among many.  Use new check_cxx_fundamental_alignment_constraints.
491         (handle_transparent_union_attribute): In c++11 attribute syntax,
492         don't look through typedefs.
494 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
496         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
497         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
498         out of dumpfile.h.
500 2012-09-25  Dehao Chen  <dehao@google.com>
502         PR middle-end/54645
503         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
504         map when read in the pch.
506 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
508         * c-ada-spec.c: Style fixes.
510 2012-09-18 Thomas Quinot  <quinot@adacore.com>
512         * c.opt (-fada-spec-parent): Define new command line switch.
513         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
514         is specified, generate binding spec as a child of the specified unit.
516 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
517             Manuel López-Ibáñez  <manu@gcc.gnu.org>
519         PR c++/53210
520         * c.opt ([Winit-self]): Enabled by -Wall in C++.
522 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
524         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
525         for pointers, and add missing Convention C pragma.
526         (print_ada_struct_decl): Add missing aliased keyword.
527         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
529 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
531         * c-common.c (sizeof_pointer_memaccess_warning): New function.
532         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
533         * c-opts.c (c_common_handle_option): Enable it for -Wall.
534         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
535         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
537 2012-08-10  Richard Guenther  <rguenther@suse.de>
539         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
541 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
543         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
544         instead of separate pp_newline and pp_flush.
545         (print_c_tree): Likewise.
547 2012-07-26  Richard Henderson  <rth@redhat.com>
549         * c-common.c (handle_hot_attribute): Allow labels.
550         (handle_cold_attribute): Likewise.
552 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
554         PR c++/28656
555         * c-common.c (check_function_nonnull): Handle multiple nonnull
556         attributes properly.
558 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
560         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
561         * c-ada-spec.c: Likewise.
562         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
564 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
566         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
567         Remove code conditional on it.
569 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
571         * c-gimplify.c: Do not include basic-block.h.
572         * c-common.c: Do not include linfuncs.h.
574 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
576         * c-common.h: Include tree.h.
578 2012-07-02  Jason Merrill  <jason@redhat.com>
580         PR c++/53524
581         * c-common.c (get_priority): Call default_conversion.
583 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
585         * c-pch.c (c_common_write_pch): Remove unused variables.
587 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
589         * cppspec.c: Moved from gcc/ to here.
591 2012-06-27  Kai Tietz  <ktietz@redhat.com>
593         PR preprocessor/37215
594         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
596 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
598         * c-common.h (c_common_print_pch_checksum): Remove.
599         * c-pch.c: Do not include output.h.
600         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
601         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
602         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
603         (struct c_pch_header): Remove.
604         (get_ident): Update gpch version.
605         (pch_init): Do not print executable_checksum to asm_out_file.
606         Do not fail if there is no asm_out_file to read back from.  Set
607         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
608         (c_common_write_pch): Verify that nothing was written to asm_out_file
609         since pch_init was called.  Do not write a c_pch_header, and do not
610         copy from asm_out_file to the PCH.
611         (c_common_read_pch): Do not read a c_pch_header, and do not restore
612         the content of asm_out_file from the PCH.
613         (c_common_print_pch_checksum): Remove.
614         * c-opts.c (c_common_init): Print out executable_checksum directly.
616 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
618         * c-target.def (objc_declare_unresolved_class_reference,
619         objc_declare_class_definition): Add new hooks.
621 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
623         * c-lex.c: Do not include output.h.
624         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
625         Remove uses of ASM_OUTPUT_IDENT.
627 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
629         PR c++/51033
630         * c-common.h (c_build_vec_perm_expr): Move decl here.
631         * c-common.c (c_build_vec_perm_expr): Move definition
632         here.
634 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
636         * c.opt (fconserve-space): Turn into a no-op.
638 2012-06-04  Sterling Augustine  <saugustine@google.com>
640         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
641         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
642         both the start and end of the function.
644 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
646         * c-common.c: Do not include output.h.
647         * c-pragma.c: Likewise.
649 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
651         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
652         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
653         (lang_decl_name): Handle namespace decls.
655 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
657         * c-ada-spec.c: Do not include output.h.
658         * c-semantics.c: Likewise.
660 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
662         * c-common.c: Fix typo.
664 2012-05-29  Michael Matz  <matz@suse.de>
666         * c-common.h (c_expand_decl): Remove prototype.
668 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
670         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
671         * c-opts.c (c_common_handle_option): Remove code handling
672         warn_missing_braces.
674 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
676         PR c++/25137
677         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
678         -Wmissing_braces.
680 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
682         PR c++/53322
683         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
685 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
687         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
688         * c-opts.c (c_common_handle_option): Do not handle explicitly
689         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
691 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
693         PR preprocessor/7263
694         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
695         to cpp_classify_number.  For diagnostics, use the precise location
696         instead of the global input_location.
698 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
700         PR c++/11856
701         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
703 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
705         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
707 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
709         PR 53063
710         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
711         Wreorder): Use LangEnabledBy.
712         * c-opts.c (c_common_handle_option): Do not enable them
713         explicitly. Call lang-specific generated functions.
714         (c_common_post_options): Do not set them here.
716 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
718         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
719         Wmissing-field-initializers,Wmissing-parameter-type,
720         Wold-style-declaration,Woverride-init): Use EnabledBy.
721         * c-opts.c (c_common_post_options): Do not set here explicitly.
723 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
725         PR 53063
726         * c-opts.c (c_common_handle_option): Use handle_generated_option
727         to enable sub-options.
729 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
731         PR c++/53158
732         * c-common.c (warnings_for_convert_and_check): Use warning_at.
734 2012-05-10  Richard Guenther  <rguenther@suse.de>
736         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
737         adjust commentary about TYPE_IS_SIZETYPE types.
739 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
741         PR c++/53261
742         * c-common.c (warn_logical_operator): Check that argument of
743         integer_zerop is not NULL.
745 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
747         PR c/43772
748         * c-common.c (warn_logical_operator): Do not warn if either side
749         is already true or false.
751 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
753         PR c/51712
754         * c-common.c (expr_original_type): New.
755         (shorten_compare): Do not warn for enumeration types.
757 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
759         * c.opt (fpermissive): Add Var(flag_permissive).
761 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
763         PR c++/51033
764         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
765         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
767 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
769         Add -Wvarargs option
770         * c.opt (Wvarargs):  Define new option.
772 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
774         * c-common.c (check_function_arguments): Replace
775         Wmissing-format-attribute with Wsuggest-attribute=format.
777 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
779         * c.opt (Wsuggest-attribute=format): New. Alias of
780         Wmissing-format-attribute.
781         * c-format.c (decode_format_type): Replace
782         Wmissing-format-attribute with Wsuggest-attribute=format.
783         (check_function_format): Likewise.
785 2012-04-27  Ollie Wild  <aaw@google.com>
787         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
788         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
789         * c.opt: Add Wliteral-suffix.
791 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
793         PR c/44774
794         * c.opt (Wpedantic): New.
795         (pedantic): Alias Wpedantic.
796         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
797         (c_common_post_options): Likewise.
798         (sanitize_cpp_opts): Likewise.
799         * c-lex.c (interpret_float): Likewise.
800         * c-format.c (check_format_types): Likewise.
801         * c-common.c (pointer_int_sum): Likewise.
802         (c_sizeof_or_alignof_type): Likewise.
803         (c_add_case_label): Likewise.
804         (c_do_switch_warnings): Likewise.
805         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
807 2012-04-15  Jason Merrill  <jason@redhat.com>
809         PR c++/52818
810         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
811         (C_STD_NAME): Distinguish between C++98 and C++11.
813 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
815         PR target/52624
816         * c-common.h (uint16_type_node): Rename into...
817         (c_uint16_type_node): ...this.
818         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
819         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
821 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
823         * c-common.c (warn_if_unused_value): Move definition to here.
824         * c-common.h (warn_if_unused_value): Move declaration to here.
826 2012-03-23  William Bader  <williambader@hotmail.com>
828         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
830 2012-03-20  Jason Merrill  <jason@redhat.com>
832         * c-common.h (enum cxx_dialect): Add cxx1y.
833         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
834         test.
835         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
836         * c-opts.c (c_common_post_options): Likewise.
837         (set_std_cxx1y): New.
838         (c_common_handle_option): Call it.
839         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
841 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
843         PR c++/14710
844         * c.opt ([Wuseless-cast]): Add.
846 2012-03-16  Richard Guenther  <rguenther@suse.de>
848         * c-pretty-print.c (pp_c_initializer_list): Adjust.
850 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
852         PR c++/44783
853         * c.opt (ftemplate-backtrace-limit) Add.
855 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
857         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
858         handling.
859         * c-pragma.c (handle_pragma_extern_prefix): Remove.
860         (init_pragma): Don't register extern_prefix.
862 2012-03-12  Richard Guenther  <rguenther@suse.de>
864         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
865         (builtin_type_for_size): Likewise.
867 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
869         PR c++/52215
870         * c-common.c (sync_resolve_params): Don't decide whether to convert
871         or not based on TYPE_SIZE comparison, convert whenever arg_type
872         is unsigned INTEGER_TYPE.
874 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
876         PR c/52118
877         * c.opt ([Wunused-local-typedefs]): Fix description.
879 2012-01-24  Mike Stump  <mikestump@comcast.net>
881         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
882         exactly.
884 2012-01-18  Richard Guenther  <rguenther@suse.de>
886         * c-opts.c (c_common_post_options): Reset LTO flags if
887         we are about to generate a PCH.
889 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
891         PR c++/51777
892         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
893         use pp_unsigned_wide_integer.
895 2012-01-10  Richard Guenther  <rguenther@suse.de>
897         PR middle-end/51806
898         * c-opts.c (c_common_handle_option): Move -Werror handling
899         to language independent code.
901 2012-01-05  Richard Guenther  <rguenther@suse.de>
903         PR middle-end/51764
904         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
905         from common.opt.
907 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
909         PR c++/51316
910         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
911         of array types with an unknown bound.
913 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
915         * c-common.c (flag_isoc99): Update comment to refer to C11.
916         (flag_isoc1x): Change to flag_isoc11.
917         * c-common.h (flag_isoc99): Update comment to refer to C11.
918         (flag_isoc1x): Change to flag_isoc11.
919         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
920         C11.
921         * c-opts.c (set_std_c1x): Change to set_std_c11.
922         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
923         Call set_std_c11.
924         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
925         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
926         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
927         standard.
928         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
929         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
930         (std=gnu1x): Make alias of std=gnu11.
932 2011-12-19  Jason Merrill  <jason@redhat.com>
934         PR c++/51228
935         * c-common.c (handle_transparent_union_attribute): Check the first
936         field if the type is complete.
938 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
940         PR libstdc++/51365
941         * c-common.c (RID_IS_FINAL): Add.
942         * c-common.h (RID_IS_FINAL): Add.
944 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
946         * c.opt (fgnu-runtime): Provide full description.
947         (fnext-runtime): Likewise.
948         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
950 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
952         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
953         predefines in one place.  Add LOCK_FREE predefines.
954         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
955         new func.
957 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
959         PR c/51256
960         * c-common.c (get_atomic_generic_size): Check for various error
961         conditions
962         (resolve_overloaded_atomic_exchange,
963         resolve_overloaded_atomic_compare_exchange,
964         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
965         error_mark_node for error conditions.
967 2011-11-08  Richard Guenther  <rguenther@suse.de>
969         PR middle-end/51010
970         c-family/
972 2011-11-07  Richard Henderson  <rth@redhat.com>
973             Aldy Hernandez  <aldyh@redhat.com>
974             Torvald Riegel  <triegel@redhat.com>
976         Merged from transactional-memory.
978         * c-common.c (handle_tm_wrap_attribute,
979         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
980         (struct c_common_reswords): Added __transaction* keywords.
981         (struct c_common_attribute_table): Added transaction* and tm_regparm
982         attributes.
983         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
984         masks.
985         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
986         find_tm_attribute): Declare.
988 2011-11-07  Jason Merrill  <jason@redhat.com>
990         PR c++/35688
991         * c-common.c, c-common.h: Revert yesterday's changes.
993 2011-11-06  Jason Merrill  <jason@redhat.com>
995         PR c++/35688
996         * c-common.c (decl_has_visibility_attr): Split out from...
997         (c_determine_visibility): ...here.
998         * c-common.h: Declare it.
1000 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1002         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1003         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1004         type.
1005         (check_user_alignment): New.  Split out of
1006         handle_aligned_attribute.  Disallow integer constants with
1007         noninteger types.  Conditionally allow zero.
1008         (handle_aligned_attribute): Use check_user_alignment.
1009         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1011 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1012             Richard Henderson  <rth@redhat.com>
1014         Merged from cxx-mem-model.
1016         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1017         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1018         parameters that are the same type size.
1019         (get_atomic_generic_size): New.  Find size of generic
1020         atomic function parameters and do typechecking.
1021         (add_atomic_size_parameter): New.  Insert size into parameter list.
1022         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1023         either __atomic_exchange_n or external library call.
1024         (resolve_overloaded_atomic_compare_exchange): Restructure
1025         __atomic_compare_exchange to either _n variant or external library call.
1026         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1027         __atomic_load_n or an external library call.
1028         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1029         __atomic_store_n or an external library call.
1030         (resolve_overloaded_builtin): Handle new __atomic builtins.
1032 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1034         PR c++/50608
1035         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1036         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
1037         <INDIRECT_REF>: Return the argument.
1038         <ARRAY_REF>: Remove special code for negative offset.
1039         Call fold_build_pointer_plus instead of size_binop.
1040         (fold_offsetof): Remove STOP_REF argument and adjust.
1041         * c-common.h (fold_offsetof_1): Declare.
1042         (fold_offsetof): Remove STOP_REF argument.
1044 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
1046         PR c++/50810
1047         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1048         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1049         Wnarrowing for C++0x and C++98.
1050         * c.opt ([Wnarrowing]): Update.
1052 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1054         PR c++/44277
1055         * c.opt: Add Wzero-as-null-pointer-constant.
1057 2011-10-31  Jason Merrill  <jason@redhat.com>
1059         * c.opt (-fdeduce-init-list): Off by default.
1061         PR c++/50920
1062         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1063         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1064         and -Wc++11-compat.
1065         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1067 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1069         PR c++/30066
1070         * c.opt (fvisibility-inlines-hidden): Description change.
1072 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1074         Implement C++11 user-defined literals.
1075         * c-common.c (build_userdef_literal): New.
1076         * c-common.def: New tree code.
1077         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1078         * c-lex.c (interpret_float): Add suffix parm.
1079         (c_lex_with_flags): Build literal tokens.
1081 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1083         PR c++/50841
1084         Revert:
1085         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1087         PR c++/50810
1088         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1089         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1090         Wnarrowing for C++0x and C++98.
1091         * c.opt ([Wnarrowing]): Update.
1093 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1095         PR c++/50810
1096         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1097         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1098         Wnarrowing for C++0x and C++98.
1099         * c.opt ([Wnarrowing]): Update.
1101 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1103         PR c++/45385
1104         * c-common.c (conversion_warning): Remove code looking for
1105         artificial operands.
1107 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1109         PR bootstrap/50760
1110         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1111         !NO_IMPLICIT_EXTERN_C.
1113 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1115         * c-common.c (c_common_reswords): Add __bases,
1116         __direct_bases.
1117         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1119 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1121         PR c++/50757
1122         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1124 2011-10-15  Tom Tromey  <tromey@redhat.com>
1125             Dodji Seketeli  <dodji@redhat.com>
1127         * c.opt (fdebug-cpp): New option.
1128         * c-opts.c (c_common_handle_option): Handle the option.
1129         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1130         output stream in parameter. Factorized from ...
1131         (maybe_print_line): ... this. Dump location debug information when
1132         -fdebug-cpp is in effect.
1133         (print_line_1): New static function. Takes an output stream in
1134         parameter. Factorized from ...
1135         (print_line): ... here. Dump location information when -fdebug-cpp
1136         is in effect.
1137         (scan_translation_unit): Dump location information when
1138         -fdebug-cpp is in effect.
1140 2011-10-15  Tom Tromey  <tromey@redhat.com>
1141             Dodji Seketeli  <dodji@redhat.com>
1143         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1144         without argument.
1145         * c-opts.c (c_common_handle_option)<case
1146         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1147         cases. Handle -ftrack-macro-expansion with and without argument.
1149 2011-10-15  Tom Tromey  <tromey@redhat.com>
1150             Dodji Seketeli  <dodji@redhat.com>
1152         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1153         (print_line, cb_define, do_line_change): Adjust to avoid touching
1154         the internals of struct line_map.  Use the public API instead.
1155         * c-pch.c (c_common_read_pch): Likewise.
1156         * c-lex.c (fe_file_change): Likewise.
1158 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1160         PR c++/17212
1161         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1163 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1165         PR c++/33067
1166         * c-pretty-print.c (pp_c_floating_constant): Output
1167         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1169 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1171         * c-common.c (def_builtin_1): Delete old interface with two
1172         parallel arrays to hold standard builtin declarations, and replace
1173         it with a function based interface that can support creating
1174         builtins on the fly in the future.  Change all uses, and poison
1175         the old names.  Make sure 0 is not a legitimate builtin index.
1176         * c-omp.c (c_finish_omp_barrier): Ditto.
1177         (c_finish_omp_taskwait): Ditto.
1178         (c_finish_omp_flush): Ditto.
1180 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1182         * c.opt: (fallow-parameterless-variadic-functions): New.
1184 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1186         PR c++/33255 - Support -Wunused-local-typedefs warning
1187         * c-common.h (struct c_language_function::local_typedefs): New
1188         field.
1189         (record_locally_defined_typedef, maybe_record_typedef_use)
1190         (maybe_warn_unused_local_typedefs): Declare new functions.
1191         * c-common.c (record_locally_defined_typedef)
1192         (maybe_record_typedef_use)
1193         (maybe_warn_unused_local_typedefs): Define new functions.
1194         * c.opt: Declare new -Wunused-local-typedefs flag.
1196 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1198         PR middle-end/50266
1199         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1200         computations.
1202 2011-09-05  Richard Guenther  <rguenther@suse.de>
1204         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1205         of integer_minus_one_node for empty array upper bounds.
1207 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1209         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1210         it's the first time it's being called on this main TU.
1212 2011-08-24  Richard Guenther  <rguenther@suse.de>
1214         PR c/49396
1215         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1217 2011-08-22  Gabriel Charette  <gchare@google.com>
1219         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1220         defined in cpp_init_builtins and c_cpp_builtins.
1222 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1224         * c-common.c (c_common_reswords): Add __builtin_complex.
1225         * c-common.h (RID_BUILTIN_COMPLEX): New.
1227 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1229         * c-common.c (c_common_reswords): Add _Noreturn.
1230         (keyword_is_function_specifier): Handle RID_NORETURN.
1231         * c-common.h (RID_NORETURN): New.
1233 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1235         * c-common.c (unsafe_conversion_p): New function. Check if it is
1236         unsafe to convert an expression to the type.
1237         (conversion_warning): Adjust, use unsafe_conversion_p.
1238         * c-common.h (unsafe_conversion_p): New function declaration.
1240 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1242         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1243         (c_finish_omp_taskyield): New prototype.
1244         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1245         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1246         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1247         or RHS1 have side-effects, evaluate those too in the right spot,
1248         if it is a decl and LHS is also a decl, error out if they
1249         aren't the same.
1250         (c_finish_omp_taskyield): New function.
1251         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1252         * c-pragma.c (omp_pragmas): Add taskyield.
1253         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1254         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1255         PRAGMA_OMP_CLAUSE_MERGEABLE.
1257 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1259         * c-common.h (set_underlying_type): Remove parm name from
1260         declaration.
1262 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1264         * c-pretty-print.h: Search c-common.h in c-family.
1266 2011-07-22  Jason Merrill  <jason@redhat.com>
1268         PR c++/49793
1269         * c.opt (Wnarrowing): New.
1271         PR c++/30112
1272         * c-common.h: Declare c_linkage_bindings.
1273         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1275         PR c++/49813
1276         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1277         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1278         as flag_isoc99 for 'restrict'.
1279         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1281 2011-07-21  Ian Lance Taylor  <iant@google.com>
1283         PR middle-end/49705
1284         * c-common.c (c_disable_warnings): New static function.
1285         (c_enable_warnings): New static function.
1286         (c_fully_fold_internal): Change local unused_p to bool.  Call
1287         c_disable_warnings and c_enable_warnings rather than change
1288         c_inhibit_evaluation_warnings.
1290 2011-07-20  Jason Merrill  <jason@redhat.com>
1292         PR c++/6709 (DR 743)
1293         PR c++/42603 (DR 950)
1294         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1295         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1296         (CPP_DECLTYPE): New.
1297         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1299 2011-07-19  Richard Guenther  <rguenther@suse.de>
1301         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1302         * c-omp.c (c_finish_omp_for): Likewise.
1304 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1306         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1307         body on the next line.
1309 2011-07-08  Jason Merrill  <jason@redhat.com>
1311         PR c++/45437
1312         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1314         PR c++/49673
1315         * c-common.c (c_apply_type_quals_to_decl): Don't check
1316         TYPE_NEEDS_CONSTRUCTING.
1318 2011-07-06  Richard Guenther  <rguenther@suse.de>
1320         * c-common.c (c_common_nodes_and_builtins):
1321         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1323 2011-07-05  Richard Guenther  <rguenther@suse.de>
1325         * c-common.c (c_common_nodes_and_builtins): Build all common
1326         tree nodes first.
1328 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1330         * c-common.h (c_tree_chain_next): New static inline function.
1332         * c-common.c (check_builtin_function_arguments): Handle
1333         BUILT_IN_ASSUME_ALIGNED.
1335 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1337         * c-common.c: Add sync_ or SYNC__ to builtin names.
1338         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1340 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1342         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1343         handler.
1344         (gen_pragma_handler): New union.
1345         (internal_pragma_handler): New type.
1346         (c_register_pragma_with_data)
1347         (c_register_pragma_with_expansion_and_data): New functions.
1349         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1350         (c_register_pragma, c_register_pragma_with_expansion)
1351         (c_invoke_pragma_handler): Changed to work with
1352         internal_pragma_handler.
1353         (c_register_pragma_with_data)
1354         (c_register_pragma_with_expansion_and_data): New functions.
1356 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1358         * c-common.c: Include common/common-target.h.
1359         (handle_section_attribute): Use
1360         targetm_common.have_named_sections.
1361         * c-cppbuiltin.c: Include common/common-target.h.
1362         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1364 2011-06-10  Richard Guenther  <rguenther@suse.de>
1366         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1367         to print a IDENTIFIER_NODE.
1369 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1370             Joseph Myers  <joseph@codesourcery.com>
1372         * c.opt (fbuilding-libgcc): New option.
1373         * c-cppbuiltin.c (c_cpp_builtins): Define
1374         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1376 2011-06-07  Jason Merrill  <jason@redhat.com>
1378         * c-common.c (max_tinst_depth): Lower default to 900.
1380         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1382 2011-06-07  Richard Guenther  <rguenther@suse.de>
1384         * c-common.c (c_common_nodes_and_builtins): Do not set
1385         size_type_node or call set_sizetype.
1387 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1389         PR debug/49130
1390         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1391         type when using pointer comparison to compare types.
1393 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1395         * c.opt: Add -Wdelete-non-virtual-dtor.
1396         * c-opts.c (c_common_handle_option): Include it in -Wall.
1398 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1400         PR bootstrap/49190
1402         Revert:
1403         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1405         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1406         not tree_common.
1408 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1410         PR c++/49165
1411         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1412         C++ don't call c_common_truthvalue_conversion on void type arms.
1414 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1416         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1417         (stmt_list_stack): Define.
1418         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1419         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1421 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1423         * c-common.c (warning_candidate_p): Check for BLOCKs.
1425 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1427         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1428         not tree_common.
1430 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1432         * c-common.c (def_fn_type): Remove extra va_end.
1434 2011-05-23  Jason Merrill  <jason@redhat.com>
1436         PR c++/48106
1437         * c-common.c (c_common_get_narrower): New.
1438         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1440 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
1442         * c-common.h (check_function_arguments): Tweak prototype of
1443         check_function_arguments.
1444         * c-common.c (check_function_arguments): Likewise.  Adjust
1445         calls to check_function_nonnull, check_function_format, and
1446         check_function_sentinel.
1447         (check_function_sentinel): Take a FUNCTION_TYPE rather than
1448         separate attributes and typelist arguments.  Use
1449         FOREACH_FUNCTION_ARGS to iterate over argument types.
1451 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1453         * c-common.c (c_common_reswords): Reorder.
1454         * c-common.h (rid): Likewise.
1456 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
1458         * c-common.c (def_fn_type): Don't call build_function_type, call
1459         build_function_type_array or build_varargs_function_type_array
1460         instead.
1461         (c_common_nodes_and_builtins): Likewise.
1463 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1465         * c-common.c (c_add_case_label): Omit the loc argument to
1466         build_case_label.
1467         * c-common.h (build_case_label): Remove.
1468         * c-semantics.c (build_case_label): Remove.
1470 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
1472         * c-objc.h (objc_start_method_definition): Update prototype.
1473         * stub-objc.c (objc_start_method_definition): Add extra parameter.
1475 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
1477         * c-common.c (check_main_parameter_types): Reindent.  Don't use
1478         TYPE_ARG_TYPES directly.
1479         (handle_nonnull_attribute): Likewise.
1480         (sync_resolve_params): Likewise.
1481         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
1482         to check_format_string.
1483         (handle_format_attribute): Likewise.
1484         (check_format_string): Take a function type to examine instead of
1485         a type list.  Use a function_arg_iterator to step through argument
1486         types.
1488 2011-05-04  Richard Guenther  <rguenther@suse.de>
1490         * c-common.c (fix_string_type): Use size_int for index type bounds.
1491         (start_fname_decls): Do not pass NULL to build_int_cst.
1492         (c_init_attributes): Likewise.
1493         * c-lex.c (c_lex_with_flags): Likewise.
1495 2011-04-27  Jason Merrill  <jason@redhat.com>
1497         * c-common.c (make_tree_vector_from_list): New.
1498         * c-common.h: Declare it.
1500 2011-04-26  Richard Guenther  <rguenther@suse.de>
1502         PR preprocessor/48248
1503         * c-ppoutput.c (maybe_print_line): Always optimize newlines
1504         for output size with -P.
1506 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1508         * c-common.c (struct c_common_resword): Add __underlying_type.
1509         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1511 2011-04-20  Jim Meyering  <meyering@redhat.com>
1513         * c-format.c (init_dollar_format_checking): Remove useless
1514         if-before-free.
1516 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1518         * c-objc.h (objc_get_interface_ivars): Removed.
1519         (objc_detect_field_duplicates): New.
1520         * stub-objc.c: Likewise.
1522 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1524         * stub-objc.c (objc_declare_protocols): Renamed to
1525         objc_declare_protocol.
1526         * c-objc.h: Likewise.
1528 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1530         * stub-objc.c (objc_declare_class): Updated argument name.
1532 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1534         * c-common.h (c_common_init_ts): Declare.
1535         * c-common.c (c_common_init_ts): Define.
1537 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1539         * c-objc.h (objc_build_message_expr): Updated prototype.
1540         * stub-objc.c (objc_build_message_expr): Likewise.
1542 2011-04-12  Martin Jambor  <mjambor@suse.cz>
1544         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1545         of cgraph_node.
1547 2011-04-11  Richard Guenther  <rguenther@suse.de>
1549         * c-common.c (complete_array_type): Build a range type of
1550         proper type.
1552 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
1554         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1555         (handle_type_generic_attribute): Likewise.
1557 2011-04-07  Jason Merrill  <jason@redhat.com>
1559         PR c++/48450
1560         * c-common.c (c_common_truthvalue_conversion): Don't ignore
1561         conversion from C++0x scoped enum.
1563 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
1565         * c-target-def.h: New file.
1566         * c-target.def: New file.
1567         * c-target.h: New file.
1568         * c-common.c (targetcm): Don't define here.
1569         * c-common.h (default_handle_c_option): Declare.
1570         * c-format.c: Include c-target.h instead of target.h.
1571         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
1572         include tm.h.
1573         (default_handle_c_option): Move from targhooks.c.
1575 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
1577         PR preprocessor/48248
1578         * c-ppoutput.c (print): Add src_file field.
1579         (init_pp_output): Initialize it.
1580         (maybe_print_line): Don't optimize by adding up to 8 newlines
1581         if map->to_file and print.src_file are different file.
1582         (print_line): Update print.src_file.
1584 2011-03-25  Kai Tietz  <ktietz@redhat.com>
1586         * c-ada-spec.c (compare_comment): Use filename_cmp
1587         instead of strcmp for filename.
1589 2011-03-25  Jeff Law  <law@redhat.com>
1591         * c-family/c-common.c (def_fn_type): Add missing va_end.
1593 2011-03-25  Jason Merrill  <jason@redhat.com>
1595         * c.opt: Add -std=c++03.
1597 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
1599         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1601 2011-03-17  Kai Tietz
1603         PR target/12171
1604         * c-pretty-print.c (pp_c_specifier_qualifier_list):
1605         Display allowed attributes for function pointer types.
1606         (pp_c_attributes_display): New function to display
1607         attributes having affects_type_identity flag set to true.
1608         * c-pretty-print.h (pp_c_attributes_display): New prototype.
1610         * c-common.c (c_common_attribute_table):
1611         Add new element.
1612         (c_common_format_attribute_table): Likewise.
1614 2011-03-18  Jason Merrill  <jason@redhat.com>
1616         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1617         * c-common.h: Don't declare it here.
1618         * c-common.c: Or define it here.
1619         * c-opts.c (c_common_handle_option): Or set it here.
1621         PR c++/35315
1622         * c-common.c (handle_transparent_union_attribute): Don't
1623         make a duplicate type in C++.
1625 2011-03-15  Jason Merrill  <jason@redhat.com>
1627         * c-common.c (max_constexpr_depth): New.
1628         * c-common.h: Declare it.
1629         * c-opts.c (c_common_handle_option): Set it.
1630         * c.opt (fconstexpr-depth): New option.
1632 2011-03-11  Jason Merrill  <jason@redhat.com>
1634         * c-common.c (attribute_takes_identifier_p): Add missing const.
1636         PR c++/46803
1637         * c-common.c (attribute_takes_identifier_p): Assume that an
1638         unknown attribute takes an identifier.
1640 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
1642         PR c/47786
1643         * c-common.c (c_type_hash): Call list_length instead of iterating
1644         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
1646 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1648         PR c/47809
1649         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1651 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1653         * c.opt (fobjc-abi-version=) New.
1654         (fobjc-nilcheck): New.
1656 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
1658         PR c++/46890
1659         * c-common.h (keyword_is_decl_specifier): Declare.
1660         * c-common.c (keyword_is_decl_specifier): Define.
1661         (keyword_is_function_specifier): New function.
1663 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1665         PR c/47473
1666         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
1667         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
1668         REAL_TYPE.
1670 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
1672         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
1674 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1676         PR pch/47430
1677         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
1678         after init_c_lex if pch_file is set.
1680 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1682         PR c++/43601
1683         * c.opt (-fkeep-inline-dllexport): New switch.
1685 2011-01-12  Richard Guenther  <rguenther@suse.de>
1687         PR middle-end/32511
1688         * c-common.c (handle_weak_attribute): Warn instead of error
1689         on declaring an inline function weak.
1691 2011-01-05  Tom Tromey  <tromey@redhat.com>
1693         * c-common.h (lvalue_error): Update.
1694         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
1695         not error.
1697 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1699         PR objc/47075
1700         * c-objc.h (objc_finish_message_expr): Added argument to
1701         prototype.
1703 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
1705         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
1706         Use prototype_p.
1708 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1710         * c-objc.h (objc_maybe_warn_exceptions): New.
1711         * stub-objc.c (objc_maybe_warn_exceptions): New.
1713 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
1715         * c-common.h (readonly_error): Declare.
1716         * c-common.c (readonly_error): Define.
1718 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
1720         * c-common.h (invalid_indirection_error): Declare.
1721         * c-common.c (invalid_indirection_error): Define.
1723 2010-12-03  Richard Guenther  <rguenther@suse.de>
1725         PR c/46745
1726         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
1727         (pp_c_unary_expression): Likewise.
1728         (pp_c_expression): Likewise.
1730 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1732         * c-common.h (objc_finish_function): New.
1733         (objc_non_volatilized_type): Removed.
1734         (objc_type_quals_match): Removed.
1735         * stub-objc.c (objc_finish_function): New.
1736         (objc_non_volatilized_type): Removed.
1737         (objc_type_quals_match): Removed.
1739 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
1741         * c-common.h (parse_optimize_options): Declare.
1742         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
1743         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
1745 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
1747         * c-opts.c (check_deps_environment_vars): Use getenv instead of
1748         GET_ENVIRONMENT.
1749         * c-pch.c (O_BINARY): Don't define here.
1750         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
1752 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
1754         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
1755         targetm.except_unwind_info.
1757 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1759         * c-opts.c (c_common_handle_option): Pass location to
1760         set_struct_debug_option.
1762 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1764         * c-common.c (visibility_options): Move from ../opts.c.
1765         * c-common.h (struct visibility_flags, visibility_options):
1766         Declare here.
1767         * c-opts.c (finish_options): Rename to c_finish_options.
1768         (c_common_init): Update call to finish_options.
1770 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
1772         PR objc/34033
1773         * c-lex.c (lex_string): Check that each string in an Objective-C
1774         string concat sequence starts with either one or zero '@', and
1775         that there are no spurious '@' signs at the end.
1777 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
1779         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
1780         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
1781         HANDLE_PRAGMA_VISIBILITY.
1782         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
1783         HANDLE_PRAGMA_VISIBILITY): Don't define.
1784         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
1786 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
1788         PR c++/16189
1789         PR c++/36888
1790         PR c++/45331
1791         * c-common.h (keyword_begins_type_specifier): Declare.
1792         (keyword_is_storage_class_specifier): Declare.
1793         (keyword_is_type_qualifier): Declare.
1794         * c-common.c (keyword_begins_type_specifier): New function.
1795         (keyword_is_storage_class_specifier): New function.
1796         (keyword_is_type_qualifier): Declare.
1798 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1800         PR c/46547
1801         * c-common.c (in_late_binary_op): Define.
1802         (c_common_truthvalue_conversion): Check in_late_binary_op before
1803         calling c_save_expr.
1804         * c-common.h (in_late_binary_op): Declare.
1806 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1808         * c-opts.c (c_common_handle_option): Update calls to
1809         set_struct_debug_option.
1811 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1813         * c-common.h (objc_declare_protocols): Added additional argument.
1814         * stub-objc.c (objc_declare_protocol): Same change.
1816 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
1818         PR c/33193
1819         * c-common.h (build_real_imag_expr): Declare.
1820         * c-semantics.c (build_real_imag_expr): Define.
1822 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1824         * c-opts.c (c_common_parse_file): Take no arguments.
1825         * c-common.h (c_common_parse_file): Update prototype.
1827 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
1829         PR c++/46401
1830         * c-common.c (warning_candidate_p): Don't track non-const calls
1831         or STRING_CSTs.
1833 2010-11-15  Ian Lance Taylor  <iant@google.com>
1835         * c-lex.c (init_c_lex): Set macro debug callbacks if
1836         flag_dump_go_spec is set.
1838 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1840         * c-common.h (objc_build_incr_expr_for_property_ref): New.
1841         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
1843 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
1845         PR preprocessor/45038
1846         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
1847         dialects.
1849 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1851         * c-common.h (c_family_lang_mask): Declare.
1852         * c-opts.c (c_family_lang_mask): Make extern.
1853         * c-pragma.c (handle_pragma_diagnostic): Use
1854         control_warning_option.
1856 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1858         * c-common.c (parse_optimize_options): Update call to
1859         decode_options.
1860         * c-common.h (c_common_handle_option): Update prototype.
1861         * c-opts.c (c_common_handle_option): Take location_t parameter and
1862         pass it to other functions.
1864 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1866         * c-opts.c (warning_as_error_callback): Remove.
1867         (c_common_initialize_diagnostics): Don't call
1868         register_warning_as_error_callback.
1869         (c_common_handle_option): Handle -Werror=normalized= here.
1871 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1873         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
1874         in diagnostic.
1875         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
1876         letter.
1877         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
1878         Remove trailing '.' from diagnostics.
1879         * c.opt (Wwrite-strings_: Avoid '`' in help text.
1881 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1883         * c-common.c (parse_optimize_options): Pass global_dc to
1884         decode_options.
1885         * c-opts.c (c_common_handle_option): Pass &global_options to
1886         set_Wstrict_aliasing.
1887         * c.opt (v): Don't mark Common or document here.
1889 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
1891         PR target/44981
1892         * c-format.c (format_type): New type gcc_objc_string_format_type.
1893         (valid_stringptr_type_p): New.
1894         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
1895         (check_format_string): Pass expected type, use
1896         valid_stringptr_type_p (), check that the format string types are
1897         consistent with the format specification.
1898         (decode_format_attr): Warn if NSString is used outside objective-c.
1899         (format_types_orig): Add NSString.
1900         (format_name): New.
1901         (format_flags): New.
1902         (check_format_arg): Handle format strings requiring an external parser.
1903         first_target_format_type: New variable.
1904         (handle_format_attribute): Set up first_target_format_type, pass the
1905         expected format arg string type to check_format_string().
1906         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
1907         * stub-objc.c (objc_string_ref_type_p): New.
1908         (objc_check_format_arg): New.
1910 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
1912         Fixed using the Objective-C 2.0 dot-syntax with class names.
1913         * c-common.h (objc_build_class_component_ref): New.
1914         * stub-objc.c (objc_build_class_component_ref): New.
1916 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1918         * c.opt (Wproperty-assign-default): New option.
1920 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1922         Implemented -fobjc-std=objc1 flag.
1923         * c.opt (fobjc-std=objc1): New option.
1925 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
1927         Implemented format and noreturn attributes for Objective-C methods.
1928         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
1929         attribute for Objective-C methods.
1931 2010-10-31  Jason Merrill  <jason@redhat.com>
1933         * c-common.c (conversion_warning, warn_for_collisions_1): Use
1934         EXPR_LOC_OR_HERE.
1936 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1938         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
1939         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
1940         (objc_add_property_declaration): Removed arguments for copies and
1941         ivar.
1942         (objc_build_getter_call): Renamed to
1943         objc_maybe_build_component_ref.
1944         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1945         (objc_is_property_ref): New.
1946         * c-common.c (c_common_reswords): Removed copies and ivar.
1947         * stub-objc.c (objc_add_property_declaration): Removed arguments
1948         for copies and ivar.
1949         (objc_build_getter_call): Renamed to
1950         objc_maybe_build_component_ref.
1951         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1952         (objc_is_property_ref): New.
1954 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
1955             Matthew Gingell  <gingell@adacore.com>
1957         * c-ada-spec.c (separate_class_package): New function.
1958         (pp_ada_tree_identifier): Prefix references to C++ classes with the
1959         name of their enclosing package.
1960         (print_ada_declaration): Use separate_class_package.
1962 2010-10-27  Jason Merrill  <jason@redhat.com>
1964         * c-common.c (c_common_reswords): Add __is_literal_type.
1965         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
1967         * c-common.c (check_case_value): Remove special C++ code.
1969 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1971         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
1972         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
1973         and RID_LAST_PATTR.
1974         (objc_add_property_declaration): Added additional arguments.
1975         (objc_property_attribute_kind): Removed.
1976         (objc_set_property_attr): Removed.
1977         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
1978         copy and nonatomic.
1979         * stub-objc.c (objc_add_property_declaration): Added additional
1980         arguments.
1981         (objc_set_property_attr): Removed.
1983 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1985         * c-common.h (objc_add_property_variable): Renamed to
1986         objc_add_property_declaration.  Added location argument.
1987         * stub-objc.c (objc_add_property_variable): Same change.
1988         
1989 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
1991         * c-common.h (objc_maybe_printable_name): New.
1992         * stub-objc.c (objc_maybe_printable_name): New.
1994 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1995         Andrew Pinski <pinskia@gmail.com>
1997         * c-common.h (c_common_mark_addressable_vec): Declare.
1998         * c-common.c (c_common_mark_addressable_vec): New function.
2000 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2002         * c-common.h (objc_set_method_type): Removed.
2003         (objc_add_method_declaration): Added boolean argument.
2004         (objc_start_method_definition): Same change.
2005         (objc_build_method_signature): Same change.
2006         * stub-objc.c (objc_set_method_type): Removed.
2007         (objc_add_method_declaration): Added boolean argument.
2008         (objc_start_method_definition): Same change.
2009         (objc_build_method_signature): Same change.
2011 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2013         * c-common.h (finish_file): Removed.
2014         (objc_write_global_declarations): New.
2015         * c-opts.c (c_common_parse_file): Do not call finish_file.
2016         * stub-objc.c (objc_write_global_declarations): New.
2018 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2020         Implemented parsing @synthesize and @dynamic for
2021         Objective-C/Objective-C++.
2022         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2023         (objc_add_synthesize_declaration): New.
2024         (objc_add_dynamic_declaration): New.
2025         * c-common.c (c_common_reswords): Add synthesize and dynamic.
2026         * stub-objc.c (objc_add_synthesize_declaration): New.
2027         (objc_add_dynamic_declaration): New.
2029 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2031         PR target/46041
2032         * c-cppbuiltin.c (mode_has_fma): Move function here from
2033         builtins.c.  Don't use the fma optab, instead just use the
2034         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2035         using -save-temps.
2037 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2039         Merge from 'apple/trunk' branch on FSF servers.
2041         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
2043         Radar 4330422
2044         * c-common.h (objc_non_volatilized_type): New declaration
2045         * stub-objc.c (objc_non_volatilized_type): New stub.
2047 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2049         Merge from 'apple/trunk' branch on FSF servers.
2051         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2053         Radar 4133425
2054         * c-common.h (objc_diagnose_private_ivar): New decl.
2055         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2057 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2059         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2060         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2061         (objc_ivar_visibility_kind): New enum.
2062         (objc_set_visibility): Adjust prototype to use visibility enum.
2063         * stub-objc.c (objc_set_visibility): Adjust stub to use
2064         visibility enum.
2066 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2068         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2069         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2070         has the appropriate fma builtins.
2071         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2073 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2075         merge from FSF apple 'trunk' branch.
2076         2006 Fariborz Jahanian <fjahanian@apple.com>
2078         Radars 4436866, 4505126, 4506903, 4517826
2079         * c-common.c (c_common_resword): Define @property and its attributes.
2080         * c-common.h: Define property attribute enum entries.
2081         (OBJC_IS_PATTR_KEYWORD): New.
2082         (objc_property_attribute_kind): New enum.
2083         Declare objc_set_property_attr (), objc_add_property_variable (),
2084         objc_build_getter_call () and objc_build_setter_call ().
2085         * stub-objc.c (objc_set_property_attr): New stub.
2086         (objc_add_property_variable): Likewise.
2087         (objc_build_getter_call): Likewise.
2088         (objc_build_setter_call) Likewise.
2090 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2092         merge from FSF apple 'trunk' branch.
2093         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2095         Radar 3803157 (method attributes)
2096         * c-common.c (handle_deprecated_attribute): Recognize
2097         objc methods as valid declarations.
2098         * c-common.h: Declare objc_method_decl ().
2099         * stub-objc.c (objc_method_decl): New stub.
2101 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2103         * c-common.c (parse_optimize_options): Call
2104         decode_cmdline_options_to_array_default_mask before
2105         decode_options.  Update arguments to decode_options.
2106         * c-common.h (c_common_init_options_struct): Declare.
2107         * c-opts.c (c_common_init_options_struct): New.  Split out from
2108         c_common_init_options.
2110 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2112         Implemented fast enumeration for Objective-C.
2113         * c-common.h (objc_finish_foreach_loop): New.
2114         * stub-objc.c (objc_finish_foreach_loop): New.
2116 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2118         * c-common.h (struct diagnostic_context): Don't declare here.
2119         (c_common_initialize_diagnostics): Declare using
2120         diagnostic_context typedef.
2121         * c-opts.c (c_common_handle_option): Pass global_dc to
2122         handle_generated_option.
2124 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2126         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2127         handle_generated_option.
2129 2010-10-03  Ian Lance Taylor  <iant@google.com>
2131         * c.opt (-fplan9-extensions): New option.
2133 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2135         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2136         Remove.
2137         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2138         of duplicating code.
2140 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2142         * c-common.c: Add two new entries for @optional
2143         and @required keywords.
2145         merge from FSF 'apple/trunk' branch.
2146         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2148         Radar 4386773
2149         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2150         objective-c keywords.
2151         (objc_set_method_opt): New declaration.
2152         * stub-objc.c (objc_set_method_opt): New stub.
2154 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2156         * c-common.c (handle_optimize_attribute): Pass &global_options to
2157         cl_optimization_save and cl_optimization_restore.
2158         * c-opts.c (c_common_handle_option): Pass &global_options to
2159         handle_generated_option.
2160         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2161         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2162         &global_options to cl_optimization_restore.
2164 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2166         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2167         Objective-C/Objective-C++ keywords.
2169 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2171         Merge from 'apple/trunk' branch on FSF servers.
2173         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2175         Radar 4281748
2176         * c-common.h (objc_check_global_decl): New declaration.
2177         * stub-objc.c (objc_check_global_decl): New stub.
2179 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2181         * c.opt: Don't use VarExists.
2183 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2185         * c-common.c (c_cpp_error): Update names of diagnostic_context
2186         members.
2187         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2188         cl_optimization members.
2189         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2190         sanitize_cpp_opts, finish_options): Update names of cpp_options
2191         members.
2193 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2195         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2196         (objc_is_reserved_word): Removed.
2197         * c-common.c: Updated comments.
2198         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2199         objc_is_reserved_word.
2200         * stub-objc.c (objc_is_reserved_word): Removed.
2202 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2204         * c-common.h (objc_add_method_declaration): Adjust prototype to
2205         include attributes.
2206         (objc_start_method_definition): Likewise.
2207         (objc_build_keyword_decl): Likewise.
2208         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2209         (objc_start_method_definition): Likewise.
2210         (objc_build_keyword_decl): Likewise.
2212 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2214         * c-common.h (objc_start_class_interface): Adjust prototype.
2215         (objc_start_category_interface): Likewise.
2216         (objc_start_protocol): Likewise.
2217         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2218         (objc_start_class_interface): Likewise.
2219         (objc_start_category_interface): Likewise.
2221 2010-09-27  Ian Lance Taylor  <iant@google.com>
2223         * c-common.c (c_common_attribute_table): Add no_split_stack.
2224         (handle_no_split_stack_attribute): New static function.
2226 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2228         Merge from 'apple/trunk' branch on FSF servers.
2230         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2232         Radar 4229905
2233         * c-common.h (objc_have_common_type): New declaration.
2234         * stub-objc.c (objc_have_common_type): New stub.
2236         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2238         Radar 4154928
2239         * c-common.h (objc_common_type): New prototype.
2240         * stub-objc.c (objc_common_type): New stub.
2242 2010-09-24  Jan Hubicka  <jh@suse.cz>
2244         * c-common.c (handle_leaf_attribute): New function.
2245         (struct attribute_spec c_common_att): Add leaf.
2247 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2249         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2250         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2251         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2252         -include-barrier, -include-directory, -include-directory=,
2253         -include-directory-after, -include-directory-after=,
2254         -include-prefix, -include-prefix=, -include-with-prefix,
2255         -include-with-prefix=, -include-with-prefix-after,
2256         -include-with-prefix-after=, -include-with-prefix-before,
2257         -include-with-prefix-before=, -no-integrated-cpp,
2258         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2259         -output=, -pedantic, -pedantic-errors, -preprocess,
2260         -print-missing-file-dependencies, -trace-includes, -traditional,
2261         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2262         -user-dependencies, -verbose, -write-dependencies,
2263         -write-user-dependencies, no-integrated-cpp, traditional): New.
2265 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2267         PR objc/23710
2268         * c-common.h (objc_start_method_definition): Return bool instead
2269         of void.
2270         * stub-objc.c (objc_start_method_definition): Return bool instead
2271         of void.
2273 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2275         PR objc/25965
2276         * c-common.h (objc_get_interface_ivars): New declaration.
2277         * stub-objc.c (objc_get_interface_ivars): New stub.
2279 2010-09-15  Ian Lance Taylor  <iant@google.com>
2281         * c-common.c (parse_optimize_options): Do not capitalize warning
2282         messages.  Remove period at end of warning message.
2284 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2286         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2287         (handle_alias_attribute): ... here.
2288         (handle_ifunc_attribute): New.
2290 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2292         * c-common.h (do_warn_double_promotion): Declare.
2293         * c-common.c (do_warn_double_promotion): Define.
2295 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2297         * c.opt (Wdouble-promotion): New.
2299 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2301         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2302         fvtable-thunks, fxref): Mark no longer supported in help text.
2304 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2306         * c.opt (Wimport, fall-virtual, falt-external-templates,
2307         fdefault-inline, fenum-int-equiv, fexternal-templates,
2308         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2309         fname-mangling-version-, fnew-abi, fnonnull-objects,
2310         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2311         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2312         applicable.
2313         (fhandle-exceptions): Mark with Alias and Warn.
2314         * c-opts.c (c_common_handle_option): Don't handle options marked
2315         as ignored.
2317 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2319         * c.opt (Wcomments, Werror-implicit-function-declaration,
2320         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2321         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2322         aliases.
2323         * c-common.c (option_codes): Use OPT_Wcomment instead of
2324         OPT_Wcomments.
2325         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2326         Don't handle options marked as aliases.
2328 2010-08-25  Richard Guenther  <rguenther@suse.de>
2330         * c-common.c (c_common_get_alias_set): Remove special
2331         handling for pointers.
2333 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2335         * c-common.c: Use FOR_EACH_VEC_ELT.
2336         * c-gimplify.c: Likewise.
2337         * c-pragma.c: Likewise.
2339 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2341         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2342         RejectDriver.
2343         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2344         RejectDriver.
2345         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2346         instead of OPT_MDX and OPT_MMDX.
2348 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2350         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2352 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2354         * c.opt (MD, MMD): Change to MDX and MMDX.
2355         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2357 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2359         * c-opts.c (c_common_handle_option): Call handle_generated_option
2360         instead of handle_option.
2362 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2364         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2365         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2367 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2369         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2370         (pending_redefine_extname): Change type to a VEC.
2371         (add_to_renaming_pragma_list): Update for new type of
2372         pending_redefine_extname.
2373         (maybe_apply_renaming_pragma): Likewise.
2375 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2377         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2378         visited.
2379         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2380         decide whether a type has already been declared/seen.
2381         Do not go to the original type.
2382         (dump_nested_types): New parameter forward.
2383         Generate forward declaration if needed and mark type as visited.
2384         (print_ada_declaration): Call dump_nested_types if not already done.
2385         Mark types as visited.
2387 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2389         * c.opt (-print-pch-checksum): Remove option.
2390         * c-opts.c (c_common_handle_option): Don't handle
2391         OPT_print_pch_checksum.
2393 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2395         * c-common.h (c_common_handle_option): Update prototype and return
2396         value type.
2397         * c-opts.c (c_common_handle_option): Update prototype and return
2398         value type.  Update calls to handle_option and
2399         enable_warning_as_error.
2401 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2403         PR c/45079
2404         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2406 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2408         * c-common.h (c_common_missing_argument): Remove.
2409         * c-opts.c (c_common_missing_argument): Remove.
2410         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2411         idirafter, imacros, include, isysroot, isystem, iquote): Add
2412         MissingArgError.
2413         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2415 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2417         * c-common.h (c_common_option_lang_mask,
2418         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2419         New.
2420         (c_common_init_options): Update prototype.
2421         * c-opts.c (c_common_option_lang_mask): New.
2422         (c_common_initialize_diagnostics): Split out of
2423         c_common_init_options.
2424         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2425         New.
2426         (c_common_init_options): Update prototype.  Use decoded options in
2427         search for -lang-asm.
2429 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2431         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2432         * c-format.c: Likewise.
2434 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2436         * c-common.h: Include diagnostic-core.h. Error if already
2437         included.
2438         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2440 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2442         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2443         Do not include expr.h
2444         (vector_mode_valid_p): Move here.
2446 2010-06-21  DJ Delorie  <dj@redhat.com>
2448         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2449         allow these pragmas anywhere.
2451 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
2453         PR bootstrap/44509
2454         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2455         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2456         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2457         ggc_strdup instead of xstrdup.
2459 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
2461         * c-cppbuiltin.c: Include cpp-id-data.h.
2462         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2463         (lazy_hex_fp_value): New function.
2464         (builtin_define_with_hex_fp_value): Provide definitions lazily.
2466 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2468         * c-gimplify.c: Do not include tree-flow.h
2470 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
2472         PR other/44034
2473         * c-common.c: Rename targetm member:
2474         targetm.enum_va_list -> targetm.enum_va_list_p
2476 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
2478         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2480 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2482         * c-cppbuiltin.c: Do not include except.h.
2484 2010-06-24  Andi Kleen  <ak@linux.intel.com>
2486         * c-common.c (warn_for_omitted_condop): New.
2487         * c-common.h (warn_for_omitted_condop): Add prototype.
2489 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
2491         * c.opt (lang-objc): Remove.
2492         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2494 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
2496         * c-opts.c: Include "tm_p.h".
2498 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
2500         * c-common.c (parse_optimize_options): Update call to
2501         decode_options.
2503 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
2505         * c-common.c (record_types_used_by_current_var_decl): Adjust for
2506         new type of types_used_by_cur_var_decl.
2508 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
2510         PR bootstrap/44512
2511         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2512         for C++ standard compliance.
2514 2010-06-16  Jason Merrill  <jason@redhat.com>
2516         * c.opt: Add -Wnoexcept.
2518 2010-06-16  Richard Guenther  <rguenther@suse.de>
2520         PR c/44555
2521         * c-common.c (c_common_truthvalue_conversion): Remove
2522         premature and wrong optimization concering ADDR_EXPRs.
2524 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
2526         * c-ada-spec.c (dump_sloc): Remove column info.
2527         (is_simple_enum): New function.
2528         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2529         enum types when relevant.
2531 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2533         * c-common.c (conversion_warning): Warn at expression
2534         location.
2536 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
2538         * c-opts.c (c_common_handle_option): Don't handle
2539         OPT_fshow_column.
2541 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2543         * c-pragma.c (push_alignment): Use typed GC allocation.
2544         (handle_pragma_push_options): Likewise.
2546         * c-common.c (parse_optimize_options): Likewise.
2548         * c-common.h (struct sorted_fields_type): Add variable_size GTY
2549         option.
2551 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
2553         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2554         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2555         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2556         flag_signed_bitfields, warn_strict_null_sentinel,
2557         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2558         flag_gen_declaration, flag_no_gnu_keywords,
2559         flag_implement_inlines, flag_implicit_templates,
2560         flag_implicit_inline_templates, flag_optional_diags,
2561         flag_elide_constructors, flag_default_inline, flag_rtti,
2562         flag_conserve_space, flag_access_control, flag_check_new,
2563         flag_new_for_scope, flag_weak, flag_working_directory,
2564         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2565         flag_enforce_eh_specs, flag_threadsafe_statics,
2566         flag_pretty_templates): Remove.
2567         * c-common.h (flag_preprocess_only, flag_nil_receivers,
2568         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2569         flag_replace_objc_classes, flag_undef, flag_no_builtin,
2570         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2571         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2572         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2573         flag_no_gnu_keywords, flag_implement_inlines,
2574         flag_implicit_templates, flag_implicit_inline_templates,
2575         flag_optional_diags, flag_elide_constructors, flag_default_inline,
2576         flag_rtti, flag_conserve_space, flag_access_control,
2577         flag_check_new, flag_new_for_scope, flag_weak,
2578         flag_working_directory, flag_use_cxa_atexit,
2579         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2580         flag_threadsafe_statics, flag_pretty_templates,
2581         warn_strict_null_sentinel): Remove.
2582         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2583         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2584         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2585         fimplicit-inline-templates, fimplicit-templates,
2586         flax-vector-conversions, fms-extensions, fnil-receivers,
2587         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2588         frtti, fshort-double, fshort-enums, fshort-wchar,
2589         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2590         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2591         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2592         gen-decls, undef): Use Var.
2593         (fdefault-inline, foptional-diags): Document as doing nothing.
2594         * c-opts.c (c_common_handle_option): Remove cases for options now
2595         using Var.  Mark ignored options as such.
2597 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
2599         * c-common.c: Moved to here from parent directory.
2600         * c-common.def: Likewise.
2601         * c-common.h: Likewise.
2602         * c-cppbuiltin.c: Likewise.
2603         * c-dump.c: Likewise.
2604         * c-format.c: Likewise.
2605         * c-format.h : Likewise.
2606         * c-gimplify.c: Likewise.
2607         * c-lex.c: Likewise.
2608         * c-omp.c: Likewise.
2609         * c.opt: Likewise.
2610         * c-opts.c: Likewise.
2611         * c-pch.c: Likewise.
2612         * c-ppoutput.c: Likewise.
2613         * c-pragma.c: Likewise.
2614         * c-pragma.h: Likewise.
2615         * c-pretty-print.c: Likewise.
2616         * c-pretty-print.h: Likewise.
2617         * c-semantics.c: Likewise.
2618         * stub-objc.c: Likewise.
2620         * c-common.c: Include gt-c-family-c-common.h.
2621         * c-pragma.c: Include gt-c-family-c-pragma.h.
2623 Copyright (C) 2010-2013 Free Software Foundation, Inc.
2625 Copying and distribution of this file, with or without modification,
2626 are permitted in any medium without royalty provided the copyright
2627 notice and this notice are preserved.