gcc/c-family/
[official-gcc.git] / gcc / c-family / ChangeLog
blob113b4edda79f882bdf6c4e42410a6bb1b052234c
1 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
3         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4         cast to unsigned type.
6 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
8         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
9         tree_low_cst.
10         (complete_array_type): Update comment to refer to tree_to_[su]hwi
11         rather than tree_low_cst.
13 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
15         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
16         tree_to_uhwi throughout.
18 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
20         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
21         tree_low_cst (..., 0) with tree_to_shwi throughout.
23 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
25         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
26         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
28 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
30         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
31         host_integerp (..., 0) with tree_fits_shwi_p throughout.
33 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
35         * c-cilkplus.c: New file.
36         * c-common.c (readonly_error): Add location argument.
37         * c-common.h (readonly_error): Same.
38         (c_finish_cilk_clauses): Protoize.
39         (c_check_cilk_loop): Same.
40         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
41         Do not fail on error_mark_node.
42         Abstract increment canonicalization to here...
43         (c_omp_for_incr_canonicalize_ptr): New.
44         c-pragma.c (init_pragma): Register "simd" pragma.
45         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
46         (enum pragma_cilk_clause): New.
48 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
50         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
51         wchar_type and host_integerp checks.
53 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
55         * c-common.c: Likewise.
56         * c-gimplify.c: Likewise.
57         * cilk.c: Likewise.
59 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
61         * c-common.h (enum rid): Add RID_AUTO_TYPE.
62         * c-common.c (c_common_reswords): Add __auto_type.
63         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
65 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
67         * c-common.c: Include gimplify.h.
68         * c-gimplify.c: Likewise.
69         * cilk.c: Likewise.
70         * c-omp.c: Include gimple-expr.h instead of gimple.h.
71         * c-ubsan.c: Don't include gimple.h.
73 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
75         * c-common.c (c_common_reswords): Add _Thread_local.
77 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
79         * c-common.c (atomic_size_supported_p): New function.
80         (resolve_overloaded_atomic_exchange)
81         (resolve_overloaded_atomic_compare_exchange)
82         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
83         Use it instead of comparing size with a local list of sizes.
85 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
86             Joseph Myers  <joseph@codesourcery.com>
88         * c-common.h (enum rid): Add RID_ATOMIC.
89         * c-common.c (c_common_reswords): Add _Atomic.
90         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
91         (keyword_is_type_qualifier): Accept RID_ATOMIC.
92         * c-format.c (check_format_types): Check for extra _Atomic
93         qualifiers in format argument.
94         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
95         (pp_c_type_qualifier_list): Mention _Atomic in comment.
97 2013-11-06  Tobias Burnus  <burnus@net-b.de>
99         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
101 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
103         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
104         standards modes.
105         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
106         to mean lack of IEEE 754 support.
108 2013-11-05  Tobias Burnus  <burnus@net-b.de>
110         * c.opt (-Wdate-time): New option
111         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
113 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
115         * c-cppbuiltin.c (cpp_iec_559_value): Test
116         flag_excess_precision_cmdline not flag_excess_precision.
118 2013-11-05  Tobias Burnus  <burnus@net-b.de>
120         * c.opt (fopenmp-simd): New option.
121         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
122         (omp_pragmas): ... this new struct.
123         (c_pp_lookup_pragma): Also walk omp_pragmas.
124         (init_pragma): Init pragmas for -fopenmp-simd.
126 2013-11-04  Marek Polacek  <polacek@redhat.com>
128         PR c++/58979
129         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
131 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
133         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
134         New functions.
135         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
137 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
139         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
140         (dump_ada_specs): Adjust prototype of second callback.
141         * c-ada-spec.c (cpp_check): New global variable.
142         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
143         (print_generic_ada_decl): Likewise.
144         (has_static_fields): Change return type to bool and add guard.
145         (has_nontrivial_methods): New predicate.
146         (is_tagged_type): Change return type to bool.
147         (separate_class_package): Call has_nontrivial_methods.
148         (pp_ada_tree_identifier): Minor tweaks.
149         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
150         (dump_ada_array_domains): Likewise.
151         (dump_ada_array_type): Likewise.
152         (dump_template_types): Remove cpp_check parameter and do not pass it to
153         dump_generic_ada_node.
154         (dump_ada_template): Likewise.
155         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
156         recursively.
157         (print_ada_methods): Change return type to integer.  Remove cpp_check
158         parameter and do not pass it down.
159         (dump_nested_types): Remove cpp_check parameter and do not pass it to
160         dump_generic_ada_node.
161         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
162         accessing methods.
163         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
164         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
165         value of print_ada_methods.
166         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
167         Set cpp_check to it before invoking dump_ada_nodes.
168         (dump_ada_specs): Likewise.
170 2013-11-03  Marek Polacek  <polacek@redhat.com>
172         * c-ubsan.c: Don't include hash-table.h.
173         (ubsan_instrument_vla): New function.
174         * c-ubsan.h: Declare it.
176 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
178         Automated part of renaming of symtab_node_base to symtab_node.
180         Patch autogenerated by rename_symtab.py from
181         https://github.com/davidmalcolm/gcc-refactoring-scripts
182         revision 58bb219cc090b2f4516a9297d868c245495ee622
184         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
185         symtab_node_base to symtab_node.
187 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
189         Implement C++14 digit separators.
190         * c-lex.c (interpret_float): Remove digit separators from scratch string
191         before building real literal.
193 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
195         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
197 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
199         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
200         fields.
201         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
202         enabled.
203         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
204         (insert_cilk_frame): New prototype.
205         (cilk_init_builtins): Likewise.
206         (gimplify_cilk_spawn): Likewise.
207         (c_cilk_install_body_w_frame_cleanup): Likewise.
208         (cilk_detect_spawn_and_unwrap): Likewise.
209         (cilk_set_spawn_marker): Likewise.
210         (build_cilk_sync): Likewise.
211         (build_cilk_spawn): Likewise.
212         * cilk.c: New file.
214 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
216         Patch autogenerated by refactor_symtab.py from
217         https://github.com/davidmalcolm/gcc-refactoring-scripts
218         revision 58bb219cc090b2f4516a9297d868c245495ee622
220         * c-gimplify.c (c_genericize): Update for conversion of symtab types
221         to a true class hierarchy.
222         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
224 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
226         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
228 2013-10-26  Jeff Law  <law@redhat.com>
230         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
231         * c-family/c.opt: Ignore and warn for mudflap options.
233 2013-10-24  Tobias Burnus  <burnus@net-b.de>
235         PR other/33426
236         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
237         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
239 2013-10-23  Jason Merrill  <jason@redhat.com>
241         * c-format.c (gcc_cxxdiag_char_table): Add %X.
243 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
245         * c-common.h (omp_clause_mask::operator !=): New method.
246         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
247         instead of if (mask & something) tests everywhere.
249         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
250         201307 instead of 201107.
251         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
252         (c_common_attribute_table): Add "omp declare target" and
253         "omp declare simd" attributes.
254         (handle_omp_declare_target_attribute,
255         handle_omp_declare_simd_attribute): New functions.
256         * c-omp.c: Include c-pragma.h.
257         (c_finish_omp_taskgroup): New function.
258         (c_finish_omp_atomic): Add swapped argument, if true,
259         build the operation first with rhs, lhs arguments and use NOP_EXPR
260         build_modify_expr.
261         (c_finish_omp_for): Add code argument, pass it down to make_code.
262         (c_omp_split_clauses): New function.
263         (c_split_parallel_clauses): Removed.
264         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
265         c_omp_declare_simd_clauses_to_decls): New functions.
266         * c-common.h (omp_clause_mask): New type.
267         (OMP_CLAUSE_MASK_1): Define.
268         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
269         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
270         omp_clause_mask::operator |, omp_clause_mask::operator &,
271         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
272         omp_clause_mask::operator ==): New methods.
273         (enum c_omp_clause_split): New.
274         (c_finish_omp_taskgroup): New prototype.
275         (c_finish_omp_atomic): Add swapped argument.
276         (c_finish_omp_for): Add code argument.
277         (c_omp_split_clauses): New prototype.
278         (c_split_parallel_clauses): Removed.
279         (c_omp_declare_simd_clauses_to_numbers,
280         c_omp_declare_simd_clauses_to_decls): New prototypes.
281         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
282         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
283         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
284         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
285         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
286         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
287         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
288         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
289         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
290         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
291         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
292         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
293         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
294         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
295         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
296         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
297         PRAGMA_OMP_CLAUSE_UNIFORM.
299 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
301         PR tree-optimization/20318
302         * c-common.c (handle_returns_nonnull_attribute): New function.
303         (c_common_attribute_table): Add returns_nonnull.
305 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
307         PR c++/19476
308         * c.opt (fcheck-new): Move to common.opt.
310 2013-09-25  Marek Polacek  <polacek@redhat.com>
311             Jakub Jelinek  <jakub@redhat.com>
313         PR sanitizer/58413
314         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
315         an expression if we can prove it is correct.
316         (ubsan_instrument_division): Likewise.  Remove unnecessary
317         check.
319 2013-09-18  Marek Polacek  <polacek@redhat.com>
321         PR sanitizer/58411
322         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
323         Declare it.
324         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
326 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
328         PR target/48094
329         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
330         fobjc-gc, freplace-objc-classes): Accept for LTO.
332 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
334         * c-target.def: New hook
336 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
338         PR c++/43452
339         * c.opt (Wdelete-incomplete): Add.
341 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
343         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
344         (vector_types_compatible_elements_p): New function.
345         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
346         declaration.
347         (vector_types_compatible_elements_p): Declare.
349 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
351         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
352         a virtual member function.
353         (pp_simple_type_specifier): Remove.
354         (pp_c_type_specifier): Likewise.
355         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
356         Rename from pp_c_type_specifier.  Adjust.
357         (c_pretty_printer::c_pretty_printer): Do not assign to
358         simple_type_specifier.
360 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
362         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
363         member function.
364         (c_pretty_printer::storage_class_specifier): Likewise.
365         (c_pretty_printer::initializer): Likewise.
366         (pp_declaration): Remove.
367         (pp_declaration_specifiers): Likewise.
368         (pp_abstract_declarator): Likewise.
369         (pp_declarator): Likewise.
370         (pp_type_id): Likewise.
371         (pp_statement): Likewise.
372         (pp_constant): Likewise.
373         (pp_id_expression): Likewise.
374         (pp_primary_expression): Likewise.
375         (pp_unary_expression): Likewise.
376         (pp_multiplicative_expression): Likewise.
377         (pp_conditional_expression): Likewise.
378         (pp_assignment_expression): Likewise.
379         (pp_expression): Likewise.
380         (pp_c_type_id): Likewise.
381         (pp_c_storage_class_specifier): Likewise.
382         * c-pretty-print.c (pp_c_type_cast): Tidy.
383         (pp_c_pointer): Likewise.
384         (pp_c_type_specifier): Likewise.
385         (pp_c_parameter_type_list): Likewise.
386         (pp_c_function_definition): Likewise.
387         (pp_c_init_declarator): Likewise.
388         (pp_c_initializer_list): Likewise.
389         (pp_c_constructor_elts): Likewise.
390         (c_pretty_printer::direct_abstract_declarator): Likewise.
391         (c_pretty_printer::declaration_specifiers): Likewise.
392         (c_pretty_printer::primary_expression): Likewise.
393         (c_pretty_printer::postfix_expression): Likewise.
394         (c_pretty_printer::type_id): Rename from pp_c_type_id.
395         (c_pretty_printer::storage_class_specifier): Rename from
396         pp_c_storage_class_specifier.
397         (c_pretty_printer::initializer): Rename from pp_c_initializer.
398         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
399         storage_class_specifier, initializer, offset_list, flags.
401 2013-08-30  Marek Polacek  <polacek@redhat.com>
403         * c-ubsan.c: New file.
404         * c-ubsan.h: New file.
406 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
408         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
409         member function.
410         (c_pretty_printer::declaration_specifiers): Likewise.
411         (c_pretty_printer::declarator): Likewise.
412         (c_pretty_printer::abstract_declarator): Likewise.
413         (c_pretty_printer::direct_abstract_declarator): Likewise.
414         (c_pretty_printer::direct_declarator): Likewise.
415         (c_pretty_printer::function_specifier): Likewise.
416         (pp_declaration): Adjust.
417         (pp_declaration_specifiers): Likewise.
418         (pp_abstract_declarator): Likewise.
419         (pp_direct_declarator): Likewise.
420         (pp_function_specifier): Likewise.
421         (pp_direct_abstract_declarator): Remove as unused.
422         (pp_c_declaration): Remove.
423         (pp_c_declaration_specifiers): Likewise.
424         (pp_c_declarator): Likewise.
425         (pp_c_direct_declarator): Likewise.
426         (pp_c_function_specifier): Likewise.
427         (pp_c_direct_abstract_declarator): Likewise.
428         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
429         from pp_c_abstract_declarator.  Adjust.
430         (c_pretty_printer::direct_abstract_declarator):  Rename from
431         pp_c_direct_abstract_declarator.  Adjust.
432         (c_pretty_printer::function_specifier): Rename from
433         pp_c_function_specifier.  Adjust.
434         (c_pretty_printer::declaration_specifiers): Rename from
435         pp_c_declaration_specifiers.  Adjust.
436         (c_pretty_printer::direct_declarator): Rename from
437         pp_c_direct_declarator.  Adjust.
438         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
439         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
440         (c_pretty_printer::c_pretty_printer): Do not assign to
441         declaration, declaration_specifiers, declarator,
442         direct_declarator, direct_abstract_declarator, function_specifier.
444 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
446         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
447         virtual member function.
448         (c_pretty_printer::multiplicative_expression): Likewise.
449         (c_pretty_printer::conditional_expression): Likewise.
450         (c_pretty_printer::assignment_expression): Likewise.
451         (c_pretty_printer::expression): Likewise.
452         (pp_unary_expression): Adjust.
453         (pp_multiplicative_expression): Likewise.
454         (pp_assignment_expression): Likewise.
455         (pp_conditional_expression): Likewise.
456         (pp_expression): Likewise.
457         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
458         from pp_c_unary_expression.  Adjust.
459         (c_pretty_printer::multiplicative_expression): Rename from
460         pp_c_multiplicative_expression.  Adjust.
461         (c_pretty_printer::conditional_expression): Rename from
462         pp_c_conditional_expression.  Adjust.
463         (c_pretty_printer::assignment_expression): Rename from
464         pp_c_assignment_expression.  Adjust.
465         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
466         (c_pretty_printer::c_pretty_printer): Do not assign to
467         unary_expression, multiplicative_expression,
468         conditional_expression, expression.
470 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
472         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
473         virtual member function.
474         (pp_postfix_expression): Adjust.
475         (pp_c_postfix_expression): Remove.
476         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
477         from pp_c_postfix_expression.  Adjust.
478         (c_pretty_printer::c_pretty_printer): Do not assign to
479         postfix_expression.
481 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
483         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
484         virtua member function.
485         (pp_primary_expression): Adjust.
486         (pp_c_primary_expression): Remove.
487         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
488         from pp_c_primary_expression.  Adjust.
489         (pp_c_initializer_list): Use pp_primary_expression.
490         (c_pretty_printer::c_pretty_printer): Do not assign to
491         primary_expression.
493 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
495         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
496         * c-pretty-print.c (M_): Remove.
497         (c_pretty_printer::translate_string): Define.
498         (pp_c_type_specifier): Use it.
499         (pp_c_primary_expression): Likewise.
500         (pp_c_expression): Likewise.
502 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
504         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
505         virtual function.
506         (pp_c_id_expression): Remove.
507         (pp_id_expression): Adjust.
508         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
509         pp_c_id_expression.  Adjust.
510         (pp_c_postfix_expression): Use pp_id_expression.
511         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
513 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
515         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
516         member function.
517         (pp_constant): Adjust.
518         (pp_c_constant): Remove.
519         * c-pretty-print.c (c_pretty_printer::constant): Rename from
520         pp_c_constant.  Adjust.
521         (pp_c_constant)
522         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
523         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
525 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
527         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
528         (c_pretty_printer::c_pretty_printer): Declare.
529         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
530         c_pretty_printer_init.  Adjust.
531         (print_c_tree): Do not call c_pretty_printer_init.
532         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
534 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
536         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
538 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
540         PR c++/58080
541         * c-common.c (pointer_int_sum): Add bool parameter.
542         * c-common.h (pointer_int_sum): Adjust declaration.
544 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
546         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
547         c_pretty_printer variable.
549 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
551         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
552         (pp_base): Remove.
553         (pp_c_base): Likewise.  Adjust users.
554         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
555         (pp_c_whitespace): Do not call pp_base.
556         (pp_c_left_paren): Likewise.
557         (pp_c_right_paren): Likewise.
558         (pp_c_left_brace): Likewise.
559         (pp_c_right_brace): Likewise.
560         (pp_c_left_bracket): Likewise.
561         (pp_c_right_bracket): Likewise.
562         (pp_c_dot): Likewise.
563         (pp_c_ampersand): Likewise.
564         (pp_c_star): Likewise.
565         (pp_c_arrow): Likewise.
566         (pp_c_semicolon): Likewise.
567         (pp_c_complement): Likewise.
568         (pp_c_exclamation): Likewise.
569         (pp_c_direct_declarator): Likewise.
570         (pp_c_ws_string): Likewise.
571         (pp_c_identifier): Likewise.
572         (pp_c_statement): Likewise.
573         (print_c_tree): Likewise.
575 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
577         PR c++/58072
578         * c-common.c (c_parse_error): Catch user-defined literal tokens and
579         provide useful error strings.
581 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
583         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
584         printer functions instead of pp_string or operators and punctuators.
585         (dump_generic_ada_node): Likewise.
586         * c-pretty-print.c (pp_c_type_specifier): Likewise.
587         (pp_c_relational_expression): Likewise.
588         (pp_c_logical_or_expression): Likewise.
590 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
592         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
593         functions instead of pp_character.
594         (pp_ada_tree_identifier): Likewise.
595         (dump_ada_double_name): Likewise.
596         (dump_ada_function_declaration): Likewise.
597         (dump_ada_array_domains): Likewise.
598         (dump_template_types): Likewise.
599         (dump_generic_ada_node): Likewise.
600         (print_ada_declaration): Likewise.
601         (print_ada_struct_decl): Likewise.
602         * c-pretty-print.c (pp_c_integer_constant): Likewise.
604 2013-07-23  Tom Tromey  <tromey@redhat.com>
606         * c-common.h (enum rid) <RID_GENERIC>: New constant.
607         * c-common.c (c_common_reswords): Add _Generic.
609 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
611         * c-common.c: Fix typos.
612         * c-common.h: Likewise.
614 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
616         PR c++/55203
617         * c-common.c (c_common_attribute_table): Add warn_unused.
618         (handle_warn_unused_attribute): New.
620 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
622         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
623         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
625 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
627         PR c++/57869
628         * c.opt: Add Wconditionally-supported.
630 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
632         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
633         unused variables l_length and l_node.
635 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
637         PR c/57821
638         * c-common.c (complete_array_type): Delay folding first index
639         like other indices.  When folding, check for index overflow.
641 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
643         PR c++/57509
644         * c-common.h (c_build_vec_perm_expr): New complain argument.
645         * c-common.c (c_build_vec_perm_expr): Likewise.
646         Use save_expr also in C++.
648 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
650         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
651         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
652         * c-opts.c (c_common_post_options): Likewise.
654 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
656         * array-notation-common.c (length_mismatch_in_expr): Changed the
657         parameter type's from a dynamic array to a vec_tree.  Also removed
658         the size parameters.
659         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
660         the change above.
662 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
664         * c-common.h (struct cilkplus_an_parts): New structure.
665         (struct cilkplus_an_loop_parts): Likewise.
666         (cilkplus_extract_an_triplets): New prototype.
667         (fix_sec_implicit_args): Likewise.
668         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
669         (fix_sec_implicit_args): Likewise.
671 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
673         * array-notation-common.c (find_inv_trees): Removed an unwanted
674         typecasting.
675         * c-common.h (struct inv_list::additional_tcodes): Changed type from
676         enum rid to enum tree_code.
678 2013-06-11  Jan Hubicka  <jh@suse.cz>
680         * c-common.c (handle_alias_ifunc_attribute): Do not set
681         DECL_EXTERNAL for weakref variables.
682         * c-pragma.c (handle_pragma_weak): Make sure aliases
683         are not declared as external.
685 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
687         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
688         function from c/c-array-notation.c.
689         (is_cilkplus_reduce_builtin): Likewise.
690         (find_rank): Likewise.
691         (extract_array_notation_exprs): Likewise.
692         (replace_array_notations): Likewise.
693         (find_inv_trees): Likewise.
694         (replace_inv_trees): Likewise.
695         (contains_array_notation_expr): Likewise.
696         (find_correct_array_notation_type): Likewise.
697         * c-common.h (struct inv_list): Moved this struct from the file
698         c/c-array-notation.c and added a new field called additional tcodes.
699         (length_mismatch_in_expr_p): New prototype.
700         (is_cilkplus_reduce_builtin): Likewise.
701         (find_rank): Likewise.
702         (extract_array_notation_exprs): Likewise.
703         (replace_array_notation): Likewise.
704         (find_inv_trees): Likewise.
705         (replace_inv_trees): Likewise.
706         (find_correct_array_notation_type): Likewise.
708 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
710         * c-common.c (c_define_builtins): When cilkplus is enabled, the
711         function array_notation_init_builtins is called.
712         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
713         * c-common.def (ARRAY_NOTATION_REF): New tree.
714         * c-common.h (build_array_notation_expr): New function declaration.
715         (build_array_notation_ref): Likewise.
716         (extract_sec_implicit_index_arg): New extern declaration.
717         (is_sec_implicit_index_fn): Likewise.
718         (ARRAY_NOTATION_CHECK): New define.
719         (ARRAY_NOTATION_ARRAY): Likewise.
720         (ARRAY_NOTATION_START): Likewise.
721         (ARRAY_NOTATION_LENGTH): Likewise.
722         (ARRAY_NOTATION_STRIDE): Likewise.
723         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
724         ARRAY_NOTATION_REF.
725         (pp_c_expression): Likewise.
726         * c.opt (flag_enable_cilkplus): New flag.
727         * array-notation-common.c: New file.
729 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
731         PR c++/57274
732         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
734 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
736         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
737         vectors.
739 2013-05-07  Han Shen  <shenhan@google.com>
741         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
743 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
745         * c-common.c (check_user_alignment): Emit error for negative values.
747 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
749         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
751 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
753         * c-cppbuiltin.c (c_cpp_builtins): Do not define
754         __GXX_EXPERIMENTAL_CXX1Y__.
756 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
757             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
759         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
760         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
761         to simply use OPT_Wpointer_arith.
762         (c_sizeof_or_alignof_type): Likewise.
764 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
766         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
768 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
770         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
771         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
772         specifiers.
774 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
776         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
778 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
780         * c-common.c (pointer_int_sum): Remove dead code.
782 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
784         PR middle-end/56524
785         * c-common.c (handle_optimize_attribute): Don't call
786         save_optabs_if_changed.
788 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
790         PR middle-end/56461
791         * c-pch.c (pch_init): Free target_validity at the end.
793 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
795         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
797 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
798             Jakub Jelinek  <jakub@redhat.com>
800         PR sanitizer/56454
801         * c-common.c (handle_no_sanitize_address_attribute): New function.
802         (c_common_attribute_table): Add no_sanitize_address attribute.
803         (handle_no_address_safety_analysis_attribute): Add
804         no_sanitize_address attribute, not no_address_safety_analysis
805         attribute.
807 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
809         PR target/52555
810         * c-common.c (handle_optimize_attribute): Call
811         save_optabs_if_changed.
813 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
814             Steven Bosscher  <steven@gcc.gnu.org>
816         PR pch/54117
817         * c-opts.c (c_common_post_options): If debug info is enabled
818         and non-dwarf*, refuse to load PCH files and when writing PCH
819         file warn.
821 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
823         PR middle-end/56167
824         * c-common.c (handle_error_attribute): Fix condition.
826 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
828         PR c++/55742
829         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
831 2013-01-18  Jason Merrill  <jason@redhat.com>
833         PR target/54908
834         * c.opt (-fextern-tls-init): New.
835         * c-opts.c (c_common_post_options): Handle it.
837 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
839         PR c/48418
840         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
841         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
842         and is either negative or bigger or equal to type precision
843         of the first operand.
845 2012-12-03  Marek Polacek  <polacek@redhat.com>
847         PR c/55570
848         * c-common.c (check_user_alignment): Swap order of tests,
849         check TREE_CODE first.
851 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
853         PR c++/52654
854         * c-common.h (overflow_type): New enum.
855         (build_userdef_literal): Add overflow_type argument.
856         (tree_userdef_literal): Add overflow_type.
857         (USERDEF_LITERAL_OVERFLOW): New access macro.
858         * c-common.c (build_userdef_literal): Add overflow_type
859         argument.
860         * c-lex.c (c_lex_with_flags): Add overflow_type to
861         build_userdef_literal calls.
862         (interpret_integer, interpret_float): Add overflow_type argument.
864 2012-11-28  Richard Biener  <rguenther@suse.de>
866         PR c/35634
867         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
868         here and use a type with proper overflow behavior for types that would
869         need to be promoted for the arithmetic.
871 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
873         PR sanitizer/55435
874         * c-common.c (handle_no_address_safety_analysis_attribute): New
875         function.
876         (c_common_attribute_table): Add no_address_safety_analysis.
878 2012-11-16  Simon Baldwin  <simonb@google.com>
880         * c.opt: Add f[no-]canonical-system-headers.
881         * c-opts.c (c_common_handle_option): Handle
882         OPT_fcanonical_system_headers.
884 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
886         PR c++/54413
887         * c-opts.c (c_common_handle_option): Set new flags.
888         * c.opt: Describe new flags.
890 2012-11-09  Jason Merrill  <jason@redhat.com>
892         * c.opt (Wabi-tag): New.
894 2012-11-09  Andi Kleen  <ak@linux.intel.com>
896         PR 55139
897         * c-common.c (get_atomic_generic_size): Mask with
898         MEMMODEL_MASK
900 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
902         PR c/53063
903         * c.opt (Wformat): Make it Alias Wformat=1.
904         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
905         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
906         LangEnabledBy.
907         (Wformat=): RejectNegative. Use LangEnabledBy.
908         (Wnonnull): Use LangEnabledBy.
909         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
910         * c-format.c (set_Wformat): Delete.
911         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
912         (maybe_read_dollar_number):  Likewise.
913         (avoid_dollar_number):  Likewise.
914         (finish_dollar_format_checking):  Likewise.
915         (check_format_info):  Likewise.
916         (check_format_info_main):  Likewise.
917         (check_format_types):  Likewise.
918         (format_type_warning):  Likewise.
919         * c-common.c (int):  Likewise.
920         (check_function_sentinel):  Likewise.
921         * c-common.h (warn_format,set_Wformat): Do not declare here.
923 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
925         PR c/53063
926         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
927         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
928         Use LangEnabledBy.
929         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
930         common.opt.
931         (Wvariadic-macros): Init(1).
932         * c-opts.c (c_common_handle_option): Do not handle them
933         explicitly.
934         (c_common_post_options): Likewise.
935         (sanitize_cpp_opts): warn_unused_macros is now
936         cpp_warn_unused_macros.
937         (push_command_line_include): Likewise.
938         * c-common.c (warn_unknown_pragmas): Do not define.
939         * c-common.h (warn_unknown_pragmas): Do not declare.
941 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
943         PR c/51294
944         * c-common.c (conversion_warning): Handle conditional expressions.
946 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
948         PR c++/54930
949         * c.opt (Wreturn_local_addr): Define new option.
951 2012-10-25  Jason Merrill  <jason@redhat.com>
953         * c.opt (Wvirtual-move-assign): New.
955         * c.opt (Winherited-variadic-ctor): New.
957 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
959         PR c++/54427
960         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
962 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
964         * c-common.h (pch_cpp_save_state): Declare.
965         * c-target.def (c_preinclude): New hook.
966         * c-opts.c (done_preinclude): New.
967         (push_command_line_include): Handle default preincluded header.
968         (cb_file_change): Call pch_cpp_save_state when calling
969         push_command_line_include.
970         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
971         (pch_cpp_save_state): New.
972         (pch_init): Call pch_cpp_save_state conditionally, instead of
973         calling cpp_save_state.
975 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
977         PR c/53063
978         PR c/40989
979         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
980         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
981         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
982         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
983         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
984         * c-opts.c (c_common_handle_option): Remove explicit handling from
985         here.
986         (c_common_post_options): Likewise.
988 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
990         * c-ada-spec.c (LOCATION_COL): Delete.
991         (compare_location): New function.
992         (compare_node): Use it.
993         (compare_comment): Likewise.
995 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
997         PR c/53063
998         PR c/40989
999         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1000         * c-opts.c (c_common_handle_option): Do not set them here. Add
1001         comment.
1002         (c_common_post_options): Likewise.
1004 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1006         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1007         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1008         Remove POINTER_TYPE handling, add large unsigned handling and use
1009         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1011 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
1013         PR c/54381
1014         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1015         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1016         locs and array of 3 trees instead of just single loc and single
1017         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
1018         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1019         For *cmp* builtins that take two sources strings report warnings
1020         about first and second source, not about destination and source.
1022 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
1024         PR c++/53055
1025         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1027 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1029         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1030         declaring something coming from another file.
1032 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
1034         PR ada/54845
1035         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1037 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1039         PR c++/54194
1040         * c-common.c (warn_about_parentheses): Add location_t parameter;
1041         use EXPR_LOC_OR_LOC.
1042         * c-common.h: Update declaration.
1044 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1046         PR c++/54427
1047         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1048         more operations. Make error messages optional.
1049         * c-common.h (enum stv_conv): Moved from c-typeck.c.
1050         (scalar_to_vector): Declare.
1052 2012-10-08  Jason Merrill  <jason@redhat.com>
1054         * c-common.c (c_common_reswords): Add thread_local.
1056 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
1058         PR c++/53528 C++11 attribute support
1059         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1060         new functions.
1061         * c-common.c (check_cxx_fundamental_alignment_constraints): New
1062         static function.
1063         (handle_aligned_attribute): In choose strictest alignment
1064         among many.  Use new check_cxx_fundamental_alignment_constraints.
1065         (handle_transparent_union_attribute): In c++11 attribute syntax,
1066         don't look through typedefs.
1068 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
1070         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1071         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1072         out of dumpfile.h.
1074 2012-09-25  Dehao Chen  <dehao@google.com>
1076         PR middle-end/54645
1077         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1078         map when read in the pch.
1080 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
1082         * c-ada-spec.c: Style fixes.
1084 2012-09-18 Thomas Quinot  <quinot@adacore.com>
1086         * c.opt (-fada-spec-parent): Define new command line switch.
1087         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1088         is specified, generate binding spec as a child of the specified unit.
1090 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1091             Manuel López-Ibáñez  <manu@gcc.gnu.org>
1093         PR c++/53210
1094         * c.opt ([Winit-self]): Enabled by -Wall in C++.
1096 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
1098         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1099         for pointers, and add missing Convention C pragma.
1100         (print_ada_struct_decl): Add missing aliased keyword.
1101         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1103 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
1105         * c-common.c (sizeof_pointer_memaccess_warning): New function.
1106         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1107         * c-opts.c (c_common_handle_option): Enable it for -Wall.
1108         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1109         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1111 2012-08-10  Richard Guenther  <rguenther@suse.de>
1113         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1115 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1117         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1118         instead of separate pp_newline and pp_flush.
1119         (print_c_tree): Likewise.
1121 2012-07-26  Richard Henderson  <rth@redhat.com>
1123         * c-common.c (handle_hot_attribute): Allow labels.
1124         (handle_cold_attribute): Likewise.
1126 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
1128         PR c++/28656
1129         * c-common.c (check_function_nonnull): Handle multiple nonnull
1130         attributes properly.
1132 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1134         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1135         * c-ada-spec.c: Likewise.
1136         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1138 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1140         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1141         Remove code conditional on it.
1143 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1145         * c-gimplify.c: Do not include basic-block.h.
1146         * c-common.c: Do not include linfuncs.h.
1148 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1150         * c-common.h: Include tree.h.
1152 2012-07-02  Jason Merrill  <jason@redhat.com>
1154         PR c++/53524
1155         * c-common.c (get_priority): Call default_conversion.
1157 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1159         * c-pch.c (c_common_write_pch): Remove unused variables.
1161 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1163         * cppspec.c: Moved from gcc/ to here.
1165 2012-06-27  Kai Tietz  <ktietz@redhat.com>
1167         PR preprocessor/37215
1168         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1170 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1172         * c-common.h (c_common_print_pch_checksum): Remove.
1173         * c-pch.c: Do not include output.h.
1174         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1175         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1176         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1177         (struct c_pch_header): Remove.
1178         (get_ident): Update gpch version.
1179         (pch_init): Do not print executable_checksum to asm_out_file.
1180         Do not fail if there is no asm_out_file to read back from.  Set
1181         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1182         (c_common_write_pch): Verify that nothing was written to asm_out_file
1183         since pch_init was called.  Do not write a c_pch_header, and do not
1184         copy from asm_out_file to the PCH.
1185         (c_common_read_pch): Do not read a c_pch_header, and do not restore
1186         the content of asm_out_file from the PCH.
1187         (c_common_print_pch_checksum): Remove.
1188         * c-opts.c (c_common_init): Print out executable_checksum directly.
1190 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1192         * c-target.def (objc_declare_unresolved_class_reference,
1193         objc_declare_class_definition): Add new hooks.
1195 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1197         * c-lex.c: Do not include output.h.
1198         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1199         Remove uses of ASM_OUTPUT_IDENT.
1201 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1203         PR c++/51033
1204         * c-common.h (c_build_vec_perm_expr): Move decl here.
1205         * c-common.c (c_build_vec_perm_expr): Move definition
1206         here.
1208 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1210         * c.opt (fconserve-space): Turn into a no-op.
1212 2012-06-04  Sterling Augustine  <saugustine@google.com>
1214         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1215         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1216         both the start and end of the function.
1218 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1220         * c-common.c: Do not include output.h.
1221         * c-pragma.c: Likewise.
1223 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1225         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1226         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1227         (lang_decl_name): Handle namespace decls.
1229 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1231         * c-ada-spec.c: Do not include output.h.
1232         * c-semantics.c: Likewise.
1234 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
1236         * c-common.c: Fix typo.
1238 2012-05-29  Michael Matz  <matz@suse.de>
1240         * c-common.h (c_expand_decl): Remove prototype.
1242 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1244         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1245         * c-opts.c (c_common_handle_option): Remove code handling
1246         warn_missing_braces.
1248 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1250         PR c++/25137
1251         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1252         -Wmissing_braces.
1254 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1256         PR c++/53322
1257         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1259 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1261         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1262         * c-opts.c (c_common_handle_option): Do not handle explicitly
1263         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1265 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
1267         PR preprocessor/7263
1268         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1269         to cpp_classify_number.  For diagnostics, use the precise location
1270         instead of the global input_location.
1272 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1274         PR c++/11856
1275         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1277 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1279         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1281 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1283         PR 53063
1284         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1285         Wreorder): Use LangEnabledBy.
1286         * c-opts.c (c_common_handle_option): Do not enable them
1287         explicitly. Call lang-specific generated functions.
1288         (c_common_post_options): Do not set them here.
1290 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1292         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1293         Wmissing-field-initializers,Wmissing-parameter-type,
1294         Wold-style-declaration,Woverride-init): Use EnabledBy.
1295         * c-opts.c (c_common_post_options): Do not set here explicitly.
1297 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1299         PR 53063
1300         * c-opts.c (c_common_handle_option): Use handle_generated_option
1301         to enable sub-options.
1303 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1305         PR c++/53158
1306         * c-common.c (warnings_for_convert_and_check): Use warning_at.
1308 2012-05-10  Richard Guenther  <rguenther@suse.de>
1310         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1311         adjust commentary about TYPE_IS_SIZETYPE types.
1313 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1315         PR c++/53261
1316         * c-common.c (warn_logical_operator): Check that argument of
1317         integer_zerop is not NULL.
1319 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1321         PR c/43772
1322         * c-common.c (warn_logical_operator): Do not warn if either side
1323         is already true or false.
1325 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1327         PR c/51712
1328         * c-common.c (expr_original_type): New.
1329         (shorten_compare): Do not warn for enumeration types.
1331 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1333         * c.opt (fpermissive): Add Var(flag_permissive).
1335 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1337         PR c++/51033
1338         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1339         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1341 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
1343         Add -Wvarargs option
1344         * c.opt (Wvarargs):  Define new option.
1346 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1348         * c-common.c (check_function_arguments): Replace
1349         Wmissing-format-attribute with Wsuggest-attribute=format.
1351 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1353         * c.opt (Wsuggest-attribute=format): New. Alias of
1354         Wmissing-format-attribute.
1355         * c-format.c (decode_format_type): Replace
1356         Wmissing-format-attribute with Wsuggest-attribute=format.
1357         (check_function_format): Likewise.
1359 2012-04-27  Ollie Wild  <aaw@google.com>
1361         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1362         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1363         * c.opt: Add Wliteral-suffix.
1365 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1367         PR c/44774
1368         * c.opt (Wpedantic): New.
1369         (pedantic): Alias Wpedantic.
1370         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1371         (c_common_post_options): Likewise.
1372         (sanitize_cpp_opts): Likewise.
1373         * c-lex.c (interpret_float): Likewise.
1374         * c-format.c (check_format_types): Likewise.
1375         * c-common.c (pointer_int_sum): Likewise.
1376         (c_sizeof_or_alignof_type): Likewise.
1377         (c_add_case_label): Likewise.
1378         (c_do_switch_warnings): Likewise.
1379         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1381 2012-04-15  Jason Merrill  <jason@redhat.com>
1383         PR c++/52818
1384         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1385         (C_STD_NAME): Distinguish between C++98 and C++11.
1387 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1389         PR target/52624
1390         * c-common.h (uint16_type_node): Rename into...
1391         (c_uint16_type_node): ...this.
1392         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1393         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1395 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1397         * c-common.c (warn_if_unused_value): Move definition to here.
1398         * c-common.h (warn_if_unused_value): Move declaration to here.
1400 2012-03-23  William Bader  <williambader@hotmail.com>
1402         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1404 2012-03-20  Jason Merrill  <jason@redhat.com>
1406         * c-common.h (enum cxx_dialect): Add cxx1y.
1407         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1408         test.
1409         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1410         * c-opts.c (c_common_post_options): Likewise.
1411         (set_std_cxx1y): New.
1412         (c_common_handle_option): Call it.
1413         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1415 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1417         PR c++/14710
1418         * c.opt ([Wuseless-cast]): Add.
1420 2012-03-16  Richard Guenther  <rguenther@suse.de>
1422         * c-pretty-print.c (pp_c_initializer_list): Adjust.
1424 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1426         PR c++/44783
1427         * c.opt (ftemplate-backtrace-limit) Add.
1429 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1431         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1432         handling.
1433         * c-pragma.c (handle_pragma_extern_prefix): Remove.
1434         (init_pragma): Don't register extern_prefix.
1436 2012-03-12  Richard Guenther  <rguenther@suse.de>
1438         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1439         (builtin_type_for_size): Likewise.
1441 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
1443         PR c++/52215
1444         * c-common.c (sync_resolve_params): Don't decide whether to convert
1445         or not based on TYPE_SIZE comparison, convert whenever arg_type
1446         is unsigned INTEGER_TYPE.
1448 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1450         PR c/52118
1451         * c.opt ([Wunused-local-typedefs]): Fix description.
1453 2012-01-24  Mike Stump  <mikestump@comcast.net>
1455         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1456         exactly.
1458 2012-01-18  Richard Guenther  <rguenther@suse.de>
1460         * c-opts.c (c_common_post_options): Reset LTO flags if
1461         we are about to generate a PCH.
1463 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1465         PR c++/51777
1466         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1467         use pp_unsigned_wide_integer.
1469 2012-01-10  Richard Guenther  <rguenther@suse.de>
1471         PR middle-end/51806
1472         * c-opts.c (c_common_handle_option): Move -Werror handling
1473         to language independent code.
1475 2012-01-05  Richard Guenther  <rguenther@suse.de>
1477         PR middle-end/51764
1478         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1479         from common.opt.
1481 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
1483         PR c++/51316
1484         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1485         of array types with an unknown bound.
1487 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
1489         * c-common.c (flag_isoc99): Update comment to refer to C11.
1490         (flag_isoc1x): Change to flag_isoc11.
1491         * c-common.h (flag_isoc99): Update comment to refer to C11.
1492         (flag_isoc1x): Change to flag_isoc11.
1493         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1494         C11.
1495         * c-opts.c (set_std_c1x): Change to set_std_c11.
1496         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1497         Call set_std_c11.
1498         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1499         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1500         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
1501         standard.
1502         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1503         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1504         (std=gnu1x): Make alias of std=gnu11.
1506 2011-12-19  Jason Merrill  <jason@redhat.com>
1508         PR c++/51228
1509         * c-common.c (handle_transparent_union_attribute): Check the first
1510         field if the type is complete.
1512 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1514         PR libstdc++/51365
1515         * c-common.c (RID_IS_FINAL): Add.
1516         * c-common.h (RID_IS_FINAL): Add.
1518 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
1520         * c.opt (fgnu-runtime): Provide full description.
1521         (fnext-runtime): Likewise.
1522         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1524 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
1526         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
1527         predefines in one place.  Add LOCK_FREE predefines.
1528         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1529         new func.
1531 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
1533         PR c/51256
1534         * c-common.c (get_atomic_generic_size): Check for various error
1535         conditions
1536         (resolve_overloaded_atomic_exchange,
1537         resolve_overloaded_atomic_compare_exchange,
1538         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1539         error_mark_node for error conditions.
1541 2011-11-08  Richard Guenther  <rguenther@suse.de>
1543         PR middle-end/51010
1544         c-family/
1546 2011-11-07  Richard Henderson  <rth@redhat.com>
1547             Aldy Hernandez  <aldyh@redhat.com>
1548             Torvald Riegel  <triegel@redhat.com>
1550         Merged from transactional-memory.
1552         * c-common.c (handle_tm_wrap_attribute,
1553         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1554         (struct c_common_reswords): Added __transaction* keywords.
1555         (struct c_common_attribute_table): Added transaction* and tm_regparm
1556         attributes.
1557         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1558         masks.
1559         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1560         find_tm_attribute): Declare.
1562 2011-11-07  Jason Merrill  <jason@redhat.com>
1564         PR c++/35688
1565         * c-common.c, c-common.h: Revert yesterday's changes.
1567 2011-11-06  Jason Merrill  <jason@redhat.com>
1569         PR c++/35688
1570         * c-common.c (decl_has_visibility_attr): Split out from...
1571         (c_determine_visibility): ...here.
1572         * c-common.h: Declare it.
1574 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1576         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1577         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1578         type.
1579         (check_user_alignment): New.  Split out of
1580         handle_aligned_attribute.  Disallow integer constants with
1581         noninteger types.  Conditionally allow zero.
1582         (handle_aligned_attribute): Use check_user_alignment.
1583         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1585 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1586             Richard Henderson  <rth@redhat.com>
1588         Merged from cxx-mem-model.
1590         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1591         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1592         parameters that are the same type size.
1593         (get_atomic_generic_size): New.  Find size of generic
1594         atomic function parameters and do typechecking.
1595         (add_atomic_size_parameter): New.  Insert size into parameter list.
1596         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1597         either __atomic_exchange_n or external library call.
1598         (resolve_overloaded_atomic_compare_exchange): Restructure
1599         __atomic_compare_exchange to either _n variant or external library call.
1600         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1601         __atomic_load_n or an external library call.
1602         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1603         __atomic_store_n or an external library call.
1604         (resolve_overloaded_builtin): Handle new __atomic builtins.
1606 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1608         PR c++/50608
1609         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1610         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
1611         <INDIRECT_REF>: Return the argument.
1612         <ARRAY_REF>: Remove special code for negative offset.
1613         Call fold_build_pointer_plus instead of size_binop.
1614         (fold_offsetof): Remove STOP_REF argument and adjust.
1615         * c-common.h (fold_offsetof_1): Declare.
1616         (fold_offsetof): Remove STOP_REF argument.
1618 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
1620         PR c++/50810
1621         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1622         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1623         Wnarrowing for C++0x and C++98.
1624         * c.opt ([Wnarrowing]): Update.
1626 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1628         PR c++/44277
1629         * c.opt: Add Wzero-as-null-pointer-constant.
1631 2011-10-31  Jason Merrill  <jason@redhat.com>
1633         * c.opt (-fdeduce-init-list): Off by default.
1635         PR c++/50920
1636         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1637         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1638         and -Wc++11-compat.
1639         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1641 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1643         PR c++/30066
1644         * c.opt (fvisibility-inlines-hidden): Description change.
1646 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1648         Implement C++11 user-defined literals.
1649         * c-common.c (build_userdef_literal): New.
1650         * c-common.def: New tree code.
1651         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1652         * c-lex.c (interpret_float): Add suffix parm.
1653         (c_lex_with_flags): Build literal tokens.
1655 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1657         PR c++/50841
1658         Revert:
1659         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1661         PR c++/50810
1662         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1663         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1664         Wnarrowing for C++0x and C++98.
1665         * c.opt ([Wnarrowing]): Update.
1667 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1669         PR c++/50810
1670         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1671         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1672         Wnarrowing for C++0x and C++98.
1673         * c.opt ([Wnarrowing]): Update.
1675 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1677         PR c++/45385
1678         * c-common.c (conversion_warning): Remove code looking for
1679         artificial operands.
1681 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1683         PR bootstrap/50760
1684         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1685         !NO_IMPLICIT_EXTERN_C.
1687 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1689         * c-common.c (c_common_reswords): Add __bases,
1690         __direct_bases.
1691         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1693 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1695         PR c++/50757
1696         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1698 2011-10-15  Tom Tromey  <tromey@redhat.com>
1699             Dodji Seketeli  <dodji@redhat.com>
1701         * c.opt (fdebug-cpp): New option.
1702         * c-opts.c (c_common_handle_option): Handle the option.
1703         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1704         output stream in parameter. Factorized from ...
1705         (maybe_print_line): ... this. Dump location debug information when
1706         -fdebug-cpp is in effect.
1707         (print_line_1): New static function. Takes an output stream in
1708         parameter. Factorized from ...
1709         (print_line): ... here. Dump location information when -fdebug-cpp
1710         is in effect.
1711         (scan_translation_unit): Dump location information when
1712         -fdebug-cpp is in effect.
1714 2011-10-15  Tom Tromey  <tromey@redhat.com>
1715             Dodji Seketeli  <dodji@redhat.com>
1717         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1718         without argument.
1719         * c-opts.c (c_common_handle_option)<case
1720         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1721         cases. Handle -ftrack-macro-expansion with and without argument.
1723 2011-10-15  Tom Tromey  <tromey@redhat.com>
1724             Dodji Seketeli  <dodji@redhat.com>
1726         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1727         (print_line, cb_define, do_line_change): Adjust to avoid touching
1728         the internals of struct line_map.  Use the public API instead.
1729         * c-pch.c (c_common_read_pch): Likewise.
1730         * c-lex.c (fe_file_change): Likewise.
1732 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1734         PR c++/17212
1735         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1737 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1739         PR c++/33067
1740         * c-pretty-print.c (pp_c_floating_constant): Output
1741         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1743 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1745         * c-common.c (def_builtin_1): Delete old interface with two
1746         parallel arrays to hold standard builtin declarations, and replace
1747         it with a function based interface that can support creating
1748         builtins on the fly in the future.  Change all uses, and poison
1749         the old names.  Make sure 0 is not a legitimate builtin index.
1750         * c-omp.c (c_finish_omp_barrier): Ditto.
1751         (c_finish_omp_taskwait): Ditto.
1752         (c_finish_omp_flush): Ditto.
1754 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1756         * c.opt: (fallow-parameterless-variadic-functions): New.
1758 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1760         PR c++/33255 - Support -Wunused-local-typedefs warning
1761         * c-common.h (struct c_language_function::local_typedefs): New
1762         field.
1763         (record_locally_defined_typedef, maybe_record_typedef_use)
1764         (maybe_warn_unused_local_typedefs): Declare new functions.
1765         * c-common.c (record_locally_defined_typedef)
1766         (maybe_record_typedef_use)
1767         (maybe_warn_unused_local_typedefs): Define new functions.
1768         * c.opt: Declare new -Wunused-local-typedefs flag.
1770 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1772         PR middle-end/50266
1773         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1774         computations.
1776 2011-09-05  Richard Guenther  <rguenther@suse.de>
1778         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1779         of integer_minus_one_node for empty array upper bounds.
1781 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1783         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1784         it's the first time it's being called on this main TU.
1786 2011-08-24  Richard Guenther  <rguenther@suse.de>
1788         PR c/49396
1789         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1791 2011-08-22  Gabriel Charette  <gchare@google.com>
1793         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1794         defined in cpp_init_builtins and c_cpp_builtins.
1796 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1798         * c-common.c (c_common_reswords): Add __builtin_complex.
1799         * c-common.h (RID_BUILTIN_COMPLEX): New.
1801 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1803         * c-common.c (c_common_reswords): Add _Noreturn.
1804         (keyword_is_function_specifier): Handle RID_NORETURN.
1805         * c-common.h (RID_NORETURN): New.
1807 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1809         * c-common.c (unsafe_conversion_p): New function. Check if it is
1810         unsafe to convert an expression to the type.
1811         (conversion_warning): Adjust, use unsafe_conversion_p.
1812         * c-common.h (unsafe_conversion_p): New function declaration.
1814 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1816         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1817         (c_finish_omp_taskyield): New prototype.
1818         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1819         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1820         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1821         or RHS1 have side-effects, evaluate those too in the right spot,
1822         if it is a decl and LHS is also a decl, error out if they
1823         aren't the same.
1824         (c_finish_omp_taskyield): New function.
1825         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1826         * c-pragma.c (omp_pragmas): Add taskyield.
1827         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1828         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1829         PRAGMA_OMP_CLAUSE_MERGEABLE.
1831 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1833         * c-common.h (set_underlying_type): Remove parm name from
1834         declaration.
1836 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1838         * c-pretty-print.h: Search c-common.h in c-family.
1840 2011-07-22  Jason Merrill  <jason@redhat.com>
1842         PR c++/49793
1843         * c.opt (Wnarrowing): New.
1845         PR c++/30112
1846         * c-common.h: Declare c_linkage_bindings.
1847         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1849         PR c++/49813
1850         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1851         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1852         as flag_isoc99 for 'restrict'.
1853         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1855 2011-07-21  Ian Lance Taylor  <iant@google.com>
1857         PR middle-end/49705
1858         * c-common.c (c_disable_warnings): New static function.
1859         (c_enable_warnings): New static function.
1860         (c_fully_fold_internal): Change local unused_p to bool.  Call
1861         c_disable_warnings and c_enable_warnings rather than change
1862         c_inhibit_evaluation_warnings.
1864 2011-07-20  Jason Merrill  <jason@redhat.com>
1866         PR c++/6709 (DR 743)
1867         PR c++/42603 (DR 950)
1868         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1869         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1870         (CPP_DECLTYPE): New.
1871         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1873 2011-07-19  Richard Guenther  <rguenther@suse.de>
1875         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1876         * c-omp.c (c_finish_omp_for): Likewise.
1878 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1880         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1881         body on the next line.
1883 2011-07-08  Jason Merrill  <jason@redhat.com>
1885         PR c++/45437
1886         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1888         PR c++/49673
1889         * c-common.c (c_apply_type_quals_to_decl): Don't check
1890         TYPE_NEEDS_CONSTRUCTING.
1892 2011-07-06  Richard Guenther  <rguenther@suse.de>
1894         * c-common.c (c_common_nodes_and_builtins):
1895         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1897 2011-07-05  Richard Guenther  <rguenther@suse.de>
1899         * c-common.c (c_common_nodes_and_builtins): Build all common
1900         tree nodes first.
1902 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1904         * c-common.h (c_tree_chain_next): New static inline function.
1906         * c-common.c (check_builtin_function_arguments): Handle
1907         BUILT_IN_ASSUME_ALIGNED.
1909 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1911         * c-common.c: Add sync_ or SYNC__ to builtin names.
1912         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1914 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1916         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1917         handler.
1918         (gen_pragma_handler): New union.
1919         (internal_pragma_handler): New type.
1920         (c_register_pragma_with_data)
1921         (c_register_pragma_with_expansion_and_data): New functions.
1923         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1924         (c_register_pragma, c_register_pragma_with_expansion)
1925         (c_invoke_pragma_handler): Changed to work with
1926         internal_pragma_handler.
1927         (c_register_pragma_with_data)
1928         (c_register_pragma_with_expansion_and_data): New functions.
1930 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1932         * c-common.c: Include common/common-target.h.
1933         (handle_section_attribute): Use
1934         targetm_common.have_named_sections.
1935         * c-cppbuiltin.c: Include common/common-target.h.
1936         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1938 2011-06-10  Richard Guenther  <rguenther@suse.de>
1940         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1941         to print a IDENTIFIER_NODE.
1943 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1944             Joseph Myers  <joseph@codesourcery.com>
1946         * c.opt (fbuilding-libgcc): New option.
1947         * c-cppbuiltin.c (c_cpp_builtins): Define
1948         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1950 2011-06-07  Jason Merrill  <jason@redhat.com>
1952         * c-common.c (max_tinst_depth): Lower default to 900.
1954         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1956 2011-06-07  Richard Guenther  <rguenther@suse.de>
1958         * c-common.c (c_common_nodes_and_builtins): Do not set
1959         size_type_node or call set_sizetype.
1961 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1963         PR debug/49130
1964         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1965         type when using pointer comparison to compare types.
1967 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1969         * c.opt: Add -Wdelete-non-virtual-dtor.
1970         * c-opts.c (c_common_handle_option): Include it in -Wall.
1972 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1974         PR bootstrap/49190
1976         Revert:
1977         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1979         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1980         not tree_common.
1982 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1984         PR c++/49165
1985         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1986         C++ don't call c_common_truthvalue_conversion on void type arms.
1988 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1990         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1991         (stmt_list_stack): Define.
1992         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1993         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1995 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1997         * c-common.c (warning_candidate_p): Check for BLOCKs.
1999 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2001         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2002         not tree_common.
2004 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2006         * c-common.c (def_fn_type): Remove extra va_end.
2008 2011-05-23  Jason Merrill  <jason@redhat.com>
2010         PR c++/48106
2011         * c-common.c (c_common_get_narrower): New.
2012         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2014 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
2016         * c-common.h (check_function_arguments): Tweak prototype of
2017         check_function_arguments.
2018         * c-common.c (check_function_arguments): Likewise.  Adjust
2019         calls to check_function_nonnull, check_function_format, and
2020         check_function_sentinel.
2021         (check_function_sentinel): Take a FUNCTION_TYPE rather than
2022         separate attributes and typelist arguments.  Use
2023         FOREACH_FUNCTION_ARGS to iterate over argument types.
2025 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2027         * c-common.c (c_common_reswords): Reorder.
2028         * c-common.h (rid): Likewise.
2030 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2032         * c-common.c (def_fn_type): Don't call build_function_type, call
2033         build_function_type_array or build_varargs_function_type_array
2034         instead.
2035         (c_common_nodes_and_builtins): Likewise.
2037 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2039         * c-common.c (c_add_case_label): Omit the loc argument to
2040         build_case_label.
2041         * c-common.h (build_case_label): Remove.
2042         * c-semantics.c (build_case_label): Remove.
2044 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
2046         * c-objc.h (objc_start_method_definition): Update prototype.
2047         * stub-objc.c (objc_start_method_definition): Add extra parameter.
2049 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2051         * c-common.c (check_main_parameter_types): Reindent.  Don't use
2052         TYPE_ARG_TYPES directly.
2053         (handle_nonnull_attribute): Likewise.
2054         (sync_resolve_params): Likewise.
2055         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2056         to check_format_string.
2057         (handle_format_attribute): Likewise.
2058         (check_format_string): Take a function type to examine instead of
2059         a type list.  Use a function_arg_iterator to step through argument
2060         types.
2062 2011-05-04  Richard Guenther  <rguenther@suse.de>
2064         * c-common.c (fix_string_type): Use size_int for index type bounds.
2065         (start_fname_decls): Do not pass NULL to build_int_cst.
2066         (c_init_attributes): Likewise.
2067         * c-lex.c (c_lex_with_flags): Likewise.
2069 2011-04-27  Jason Merrill  <jason@redhat.com>
2071         * c-common.c (make_tree_vector_from_list): New.
2072         * c-common.h: Declare it.
2074 2011-04-26  Richard Guenther  <rguenther@suse.de>
2076         PR preprocessor/48248
2077         * c-ppoutput.c (maybe_print_line): Always optimize newlines
2078         for output size with -P.
2080 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2082         * c-common.c (struct c_common_resword): Add __underlying_type.
2083         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2085 2011-04-20  Jim Meyering  <meyering@redhat.com>
2087         * c-format.c (init_dollar_format_checking): Remove useless
2088         if-before-free.
2090 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2092         * c-objc.h (objc_get_interface_ivars): Removed.
2093         (objc_detect_field_duplicates): New.
2094         * stub-objc.c: Likewise.
2096 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2098         * stub-objc.c (objc_declare_protocols): Renamed to
2099         objc_declare_protocol.
2100         * c-objc.h: Likewise.
2102 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2104         * stub-objc.c (objc_declare_class): Updated argument name.
2106 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2108         * c-common.h (c_common_init_ts): Declare.
2109         * c-common.c (c_common_init_ts): Define.
2111 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2113         * c-objc.h (objc_build_message_expr): Updated prototype.
2114         * stub-objc.c (objc_build_message_expr): Likewise.
2116 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2118         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2119         of cgraph_node.
2121 2011-04-11  Richard Guenther  <rguenther@suse.de>
2123         * c-common.c (complete_array_type): Build a range type of
2124         proper type.
2126 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2128         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2129         (handle_type_generic_attribute): Likewise.
2131 2011-04-07  Jason Merrill  <jason@redhat.com>
2133         PR c++/48450
2134         * c-common.c (c_common_truthvalue_conversion): Don't ignore
2135         conversion from C++0x scoped enum.
2137 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2139         * c-target-def.h: New file.
2140         * c-target.def: New file.
2141         * c-target.h: New file.
2142         * c-common.c (targetcm): Don't define here.
2143         * c-common.h (default_handle_c_option): Declare.
2144         * c-format.c: Include c-target.h instead of target.h.
2145         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
2146         include tm.h.
2147         (default_handle_c_option): Move from targhooks.c.
2149 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2151         PR preprocessor/48248
2152         * c-ppoutput.c (print): Add src_file field.
2153         (init_pp_output): Initialize it.
2154         (maybe_print_line): Don't optimize by adding up to 8 newlines
2155         if map->to_file and print.src_file are different file.
2156         (print_line): Update print.src_file.
2158 2011-03-25  Kai Tietz  <ktietz@redhat.com>
2160         * c-ada-spec.c (compare_comment): Use filename_cmp
2161         instead of strcmp for filename.
2163 2011-03-25  Jeff Law  <law@redhat.com>
2165         * c-family/c-common.c (def_fn_type): Add missing va_end.
2167 2011-03-25  Jason Merrill  <jason@redhat.com>
2169         * c.opt: Add -std=c++03.
2171 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2173         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2175 2011-03-17  Kai Tietz
2177         PR target/12171
2178         * c-pretty-print.c (pp_c_specifier_qualifier_list):
2179         Display allowed attributes for function pointer types.
2180         (pp_c_attributes_display): New function to display
2181         attributes having affects_type_identity flag set to true.
2182         * c-pretty-print.h (pp_c_attributes_display): New prototype.
2184         * c-common.c (c_common_attribute_table):
2185         Add new element.
2186         (c_common_format_attribute_table): Likewise.
2188 2011-03-18  Jason Merrill  <jason@redhat.com>
2190         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2191         * c-common.h: Don't declare it here.
2192         * c-common.c: Or define it here.
2193         * c-opts.c (c_common_handle_option): Or set it here.
2195         PR c++/35315
2196         * c-common.c (handle_transparent_union_attribute): Don't
2197         make a duplicate type in C++.
2199 2011-03-15  Jason Merrill  <jason@redhat.com>
2201         * c-common.c (max_constexpr_depth): New.
2202         * c-common.h: Declare it.
2203         * c-opts.c (c_common_handle_option): Set it.
2204         * c.opt (fconstexpr-depth): New option.
2206 2011-03-11  Jason Merrill  <jason@redhat.com>
2208         * c-common.c (attribute_takes_identifier_p): Add missing const.
2210         PR c++/46803
2211         * c-common.c (attribute_takes_identifier_p): Assume that an
2212         unknown attribute takes an identifier.
2214 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2216         PR c/47786
2217         * c-common.c (c_type_hash): Call list_length instead of iterating
2218         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2220 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2222         PR c/47809
2223         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2225 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2227         * c.opt (fobjc-abi-version=) New.
2228         (fobjc-nilcheck): New.
2230 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2232         PR c++/46890
2233         * c-common.h (keyword_is_decl_specifier): Declare.
2234         * c-common.c (keyword_is_decl_specifier): Define.
2235         (keyword_is_function_specifier): New function.
2237 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2239         PR c/47473
2240         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2241         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2242         REAL_TYPE.
2244 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
2246         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2248 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2250         PR pch/47430
2251         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2252         after init_c_lex if pch_file is set.
2254 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2256         PR c++/43601
2257         * c.opt (-fkeep-inline-dllexport): New switch.
2259 2011-01-12  Richard Guenther  <rguenther@suse.de>
2261         PR middle-end/32511
2262         * c-common.c (handle_weak_attribute): Warn instead of error
2263         on declaring an inline function weak.
2265 2011-01-05  Tom Tromey  <tromey@redhat.com>
2267         * c-common.h (lvalue_error): Update.
2268         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2269         not error.
2271 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2273         PR objc/47075
2274         * c-objc.h (objc_finish_message_expr): Added argument to
2275         prototype.
2277 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2279         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2280         Use prototype_p.
2282 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2284         * c-objc.h (objc_maybe_warn_exceptions): New.
2285         * stub-objc.c (objc_maybe_warn_exceptions): New.
2287 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2289         * c-common.h (readonly_error): Declare.
2290         * c-common.c (readonly_error): Define.
2292 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2294         * c-common.h (invalid_indirection_error): Declare.
2295         * c-common.c (invalid_indirection_error): Define.
2297 2010-12-03  Richard Guenther  <rguenther@suse.de>
2299         PR c/46745
2300         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2301         (pp_c_unary_expression): Likewise.
2302         (pp_c_expression): Likewise.
2304 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2306         * c-common.h (objc_finish_function): New.
2307         (objc_non_volatilized_type): Removed.
2308         (objc_type_quals_match): Removed.
2309         * stub-objc.c (objc_finish_function): New.
2310         (objc_non_volatilized_type): Removed.
2311         (objc_type_quals_match): Removed.
2313 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2315         * c-common.h (parse_optimize_options): Declare.
2316         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2317         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2319 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2321         * c-opts.c (check_deps_environment_vars): Use getenv instead of
2322         GET_ENVIRONMENT.
2323         * c-pch.c (O_BINARY): Don't define here.
2324         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2326 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2328         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2329         targetm.except_unwind_info.
2331 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2333         * c-opts.c (c_common_handle_option): Pass location to
2334         set_struct_debug_option.
2336 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2338         * c-common.c (visibility_options): Move from ../opts.c.
2339         * c-common.h (struct visibility_flags, visibility_options):
2340         Declare here.
2341         * c-opts.c (finish_options): Rename to c_finish_options.
2342         (c_common_init): Update call to finish_options.
2344 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2346         PR objc/34033
2347         * c-lex.c (lex_string): Check that each string in an Objective-C
2348         string concat sequence starts with either one or zero '@', and
2349         that there are no spurious '@' signs at the end.
2351 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
2353         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2354         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2355         HANDLE_PRAGMA_VISIBILITY.
2356         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2357         HANDLE_PRAGMA_VISIBILITY): Don't define.
2358         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2360 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2362         PR c++/16189
2363         PR c++/36888
2364         PR c++/45331
2365         * c-common.h (keyword_begins_type_specifier): Declare.
2366         (keyword_is_storage_class_specifier): Declare.
2367         (keyword_is_type_qualifier): Declare.
2368         * c-common.c (keyword_begins_type_specifier): New function.
2369         (keyword_is_storage_class_specifier): New function.
2370         (keyword_is_type_qualifier): Declare.
2372 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2374         PR c/46547
2375         * c-common.c (in_late_binary_op): Define.
2376         (c_common_truthvalue_conversion): Check in_late_binary_op before
2377         calling c_save_expr.
2378         * c-common.h (in_late_binary_op): Declare.
2380 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2382         * c-opts.c (c_common_handle_option): Update calls to
2383         set_struct_debug_option.
2385 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2387         * c-common.h (objc_declare_protocols): Added additional argument.
2388         * stub-objc.c (objc_declare_protocol): Same change.
2390 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2392         PR c/33193
2393         * c-common.h (build_real_imag_expr): Declare.
2394         * c-semantics.c (build_real_imag_expr): Define.
2396 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
2398         * c-opts.c (c_common_parse_file): Take no arguments.
2399         * c-common.h (c_common_parse_file): Update prototype.
2401 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
2403         PR c++/46401
2404         * c-common.c (warning_candidate_p): Don't track non-const calls
2405         or STRING_CSTs.
2407 2010-11-15  Ian Lance Taylor  <iant@google.com>
2409         * c-lex.c (init_c_lex): Set macro debug callbacks if
2410         flag_dump_go_spec is set.
2412 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2414         * c-common.h (objc_build_incr_expr_for_property_ref): New.
2415         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2417 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2419         PR preprocessor/45038
2420         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2421         dialects.
2423 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2425         * c-common.h (c_family_lang_mask): Declare.
2426         * c-opts.c (c_family_lang_mask): Make extern.
2427         * c-pragma.c (handle_pragma_diagnostic): Use
2428         control_warning_option.
2430 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2432         * c-common.c (parse_optimize_options): Update call to
2433         decode_options.
2434         * c-common.h (c_common_handle_option): Update prototype.
2435         * c-opts.c (c_common_handle_option): Take location_t parameter and
2436         pass it to other functions.
2438 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2440         * c-opts.c (warning_as_error_callback): Remove.
2441         (c_common_initialize_diagnostics): Don't call
2442         register_warning_as_error_callback.
2443         (c_common_handle_option): Handle -Werror=normalized= here.
2445 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2447         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2448         in diagnostic.
2449         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2450         letter.
2451         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2452         Remove trailing '.' from diagnostics.
2453         * c.opt (Wwrite-strings_: Avoid '`' in help text.
2455 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2457         * c-common.c (parse_optimize_options): Pass global_dc to
2458         decode_options.
2459         * c-opts.c (c_common_handle_option): Pass &global_options to
2460         set_Wstrict_aliasing.
2461         * c.opt (v): Don't mark Common or document here.
2463 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2465         PR target/44981
2466         * c-format.c (format_type): New type gcc_objc_string_format_type.
2467         (valid_stringptr_type_p): New.
2468         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
2469         (check_format_string): Pass expected type, use
2470         valid_stringptr_type_p (), check that the format string types are
2471         consistent with the format specification.
2472         (decode_format_attr): Warn if NSString is used outside objective-c.
2473         (format_types_orig): Add NSString.
2474         (format_name): New.
2475         (format_flags): New.
2476         (check_format_arg): Handle format strings requiring an external parser.
2477         first_target_format_type: New variable.
2478         (handle_format_attribute): Set up first_target_format_type, pass the
2479         expected format arg string type to check_format_string().
2480         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
2481         * stub-objc.c (objc_string_ref_type_p): New.
2482         (objc_check_format_arg): New.
2484 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2486         Fixed using the Objective-C 2.0 dot-syntax with class names.
2487         * c-common.h (objc_build_class_component_ref): New.
2488         * stub-objc.c (objc_build_class_component_ref): New.
2490 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2492         * c.opt (Wproperty-assign-default): New option.
2494 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2496         Implemented -fobjc-std=objc1 flag.
2497         * c.opt (fobjc-std=objc1): New option.
2499 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2501         Implemented format and noreturn attributes for Objective-C methods.
2502         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2503         attribute for Objective-C methods.
2505 2010-10-31  Jason Merrill  <jason@redhat.com>
2507         * c-common.c (conversion_warning, warn_for_collisions_1): Use
2508         EXPR_LOC_OR_HERE.
2510 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2512         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2513         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2514         (objc_add_property_declaration): Removed arguments for copies and
2515         ivar.
2516         (objc_build_getter_call): Renamed to
2517         objc_maybe_build_component_ref.
2518         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2519         (objc_is_property_ref): New.
2520         * c-common.c (c_common_reswords): Removed copies and ivar.
2521         * stub-objc.c (objc_add_property_declaration): Removed arguments
2522         for copies and ivar.
2523         (objc_build_getter_call): Renamed to
2524         objc_maybe_build_component_ref.
2525         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2526         (objc_is_property_ref): New.
2528 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
2529             Matthew Gingell  <gingell@adacore.com>
2531         * c-ada-spec.c (separate_class_package): New function.
2532         (pp_ada_tree_identifier): Prefix references to C++ classes with the
2533         name of their enclosing package.
2534         (print_ada_declaration): Use separate_class_package.
2536 2010-10-27  Jason Merrill  <jason@redhat.com>
2538         * c-common.c (c_common_reswords): Add __is_literal_type.
2539         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2541         * c-common.c (check_case_value): Remove special C++ code.
2543 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2545         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2546         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
2547         and RID_LAST_PATTR.
2548         (objc_add_property_declaration): Added additional arguments.
2549         (objc_property_attribute_kind): Removed.
2550         (objc_set_property_attr): Removed.
2551         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2552         copy and nonatomic.
2553         * stub-objc.c (objc_add_property_declaration): Added additional
2554         arguments.
2555         (objc_set_property_attr): Removed.
2557 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2559         * c-common.h (objc_add_property_variable): Renamed to
2560         objc_add_property_declaration.  Added location argument.
2561         * stub-objc.c (objc_add_property_variable): Same change.
2562         
2563 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
2565         * c-common.h (objc_maybe_printable_name): New.
2566         * stub-objc.c (objc_maybe_printable_name): New.
2568 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2569         Andrew Pinski <pinskia@gmail.com>
2571         * c-common.h (c_common_mark_addressable_vec): Declare.
2572         * c-common.c (c_common_mark_addressable_vec): New function.
2574 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2576         * c-common.h (objc_set_method_type): Removed.
2577         (objc_add_method_declaration): Added boolean argument.
2578         (objc_start_method_definition): Same change.
2579         (objc_build_method_signature): Same change.
2580         * stub-objc.c (objc_set_method_type): Removed.
2581         (objc_add_method_declaration): Added boolean argument.
2582         (objc_start_method_definition): Same change.
2583         (objc_build_method_signature): Same change.
2585 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2587         * c-common.h (finish_file): Removed.
2588         (objc_write_global_declarations): New.
2589         * c-opts.c (c_common_parse_file): Do not call finish_file.
2590         * stub-objc.c (objc_write_global_declarations): New.
2592 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2594         Implemented parsing @synthesize and @dynamic for
2595         Objective-C/Objective-C++.
2596         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2597         (objc_add_synthesize_declaration): New.
2598         (objc_add_dynamic_declaration): New.
2599         * c-common.c (c_common_reswords): Add synthesize and dynamic.
2600         * stub-objc.c (objc_add_synthesize_declaration): New.
2601         (objc_add_dynamic_declaration): New.
2603 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2605         PR target/46041
2606         * c-cppbuiltin.c (mode_has_fma): Move function here from
2607         builtins.c.  Don't use the fma optab, instead just use the
2608         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2609         using -save-temps.
2611 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2613         Merge from 'apple/trunk' branch on FSF servers.
2615         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
2617         Radar 4330422
2618         * c-common.h (objc_non_volatilized_type): New declaration
2619         * stub-objc.c (objc_non_volatilized_type): New stub.
2621 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2623         Merge from 'apple/trunk' branch on FSF servers.
2625         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2627         Radar 4133425
2628         * c-common.h (objc_diagnose_private_ivar): New decl.
2629         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2631 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2633         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2634         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2635         (objc_ivar_visibility_kind): New enum.
2636         (objc_set_visibility): Adjust prototype to use visibility enum.
2637         * stub-objc.c (objc_set_visibility): Adjust stub to use
2638         visibility enum.
2640 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2642         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2643         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2644         has the appropriate fma builtins.
2645         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2647 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2649         merge from FSF apple 'trunk' branch.
2650         2006 Fariborz Jahanian <fjahanian@apple.com>
2652         Radars 4436866, 4505126, 4506903, 4517826
2653         * c-common.c (c_common_resword): Define @property and its attributes.
2654         * c-common.h: Define property attribute enum entries.
2655         (OBJC_IS_PATTR_KEYWORD): New.
2656         (objc_property_attribute_kind): New enum.
2657         Declare objc_set_property_attr (), objc_add_property_variable (),
2658         objc_build_getter_call () and objc_build_setter_call ().
2659         * stub-objc.c (objc_set_property_attr): New stub.
2660         (objc_add_property_variable): Likewise.
2661         (objc_build_getter_call): Likewise.
2662         (objc_build_setter_call) Likewise.
2664 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2666         merge from FSF apple 'trunk' branch.
2667         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2669         Radar 3803157 (method attributes)
2670         * c-common.c (handle_deprecated_attribute): Recognize
2671         objc methods as valid declarations.
2672         * c-common.h: Declare objc_method_decl ().
2673         * stub-objc.c (objc_method_decl): New stub.
2675 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2677         * c-common.c (parse_optimize_options): Call
2678         decode_cmdline_options_to_array_default_mask before
2679         decode_options.  Update arguments to decode_options.
2680         * c-common.h (c_common_init_options_struct): Declare.
2681         * c-opts.c (c_common_init_options_struct): New.  Split out from
2682         c_common_init_options.
2684 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2686         Implemented fast enumeration for Objective-C.
2687         * c-common.h (objc_finish_foreach_loop): New.
2688         * stub-objc.c (objc_finish_foreach_loop): New.
2690 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2692         * c-common.h (struct diagnostic_context): Don't declare here.
2693         (c_common_initialize_diagnostics): Declare using
2694         diagnostic_context typedef.
2695         * c-opts.c (c_common_handle_option): Pass global_dc to
2696         handle_generated_option.
2698 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2700         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2701         handle_generated_option.
2703 2010-10-03  Ian Lance Taylor  <iant@google.com>
2705         * c.opt (-fplan9-extensions): New option.
2707 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2709         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2710         Remove.
2711         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2712         of duplicating code.
2714 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2716         * c-common.c: Add two new entries for @optional
2717         and @required keywords.
2719         merge from FSF 'apple/trunk' branch.
2720         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2722         Radar 4386773
2723         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2724         objective-c keywords.
2725         (objc_set_method_opt): New declaration.
2726         * stub-objc.c (objc_set_method_opt): New stub.
2728 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2730         * c-common.c (handle_optimize_attribute): Pass &global_options to
2731         cl_optimization_save and cl_optimization_restore.
2732         * c-opts.c (c_common_handle_option): Pass &global_options to
2733         handle_generated_option.
2734         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2735         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2736         &global_options to cl_optimization_restore.
2738 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2740         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2741         Objective-C/Objective-C++ keywords.
2743 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2745         Merge from 'apple/trunk' branch on FSF servers.
2747         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2749         Radar 4281748
2750         * c-common.h (objc_check_global_decl): New declaration.
2751         * stub-objc.c (objc_check_global_decl): New stub.
2753 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2755         * c.opt: Don't use VarExists.
2757 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2759         * c-common.c (c_cpp_error): Update names of diagnostic_context
2760         members.
2761         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2762         cl_optimization members.
2763         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2764         sanitize_cpp_opts, finish_options): Update names of cpp_options
2765         members.
2767 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2769         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2770         (objc_is_reserved_word): Removed.
2771         * c-common.c: Updated comments.
2772         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2773         objc_is_reserved_word.
2774         * stub-objc.c (objc_is_reserved_word): Removed.
2776 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2778         * c-common.h (objc_add_method_declaration): Adjust prototype to
2779         include attributes.
2780         (objc_start_method_definition): Likewise.
2781         (objc_build_keyword_decl): Likewise.
2782         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2783         (objc_start_method_definition): Likewise.
2784         (objc_build_keyword_decl): Likewise.
2786 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2788         * c-common.h (objc_start_class_interface): Adjust prototype.
2789         (objc_start_category_interface): Likewise.
2790         (objc_start_protocol): Likewise.
2791         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2792         (objc_start_class_interface): Likewise.
2793         (objc_start_category_interface): Likewise.
2795 2010-09-27  Ian Lance Taylor  <iant@google.com>
2797         * c-common.c (c_common_attribute_table): Add no_split_stack.
2798         (handle_no_split_stack_attribute): New static function.
2800 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2802         Merge from 'apple/trunk' branch on FSF servers.
2804         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2806         Radar 4229905
2807         * c-common.h (objc_have_common_type): New declaration.
2808         * stub-objc.c (objc_have_common_type): New stub.
2810         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2812         Radar 4154928
2813         * c-common.h (objc_common_type): New prototype.
2814         * stub-objc.c (objc_common_type): New stub.
2816 2010-09-24  Jan Hubicka  <jh@suse.cz>
2818         * c-common.c (handle_leaf_attribute): New function.
2819         (struct attribute_spec c_common_att): Add leaf.
2821 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2823         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2824         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2825         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2826         -include-barrier, -include-directory, -include-directory=,
2827         -include-directory-after, -include-directory-after=,
2828         -include-prefix, -include-prefix=, -include-with-prefix,
2829         -include-with-prefix=, -include-with-prefix-after,
2830         -include-with-prefix-after=, -include-with-prefix-before,
2831         -include-with-prefix-before=, -no-integrated-cpp,
2832         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2833         -output=, -pedantic, -pedantic-errors, -preprocess,
2834         -print-missing-file-dependencies, -trace-includes, -traditional,
2835         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2836         -user-dependencies, -verbose, -write-dependencies,
2837         -write-user-dependencies, no-integrated-cpp, traditional): New.
2839 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2841         PR objc/23710
2842         * c-common.h (objc_start_method_definition): Return bool instead
2843         of void.
2844         * stub-objc.c (objc_start_method_definition): Return bool instead
2845         of void.
2847 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2849         PR objc/25965
2850         * c-common.h (objc_get_interface_ivars): New declaration.
2851         * stub-objc.c (objc_get_interface_ivars): New stub.
2853 2010-09-15  Ian Lance Taylor  <iant@google.com>
2855         * c-common.c (parse_optimize_options): Do not capitalize warning
2856         messages.  Remove period at end of warning message.
2858 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2860         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2861         (handle_alias_attribute): ... here.
2862         (handle_ifunc_attribute): New.
2864 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2866         * c-common.h (do_warn_double_promotion): Declare.
2867         * c-common.c (do_warn_double_promotion): Define.
2869 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2871         * c.opt (Wdouble-promotion): New.
2873 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2875         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2876         fvtable-thunks, fxref): Mark no longer supported in help text.
2878 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2880         * c.opt (Wimport, fall-virtual, falt-external-templates,
2881         fdefault-inline, fenum-int-equiv, fexternal-templates,
2882         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2883         fname-mangling-version-, fnew-abi, fnonnull-objects,
2884         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2885         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2886         applicable.
2887         (fhandle-exceptions): Mark with Alias and Warn.
2888         * c-opts.c (c_common_handle_option): Don't handle options marked
2889         as ignored.
2891 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2893         * c.opt (Wcomments, Werror-implicit-function-declaration,
2894         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2895         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2896         aliases.
2897         * c-common.c (option_codes): Use OPT_Wcomment instead of
2898         OPT_Wcomments.
2899         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2900         Don't handle options marked as aliases.
2902 2010-08-25  Richard Guenther  <rguenther@suse.de>
2904         * c-common.c (c_common_get_alias_set): Remove special
2905         handling for pointers.
2907 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2909         * c-common.c: Use FOR_EACH_VEC_ELT.
2910         * c-gimplify.c: Likewise.
2911         * c-pragma.c: Likewise.
2913 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2915         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2916         RejectDriver.
2917         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2918         RejectDriver.
2919         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2920         instead of OPT_MDX and OPT_MMDX.
2922 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2924         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2926 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2928         * c.opt (MD, MMD): Change to MDX and MMDX.
2929         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2931 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2933         * c-opts.c (c_common_handle_option): Call handle_generated_option
2934         instead of handle_option.
2936 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2938         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2939         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2941 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2943         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2944         (pending_redefine_extname): Change type to a VEC.
2945         (add_to_renaming_pragma_list): Update for new type of
2946         pending_redefine_extname.
2947         (maybe_apply_renaming_pragma): Likewise.
2949 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2951         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2952         visited.
2953         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2954         decide whether a type has already been declared/seen.
2955         Do not go to the original type.
2956         (dump_nested_types): New parameter forward.
2957         Generate forward declaration if needed and mark type as visited.
2958         (print_ada_declaration): Call dump_nested_types if not already done.
2959         Mark types as visited.
2961 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2963         * c.opt (-print-pch-checksum): Remove option.
2964         * c-opts.c (c_common_handle_option): Don't handle
2965         OPT_print_pch_checksum.
2967 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2969         * c-common.h (c_common_handle_option): Update prototype and return
2970         value type.
2971         * c-opts.c (c_common_handle_option): Update prototype and return
2972         value type.  Update calls to handle_option and
2973         enable_warning_as_error.
2975 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2977         PR c/45079
2978         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2980 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2982         * c-common.h (c_common_missing_argument): Remove.
2983         * c-opts.c (c_common_missing_argument): Remove.
2984         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2985         idirafter, imacros, include, isysroot, isystem, iquote): Add
2986         MissingArgError.
2987         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2989 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2991         * c-common.h (c_common_option_lang_mask,
2992         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2993         New.
2994         (c_common_init_options): Update prototype.
2995         * c-opts.c (c_common_option_lang_mask): New.
2996         (c_common_initialize_diagnostics): Split out of
2997         c_common_init_options.
2998         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2999         New.
3000         (c_common_init_options): Update prototype.  Use decoded options in
3001         search for -lang-asm.
3003 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3005         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3006         * c-format.c: Likewise.
3008 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3010         * c-common.h: Include diagnostic-core.h. Error if already
3011         included.
3012         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3014 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3016         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3017         Do not include expr.h
3018         (vector_mode_valid_p): Move here.
3020 2010-06-21  DJ Delorie  <dj@redhat.com>
3022         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3023         allow these pragmas anywhere.
3025 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
3027         PR bootstrap/44509
3028         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3029         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3030         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3031         ggc_strdup instead of xstrdup.
3033 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
3035         * c-cppbuiltin.c: Include cpp-id-data.h.
3036         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3037         (lazy_hex_fp_value): New function.
3038         (builtin_define_with_hex_fp_value): Provide definitions lazily.
3040 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3042         * c-gimplify.c: Do not include tree-flow.h
3044 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3046         PR other/44034
3047         * c-common.c: Rename targetm member:
3048         targetm.enum_va_list -> targetm.enum_va_list_p
3050 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
3052         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3054 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3056         * c-cppbuiltin.c: Do not include except.h.
3058 2010-06-24  Andi Kleen  <ak@linux.intel.com>
3060         * c-common.c (warn_for_omitted_condop): New.
3061         * c-common.h (warn_for_omitted_condop): Add prototype.
3063 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
3065         * c.opt (lang-objc): Remove.
3066         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3068 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3070         * c-opts.c: Include "tm_p.h".
3072 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
3074         * c-common.c (parse_optimize_options): Update call to
3075         decode_options.
3077 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3079         * c-common.c (record_types_used_by_current_var_decl): Adjust for
3080         new type of types_used_by_cur_var_decl.
3082 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3084         PR bootstrap/44512
3085         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3086         for C++ standard compliance.
3088 2010-06-16  Jason Merrill  <jason@redhat.com>
3090         * c.opt: Add -Wnoexcept.
3092 2010-06-16  Richard Guenther  <rguenther@suse.de>
3094         PR c/44555
3095         * c-common.c (c_common_truthvalue_conversion): Remove
3096         premature and wrong optimization concering ADDR_EXPRs.
3098 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
3100         * c-ada-spec.c (dump_sloc): Remove column info.
3101         (is_simple_enum): New function.
3102         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3103         enum types when relevant.
3105 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3107         * c-common.c (conversion_warning): Warn at expression
3108         location.
3110 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
3112         * c-opts.c (c_common_handle_option): Don't handle
3113         OPT_fshow_column.
3115 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3117         * c-pragma.c (push_alignment): Use typed GC allocation.
3118         (handle_pragma_push_options): Likewise.
3120         * c-common.c (parse_optimize_options): Likewise.
3122         * c-common.h (struct sorted_fields_type): Add variable_size GTY
3123         option.
3125 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
3127         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3128         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3129         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3130         flag_signed_bitfields, warn_strict_null_sentinel,
3131         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3132         flag_gen_declaration, flag_no_gnu_keywords,
3133         flag_implement_inlines, flag_implicit_templates,
3134         flag_implicit_inline_templates, flag_optional_diags,
3135         flag_elide_constructors, flag_default_inline, flag_rtti,
3136         flag_conserve_space, flag_access_control, flag_check_new,
3137         flag_new_for_scope, flag_weak, flag_working_directory,
3138         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3139         flag_enforce_eh_specs, flag_threadsafe_statics,
3140         flag_pretty_templates): Remove.
3141         * c-common.h (flag_preprocess_only, flag_nil_receivers,
3142         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3143         flag_replace_objc_classes, flag_undef, flag_no_builtin,
3144         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3145         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3146         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3147         flag_no_gnu_keywords, flag_implement_inlines,
3148         flag_implicit_templates, flag_implicit_inline_templates,
3149         flag_optional_diags, flag_elide_constructors, flag_default_inline,
3150         flag_rtti, flag_conserve_space, flag_access_control,
3151         flag_check_new, flag_new_for_scope, flag_weak,
3152         flag_working_directory, flag_use_cxa_atexit,
3153         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3154         flag_threadsafe_statics, flag_pretty_templates,
3155         warn_strict_null_sentinel): Remove.
3156         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3157         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3158         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3159         fimplicit-inline-templates, fimplicit-templates,
3160         flax-vector-conversions, fms-extensions, fnil-receivers,
3161         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3162         frtti, fshort-double, fshort-enums, fshort-wchar,
3163         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3164         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3165         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3166         gen-decls, undef): Use Var.
3167         (fdefault-inline, foptional-diags): Document as doing nothing.
3168         * c-opts.c (c_common_handle_option): Remove cases for options now
3169         using Var.  Mark ignored options as such.
3171 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3173         * c-common.c: Moved to here from parent directory.
3174         * c-common.def: Likewise.
3175         * c-common.h: Likewise.
3176         * c-cppbuiltin.c: Likewise.
3177         * c-dump.c: Likewise.
3178         * c-format.c: Likewise.
3179         * c-format.h : Likewise.
3180         * c-gimplify.c: Likewise.
3181         * c-lex.c: Likewise.
3182         * c-omp.c: Likewise.
3183         * c.opt: Likewise.
3184         * c-opts.c: Likewise.
3185         * c-pch.c: Likewise.
3186         * c-ppoutput.c: Likewise.
3187         * c-pragma.c: Likewise.
3188         * c-pragma.h: Likewise.
3189         * c-pretty-print.c: Likewise.
3190         * c-pretty-print.h: Likewise.
3191         * c-semantics.c: Likewise.
3192         * stub-objc.c: Likewise.
3194         * c-common.c: Include gt-c-family-c-common.h.
3195         * c-pragma.c: Include gt-c-family-c-pragma.h.
3197 Copyright (C) 2010-2013 Free Software Foundation, Inc.
3199 Copying and distribution of this file, with or without modification,
3200 are permitted in any medium without royalty provided the copyright
3201 notice and this notice are preserved.