/c-family
[official-gcc.git] / gcc / c-family / ChangeLog
blob0506e55dd47b8cec87b850fde40fabf62c12be45
1 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
3         PR c++/57869
4         * c.opt: Add Wconditionally-supported.
6 2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>
8         PR c/57821
9         * c-common.c (complete_array_type): Delay folding first index
10         like other indices.  When folding, check for index overflow.
12 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
14         PR c++/57509
15         * c-common.h (c_build_vec_perm_expr): New complain argument.
16         * c-common.c (c_build_vec_perm_expr): Likewise.
17         Use save_expr also in C++.
19 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
21         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
22         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
23         * c-opts.c (c_common_post_options): Likewise.
25 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
27         * array-notation-common.c (length_mismatch_in_expr): Changed the
28         parameter type's from a dynamic array to a vec_tree.  Also removed
29         the size parameters.
30         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
31         the change above.
33 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
35         * c-common.h (struct cilkplus_an_parts): New structure.
36         (struct cilkplus_an_loop_parts): Likewise.
37         (cilkplus_extract_an_triplets): New prototype.
38         (fix_sec_implicit_args): Likewise.
39         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
40         (fix_sec_implicit_args): Likewise.
42 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
44         * array-notation-common.c (find_inv_trees): Removed an unwanted
45         typecasting.
46         * c-common.h (struct inv_list::additional_tcodes): Changed type from
47         enum rid to enum tree_code.
49 2013-06-11  Jan Hubicka  <jh@suse.cz>
51         * c-common.c (handle_alias_ifunc_attribute): Do not set
52         DECL_EXTERNAL for weakref variables.
53         * c-pragma.c (handle_pragma_weak): Make sure aliases
54         are not declared as external.
56 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
58         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
59         function from c/c-array-notation.c.
60         (is_cilkplus_reduce_builtin): Likewise.
61         (find_rank): Likewise.
62         (extract_array_notation_exprs): Likewise.
63         (replace_array_notations): Likewise.
64         (find_inv_trees): Likewise.
65         (replace_inv_trees): Likewise.
66         (contains_array_notation_expr): Likewise.
67         (find_correct_array_notation_type): Likewise.
68         * c-common.h (struct inv_list): Moved this struct from the file
69         c/c-array-notation.c and added a new field called additional tcodes.
70         (length_mismatch_in_expr_p): New prototype.
71         (is_cilkplus_reduce_builtin): Likewise.
72         (find_rank): Likewise.
73         (extract_array_notation_exprs): Likewise.
74         (replace_array_notation): Likewise.
75         (find_inv_trees): Likewise.
76         (replace_inv_trees): Likewise.
77         (find_correct_array_notation_type): Likewise.
79 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
81         * c-common.c (c_define_builtins): When cilkplus is enabled, the
82         function array_notation_init_builtins is called.
83         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
84         * c-common.def (ARRAY_NOTATION_REF): New tree.
85         * c-common.h (build_array_notation_expr): New function declaration.
86         (build_array_notation_ref): Likewise.
87         (extract_sec_implicit_index_arg): New extern declaration.
88         (is_sec_implicit_index_fn): Likewise.
89         (ARRAY_NOTATION_CHECK): New define.
90         (ARRAY_NOTATION_ARRAY): Likewise.
91         (ARRAY_NOTATION_START): Likewise.
92         (ARRAY_NOTATION_LENGTH): Likewise.
93         (ARRAY_NOTATION_STRIDE): Likewise.
94         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
95         ARRAY_NOTATION_REF.
96         (pp_c_expression): Likewise.
97         * c.opt (flag_enable_cilkplus): New flag.
98         * array-notation-common.c: New file.
100 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
102         PR c++/57274
103         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
105 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
107         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
108         vectors.
110 2013-05-07  Han Shen  <shenhan@google.com>
112         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
114 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
116         * c-common.c (check_user_alignment): Emit error for negative values.
118 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
120         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
122 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
124         * c-cppbuiltin.c (c_cpp_builtins): Do not define
125         __GXX_EXPERIMENTAL_CXX1Y__.
127 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
128             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
130         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
131         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
132         to simply use OPT_Wpointer_arith.
133         (c_sizeof_or_alignof_type): Likewise.
135 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
137         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
139 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
141         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
142         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
143         specifiers.
145 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
147         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
149 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
151         * c-common.c (pointer_int_sum): Remove dead code.
153 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
155         PR middle-end/56524
156         * c-common.c (handle_optimize_attribute): Don't call
157         save_optabs_if_changed.
159 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
161         PR middle-end/56461
162         * c-pch.c (pch_init): Free target_validity at the end.
164 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
166         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
168 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
169             Jakub Jelinek  <jakub@redhat.com>
171         PR sanitizer/56454
172         * c-common.c (handle_no_sanitize_address_attribute): New function.
173         (c_common_attribute_table): Add no_sanitize_address attribute.
174         (handle_no_address_safety_analysis_attribute): Add
175         no_sanitize_address attribute, not no_address_safety_analysis
176         attribute.
178 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
180         PR target/52555
181         * c-common.c (handle_optimize_attribute): Call
182         save_optabs_if_changed.
184 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
185             Steven Bosscher  <steven@gcc.gnu.org>
187         PR pch/54117
188         * c-opts.c (c_common_post_options): If debug info is enabled
189         and non-dwarf*, refuse to load PCH files and when writing PCH
190         file warn.
192 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
194         PR middle-end/56167
195         * c-common.c (handle_error_attribute): Fix condition.
197 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
199         PR c++/55742
200         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
202 2013-01-18  Jason Merrill  <jason@redhat.com>
204         PR target/54908
205         * c.opt (-fextern-tls-init): New.
206         * c-opts.c (c_common_post_options): Handle it.
208 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
210         PR c/48418
211         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
212         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
213         and is either negative or bigger or equal to type precision
214         of the first operand.
216 2012-12-03  Marek Polacek  <polacek@redhat.com>
218         PR c/55570
219         * c-common.c (check_user_alignment): Swap order of tests,
220         check TREE_CODE first.
222 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
224         PR c++/52654
225         * c-common.h (overflow_type): New enum.
226         (build_userdef_literal): Add overflow_type argument.
227         (tree_userdef_literal): Add overflow_type.
228         (USERDEF_LITERAL_OVERFLOW): New access macro.
229         * c-common.c (build_userdef_literal): Add overflow_type
230         argument.
231         * c-lex.c (c_lex_with_flags): Add overflow_type to
232         build_userdef_literal calls.
233         (interpret_integer, interpret_float): Add overflow_type argument.
235 2012-11-28  Richard Biener  <rguenther@suse.de>
237         PR c/35634
238         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
239         here and use a type with proper overflow behavior for types that would
240         need to be promoted for the arithmetic.
242 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
244         PR sanitizer/55435
245         * c-common.c (handle_no_address_safety_analysis_attribute): New
246         function.
247         (c_common_attribute_table): Add no_address_safety_analysis.
249 2012-11-16  Simon Baldwin  <simonb@google.com>
251         * c.opt: Add f[no-]canonical-system-headers.
252         * c-opts.c (c_common_handle_option): Handle
253         OPT_fcanonical_system_headers.
255 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
257         PR c++/54413
258         * c-opts.c (c_common_handle_option): Set new flags.
259         * c.opt: Describe new flags.
261 2012-11-09  Jason Merrill  <jason@redhat.com>
263         * c.opt (Wabi-tag): New.
265 2012-11-09  Andi Kleen  <ak@linux.intel.com>
267         PR 55139
268         * c-common.c (get_atomic_generic_size): Mask with
269         MEMMODEL_MASK
271 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
273         PR c/53063
274         * c.opt (Wformat): Make it Alias Wformat=1.
275         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
276         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
277         LangEnabledBy.
278         (Wformat=): RejectNegative. Use LangEnabledBy.
279         (Wnonnull): Use LangEnabledBy.
280         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
281         * c-format.c (set_Wformat): Delete.
282         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
283         (maybe_read_dollar_number):  Likewise.
284         (avoid_dollar_number):  Likewise.
285         (finish_dollar_format_checking):  Likewise.
286         (check_format_info):  Likewise.
287         (check_format_info_main):  Likewise.
288         (check_format_types):  Likewise.
289         (format_type_warning):  Likewise.
290         * c-common.c (int):  Likewise.
291         (check_function_sentinel):  Likewise.
292         * c-common.h (warn_format,set_Wformat): Do not declare here.
294 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
296         PR c/53063
297         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
298         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
299         Use LangEnabledBy.
300         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
301         common.opt.
302         (Wvariadic-macros): Init(1).
303         * c-opts.c (c_common_handle_option): Do not handle them
304         explicitly.
305         (c_common_post_options): Likewise.
306         (sanitize_cpp_opts): warn_unused_macros is now
307         cpp_warn_unused_macros.
308         (push_command_line_include): Likewise.
309         * c-common.c (warn_unknown_pragmas): Do not define.
310         * c-common.h (warn_unknown_pragmas): Do not declare.
312 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
314         PR c/51294
315         * c-common.c (conversion_warning): Handle conditional expressions.
317 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
319         PR c++/54930
320         * c.opt (Wreturn_local_addr): Define new option.
322 2012-10-25  Jason Merrill  <jason@redhat.com>
324         * c.opt (Wvirtual-move-assign): New.
326         * c.opt (Winherited-variadic-ctor): New.
328 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
330         PR c++/54427
331         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
333 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
335         * c-common.h (pch_cpp_save_state): Declare.
336         * c-target.def (c_preinclude): New hook.
337         * c-opts.c (done_preinclude): New.
338         (push_command_line_include): Handle default preincluded header.
339         (cb_file_change): Call pch_cpp_save_state when calling
340         push_command_line_include.
341         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
342         (pch_cpp_save_state): New.
343         (pch_init): Call pch_cpp_save_state conditionally, instead of
344         calling cpp_save_state.
346 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
348         PR c/53063
349         PR c/40989
350         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
351         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
352         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
353         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
354         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
355         * c-opts.c (c_common_handle_option): Remove explicit handling from
356         here.
357         (c_common_post_options): Likewise.
359 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
361         * c-ada-spec.c (LOCATION_COL): Delete.
362         (compare_location): New function.
363         (compare_node): Use it.
364         (compare_comment): Likewise.
366 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
368         PR c/53063
369         PR c/40989
370         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
371         * c-opts.c (c_common_handle_option): Do not set them here. Add
372         comment.
373         (c_common_post_options): Likewise.
375 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
377         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
378         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
379         Remove POINTER_TYPE handling, add large unsigned handling and use
380         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
382 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
384         PR c/54381
385         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
386         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
387         locs and array of 3 trees instead of just single loc and single
388         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
389         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
390         For *cmp* builtins that take two sources strings report warnings
391         about first and second source, not about destination and source.
393 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
395         PR c++/53055
396         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
398 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
400         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
401         declaring something coming from another file.
403 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
405         PR ada/54845
406         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
408 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
410         PR c++/54194
411         * c-common.c (warn_about_parentheses): Add location_t parameter;
412         use EXPR_LOC_OR_LOC.
413         * c-common.h: Update declaration.
415 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
417         PR c++/54427
418         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
419         more operations. Make error messages optional.
420         * c-common.h (enum stv_conv): Moved from c-typeck.c.
421         (scalar_to_vector): Declare.
423 2012-10-08  Jason Merrill  <jason@redhat.com>
425         * c-common.c (c_common_reswords): Add thread_local.
427 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
429         PR c++/53528 C++11 attribute support
430         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
431         new functions.
432         * c-common.c (check_cxx_fundamental_alignment_constraints): New
433         static function.
434         (handle_aligned_attribute): In choose strictest alignment
435         among many.  Use new check_cxx_fundamental_alignment_constraints.
436         (handle_transparent_union_attribute): In c++11 attribute syntax,
437         don't look through typedefs.
439 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
441         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
442         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
443         out of dumpfile.h.
445 2012-09-25  Dehao Chen  <dehao@google.com>
447         PR middle-end/54645
448         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
449         map when read in the pch.
451 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
453         * c-ada-spec.c: Style fixes.
455 2012-09-18 Thomas Quinot  <quinot@adacore.com>
457         * c.opt (-fada-spec-parent): Define new command line switch.
458         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
459         is specified, generate binding spec as a child of the specified unit.
461 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
462             Manuel López-Ibáñez  <manu@gcc.gnu.org>
464         PR c++/53210
465         * c.opt ([Winit-self]): Enabled by -Wall in C++.
467 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
469         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
470         for pointers, and add missing Convention C pragma.
471         (print_ada_struct_decl): Add missing aliased keyword.
472         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
474 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
476         * c-common.c (sizeof_pointer_memaccess_warning): New function.
477         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
478         * c-opts.c (c_common_handle_option): Enable it for -Wall.
479         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
480         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
482 2012-08-10  Richard Guenther  <rguenther@suse.de>
484         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
486 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
488         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
489         instead of separate pp_newline and pp_flush.
490         (print_c_tree): Likewise.
492 2012-07-26  Richard Henderson  <rth@redhat.com>
494         * c-common.c (handle_hot_attribute): Allow labels.
495         (handle_cold_attribute): Likewise.
497 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
499         PR c++/28656
500         * c-common.c (check_function_nonnull): Handle multiple nonnull
501         attributes properly.
503 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
505         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
506         * c-ada-spec.c: Likewise.
507         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
509 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
511         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
512         Remove code conditional on it.
514 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
516         * c-gimplify.c: Do not include basic-block.h.
517         * c-common.c: Do not include linfuncs.h.
519 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
521         * c-common.h: Include tree.h.
523 2012-07-02  Jason Merrill  <jason@redhat.com>
525         PR c++/53524
526         * c-common.c (get_priority): Call default_conversion.
528 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
530         * c-pch.c (c_common_write_pch): Remove unused variables.
532 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
534         * cppspec.c: Moved from gcc/ to here.
536 2012-06-27  Kai Tietz  <ktietz@redhat.com>
538         PR preprocessor/37215
539         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
541 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
543         * c-common.h (c_common_print_pch_checksum): Remove.
544         * c-pch.c: Do not include output.h.
545         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
546         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
547         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
548         (struct c_pch_header): Remove.
549         (get_ident): Update gpch version.
550         (pch_init): Do not print executable_checksum to asm_out_file.
551         Do not fail if there is no asm_out_file to read back from.  Set
552         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
553         (c_common_write_pch): Verify that nothing was written to asm_out_file
554         since pch_init was called.  Do not write a c_pch_header, and do not
555         copy from asm_out_file to the PCH.
556         (c_common_read_pch): Do not read a c_pch_header, and do not restore
557         the content of asm_out_file from the PCH.
558         (c_common_print_pch_checksum): Remove.
559         * c-opts.c (c_common_init): Print out executable_checksum directly.
561 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
563         * c-target.def (objc_declare_unresolved_class_reference,
564         objc_declare_class_definition): Add new hooks.
566 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
568         * c-lex.c: Do not include output.h.
569         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
570         Remove uses of ASM_OUTPUT_IDENT.
572 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
574         PR c++/51033
575         * c-common.h (c_build_vec_perm_expr): Move decl here.
576         * c-common.c (c_build_vec_perm_expr): Move definition
577         here.
579 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
581         * c.opt (fconserve-space): Turn into a no-op.
583 2012-06-04  Sterling Augustine  <saugustine@google.com>
585         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
586         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
587         both the start and end of the function.
589 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
591         * c-common.c: Do not include output.h.
592         * c-pragma.c: Likewise.
594 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
596         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
597         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
598         (lang_decl_name): Handle namespace decls.
600 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
602         * c-ada-spec.c: Do not include output.h.
603         * c-semantics.c: Likewise.
605 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
607         * c-common.c: Fix typo.
609 2012-05-29  Michael Matz  <matz@suse.de>
611         * c-common.h (c_expand_decl): Remove prototype.
613 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
615         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
616         * c-opts.c (c_common_handle_option): Remove code handling
617         warn_missing_braces.
619 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
621         PR c++/25137
622         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
623         -Wmissing_braces.
625 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
627         PR c++/53322
628         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
630 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
632         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
633         * c-opts.c (c_common_handle_option): Do not handle explicitly
634         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
636 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
638         PR preprocessor/7263
639         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
640         to cpp_classify_number.  For diagnostics, use the precise location
641         instead of the global input_location.
643 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
645         PR c++/11856
646         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
648 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
650         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
652 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
654         PR 53063
655         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
656         Wreorder): Use LangEnabledBy.
657         * c-opts.c (c_common_handle_option): Do not enable them
658         explicitly. Call lang-specific generated functions.
659         (c_common_post_options): Do not set them here.
661 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
663         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
664         Wmissing-field-initializers,Wmissing-parameter-type,
665         Wold-style-declaration,Woverride-init): Use EnabledBy.
666         * c-opts.c (c_common_post_options): Do not set here explicitly.
668 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
670         PR 53063
671         * c-opts.c (c_common_handle_option): Use handle_generated_option
672         to enable sub-options.
674 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
676         PR c++/53158
677         * c-common.c (warnings_for_convert_and_check): Use warning_at.
679 2012-05-10  Richard Guenther  <rguenther@suse.de>
681         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
682         adjust commentary about TYPE_IS_SIZETYPE types.
684 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
686         PR c++/53261
687         * c-common.c (warn_logical_operator): Check that argument of
688         integer_zerop is not NULL.
690 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
692         PR c/43772
693         * c-common.c (warn_logical_operator): Do not warn if either side
694         is already true or false.
696 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
698         PR c/51712
699         * c-common.c (expr_original_type): New.
700         (shorten_compare): Do not warn for enumeration types.
702 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
704         * c.opt (fpermissive): Add Var(flag_permissive).
706 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
708         PR c++/51033
709         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
710         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
712 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
714         Add -Wvarargs option
715         * c.opt (Wvarargs):  Define new option.
717 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
719         * c-common.c (check_function_arguments): Replace
720         Wmissing-format-attribute with Wsuggest-attribute=format.
722 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
724         * c.opt (Wsuggest-attribute=format): New. Alias of
725         Wmissing-format-attribute.
726         * c-format.c (decode_format_type): Replace
727         Wmissing-format-attribute with Wsuggest-attribute=format.
728         (check_function_format): Likewise.
730 2012-04-27  Ollie Wild  <aaw@google.com>
732         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
733         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
734         * c.opt: Add Wliteral-suffix.
736 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
738         PR c/44774
739         * c.opt (Wpedantic): New.
740         (pedantic): Alias Wpedantic.
741         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
742         (c_common_post_options): Likewise.
743         (sanitize_cpp_opts): Likewise.
744         * c-lex.c (interpret_float): Likewise.
745         * c-format.c (check_format_types): Likewise.
746         * c-common.c (pointer_int_sum): Likewise.
747         (c_sizeof_or_alignof_type): Likewise.
748         (c_add_case_label): Likewise.
749         (c_do_switch_warnings): Likewise.
750         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
752 2012-04-15  Jason Merrill  <jason@redhat.com>
754         PR c++/52818
755         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
756         (C_STD_NAME): Distinguish between C++98 and C++11.
758 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
760         PR target/52624
761         * c-common.h (uint16_type_node): Rename into...
762         (c_uint16_type_node): ...this.
763         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
764         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
766 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
768         * c-common.c (warn_if_unused_value): Move definition to here.
769         * c-common.h (warn_if_unused_value): Move declaration to here.
771 2012-03-23  William Bader  <williambader@hotmail.com>
773         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
775 2012-03-20  Jason Merrill  <jason@redhat.com>
777         * c-common.h (enum cxx_dialect): Add cxx1y.
778         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
779         test.
780         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
781         * c-opts.c (c_common_post_options): Likewise.
782         (set_std_cxx1y): New.
783         (c_common_handle_option): Call it.
784         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
786 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
788         PR c++/14710
789         * c.opt ([Wuseless-cast]): Add.
791 2012-03-16  Richard Guenther  <rguenther@suse.de>
793         * c-pretty-print.c (pp_c_initializer_list): Adjust.
795 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
797         PR c++/44783
798         * c.opt (ftemplate-backtrace-limit) Add.
800 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
802         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
803         handling.
804         * c-pragma.c (handle_pragma_extern_prefix): Remove.
805         (init_pragma): Don't register extern_prefix.
807 2012-03-12  Richard Guenther  <rguenther@suse.de>
809         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
810         (builtin_type_for_size): Likewise.
812 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
814         PR c++/52215
815         * c-common.c (sync_resolve_params): Don't decide whether to convert
816         or not based on TYPE_SIZE comparison, convert whenever arg_type
817         is unsigned INTEGER_TYPE.
819 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
821         PR c/52118
822         * c.opt ([Wunused-local-typedefs]): Fix description.
824 2012-01-24  Mike Stump  <mikestump@comcast.net>
826         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
827         exactly.
829 2012-01-18  Richard Guenther  <rguenther@suse.de>
831         * c-opts.c (c_common_post_options): Reset LTO flags if
832         we are about to generate a PCH.
834 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
836         PR c++/51777
837         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
838         use pp_unsigned_wide_integer.
840 2012-01-10  Richard Guenther  <rguenther@suse.de>
842         PR middle-end/51806
843         * c-opts.c (c_common_handle_option): Move -Werror handling
844         to language independent code.
846 2012-01-05  Richard Guenther  <rguenther@suse.de>
848         PR middle-end/51764
849         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
850         from common.opt.
852 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
854         PR c++/51316
855         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
856         of array types with an unknown bound.
858 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
860         * c-common.c (flag_isoc99): Update comment to refer to C11.
861         (flag_isoc1x): Change to flag_isoc11.
862         * c-common.h (flag_isoc99): Update comment to refer to C11.
863         (flag_isoc1x): Change to flag_isoc11.
864         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
865         C11.
866         * c-opts.c (set_std_c1x): Change to set_std_c11.
867         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
868         Call set_std_c11.
869         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
870         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
871         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
872         standard.
873         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
874         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
875         (std=gnu1x): Make alias of std=gnu11.
877 2011-12-19  Jason Merrill  <jason@redhat.com>
879         PR c++/51228
880         * c-common.c (handle_transparent_union_attribute): Check the first
881         field if the type is complete.
883 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
885         PR libstdc++/51365
886         * c-common.c (RID_IS_FINAL): Add.
887         * c-common.h (RID_IS_FINAL): Add.
889 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
891         * c.opt (fgnu-runtime): Provide full description.
892         (fnext-runtime): Likewise.
893         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
895 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
897         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
898         predefines in one place.  Add LOCK_FREE predefines.
899         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
900         new func.
902 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
904         PR c/51256
905         * c-common.c (get_atomic_generic_size): Check for various error
906         conditions
907         (resolve_overloaded_atomic_exchange,
908         resolve_overloaded_atomic_compare_exchange,
909         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
910         error_mark_node for error conditions.
912 2011-11-08  Richard Guenther  <rguenther@suse.de>
914         PR middle-end/51010
915         c-family/
917 2011-11-07  Richard Henderson  <rth@redhat.com>
918             Aldy Hernandez  <aldyh@redhat.com>
919             Torvald Riegel  <triegel@redhat.com>
921         Merged from transactional-memory.
923         * c-common.c (handle_tm_wrap_attribute,
924         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
925         (struct c_common_reswords): Added __transaction* keywords.
926         (struct c_common_attribute_table): Added transaction* and tm_regparm
927         attributes.
928         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
929         masks.
930         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
931         find_tm_attribute): Declare.
933 2011-11-07  Jason Merrill  <jason@redhat.com>
935         PR c++/35688
936         * c-common.c, c-common.h: Revert yesterday's changes.
938 2011-11-06  Jason Merrill  <jason@redhat.com>
940         PR c++/35688
941         * c-common.c (decl_has_visibility_attr): Split out from...
942         (c_determine_visibility): ...here.
943         * c-common.h: Declare it.
945 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
947         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
948         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
949         type.
950         (check_user_alignment): New.  Split out of
951         handle_aligned_attribute.  Disallow integer constants with
952         noninteger types.  Conditionally allow zero.
953         (handle_aligned_attribute): Use check_user_alignment.
954         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
956 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
957             Richard Henderson  <rth@redhat.com>
959         Merged from cxx-mem-model.
961         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
962         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
963         parameters that are the same type size.
964         (get_atomic_generic_size): New.  Find size of generic
965         atomic function parameters and do typechecking.
966         (add_atomic_size_parameter): New.  Insert size into parameter list.
967         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
968         either __atomic_exchange_n or external library call.
969         (resolve_overloaded_atomic_compare_exchange): Restructure
970         __atomic_compare_exchange to either _n variant or external library call.
971         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
972         __atomic_load_n or an external library call.
973         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
974         __atomic_store_n or an external library call.
975         (resolve_overloaded_builtin): Handle new __atomic builtins.
977 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
979         PR c++/50608
980         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
981         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
982         <INDIRECT_REF>: Return the argument.
983         <ARRAY_REF>: Remove special code for negative offset.
984         Call fold_build_pointer_plus instead of size_binop.
985         (fold_offsetof): Remove STOP_REF argument and adjust.
986         * c-common.h (fold_offsetof_1): Declare.
987         (fold_offsetof): Remove STOP_REF argument.
989 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
991         PR c++/50810
992         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
993         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
994         Wnarrowing for C++0x and C++98.
995         * c.opt ([Wnarrowing]): Update.
997 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
999         PR c++/44277
1000         * c.opt: Add Wzero-as-null-pointer-constant.
1002 2011-10-31  Jason Merrill  <jason@redhat.com>
1004         * c.opt (-fdeduce-init-list): Off by default.
1006         PR c++/50920
1007         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1008         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1009         and -Wc++11-compat.
1010         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1012 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1014         PR c++/30066
1015         * c.opt (fvisibility-inlines-hidden): Description change.
1017 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1019         Implement C++11 user-defined literals.
1020         * c-common.c (build_userdef_literal): New.
1021         * c-common.def: New tree code.
1022         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1023         * c-lex.c (interpret_float): Add suffix parm.
1024         (c_lex_with_flags): Build literal tokens.
1026 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1028         PR c++/50841
1029         Revert:
1030         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1032         PR c++/50810
1033         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1034         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1035         Wnarrowing for C++0x and C++98.
1036         * c.opt ([Wnarrowing]): Update.
1038 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1040         PR c++/50810
1041         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1042         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1043         Wnarrowing for C++0x and C++98.
1044         * c.opt ([Wnarrowing]): Update.
1046 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1048         PR c++/45385
1049         * c-common.c (conversion_warning): Remove code looking for
1050         artificial operands.
1052 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1054         PR bootstrap/50760
1055         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1056         !NO_IMPLICIT_EXTERN_C.
1058 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1060         * c-common.c (c_common_reswords): Add __bases,
1061         __direct_bases.
1062         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1064 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1066         PR c++/50757
1067         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1069 2011-10-15  Tom Tromey  <tromey@redhat.com>
1070             Dodji Seketeli  <dodji@redhat.com>
1072         * c.opt (fdebug-cpp): New option.
1073         * c-opts.c (c_common_handle_option): Handle the option.
1074         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1075         output stream in parameter. Factorized from ...
1076         (maybe_print_line): ... this. Dump location debug information when
1077         -fdebug-cpp is in effect.
1078         (print_line_1): New static function. Takes an output stream in
1079         parameter. Factorized from ...
1080         (print_line): ... here. Dump location information when -fdebug-cpp
1081         is in effect.
1082         (scan_translation_unit): Dump location information when
1083         -fdebug-cpp is in effect.
1085 2011-10-15  Tom Tromey  <tromey@redhat.com>
1086             Dodji Seketeli  <dodji@redhat.com>
1088         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1089         without argument.
1090         * c-opts.c (c_common_handle_option)<case
1091         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1092         cases. Handle -ftrack-macro-expansion with and without argument.
1094 2011-10-15  Tom Tromey  <tromey@redhat.com>
1095             Dodji Seketeli  <dodji@redhat.com>
1097         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1098         (print_line, cb_define, do_line_change): Adjust to avoid touching
1099         the internals of struct line_map.  Use the public API instead.
1100         * c-pch.c (c_common_read_pch): Likewise.
1101         * c-lex.c (fe_file_change): Likewise.
1103 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1105         PR c++/17212
1106         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1108 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1110         PR c++/33067
1111         * c-pretty-print.c (pp_c_floating_constant): Output
1112         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1114 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1116         * c-common.c (def_builtin_1): Delete old interface with two
1117         parallel arrays to hold standard builtin declarations, and replace
1118         it with a function based interface that can support creating
1119         builtins on the fly in the future.  Change all uses, and poison
1120         the old names.  Make sure 0 is not a legitimate builtin index.
1121         * c-omp.c (c_finish_omp_barrier): Ditto.
1122         (c_finish_omp_taskwait): Ditto.
1123         (c_finish_omp_flush): Ditto.
1125 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1127         * c.opt: (fallow-parameterless-variadic-functions): New.
1129 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1131         PR c++/33255 - Support -Wunused-local-typedefs warning
1132         * c-common.h (struct c_language_function::local_typedefs): New
1133         field.
1134         (record_locally_defined_typedef, maybe_record_typedef_use)
1135         (maybe_warn_unused_local_typedefs): Declare new functions.
1136         * c-common.c (record_locally_defined_typedef)
1137         (maybe_record_typedef_use)
1138         (maybe_warn_unused_local_typedefs): Define new functions.
1139         * c.opt: Declare new -Wunused-local-typedefs flag.
1141 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1143         PR middle-end/50266
1144         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1145         computations.
1147 2011-09-05  Richard Guenther  <rguenther@suse.de>
1149         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1150         of integer_minus_one_node for empty array upper bounds.
1152 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1154         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1155         it's the first time it's being called on this main TU.
1157 2011-08-24  Richard Guenther  <rguenther@suse.de>
1159         PR c/49396
1160         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1162 2011-08-22  Gabriel Charette  <gchare@google.com>
1164         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1165         defined in cpp_init_builtins and c_cpp_builtins.
1167 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1169         * c-common.c (c_common_reswords): Add __builtin_complex.
1170         * c-common.h (RID_BUILTIN_COMPLEX): New.
1172 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1174         * c-common.c (c_common_reswords): Add _Noreturn.
1175         (keyword_is_function_specifier): Handle RID_NORETURN.
1176         * c-common.h (RID_NORETURN): New.
1178 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1180         * c-common.c (unsafe_conversion_p): New function. Check if it is
1181         unsafe to convert an expression to the type.
1182         (conversion_warning): Adjust, use unsafe_conversion_p.
1183         * c-common.h (unsafe_conversion_p): New function declaration.
1185 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1187         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1188         (c_finish_omp_taskyield): New prototype.
1189         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1190         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1191         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1192         or RHS1 have side-effects, evaluate those too in the right spot,
1193         if it is a decl and LHS is also a decl, error out if they
1194         aren't the same.
1195         (c_finish_omp_taskyield): New function.
1196         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1197         * c-pragma.c (omp_pragmas): Add taskyield.
1198         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1199         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1200         PRAGMA_OMP_CLAUSE_MERGEABLE.
1202 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1204         * c-common.h (set_underlying_type): Remove parm name from
1205         declaration.
1207 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1209         * c-pretty-print.h: Search c-common.h in c-family.
1211 2011-07-22  Jason Merrill  <jason@redhat.com>
1213         PR c++/49793
1214         * c.opt (Wnarrowing): New.
1216         PR c++/30112
1217         * c-common.h: Declare c_linkage_bindings.
1218         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1220         PR c++/49813
1221         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1222         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1223         as flag_isoc99 for 'restrict'.
1224         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1226 2011-07-21  Ian Lance Taylor  <iant@google.com>
1228         PR middle-end/49705
1229         * c-common.c (c_disable_warnings): New static function.
1230         (c_enable_warnings): New static function.
1231         (c_fully_fold_internal): Change local unused_p to bool.  Call
1232         c_disable_warnings and c_enable_warnings rather than change
1233         c_inhibit_evaluation_warnings.
1235 2011-07-20  Jason Merrill  <jason@redhat.com>
1237         PR c++/6709 (DR 743)
1238         PR c++/42603 (DR 950)
1239         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1240         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1241         (CPP_DECLTYPE): New.
1242         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1244 2011-07-19  Richard Guenther  <rguenther@suse.de>
1246         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1247         * c-omp.c (c_finish_omp_for): Likewise.
1249 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1251         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1252         body on the next line.
1254 2011-07-08  Jason Merrill  <jason@redhat.com>
1256         PR c++/45437
1257         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1259         PR c++/49673
1260         * c-common.c (c_apply_type_quals_to_decl): Don't check
1261         TYPE_NEEDS_CONSTRUCTING.
1263 2011-07-06  Richard Guenther  <rguenther@suse.de>
1265         * c-common.c (c_common_nodes_and_builtins):
1266         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1268 2011-07-05  Richard Guenther  <rguenther@suse.de>
1270         * c-common.c (c_common_nodes_and_builtins): Build all common
1271         tree nodes first.
1273 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1275         * c-common.h (c_tree_chain_next): New static inline function.
1277         * c-common.c (check_builtin_function_arguments): Handle
1278         BUILT_IN_ASSUME_ALIGNED.
1280 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1282         * c-common.c: Add sync_ or SYNC__ to builtin names.
1283         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1285 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1287         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1288         handler.
1289         (gen_pragma_handler): New union.
1290         (internal_pragma_handler): New type.
1291         (c_register_pragma_with_data)
1292         (c_register_pragma_with_expansion_and_data): New functions.
1294         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1295         (c_register_pragma, c_register_pragma_with_expansion)
1296         (c_invoke_pragma_handler): Changed to work with
1297         internal_pragma_handler.
1298         (c_register_pragma_with_data)
1299         (c_register_pragma_with_expansion_and_data): New functions.
1301 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1303         * c-common.c: Include common/common-target.h.
1304         (handle_section_attribute): Use
1305         targetm_common.have_named_sections.
1306         * c-cppbuiltin.c: Include common/common-target.h.
1307         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1309 2011-06-10  Richard Guenther  <rguenther@suse.de>
1311         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1312         to print a IDENTIFIER_NODE.
1314 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1315             Joseph Myers  <joseph@codesourcery.com>
1317         * c.opt (fbuilding-libgcc): New option.
1318         * c-cppbuiltin.c (c_cpp_builtins): Define
1319         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1321 2011-06-07  Jason Merrill  <jason@redhat.com>
1323         * c-common.c (max_tinst_depth): Lower default to 900.
1325         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1327 2011-06-07  Richard Guenther  <rguenther@suse.de>
1329         * c-common.c (c_common_nodes_and_builtins): Do not set
1330         size_type_node or call set_sizetype.
1332 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1334         PR debug/49130
1335         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1336         type when using pointer comparison to compare types.
1338 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1340         * c.opt: Add -Wdelete-non-virtual-dtor.
1341         * c-opts.c (c_common_handle_option): Include it in -Wall.
1343 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1345         PR bootstrap/49190
1347         Revert:
1348         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1350         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1351         not tree_common.
1353 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1355         PR c++/49165
1356         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1357         C++ don't call c_common_truthvalue_conversion on void type arms.
1359 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1361         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1362         (stmt_list_stack): Define.
1363         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1364         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1366 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1368         * c-common.c (warning_candidate_p): Check for BLOCKs.
1370 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1372         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1373         not tree_common.
1375 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1377         * c-common.c (def_fn_type): Remove extra va_end.
1379 2011-05-23  Jason Merrill  <jason@redhat.com>
1381         PR c++/48106
1382         * c-common.c (c_common_get_narrower): New.
1383         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1385 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
1387         * c-common.h (check_function_arguments): Tweak prototype of
1388         check_function_arguments.
1389         * c-common.c (check_function_arguments): Likewise.  Adjust
1390         calls to check_function_nonnull, check_function_format, and
1391         check_function_sentinel.
1392         (check_function_sentinel): Take a FUNCTION_TYPE rather than
1393         separate attributes and typelist arguments.  Use
1394         FOREACH_FUNCTION_ARGS to iterate over argument types.
1396 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1398         * c-common.c (c_common_reswords): Reorder.
1399         * c-common.h (rid): Likewise.
1401 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
1403         * c-common.c (def_fn_type): Don't call build_function_type, call
1404         build_function_type_array or build_varargs_function_type_array
1405         instead.
1406         (c_common_nodes_and_builtins): Likewise.
1408 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1410         * c-common.c (c_add_case_label): Omit the loc argument to
1411         build_case_label.
1412         * c-common.h (build_case_label): Remove.
1413         * c-semantics.c (build_case_label): Remove.
1415 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
1417         * c-objc.h (objc_start_method_definition): Update prototype.
1418         * stub-objc.c (objc_start_method_definition): Add extra parameter.
1420 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
1422         * c-common.c (check_main_parameter_types): Reindent.  Don't use
1423         TYPE_ARG_TYPES directly.
1424         (handle_nonnull_attribute): Likewise.
1425         (sync_resolve_params): Likewise.
1426         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
1427         to check_format_string.
1428         (handle_format_attribute): Likewise.
1429         (check_format_string): Take a function type to examine instead of
1430         a type list.  Use a function_arg_iterator to step through argument
1431         types.
1433 2011-05-04  Richard Guenther  <rguenther@suse.de>
1435         * c-common.c (fix_string_type): Use size_int for index type bounds.
1436         (start_fname_decls): Do not pass NULL to build_int_cst.
1437         (c_init_attributes): Likewise.
1438         * c-lex.c (c_lex_with_flags): Likewise.
1440 2011-04-27  Jason Merrill  <jason@redhat.com>
1442         * c-common.c (make_tree_vector_from_list): New.
1443         * c-common.h: Declare it.
1445 2011-04-26  Richard Guenther  <rguenther@suse.de>
1447         PR preprocessor/48248
1448         * c-ppoutput.c (maybe_print_line): Always optimize newlines
1449         for output size with -P.
1451 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1453         * c-common.c (struct c_common_resword): Add __underlying_type.
1454         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1456 2011-04-20  Jim Meyering  <meyering@redhat.com>
1458         * c-format.c (init_dollar_format_checking): Remove useless
1459         if-before-free.
1461 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1463         * c-objc.h (objc_get_interface_ivars): Removed.
1464         (objc_detect_field_duplicates): New.
1465         * stub-objc.c: Likewise.
1467 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1469         * stub-objc.c (objc_declare_protocols): Renamed to
1470         objc_declare_protocol.
1471         * c-objc.h: Likewise.
1473 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1475         * stub-objc.c (objc_declare_class): Updated argument name.
1477 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1479         * c-common.h (c_common_init_ts): Declare.
1480         * c-common.c (c_common_init_ts): Define.
1482 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1484         * c-objc.h (objc_build_message_expr): Updated prototype.
1485         * stub-objc.c (objc_build_message_expr): Likewise.
1487 2011-04-12  Martin Jambor  <mjambor@suse.cz>
1489         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1490         of cgraph_node.
1492 2011-04-11  Richard Guenther  <rguenther@suse.de>
1494         * c-common.c (complete_array_type): Build a range type of
1495         proper type.
1497 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
1499         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1500         (handle_type_generic_attribute): Likewise.
1502 2011-04-07  Jason Merrill  <jason@redhat.com>
1504         PR c++/48450
1505         * c-common.c (c_common_truthvalue_conversion): Don't ignore
1506         conversion from C++0x scoped enum.
1508 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
1510         * c-target-def.h: New file.
1511         * c-target.def: New file.
1512         * c-target.h: New file.
1513         * c-common.c (targetcm): Don't define here.
1514         * c-common.h (default_handle_c_option): Declare.
1515         * c-format.c: Include c-target.h instead of target.h.
1516         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
1517         include tm.h.
1518         (default_handle_c_option): Move from targhooks.c.
1520 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
1522         PR preprocessor/48248
1523         * c-ppoutput.c (print): Add src_file field.
1524         (init_pp_output): Initialize it.
1525         (maybe_print_line): Don't optimize by adding up to 8 newlines
1526         if map->to_file and print.src_file are different file.
1527         (print_line): Update print.src_file.
1529 2011-03-25  Kai Tietz  <ktietz@redhat.com>
1531         * c-ada-spec.c (compare_comment): Use filename_cmp
1532         instead of strcmp for filename.
1534 2011-03-25  Jeff Law  <law@redhat.com>
1536         * c-family/c-common.c (def_fn_type): Add missing va_end.
1538 2011-03-25  Jason Merrill  <jason@redhat.com>
1540         * c.opt: Add -std=c++03.
1542 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
1544         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1546 2011-03-17  Kai Tietz
1548         PR target/12171
1549         * c-pretty-print.c (pp_c_specifier_qualifier_list):
1550         Display allowed attributes for function pointer types.
1551         (pp_c_attributes_display): New function to display
1552         attributes having affects_type_identity flag set to true.
1553         * c-pretty-print.h (pp_c_attributes_display): New prototype.
1555         * c-common.c (c_common_attribute_table):
1556         Add new element.
1557         (c_common_format_attribute_table): Likewise.
1559 2011-03-18  Jason Merrill  <jason@redhat.com>
1561         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1562         * c-common.h: Don't declare it here.
1563         * c-common.c: Or define it here.
1564         * c-opts.c (c_common_handle_option): Or set it here.
1566         PR c++/35315
1567         * c-common.c (handle_transparent_union_attribute): Don't
1568         make a duplicate type in C++.
1570 2011-03-15  Jason Merrill  <jason@redhat.com>
1572         * c-common.c (max_constexpr_depth): New.
1573         * c-common.h: Declare it.
1574         * c-opts.c (c_common_handle_option): Set it.
1575         * c.opt (fconstexpr-depth): New option.
1577 2011-03-11  Jason Merrill  <jason@redhat.com>
1579         * c-common.c (attribute_takes_identifier_p): Add missing const.
1581         PR c++/46803
1582         * c-common.c (attribute_takes_identifier_p): Assume that an
1583         unknown attribute takes an identifier.
1585 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
1587         PR c/47786
1588         * c-common.c (c_type_hash): Call list_length instead of iterating
1589         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
1591 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1593         PR c/47809
1594         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1596 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1598         * c.opt (fobjc-abi-version=) New.
1599         (fobjc-nilcheck): New.
1601 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
1603         PR c++/46890
1604         * c-common.h (keyword_is_decl_specifier): Declare.
1605         * c-common.c (keyword_is_decl_specifier): Define.
1606         (keyword_is_function_specifier): New function.
1608 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1610         PR c/47473
1611         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
1612         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
1613         REAL_TYPE.
1615 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
1617         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
1619 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
1621         PR pch/47430
1622         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
1623         after init_c_lex if pch_file is set.
1625 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1627         PR c++/43601
1628         * c.opt (-fkeep-inline-dllexport): New switch.
1630 2011-01-12  Richard Guenther  <rguenther@suse.de>
1632         PR middle-end/32511
1633         * c-common.c (handle_weak_attribute): Warn instead of error
1634         on declaring an inline function weak.
1636 2011-01-05  Tom Tromey  <tromey@redhat.com>
1638         * c-common.h (lvalue_error): Update.
1639         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
1640         not error.
1642 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1644         PR objc/47075
1645         * c-objc.h (objc_finish_message_expr): Added argument to
1646         prototype.
1648 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
1650         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
1651         Use prototype_p.
1653 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1655         * c-objc.h (objc_maybe_warn_exceptions): New.
1656         * stub-objc.c (objc_maybe_warn_exceptions): New.
1658 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
1660         * c-common.h (readonly_error): Declare.
1661         * c-common.c (readonly_error): Define.
1663 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
1665         * c-common.h (invalid_indirection_error): Declare.
1666         * c-common.c (invalid_indirection_error): Define.
1668 2010-12-03  Richard Guenther  <rguenther@suse.de>
1670         PR c/46745
1671         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
1672         (pp_c_unary_expression): Likewise.
1673         (pp_c_expression): Likewise.
1675 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1677         * c-common.h (objc_finish_function): New.
1678         (objc_non_volatilized_type): Removed.
1679         (objc_type_quals_match): Removed.
1680         * stub-objc.c (objc_finish_function): New.
1681         (objc_non_volatilized_type): Removed.
1682         (objc_type_quals_match): Removed.
1684 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
1686         * c-common.h (parse_optimize_options): Declare.
1687         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
1688         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
1690 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
1692         * c-opts.c (check_deps_environment_vars): Use getenv instead of
1693         GET_ENVIRONMENT.
1694         * c-pch.c (O_BINARY): Don't define here.
1695         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
1697 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
1699         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
1700         targetm.except_unwind_info.
1702 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1704         * c-opts.c (c_common_handle_option): Pass location to
1705         set_struct_debug_option.
1707 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
1709         * c-common.c (visibility_options): Move from ../opts.c.
1710         * c-common.h (struct visibility_flags, visibility_options):
1711         Declare here.
1712         * c-opts.c (finish_options): Rename to c_finish_options.
1713         (c_common_init): Update call to finish_options.
1715 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
1717         PR objc/34033
1718         * c-lex.c (lex_string): Check that each string in an Objective-C
1719         string concat sequence starts with either one or zero '@', and
1720         that there are no spurious '@' signs at the end.
1722 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
1724         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
1725         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
1726         HANDLE_PRAGMA_VISIBILITY.
1727         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
1728         HANDLE_PRAGMA_VISIBILITY): Don't define.
1729         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
1731 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
1733         PR c++/16189
1734         PR c++/36888
1735         PR c++/45331
1736         * c-common.h (keyword_begins_type_specifier): Declare.
1737         (keyword_is_storage_class_specifier): Declare.
1738         (keyword_is_type_qualifier): Declare.
1739         * c-common.c (keyword_begins_type_specifier): New function.
1740         (keyword_is_storage_class_specifier): New function.
1741         (keyword_is_type_qualifier): Declare.
1743 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1745         PR c/46547
1746         * c-common.c (in_late_binary_op): Define.
1747         (c_common_truthvalue_conversion): Check in_late_binary_op before
1748         calling c_save_expr.
1749         * c-common.h (in_late_binary_op): Declare.
1751 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1753         * c-opts.c (c_common_handle_option): Update calls to
1754         set_struct_debug_option.
1756 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1758         * c-common.h (objc_declare_protocols): Added additional argument.
1759         * stub-objc.c (objc_declare_protocol): Same change.
1761 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
1763         PR c/33193
1764         * c-common.h (build_real_imag_expr): Declare.
1765         * c-semantics.c (build_real_imag_expr): Define.
1767 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1769         * c-opts.c (c_common_parse_file): Take no arguments.
1770         * c-common.h (c_common_parse_file): Update prototype.
1772 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
1774         PR c++/46401
1775         * c-common.c (warning_candidate_p): Don't track non-const calls
1776         or STRING_CSTs.
1778 2010-11-15  Ian Lance Taylor  <iant@google.com>
1780         * c-lex.c (init_c_lex): Set macro debug callbacks if
1781         flag_dump_go_spec is set.
1783 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1785         * c-common.h (objc_build_incr_expr_for_property_ref): New.
1786         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
1788 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
1790         PR preprocessor/45038
1791         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
1792         dialects.
1794 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1796         * c-common.h (c_family_lang_mask): Declare.
1797         * c-opts.c (c_family_lang_mask): Make extern.
1798         * c-pragma.c (handle_pragma_diagnostic): Use
1799         control_warning_option.
1801 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1803         * c-common.c (parse_optimize_options): Update call to
1804         decode_options.
1805         * c-common.h (c_common_handle_option): Update prototype.
1806         * c-opts.c (c_common_handle_option): Take location_t parameter and
1807         pass it to other functions.
1809 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1811         * c-opts.c (warning_as_error_callback): Remove.
1812         (c_common_initialize_diagnostics): Don't call
1813         register_warning_as_error_callback.
1814         (c_common_handle_option): Handle -Werror=normalized= here.
1816 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1818         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
1819         in diagnostic.
1820         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
1821         letter.
1822         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
1823         Remove trailing '.' from diagnostics.
1824         * c.opt (Wwrite-strings_: Avoid '`' in help text.
1826 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1828         * c-common.c (parse_optimize_options): Pass global_dc to
1829         decode_options.
1830         * c-opts.c (c_common_handle_option): Pass &global_options to
1831         set_Wstrict_aliasing.
1832         * c.opt (v): Don't mark Common or document here.
1834 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
1836         PR target/44981
1837         * c-format.c (format_type): New type gcc_objc_string_format_type.
1838         (valid_stringptr_type_p): New.
1839         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
1840         (check_format_string): Pass expected type, use
1841         valid_stringptr_type_p (), check that the format string types are
1842         consistent with the format specification.
1843         (decode_format_attr): Warn if NSString is used outside objective-c.
1844         (format_types_orig): Add NSString.
1845         (format_name): New.
1846         (format_flags): New.
1847         (check_format_arg): Handle format strings requiring an external parser.
1848         first_target_format_type: New variable.
1849         (handle_format_attribute): Set up first_target_format_type, pass the
1850         expected format arg string type to check_format_string().
1851         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
1852         * stub-objc.c (objc_string_ref_type_p): New.
1853         (objc_check_format_arg): New.
1855 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
1857         Fixed using the Objective-C 2.0 dot-syntax with class names.
1858         * c-common.h (objc_build_class_component_ref): New.
1859         * stub-objc.c (objc_build_class_component_ref): New.
1861 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1863         * c.opt (Wproperty-assign-default): New option.
1865 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1867         Implemented -fobjc-std=objc1 flag.
1868         * c.opt (fobjc-std=objc1): New option.
1870 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
1872         Implemented format and noreturn attributes for Objective-C methods.
1873         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
1874         attribute for Objective-C methods.
1876 2010-10-31  Jason Merrill  <jason@redhat.com>
1878         * c-common.c (conversion_warning, warn_for_collisions_1): Use
1879         EXPR_LOC_OR_HERE.
1881 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1883         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
1884         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
1885         (objc_add_property_declaration): Removed arguments for copies and
1886         ivar.
1887         (objc_build_getter_call): Renamed to
1888         objc_maybe_build_component_ref.
1889         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1890         (objc_is_property_ref): New.
1891         * c-common.c (c_common_reswords): Removed copies and ivar.
1892         * stub-objc.c (objc_add_property_declaration): Removed arguments
1893         for copies and ivar.
1894         (objc_build_getter_call): Renamed to
1895         objc_maybe_build_component_ref.
1896         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1897         (objc_is_property_ref): New.
1899 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
1900             Matthew Gingell  <gingell@adacore.com>
1902         * c-ada-spec.c (separate_class_package): New function.
1903         (pp_ada_tree_identifier): Prefix references to C++ classes with the
1904         name of their enclosing package.
1905         (print_ada_declaration): Use separate_class_package.
1907 2010-10-27  Jason Merrill  <jason@redhat.com>
1909         * c-common.c (c_common_reswords): Add __is_literal_type.
1910         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
1912         * c-common.c (check_case_value): Remove special C++ code.
1914 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1916         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
1917         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
1918         and RID_LAST_PATTR.
1919         (objc_add_property_declaration): Added additional arguments.
1920         (objc_property_attribute_kind): Removed.
1921         (objc_set_property_attr): Removed.
1922         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
1923         copy and nonatomic.
1924         * stub-objc.c (objc_add_property_declaration): Added additional
1925         arguments.
1926         (objc_set_property_attr): Removed.
1928 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1930         * c-common.h (objc_add_property_variable): Renamed to
1931         objc_add_property_declaration.  Added location argument.
1932         * stub-objc.c (objc_add_property_variable): Same change.
1933         
1934 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
1936         * c-common.h (objc_maybe_printable_name): New.
1937         * stub-objc.c (objc_maybe_printable_name): New.
1939 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1940         Andrew Pinski <pinskia@gmail.com>
1942         * c-common.h (c_common_mark_addressable_vec): Declare.
1943         * c-common.c (c_common_mark_addressable_vec): New function.
1945 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
1947         * c-common.h (objc_set_method_type): Removed.
1948         (objc_add_method_declaration): Added boolean argument.
1949         (objc_start_method_definition): Same change.
1950         (objc_build_method_signature): Same change.
1951         * stub-objc.c (objc_set_method_type): Removed.
1952         (objc_add_method_declaration): Added boolean argument.
1953         (objc_start_method_definition): Same change.
1954         (objc_build_method_signature): Same change.
1956 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
1958         * c-common.h (finish_file): Removed.
1959         (objc_write_global_declarations): New.
1960         * c-opts.c (c_common_parse_file): Do not call finish_file.
1961         * stub-objc.c (objc_write_global_declarations): New.
1963 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1965         Implemented parsing @synthesize and @dynamic for
1966         Objective-C/Objective-C++.
1967         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
1968         (objc_add_synthesize_declaration): New.
1969         (objc_add_dynamic_declaration): New.
1970         * c-common.c (c_common_reswords): Add synthesize and dynamic.
1971         * stub-objc.c (objc_add_synthesize_declaration): New.
1972         (objc_add_dynamic_declaration): New.
1974 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
1976         PR target/46041
1977         * c-cppbuiltin.c (mode_has_fma): Move function here from
1978         builtins.c.  Don't use the fma optab, instead just use the
1979         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
1980         using -save-temps.
1982 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1984         Merge from 'apple/trunk' branch on FSF servers.
1986         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
1988         Radar 4330422
1989         * c-common.h (objc_non_volatilized_type): New declaration
1990         * stub-objc.c (objc_non_volatilized_type): New stub.
1992 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1994         Merge from 'apple/trunk' branch on FSF servers.
1996         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
1998         Radar 4133425
1999         * c-common.h (objc_diagnose_private_ivar): New decl.
2000         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2002 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2004         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2005         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2006         (objc_ivar_visibility_kind): New enum.
2007         (objc_set_visibility): Adjust prototype to use visibility enum.
2008         * stub-objc.c (objc_set_visibility): Adjust stub to use
2009         visibility enum.
2011 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2013         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2014         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2015         has the appropriate fma builtins.
2016         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2018 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2020         merge from FSF apple 'trunk' branch.
2021         2006 Fariborz Jahanian <fjahanian@apple.com>
2023         Radars 4436866, 4505126, 4506903, 4517826
2024         * c-common.c (c_common_resword): Define @property and its attributes.
2025         * c-common.h: Define property attribute enum entries.
2026         (OBJC_IS_PATTR_KEYWORD): New.
2027         (objc_property_attribute_kind): New enum.
2028         Declare objc_set_property_attr (), objc_add_property_variable (),
2029         objc_build_getter_call () and objc_build_setter_call ().
2030         * stub-objc.c (objc_set_property_attr): New stub.
2031         (objc_add_property_variable): Likewise.
2032         (objc_build_getter_call): Likewise.
2033         (objc_build_setter_call) Likewise.
2035 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2037         merge from FSF apple 'trunk' branch.
2038         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2040         Radar 3803157 (method attributes)
2041         * c-common.c (handle_deprecated_attribute): Recognize
2042         objc methods as valid declarations.
2043         * c-common.h: Declare objc_method_decl ().
2044         * stub-objc.c (objc_method_decl): New stub.
2046 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2048         * c-common.c (parse_optimize_options): Call
2049         decode_cmdline_options_to_array_default_mask before
2050         decode_options.  Update arguments to decode_options.
2051         * c-common.h (c_common_init_options_struct): Declare.
2052         * c-opts.c (c_common_init_options_struct): New.  Split out from
2053         c_common_init_options.
2055 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2057         Implemented fast enumeration for Objective-C.
2058         * c-common.h (objc_finish_foreach_loop): New.
2059         * stub-objc.c (objc_finish_foreach_loop): New.
2061 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2063         * c-common.h (struct diagnostic_context): Don't declare here.
2064         (c_common_initialize_diagnostics): Declare using
2065         diagnostic_context typedef.
2066         * c-opts.c (c_common_handle_option): Pass global_dc to
2067         handle_generated_option.
2069 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2071         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2072         handle_generated_option.
2074 2010-10-03  Ian Lance Taylor  <iant@google.com>
2076         * c.opt (-fplan9-extensions): New option.
2078 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2080         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2081         Remove.
2082         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2083         of duplicating code.
2085 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2087         * c-common.c: Add two new entries for @optional
2088         and @required keywords.
2090         merge from FSF 'apple/trunk' branch.
2091         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2093         Radar 4386773
2094         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2095         objective-c keywords.
2096         (objc_set_method_opt): New declaration.
2097         * stub-objc.c (objc_set_method_opt): New stub.
2099 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2101         * c-common.c (handle_optimize_attribute): Pass &global_options to
2102         cl_optimization_save and cl_optimization_restore.
2103         * c-opts.c (c_common_handle_option): Pass &global_options to
2104         handle_generated_option.
2105         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2106         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2107         &global_options to cl_optimization_restore.
2109 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2111         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2112         Objective-C/Objective-C++ keywords.
2114 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2116         Merge from 'apple/trunk' branch on FSF servers.
2118         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2120         Radar 4281748
2121         * c-common.h (objc_check_global_decl): New declaration.
2122         * stub-objc.c (objc_check_global_decl): New stub.
2124 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2126         * c.opt: Don't use VarExists.
2128 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2130         * c-common.c (c_cpp_error): Update names of diagnostic_context
2131         members.
2132         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2133         cl_optimization members.
2134         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2135         sanitize_cpp_opts, finish_options): Update names of cpp_options
2136         members.
2138 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2140         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2141         (objc_is_reserved_word): Removed.
2142         * c-common.c: Updated comments.
2143         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2144         objc_is_reserved_word.
2145         * stub-objc.c (objc_is_reserved_word): Removed.
2147 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2149         * c-common.h (objc_add_method_declaration): Adjust prototype to
2150         include attributes.
2151         (objc_start_method_definition): Likewise.
2152         (objc_build_keyword_decl): Likewise.
2153         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2154         (objc_start_method_definition): Likewise.
2155         (objc_build_keyword_decl): Likewise.
2157 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2159         * c-common.h (objc_start_class_interface): Adjust prototype.
2160         (objc_start_category_interface): Likewise.
2161         (objc_start_protocol): Likewise.
2162         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2163         (objc_start_class_interface): Likewise.
2164         (objc_start_category_interface): Likewise.
2166 2010-09-27  Ian Lance Taylor  <iant@google.com>
2168         * c-common.c (c_common_attribute_table): Add no_split_stack.
2169         (handle_no_split_stack_attribute): New static function.
2171 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2173         Merge from 'apple/trunk' branch on FSF servers.
2175         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2177         Radar 4229905
2178         * c-common.h (objc_have_common_type): New declaration.
2179         * stub-objc.c (objc_have_common_type): New stub.
2181         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2183         Radar 4154928
2184         * c-common.h (objc_common_type): New prototype.
2185         * stub-objc.c (objc_common_type): New stub.
2187 2010-09-24  Jan Hubicka  <jh@suse.cz>
2189         * c-common.c (handle_leaf_attribute): New function.
2190         (struct attribute_spec c_common_att): Add leaf.
2192 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2194         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2195         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2196         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2197         -include-barrier, -include-directory, -include-directory=,
2198         -include-directory-after, -include-directory-after=,
2199         -include-prefix, -include-prefix=, -include-with-prefix,
2200         -include-with-prefix=, -include-with-prefix-after,
2201         -include-with-prefix-after=, -include-with-prefix-before,
2202         -include-with-prefix-before=, -no-integrated-cpp,
2203         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2204         -output=, -pedantic, -pedantic-errors, -preprocess,
2205         -print-missing-file-dependencies, -trace-includes, -traditional,
2206         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2207         -user-dependencies, -verbose, -write-dependencies,
2208         -write-user-dependencies, no-integrated-cpp, traditional): New.
2210 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2212         PR objc/23710
2213         * c-common.h (objc_start_method_definition): Return bool instead
2214         of void.
2215         * stub-objc.c (objc_start_method_definition): Return bool instead
2216         of void.
2218 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2220         PR objc/25965
2221         * c-common.h (objc_get_interface_ivars): New declaration.
2222         * stub-objc.c (objc_get_interface_ivars): New stub.
2224 2010-09-15  Ian Lance Taylor  <iant@google.com>
2226         * c-common.c (parse_optimize_options): Do not capitalize warning
2227         messages.  Remove period at end of warning message.
2229 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2231         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2232         (handle_alias_attribute): ... here.
2233         (handle_ifunc_attribute): New.
2235 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2237         * c-common.h (do_warn_double_promotion): Declare.
2238         * c-common.c (do_warn_double_promotion): Define.
2240 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2242         * c.opt (Wdouble-promotion): New.
2244 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2246         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2247         fvtable-thunks, fxref): Mark no longer supported in help text.
2249 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2251         * c.opt (Wimport, fall-virtual, falt-external-templates,
2252         fdefault-inline, fenum-int-equiv, fexternal-templates,
2253         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2254         fname-mangling-version-, fnew-abi, fnonnull-objects,
2255         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2256         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2257         applicable.
2258         (fhandle-exceptions): Mark with Alias and Warn.
2259         * c-opts.c (c_common_handle_option): Don't handle options marked
2260         as ignored.
2262 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2264         * c.opt (Wcomments, Werror-implicit-function-declaration,
2265         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2266         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2267         aliases.
2268         * c-common.c (option_codes): Use OPT_Wcomment instead of
2269         OPT_Wcomments.
2270         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2271         Don't handle options marked as aliases.
2273 2010-08-25  Richard Guenther  <rguenther@suse.de>
2275         * c-common.c (c_common_get_alias_set): Remove special
2276         handling for pointers.
2278 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2280         * c-common.c: Use FOR_EACH_VEC_ELT.
2281         * c-gimplify.c: Likewise.
2282         * c-pragma.c: Likewise.
2284 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2286         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2287         RejectDriver.
2288         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2289         RejectDriver.
2290         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2291         instead of OPT_MDX and OPT_MMDX.
2293 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2295         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2297 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2299         * c.opt (MD, MMD): Change to MDX and MMDX.
2300         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2302 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2304         * c-opts.c (c_common_handle_option): Call handle_generated_option
2305         instead of handle_option.
2307 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2309         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2310         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2312 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2314         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2315         (pending_redefine_extname): Change type to a VEC.
2316         (add_to_renaming_pragma_list): Update for new type of
2317         pending_redefine_extname.
2318         (maybe_apply_renaming_pragma): Likewise.
2320 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2322         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2323         visited.
2324         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2325         decide whether a type has already been declared/seen.
2326         Do not go to the original type.
2327         (dump_nested_types): New parameter forward.
2328         Generate forward declaration if needed and mark type as visited.
2329         (print_ada_declaration): Call dump_nested_types if not already done.
2330         Mark types as visited.
2332 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2334         * c.opt (-print-pch-checksum): Remove option.
2335         * c-opts.c (c_common_handle_option): Don't handle
2336         OPT_print_pch_checksum.
2338 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2340         * c-common.h (c_common_handle_option): Update prototype and return
2341         value type.
2342         * c-opts.c (c_common_handle_option): Update prototype and return
2343         value type.  Update calls to handle_option and
2344         enable_warning_as_error.
2346 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2348         PR c/45079
2349         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2351 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2353         * c-common.h (c_common_missing_argument): Remove.
2354         * c-opts.c (c_common_missing_argument): Remove.
2355         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2356         idirafter, imacros, include, isysroot, isystem, iquote): Add
2357         MissingArgError.
2358         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2360 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2362         * c-common.h (c_common_option_lang_mask,
2363         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2364         New.
2365         (c_common_init_options): Update prototype.
2366         * c-opts.c (c_common_option_lang_mask): New.
2367         (c_common_initialize_diagnostics): Split out of
2368         c_common_init_options.
2369         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2370         New.
2371         (c_common_init_options): Update prototype.  Use decoded options in
2372         search for -lang-asm.
2374 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2376         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2377         * c-format.c: Likewise.
2379 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2381         * c-common.h: Include diagnostic-core.h. Error if already
2382         included.
2383         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2385 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2387         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2388         Do not include expr.h
2389         (vector_mode_valid_p): Move here.
2391 2010-06-21  DJ Delorie  <dj@redhat.com>
2393         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2394         allow these pragmas anywhere.
2396 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
2398         PR bootstrap/44509
2399         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2400         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2401         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2402         ggc_strdup instead of xstrdup.
2404 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
2406         * c-cppbuiltin.c: Include cpp-id-data.h.
2407         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2408         (lazy_hex_fp_value): New function.
2409         (builtin_define_with_hex_fp_value): Provide definitions lazily.
2411 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2413         * c-gimplify.c: Do not include tree-flow.h
2415 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
2417         PR other/44034
2418         * c-common.c: Rename targetm member:
2419         targetm.enum_va_list -> targetm.enum_va_list_p
2421 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
2423         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2425 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2427         * c-cppbuiltin.c: Do not include except.h.
2429 2010-06-24  Andi Kleen  <ak@linux.intel.com>
2431         * c-common.c (warn_for_omitted_condop): New.
2432         * c-common.h (warn_for_omitted_condop): Add prototype.
2434 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
2436         * c.opt (lang-objc): Remove.
2437         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2439 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
2441         * c-opts.c: Include "tm_p.h".
2443 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
2445         * c-common.c (parse_optimize_options): Update call to
2446         decode_options.
2448 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
2450         * c-common.c (record_types_used_by_current_var_decl): Adjust for
2451         new type of types_used_by_cur_var_decl.
2453 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
2455         PR bootstrap/44512
2456         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2457         for C++ standard compliance.
2459 2010-06-16  Jason Merrill  <jason@redhat.com>
2461         * c.opt: Add -Wnoexcept.
2463 2010-06-16  Richard Guenther  <rguenther@suse.de>
2465         PR c/44555
2466         * c-common.c (c_common_truthvalue_conversion): Remove
2467         premature and wrong optimization concering ADDR_EXPRs.
2469 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
2471         * c-ada-spec.c (dump_sloc): Remove column info.
2472         (is_simple_enum): New function.
2473         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2474         enum types when relevant.
2476 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2478         * c-common.c (conversion_warning): Warn at expression
2479         location.
2481 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
2483         * c-opts.c (c_common_handle_option): Don't handle
2484         OPT_fshow_column.
2486 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2488         * c-pragma.c (push_alignment): Use typed GC allocation.
2489         (handle_pragma_push_options): Likewise.
2491         * c-common.c (parse_optimize_options): Likewise.
2493         * c-common.h (struct sorted_fields_type): Add variable_size GTY
2494         option.
2496 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
2498         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2499         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2500         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2501         flag_signed_bitfields, warn_strict_null_sentinel,
2502         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2503         flag_gen_declaration, flag_no_gnu_keywords,
2504         flag_implement_inlines, flag_implicit_templates,
2505         flag_implicit_inline_templates, flag_optional_diags,
2506         flag_elide_constructors, flag_default_inline, flag_rtti,
2507         flag_conserve_space, flag_access_control, flag_check_new,
2508         flag_new_for_scope, flag_weak, flag_working_directory,
2509         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2510         flag_enforce_eh_specs, flag_threadsafe_statics,
2511         flag_pretty_templates): Remove.
2512         * c-common.h (flag_preprocess_only, flag_nil_receivers,
2513         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2514         flag_replace_objc_classes, flag_undef, flag_no_builtin,
2515         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2516         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2517         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2518         flag_no_gnu_keywords, flag_implement_inlines,
2519         flag_implicit_templates, flag_implicit_inline_templates,
2520         flag_optional_diags, flag_elide_constructors, flag_default_inline,
2521         flag_rtti, flag_conserve_space, flag_access_control,
2522         flag_check_new, flag_new_for_scope, flag_weak,
2523         flag_working_directory, flag_use_cxa_atexit,
2524         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2525         flag_threadsafe_statics, flag_pretty_templates,
2526         warn_strict_null_sentinel): Remove.
2527         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2528         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2529         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2530         fimplicit-inline-templates, fimplicit-templates,
2531         flax-vector-conversions, fms-extensions, fnil-receivers,
2532         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2533         frtti, fshort-double, fshort-enums, fshort-wchar,
2534         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2535         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2536         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2537         gen-decls, undef): Use Var.
2538         (fdefault-inline, foptional-diags): Document as doing nothing.
2539         * c-opts.c (c_common_handle_option): Remove cases for options now
2540         using Var.  Mark ignored options as such.
2542 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
2544         * c-common.c: Moved to here from parent directory.
2545         * c-common.def: Likewise.
2546         * c-common.h: Likewise.
2547         * c-cppbuiltin.c: Likewise.
2548         * c-dump.c: Likewise.
2549         * c-format.c: Likewise.
2550         * c-format.h : Likewise.
2551         * c-gimplify.c: Likewise.
2552         * c-lex.c: Likewise.
2553         * c-omp.c: Likewise.
2554         * c.opt: Likewise.
2555         * c-opts.c: Likewise.
2556         * c-pch.c: Likewise.
2557         * c-ppoutput.c: Likewise.
2558         * c-pragma.c: Likewise.
2559         * c-pragma.h: Likewise.
2560         * c-pretty-print.c: Likewise.
2561         * c-pretty-print.h: Likewise.
2562         * c-semantics.c: Likewise.
2563         * stub-objc.c: Likewise.
2565         * c-common.c: Include gt-c-family-c-common.h.
2566         * c-pragma.c: Include gt-c-family-c-pragma.h.
2568 Copyright (C) 2010-2013 Free Software Foundation, Inc.
2570 Copying and distribution of this file, with or without modification,
2571 are permitted in any medium without royalty provided the copyright
2572 notice and this notice are preserved.