c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.
[official-gcc.git] / gcc / c-family / ChangeLog
blobffac4dd07aaf47f2c99bded06a037491d572473f
1 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4         member function.
5         (pp_constant): Adjust.
6         (pp_c_constant): Remove.
7         * c-pretty-print.c (c_pretty_printer::constant): Rename from
8         pp_c_constant.  Adjust.
9         (pp_c_constant)
10         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
11         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
13 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
16         (c_pretty_printer::c_pretty_printer): Declare.
17         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
18         c_pretty_printer_init.  Adjust.
19         (print_c_tree): Do not call c_pretty_printer_init.
20         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
22 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
24         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
26 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
28         PR c++/58080
29         * c-common.c (pointer_int_sum): Add bool parameter.
30         * c-common.h (pointer_int_sum): Adjust declaration.
32 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
34         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
35         c_pretty_printer variable.
37 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
39         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
40         (pp_base): Remove.
41         (pp_c_base): Likewise.  Adjust users.
42         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
43         (pp_c_whitespace): Do not call pp_base.
44         (pp_c_left_paren): Likewise.
45         (pp_c_right_paren): Likewise.
46         (pp_c_left_brace): Likewise.
47         (pp_c_right_brace): Likewise.
48         (pp_c_left_bracket): Likewise.
49         (pp_c_right_bracket): Likewise.
50         (pp_c_dot): Likewise.
51         (pp_c_ampersand): Likewise.
52         (pp_c_star): Likewise.
53         (pp_c_arrow): Likewise.
54         (pp_c_semicolon): Likewise.
55         (pp_c_complement): Likewise.
56         (pp_c_exclamation): Likewise.
57         (pp_c_direct_declarator): Likewise.
58         (pp_c_ws_string): Likewise.
59         (pp_c_identifier): Likewise.
60         (pp_c_statement): Likewise.
61         (print_c_tree): Likewise.
63 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
65         PR c++/58072
66         * c-common.c (c_parse_error): Catch user-defined literal tokens and
67         provide useful error strings.
69 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
71         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
72         printer functions instead of pp_string or operators and punctuators.
73         (dump_generic_ada_node): Likewise.
74         * c-pretty-print.c (pp_c_type_specifier): Likewise.
75         (pp_c_relational_expression): Likewise.
76         (pp_c_logical_or_expression): Likewise.
78 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
80         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
81         functions instead of pp_character.
82         (pp_ada_tree_identifier): Likewise.
83         (dump_ada_double_name): Likewise.
84         (dump_ada_function_declaration): Likewise.
85         (dump_ada_array_domains): Likewise.
86         (dump_template_types): Likewise.
87         (dump_generic_ada_node): Likewise.
88         (print_ada_declaration): Likewise.
89         (print_ada_struct_decl): Likewise.
90         * c-pretty-print.c (pp_c_integer_constant): Likewise.
92 2013-07-23  Tom Tromey  <tromey@redhat.com>
94         * c-common.h (enum rid) <RID_GENERIC>: New constant.
95         * c-common.c (c_common_reswords): Add _Generic.
97 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
99         * c-common.c: Fix typos.
100         * c-common.h: Likewise.
102 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
104         PR c++/55203
105         * c-common.c (c_common_attribute_table): Add warn_unused.
106         (handle_warn_unused_attribute): New.
108 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
110         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
111         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
113 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
115         PR c++/57869
116         * c.opt: Add Wconditionally-supported.
118 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
120         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
121         unused variables l_length and l_node.
123 2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>
125         PR c/57821
126         * c-common.c (complete_array_type): Delay folding first index
127         like other indices.  When folding, check for index overflow.
129 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
131         PR c++/57509
132         * c-common.h (c_build_vec_perm_expr): New complain argument.
133         * c-common.c (c_build_vec_perm_expr): Likewise.
134         Use save_expr also in C++.
136 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
138         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
139         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
140         * c-opts.c (c_common_post_options): Likewise.
142 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
144         * array-notation-common.c (length_mismatch_in_expr): Changed the
145         parameter type's from a dynamic array to a vec_tree.  Also removed
146         the size parameters.
147         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
148         the change above.
150 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
152         * c-common.h (struct cilkplus_an_parts): New structure.
153         (struct cilkplus_an_loop_parts): Likewise.
154         (cilkplus_extract_an_triplets): New prototype.
155         (fix_sec_implicit_args): Likewise.
156         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
157         (fix_sec_implicit_args): Likewise.
159 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
161         * array-notation-common.c (find_inv_trees): Removed an unwanted
162         typecasting.
163         * c-common.h (struct inv_list::additional_tcodes): Changed type from
164         enum rid to enum tree_code.
166 2013-06-11  Jan Hubicka  <jh@suse.cz>
168         * c-common.c (handle_alias_ifunc_attribute): Do not set
169         DECL_EXTERNAL for weakref variables.
170         * c-pragma.c (handle_pragma_weak): Make sure aliases
171         are not declared as external.
173 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
175         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
176         function from c/c-array-notation.c.
177         (is_cilkplus_reduce_builtin): Likewise.
178         (find_rank): Likewise.
179         (extract_array_notation_exprs): Likewise.
180         (replace_array_notations): Likewise.
181         (find_inv_trees): Likewise.
182         (replace_inv_trees): Likewise.
183         (contains_array_notation_expr): Likewise.
184         (find_correct_array_notation_type): Likewise.
185         * c-common.h (struct inv_list): Moved this struct from the file
186         c/c-array-notation.c and added a new field called additional tcodes.
187         (length_mismatch_in_expr_p): New prototype.
188         (is_cilkplus_reduce_builtin): Likewise.
189         (find_rank): Likewise.
190         (extract_array_notation_exprs): Likewise.
191         (replace_array_notation): Likewise.
192         (find_inv_trees): Likewise.
193         (replace_inv_trees): Likewise.
194         (find_correct_array_notation_type): Likewise.
196 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
198         * c-common.c (c_define_builtins): When cilkplus is enabled, the
199         function array_notation_init_builtins is called.
200         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
201         * c-common.def (ARRAY_NOTATION_REF): New tree.
202         * c-common.h (build_array_notation_expr): New function declaration.
203         (build_array_notation_ref): Likewise.
204         (extract_sec_implicit_index_arg): New extern declaration.
205         (is_sec_implicit_index_fn): Likewise.
206         (ARRAY_NOTATION_CHECK): New define.
207         (ARRAY_NOTATION_ARRAY): Likewise.
208         (ARRAY_NOTATION_START): Likewise.
209         (ARRAY_NOTATION_LENGTH): Likewise.
210         (ARRAY_NOTATION_STRIDE): Likewise.
211         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
212         ARRAY_NOTATION_REF.
213         (pp_c_expression): Likewise.
214         * c.opt (flag_enable_cilkplus): New flag.
215         * array-notation-common.c: New file.
217 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
219         PR c++/57274
220         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
222 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
224         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
225         vectors.
227 2013-05-07  Han Shen  <shenhan@google.com>
229         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
231 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
233         * c-common.c (check_user_alignment): Emit error for negative values.
235 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
237         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
239 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
241         * c-cppbuiltin.c (c_cpp_builtins): Do not define
242         __GXX_EXPERIMENTAL_CXX1Y__.
244 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
245             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
247         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
248         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
249         to simply use OPT_Wpointer_arith.
250         (c_sizeof_or_alignof_type): Likewise.
252 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
254         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
256 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
258         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
259         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
260         specifiers.
262 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
264         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
266 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
268         * c-common.c (pointer_int_sum): Remove dead code.
270 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
272         PR middle-end/56524
273         * c-common.c (handle_optimize_attribute): Don't call
274         save_optabs_if_changed.
276 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
278         PR middle-end/56461
279         * c-pch.c (pch_init): Free target_validity at the end.
281 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
283         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
285 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
286             Jakub Jelinek  <jakub@redhat.com>
288         PR sanitizer/56454
289         * c-common.c (handle_no_sanitize_address_attribute): New function.
290         (c_common_attribute_table): Add no_sanitize_address attribute.
291         (handle_no_address_safety_analysis_attribute): Add
292         no_sanitize_address attribute, not no_address_safety_analysis
293         attribute.
295 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
297         PR target/52555
298         * c-common.c (handle_optimize_attribute): Call
299         save_optabs_if_changed.
301 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
302             Steven Bosscher  <steven@gcc.gnu.org>
304         PR pch/54117
305         * c-opts.c (c_common_post_options): If debug info is enabled
306         and non-dwarf*, refuse to load PCH files and when writing PCH
307         file warn.
309 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
311         PR middle-end/56167
312         * c-common.c (handle_error_attribute): Fix condition.
314 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
316         PR c++/55742
317         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
319 2013-01-18  Jason Merrill  <jason@redhat.com>
321         PR target/54908
322         * c.opt (-fextern-tls-init): New.
323         * c-opts.c (c_common_post_options): Handle it.
325 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
327         PR c/48418
328         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
329         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
330         and is either negative or bigger or equal to type precision
331         of the first operand.
333 2012-12-03  Marek Polacek  <polacek@redhat.com>
335         PR c/55570
336         * c-common.c (check_user_alignment): Swap order of tests,
337         check TREE_CODE first.
339 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
341         PR c++/52654
342         * c-common.h (overflow_type): New enum.
343         (build_userdef_literal): Add overflow_type argument.
344         (tree_userdef_literal): Add overflow_type.
345         (USERDEF_LITERAL_OVERFLOW): New access macro.
346         * c-common.c (build_userdef_literal): Add overflow_type
347         argument.
348         * c-lex.c (c_lex_with_flags): Add overflow_type to
349         build_userdef_literal calls.
350         (interpret_integer, interpret_float): Add overflow_type argument.
352 2012-11-28  Richard Biener  <rguenther@suse.de>
354         PR c/35634
355         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
356         here and use a type with proper overflow behavior for types that would
357         need to be promoted for the arithmetic.
359 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
361         PR sanitizer/55435
362         * c-common.c (handle_no_address_safety_analysis_attribute): New
363         function.
364         (c_common_attribute_table): Add no_address_safety_analysis.
366 2012-11-16  Simon Baldwin  <simonb@google.com>
368         * c.opt: Add f[no-]canonical-system-headers.
369         * c-opts.c (c_common_handle_option): Handle
370         OPT_fcanonical_system_headers.
372 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
374         PR c++/54413
375         * c-opts.c (c_common_handle_option): Set new flags.
376         * c.opt: Describe new flags.
378 2012-11-09  Jason Merrill  <jason@redhat.com>
380         * c.opt (Wabi-tag): New.
382 2012-11-09  Andi Kleen  <ak@linux.intel.com>
384         PR 55139
385         * c-common.c (get_atomic_generic_size): Mask with
386         MEMMODEL_MASK
388 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
390         PR c/53063
391         * c.opt (Wformat): Make it Alias Wformat=1.
392         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
393         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
394         LangEnabledBy.
395         (Wformat=): RejectNegative. Use LangEnabledBy.
396         (Wnonnull): Use LangEnabledBy.
397         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
398         * c-format.c (set_Wformat): Delete.
399         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
400         (maybe_read_dollar_number):  Likewise.
401         (avoid_dollar_number):  Likewise.
402         (finish_dollar_format_checking):  Likewise.
403         (check_format_info):  Likewise.
404         (check_format_info_main):  Likewise.
405         (check_format_types):  Likewise.
406         (format_type_warning):  Likewise.
407         * c-common.c (int):  Likewise.
408         (check_function_sentinel):  Likewise.
409         * c-common.h (warn_format,set_Wformat): Do not declare here.
411 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
413         PR c/53063
414         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
415         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
416         Use LangEnabledBy.
417         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
418         common.opt.
419         (Wvariadic-macros): Init(1).
420         * c-opts.c (c_common_handle_option): Do not handle them
421         explicitly.
422         (c_common_post_options): Likewise.
423         (sanitize_cpp_opts): warn_unused_macros is now
424         cpp_warn_unused_macros.
425         (push_command_line_include): Likewise.
426         * c-common.c (warn_unknown_pragmas): Do not define.
427         * c-common.h (warn_unknown_pragmas): Do not declare.
429 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
431         PR c/51294
432         * c-common.c (conversion_warning): Handle conditional expressions.
434 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
436         PR c++/54930
437         * c.opt (Wreturn_local_addr): Define new option.
439 2012-10-25  Jason Merrill  <jason@redhat.com>
441         * c.opt (Wvirtual-move-assign): New.
443         * c.opt (Winherited-variadic-ctor): New.
445 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
447         PR c++/54427
448         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
450 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
452         * c-common.h (pch_cpp_save_state): Declare.
453         * c-target.def (c_preinclude): New hook.
454         * c-opts.c (done_preinclude): New.
455         (push_command_line_include): Handle default preincluded header.
456         (cb_file_change): Call pch_cpp_save_state when calling
457         push_command_line_include.
458         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
459         (pch_cpp_save_state): New.
460         (pch_init): Call pch_cpp_save_state conditionally, instead of
461         calling cpp_save_state.
463 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
465         PR c/53063
466         PR c/40989
467         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
468         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
469         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
470         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
471         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
472         * c-opts.c (c_common_handle_option): Remove explicit handling from
473         here.
474         (c_common_post_options): Likewise.
476 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
478         * c-ada-spec.c (LOCATION_COL): Delete.
479         (compare_location): New function.
480         (compare_node): Use it.
481         (compare_comment): Likewise.
483 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
485         PR c/53063
486         PR c/40989
487         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
488         * c-opts.c (c_common_handle_option): Do not set them here. Add
489         comment.
490         (c_common_post_options): Likewise.
492 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
494         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
495         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
496         Remove POINTER_TYPE handling, add large unsigned handling and use
497         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
499 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
501         PR c/54381
502         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
503         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
504         locs and array of 3 trees instead of just single loc and single
505         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
506         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
507         For *cmp* builtins that take two sources strings report warnings
508         about first and second source, not about destination and source.
510 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
512         PR c++/53055
513         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
515 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
517         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
518         declaring something coming from another file.
520 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
522         PR ada/54845
523         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
525 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
527         PR c++/54194
528         * c-common.c (warn_about_parentheses): Add location_t parameter;
529         use EXPR_LOC_OR_LOC.
530         * c-common.h: Update declaration.
532 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
534         PR c++/54427
535         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
536         more operations. Make error messages optional.
537         * c-common.h (enum stv_conv): Moved from c-typeck.c.
538         (scalar_to_vector): Declare.
540 2012-10-08  Jason Merrill  <jason@redhat.com>
542         * c-common.c (c_common_reswords): Add thread_local.
544 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
546         PR c++/53528 C++11 attribute support
547         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
548         new functions.
549         * c-common.c (check_cxx_fundamental_alignment_constraints): New
550         static function.
551         (handle_aligned_attribute): In choose strictest alignment
552         among many.  Use new check_cxx_fundamental_alignment_constraints.
553         (handle_transparent_union_attribute): In c++11 attribute syntax,
554         don't look through typedefs.
556 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
558         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
559         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
560         out of dumpfile.h.
562 2012-09-25  Dehao Chen  <dehao@google.com>
564         PR middle-end/54645
565         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
566         map when read in the pch.
568 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
570         * c-ada-spec.c: Style fixes.
572 2012-09-18 Thomas Quinot  <quinot@adacore.com>
574         * c.opt (-fada-spec-parent): Define new command line switch.
575         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
576         is specified, generate binding spec as a child of the specified unit.
578 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
579             Manuel López-Ibáñez  <manu@gcc.gnu.org>
581         PR c++/53210
582         * c.opt ([Winit-self]): Enabled by -Wall in C++.
584 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
586         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
587         for pointers, and add missing Convention C pragma.
588         (print_ada_struct_decl): Add missing aliased keyword.
589         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
591 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
593         * c-common.c (sizeof_pointer_memaccess_warning): New function.
594         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
595         * c-opts.c (c_common_handle_option): Enable it for -Wall.
596         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
597         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
599 2012-08-10  Richard Guenther  <rguenther@suse.de>
601         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
603 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
605         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
606         instead of separate pp_newline and pp_flush.
607         (print_c_tree): Likewise.
609 2012-07-26  Richard Henderson  <rth@redhat.com>
611         * c-common.c (handle_hot_attribute): Allow labels.
612         (handle_cold_attribute): Likewise.
614 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
616         PR c++/28656
617         * c-common.c (check_function_nonnull): Handle multiple nonnull
618         attributes properly.
620 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
622         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
623         * c-ada-spec.c: Likewise.
624         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
626 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
628         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
629         Remove code conditional on it.
631 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
633         * c-gimplify.c: Do not include basic-block.h.
634         * c-common.c: Do not include linfuncs.h.
636 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
638         * c-common.h: Include tree.h.
640 2012-07-02  Jason Merrill  <jason@redhat.com>
642         PR c++/53524
643         * c-common.c (get_priority): Call default_conversion.
645 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
647         * c-pch.c (c_common_write_pch): Remove unused variables.
649 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
651         * cppspec.c: Moved from gcc/ to here.
653 2012-06-27  Kai Tietz  <ktietz@redhat.com>
655         PR preprocessor/37215
656         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
658 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
660         * c-common.h (c_common_print_pch_checksum): Remove.
661         * c-pch.c: Do not include output.h.
662         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
663         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
664         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
665         (struct c_pch_header): Remove.
666         (get_ident): Update gpch version.
667         (pch_init): Do not print executable_checksum to asm_out_file.
668         Do not fail if there is no asm_out_file to read back from.  Set
669         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
670         (c_common_write_pch): Verify that nothing was written to asm_out_file
671         since pch_init was called.  Do not write a c_pch_header, and do not
672         copy from asm_out_file to the PCH.
673         (c_common_read_pch): Do not read a c_pch_header, and do not restore
674         the content of asm_out_file from the PCH.
675         (c_common_print_pch_checksum): Remove.
676         * c-opts.c (c_common_init): Print out executable_checksum directly.
678 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
680         * c-target.def (objc_declare_unresolved_class_reference,
681         objc_declare_class_definition): Add new hooks.
683 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
685         * c-lex.c: Do not include output.h.
686         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
687         Remove uses of ASM_OUTPUT_IDENT.
689 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
691         PR c++/51033
692         * c-common.h (c_build_vec_perm_expr): Move decl here.
693         * c-common.c (c_build_vec_perm_expr): Move definition
694         here.
696 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
698         * c.opt (fconserve-space): Turn into a no-op.
700 2012-06-04  Sterling Augustine  <saugustine@google.com>
702         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
703         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
704         both the start and end of the function.
706 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
708         * c-common.c: Do not include output.h.
709         * c-pragma.c: Likewise.
711 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
713         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
714         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
715         (lang_decl_name): Handle namespace decls.
717 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
719         * c-ada-spec.c: Do not include output.h.
720         * c-semantics.c: Likewise.
722 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
724         * c-common.c: Fix typo.
726 2012-05-29  Michael Matz  <matz@suse.de>
728         * c-common.h (c_expand_decl): Remove prototype.
730 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
732         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
733         * c-opts.c (c_common_handle_option): Remove code handling
734         warn_missing_braces.
736 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
738         PR c++/25137
739         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
740         -Wmissing_braces.
742 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
744         PR c++/53322
745         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
747 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
749         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
750         * c-opts.c (c_common_handle_option): Do not handle explicitly
751         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
753 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
755         PR preprocessor/7263
756         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
757         to cpp_classify_number.  For diagnostics, use the precise location
758         instead of the global input_location.
760 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
762         PR c++/11856
763         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
765 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
767         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
769 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
771         PR 53063
772         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
773         Wreorder): Use LangEnabledBy.
774         * c-opts.c (c_common_handle_option): Do not enable them
775         explicitly. Call lang-specific generated functions.
776         (c_common_post_options): Do not set them here.
778 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
780         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
781         Wmissing-field-initializers,Wmissing-parameter-type,
782         Wold-style-declaration,Woverride-init): Use EnabledBy.
783         * c-opts.c (c_common_post_options): Do not set here explicitly.
785 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
787         PR 53063
788         * c-opts.c (c_common_handle_option): Use handle_generated_option
789         to enable sub-options.
791 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
793         PR c++/53158
794         * c-common.c (warnings_for_convert_and_check): Use warning_at.
796 2012-05-10  Richard Guenther  <rguenther@suse.de>
798         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
799         adjust commentary about TYPE_IS_SIZETYPE types.
801 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
803         PR c++/53261
804         * c-common.c (warn_logical_operator): Check that argument of
805         integer_zerop is not NULL.
807 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
809         PR c/43772
810         * c-common.c (warn_logical_operator): Do not warn if either side
811         is already true or false.
813 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
815         PR c/51712
816         * c-common.c (expr_original_type): New.
817         (shorten_compare): Do not warn for enumeration types.
819 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
821         * c.opt (fpermissive): Add Var(flag_permissive).
823 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
825         PR c++/51033
826         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
827         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
829 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
831         Add -Wvarargs option
832         * c.opt (Wvarargs):  Define new option.
834 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
836         * c-common.c (check_function_arguments): Replace
837         Wmissing-format-attribute with Wsuggest-attribute=format.
839 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
841         * c.opt (Wsuggest-attribute=format): New. Alias of
842         Wmissing-format-attribute.
843         * c-format.c (decode_format_type): Replace
844         Wmissing-format-attribute with Wsuggest-attribute=format.
845         (check_function_format): Likewise.
847 2012-04-27  Ollie Wild  <aaw@google.com>
849         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
850         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
851         * c.opt: Add Wliteral-suffix.
853 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
855         PR c/44774
856         * c.opt (Wpedantic): New.
857         (pedantic): Alias Wpedantic.
858         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
859         (c_common_post_options): Likewise.
860         (sanitize_cpp_opts): Likewise.
861         * c-lex.c (interpret_float): Likewise.
862         * c-format.c (check_format_types): Likewise.
863         * c-common.c (pointer_int_sum): Likewise.
864         (c_sizeof_or_alignof_type): Likewise.
865         (c_add_case_label): Likewise.
866         (c_do_switch_warnings): Likewise.
867         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
869 2012-04-15  Jason Merrill  <jason@redhat.com>
871         PR c++/52818
872         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
873         (C_STD_NAME): Distinguish between C++98 and C++11.
875 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
877         PR target/52624
878         * c-common.h (uint16_type_node): Rename into...
879         (c_uint16_type_node): ...this.
880         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
881         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
883 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
885         * c-common.c (warn_if_unused_value): Move definition to here.
886         * c-common.h (warn_if_unused_value): Move declaration to here.
888 2012-03-23  William Bader  <williambader@hotmail.com>
890         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
892 2012-03-20  Jason Merrill  <jason@redhat.com>
894         * c-common.h (enum cxx_dialect): Add cxx1y.
895         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
896         test.
897         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
898         * c-opts.c (c_common_post_options): Likewise.
899         (set_std_cxx1y): New.
900         (c_common_handle_option): Call it.
901         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
903 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
905         PR c++/14710
906         * c.opt ([Wuseless-cast]): Add.
908 2012-03-16  Richard Guenther  <rguenther@suse.de>
910         * c-pretty-print.c (pp_c_initializer_list): Adjust.
912 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
914         PR c++/44783
915         * c.opt (ftemplate-backtrace-limit) Add.
917 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
919         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
920         handling.
921         * c-pragma.c (handle_pragma_extern_prefix): Remove.
922         (init_pragma): Don't register extern_prefix.
924 2012-03-12  Richard Guenther  <rguenther@suse.de>
926         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
927         (builtin_type_for_size): Likewise.
929 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
931         PR c++/52215
932         * c-common.c (sync_resolve_params): Don't decide whether to convert
933         or not based on TYPE_SIZE comparison, convert whenever arg_type
934         is unsigned INTEGER_TYPE.
936 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
938         PR c/52118
939         * c.opt ([Wunused-local-typedefs]): Fix description.
941 2012-01-24  Mike Stump  <mikestump@comcast.net>
943         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
944         exactly.
946 2012-01-18  Richard Guenther  <rguenther@suse.de>
948         * c-opts.c (c_common_post_options): Reset LTO flags if
949         we are about to generate a PCH.
951 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
953         PR c++/51777
954         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
955         use pp_unsigned_wide_integer.
957 2012-01-10  Richard Guenther  <rguenther@suse.de>
959         PR middle-end/51806
960         * c-opts.c (c_common_handle_option): Move -Werror handling
961         to language independent code.
963 2012-01-05  Richard Guenther  <rguenther@suse.de>
965         PR middle-end/51764
966         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
967         from common.opt.
969 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
971         PR c++/51316
972         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
973         of array types with an unknown bound.
975 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
977         * c-common.c (flag_isoc99): Update comment to refer to C11.
978         (flag_isoc1x): Change to flag_isoc11.
979         * c-common.h (flag_isoc99): Update comment to refer to C11.
980         (flag_isoc1x): Change to flag_isoc11.
981         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
982         C11.
983         * c-opts.c (set_std_c1x): Change to set_std_c11.
984         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
985         Call set_std_c11.
986         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
987         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
988         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
989         standard.
990         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
991         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
992         (std=gnu1x): Make alias of std=gnu11.
994 2011-12-19  Jason Merrill  <jason@redhat.com>
996         PR c++/51228
997         * c-common.c (handle_transparent_union_attribute): Check the first
998         field if the type is complete.
1000 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1002         PR libstdc++/51365
1003         * c-common.c (RID_IS_FINAL): Add.
1004         * c-common.h (RID_IS_FINAL): Add.
1006 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
1008         * c.opt (fgnu-runtime): Provide full description.
1009         (fnext-runtime): Likewise.
1010         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1012 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
1014         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
1015         predefines in one place.  Add LOCK_FREE predefines.
1016         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1017         new func.
1019 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
1021         PR c/51256
1022         * c-common.c (get_atomic_generic_size): Check for various error
1023         conditions
1024         (resolve_overloaded_atomic_exchange,
1025         resolve_overloaded_atomic_compare_exchange,
1026         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1027         error_mark_node for error conditions.
1029 2011-11-08  Richard Guenther  <rguenther@suse.de>
1031         PR middle-end/51010
1032         c-family/
1034 2011-11-07  Richard Henderson  <rth@redhat.com>
1035             Aldy Hernandez  <aldyh@redhat.com>
1036             Torvald Riegel  <triegel@redhat.com>
1038         Merged from transactional-memory.
1040         * c-common.c (handle_tm_wrap_attribute,
1041         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1042         (struct c_common_reswords): Added __transaction* keywords.
1043         (struct c_common_attribute_table): Added transaction* and tm_regparm
1044         attributes.
1045         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1046         masks.
1047         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1048         find_tm_attribute): Declare.
1050 2011-11-07  Jason Merrill  <jason@redhat.com>
1052         PR c++/35688
1053         * c-common.c, c-common.h: Revert yesterday's changes.
1055 2011-11-06  Jason Merrill  <jason@redhat.com>
1057         PR c++/35688
1058         * c-common.c (decl_has_visibility_attr): Split out from...
1059         (c_determine_visibility): ...here.
1060         * c-common.h: Declare it.
1062 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1064         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1065         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1066         type.
1067         (check_user_alignment): New.  Split out of
1068         handle_aligned_attribute.  Disallow integer constants with
1069         noninteger types.  Conditionally allow zero.
1070         (handle_aligned_attribute): Use check_user_alignment.
1071         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1073 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1074             Richard Henderson  <rth@redhat.com>
1076         Merged from cxx-mem-model.
1078         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1079         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1080         parameters that are the same type size.
1081         (get_atomic_generic_size): New.  Find size of generic
1082         atomic function parameters and do typechecking.
1083         (add_atomic_size_parameter): New.  Insert size into parameter list.
1084         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1085         either __atomic_exchange_n or external library call.
1086         (resolve_overloaded_atomic_compare_exchange): Restructure
1087         __atomic_compare_exchange to either _n variant or external library call.
1088         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1089         __atomic_load_n or an external library call.
1090         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1091         __atomic_store_n or an external library call.
1092         (resolve_overloaded_builtin): Handle new __atomic builtins.
1094 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1096         PR c++/50608
1097         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1098         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
1099         <INDIRECT_REF>: Return the argument.
1100         <ARRAY_REF>: Remove special code for negative offset.
1101         Call fold_build_pointer_plus instead of size_binop.
1102         (fold_offsetof): Remove STOP_REF argument and adjust.
1103         * c-common.h (fold_offsetof_1): Declare.
1104         (fold_offsetof): Remove STOP_REF argument.
1106 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
1108         PR c++/50810
1109         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1110         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1111         Wnarrowing for C++0x and C++98.
1112         * c.opt ([Wnarrowing]): Update.
1114 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1116         PR c++/44277
1117         * c.opt: Add Wzero-as-null-pointer-constant.
1119 2011-10-31  Jason Merrill  <jason@redhat.com>
1121         * c.opt (-fdeduce-init-list): Off by default.
1123         PR c++/50920
1124         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1125         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1126         and -Wc++11-compat.
1127         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1129 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1131         PR c++/30066
1132         * c.opt (fvisibility-inlines-hidden): Description change.
1134 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1136         Implement C++11 user-defined literals.
1137         * c-common.c (build_userdef_literal): New.
1138         * c-common.def: New tree code.
1139         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1140         * c-lex.c (interpret_float): Add suffix parm.
1141         (c_lex_with_flags): Build literal tokens.
1143 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1145         PR c++/50841
1146         Revert:
1147         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1149         PR c++/50810
1150         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1151         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1152         Wnarrowing for C++0x and C++98.
1153         * c.opt ([Wnarrowing]): Update.
1155 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1157         PR c++/50810
1158         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1159         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1160         Wnarrowing for C++0x and C++98.
1161         * c.opt ([Wnarrowing]): Update.
1163 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1165         PR c++/45385
1166         * c-common.c (conversion_warning): Remove code looking for
1167         artificial operands.
1169 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1171         PR bootstrap/50760
1172         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1173         !NO_IMPLICIT_EXTERN_C.
1175 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1177         * c-common.c (c_common_reswords): Add __bases,
1178         __direct_bases.
1179         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1181 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1183         PR c++/50757
1184         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1186 2011-10-15  Tom Tromey  <tromey@redhat.com>
1187             Dodji Seketeli  <dodji@redhat.com>
1189         * c.opt (fdebug-cpp): New option.
1190         * c-opts.c (c_common_handle_option): Handle the option.
1191         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1192         output stream in parameter. Factorized from ...
1193         (maybe_print_line): ... this. Dump location debug information when
1194         -fdebug-cpp is in effect.
1195         (print_line_1): New static function. Takes an output stream in
1196         parameter. Factorized from ...
1197         (print_line): ... here. Dump location information when -fdebug-cpp
1198         is in effect.
1199         (scan_translation_unit): Dump location information when
1200         -fdebug-cpp is in effect.
1202 2011-10-15  Tom Tromey  <tromey@redhat.com>
1203             Dodji Seketeli  <dodji@redhat.com>
1205         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1206         without argument.
1207         * c-opts.c (c_common_handle_option)<case
1208         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1209         cases. Handle -ftrack-macro-expansion with and without argument.
1211 2011-10-15  Tom Tromey  <tromey@redhat.com>
1212             Dodji Seketeli  <dodji@redhat.com>
1214         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1215         (print_line, cb_define, do_line_change): Adjust to avoid touching
1216         the internals of struct line_map.  Use the public API instead.
1217         * c-pch.c (c_common_read_pch): Likewise.
1218         * c-lex.c (fe_file_change): Likewise.
1220 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1222         PR c++/17212
1223         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1225 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1227         PR c++/33067
1228         * c-pretty-print.c (pp_c_floating_constant): Output
1229         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1231 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1233         * c-common.c (def_builtin_1): Delete old interface with two
1234         parallel arrays to hold standard builtin declarations, and replace
1235         it with a function based interface that can support creating
1236         builtins on the fly in the future.  Change all uses, and poison
1237         the old names.  Make sure 0 is not a legitimate builtin index.
1238         * c-omp.c (c_finish_omp_barrier): Ditto.
1239         (c_finish_omp_taskwait): Ditto.
1240         (c_finish_omp_flush): Ditto.
1242 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1244         * c.opt: (fallow-parameterless-variadic-functions): New.
1246 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1248         PR c++/33255 - Support -Wunused-local-typedefs warning
1249         * c-common.h (struct c_language_function::local_typedefs): New
1250         field.
1251         (record_locally_defined_typedef, maybe_record_typedef_use)
1252         (maybe_warn_unused_local_typedefs): Declare new functions.
1253         * c-common.c (record_locally_defined_typedef)
1254         (maybe_record_typedef_use)
1255         (maybe_warn_unused_local_typedefs): Define new functions.
1256         * c.opt: Declare new -Wunused-local-typedefs flag.
1258 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1260         PR middle-end/50266
1261         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1262         computations.
1264 2011-09-05  Richard Guenther  <rguenther@suse.de>
1266         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1267         of integer_minus_one_node for empty array upper bounds.
1269 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1271         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1272         it's the first time it's being called on this main TU.
1274 2011-08-24  Richard Guenther  <rguenther@suse.de>
1276         PR c/49396
1277         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1279 2011-08-22  Gabriel Charette  <gchare@google.com>
1281         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1282         defined in cpp_init_builtins and c_cpp_builtins.
1284 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1286         * c-common.c (c_common_reswords): Add __builtin_complex.
1287         * c-common.h (RID_BUILTIN_COMPLEX): New.
1289 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1291         * c-common.c (c_common_reswords): Add _Noreturn.
1292         (keyword_is_function_specifier): Handle RID_NORETURN.
1293         * c-common.h (RID_NORETURN): New.
1295 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1297         * c-common.c (unsafe_conversion_p): New function. Check if it is
1298         unsafe to convert an expression to the type.
1299         (conversion_warning): Adjust, use unsafe_conversion_p.
1300         * c-common.h (unsafe_conversion_p): New function declaration.
1302 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1304         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1305         (c_finish_omp_taskyield): New prototype.
1306         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1307         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1308         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1309         or RHS1 have side-effects, evaluate those too in the right spot,
1310         if it is a decl and LHS is also a decl, error out if they
1311         aren't the same.
1312         (c_finish_omp_taskyield): New function.
1313         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1314         * c-pragma.c (omp_pragmas): Add taskyield.
1315         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1316         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1317         PRAGMA_OMP_CLAUSE_MERGEABLE.
1319 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1321         * c-common.h (set_underlying_type): Remove parm name from
1322         declaration.
1324 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1326         * c-pretty-print.h: Search c-common.h in c-family.
1328 2011-07-22  Jason Merrill  <jason@redhat.com>
1330         PR c++/49793
1331         * c.opt (Wnarrowing): New.
1333         PR c++/30112
1334         * c-common.h: Declare c_linkage_bindings.
1335         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1337         PR c++/49813
1338         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1339         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1340         as flag_isoc99 for 'restrict'.
1341         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1343 2011-07-21  Ian Lance Taylor  <iant@google.com>
1345         PR middle-end/49705
1346         * c-common.c (c_disable_warnings): New static function.
1347         (c_enable_warnings): New static function.
1348         (c_fully_fold_internal): Change local unused_p to bool.  Call
1349         c_disable_warnings and c_enable_warnings rather than change
1350         c_inhibit_evaluation_warnings.
1352 2011-07-20  Jason Merrill  <jason@redhat.com>
1354         PR c++/6709 (DR 743)
1355         PR c++/42603 (DR 950)
1356         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1357         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1358         (CPP_DECLTYPE): New.
1359         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1361 2011-07-19  Richard Guenther  <rguenther@suse.de>
1363         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1364         * c-omp.c (c_finish_omp_for): Likewise.
1366 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1368         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1369         body on the next line.
1371 2011-07-08  Jason Merrill  <jason@redhat.com>
1373         PR c++/45437
1374         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1376         PR c++/49673
1377         * c-common.c (c_apply_type_quals_to_decl): Don't check
1378         TYPE_NEEDS_CONSTRUCTING.
1380 2011-07-06  Richard Guenther  <rguenther@suse.de>
1382         * c-common.c (c_common_nodes_and_builtins):
1383         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1385 2011-07-05  Richard Guenther  <rguenther@suse.de>
1387         * c-common.c (c_common_nodes_and_builtins): Build all common
1388         tree nodes first.
1390 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1392         * c-common.h (c_tree_chain_next): New static inline function.
1394         * c-common.c (check_builtin_function_arguments): Handle
1395         BUILT_IN_ASSUME_ALIGNED.
1397 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1399         * c-common.c: Add sync_ or SYNC__ to builtin names.
1400         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1402 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1404         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1405         handler.
1406         (gen_pragma_handler): New union.
1407         (internal_pragma_handler): New type.
1408         (c_register_pragma_with_data)
1409         (c_register_pragma_with_expansion_and_data): New functions.
1411         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1412         (c_register_pragma, c_register_pragma_with_expansion)
1413         (c_invoke_pragma_handler): Changed to work with
1414         internal_pragma_handler.
1415         (c_register_pragma_with_data)
1416         (c_register_pragma_with_expansion_and_data): New functions.
1418 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1420         * c-common.c: Include common/common-target.h.
1421         (handle_section_attribute): Use
1422         targetm_common.have_named_sections.
1423         * c-cppbuiltin.c: Include common/common-target.h.
1424         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1426 2011-06-10  Richard Guenther  <rguenther@suse.de>
1428         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1429         to print a IDENTIFIER_NODE.
1431 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1432             Joseph Myers  <joseph@codesourcery.com>
1434         * c.opt (fbuilding-libgcc): New option.
1435         * c-cppbuiltin.c (c_cpp_builtins): Define
1436         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1438 2011-06-07  Jason Merrill  <jason@redhat.com>
1440         * c-common.c (max_tinst_depth): Lower default to 900.
1442         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1444 2011-06-07  Richard Guenther  <rguenther@suse.de>
1446         * c-common.c (c_common_nodes_and_builtins): Do not set
1447         size_type_node or call set_sizetype.
1449 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1451         PR debug/49130
1452         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1453         type when using pointer comparison to compare types.
1455 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1457         * c.opt: Add -Wdelete-non-virtual-dtor.
1458         * c-opts.c (c_common_handle_option): Include it in -Wall.
1460 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1462         PR bootstrap/49190
1464         Revert:
1465         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1467         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1468         not tree_common.
1470 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1472         PR c++/49165
1473         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1474         C++ don't call c_common_truthvalue_conversion on void type arms.
1476 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1478         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1479         (stmt_list_stack): Define.
1480         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1481         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1483 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1485         * c-common.c (warning_candidate_p): Check for BLOCKs.
1487 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1489         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1490         not tree_common.
1492 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1494         * c-common.c (def_fn_type): Remove extra va_end.
1496 2011-05-23  Jason Merrill  <jason@redhat.com>
1498         PR c++/48106
1499         * c-common.c (c_common_get_narrower): New.
1500         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1502 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
1504         * c-common.h (check_function_arguments): Tweak prototype of
1505         check_function_arguments.
1506         * c-common.c (check_function_arguments): Likewise.  Adjust
1507         calls to check_function_nonnull, check_function_format, and
1508         check_function_sentinel.
1509         (check_function_sentinel): Take a FUNCTION_TYPE rather than
1510         separate attributes and typelist arguments.  Use
1511         FOREACH_FUNCTION_ARGS to iterate over argument types.
1513 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1515         * c-common.c (c_common_reswords): Reorder.
1516         * c-common.h (rid): Likewise.
1518 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
1520         * c-common.c (def_fn_type): Don't call build_function_type, call
1521         build_function_type_array or build_varargs_function_type_array
1522         instead.
1523         (c_common_nodes_and_builtins): Likewise.
1525 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1527         * c-common.c (c_add_case_label): Omit the loc argument to
1528         build_case_label.
1529         * c-common.h (build_case_label): Remove.
1530         * c-semantics.c (build_case_label): Remove.
1532 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
1534         * c-objc.h (objc_start_method_definition): Update prototype.
1535         * stub-objc.c (objc_start_method_definition): Add extra parameter.
1537 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
1539         * c-common.c (check_main_parameter_types): Reindent.  Don't use
1540         TYPE_ARG_TYPES directly.
1541         (handle_nonnull_attribute): Likewise.
1542         (sync_resolve_params): Likewise.
1543         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
1544         to check_format_string.
1545         (handle_format_attribute): Likewise.
1546         (check_format_string): Take a function type to examine instead of
1547         a type list.  Use a function_arg_iterator to step through argument
1548         types.
1550 2011-05-04  Richard Guenther  <rguenther@suse.de>
1552         * c-common.c (fix_string_type): Use size_int for index type bounds.
1553         (start_fname_decls): Do not pass NULL to build_int_cst.
1554         (c_init_attributes): Likewise.
1555         * c-lex.c (c_lex_with_flags): Likewise.
1557 2011-04-27  Jason Merrill  <jason@redhat.com>
1559         * c-common.c (make_tree_vector_from_list): New.
1560         * c-common.h: Declare it.
1562 2011-04-26  Richard Guenther  <rguenther@suse.de>
1564         PR preprocessor/48248
1565         * c-ppoutput.c (maybe_print_line): Always optimize newlines
1566         for output size with -P.
1568 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1570         * c-common.c (struct c_common_resword): Add __underlying_type.
1571         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1573 2011-04-20  Jim Meyering  <meyering@redhat.com>
1575         * c-format.c (init_dollar_format_checking): Remove useless
1576         if-before-free.
1578 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1580         * c-objc.h (objc_get_interface_ivars): Removed.
1581         (objc_detect_field_duplicates): New.
1582         * stub-objc.c: Likewise.
1584 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1586         * stub-objc.c (objc_declare_protocols): Renamed to
1587         objc_declare_protocol.
1588         * c-objc.h: Likewise.
1590 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1592         * stub-objc.c (objc_declare_class): Updated argument name.
1594 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1596         * c-common.h (c_common_init_ts): Declare.
1597         * c-common.c (c_common_init_ts): Define.
1599 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1601         * c-objc.h (objc_build_message_expr): Updated prototype.
1602         * stub-objc.c (objc_build_message_expr): Likewise.
1604 2011-04-12  Martin Jambor  <mjambor@suse.cz>
1606         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1607         of cgraph_node.
1609 2011-04-11  Richard Guenther  <rguenther@suse.de>
1611         * c-common.c (complete_array_type): Build a range type of
1612         proper type.
1614 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
1616         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1617         (handle_type_generic_attribute): Likewise.
1619 2011-04-07  Jason Merrill  <jason@redhat.com>
1621         PR c++/48450
1622         * c-common.c (c_common_truthvalue_conversion): Don't ignore
1623         conversion from C++0x scoped enum.
1625 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
1627         * c-target-def.h: New file.
1628         * c-target.def: New file.
1629         * c-target.h: New file.
1630         * c-common.c (targetcm): Don't define here.
1631         * c-common.h (default_handle_c_option): Declare.
1632         * c-format.c: Include c-target.h instead of target.h.
1633         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
1634         include tm.h.
1635         (default_handle_c_option): Move from targhooks.c.
1637 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
1639         PR preprocessor/48248
1640         * c-ppoutput.c (print): Add src_file field.
1641         (init_pp_output): Initialize it.
1642         (maybe_print_line): Don't optimize by adding up to 8 newlines
1643         if map->to_file and print.src_file are different file.
1644         (print_line): Update print.src_file.
1646 2011-03-25  Kai Tietz  <ktietz@redhat.com>
1648         * c-ada-spec.c (compare_comment): Use filename_cmp
1649         instead of strcmp for filename.
1651 2011-03-25  Jeff Law  <law@redhat.com>
1653         * c-family/c-common.c (def_fn_type): Add missing va_end.
1655 2011-03-25  Jason Merrill  <jason@redhat.com>
1657         * c.opt: Add -std=c++03.
1659 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
1661         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1663 2011-03-17  Kai Tietz
1665         PR target/12171
1666         * c-pretty-print.c (pp_c_specifier_qualifier_list):
1667         Display allowed attributes for function pointer types.
1668         (pp_c_attributes_display): New function to display
1669         attributes having affects_type_identity flag set to true.
1670         * c-pretty-print.h (pp_c_attributes_display): New prototype.
1672         * c-common.c (c_common_attribute_table):
1673         Add new element.
1674         (c_common_format_attribute_table): Likewise.
1676 2011-03-18  Jason Merrill  <jason@redhat.com>
1678         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1679         * c-common.h: Don't declare it here.
1680         * c-common.c: Or define it here.
1681         * c-opts.c (c_common_handle_option): Or set it here.
1683         PR c++/35315
1684         * c-common.c (handle_transparent_union_attribute): Don't
1685         make a duplicate type in C++.
1687 2011-03-15  Jason Merrill  <jason@redhat.com>
1689         * c-common.c (max_constexpr_depth): New.
1690         * c-common.h: Declare it.
1691         * c-opts.c (c_common_handle_option): Set it.
1692         * c.opt (fconstexpr-depth): New option.
1694 2011-03-11  Jason Merrill  <jason@redhat.com>
1696         * c-common.c (attribute_takes_identifier_p): Add missing const.
1698         PR c++/46803
1699         * c-common.c (attribute_takes_identifier_p): Assume that an
1700         unknown attribute takes an identifier.
1702 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
1704         PR c/47786
1705         * c-common.c (c_type_hash): Call list_length instead of iterating
1706         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
1708 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1710         PR c/47809
1711         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1713 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1715         * c.opt (fobjc-abi-version=) New.
1716         (fobjc-nilcheck): New.
1718 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
1720         PR c++/46890
1721         * c-common.h (keyword_is_decl_specifier): Declare.
1722         * c-common.c (keyword_is_decl_specifier): Define.
1723         (keyword_is_function_specifier): New function.
1725 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1727         PR c/47473
1728         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
1729         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
1730         REAL_TYPE.
1732 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
1734         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
1736 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1738         PR pch/47430
1739         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
1740         after init_c_lex if pch_file is set.
1742 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1744         PR c++/43601
1745         * c.opt (-fkeep-inline-dllexport): New switch.
1747 2011-01-12  Richard Guenther  <rguenther@suse.de>
1749         PR middle-end/32511
1750         * c-common.c (handle_weak_attribute): Warn instead of error
1751         on declaring an inline function weak.
1753 2011-01-05  Tom Tromey  <tromey@redhat.com>
1755         * c-common.h (lvalue_error): Update.
1756         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
1757         not error.
1759 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1761         PR objc/47075
1762         * c-objc.h (objc_finish_message_expr): Added argument to
1763         prototype.
1765 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
1767         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
1768         Use prototype_p.
1770 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1772         * c-objc.h (objc_maybe_warn_exceptions): New.
1773         * stub-objc.c (objc_maybe_warn_exceptions): New.
1775 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
1777         * c-common.h (readonly_error): Declare.
1778         * c-common.c (readonly_error): Define.
1780 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
1782         * c-common.h (invalid_indirection_error): Declare.
1783         * c-common.c (invalid_indirection_error): Define.
1785 2010-12-03  Richard Guenther  <rguenther@suse.de>
1787         PR c/46745
1788         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
1789         (pp_c_unary_expression): Likewise.
1790         (pp_c_expression): Likewise.
1792 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1794         * c-common.h (objc_finish_function): New.
1795         (objc_non_volatilized_type): Removed.
1796         (objc_type_quals_match): Removed.
1797         * stub-objc.c (objc_finish_function): New.
1798         (objc_non_volatilized_type): Removed.
1799         (objc_type_quals_match): Removed.
1801 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
1803         * c-common.h (parse_optimize_options): Declare.
1804         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
1805         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
1807 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
1809         * c-opts.c (check_deps_environment_vars): Use getenv instead of
1810         GET_ENVIRONMENT.
1811         * c-pch.c (O_BINARY): Don't define here.
1812         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
1814 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
1816         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
1817         targetm.except_unwind_info.
1819 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1821         * c-opts.c (c_common_handle_option): Pass location to
1822         set_struct_debug_option.
1824 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1826         * c-common.c (visibility_options): Move from ../opts.c.
1827         * c-common.h (struct visibility_flags, visibility_options):
1828         Declare here.
1829         * c-opts.c (finish_options): Rename to c_finish_options.
1830         (c_common_init): Update call to finish_options.
1832 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
1834         PR objc/34033
1835         * c-lex.c (lex_string): Check that each string in an Objective-C
1836         string concat sequence starts with either one or zero '@', and
1837         that there are no spurious '@' signs at the end.
1839 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
1841         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
1842         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
1843         HANDLE_PRAGMA_VISIBILITY.
1844         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
1845         HANDLE_PRAGMA_VISIBILITY): Don't define.
1846         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
1848 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
1850         PR c++/16189
1851         PR c++/36888
1852         PR c++/45331
1853         * c-common.h (keyword_begins_type_specifier): Declare.
1854         (keyword_is_storage_class_specifier): Declare.
1855         (keyword_is_type_qualifier): Declare.
1856         * c-common.c (keyword_begins_type_specifier): New function.
1857         (keyword_is_storage_class_specifier): New function.
1858         (keyword_is_type_qualifier): Declare.
1860 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1862         PR c/46547
1863         * c-common.c (in_late_binary_op): Define.
1864         (c_common_truthvalue_conversion): Check in_late_binary_op before
1865         calling c_save_expr.
1866         * c-common.h (in_late_binary_op): Declare.
1868 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1870         * c-opts.c (c_common_handle_option): Update calls to
1871         set_struct_debug_option.
1873 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1875         * c-common.h (objc_declare_protocols): Added additional argument.
1876         * stub-objc.c (objc_declare_protocol): Same change.
1878 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
1880         PR c/33193
1881         * c-common.h (build_real_imag_expr): Declare.
1882         * c-semantics.c (build_real_imag_expr): Define.
1884 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1886         * c-opts.c (c_common_parse_file): Take no arguments.
1887         * c-common.h (c_common_parse_file): Update prototype.
1889 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
1891         PR c++/46401
1892         * c-common.c (warning_candidate_p): Don't track non-const calls
1893         or STRING_CSTs.
1895 2010-11-15  Ian Lance Taylor  <iant@google.com>
1897         * c-lex.c (init_c_lex): Set macro debug callbacks if
1898         flag_dump_go_spec is set.
1900 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1902         * c-common.h (objc_build_incr_expr_for_property_ref): New.
1903         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
1905 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
1907         PR preprocessor/45038
1908         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
1909         dialects.
1911 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1913         * c-common.h (c_family_lang_mask): Declare.
1914         * c-opts.c (c_family_lang_mask): Make extern.
1915         * c-pragma.c (handle_pragma_diagnostic): Use
1916         control_warning_option.
1918 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1920         * c-common.c (parse_optimize_options): Update call to
1921         decode_options.
1922         * c-common.h (c_common_handle_option): Update prototype.
1923         * c-opts.c (c_common_handle_option): Take location_t parameter and
1924         pass it to other functions.
1926 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1928         * c-opts.c (warning_as_error_callback): Remove.
1929         (c_common_initialize_diagnostics): Don't call
1930         register_warning_as_error_callback.
1931         (c_common_handle_option): Handle -Werror=normalized= here.
1933 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1935         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
1936         in diagnostic.
1937         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
1938         letter.
1939         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
1940         Remove trailing '.' from diagnostics.
1941         * c.opt (Wwrite-strings_: Avoid '`' in help text.
1943 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1945         * c-common.c (parse_optimize_options): Pass global_dc to
1946         decode_options.
1947         * c-opts.c (c_common_handle_option): Pass &global_options to
1948         set_Wstrict_aliasing.
1949         * c.opt (v): Don't mark Common or document here.
1951 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
1953         PR target/44981
1954         * c-format.c (format_type): New type gcc_objc_string_format_type.
1955         (valid_stringptr_type_p): New.
1956         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
1957         (check_format_string): Pass expected type, use
1958         valid_stringptr_type_p (), check that the format string types are
1959         consistent with the format specification.
1960         (decode_format_attr): Warn if NSString is used outside objective-c.
1961         (format_types_orig): Add NSString.
1962         (format_name): New.
1963         (format_flags): New.
1964         (check_format_arg): Handle format strings requiring an external parser.
1965         first_target_format_type: New variable.
1966         (handle_format_attribute): Set up first_target_format_type, pass the
1967         expected format arg string type to check_format_string().
1968         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
1969         * stub-objc.c (objc_string_ref_type_p): New.
1970         (objc_check_format_arg): New.
1972 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
1974         Fixed using the Objective-C 2.0 dot-syntax with class names.
1975         * c-common.h (objc_build_class_component_ref): New.
1976         * stub-objc.c (objc_build_class_component_ref): New.
1978 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1980         * c.opt (Wproperty-assign-default): New option.
1982 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1984         Implemented -fobjc-std=objc1 flag.
1985         * c.opt (fobjc-std=objc1): New option.
1987 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
1989         Implemented format and noreturn attributes for Objective-C methods.
1990         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
1991         attribute for Objective-C methods.
1993 2010-10-31  Jason Merrill  <jason@redhat.com>
1995         * c-common.c (conversion_warning, warn_for_collisions_1): Use
1996         EXPR_LOC_OR_HERE.
1998 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2000         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2001         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2002         (objc_add_property_declaration): Removed arguments for copies and
2003         ivar.
2004         (objc_build_getter_call): Renamed to
2005         objc_maybe_build_component_ref.
2006         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2007         (objc_is_property_ref): New.
2008         * c-common.c (c_common_reswords): Removed copies and ivar.
2009         * stub-objc.c (objc_add_property_declaration): Removed arguments
2010         for copies and ivar.
2011         (objc_build_getter_call): Renamed to
2012         objc_maybe_build_component_ref.
2013         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2014         (objc_is_property_ref): New.
2016 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
2017             Matthew Gingell  <gingell@adacore.com>
2019         * c-ada-spec.c (separate_class_package): New function.
2020         (pp_ada_tree_identifier): Prefix references to C++ classes with the
2021         name of their enclosing package.
2022         (print_ada_declaration): Use separate_class_package.
2024 2010-10-27  Jason Merrill  <jason@redhat.com>
2026         * c-common.c (c_common_reswords): Add __is_literal_type.
2027         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2029         * c-common.c (check_case_value): Remove special C++ code.
2031 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2033         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2034         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
2035         and RID_LAST_PATTR.
2036         (objc_add_property_declaration): Added additional arguments.
2037         (objc_property_attribute_kind): Removed.
2038         (objc_set_property_attr): Removed.
2039         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2040         copy and nonatomic.
2041         * stub-objc.c (objc_add_property_declaration): Added additional
2042         arguments.
2043         (objc_set_property_attr): Removed.
2045 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2047         * c-common.h (objc_add_property_variable): Renamed to
2048         objc_add_property_declaration.  Added location argument.
2049         * stub-objc.c (objc_add_property_variable): Same change.
2050         
2051 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
2053         * c-common.h (objc_maybe_printable_name): New.
2054         * stub-objc.c (objc_maybe_printable_name): New.
2056 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2057         Andrew Pinski <pinskia@gmail.com>
2059         * c-common.h (c_common_mark_addressable_vec): Declare.
2060         * c-common.c (c_common_mark_addressable_vec): New function.
2062 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2064         * c-common.h (objc_set_method_type): Removed.
2065         (objc_add_method_declaration): Added boolean argument.
2066         (objc_start_method_definition): Same change.
2067         (objc_build_method_signature): Same change.
2068         * stub-objc.c (objc_set_method_type): Removed.
2069         (objc_add_method_declaration): Added boolean argument.
2070         (objc_start_method_definition): Same change.
2071         (objc_build_method_signature): Same change.
2073 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2075         * c-common.h (finish_file): Removed.
2076         (objc_write_global_declarations): New.
2077         * c-opts.c (c_common_parse_file): Do not call finish_file.
2078         * stub-objc.c (objc_write_global_declarations): New.
2080 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2082         Implemented parsing @synthesize and @dynamic for
2083         Objective-C/Objective-C++.
2084         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2085         (objc_add_synthesize_declaration): New.
2086         (objc_add_dynamic_declaration): New.
2087         * c-common.c (c_common_reswords): Add synthesize and dynamic.
2088         * stub-objc.c (objc_add_synthesize_declaration): New.
2089         (objc_add_dynamic_declaration): New.
2091 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2093         PR target/46041
2094         * c-cppbuiltin.c (mode_has_fma): Move function here from
2095         builtins.c.  Don't use the fma optab, instead just use the
2096         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2097         using -save-temps.
2099 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2101         Merge from 'apple/trunk' branch on FSF servers.
2103         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
2105         Radar 4330422
2106         * c-common.h (objc_non_volatilized_type): New declaration
2107         * stub-objc.c (objc_non_volatilized_type): New stub.
2109 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2111         Merge from 'apple/trunk' branch on FSF servers.
2113         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2115         Radar 4133425
2116         * c-common.h (objc_diagnose_private_ivar): New decl.
2117         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2119 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2121         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2122         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2123         (objc_ivar_visibility_kind): New enum.
2124         (objc_set_visibility): Adjust prototype to use visibility enum.
2125         * stub-objc.c (objc_set_visibility): Adjust stub to use
2126         visibility enum.
2128 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2130         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2131         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2132         has the appropriate fma builtins.
2133         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2135 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2137         merge from FSF apple 'trunk' branch.
2138         2006 Fariborz Jahanian <fjahanian@apple.com>
2140         Radars 4436866, 4505126, 4506903, 4517826
2141         * c-common.c (c_common_resword): Define @property and its attributes.
2142         * c-common.h: Define property attribute enum entries.
2143         (OBJC_IS_PATTR_KEYWORD): New.
2144         (objc_property_attribute_kind): New enum.
2145         Declare objc_set_property_attr (), objc_add_property_variable (),
2146         objc_build_getter_call () and objc_build_setter_call ().
2147         * stub-objc.c (objc_set_property_attr): New stub.
2148         (objc_add_property_variable): Likewise.
2149         (objc_build_getter_call): Likewise.
2150         (objc_build_setter_call) Likewise.
2152 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2154         merge from FSF apple 'trunk' branch.
2155         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2157         Radar 3803157 (method attributes)
2158         * c-common.c (handle_deprecated_attribute): Recognize
2159         objc methods as valid declarations.
2160         * c-common.h: Declare objc_method_decl ().
2161         * stub-objc.c (objc_method_decl): New stub.
2163 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2165         * c-common.c (parse_optimize_options): Call
2166         decode_cmdline_options_to_array_default_mask before
2167         decode_options.  Update arguments to decode_options.
2168         * c-common.h (c_common_init_options_struct): Declare.
2169         * c-opts.c (c_common_init_options_struct): New.  Split out from
2170         c_common_init_options.
2172 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2174         Implemented fast enumeration for Objective-C.
2175         * c-common.h (objc_finish_foreach_loop): New.
2176         * stub-objc.c (objc_finish_foreach_loop): New.
2178 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2180         * c-common.h (struct diagnostic_context): Don't declare here.
2181         (c_common_initialize_diagnostics): Declare using
2182         diagnostic_context typedef.
2183         * c-opts.c (c_common_handle_option): Pass global_dc to
2184         handle_generated_option.
2186 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2188         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2189         handle_generated_option.
2191 2010-10-03  Ian Lance Taylor  <iant@google.com>
2193         * c.opt (-fplan9-extensions): New option.
2195 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2197         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2198         Remove.
2199         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2200         of duplicating code.
2202 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2204         * c-common.c: Add two new entries for @optional
2205         and @required keywords.
2207         merge from FSF 'apple/trunk' branch.
2208         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2210         Radar 4386773
2211         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2212         objective-c keywords.
2213         (objc_set_method_opt): New declaration.
2214         * stub-objc.c (objc_set_method_opt): New stub.
2216 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2218         * c-common.c (handle_optimize_attribute): Pass &global_options to
2219         cl_optimization_save and cl_optimization_restore.
2220         * c-opts.c (c_common_handle_option): Pass &global_options to
2221         handle_generated_option.
2222         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2223         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2224         &global_options to cl_optimization_restore.
2226 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2228         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2229         Objective-C/Objective-C++ keywords.
2231 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2233         Merge from 'apple/trunk' branch on FSF servers.
2235         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2237         Radar 4281748
2238         * c-common.h (objc_check_global_decl): New declaration.
2239         * stub-objc.c (objc_check_global_decl): New stub.
2241 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2243         * c.opt: Don't use VarExists.
2245 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2247         * c-common.c (c_cpp_error): Update names of diagnostic_context
2248         members.
2249         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2250         cl_optimization members.
2251         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2252         sanitize_cpp_opts, finish_options): Update names of cpp_options
2253         members.
2255 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2257         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2258         (objc_is_reserved_word): Removed.
2259         * c-common.c: Updated comments.
2260         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2261         objc_is_reserved_word.
2262         * stub-objc.c (objc_is_reserved_word): Removed.
2264 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2266         * c-common.h (objc_add_method_declaration): Adjust prototype to
2267         include attributes.
2268         (objc_start_method_definition): Likewise.
2269         (objc_build_keyword_decl): Likewise.
2270         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2271         (objc_start_method_definition): Likewise.
2272         (objc_build_keyword_decl): Likewise.
2274 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2276         * c-common.h (objc_start_class_interface): Adjust prototype.
2277         (objc_start_category_interface): Likewise.
2278         (objc_start_protocol): Likewise.
2279         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2280         (objc_start_class_interface): Likewise.
2281         (objc_start_category_interface): Likewise.
2283 2010-09-27  Ian Lance Taylor  <iant@google.com>
2285         * c-common.c (c_common_attribute_table): Add no_split_stack.
2286         (handle_no_split_stack_attribute): New static function.
2288 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2290         Merge from 'apple/trunk' branch on FSF servers.
2292         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2294         Radar 4229905
2295         * c-common.h (objc_have_common_type): New declaration.
2296         * stub-objc.c (objc_have_common_type): New stub.
2298         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2300         Radar 4154928
2301         * c-common.h (objc_common_type): New prototype.
2302         * stub-objc.c (objc_common_type): New stub.
2304 2010-09-24  Jan Hubicka  <jh@suse.cz>
2306         * c-common.c (handle_leaf_attribute): New function.
2307         (struct attribute_spec c_common_att): Add leaf.
2309 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2311         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2312         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2313         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2314         -include-barrier, -include-directory, -include-directory=,
2315         -include-directory-after, -include-directory-after=,
2316         -include-prefix, -include-prefix=, -include-with-prefix,
2317         -include-with-prefix=, -include-with-prefix-after,
2318         -include-with-prefix-after=, -include-with-prefix-before,
2319         -include-with-prefix-before=, -no-integrated-cpp,
2320         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2321         -output=, -pedantic, -pedantic-errors, -preprocess,
2322         -print-missing-file-dependencies, -trace-includes, -traditional,
2323         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2324         -user-dependencies, -verbose, -write-dependencies,
2325         -write-user-dependencies, no-integrated-cpp, traditional): New.
2327 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2329         PR objc/23710
2330         * c-common.h (objc_start_method_definition): Return bool instead
2331         of void.
2332         * stub-objc.c (objc_start_method_definition): Return bool instead
2333         of void.
2335 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2337         PR objc/25965
2338         * c-common.h (objc_get_interface_ivars): New declaration.
2339         * stub-objc.c (objc_get_interface_ivars): New stub.
2341 2010-09-15  Ian Lance Taylor  <iant@google.com>
2343         * c-common.c (parse_optimize_options): Do not capitalize warning
2344         messages.  Remove period at end of warning message.
2346 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2348         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2349         (handle_alias_attribute): ... here.
2350         (handle_ifunc_attribute): New.
2352 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2354         * c-common.h (do_warn_double_promotion): Declare.
2355         * c-common.c (do_warn_double_promotion): Define.
2357 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2359         * c.opt (Wdouble-promotion): New.
2361 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2363         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2364         fvtable-thunks, fxref): Mark no longer supported in help text.
2366 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2368         * c.opt (Wimport, fall-virtual, falt-external-templates,
2369         fdefault-inline, fenum-int-equiv, fexternal-templates,
2370         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2371         fname-mangling-version-, fnew-abi, fnonnull-objects,
2372         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2373         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2374         applicable.
2375         (fhandle-exceptions): Mark with Alias and Warn.
2376         * c-opts.c (c_common_handle_option): Don't handle options marked
2377         as ignored.
2379 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2381         * c.opt (Wcomments, Werror-implicit-function-declaration,
2382         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2383         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2384         aliases.
2385         * c-common.c (option_codes): Use OPT_Wcomment instead of
2386         OPT_Wcomments.
2387         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2388         Don't handle options marked as aliases.
2390 2010-08-25  Richard Guenther  <rguenther@suse.de>
2392         * c-common.c (c_common_get_alias_set): Remove special
2393         handling for pointers.
2395 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2397         * c-common.c: Use FOR_EACH_VEC_ELT.
2398         * c-gimplify.c: Likewise.
2399         * c-pragma.c: Likewise.
2401 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2403         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2404         RejectDriver.
2405         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2406         RejectDriver.
2407         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2408         instead of OPT_MDX and OPT_MMDX.
2410 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2412         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2414 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2416         * c.opt (MD, MMD): Change to MDX and MMDX.
2417         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2419 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2421         * c-opts.c (c_common_handle_option): Call handle_generated_option
2422         instead of handle_option.
2424 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2426         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2427         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2429 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2431         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2432         (pending_redefine_extname): Change type to a VEC.
2433         (add_to_renaming_pragma_list): Update for new type of
2434         pending_redefine_extname.
2435         (maybe_apply_renaming_pragma): Likewise.
2437 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2439         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2440         visited.
2441         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2442         decide whether a type has already been declared/seen.
2443         Do not go to the original type.
2444         (dump_nested_types): New parameter forward.
2445         Generate forward declaration if needed and mark type as visited.
2446         (print_ada_declaration): Call dump_nested_types if not already done.
2447         Mark types as visited.
2449 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2451         * c.opt (-print-pch-checksum): Remove option.
2452         * c-opts.c (c_common_handle_option): Don't handle
2453         OPT_print_pch_checksum.
2455 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2457         * c-common.h (c_common_handle_option): Update prototype and return
2458         value type.
2459         * c-opts.c (c_common_handle_option): Update prototype and return
2460         value type.  Update calls to handle_option and
2461         enable_warning_as_error.
2463 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2465         PR c/45079
2466         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2468 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2470         * c-common.h (c_common_missing_argument): Remove.
2471         * c-opts.c (c_common_missing_argument): Remove.
2472         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2473         idirafter, imacros, include, isysroot, isystem, iquote): Add
2474         MissingArgError.
2475         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2477 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2479         * c-common.h (c_common_option_lang_mask,
2480         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2481         New.
2482         (c_common_init_options): Update prototype.
2483         * c-opts.c (c_common_option_lang_mask): New.
2484         (c_common_initialize_diagnostics): Split out of
2485         c_common_init_options.
2486         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2487         New.
2488         (c_common_init_options): Update prototype.  Use decoded options in
2489         search for -lang-asm.
2491 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2493         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2494         * c-format.c: Likewise.
2496 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2498         * c-common.h: Include diagnostic-core.h. Error if already
2499         included.
2500         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2502 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2504         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2505         Do not include expr.h
2506         (vector_mode_valid_p): Move here.
2508 2010-06-21  DJ Delorie  <dj@redhat.com>
2510         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2511         allow these pragmas anywhere.
2513 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
2515         PR bootstrap/44509
2516         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2517         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2518         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2519         ggc_strdup instead of xstrdup.
2521 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
2523         * c-cppbuiltin.c: Include cpp-id-data.h.
2524         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2525         (lazy_hex_fp_value): New function.
2526         (builtin_define_with_hex_fp_value): Provide definitions lazily.
2528 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2530         * c-gimplify.c: Do not include tree-flow.h
2532 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
2534         PR other/44034
2535         * c-common.c: Rename targetm member:
2536         targetm.enum_va_list -> targetm.enum_va_list_p
2538 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
2540         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2542 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2544         * c-cppbuiltin.c: Do not include except.h.
2546 2010-06-24  Andi Kleen  <ak@linux.intel.com>
2548         * c-common.c (warn_for_omitted_condop): New.
2549         * c-common.h (warn_for_omitted_condop): Add prototype.
2551 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
2553         * c.opt (lang-objc): Remove.
2554         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2556 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
2558         * c-opts.c: Include "tm_p.h".
2560 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
2562         * c-common.c (parse_optimize_options): Update call to
2563         decode_options.
2565 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
2567         * c-common.c (record_types_used_by_current_var_decl): Adjust for
2568         new type of types_used_by_cur_var_decl.
2570 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
2572         PR bootstrap/44512
2573         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2574         for C++ standard compliance.
2576 2010-06-16  Jason Merrill  <jason@redhat.com>
2578         * c.opt: Add -Wnoexcept.
2580 2010-06-16  Richard Guenther  <rguenther@suse.de>
2582         PR c/44555
2583         * c-common.c (c_common_truthvalue_conversion): Remove
2584         premature and wrong optimization concering ADDR_EXPRs.
2586 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
2588         * c-ada-spec.c (dump_sloc): Remove column info.
2589         (is_simple_enum): New function.
2590         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2591         enum types when relevant.
2593 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2595         * c-common.c (conversion_warning): Warn at expression
2596         location.
2598 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
2600         * c-opts.c (c_common_handle_option): Don't handle
2601         OPT_fshow_column.
2603 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2605         * c-pragma.c (push_alignment): Use typed GC allocation.
2606         (handle_pragma_push_options): Likewise.
2608         * c-common.c (parse_optimize_options): Likewise.
2610         * c-common.h (struct sorted_fields_type): Add variable_size GTY
2611         option.
2613 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
2615         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2616         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2617         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2618         flag_signed_bitfields, warn_strict_null_sentinel,
2619         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2620         flag_gen_declaration, flag_no_gnu_keywords,
2621         flag_implement_inlines, flag_implicit_templates,
2622         flag_implicit_inline_templates, flag_optional_diags,
2623         flag_elide_constructors, flag_default_inline, flag_rtti,
2624         flag_conserve_space, flag_access_control, flag_check_new,
2625         flag_new_for_scope, flag_weak, flag_working_directory,
2626         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2627         flag_enforce_eh_specs, flag_threadsafe_statics,
2628         flag_pretty_templates): Remove.
2629         * c-common.h (flag_preprocess_only, flag_nil_receivers,
2630         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2631         flag_replace_objc_classes, flag_undef, flag_no_builtin,
2632         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2633         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2634         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2635         flag_no_gnu_keywords, flag_implement_inlines,
2636         flag_implicit_templates, flag_implicit_inline_templates,
2637         flag_optional_diags, flag_elide_constructors, flag_default_inline,
2638         flag_rtti, flag_conserve_space, flag_access_control,
2639         flag_check_new, flag_new_for_scope, flag_weak,
2640         flag_working_directory, flag_use_cxa_atexit,
2641         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2642         flag_threadsafe_statics, flag_pretty_templates,
2643         warn_strict_null_sentinel): Remove.
2644         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2645         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2646         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2647         fimplicit-inline-templates, fimplicit-templates,
2648         flax-vector-conversions, fms-extensions, fnil-receivers,
2649         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2650         frtti, fshort-double, fshort-enums, fshort-wchar,
2651         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2652         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2653         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2654         gen-decls, undef): Use Var.
2655         (fdefault-inline, foptional-diags): Document as doing nothing.
2656         * c-opts.c (c_common_handle_option): Remove cases for options now
2657         using Var.  Mark ignored options as such.
2659 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
2661         * c-common.c: Moved to here from parent directory.
2662         * c-common.def: Likewise.
2663         * c-common.h: Likewise.
2664         * c-cppbuiltin.c: Likewise.
2665         * c-dump.c: Likewise.
2666         * c-format.c: Likewise.
2667         * c-format.h : Likewise.
2668         * c-gimplify.c: Likewise.
2669         * c-lex.c: Likewise.
2670         * c-omp.c: Likewise.
2671         * c.opt: Likewise.
2672         * c-opts.c: Likewise.
2673         * c-pch.c: Likewise.
2674         * c-ppoutput.c: Likewise.
2675         * c-pragma.c: Likewise.
2676         * c-pragma.h: Likewise.
2677         * c-pretty-print.c: Likewise.
2678         * c-pretty-print.h: Likewise.
2679         * c-semantics.c: Likewise.
2680         * stub-objc.c: Likewise.
2682         * c-common.c: Include gt-c-family-c-common.h.
2683         * c-pragma.c: Include gt-c-family-c-pragma.h.
2685 Copyright (C) 2010-2013 Free Software Foundation, Inc.
2687 Copying and distribution of this file, with or without modification,
2688 are permitted in any medium without royalty provided the copyright
2689 notice and this notice are preserved.