cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.
[official-gcc.git] / gcc / c-family / ChangeLog
blobcf2dc3f2139fb5d189becde561dec88be93e0284
1 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4         * c-pretty-print.c (M_): Remove.
5         (c_pretty_printer::translate_string): Define.
6         (pp_c_type_specifier): Use it.
7         (pp_c_primary_expression): Likewise.
8         (pp_c_expression): Likewise.
10 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
13         virtual function.
14         (pp_c_id_expression): Remove.
15         (pp_id_expression): Adjust.
16         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
17         pp_c_id_expression.  Adjust.
18         (pp_c_postfix_expression): Use pp_id_expression.
19         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
21 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
23         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
24         member function.
25         (pp_constant): Adjust.
26         (pp_c_constant): Remove.
27         * c-pretty-print.c (c_pretty_printer::constant): Rename from
28         pp_c_constant.  Adjust.
29         (pp_c_constant)
30         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
31         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
33 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
35         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
36         (c_pretty_printer::c_pretty_printer): Declare.
37         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
38         c_pretty_printer_init.  Adjust.
39         (print_c_tree): Do not call c_pretty_printer_init.
40         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
42 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
44         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
46 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
48         PR c++/58080
49         * c-common.c (pointer_int_sum): Add bool parameter.
50         * c-common.h (pointer_int_sum): Adjust declaration.
52 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
54         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
55         c_pretty_printer variable.
57 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
59         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
60         (pp_base): Remove.
61         (pp_c_base): Likewise.  Adjust users.
62         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
63         (pp_c_whitespace): Do not call pp_base.
64         (pp_c_left_paren): Likewise.
65         (pp_c_right_paren): Likewise.
66         (pp_c_left_brace): Likewise.
67         (pp_c_right_brace): Likewise.
68         (pp_c_left_bracket): Likewise.
69         (pp_c_right_bracket): Likewise.
70         (pp_c_dot): Likewise.
71         (pp_c_ampersand): Likewise.
72         (pp_c_star): Likewise.
73         (pp_c_arrow): Likewise.
74         (pp_c_semicolon): Likewise.
75         (pp_c_complement): Likewise.
76         (pp_c_exclamation): Likewise.
77         (pp_c_direct_declarator): Likewise.
78         (pp_c_ws_string): Likewise.
79         (pp_c_identifier): Likewise.
80         (pp_c_statement): Likewise.
81         (print_c_tree): Likewise.
83 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
85         PR c++/58072
86         * c-common.c (c_parse_error): Catch user-defined literal tokens and
87         provide useful error strings.
89 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
91         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
92         printer functions instead of pp_string or operators and punctuators.
93         (dump_generic_ada_node): Likewise.
94         * c-pretty-print.c (pp_c_type_specifier): Likewise.
95         (pp_c_relational_expression): Likewise.
96         (pp_c_logical_or_expression): Likewise.
98 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
100         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
101         functions instead of pp_character.
102         (pp_ada_tree_identifier): Likewise.
103         (dump_ada_double_name): Likewise.
104         (dump_ada_function_declaration): Likewise.
105         (dump_ada_array_domains): Likewise.
106         (dump_template_types): Likewise.
107         (dump_generic_ada_node): Likewise.
108         (print_ada_declaration): Likewise.
109         (print_ada_struct_decl): Likewise.
110         * c-pretty-print.c (pp_c_integer_constant): Likewise.
112 2013-07-23  Tom Tromey  <tromey@redhat.com>
114         * c-common.h (enum rid) <RID_GENERIC>: New constant.
115         * c-common.c (c_common_reswords): Add _Generic.
117 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
119         * c-common.c: Fix typos.
120         * c-common.h: Likewise.
122 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
124         PR c++/55203
125         * c-common.c (c_common_attribute_table): Add warn_unused.
126         (handle_warn_unused_attribute): New.
128 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
130         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
131         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
133 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
135         PR c++/57869
136         * c.opt: Add Wconditionally-supported.
138 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
140         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
141         unused variables l_length and l_node.
143 2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>
145         PR c/57821
146         * c-common.c (complete_array_type): Delay folding first index
147         like other indices.  When folding, check for index overflow.
149 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
151         PR c++/57509
152         * c-common.h (c_build_vec_perm_expr): New complain argument.
153         * c-common.c (c_build_vec_perm_expr): Likewise.
154         Use save_expr also in C++.
156 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
158         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
159         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
160         * c-opts.c (c_common_post_options): Likewise.
162 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
164         * array-notation-common.c (length_mismatch_in_expr): Changed the
165         parameter type's from a dynamic array to a vec_tree.  Also removed
166         the size parameters.
167         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
168         the change above.
170 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
172         * c-common.h (struct cilkplus_an_parts): New structure.
173         (struct cilkplus_an_loop_parts): Likewise.
174         (cilkplus_extract_an_triplets): New prototype.
175         (fix_sec_implicit_args): Likewise.
176         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
177         (fix_sec_implicit_args): Likewise.
179 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
181         * array-notation-common.c (find_inv_trees): Removed an unwanted
182         typecasting.
183         * c-common.h (struct inv_list::additional_tcodes): Changed type from
184         enum rid to enum tree_code.
186 2013-06-11  Jan Hubicka  <jh@suse.cz>
188         * c-common.c (handle_alias_ifunc_attribute): Do not set
189         DECL_EXTERNAL for weakref variables.
190         * c-pragma.c (handle_pragma_weak): Make sure aliases
191         are not declared as external.
193 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
195         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
196         function from c/c-array-notation.c.
197         (is_cilkplus_reduce_builtin): Likewise.
198         (find_rank): Likewise.
199         (extract_array_notation_exprs): Likewise.
200         (replace_array_notations): Likewise.
201         (find_inv_trees): Likewise.
202         (replace_inv_trees): Likewise.
203         (contains_array_notation_expr): Likewise.
204         (find_correct_array_notation_type): Likewise.
205         * c-common.h (struct inv_list): Moved this struct from the file
206         c/c-array-notation.c and added a new field called additional tcodes.
207         (length_mismatch_in_expr_p): New prototype.
208         (is_cilkplus_reduce_builtin): Likewise.
209         (find_rank): Likewise.
210         (extract_array_notation_exprs): Likewise.
211         (replace_array_notation): Likewise.
212         (find_inv_trees): Likewise.
213         (replace_inv_trees): Likewise.
214         (find_correct_array_notation_type): Likewise.
216 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
218         * c-common.c (c_define_builtins): When cilkplus is enabled, the
219         function array_notation_init_builtins is called.
220         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
221         * c-common.def (ARRAY_NOTATION_REF): New tree.
222         * c-common.h (build_array_notation_expr): New function declaration.
223         (build_array_notation_ref): Likewise.
224         (extract_sec_implicit_index_arg): New extern declaration.
225         (is_sec_implicit_index_fn): Likewise.
226         (ARRAY_NOTATION_CHECK): New define.
227         (ARRAY_NOTATION_ARRAY): Likewise.
228         (ARRAY_NOTATION_START): Likewise.
229         (ARRAY_NOTATION_LENGTH): Likewise.
230         (ARRAY_NOTATION_STRIDE): Likewise.
231         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
232         ARRAY_NOTATION_REF.
233         (pp_c_expression): Likewise.
234         * c.opt (flag_enable_cilkplus): New flag.
235         * array-notation-common.c: New file.
237 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
239         PR c++/57274
240         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
242 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
244         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
245         vectors.
247 2013-05-07  Han Shen  <shenhan@google.com>
249         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
251 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
253         * c-common.c (check_user_alignment): Emit error for negative values.
255 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
257         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
259 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
261         * c-cppbuiltin.c (c_cpp_builtins): Do not define
262         __GXX_EXPERIMENTAL_CXX1Y__.
264 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
265             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
267         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
268         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
269         to simply use OPT_Wpointer_arith.
270         (c_sizeof_or_alignof_type): Likewise.
272 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
274         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
276 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
278         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
279         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
280         specifiers.
282 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
284         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
286 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
288         * c-common.c (pointer_int_sum): Remove dead code.
290 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
292         PR middle-end/56524
293         * c-common.c (handle_optimize_attribute): Don't call
294         save_optabs_if_changed.
296 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
298         PR middle-end/56461
299         * c-pch.c (pch_init): Free target_validity at the end.
301 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
303         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
305 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
306             Jakub Jelinek  <jakub@redhat.com>
308         PR sanitizer/56454
309         * c-common.c (handle_no_sanitize_address_attribute): New function.
310         (c_common_attribute_table): Add no_sanitize_address attribute.
311         (handle_no_address_safety_analysis_attribute): Add
312         no_sanitize_address attribute, not no_address_safety_analysis
313         attribute.
315 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
317         PR target/52555
318         * c-common.c (handle_optimize_attribute): Call
319         save_optabs_if_changed.
321 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
322             Steven Bosscher  <steven@gcc.gnu.org>
324         PR pch/54117
325         * c-opts.c (c_common_post_options): If debug info is enabled
326         and non-dwarf*, refuse to load PCH files and when writing PCH
327         file warn.
329 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
331         PR middle-end/56167
332         * c-common.c (handle_error_attribute): Fix condition.
334 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
336         PR c++/55742
337         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
339 2013-01-18  Jason Merrill  <jason@redhat.com>
341         PR target/54908
342         * c.opt (-fextern-tls-init): New.
343         * c-opts.c (c_common_post_options): Handle it.
345 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
347         PR c/48418
348         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
349         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
350         and is either negative or bigger or equal to type precision
351         of the first operand.
353 2012-12-03  Marek Polacek  <polacek@redhat.com>
355         PR c/55570
356         * c-common.c (check_user_alignment): Swap order of tests,
357         check TREE_CODE first.
359 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
361         PR c++/52654
362         * c-common.h (overflow_type): New enum.
363         (build_userdef_literal): Add overflow_type argument.
364         (tree_userdef_literal): Add overflow_type.
365         (USERDEF_LITERAL_OVERFLOW): New access macro.
366         * c-common.c (build_userdef_literal): Add overflow_type
367         argument.
368         * c-lex.c (c_lex_with_flags): Add overflow_type to
369         build_userdef_literal calls.
370         (interpret_integer, interpret_float): Add overflow_type argument.
372 2012-11-28  Richard Biener  <rguenther@suse.de>
374         PR c/35634
375         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
376         here and use a type with proper overflow behavior for types that would
377         need to be promoted for the arithmetic.
379 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
381         PR sanitizer/55435
382         * c-common.c (handle_no_address_safety_analysis_attribute): New
383         function.
384         (c_common_attribute_table): Add no_address_safety_analysis.
386 2012-11-16  Simon Baldwin  <simonb@google.com>
388         * c.opt: Add f[no-]canonical-system-headers.
389         * c-opts.c (c_common_handle_option): Handle
390         OPT_fcanonical_system_headers.
392 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
394         PR c++/54413
395         * c-opts.c (c_common_handle_option): Set new flags.
396         * c.opt: Describe new flags.
398 2012-11-09  Jason Merrill  <jason@redhat.com>
400         * c.opt (Wabi-tag): New.
402 2012-11-09  Andi Kleen  <ak@linux.intel.com>
404         PR 55139
405         * c-common.c (get_atomic_generic_size): Mask with
406         MEMMODEL_MASK
408 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
410         PR c/53063
411         * c.opt (Wformat): Make it Alias Wformat=1.
412         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
413         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
414         LangEnabledBy.
415         (Wformat=): RejectNegative. Use LangEnabledBy.
416         (Wnonnull): Use LangEnabledBy.
417         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
418         * c-format.c (set_Wformat): Delete.
419         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
420         (maybe_read_dollar_number):  Likewise.
421         (avoid_dollar_number):  Likewise.
422         (finish_dollar_format_checking):  Likewise.
423         (check_format_info):  Likewise.
424         (check_format_info_main):  Likewise.
425         (check_format_types):  Likewise.
426         (format_type_warning):  Likewise.
427         * c-common.c (int):  Likewise.
428         (check_function_sentinel):  Likewise.
429         * c-common.h (warn_format,set_Wformat): Do not declare here.
431 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
433         PR c/53063
434         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
435         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
436         Use LangEnabledBy.
437         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
438         common.opt.
439         (Wvariadic-macros): Init(1).
440         * c-opts.c (c_common_handle_option): Do not handle them
441         explicitly.
442         (c_common_post_options): Likewise.
443         (sanitize_cpp_opts): warn_unused_macros is now
444         cpp_warn_unused_macros.
445         (push_command_line_include): Likewise.
446         * c-common.c (warn_unknown_pragmas): Do not define.
447         * c-common.h (warn_unknown_pragmas): Do not declare.
449 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
451         PR c/51294
452         * c-common.c (conversion_warning): Handle conditional expressions.
454 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
456         PR c++/54930
457         * c.opt (Wreturn_local_addr): Define new option.
459 2012-10-25  Jason Merrill  <jason@redhat.com>
461         * c.opt (Wvirtual-move-assign): New.
463         * c.opt (Winherited-variadic-ctor): New.
465 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
467         PR c++/54427
468         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
470 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
472         * c-common.h (pch_cpp_save_state): Declare.
473         * c-target.def (c_preinclude): New hook.
474         * c-opts.c (done_preinclude): New.
475         (push_command_line_include): Handle default preincluded header.
476         (cb_file_change): Call pch_cpp_save_state when calling
477         push_command_line_include.
478         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
479         (pch_cpp_save_state): New.
480         (pch_init): Call pch_cpp_save_state conditionally, instead of
481         calling cpp_save_state.
483 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
485         PR c/53063
486         PR c/40989
487         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
488         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
489         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
490         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
491         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
492         * c-opts.c (c_common_handle_option): Remove explicit handling from
493         here.
494         (c_common_post_options): Likewise.
496 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
498         * c-ada-spec.c (LOCATION_COL): Delete.
499         (compare_location): New function.
500         (compare_node): Use it.
501         (compare_comment): Likewise.
503 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
505         PR c/53063
506         PR c/40989
507         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
508         * c-opts.c (c_common_handle_option): Do not set them here. Add
509         comment.
510         (c_common_post_options): Likewise.
512 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
514         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
515         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
516         Remove POINTER_TYPE handling, add large unsigned handling and use
517         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
519 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
521         PR c/54381
522         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
523         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
524         locs and array of 3 trees instead of just single loc and single
525         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
526         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
527         For *cmp* builtins that take two sources strings report warnings
528         about first and second source, not about destination and source.
530 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
532         PR c++/53055
533         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
535 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
537         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
538         declaring something coming from another file.
540 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
542         PR ada/54845
543         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
545 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
547         PR c++/54194
548         * c-common.c (warn_about_parentheses): Add location_t parameter;
549         use EXPR_LOC_OR_LOC.
550         * c-common.h: Update declaration.
552 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
554         PR c++/54427
555         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
556         more operations. Make error messages optional.
557         * c-common.h (enum stv_conv): Moved from c-typeck.c.
558         (scalar_to_vector): Declare.
560 2012-10-08  Jason Merrill  <jason@redhat.com>
562         * c-common.c (c_common_reswords): Add thread_local.
564 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
566         PR c++/53528 C++11 attribute support
567         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
568         new functions.
569         * c-common.c (check_cxx_fundamental_alignment_constraints): New
570         static function.
571         (handle_aligned_attribute): In choose strictest alignment
572         among many.  Use new check_cxx_fundamental_alignment_constraints.
573         (handle_transparent_union_attribute): In c++11 attribute syntax,
574         don't look through typedefs.
576 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
578         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
579         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
580         out of dumpfile.h.
582 2012-09-25  Dehao Chen  <dehao@google.com>
584         PR middle-end/54645
585         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
586         map when read in the pch.
588 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
590         * c-ada-spec.c: Style fixes.
592 2012-09-18 Thomas Quinot  <quinot@adacore.com>
594         * c.opt (-fada-spec-parent): Define new command line switch.
595         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
596         is specified, generate binding spec as a child of the specified unit.
598 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
599             Manuel López-Ibáñez  <manu@gcc.gnu.org>
601         PR c++/53210
602         * c.opt ([Winit-self]): Enabled by -Wall in C++.
604 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
606         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
607         for pointers, and add missing Convention C pragma.
608         (print_ada_struct_decl): Add missing aliased keyword.
609         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
611 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
613         * c-common.c (sizeof_pointer_memaccess_warning): New function.
614         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
615         * c-opts.c (c_common_handle_option): Enable it for -Wall.
616         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
617         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
619 2012-08-10  Richard Guenther  <rguenther@suse.de>
621         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
623 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
625         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
626         instead of separate pp_newline and pp_flush.
627         (print_c_tree): Likewise.
629 2012-07-26  Richard Henderson  <rth@redhat.com>
631         * c-common.c (handle_hot_attribute): Allow labels.
632         (handle_cold_attribute): Likewise.
634 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
636         PR c++/28656
637         * c-common.c (check_function_nonnull): Handle multiple nonnull
638         attributes properly.
640 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
642         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
643         * c-ada-spec.c: Likewise.
644         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
646 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
648         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
649         Remove code conditional on it.
651 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
653         * c-gimplify.c: Do not include basic-block.h.
654         * c-common.c: Do not include linfuncs.h.
656 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
658         * c-common.h: Include tree.h.
660 2012-07-02  Jason Merrill  <jason@redhat.com>
662         PR c++/53524
663         * c-common.c (get_priority): Call default_conversion.
665 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
667         * c-pch.c (c_common_write_pch): Remove unused variables.
669 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
671         * cppspec.c: Moved from gcc/ to here.
673 2012-06-27  Kai Tietz  <ktietz@redhat.com>
675         PR preprocessor/37215
676         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
678 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
680         * c-common.h (c_common_print_pch_checksum): Remove.
681         * c-pch.c: Do not include output.h.
682         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
683         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
684         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
685         (struct c_pch_header): Remove.
686         (get_ident): Update gpch version.
687         (pch_init): Do not print executable_checksum to asm_out_file.
688         Do not fail if there is no asm_out_file to read back from.  Set
689         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
690         (c_common_write_pch): Verify that nothing was written to asm_out_file
691         since pch_init was called.  Do not write a c_pch_header, and do not
692         copy from asm_out_file to the PCH.
693         (c_common_read_pch): Do not read a c_pch_header, and do not restore
694         the content of asm_out_file from the PCH.
695         (c_common_print_pch_checksum): Remove.
696         * c-opts.c (c_common_init): Print out executable_checksum directly.
698 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
700         * c-target.def (objc_declare_unresolved_class_reference,
701         objc_declare_class_definition): Add new hooks.
703 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
705         * c-lex.c: Do not include output.h.
706         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
707         Remove uses of ASM_OUTPUT_IDENT.
709 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
711         PR c++/51033
712         * c-common.h (c_build_vec_perm_expr): Move decl here.
713         * c-common.c (c_build_vec_perm_expr): Move definition
714         here.
716 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
718         * c.opt (fconserve-space): Turn into a no-op.
720 2012-06-04  Sterling Augustine  <saugustine@google.com>
722         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
723         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
724         both the start and end of the function.
726 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
728         * c-common.c: Do not include output.h.
729         * c-pragma.c: Likewise.
731 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
733         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
734         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
735         (lang_decl_name): Handle namespace decls.
737 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
739         * c-ada-spec.c: Do not include output.h.
740         * c-semantics.c: Likewise.
742 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
744         * c-common.c: Fix typo.
746 2012-05-29  Michael Matz  <matz@suse.de>
748         * c-common.h (c_expand_decl): Remove prototype.
750 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
752         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
753         * c-opts.c (c_common_handle_option): Remove code handling
754         warn_missing_braces.
756 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
758         PR c++/25137
759         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
760         -Wmissing_braces.
762 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
764         PR c++/53322
765         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
767 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
769         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
770         * c-opts.c (c_common_handle_option): Do not handle explicitly
771         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
773 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
775         PR preprocessor/7263
776         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
777         to cpp_classify_number.  For diagnostics, use the precise location
778         instead of the global input_location.
780 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
782         PR c++/11856
783         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
785 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
787         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
789 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
791         PR 53063
792         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
793         Wreorder): Use LangEnabledBy.
794         * c-opts.c (c_common_handle_option): Do not enable them
795         explicitly. Call lang-specific generated functions.
796         (c_common_post_options): Do not set them here.
798 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
800         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
801         Wmissing-field-initializers,Wmissing-parameter-type,
802         Wold-style-declaration,Woverride-init): Use EnabledBy.
803         * c-opts.c (c_common_post_options): Do not set here explicitly.
805 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
807         PR 53063
808         * c-opts.c (c_common_handle_option): Use handle_generated_option
809         to enable sub-options.
811 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
813         PR c++/53158
814         * c-common.c (warnings_for_convert_and_check): Use warning_at.
816 2012-05-10  Richard Guenther  <rguenther@suse.de>
818         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
819         adjust commentary about TYPE_IS_SIZETYPE types.
821 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
823         PR c++/53261
824         * c-common.c (warn_logical_operator): Check that argument of
825         integer_zerop is not NULL.
827 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
829         PR c/43772
830         * c-common.c (warn_logical_operator): Do not warn if either side
831         is already true or false.
833 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
835         PR c/51712
836         * c-common.c (expr_original_type): New.
837         (shorten_compare): Do not warn for enumeration types.
839 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
841         * c.opt (fpermissive): Add Var(flag_permissive).
843 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
845         PR c++/51033
846         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
847         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
849 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
851         Add -Wvarargs option
852         * c.opt (Wvarargs):  Define new option.
854 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
856         * c-common.c (check_function_arguments): Replace
857         Wmissing-format-attribute with Wsuggest-attribute=format.
859 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
861         * c.opt (Wsuggest-attribute=format): New. Alias of
862         Wmissing-format-attribute.
863         * c-format.c (decode_format_type): Replace
864         Wmissing-format-attribute with Wsuggest-attribute=format.
865         (check_function_format): Likewise.
867 2012-04-27  Ollie Wild  <aaw@google.com>
869         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
870         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
871         * c.opt: Add Wliteral-suffix.
873 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
875         PR c/44774
876         * c.opt (Wpedantic): New.
877         (pedantic): Alias Wpedantic.
878         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
879         (c_common_post_options): Likewise.
880         (sanitize_cpp_opts): Likewise.
881         * c-lex.c (interpret_float): Likewise.
882         * c-format.c (check_format_types): Likewise.
883         * c-common.c (pointer_int_sum): Likewise.
884         (c_sizeof_or_alignof_type): Likewise.
885         (c_add_case_label): Likewise.
886         (c_do_switch_warnings): Likewise.
887         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
889 2012-04-15  Jason Merrill  <jason@redhat.com>
891         PR c++/52818
892         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
893         (C_STD_NAME): Distinguish between C++98 and C++11.
895 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
897         PR target/52624
898         * c-common.h (uint16_type_node): Rename into...
899         (c_uint16_type_node): ...this.
900         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
901         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
903 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
905         * c-common.c (warn_if_unused_value): Move definition to here.
906         * c-common.h (warn_if_unused_value): Move declaration to here.
908 2012-03-23  William Bader  <williambader@hotmail.com>
910         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
912 2012-03-20  Jason Merrill  <jason@redhat.com>
914         * c-common.h (enum cxx_dialect): Add cxx1y.
915         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
916         test.
917         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
918         * c-opts.c (c_common_post_options): Likewise.
919         (set_std_cxx1y): New.
920         (c_common_handle_option): Call it.
921         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
923 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
925         PR c++/14710
926         * c.opt ([Wuseless-cast]): Add.
928 2012-03-16  Richard Guenther  <rguenther@suse.de>
930         * c-pretty-print.c (pp_c_initializer_list): Adjust.
932 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
934         PR c++/44783
935         * c.opt (ftemplate-backtrace-limit) Add.
937 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
939         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
940         handling.
941         * c-pragma.c (handle_pragma_extern_prefix): Remove.
942         (init_pragma): Don't register extern_prefix.
944 2012-03-12  Richard Guenther  <rguenther@suse.de>
946         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
947         (builtin_type_for_size): Likewise.
949 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
951         PR c++/52215
952         * c-common.c (sync_resolve_params): Don't decide whether to convert
953         or not based on TYPE_SIZE comparison, convert whenever arg_type
954         is unsigned INTEGER_TYPE.
956 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
958         PR c/52118
959         * c.opt ([Wunused-local-typedefs]): Fix description.
961 2012-01-24  Mike Stump  <mikestump@comcast.net>
963         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
964         exactly.
966 2012-01-18  Richard Guenther  <rguenther@suse.de>
968         * c-opts.c (c_common_post_options): Reset LTO flags if
969         we are about to generate a PCH.
971 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
973         PR c++/51777
974         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
975         use pp_unsigned_wide_integer.
977 2012-01-10  Richard Guenther  <rguenther@suse.de>
979         PR middle-end/51806
980         * c-opts.c (c_common_handle_option): Move -Werror handling
981         to language independent code.
983 2012-01-05  Richard Guenther  <rguenther@suse.de>
985         PR middle-end/51764
986         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
987         from common.opt.
989 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
991         PR c++/51316
992         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
993         of array types with an unknown bound.
995 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
997         * c-common.c (flag_isoc99): Update comment to refer to C11.
998         (flag_isoc1x): Change to flag_isoc11.
999         * c-common.h (flag_isoc99): Update comment to refer to C11.
1000         (flag_isoc1x): Change to flag_isoc11.
1001         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1002         C11.
1003         * c-opts.c (set_std_c1x): Change to set_std_c11.
1004         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1005         Call set_std_c11.
1006         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1007         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1008         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
1009         standard.
1010         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1011         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1012         (std=gnu1x): Make alias of std=gnu11.
1014 2011-12-19  Jason Merrill  <jason@redhat.com>
1016         PR c++/51228
1017         * c-common.c (handle_transparent_union_attribute): Check the first
1018         field if the type is complete.
1020 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1022         PR libstdc++/51365
1023         * c-common.c (RID_IS_FINAL): Add.
1024         * c-common.h (RID_IS_FINAL): Add.
1026 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
1028         * c.opt (fgnu-runtime): Provide full description.
1029         (fnext-runtime): Likewise.
1030         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1032 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
1034         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
1035         predefines in one place.  Add LOCK_FREE predefines.
1036         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1037         new func.
1039 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
1041         PR c/51256
1042         * c-common.c (get_atomic_generic_size): Check for various error
1043         conditions
1044         (resolve_overloaded_atomic_exchange,
1045         resolve_overloaded_atomic_compare_exchange,
1046         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1047         error_mark_node for error conditions.
1049 2011-11-08  Richard Guenther  <rguenther@suse.de>
1051         PR middle-end/51010
1052         c-family/
1054 2011-11-07  Richard Henderson  <rth@redhat.com>
1055             Aldy Hernandez  <aldyh@redhat.com>
1056             Torvald Riegel  <triegel@redhat.com>
1058         Merged from transactional-memory.
1060         * c-common.c (handle_tm_wrap_attribute,
1061         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1062         (struct c_common_reswords): Added __transaction* keywords.
1063         (struct c_common_attribute_table): Added transaction* and tm_regparm
1064         attributes.
1065         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1066         masks.
1067         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1068         find_tm_attribute): Declare.
1070 2011-11-07  Jason Merrill  <jason@redhat.com>
1072         PR c++/35688
1073         * c-common.c, c-common.h: Revert yesterday's changes.
1075 2011-11-06  Jason Merrill  <jason@redhat.com>
1077         PR c++/35688
1078         * c-common.c (decl_has_visibility_attr): Split out from...
1079         (c_determine_visibility): ...here.
1080         * c-common.h: Declare it.
1082 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1084         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1085         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1086         type.
1087         (check_user_alignment): New.  Split out of
1088         handle_aligned_attribute.  Disallow integer constants with
1089         noninteger types.  Conditionally allow zero.
1090         (handle_aligned_attribute): Use check_user_alignment.
1091         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1093 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1094             Richard Henderson  <rth@redhat.com>
1096         Merged from cxx-mem-model.
1098         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1099         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1100         parameters that are the same type size.
1101         (get_atomic_generic_size): New.  Find size of generic
1102         atomic function parameters and do typechecking.
1103         (add_atomic_size_parameter): New.  Insert size into parameter list.
1104         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1105         either __atomic_exchange_n or external library call.
1106         (resolve_overloaded_atomic_compare_exchange): Restructure
1107         __atomic_compare_exchange to either _n variant or external library call.
1108         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1109         __atomic_load_n or an external library call.
1110         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1111         __atomic_store_n or an external library call.
1112         (resolve_overloaded_builtin): Handle new __atomic builtins.
1114 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1116         PR c++/50608
1117         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1118         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
1119         <INDIRECT_REF>: Return the argument.
1120         <ARRAY_REF>: Remove special code for negative offset.
1121         Call fold_build_pointer_plus instead of size_binop.
1122         (fold_offsetof): Remove STOP_REF argument and adjust.
1123         * c-common.h (fold_offsetof_1): Declare.
1124         (fold_offsetof): Remove STOP_REF argument.
1126 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
1128         PR c++/50810
1129         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1130         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1131         Wnarrowing for C++0x and C++98.
1132         * c.opt ([Wnarrowing]): Update.
1134 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1136         PR c++/44277
1137         * c.opt: Add Wzero-as-null-pointer-constant.
1139 2011-10-31  Jason Merrill  <jason@redhat.com>
1141         * c.opt (-fdeduce-init-list): Off by default.
1143         PR c++/50920
1144         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1145         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1146         and -Wc++11-compat.
1147         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1149 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1151         PR c++/30066
1152         * c.opt (fvisibility-inlines-hidden): Description change.
1154 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1156         Implement C++11 user-defined literals.
1157         * c-common.c (build_userdef_literal): New.
1158         * c-common.def: New tree code.
1159         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1160         * c-lex.c (interpret_float): Add suffix parm.
1161         (c_lex_with_flags): Build literal tokens.
1163 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1165         PR c++/50841
1166         Revert:
1167         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1169         PR c++/50810
1170         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1171         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1172         Wnarrowing for C++0x and C++98.
1173         * c.opt ([Wnarrowing]): Update.
1175 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1177         PR c++/50810
1178         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1179         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1180         Wnarrowing for C++0x and C++98.
1181         * c.opt ([Wnarrowing]): Update.
1183 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1185         PR c++/45385
1186         * c-common.c (conversion_warning): Remove code looking for
1187         artificial operands.
1189 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1191         PR bootstrap/50760
1192         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1193         !NO_IMPLICIT_EXTERN_C.
1195 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1197         * c-common.c (c_common_reswords): Add __bases,
1198         __direct_bases.
1199         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1201 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1203         PR c++/50757
1204         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1206 2011-10-15  Tom Tromey  <tromey@redhat.com>
1207             Dodji Seketeli  <dodji@redhat.com>
1209         * c.opt (fdebug-cpp): New option.
1210         * c-opts.c (c_common_handle_option): Handle the option.
1211         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1212         output stream in parameter. Factorized from ...
1213         (maybe_print_line): ... this. Dump location debug information when
1214         -fdebug-cpp is in effect.
1215         (print_line_1): New static function. Takes an output stream in
1216         parameter. Factorized from ...
1217         (print_line): ... here. Dump location information when -fdebug-cpp
1218         is in effect.
1219         (scan_translation_unit): Dump location information when
1220         -fdebug-cpp is in effect.
1222 2011-10-15  Tom Tromey  <tromey@redhat.com>
1223             Dodji Seketeli  <dodji@redhat.com>
1225         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1226         without argument.
1227         * c-opts.c (c_common_handle_option)<case
1228         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1229         cases. Handle -ftrack-macro-expansion with and without argument.
1231 2011-10-15  Tom Tromey  <tromey@redhat.com>
1232             Dodji Seketeli  <dodji@redhat.com>
1234         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1235         (print_line, cb_define, do_line_change): Adjust to avoid touching
1236         the internals of struct line_map.  Use the public API instead.
1237         * c-pch.c (c_common_read_pch): Likewise.
1238         * c-lex.c (fe_file_change): Likewise.
1240 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1242         PR c++/17212
1243         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1245 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1247         PR c++/33067
1248         * c-pretty-print.c (pp_c_floating_constant): Output
1249         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1251 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1253         * c-common.c (def_builtin_1): Delete old interface with two
1254         parallel arrays to hold standard builtin declarations, and replace
1255         it with a function based interface that can support creating
1256         builtins on the fly in the future.  Change all uses, and poison
1257         the old names.  Make sure 0 is not a legitimate builtin index.
1258         * c-omp.c (c_finish_omp_barrier): Ditto.
1259         (c_finish_omp_taskwait): Ditto.
1260         (c_finish_omp_flush): Ditto.
1262 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1264         * c.opt: (fallow-parameterless-variadic-functions): New.
1266 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1268         PR c++/33255 - Support -Wunused-local-typedefs warning
1269         * c-common.h (struct c_language_function::local_typedefs): New
1270         field.
1271         (record_locally_defined_typedef, maybe_record_typedef_use)
1272         (maybe_warn_unused_local_typedefs): Declare new functions.
1273         * c-common.c (record_locally_defined_typedef)
1274         (maybe_record_typedef_use)
1275         (maybe_warn_unused_local_typedefs): Define new functions.
1276         * c.opt: Declare new -Wunused-local-typedefs flag.
1278 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1280         PR middle-end/50266
1281         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1282         computations.
1284 2011-09-05  Richard Guenther  <rguenther@suse.de>
1286         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1287         of integer_minus_one_node for empty array upper bounds.
1289 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1291         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1292         it's the first time it's being called on this main TU.
1294 2011-08-24  Richard Guenther  <rguenther@suse.de>
1296         PR c/49396
1297         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1299 2011-08-22  Gabriel Charette  <gchare@google.com>
1301         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1302         defined in cpp_init_builtins and c_cpp_builtins.
1304 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1306         * c-common.c (c_common_reswords): Add __builtin_complex.
1307         * c-common.h (RID_BUILTIN_COMPLEX): New.
1309 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1311         * c-common.c (c_common_reswords): Add _Noreturn.
1312         (keyword_is_function_specifier): Handle RID_NORETURN.
1313         * c-common.h (RID_NORETURN): New.
1315 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1317         * c-common.c (unsafe_conversion_p): New function. Check if it is
1318         unsafe to convert an expression to the type.
1319         (conversion_warning): Adjust, use unsafe_conversion_p.
1320         * c-common.h (unsafe_conversion_p): New function declaration.
1322 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1324         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1325         (c_finish_omp_taskyield): New prototype.
1326         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1327         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1328         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1329         or RHS1 have side-effects, evaluate those too in the right spot,
1330         if it is a decl and LHS is also a decl, error out if they
1331         aren't the same.
1332         (c_finish_omp_taskyield): New function.
1333         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1334         * c-pragma.c (omp_pragmas): Add taskyield.
1335         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1336         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1337         PRAGMA_OMP_CLAUSE_MERGEABLE.
1339 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1341         * c-common.h (set_underlying_type): Remove parm name from
1342         declaration.
1344 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1346         * c-pretty-print.h: Search c-common.h in c-family.
1348 2011-07-22  Jason Merrill  <jason@redhat.com>
1350         PR c++/49793
1351         * c.opt (Wnarrowing): New.
1353         PR c++/30112
1354         * c-common.h: Declare c_linkage_bindings.
1355         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1357         PR c++/49813
1358         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1359         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1360         as flag_isoc99 for 'restrict'.
1361         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1363 2011-07-21  Ian Lance Taylor  <iant@google.com>
1365         PR middle-end/49705
1366         * c-common.c (c_disable_warnings): New static function.
1367         (c_enable_warnings): New static function.
1368         (c_fully_fold_internal): Change local unused_p to bool.  Call
1369         c_disable_warnings and c_enable_warnings rather than change
1370         c_inhibit_evaluation_warnings.
1372 2011-07-20  Jason Merrill  <jason@redhat.com>
1374         PR c++/6709 (DR 743)
1375         PR c++/42603 (DR 950)
1376         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1377         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1378         (CPP_DECLTYPE): New.
1379         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1381 2011-07-19  Richard Guenther  <rguenther@suse.de>
1383         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1384         * c-omp.c (c_finish_omp_for): Likewise.
1386 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1388         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1389         body on the next line.
1391 2011-07-08  Jason Merrill  <jason@redhat.com>
1393         PR c++/45437
1394         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1396         PR c++/49673
1397         * c-common.c (c_apply_type_quals_to_decl): Don't check
1398         TYPE_NEEDS_CONSTRUCTING.
1400 2011-07-06  Richard Guenther  <rguenther@suse.de>
1402         * c-common.c (c_common_nodes_and_builtins):
1403         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1405 2011-07-05  Richard Guenther  <rguenther@suse.de>
1407         * c-common.c (c_common_nodes_and_builtins): Build all common
1408         tree nodes first.
1410 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1412         * c-common.h (c_tree_chain_next): New static inline function.
1414         * c-common.c (check_builtin_function_arguments): Handle
1415         BUILT_IN_ASSUME_ALIGNED.
1417 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1419         * c-common.c: Add sync_ or SYNC__ to builtin names.
1420         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1422 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1424         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1425         handler.
1426         (gen_pragma_handler): New union.
1427         (internal_pragma_handler): New type.
1428         (c_register_pragma_with_data)
1429         (c_register_pragma_with_expansion_and_data): New functions.
1431         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1432         (c_register_pragma, c_register_pragma_with_expansion)
1433         (c_invoke_pragma_handler): Changed to work with
1434         internal_pragma_handler.
1435         (c_register_pragma_with_data)
1436         (c_register_pragma_with_expansion_and_data): New functions.
1438 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1440         * c-common.c: Include common/common-target.h.
1441         (handle_section_attribute): Use
1442         targetm_common.have_named_sections.
1443         * c-cppbuiltin.c: Include common/common-target.h.
1444         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1446 2011-06-10  Richard Guenther  <rguenther@suse.de>
1448         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1449         to print a IDENTIFIER_NODE.
1451 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1452             Joseph Myers  <joseph@codesourcery.com>
1454         * c.opt (fbuilding-libgcc): New option.
1455         * c-cppbuiltin.c (c_cpp_builtins): Define
1456         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1458 2011-06-07  Jason Merrill  <jason@redhat.com>
1460         * c-common.c (max_tinst_depth): Lower default to 900.
1462         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1464 2011-06-07  Richard Guenther  <rguenther@suse.de>
1466         * c-common.c (c_common_nodes_and_builtins): Do not set
1467         size_type_node or call set_sizetype.
1469 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1471         PR debug/49130
1472         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1473         type when using pointer comparison to compare types.
1475 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1477         * c.opt: Add -Wdelete-non-virtual-dtor.
1478         * c-opts.c (c_common_handle_option): Include it in -Wall.
1480 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1482         PR bootstrap/49190
1484         Revert:
1485         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1487         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1488         not tree_common.
1490 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1492         PR c++/49165
1493         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1494         C++ don't call c_common_truthvalue_conversion on void type arms.
1496 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1498         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1499         (stmt_list_stack): Define.
1500         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1501         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1503 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1505         * c-common.c (warning_candidate_p): Check for BLOCKs.
1507 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1509         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1510         not tree_common.
1512 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1514         * c-common.c (def_fn_type): Remove extra va_end.
1516 2011-05-23  Jason Merrill  <jason@redhat.com>
1518         PR c++/48106
1519         * c-common.c (c_common_get_narrower): New.
1520         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1522 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
1524         * c-common.h (check_function_arguments): Tweak prototype of
1525         check_function_arguments.
1526         * c-common.c (check_function_arguments): Likewise.  Adjust
1527         calls to check_function_nonnull, check_function_format, and
1528         check_function_sentinel.
1529         (check_function_sentinel): Take a FUNCTION_TYPE rather than
1530         separate attributes and typelist arguments.  Use
1531         FOREACH_FUNCTION_ARGS to iterate over argument types.
1533 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1535         * c-common.c (c_common_reswords): Reorder.
1536         * c-common.h (rid): Likewise.
1538 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
1540         * c-common.c (def_fn_type): Don't call build_function_type, call
1541         build_function_type_array or build_varargs_function_type_array
1542         instead.
1543         (c_common_nodes_and_builtins): Likewise.
1545 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1547         * c-common.c (c_add_case_label): Omit the loc argument to
1548         build_case_label.
1549         * c-common.h (build_case_label): Remove.
1550         * c-semantics.c (build_case_label): Remove.
1552 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
1554         * c-objc.h (objc_start_method_definition): Update prototype.
1555         * stub-objc.c (objc_start_method_definition): Add extra parameter.
1557 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
1559         * c-common.c (check_main_parameter_types): Reindent.  Don't use
1560         TYPE_ARG_TYPES directly.
1561         (handle_nonnull_attribute): Likewise.
1562         (sync_resolve_params): Likewise.
1563         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
1564         to check_format_string.
1565         (handle_format_attribute): Likewise.
1566         (check_format_string): Take a function type to examine instead of
1567         a type list.  Use a function_arg_iterator to step through argument
1568         types.
1570 2011-05-04  Richard Guenther  <rguenther@suse.de>
1572         * c-common.c (fix_string_type): Use size_int for index type bounds.
1573         (start_fname_decls): Do not pass NULL to build_int_cst.
1574         (c_init_attributes): Likewise.
1575         * c-lex.c (c_lex_with_flags): Likewise.
1577 2011-04-27  Jason Merrill  <jason@redhat.com>
1579         * c-common.c (make_tree_vector_from_list): New.
1580         * c-common.h: Declare it.
1582 2011-04-26  Richard Guenther  <rguenther@suse.de>
1584         PR preprocessor/48248
1585         * c-ppoutput.c (maybe_print_line): Always optimize newlines
1586         for output size with -P.
1588 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1590         * c-common.c (struct c_common_resword): Add __underlying_type.
1591         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1593 2011-04-20  Jim Meyering  <meyering@redhat.com>
1595         * c-format.c (init_dollar_format_checking): Remove useless
1596         if-before-free.
1598 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1600         * c-objc.h (objc_get_interface_ivars): Removed.
1601         (objc_detect_field_duplicates): New.
1602         * stub-objc.c: Likewise.
1604 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1606         * stub-objc.c (objc_declare_protocols): Renamed to
1607         objc_declare_protocol.
1608         * c-objc.h: Likewise.
1610 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1612         * stub-objc.c (objc_declare_class): Updated argument name.
1614 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1616         * c-common.h (c_common_init_ts): Declare.
1617         * c-common.c (c_common_init_ts): Define.
1619 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1621         * c-objc.h (objc_build_message_expr): Updated prototype.
1622         * stub-objc.c (objc_build_message_expr): Likewise.
1624 2011-04-12  Martin Jambor  <mjambor@suse.cz>
1626         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1627         of cgraph_node.
1629 2011-04-11  Richard Guenther  <rguenther@suse.de>
1631         * c-common.c (complete_array_type): Build a range type of
1632         proper type.
1634 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
1636         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1637         (handle_type_generic_attribute): Likewise.
1639 2011-04-07  Jason Merrill  <jason@redhat.com>
1641         PR c++/48450
1642         * c-common.c (c_common_truthvalue_conversion): Don't ignore
1643         conversion from C++0x scoped enum.
1645 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
1647         * c-target-def.h: New file.
1648         * c-target.def: New file.
1649         * c-target.h: New file.
1650         * c-common.c (targetcm): Don't define here.
1651         * c-common.h (default_handle_c_option): Declare.
1652         * c-format.c: Include c-target.h instead of target.h.
1653         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
1654         include tm.h.
1655         (default_handle_c_option): Move from targhooks.c.
1657 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
1659         PR preprocessor/48248
1660         * c-ppoutput.c (print): Add src_file field.
1661         (init_pp_output): Initialize it.
1662         (maybe_print_line): Don't optimize by adding up to 8 newlines
1663         if map->to_file and print.src_file are different file.
1664         (print_line): Update print.src_file.
1666 2011-03-25  Kai Tietz  <ktietz@redhat.com>
1668         * c-ada-spec.c (compare_comment): Use filename_cmp
1669         instead of strcmp for filename.
1671 2011-03-25  Jeff Law  <law@redhat.com>
1673         * c-family/c-common.c (def_fn_type): Add missing va_end.
1675 2011-03-25  Jason Merrill  <jason@redhat.com>
1677         * c.opt: Add -std=c++03.
1679 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
1681         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1683 2011-03-17  Kai Tietz
1685         PR target/12171
1686         * c-pretty-print.c (pp_c_specifier_qualifier_list):
1687         Display allowed attributes for function pointer types.
1688         (pp_c_attributes_display): New function to display
1689         attributes having affects_type_identity flag set to true.
1690         * c-pretty-print.h (pp_c_attributes_display): New prototype.
1692         * c-common.c (c_common_attribute_table):
1693         Add new element.
1694         (c_common_format_attribute_table): Likewise.
1696 2011-03-18  Jason Merrill  <jason@redhat.com>
1698         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1699         * c-common.h: Don't declare it here.
1700         * c-common.c: Or define it here.
1701         * c-opts.c (c_common_handle_option): Or set it here.
1703         PR c++/35315
1704         * c-common.c (handle_transparent_union_attribute): Don't
1705         make a duplicate type in C++.
1707 2011-03-15  Jason Merrill  <jason@redhat.com>
1709         * c-common.c (max_constexpr_depth): New.
1710         * c-common.h: Declare it.
1711         * c-opts.c (c_common_handle_option): Set it.
1712         * c.opt (fconstexpr-depth): New option.
1714 2011-03-11  Jason Merrill  <jason@redhat.com>
1716         * c-common.c (attribute_takes_identifier_p): Add missing const.
1718         PR c++/46803
1719         * c-common.c (attribute_takes_identifier_p): Assume that an
1720         unknown attribute takes an identifier.
1722 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
1724         PR c/47786
1725         * c-common.c (c_type_hash): Call list_length instead of iterating
1726         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
1728 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1730         PR c/47809
1731         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1733 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1735         * c.opt (fobjc-abi-version=) New.
1736         (fobjc-nilcheck): New.
1738 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
1740         PR c++/46890
1741         * c-common.h (keyword_is_decl_specifier): Declare.
1742         * c-common.c (keyword_is_decl_specifier): Define.
1743         (keyword_is_function_specifier): New function.
1745 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1747         PR c/47473
1748         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
1749         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
1750         REAL_TYPE.
1752 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
1754         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
1756 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1758         PR pch/47430
1759         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
1760         after init_c_lex if pch_file is set.
1762 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1764         PR c++/43601
1765         * c.opt (-fkeep-inline-dllexport): New switch.
1767 2011-01-12  Richard Guenther  <rguenther@suse.de>
1769         PR middle-end/32511
1770         * c-common.c (handle_weak_attribute): Warn instead of error
1771         on declaring an inline function weak.
1773 2011-01-05  Tom Tromey  <tromey@redhat.com>
1775         * c-common.h (lvalue_error): Update.
1776         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
1777         not error.
1779 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1781         PR objc/47075
1782         * c-objc.h (objc_finish_message_expr): Added argument to
1783         prototype.
1785 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
1787         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
1788         Use prototype_p.
1790 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1792         * c-objc.h (objc_maybe_warn_exceptions): New.
1793         * stub-objc.c (objc_maybe_warn_exceptions): New.
1795 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
1797         * c-common.h (readonly_error): Declare.
1798         * c-common.c (readonly_error): Define.
1800 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
1802         * c-common.h (invalid_indirection_error): Declare.
1803         * c-common.c (invalid_indirection_error): Define.
1805 2010-12-03  Richard Guenther  <rguenther@suse.de>
1807         PR c/46745
1808         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
1809         (pp_c_unary_expression): Likewise.
1810         (pp_c_expression): Likewise.
1812 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1814         * c-common.h (objc_finish_function): New.
1815         (objc_non_volatilized_type): Removed.
1816         (objc_type_quals_match): Removed.
1817         * stub-objc.c (objc_finish_function): New.
1818         (objc_non_volatilized_type): Removed.
1819         (objc_type_quals_match): Removed.
1821 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
1823         * c-common.h (parse_optimize_options): Declare.
1824         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
1825         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
1827 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
1829         * c-opts.c (check_deps_environment_vars): Use getenv instead of
1830         GET_ENVIRONMENT.
1831         * c-pch.c (O_BINARY): Don't define here.
1832         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
1834 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
1836         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
1837         targetm.except_unwind_info.
1839 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1841         * c-opts.c (c_common_handle_option): Pass location to
1842         set_struct_debug_option.
1844 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1846         * c-common.c (visibility_options): Move from ../opts.c.
1847         * c-common.h (struct visibility_flags, visibility_options):
1848         Declare here.
1849         * c-opts.c (finish_options): Rename to c_finish_options.
1850         (c_common_init): Update call to finish_options.
1852 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
1854         PR objc/34033
1855         * c-lex.c (lex_string): Check that each string in an Objective-C
1856         string concat sequence starts with either one or zero '@', and
1857         that there are no spurious '@' signs at the end.
1859 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
1861         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
1862         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
1863         HANDLE_PRAGMA_VISIBILITY.
1864         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
1865         HANDLE_PRAGMA_VISIBILITY): Don't define.
1866         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
1868 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
1870         PR c++/16189
1871         PR c++/36888
1872         PR c++/45331
1873         * c-common.h (keyword_begins_type_specifier): Declare.
1874         (keyword_is_storage_class_specifier): Declare.
1875         (keyword_is_type_qualifier): Declare.
1876         * c-common.c (keyword_begins_type_specifier): New function.
1877         (keyword_is_storage_class_specifier): New function.
1878         (keyword_is_type_qualifier): Declare.
1880 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1882         PR c/46547
1883         * c-common.c (in_late_binary_op): Define.
1884         (c_common_truthvalue_conversion): Check in_late_binary_op before
1885         calling c_save_expr.
1886         * c-common.h (in_late_binary_op): Declare.
1888 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1890         * c-opts.c (c_common_handle_option): Update calls to
1891         set_struct_debug_option.
1893 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1895         * c-common.h (objc_declare_protocols): Added additional argument.
1896         * stub-objc.c (objc_declare_protocol): Same change.
1898 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
1900         PR c/33193
1901         * c-common.h (build_real_imag_expr): Declare.
1902         * c-semantics.c (build_real_imag_expr): Define.
1904 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1906         * c-opts.c (c_common_parse_file): Take no arguments.
1907         * c-common.h (c_common_parse_file): Update prototype.
1909 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
1911         PR c++/46401
1912         * c-common.c (warning_candidate_p): Don't track non-const calls
1913         or STRING_CSTs.
1915 2010-11-15  Ian Lance Taylor  <iant@google.com>
1917         * c-lex.c (init_c_lex): Set macro debug callbacks if
1918         flag_dump_go_spec is set.
1920 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1922         * c-common.h (objc_build_incr_expr_for_property_ref): New.
1923         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
1925 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
1927         PR preprocessor/45038
1928         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
1929         dialects.
1931 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1933         * c-common.h (c_family_lang_mask): Declare.
1934         * c-opts.c (c_family_lang_mask): Make extern.
1935         * c-pragma.c (handle_pragma_diagnostic): Use
1936         control_warning_option.
1938 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1940         * c-common.c (parse_optimize_options): Update call to
1941         decode_options.
1942         * c-common.h (c_common_handle_option): Update prototype.
1943         * c-opts.c (c_common_handle_option): Take location_t parameter and
1944         pass it to other functions.
1946 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1948         * c-opts.c (warning_as_error_callback): Remove.
1949         (c_common_initialize_diagnostics): Don't call
1950         register_warning_as_error_callback.
1951         (c_common_handle_option): Handle -Werror=normalized= here.
1953 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1955         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
1956         in diagnostic.
1957         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
1958         letter.
1959         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
1960         Remove trailing '.' from diagnostics.
1961         * c.opt (Wwrite-strings_: Avoid '`' in help text.
1963 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1965         * c-common.c (parse_optimize_options): Pass global_dc to
1966         decode_options.
1967         * c-opts.c (c_common_handle_option): Pass &global_options to
1968         set_Wstrict_aliasing.
1969         * c.opt (v): Don't mark Common or document here.
1971 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
1973         PR target/44981
1974         * c-format.c (format_type): New type gcc_objc_string_format_type.
1975         (valid_stringptr_type_p): New.
1976         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
1977         (check_format_string): Pass expected type, use
1978         valid_stringptr_type_p (), check that the format string types are
1979         consistent with the format specification.
1980         (decode_format_attr): Warn if NSString is used outside objective-c.
1981         (format_types_orig): Add NSString.
1982         (format_name): New.
1983         (format_flags): New.
1984         (check_format_arg): Handle format strings requiring an external parser.
1985         first_target_format_type: New variable.
1986         (handle_format_attribute): Set up first_target_format_type, pass the
1987         expected format arg string type to check_format_string().
1988         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
1989         * stub-objc.c (objc_string_ref_type_p): New.
1990         (objc_check_format_arg): New.
1992 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
1994         Fixed using the Objective-C 2.0 dot-syntax with class names.
1995         * c-common.h (objc_build_class_component_ref): New.
1996         * stub-objc.c (objc_build_class_component_ref): New.
1998 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2000         * c.opt (Wproperty-assign-default): New option.
2002 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2004         Implemented -fobjc-std=objc1 flag.
2005         * c.opt (fobjc-std=objc1): New option.
2007 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2009         Implemented format and noreturn attributes for Objective-C methods.
2010         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2011         attribute for Objective-C methods.
2013 2010-10-31  Jason Merrill  <jason@redhat.com>
2015         * c-common.c (conversion_warning, warn_for_collisions_1): Use
2016         EXPR_LOC_OR_HERE.
2018 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2020         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2021         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2022         (objc_add_property_declaration): Removed arguments for copies and
2023         ivar.
2024         (objc_build_getter_call): Renamed to
2025         objc_maybe_build_component_ref.
2026         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2027         (objc_is_property_ref): New.
2028         * c-common.c (c_common_reswords): Removed copies and ivar.
2029         * stub-objc.c (objc_add_property_declaration): Removed arguments
2030         for copies and ivar.
2031         (objc_build_getter_call): Renamed to
2032         objc_maybe_build_component_ref.
2033         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2034         (objc_is_property_ref): New.
2036 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
2037             Matthew Gingell  <gingell@adacore.com>
2039         * c-ada-spec.c (separate_class_package): New function.
2040         (pp_ada_tree_identifier): Prefix references to C++ classes with the
2041         name of their enclosing package.
2042         (print_ada_declaration): Use separate_class_package.
2044 2010-10-27  Jason Merrill  <jason@redhat.com>
2046         * c-common.c (c_common_reswords): Add __is_literal_type.
2047         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2049         * c-common.c (check_case_value): Remove special C++ code.
2051 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2053         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2054         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
2055         and RID_LAST_PATTR.
2056         (objc_add_property_declaration): Added additional arguments.
2057         (objc_property_attribute_kind): Removed.
2058         (objc_set_property_attr): Removed.
2059         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2060         copy and nonatomic.
2061         * stub-objc.c (objc_add_property_declaration): Added additional
2062         arguments.
2063         (objc_set_property_attr): Removed.
2065 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2067         * c-common.h (objc_add_property_variable): Renamed to
2068         objc_add_property_declaration.  Added location argument.
2069         * stub-objc.c (objc_add_property_variable): Same change.
2070         
2071 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
2073         * c-common.h (objc_maybe_printable_name): New.
2074         * stub-objc.c (objc_maybe_printable_name): New.
2076 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2077         Andrew Pinski <pinskia@gmail.com>
2079         * c-common.h (c_common_mark_addressable_vec): Declare.
2080         * c-common.c (c_common_mark_addressable_vec): New function.
2082 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2084         * c-common.h (objc_set_method_type): Removed.
2085         (objc_add_method_declaration): Added boolean argument.
2086         (objc_start_method_definition): Same change.
2087         (objc_build_method_signature): Same change.
2088         * stub-objc.c (objc_set_method_type): Removed.
2089         (objc_add_method_declaration): Added boolean argument.
2090         (objc_start_method_definition): Same change.
2091         (objc_build_method_signature): Same change.
2093 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2095         * c-common.h (finish_file): Removed.
2096         (objc_write_global_declarations): New.
2097         * c-opts.c (c_common_parse_file): Do not call finish_file.
2098         * stub-objc.c (objc_write_global_declarations): New.
2100 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2102         Implemented parsing @synthesize and @dynamic for
2103         Objective-C/Objective-C++.
2104         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2105         (objc_add_synthesize_declaration): New.
2106         (objc_add_dynamic_declaration): New.
2107         * c-common.c (c_common_reswords): Add synthesize and dynamic.
2108         * stub-objc.c (objc_add_synthesize_declaration): New.
2109         (objc_add_dynamic_declaration): New.
2111 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2113         PR target/46041
2114         * c-cppbuiltin.c (mode_has_fma): Move function here from
2115         builtins.c.  Don't use the fma optab, instead just use the
2116         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2117         using -save-temps.
2119 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2121         Merge from 'apple/trunk' branch on FSF servers.
2123         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
2125         Radar 4330422
2126         * c-common.h (objc_non_volatilized_type): New declaration
2127         * stub-objc.c (objc_non_volatilized_type): New stub.
2129 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2131         Merge from 'apple/trunk' branch on FSF servers.
2133         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2135         Radar 4133425
2136         * c-common.h (objc_diagnose_private_ivar): New decl.
2137         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2139 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2141         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2142         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2143         (objc_ivar_visibility_kind): New enum.
2144         (objc_set_visibility): Adjust prototype to use visibility enum.
2145         * stub-objc.c (objc_set_visibility): Adjust stub to use
2146         visibility enum.
2148 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2150         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2151         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2152         has the appropriate fma builtins.
2153         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2155 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2157         merge from FSF apple 'trunk' branch.
2158         2006 Fariborz Jahanian <fjahanian@apple.com>
2160         Radars 4436866, 4505126, 4506903, 4517826
2161         * c-common.c (c_common_resword): Define @property and its attributes.
2162         * c-common.h: Define property attribute enum entries.
2163         (OBJC_IS_PATTR_KEYWORD): New.
2164         (objc_property_attribute_kind): New enum.
2165         Declare objc_set_property_attr (), objc_add_property_variable (),
2166         objc_build_getter_call () and objc_build_setter_call ().
2167         * stub-objc.c (objc_set_property_attr): New stub.
2168         (objc_add_property_variable): Likewise.
2169         (objc_build_getter_call): Likewise.
2170         (objc_build_setter_call) Likewise.
2172 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2174         merge from FSF apple 'trunk' branch.
2175         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2177         Radar 3803157 (method attributes)
2178         * c-common.c (handle_deprecated_attribute): Recognize
2179         objc methods as valid declarations.
2180         * c-common.h: Declare objc_method_decl ().
2181         * stub-objc.c (objc_method_decl): New stub.
2183 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2185         * c-common.c (parse_optimize_options): Call
2186         decode_cmdline_options_to_array_default_mask before
2187         decode_options.  Update arguments to decode_options.
2188         * c-common.h (c_common_init_options_struct): Declare.
2189         * c-opts.c (c_common_init_options_struct): New.  Split out from
2190         c_common_init_options.
2192 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2194         Implemented fast enumeration for Objective-C.
2195         * c-common.h (objc_finish_foreach_loop): New.
2196         * stub-objc.c (objc_finish_foreach_loop): New.
2198 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2200         * c-common.h (struct diagnostic_context): Don't declare here.
2201         (c_common_initialize_diagnostics): Declare using
2202         diagnostic_context typedef.
2203         * c-opts.c (c_common_handle_option): Pass global_dc to
2204         handle_generated_option.
2206 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2208         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2209         handle_generated_option.
2211 2010-10-03  Ian Lance Taylor  <iant@google.com>
2213         * c.opt (-fplan9-extensions): New option.
2215 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2217         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2218         Remove.
2219         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2220         of duplicating code.
2222 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2224         * c-common.c: Add two new entries for @optional
2225         and @required keywords.
2227         merge from FSF 'apple/trunk' branch.
2228         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2230         Radar 4386773
2231         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2232         objective-c keywords.
2233         (objc_set_method_opt): New declaration.
2234         * stub-objc.c (objc_set_method_opt): New stub.
2236 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2238         * c-common.c (handle_optimize_attribute): Pass &global_options to
2239         cl_optimization_save and cl_optimization_restore.
2240         * c-opts.c (c_common_handle_option): Pass &global_options to
2241         handle_generated_option.
2242         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2243         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2244         &global_options to cl_optimization_restore.
2246 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2248         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2249         Objective-C/Objective-C++ keywords.
2251 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2253         Merge from 'apple/trunk' branch on FSF servers.
2255         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2257         Radar 4281748
2258         * c-common.h (objc_check_global_decl): New declaration.
2259         * stub-objc.c (objc_check_global_decl): New stub.
2261 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2263         * c.opt: Don't use VarExists.
2265 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2267         * c-common.c (c_cpp_error): Update names of diagnostic_context
2268         members.
2269         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2270         cl_optimization members.
2271         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2272         sanitize_cpp_opts, finish_options): Update names of cpp_options
2273         members.
2275 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2277         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2278         (objc_is_reserved_word): Removed.
2279         * c-common.c: Updated comments.
2280         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2281         objc_is_reserved_word.
2282         * stub-objc.c (objc_is_reserved_word): Removed.
2284 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2286         * c-common.h (objc_add_method_declaration): Adjust prototype to
2287         include attributes.
2288         (objc_start_method_definition): Likewise.
2289         (objc_build_keyword_decl): Likewise.
2290         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2291         (objc_start_method_definition): Likewise.
2292         (objc_build_keyword_decl): Likewise.
2294 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2296         * c-common.h (objc_start_class_interface): Adjust prototype.
2297         (objc_start_category_interface): Likewise.
2298         (objc_start_protocol): Likewise.
2299         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2300         (objc_start_class_interface): Likewise.
2301         (objc_start_category_interface): Likewise.
2303 2010-09-27  Ian Lance Taylor  <iant@google.com>
2305         * c-common.c (c_common_attribute_table): Add no_split_stack.
2306         (handle_no_split_stack_attribute): New static function.
2308 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2310         Merge from 'apple/trunk' branch on FSF servers.
2312         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2314         Radar 4229905
2315         * c-common.h (objc_have_common_type): New declaration.
2316         * stub-objc.c (objc_have_common_type): New stub.
2318         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2320         Radar 4154928
2321         * c-common.h (objc_common_type): New prototype.
2322         * stub-objc.c (objc_common_type): New stub.
2324 2010-09-24  Jan Hubicka  <jh@suse.cz>
2326         * c-common.c (handle_leaf_attribute): New function.
2327         (struct attribute_spec c_common_att): Add leaf.
2329 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2331         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2332         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2333         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2334         -include-barrier, -include-directory, -include-directory=,
2335         -include-directory-after, -include-directory-after=,
2336         -include-prefix, -include-prefix=, -include-with-prefix,
2337         -include-with-prefix=, -include-with-prefix-after,
2338         -include-with-prefix-after=, -include-with-prefix-before,
2339         -include-with-prefix-before=, -no-integrated-cpp,
2340         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2341         -output=, -pedantic, -pedantic-errors, -preprocess,
2342         -print-missing-file-dependencies, -trace-includes, -traditional,
2343         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2344         -user-dependencies, -verbose, -write-dependencies,
2345         -write-user-dependencies, no-integrated-cpp, traditional): New.
2347 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2349         PR objc/23710
2350         * c-common.h (objc_start_method_definition): Return bool instead
2351         of void.
2352         * stub-objc.c (objc_start_method_definition): Return bool instead
2353         of void.
2355 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2357         PR objc/25965
2358         * c-common.h (objc_get_interface_ivars): New declaration.
2359         * stub-objc.c (objc_get_interface_ivars): New stub.
2361 2010-09-15  Ian Lance Taylor  <iant@google.com>
2363         * c-common.c (parse_optimize_options): Do not capitalize warning
2364         messages.  Remove period at end of warning message.
2366 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2368         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2369         (handle_alias_attribute): ... here.
2370         (handle_ifunc_attribute): New.
2372 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2374         * c-common.h (do_warn_double_promotion): Declare.
2375         * c-common.c (do_warn_double_promotion): Define.
2377 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2379         * c.opt (Wdouble-promotion): New.
2381 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2383         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2384         fvtable-thunks, fxref): Mark no longer supported in help text.
2386 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2388         * c.opt (Wimport, fall-virtual, falt-external-templates,
2389         fdefault-inline, fenum-int-equiv, fexternal-templates,
2390         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2391         fname-mangling-version-, fnew-abi, fnonnull-objects,
2392         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2393         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2394         applicable.
2395         (fhandle-exceptions): Mark with Alias and Warn.
2396         * c-opts.c (c_common_handle_option): Don't handle options marked
2397         as ignored.
2399 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2401         * c.opt (Wcomments, Werror-implicit-function-declaration,
2402         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2403         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2404         aliases.
2405         * c-common.c (option_codes): Use OPT_Wcomment instead of
2406         OPT_Wcomments.
2407         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2408         Don't handle options marked as aliases.
2410 2010-08-25  Richard Guenther  <rguenther@suse.de>
2412         * c-common.c (c_common_get_alias_set): Remove special
2413         handling for pointers.
2415 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2417         * c-common.c: Use FOR_EACH_VEC_ELT.
2418         * c-gimplify.c: Likewise.
2419         * c-pragma.c: Likewise.
2421 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2423         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2424         RejectDriver.
2425         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2426         RejectDriver.
2427         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2428         instead of OPT_MDX and OPT_MMDX.
2430 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2432         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2434 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2436         * c.opt (MD, MMD): Change to MDX and MMDX.
2437         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2439 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2441         * c-opts.c (c_common_handle_option): Call handle_generated_option
2442         instead of handle_option.
2444 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2446         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2447         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2449 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2451         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2452         (pending_redefine_extname): Change type to a VEC.
2453         (add_to_renaming_pragma_list): Update for new type of
2454         pending_redefine_extname.
2455         (maybe_apply_renaming_pragma): Likewise.
2457 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2459         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2460         visited.
2461         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2462         decide whether a type has already been declared/seen.
2463         Do not go to the original type.
2464         (dump_nested_types): New parameter forward.
2465         Generate forward declaration if needed and mark type as visited.
2466         (print_ada_declaration): Call dump_nested_types if not already done.
2467         Mark types as visited.
2469 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2471         * c.opt (-print-pch-checksum): Remove option.
2472         * c-opts.c (c_common_handle_option): Don't handle
2473         OPT_print_pch_checksum.
2475 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2477         * c-common.h (c_common_handle_option): Update prototype and return
2478         value type.
2479         * c-opts.c (c_common_handle_option): Update prototype and return
2480         value type.  Update calls to handle_option and
2481         enable_warning_as_error.
2483 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2485         PR c/45079
2486         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2488 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2490         * c-common.h (c_common_missing_argument): Remove.
2491         * c-opts.c (c_common_missing_argument): Remove.
2492         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2493         idirafter, imacros, include, isysroot, isystem, iquote): Add
2494         MissingArgError.
2495         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2497 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2499         * c-common.h (c_common_option_lang_mask,
2500         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2501         New.
2502         (c_common_init_options): Update prototype.
2503         * c-opts.c (c_common_option_lang_mask): New.
2504         (c_common_initialize_diagnostics): Split out of
2505         c_common_init_options.
2506         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2507         New.
2508         (c_common_init_options): Update prototype.  Use decoded options in
2509         search for -lang-asm.
2511 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2513         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2514         * c-format.c: Likewise.
2516 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2518         * c-common.h: Include diagnostic-core.h. Error if already
2519         included.
2520         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2522 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2524         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2525         Do not include expr.h
2526         (vector_mode_valid_p): Move here.
2528 2010-06-21  DJ Delorie  <dj@redhat.com>
2530         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2531         allow these pragmas anywhere.
2533 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
2535         PR bootstrap/44509
2536         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2537         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2538         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2539         ggc_strdup instead of xstrdup.
2541 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
2543         * c-cppbuiltin.c: Include cpp-id-data.h.
2544         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2545         (lazy_hex_fp_value): New function.
2546         (builtin_define_with_hex_fp_value): Provide definitions lazily.
2548 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2550         * c-gimplify.c: Do not include tree-flow.h
2552 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
2554         PR other/44034
2555         * c-common.c: Rename targetm member:
2556         targetm.enum_va_list -> targetm.enum_va_list_p
2558 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
2560         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2562 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2564         * c-cppbuiltin.c: Do not include except.h.
2566 2010-06-24  Andi Kleen  <ak@linux.intel.com>
2568         * c-common.c (warn_for_omitted_condop): New.
2569         * c-common.h (warn_for_omitted_condop): Add prototype.
2571 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
2573         * c.opt (lang-objc): Remove.
2574         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2576 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
2578         * c-opts.c: Include "tm_p.h".
2580 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
2582         * c-common.c (parse_optimize_options): Update call to
2583         decode_options.
2585 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
2587         * c-common.c (record_types_used_by_current_var_decl): Adjust for
2588         new type of types_used_by_cur_var_decl.
2590 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
2592         PR bootstrap/44512
2593         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2594         for C++ standard compliance.
2596 2010-06-16  Jason Merrill  <jason@redhat.com>
2598         * c.opt: Add -Wnoexcept.
2600 2010-06-16  Richard Guenther  <rguenther@suse.de>
2602         PR c/44555
2603         * c-common.c (c_common_truthvalue_conversion): Remove
2604         premature and wrong optimization concering ADDR_EXPRs.
2606 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
2608         * c-ada-spec.c (dump_sloc): Remove column info.
2609         (is_simple_enum): New function.
2610         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2611         enum types when relevant.
2613 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2615         * c-common.c (conversion_warning): Warn at expression
2616         location.
2618 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
2620         * c-opts.c (c_common_handle_option): Don't handle
2621         OPT_fshow_column.
2623 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2625         * c-pragma.c (push_alignment): Use typed GC allocation.
2626         (handle_pragma_push_options): Likewise.
2628         * c-common.c (parse_optimize_options): Likewise.
2630         * c-common.h (struct sorted_fields_type): Add variable_size GTY
2631         option.
2633 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
2635         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2636         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2637         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2638         flag_signed_bitfields, warn_strict_null_sentinel,
2639         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2640         flag_gen_declaration, flag_no_gnu_keywords,
2641         flag_implement_inlines, flag_implicit_templates,
2642         flag_implicit_inline_templates, flag_optional_diags,
2643         flag_elide_constructors, flag_default_inline, flag_rtti,
2644         flag_conserve_space, flag_access_control, flag_check_new,
2645         flag_new_for_scope, flag_weak, flag_working_directory,
2646         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2647         flag_enforce_eh_specs, flag_threadsafe_statics,
2648         flag_pretty_templates): Remove.
2649         * c-common.h (flag_preprocess_only, flag_nil_receivers,
2650         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2651         flag_replace_objc_classes, flag_undef, flag_no_builtin,
2652         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2653         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2654         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2655         flag_no_gnu_keywords, flag_implement_inlines,
2656         flag_implicit_templates, flag_implicit_inline_templates,
2657         flag_optional_diags, flag_elide_constructors, flag_default_inline,
2658         flag_rtti, flag_conserve_space, flag_access_control,
2659         flag_check_new, flag_new_for_scope, flag_weak,
2660         flag_working_directory, flag_use_cxa_atexit,
2661         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2662         flag_threadsafe_statics, flag_pretty_templates,
2663         warn_strict_null_sentinel): Remove.
2664         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2665         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2666         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2667         fimplicit-inline-templates, fimplicit-templates,
2668         flax-vector-conversions, fms-extensions, fnil-receivers,
2669         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2670         frtti, fshort-double, fshort-enums, fshort-wchar,
2671         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2672         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2673         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2674         gen-decls, undef): Use Var.
2675         (fdefault-inline, foptional-diags): Document as doing nothing.
2676         * c-opts.c (c_common_handle_option): Remove cases for options now
2677         using Var.  Mark ignored options as such.
2679 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
2681         * c-common.c: Moved to here from parent directory.
2682         * c-common.def: Likewise.
2683         * c-common.h: Likewise.
2684         * c-cppbuiltin.c: Likewise.
2685         * c-dump.c: Likewise.
2686         * c-format.c: Likewise.
2687         * c-format.h : Likewise.
2688         * c-gimplify.c: Likewise.
2689         * c-lex.c: Likewise.
2690         * c-omp.c: Likewise.
2691         * c.opt: Likewise.
2692         * c-opts.c: Likewise.
2693         * c-pch.c: Likewise.
2694         * c-ppoutput.c: Likewise.
2695         * c-pragma.c: Likewise.
2696         * c-pragma.h: Likewise.
2697         * c-pretty-print.c: Likewise.
2698         * c-pretty-print.h: Likewise.
2699         * c-semantics.c: Likewise.
2700         * stub-objc.c: Likewise.
2702         * c-common.c: Include gt-c-family-c-common.h.
2703         * c-pragma.c: Include gt-c-family-c-pragma.h.
2705 Copyright (C) 2010-2013 Free Software Foundation, Inc.
2707 Copying and distribution of this file, with or without modification,
2708 are permitted in any medium without royalty provided the copyright
2709 notice and this notice are preserved.