* Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
[official-gcc.git] / gcc / c-family / ChangeLog
blob9f884b6c8451be59e5f091e6ea936b4fa811a569
1 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
3         * c-cilkplus.c: New file.
4         * c-common.c (readonly_error): Add location argument.
5         * c-common.h (readonly_error): Same.
6         (c_finish_cilk_clauses): Protoize.
7         (c_check_cilk_loop): Same.
8         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9         Do not fail on error_mark_node.
10         Abstract increment canonicalization to here...
11         (c_omp_for_incr_canonicalize_ptr): New.
12         c-pragma.c (init_pragma): Register "simd" pragma.
13         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
14         (enum pragma_cilk_clause): New.
16 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
18         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
19         wchar_type and host_integerp checks.
21 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
23         * c-common.c: Likewise.
24         * c-gimplify.c: Likewise.
25         * cilk.c: Likewise.
27 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
29         * c-common.h (enum rid): Add RID_AUTO_TYPE.
30         * c-common.c (c_common_reswords): Add __auto_type.
31         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
33 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
35         * c-common.c: Include gimplify.h.
36         * c-gimplify.c: Likewise.
37         * cilk.c: Likewise.
38         * c-omp.c: Include gimple-expr.h instead of gimple.h.
39         * c-ubsan.c: Don't include gimple.h.
41 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
43         * c-common.c (c_common_reswords): Add _Thread_local.
45 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
47         * c-common.c (atomic_size_supported_p): New function.
48         (resolve_overloaded_atomic_exchange)
49         (resolve_overloaded_atomic_compare_exchange)
50         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
51         Use it instead of comparing size with a local list of sizes.
53 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
54             Joseph Myers  <joseph@codesourcery.com>
56         * c-common.h (enum rid): Add RID_ATOMIC.
57         * c-common.c (c_common_reswords): Add _Atomic.
58         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
59         (keyword_is_type_qualifier): Accept RID_ATOMIC.
60         * c-format.c (check_format_types): Check for extra _Atomic
61         qualifiers in format argument.
62         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
63         (pp_c_type_qualifier_list): Mention _Atomic in comment.
65 2013-11-06  Tobias Burnus  <burnus@net-b.de>
67         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
69 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
71         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
72         standards modes.
73         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
74         to mean lack of IEEE 754 support.
76 2013-11-05  Tobias Burnus  <burnus@net-b.de>
78         * c.opt (-Wdate-time): New option
79         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
81 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
83         * c-cppbuiltin.c (cpp_iec_559_value): Test
84         flag_excess_precision_cmdline not flag_excess_precision.
86 2013-11-05  Tobias Burnus  <burnus@net-b.de>
88         * c.opt (fopenmp-simd): New option.
89         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
90         (omp_pragmas): ... this new struct.
91         (c_pp_lookup_pragma): Also walk omp_pragmas.
92         (init_pragma): Init pragmas for -fopenmp-simd.
94 2013-11-04  Marek Polacek  <polacek@redhat.com>
96         PR c++/58979
97         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
99 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
101         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
102         New functions.
103         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
105 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
107         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
108         (dump_ada_specs): Adjust prototype of second callback.
109         * c-ada-spec.c (cpp_check): New global variable.
110         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
111         (print_generic_ada_decl): Likewise.
112         (has_static_fields): Change return type to bool and add guard.
113         (has_nontrivial_methods): New predicate.
114         (is_tagged_type): Change return type to bool.
115         (separate_class_package): Call has_nontrivial_methods.
116         (pp_ada_tree_identifier): Minor tweaks.
117         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
118         (dump_ada_array_domains): Likewise.
119         (dump_ada_array_type): Likewise.
120         (dump_template_types): Remove cpp_check parameter and do not pass it to
121         dump_generic_ada_node.
122         (dump_ada_template): Likewise.
123         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
124         recursively.
125         (print_ada_methods): Change return type to integer.  Remove cpp_check
126         parameter and do not pass it down.
127         (dump_nested_types): Remove cpp_check parameter and do not pass it to
128         dump_generic_ada_node.
129         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
130         accessing methods.
131         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
132         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
133         value of print_ada_methods.
134         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
135         Set cpp_check to it before invoking dump_ada_nodes.
136         (dump_ada_specs): Likewise.
138 2013-11-03  Marek Polacek  <polacek@redhat.com>
140         * c-ubsan.c: Don't include hash-table.h.
141         (ubsan_instrument_vla): New function.
142         * c-ubsan.h: Declare it.
144 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
146         Automated part of renaming of symtab_node_base to symtab_node.
148         Patch autogenerated by rename_symtab.py from
149         https://github.com/davidmalcolm/gcc-refactoring-scripts
150         revision 58bb219cc090b2f4516a9297d868c245495ee622
152         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
153         symtab_node_base to symtab_node.
155 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
157         Implement C++14 digit separators.
158         * c-lex.c (interpret_float): Remove digit separators from scratch string
159         before building real literal.
161 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
163         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
165 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
167         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
168         fields.
169         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
170         enabled.
171         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
172         (insert_cilk_frame): New prototype.
173         (cilk_init_builtins): Likewise.
174         (gimplify_cilk_spawn): Likewise.
175         (c_cilk_install_body_w_frame_cleanup): Likewise.
176         (cilk_detect_spawn_and_unwrap): Likewise.
177         (cilk_set_spawn_marker): Likewise.
178         (build_cilk_sync): Likewise.
179         (build_cilk_spawn): Likewise.
180         * cilk.c: New file.
182 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
184         Patch autogenerated by refactor_symtab.py from
185         https://github.com/davidmalcolm/gcc-refactoring-scripts
186         revision 58bb219cc090b2f4516a9297d868c245495ee622
188         * c-gimplify.c (c_genericize): Update for conversion of symtab types
189         to a true class hierarchy.
190         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
192 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
194         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
196 2013-10-26  Jeff Law  <law@redhat.com>
198         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
199         * c-family/c.opt: Ignore and warn for mudflap options.
201 2013-10-24  Tobias Burnus  <burnus@net-b.de>
203         PR other/33426
204         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
205         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
207 2013-10-23  Jason Merrill  <jason@redhat.com>
209         * c-format.c (gcc_cxxdiag_char_table): Add %X.
211 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
213         * c-common.h (omp_clause_mask::operator !=): New method.
214         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
215         instead of if (mask & something) tests everywhere.
217         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
218         201307 instead of 201107.
219         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
220         (c_common_attribute_table): Add "omp declare target" and
221         "omp declare simd" attributes.
222         (handle_omp_declare_target_attribute,
223         handle_omp_declare_simd_attribute): New functions.
224         * c-omp.c: Include c-pragma.h.
225         (c_finish_omp_taskgroup): New function.
226         (c_finish_omp_atomic): Add swapped argument, if true,
227         build the operation first with rhs, lhs arguments and use NOP_EXPR
228         build_modify_expr.
229         (c_finish_omp_for): Add code argument, pass it down to make_code.
230         (c_omp_split_clauses): New function.
231         (c_split_parallel_clauses): Removed.
232         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
233         c_omp_declare_simd_clauses_to_decls): New functions.
234         * c-common.h (omp_clause_mask): New type.
235         (OMP_CLAUSE_MASK_1): Define.
236         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
237         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
238         omp_clause_mask::operator |, omp_clause_mask::operator &,
239         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
240         omp_clause_mask::operator ==): New methods.
241         (enum c_omp_clause_split): New.
242         (c_finish_omp_taskgroup): New prototype.
243         (c_finish_omp_atomic): Add swapped argument.
244         (c_finish_omp_for): Add code argument.
245         (c_omp_split_clauses): New prototype.
246         (c_split_parallel_clauses): Removed.
247         (c_omp_declare_simd_clauses_to_numbers,
248         c_omp_declare_simd_clauses_to_decls): New prototypes.
249         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
250         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
251         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
252         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
253         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
254         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
255         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
256         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
257         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
258         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
259         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
260         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
261         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
262         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
263         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
264         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
265         PRAGMA_OMP_CLAUSE_UNIFORM.
267 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
269         PR tree-optimization/20318
270         * c-common.c (handle_returns_nonnull_attribute): New function.
271         (c_common_attribute_table): Add returns_nonnull.
273 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
275         PR c++/19476
276         * c.opt (fcheck-new): Move to common.opt.
278 2013-09-25  Marek Polacek  <polacek@redhat.com>
279             Jakub Jelinek  <jakub@redhat.com>
281         PR sanitizer/58413
282         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
283         an expression if we can prove it is correct.
284         (ubsan_instrument_division): Likewise.  Remove unnecessary
285         check.
287 2013-09-18  Marek Polacek  <polacek@redhat.com>
289         PR sanitizer/58411
290         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
291         Declare it.
292         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
294 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
296         PR target/48094
297         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
298         fobjc-gc, freplace-objc-classes): Accept for LTO.
300 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
302         * c-target.def: New hook
304 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
306         PR c++/43452
307         * c.opt (Wdelete-incomplete): Add.
309 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
311         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
312         (vector_types_compatible_elements_p): New function.
313         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
314         declaration.
315         (vector_types_compatible_elements_p): Declare.
317 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
319         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
320         a virtual member function.
321         (pp_simple_type_specifier): Remove.
322         (pp_c_type_specifier): Likewise.
323         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
324         Rename from pp_c_type_specifier.  Adjust.
325         (c_pretty_printer::c_pretty_printer): Do not assign to
326         simple_type_specifier.
328 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
330         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
331         member function.
332         (c_pretty_printer::storage_class_specifier): Likewise.
333         (c_pretty_printer::initializer): Likewise.
334         (pp_declaration): Remove.
335         (pp_declaration_specifiers): Likewise.
336         (pp_abstract_declarator): Likewise.
337         (pp_declarator): Likewise.
338         (pp_type_id): Likewise.
339         (pp_statement): Likewise.
340         (pp_constant): Likewise.
341         (pp_id_expression): Likewise.
342         (pp_primary_expression): Likewise.
343         (pp_unary_expression): Likewise.
344         (pp_multiplicative_expression): Likewise.
345         (pp_conditional_expression): Likewise.
346         (pp_assignment_expression): Likewise.
347         (pp_expression): Likewise.
348         (pp_c_type_id): Likewise.
349         (pp_c_storage_class_specifier): Likewise.
350         * c-pretty-print.c (pp_c_type_cast): Tidy.
351         (pp_c_pointer): Likewise.
352         (pp_c_type_specifier): Likewise.
353         (pp_c_parameter_type_list): Likewise.
354         (pp_c_function_definition): Likewise.
355         (pp_c_init_declarator): Likewise.
356         (pp_c_initializer_list): Likewise.
357         (pp_c_constructor_elts): Likewise.
358         (c_pretty_printer::direct_abstract_declarator): Likewise.
359         (c_pretty_printer::declaration_specifiers): Likewise.
360         (c_pretty_printer::primary_expression): Likewise.
361         (c_pretty_printer::postfix_expression): Likewise.
362         (c_pretty_printer::type_id): Rename from pp_c_type_id.
363         (c_pretty_printer::storage_class_specifier): Rename from
364         pp_c_storage_class_specifier.
365         (c_pretty_printer::initializer): Rename from pp_c_initializer.
366         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
367         storage_class_specifier, initializer, offset_list, flags.
369 2013-08-30  Marek Polacek  <polacek@redhat.com>
371         * c-ubsan.c: New file.
372         * c-ubsan.h: New file.
374 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
376         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
377         member function.
378         (c_pretty_printer::declaration_specifiers): Likewise.
379         (c_pretty_printer::declarator): Likewise.
380         (c_pretty_printer::abstract_declarator): Likewise.
381         (c_pretty_printer::direct_abstract_declarator): Likewise.
382         (c_pretty_printer::direct_declarator): Likewise.
383         (c_pretty_printer::function_specifier): Likewise.
384         (pp_declaration): Adjust.
385         (pp_declaration_specifiers): Likewise.
386         (pp_abstract_declarator): Likewise.
387         (pp_direct_declarator): Likewise.
388         (pp_function_specifier): Likewise.
389         (pp_direct_abstract_declarator): Remove as unused.
390         (pp_c_declaration): Remove.
391         (pp_c_declaration_specifiers): Likewise.
392         (pp_c_declarator): Likewise.
393         (pp_c_direct_declarator): Likewise.
394         (pp_c_function_specifier): Likewise.
395         (pp_c_direct_abstract_declarator): Likewise.
396         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
397         from pp_c_abstract_declarator.  Adjust.
398         (c_pretty_printer::direct_abstract_declarator):  Rename from
399         pp_c_direct_abstract_declarator.  Adjust.
400         (c_pretty_printer::function_specifier): Rename from
401         pp_c_function_specifier.  Adjust.
402         (c_pretty_printer::declaration_specifiers): Rename from
403         pp_c_declaration_specifiers.  Adjust.
404         (c_pretty_printer::direct_declarator): Rename from
405         pp_c_direct_declarator.  Adjust.
406         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
407         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
408         (c_pretty_printer::c_pretty_printer): Do not assign to
409         declaration, declaration_specifiers, declarator,
410         direct_declarator, direct_abstract_declarator, function_specifier.
412 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
414         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
415         virtual member function.
416         (c_pretty_printer::multiplicative_expression): Likewise.
417         (c_pretty_printer::conditional_expression): Likewise.
418         (c_pretty_printer::assignment_expression): Likewise.
419         (c_pretty_printer::expression): Likewise.
420         (pp_unary_expression): Adjust.
421         (pp_multiplicative_expression): Likewise.
422         (pp_assignment_expression): Likewise.
423         (pp_conditional_expression): Likewise.
424         (pp_expression): Likewise.
425         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
426         from pp_c_unary_expression.  Adjust.
427         (c_pretty_printer::multiplicative_expression): Rename from
428         pp_c_multiplicative_expression.  Adjust.
429         (c_pretty_printer::conditional_expression): Rename from
430         pp_c_conditional_expression.  Adjust.
431         (c_pretty_printer::assignment_expression): Rename from
432         pp_c_assignment_expression.  Adjust.
433         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
434         (c_pretty_printer::c_pretty_printer): Do not assign to
435         unary_expression, multiplicative_expression,
436         conditional_expression, expression.
438 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
440         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
441         virtual member function.
442         (pp_postfix_expression): Adjust.
443         (pp_c_postfix_expression): Remove.
444         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
445         from pp_c_postfix_expression.  Adjust.
446         (c_pretty_printer::c_pretty_printer): Do not assign to
447         postfix_expression.
449 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
451         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
452         virtua member function.
453         (pp_primary_expression): Adjust.
454         (pp_c_primary_expression): Remove.
455         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
456         from pp_c_primary_expression.  Adjust.
457         (pp_c_initializer_list): Use pp_primary_expression.
458         (c_pretty_printer::c_pretty_printer): Do not assign to
459         primary_expression.
461 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
463         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
464         * c-pretty-print.c (M_): Remove.
465         (c_pretty_printer::translate_string): Define.
466         (pp_c_type_specifier): Use it.
467         (pp_c_primary_expression): Likewise.
468         (pp_c_expression): Likewise.
470 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
472         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
473         virtual function.
474         (pp_c_id_expression): Remove.
475         (pp_id_expression): Adjust.
476         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
477         pp_c_id_expression.  Adjust.
478         (pp_c_postfix_expression): Use pp_id_expression.
479         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
481 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
483         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
484         member function.
485         (pp_constant): Adjust.
486         (pp_c_constant): Remove.
487         * c-pretty-print.c (c_pretty_printer::constant): Rename from
488         pp_c_constant.  Adjust.
489         (pp_c_constant)
490         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
491         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
493 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
495         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
496         (c_pretty_printer::c_pretty_printer): Declare.
497         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
498         c_pretty_printer_init.  Adjust.
499         (print_c_tree): Do not call c_pretty_printer_init.
500         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
502 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
504         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
506 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
508         PR c++/58080
509         * c-common.c (pointer_int_sum): Add bool parameter.
510         * c-common.h (pointer_int_sum): Adjust declaration.
512 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
514         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
515         c_pretty_printer variable.
517 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
519         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
520         (pp_base): Remove.
521         (pp_c_base): Likewise.  Adjust users.
522         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
523         (pp_c_whitespace): Do not call pp_base.
524         (pp_c_left_paren): Likewise.
525         (pp_c_right_paren): Likewise.
526         (pp_c_left_brace): Likewise.
527         (pp_c_right_brace): Likewise.
528         (pp_c_left_bracket): Likewise.
529         (pp_c_right_bracket): Likewise.
530         (pp_c_dot): Likewise.
531         (pp_c_ampersand): Likewise.
532         (pp_c_star): Likewise.
533         (pp_c_arrow): Likewise.
534         (pp_c_semicolon): Likewise.
535         (pp_c_complement): Likewise.
536         (pp_c_exclamation): Likewise.
537         (pp_c_direct_declarator): Likewise.
538         (pp_c_ws_string): Likewise.
539         (pp_c_identifier): Likewise.
540         (pp_c_statement): Likewise.
541         (print_c_tree): Likewise.
543 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
545         PR c++/58072
546         * c-common.c (c_parse_error): Catch user-defined literal tokens and
547         provide useful error strings.
549 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
551         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
552         printer functions instead of pp_string or operators and punctuators.
553         (dump_generic_ada_node): Likewise.
554         * c-pretty-print.c (pp_c_type_specifier): Likewise.
555         (pp_c_relational_expression): Likewise.
556         (pp_c_logical_or_expression): Likewise.
558 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
560         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
561         functions instead of pp_character.
562         (pp_ada_tree_identifier): Likewise.
563         (dump_ada_double_name): Likewise.
564         (dump_ada_function_declaration): Likewise.
565         (dump_ada_array_domains): Likewise.
566         (dump_template_types): Likewise.
567         (dump_generic_ada_node): Likewise.
568         (print_ada_declaration): Likewise.
569         (print_ada_struct_decl): Likewise.
570         * c-pretty-print.c (pp_c_integer_constant): Likewise.
572 2013-07-23  Tom Tromey  <tromey@redhat.com>
574         * c-common.h (enum rid) <RID_GENERIC>: New constant.
575         * c-common.c (c_common_reswords): Add _Generic.
577 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
579         * c-common.c: Fix typos.
580         * c-common.h: Likewise.
582 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
584         PR c++/55203
585         * c-common.c (c_common_attribute_table): Add warn_unused.
586         (handle_warn_unused_attribute): New.
588 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
590         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
591         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
593 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
595         PR c++/57869
596         * c.opt: Add Wconditionally-supported.
598 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
600         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
601         unused variables l_length and l_node.
603 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
605         PR c/57821
606         * c-common.c (complete_array_type): Delay folding first index
607         like other indices.  When folding, check for index overflow.
609 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
611         PR c++/57509
612         * c-common.h (c_build_vec_perm_expr): New complain argument.
613         * c-common.c (c_build_vec_perm_expr): Likewise.
614         Use save_expr also in C++.
616 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
618         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
619         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
620         * c-opts.c (c_common_post_options): Likewise.
622 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
624         * array-notation-common.c (length_mismatch_in_expr): Changed the
625         parameter type's from a dynamic array to a vec_tree.  Also removed
626         the size parameters.
627         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
628         the change above.
630 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
632         * c-common.h (struct cilkplus_an_parts): New structure.
633         (struct cilkplus_an_loop_parts): Likewise.
634         (cilkplus_extract_an_triplets): New prototype.
635         (fix_sec_implicit_args): Likewise.
636         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
637         (fix_sec_implicit_args): Likewise.
639 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
641         * array-notation-common.c (find_inv_trees): Removed an unwanted
642         typecasting.
643         * c-common.h (struct inv_list::additional_tcodes): Changed type from
644         enum rid to enum tree_code.
646 2013-06-11  Jan Hubicka  <jh@suse.cz>
648         * c-common.c (handle_alias_ifunc_attribute): Do not set
649         DECL_EXTERNAL for weakref variables.
650         * c-pragma.c (handle_pragma_weak): Make sure aliases
651         are not declared as external.
653 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
655         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
656         function from c/c-array-notation.c.
657         (is_cilkplus_reduce_builtin): Likewise.
658         (find_rank): Likewise.
659         (extract_array_notation_exprs): Likewise.
660         (replace_array_notations): Likewise.
661         (find_inv_trees): Likewise.
662         (replace_inv_trees): Likewise.
663         (contains_array_notation_expr): Likewise.
664         (find_correct_array_notation_type): Likewise.
665         * c-common.h (struct inv_list): Moved this struct from the file
666         c/c-array-notation.c and added a new field called additional tcodes.
667         (length_mismatch_in_expr_p): New prototype.
668         (is_cilkplus_reduce_builtin): Likewise.
669         (find_rank): Likewise.
670         (extract_array_notation_exprs): Likewise.
671         (replace_array_notation): Likewise.
672         (find_inv_trees): Likewise.
673         (replace_inv_trees): Likewise.
674         (find_correct_array_notation_type): Likewise.
676 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
678         * c-common.c (c_define_builtins): When cilkplus is enabled, the
679         function array_notation_init_builtins is called.
680         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
681         * c-common.def (ARRAY_NOTATION_REF): New tree.
682         * c-common.h (build_array_notation_expr): New function declaration.
683         (build_array_notation_ref): Likewise.
684         (extract_sec_implicit_index_arg): New extern declaration.
685         (is_sec_implicit_index_fn): Likewise.
686         (ARRAY_NOTATION_CHECK): New define.
687         (ARRAY_NOTATION_ARRAY): Likewise.
688         (ARRAY_NOTATION_START): Likewise.
689         (ARRAY_NOTATION_LENGTH): Likewise.
690         (ARRAY_NOTATION_STRIDE): Likewise.
691         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
692         ARRAY_NOTATION_REF.
693         (pp_c_expression): Likewise.
694         * c.opt (flag_enable_cilkplus): New flag.
695         * array-notation-common.c: New file.
697 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
699         PR c++/57274
700         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
702 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
704         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
705         vectors.
707 2013-05-07  Han Shen  <shenhan@google.com>
709         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
711 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
713         * c-common.c (check_user_alignment): Emit error for negative values.
715 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
717         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
719 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
721         * c-cppbuiltin.c (c_cpp_builtins): Do not define
722         __GXX_EXPERIMENTAL_CXX1Y__.
724 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
725             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
727         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
728         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
729         to simply use OPT_Wpointer_arith.
730         (c_sizeof_or_alignof_type): Likewise.
732 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
734         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
736 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
738         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
739         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
740         specifiers.
742 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
744         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
746 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
748         * c-common.c (pointer_int_sum): Remove dead code.
750 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
752         PR middle-end/56524
753         * c-common.c (handle_optimize_attribute): Don't call
754         save_optabs_if_changed.
756 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
758         PR middle-end/56461
759         * c-pch.c (pch_init): Free target_validity at the end.
761 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
763         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
765 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
766             Jakub Jelinek  <jakub@redhat.com>
768         PR sanitizer/56454
769         * c-common.c (handle_no_sanitize_address_attribute): New function.
770         (c_common_attribute_table): Add no_sanitize_address attribute.
771         (handle_no_address_safety_analysis_attribute): Add
772         no_sanitize_address attribute, not no_address_safety_analysis
773         attribute.
775 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
777         PR target/52555
778         * c-common.c (handle_optimize_attribute): Call
779         save_optabs_if_changed.
781 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
782             Steven Bosscher  <steven@gcc.gnu.org>
784         PR pch/54117
785         * c-opts.c (c_common_post_options): If debug info is enabled
786         and non-dwarf*, refuse to load PCH files and when writing PCH
787         file warn.
789 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
791         PR middle-end/56167
792         * c-common.c (handle_error_attribute): Fix condition.
794 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
796         PR c++/55742
797         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
799 2013-01-18  Jason Merrill  <jason@redhat.com>
801         PR target/54908
802         * c.opt (-fextern-tls-init): New.
803         * c-opts.c (c_common_post_options): Handle it.
805 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
807         PR c/48418
808         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
809         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
810         and is either negative or bigger or equal to type precision
811         of the first operand.
813 2012-12-03  Marek Polacek  <polacek@redhat.com>
815         PR c/55570
816         * c-common.c (check_user_alignment): Swap order of tests,
817         check TREE_CODE first.
819 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
821         PR c++/52654
822         * c-common.h (overflow_type): New enum.
823         (build_userdef_literal): Add overflow_type argument.
824         (tree_userdef_literal): Add overflow_type.
825         (USERDEF_LITERAL_OVERFLOW): New access macro.
826         * c-common.c (build_userdef_literal): Add overflow_type
827         argument.
828         * c-lex.c (c_lex_with_flags): Add overflow_type to
829         build_userdef_literal calls.
830         (interpret_integer, interpret_float): Add overflow_type argument.
832 2012-11-28  Richard Biener  <rguenther@suse.de>
834         PR c/35634
835         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
836         here and use a type with proper overflow behavior for types that would
837         need to be promoted for the arithmetic.
839 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
841         PR sanitizer/55435
842         * c-common.c (handle_no_address_safety_analysis_attribute): New
843         function.
844         (c_common_attribute_table): Add no_address_safety_analysis.
846 2012-11-16  Simon Baldwin  <simonb@google.com>
848         * c.opt: Add f[no-]canonical-system-headers.
849         * c-opts.c (c_common_handle_option): Handle
850         OPT_fcanonical_system_headers.
852 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
854         PR c++/54413
855         * c-opts.c (c_common_handle_option): Set new flags.
856         * c.opt: Describe new flags.
858 2012-11-09  Jason Merrill  <jason@redhat.com>
860         * c.opt (Wabi-tag): New.
862 2012-11-09  Andi Kleen  <ak@linux.intel.com>
864         PR 55139
865         * c-common.c (get_atomic_generic_size): Mask with
866         MEMMODEL_MASK
868 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
870         PR c/53063
871         * c.opt (Wformat): Make it Alias Wformat=1.
872         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
873         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
874         LangEnabledBy.
875         (Wformat=): RejectNegative. Use LangEnabledBy.
876         (Wnonnull): Use LangEnabledBy.
877         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
878         * c-format.c (set_Wformat): Delete.
879         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
880         (maybe_read_dollar_number):  Likewise.
881         (avoid_dollar_number):  Likewise.
882         (finish_dollar_format_checking):  Likewise.
883         (check_format_info):  Likewise.
884         (check_format_info_main):  Likewise.
885         (check_format_types):  Likewise.
886         (format_type_warning):  Likewise.
887         * c-common.c (int):  Likewise.
888         (check_function_sentinel):  Likewise.
889         * c-common.h (warn_format,set_Wformat): Do not declare here.
891 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
893         PR c/53063
894         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
895         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
896         Use LangEnabledBy.
897         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
898         common.opt.
899         (Wvariadic-macros): Init(1).
900         * c-opts.c (c_common_handle_option): Do not handle them
901         explicitly.
902         (c_common_post_options): Likewise.
903         (sanitize_cpp_opts): warn_unused_macros is now
904         cpp_warn_unused_macros.
905         (push_command_line_include): Likewise.
906         * c-common.c (warn_unknown_pragmas): Do not define.
907         * c-common.h (warn_unknown_pragmas): Do not declare.
909 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
911         PR c/51294
912         * c-common.c (conversion_warning): Handle conditional expressions.
914 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
916         PR c++/54930
917         * c.opt (Wreturn_local_addr): Define new option.
919 2012-10-25  Jason Merrill  <jason@redhat.com>
921         * c.opt (Wvirtual-move-assign): New.
923         * c.opt (Winherited-variadic-ctor): New.
925 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
927         PR c++/54427
928         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
930 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
932         * c-common.h (pch_cpp_save_state): Declare.
933         * c-target.def (c_preinclude): New hook.
934         * c-opts.c (done_preinclude): New.
935         (push_command_line_include): Handle default preincluded header.
936         (cb_file_change): Call pch_cpp_save_state when calling
937         push_command_line_include.
938         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
939         (pch_cpp_save_state): New.
940         (pch_init): Call pch_cpp_save_state conditionally, instead of
941         calling cpp_save_state.
943 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
945         PR c/53063
946         PR c/40989
947         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
948         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
949         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
950         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
951         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
952         * c-opts.c (c_common_handle_option): Remove explicit handling from
953         here.
954         (c_common_post_options): Likewise.
956 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
958         * c-ada-spec.c (LOCATION_COL): Delete.
959         (compare_location): New function.
960         (compare_node): Use it.
961         (compare_comment): Likewise.
963 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
965         PR c/53063
966         PR c/40989
967         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
968         * c-opts.c (c_common_handle_option): Do not set them here. Add
969         comment.
970         (c_common_post_options): Likewise.
972 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
974         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
975         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
976         Remove POINTER_TYPE handling, add large unsigned handling and use
977         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
979 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
981         PR c/54381
982         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
983         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
984         locs and array of 3 trees instead of just single loc and single
985         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
986         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
987         For *cmp* builtins that take two sources strings report warnings
988         about first and second source, not about destination and source.
990 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
992         PR c++/53055
993         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
995 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
997         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
998         declaring something coming from another file.
1000 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
1002         PR ada/54845
1003         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1005 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1007         PR c++/54194
1008         * c-common.c (warn_about_parentheses): Add location_t parameter;
1009         use EXPR_LOC_OR_LOC.
1010         * c-common.h: Update declaration.
1012 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1014         PR c++/54427
1015         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1016         more operations. Make error messages optional.
1017         * c-common.h (enum stv_conv): Moved from c-typeck.c.
1018         (scalar_to_vector): Declare.
1020 2012-10-08  Jason Merrill  <jason@redhat.com>
1022         * c-common.c (c_common_reswords): Add thread_local.
1024 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
1026         PR c++/53528 C++11 attribute support
1027         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1028         new functions.
1029         * c-common.c (check_cxx_fundamental_alignment_constraints): New
1030         static function.
1031         (handle_aligned_attribute): In choose strictest alignment
1032         among many.  Use new check_cxx_fundamental_alignment_constraints.
1033         (handle_transparent_union_attribute): In c++11 attribute syntax,
1034         don't look through typedefs.
1036 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
1038         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1039         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1040         out of dumpfile.h.
1042 2012-09-25  Dehao Chen  <dehao@google.com>
1044         PR middle-end/54645
1045         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1046         map when read in the pch.
1048 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
1050         * c-ada-spec.c: Style fixes.
1052 2012-09-18 Thomas Quinot  <quinot@adacore.com>
1054         * c.opt (-fada-spec-parent): Define new command line switch.
1055         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1056         is specified, generate binding spec as a child of the specified unit.
1058 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1059             Manuel López-Ibáñez  <manu@gcc.gnu.org>
1061         PR c++/53210
1062         * c.opt ([Winit-self]): Enabled by -Wall in C++.
1064 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
1066         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1067         for pointers, and add missing Convention C pragma.
1068         (print_ada_struct_decl): Add missing aliased keyword.
1069         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1071 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
1073         * c-common.c (sizeof_pointer_memaccess_warning): New function.
1074         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1075         * c-opts.c (c_common_handle_option): Enable it for -Wall.
1076         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1077         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1079 2012-08-10  Richard Guenther  <rguenther@suse.de>
1081         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1083 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1085         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1086         instead of separate pp_newline and pp_flush.
1087         (print_c_tree): Likewise.
1089 2012-07-26  Richard Henderson  <rth@redhat.com>
1091         * c-common.c (handle_hot_attribute): Allow labels.
1092         (handle_cold_attribute): Likewise.
1094 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
1096         PR c++/28656
1097         * c-common.c (check_function_nonnull): Handle multiple nonnull
1098         attributes properly.
1100 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1102         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1103         * c-ada-spec.c: Likewise.
1104         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1106 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1108         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1109         Remove code conditional on it.
1111 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1113         * c-gimplify.c: Do not include basic-block.h.
1114         * c-common.c: Do not include linfuncs.h.
1116 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1118         * c-common.h: Include tree.h.
1120 2012-07-02  Jason Merrill  <jason@redhat.com>
1122         PR c++/53524
1123         * c-common.c (get_priority): Call default_conversion.
1125 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1127         * c-pch.c (c_common_write_pch): Remove unused variables.
1129 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1131         * cppspec.c: Moved from gcc/ to here.
1133 2012-06-27  Kai Tietz  <ktietz@redhat.com>
1135         PR preprocessor/37215
1136         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1138 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1140         * c-common.h (c_common_print_pch_checksum): Remove.
1141         * c-pch.c: Do not include output.h.
1142         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1143         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1144         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1145         (struct c_pch_header): Remove.
1146         (get_ident): Update gpch version.
1147         (pch_init): Do not print executable_checksum to asm_out_file.
1148         Do not fail if there is no asm_out_file to read back from.  Set
1149         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1150         (c_common_write_pch): Verify that nothing was written to asm_out_file
1151         since pch_init was called.  Do not write a c_pch_header, and do not
1152         copy from asm_out_file to the PCH.
1153         (c_common_read_pch): Do not read a c_pch_header, and do not restore
1154         the content of asm_out_file from the PCH.
1155         (c_common_print_pch_checksum): Remove.
1156         * c-opts.c (c_common_init): Print out executable_checksum directly.
1158 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1160         * c-target.def (objc_declare_unresolved_class_reference,
1161         objc_declare_class_definition): Add new hooks.
1163 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1165         * c-lex.c: Do not include output.h.
1166         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1167         Remove uses of ASM_OUTPUT_IDENT.
1169 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1171         PR c++/51033
1172         * c-common.h (c_build_vec_perm_expr): Move decl here.
1173         * c-common.c (c_build_vec_perm_expr): Move definition
1174         here.
1176 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1178         * c.opt (fconserve-space): Turn into a no-op.
1180 2012-06-04  Sterling Augustine  <saugustine@google.com>
1182         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1183         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1184         both the start and end of the function.
1186 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1188         * c-common.c: Do not include output.h.
1189         * c-pragma.c: Likewise.
1191 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1193         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1194         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1195         (lang_decl_name): Handle namespace decls.
1197 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1199         * c-ada-spec.c: Do not include output.h.
1200         * c-semantics.c: Likewise.
1202 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
1204         * c-common.c: Fix typo.
1206 2012-05-29  Michael Matz  <matz@suse.de>
1208         * c-common.h (c_expand_decl): Remove prototype.
1210 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1212         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1213         * c-opts.c (c_common_handle_option): Remove code handling
1214         warn_missing_braces.
1216 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1218         PR c++/25137
1219         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1220         -Wmissing_braces.
1222 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1224         PR c++/53322
1225         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1227 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1229         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1230         * c-opts.c (c_common_handle_option): Do not handle explicitly
1231         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1233 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
1235         PR preprocessor/7263
1236         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1237         to cpp_classify_number.  For diagnostics, use the precise location
1238         instead of the global input_location.
1240 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1242         PR c++/11856
1243         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1245 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1247         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1249 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1251         PR 53063
1252         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1253         Wreorder): Use LangEnabledBy.
1254         * c-opts.c (c_common_handle_option): Do not enable them
1255         explicitly. Call lang-specific generated functions.
1256         (c_common_post_options): Do not set them here.
1258 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1260         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1261         Wmissing-field-initializers,Wmissing-parameter-type,
1262         Wold-style-declaration,Woverride-init): Use EnabledBy.
1263         * c-opts.c (c_common_post_options): Do not set here explicitly.
1265 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1267         PR 53063
1268         * c-opts.c (c_common_handle_option): Use handle_generated_option
1269         to enable sub-options.
1271 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1273         PR c++/53158
1274         * c-common.c (warnings_for_convert_and_check): Use warning_at.
1276 2012-05-10  Richard Guenther  <rguenther@suse.de>
1278         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1279         adjust commentary about TYPE_IS_SIZETYPE types.
1281 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1283         PR c++/53261
1284         * c-common.c (warn_logical_operator): Check that argument of
1285         integer_zerop is not NULL.
1287 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1289         PR c/43772
1290         * c-common.c (warn_logical_operator): Do not warn if either side
1291         is already true or false.
1293 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1295         PR c/51712
1296         * c-common.c (expr_original_type): New.
1297         (shorten_compare): Do not warn for enumeration types.
1299 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1301         * c.opt (fpermissive): Add Var(flag_permissive).
1303 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1305         PR c++/51033
1306         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1307         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1309 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
1311         Add -Wvarargs option
1312         * c.opt (Wvarargs):  Define new option.
1314 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1316         * c-common.c (check_function_arguments): Replace
1317         Wmissing-format-attribute with Wsuggest-attribute=format.
1319 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1321         * c.opt (Wsuggest-attribute=format): New. Alias of
1322         Wmissing-format-attribute.
1323         * c-format.c (decode_format_type): Replace
1324         Wmissing-format-attribute with Wsuggest-attribute=format.
1325         (check_function_format): Likewise.
1327 2012-04-27  Ollie Wild  <aaw@google.com>
1329         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1330         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1331         * c.opt: Add Wliteral-suffix.
1333 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1335         PR c/44774
1336         * c.opt (Wpedantic): New.
1337         (pedantic): Alias Wpedantic.
1338         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1339         (c_common_post_options): Likewise.
1340         (sanitize_cpp_opts): Likewise.
1341         * c-lex.c (interpret_float): Likewise.
1342         * c-format.c (check_format_types): Likewise.
1343         * c-common.c (pointer_int_sum): Likewise.
1344         (c_sizeof_or_alignof_type): Likewise.
1345         (c_add_case_label): Likewise.
1346         (c_do_switch_warnings): Likewise.
1347         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1349 2012-04-15  Jason Merrill  <jason@redhat.com>
1351         PR c++/52818
1352         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1353         (C_STD_NAME): Distinguish between C++98 and C++11.
1355 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1357         PR target/52624
1358         * c-common.h (uint16_type_node): Rename into...
1359         (c_uint16_type_node): ...this.
1360         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1361         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1363 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1365         * c-common.c (warn_if_unused_value): Move definition to here.
1366         * c-common.h (warn_if_unused_value): Move declaration to here.
1368 2012-03-23  William Bader  <williambader@hotmail.com>
1370         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1372 2012-03-20  Jason Merrill  <jason@redhat.com>
1374         * c-common.h (enum cxx_dialect): Add cxx1y.
1375         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1376         test.
1377         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1378         * c-opts.c (c_common_post_options): Likewise.
1379         (set_std_cxx1y): New.
1380         (c_common_handle_option): Call it.
1381         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1383 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1385         PR c++/14710
1386         * c.opt ([Wuseless-cast]): Add.
1388 2012-03-16  Richard Guenther  <rguenther@suse.de>
1390         * c-pretty-print.c (pp_c_initializer_list): Adjust.
1392 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1394         PR c++/44783
1395         * c.opt (ftemplate-backtrace-limit) Add.
1397 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1399         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1400         handling.
1401         * c-pragma.c (handle_pragma_extern_prefix): Remove.
1402         (init_pragma): Don't register extern_prefix.
1404 2012-03-12  Richard Guenther  <rguenther@suse.de>
1406         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1407         (builtin_type_for_size): Likewise.
1409 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
1411         PR c++/52215
1412         * c-common.c (sync_resolve_params): Don't decide whether to convert
1413         or not based on TYPE_SIZE comparison, convert whenever arg_type
1414         is unsigned INTEGER_TYPE.
1416 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1418         PR c/52118
1419         * c.opt ([Wunused-local-typedefs]): Fix description.
1421 2012-01-24  Mike Stump  <mikestump@comcast.net>
1423         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1424         exactly.
1426 2012-01-18  Richard Guenther  <rguenther@suse.de>
1428         * c-opts.c (c_common_post_options): Reset LTO flags if
1429         we are about to generate a PCH.
1431 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1433         PR c++/51777
1434         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1435         use pp_unsigned_wide_integer.
1437 2012-01-10  Richard Guenther  <rguenther@suse.de>
1439         PR middle-end/51806
1440         * c-opts.c (c_common_handle_option): Move -Werror handling
1441         to language independent code.
1443 2012-01-05  Richard Guenther  <rguenther@suse.de>
1445         PR middle-end/51764
1446         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1447         from common.opt.
1449 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
1451         PR c++/51316
1452         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1453         of array types with an unknown bound.
1455 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
1457         * c-common.c (flag_isoc99): Update comment to refer to C11.
1458         (flag_isoc1x): Change to flag_isoc11.
1459         * c-common.h (flag_isoc99): Update comment to refer to C11.
1460         (flag_isoc1x): Change to flag_isoc11.
1461         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1462         C11.
1463         * c-opts.c (set_std_c1x): Change to set_std_c11.
1464         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1465         Call set_std_c11.
1466         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1467         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1468         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
1469         standard.
1470         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1471         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1472         (std=gnu1x): Make alias of std=gnu11.
1474 2011-12-19  Jason Merrill  <jason@redhat.com>
1476         PR c++/51228
1477         * c-common.c (handle_transparent_union_attribute): Check the first
1478         field if the type is complete.
1480 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1482         PR libstdc++/51365
1483         * c-common.c (RID_IS_FINAL): Add.
1484         * c-common.h (RID_IS_FINAL): Add.
1486 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
1488         * c.opt (fgnu-runtime): Provide full description.
1489         (fnext-runtime): Likewise.
1490         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1492 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
1494         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
1495         predefines in one place.  Add LOCK_FREE predefines.
1496         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1497         new func.
1499 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
1501         PR c/51256
1502         * c-common.c (get_atomic_generic_size): Check for various error
1503         conditions
1504         (resolve_overloaded_atomic_exchange,
1505         resolve_overloaded_atomic_compare_exchange,
1506         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1507         error_mark_node for error conditions.
1509 2011-11-08  Richard Guenther  <rguenther@suse.de>
1511         PR middle-end/51010
1512         c-family/
1514 2011-11-07  Richard Henderson  <rth@redhat.com>
1515             Aldy Hernandez  <aldyh@redhat.com>
1516             Torvald Riegel  <triegel@redhat.com>
1518         Merged from transactional-memory.
1520         * c-common.c (handle_tm_wrap_attribute,
1521         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1522         (struct c_common_reswords): Added __transaction* keywords.
1523         (struct c_common_attribute_table): Added transaction* and tm_regparm
1524         attributes.
1525         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1526         masks.
1527         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1528         find_tm_attribute): Declare.
1530 2011-11-07  Jason Merrill  <jason@redhat.com>
1532         PR c++/35688
1533         * c-common.c, c-common.h: Revert yesterday's changes.
1535 2011-11-06  Jason Merrill  <jason@redhat.com>
1537         PR c++/35688
1538         * c-common.c (decl_has_visibility_attr): Split out from...
1539         (c_determine_visibility): ...here.
1540         * c-common.h: Declare it.
1542 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1544         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1545         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1546         type.
1547         (check_user_alignment): New.  Split out of
1548         handle_aligned_attribute.  Disallow integer constants with
1549         noninteger types.  Conditionally allow zero.
1550         (handle_aligned_attribute): Use check_user_alignment.
1551         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1553 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1554             Richard Henderson  <rth@redhat.com>
1556         Merged from cxx-mem-model.
1558         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1559         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1560         parameters that are the same type size.
1561         (get_atomic_generic_size): New.  Find size of generic
1562         atomic function parameters and do typechecking.
1563         (add_atomic_size_parameter): New.  Insert size into parameter list.
1564         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1565         either __atomic_exchange_n or external library call.
1566         (resolve_overloaded_atomic_compare_exchange): Restructure
1567         __atomic_compare_exchange to either _n variant or external library call.
1568         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1569         __atomic_load_n or an external library call.
1570         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1571         __atomic_store_n or an external library call.
1572         (resolve_overloaded_builtin): Handle new __atomic builtins.
1574 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1576         PR c++/50608
1577         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1578         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
1579         <INDIRECT_REF>: Return the argument.
1580         <ARRAY_REF>: Remove special code for negative offset.
1581         Call fold_build_pointer_plus instead of size_binop.
1582         (fold_offsetof): Remove STOP_REF argument and adjust.
1583         * c-common.h (fold_offsetof_1): Declare.
1584         (fold_offsetof): Remove STOP_REF argument.
1586 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
1588         PR c++/50810
1589         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1590         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1591         Wnarrowing for C++0x and C++98.
1592         * c.opt ([Wnarrowing]): Update.
1594 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1596         PR c++/44277
1597         * c.opt: Add Wzero-as-null-pointer-constant.
1599 2011-10-31  Jason Merrill  <jason@redhat.com>
1601         * c.opt (-fdeduce-init-list): Off by default.
1603         PR c++/50920
1604         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1605         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1606         and -Wc++11-compat.
1607         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1609 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
1611         PR c++/30066
1612         * c.opt (fvisibility-inlines-hidden): Description change.
1614 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
1616         Implement C++11 user-defined literals.
1617         * c-common.c (build_userdef_literal): New.
1618         * c-common.def: New tree code.
1619         * c-common.h (tree_userdef_literal): New tree struct and accessors.
1620         * c-lex.c (interpret_float): Add suffix parm.
1621         (c_lex_with_flags): Build literal tokens.
1623 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1625         PR c++/50841
1626         Revert:
1627         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1629         PR c++/50810
1630         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1631         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1632         Wnarrowing for C++0x and C++98.
1633         * c.opt ([Wnarrowing]): Update.
1635 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
1637         PR c++/50810
1638         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1639         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1640         Wnarrowing for C++0x and C++98.
1641         * c.opt ([Wnarrowing]): Update.
1643 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
1645         PR c++/45385
1646         * c-common.c (conversion_warning): Remove code looking for
1647         artificial operands.
1649 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
1651         PR bootstrap/50760
1652         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1653         !NO_IMPLICIT_EXTERN_C.
1655 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1657         * c-common.c (c_common_reswords): Add __bases,
1658         __direct_bases.
1659         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1661 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1663         PR c++/50757
1664         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1666 2011-10-15  Tom Tromey  <tromey@redhat.com>
1667             Dodji Seketeli  <dodji@redhat.com>
1669         * c.opt (fdebug-cpp): New option.
1670         * c-opts.c (c_common_handle_option): Handle the option.
1671         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1672         output stream in parameter. Factorized from ...
1673         (maybe_print_line): ... this. Dump location debug information when
1674         -fdebug-cpp is in effect.
1675         (print_line_1): New static function. Takes an output stream in
1676         parameter. Factorized from ...
1677         (print_line): ... here. Dump location information when -fdebug-cpp
1678         is in effect.
1679         (scan_translation_unit): Dump location information when
1680         -fdebug-cpp is in effect.
1682 2011-10-15  Tom Tromey  <tromey@redhat.com>
1683             Dodji Seketeli  <dodji@redhat.com>
1685         * c.opt (ftrack-macro-expansion): New option. Handle it with and
1686         without argument.
1687         * c-opts.c (c_common_handle_option)<case
1688         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1689         cases. Handle -ftrack-macro-expansion with and without argument.
1691 2011-10-15  Tom Tromey  <tromey@redhat.com>
1692             Dodji Seketeli  <dodji@redhat.com>
1694         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1695         (print_line, cb_define, do_line_change): Adjust to avoid touching
1696         the internals of struct line_map.  Use the public API instead.
1697         * c-pch.c (c_common_read_pch): Likewise.
1698         * c-lex.c (fe_file_change): Likewise.
1700 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1702         PR c++/17212
1703         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1705 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1707         PR c++/33067
1708         * c-pretty-print.c (pp_c_floating_constant): Output
1709         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1711 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1713         * c-common.c (def_builtin_1): Delete old interface with two
1714         parallel arrays to hold standard builtin declarations, and replace
1715         it with a function based interface that can support creating
1716         builtins on the fly in the future.  Change all uses, and poison
1717         the old names.  Make sure 0 is not a legitimate builtin index.
1718         * c-omp.c (c_finish_omp_barrier): Ditto.
1719         (c_finish_omp_taskwait): Ditto.
1720         (c_finish_omp_flush): Ditto.
1722 2011-10-11  Tristan Gingold  <gingold@adacore.com>
1724         * c.opt: (fallow-parameterless-variadic-functions): New.
1726 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1728         PR c++/33255 - Support -Wunused-local-typedefs warning
1729         * c-common.h (struct c_language_function::local_typedefs): New
1730         field.
1731         (record_locally_defined_typedef, maybe_record_typedef_use)
1732         (maybe_warn_unused_local_typedefs): Declare new functions.
1733         * c-common.c (record_locally_defined_typedef)
1734         (maybe_record_typedef_use)
1735         (maybe_warn_unused_local_typedefs): Define new functions.
1736         * c.opt: Declare new -Wunused-local-typedefs flag.
1738 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
1740         PR middle-end/50266
1741         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1742         computations.
1744 2011-09-05  Richard Guenther  <rguenther@suse.de>
1746         * c-common.c (complete_array_type): Use ssize_int (-1) instead
1747         of integer_minus_one_node for empty array upper bounds.
1749 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
1751         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1752         it's the first time it's being called on this main TU.
1754 2011-08-24  Richard Guenther  <rguenther@suse.de>
1756         PR c/49396
1757         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1759 2011-08-22  Gabriel Charette  <gchare@google.com>
1761         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1762         defined in cpp_init_builtins and c_cpp_builtins.
1764 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
1766         * c-common.c (c_common_reswords): Add __builtin_complex.
1767         * c-common.h (RID_BUILTIN_COMPLEX): New.
1769 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
1771         * c-common.c (c_common_reswords): Add _Noreturn.
1772         (keyword_is_function_specifier): Handle RID_NORETURN.
1773         * c-common.h (RID_NORETURN): New.
1775 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1777         * c-common.c (unsafe_conversion_p): New function. Check if it is
1778         unsafe to convert an expression to the type.
1779         (conversion_warning): Adjust, use unsafe_conversion_p.
1780         * c-common.h (unsafe_conversion_p): New function declaration.
1782 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
1784         * c-common.h (c_finish_omp_atomic): Adjust prototype.
1785         (c_finish_omp_taskyield): New prototype.
1786         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1787         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1788         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
1789         or RHS1 have side-effects, evaluate those too in the right spot,
1790         if it is a decl and LHS is also a decl, error out if they
1791         aren't the same.
1792         (c_finish_omp_taskyield): New function.
1793         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1794         * c-pragma.c (omp_pragmas): Add taskyield.
1795         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1796         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1797         PRAGMA_OMP_CLAUSE_MERGEABLE.
1799 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
1801         * c-common.h (set_underlying_type): Remove parm name from
1802         declaration.
1804 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
1806         * c-pretty-print.h: Search c-common.h in c-family.
1808 2011-07-22  Jason Merrill  <jason@redhat.com>
1810         PR c++/49793
1811         * c.opt (Wnarrowing): New.
1813         PR c++/30112
1814         * c-common.h: Declare c_linkage_bindings.
1815         * c-pragma.c (handle_pragma_redefine_extname): Use it.
1817         PR c++/49813
1818         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1819         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1820         as flag_isoc99 for 'restrict'.
1821         (pp_c_specifier_qualifier_list): Likewise for _Complex.
1823 2011-07-21  Ian Lance Taylor  <iant@google.com>
1825         PR middle-end/49705
1826         * c-common.c (c_disable_warnings): New static function.
1827         (c_enable_warnings): New static function.
1828         (c_fully_fold_internal): Change local unused_p to bool.  Call
1829         c_disable_warnings and c_enable_warnings rather than change
1830         c_inhibit_evaluation_warnings.
1832 2011-07-20  Jason Merrill  <jason@redhat.com>
1834         PR c++/6709 (DR 743)
1835         PR c++/42603 (DR 950)
1836         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1837         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1838         (CPP_DECLTYPE): New.
1839         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1841 2011-07-19  Richard Guenther  <rguenther@suse.de>
1843         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1844         * c-omp.c (c_finish_omp_for): Likewise.
1846 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
1848         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1849         body on the next line.
1851 2011-07-08  Jason Merrill  <jason@redhat.com>
1853         PR c++/45437
1854         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1856         PR c++/49673
1857         * c-common.c (c_apply_type_quals_to_decl): Don't check
1858         TYPE_NEEDS_CONSTRUCTING.
1860 2011-07-06  Richard Guenther  <rguenther@suse.de>
1862         * c-common.c (c_common_nodes_and_builtins):
1863         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1865 2011-07-05  Richard Guenther  <rguenther@suse.de>
1867         * c-common.c (c_common_nodes_and_builtins): Build all common
1868         tree nodes first.
1870 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1872         * c-common.h (c_tree_chain_next): New static inline function.
1874         * c-common.c (check_builtin_function_arguments): Handle
1875         BUILT_IN_ASSUME_ALIGNED.
1877 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
1879         * c-common.c: Add sync_ or SYNC__ to builtin names.
1880         * c-omp.c: Add sync_ or SYNC__ to builtin names.
1882 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
1884         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1885         handler.
1886         (gen_pragma_handler): New union.
1887         (internal_pragma_handler): New type.
1888         (c_register_pragma_with_data)
1889         (c_register_pragma_with_expansion_and_data): New functions.
1891         * c-pragma.c (registered_pragmas, c_register_pragma_1)
1892         (c_register_pragma, c_register_pragma_with_expansion)
1893         (c_invoke_pragma_handler): Changed to work with
1894         internal_pragma_handler.
1895         (c_register_pragma_with_data)
1896         (c_register_pragma_with_expansion_and_data): New functions.
1898 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1900         * c-common.c: Include common/common-target.h.
1901         (handle_section_attribute): Use
1902         targetm_common.have_named_sections.
1903         * c-cppbuiltin.c: Include common/common-target.h.
1904         (c_cpp_builtins): Use targetm_common.except_unwind_info.
1906 2011-06-10  Richard Guenther  <rguenther@suse.de>
1908         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1909         to print a IDENTIFIER_NODE.
1911 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1912             Joseph Myers  <joseph@codesourcery.com>
1914         * c.opt (fbuilding-libgcc): New option.
1915         * c-cppbuiltin.c (c_cpp_builtins): Define
1916         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1918 2011-06-07  Jason Merrill  <jason@redhat.com>
1920         * c-common.c (max_tinst_depth): Lower default to 900.
1922         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1924 2011-06-07  Richard Guenther  <rguenther@suse.de>
1926         * c-common.c (c_common_nodes_and_builtins): Do not set
1927         size_type_node or call set_sizetype.
1929 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
1931         PR debug/49130
1932         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1933         type when using pointer comparison to compare types.
1935 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1937         * c.opt: Add -Wdelete-non-virtual-dtor.
1938         * c-opts.c (c_common_handle_option): Include it in -Wall.
1940 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
1942         PR bootstrap/49190
1944         Revert:
1945         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1947         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1948         not tree_common.
1950 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
1952         PR c++/49165
1953         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1954         C++ don't call c_common_truthvalue_conversion on void type arms.
1956 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
1958         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1959         (stmt_list_stack): Define.
1960         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1961         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1963 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1965         * c-common.c (warning_candidate_p): Check for BLOCKs.
1967 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
1969         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1970         not tree_common.
1972 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1974         * c-common.c (def_fn_type): Remove extra va_end.
1976 2011-05-23  Jason Merrill  <jason@redhat.com>
1978         PR c++/48106
1979         * c-common.c (c_common_get_narrower): New.
1980         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1982 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
1984         * c-common.h (check_function_arguments): Tweak prototype of
1985         check_function_arguments.
1986         * c-common.c (check_function_arguments): Likewise.  Adjust
1987         calls to check_function_nonnull, check_function_format, and
1988         check_function_sentinel.
1989         (check_function_sentinel): Take a FUNCTION_TYPE rather than
1990         separate attributes and typelist arguments.  Use
1991         FOREACH_FUNCTION_ARGS to iterate over argument types.
1993 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1995         * c-common.c (c_common_reswords): Reorder.
1996         * c-common.h (rid): Likewise.
1998 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2000         * c-common.c (def_fn_type): Don't call build_function_type, call
2001         build_function_type_array or build_varargs_function_type_array
2002         instead.
2003         (c_common_nodes_and_builtins): Likewise.
2005 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2007         * c-common.c (c_add_case_label): Omit the loc argument to
2008         build_case_label.
2009         * c-common.h (build_case_label): Remove.
2010         * c-semantics.c (build_case_label): Remove.
2012 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
2014         * c-objc.h (objc_start_method_definition): Update prototype.
2015         * stub-objc.c (objc_start_method_definition): Add extra parameter.
2017 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2019         * c-common.c (check_main_parameter_types): Reindent.  Don't use
2020         TYPE_ARG_TYPES directly.
2021         (handle_nonnull_attribute): Likewise.
2022         (sync_resolve_params): Likewise.
2023         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2024         to check_format_string.
2025         (handle_format_attribute): Likewise.
2026         (check_format_string): Take a function type to examine instead of
2027         a type list.  Use a function_arg_iterator to step through argument
2028         types.
2030 2011-05-04  Richard Guenther  <rguenther@suse.de>
2032         * c-common.c (fix_string_type): Use size_int for index type bounds.
2033         (start_fname_decls): Do not pass NULL to build_int_cst.
2034         (c_init_attributes): Likewise.
2035         * c-lex.c (c_lex_with_flags): Likewise.
2037 2011-04-27  Jason Merrill  <jason@redhat.com>
2039         * c-common.c (make_tree_vector_from_list): New.
2040         * c-common.h: Declare it.
2042 2011-04-26  Richard Guenther  <rguenther@suse.de>
2044         PR preprocessor/48248
2045         * c-ppoutput.c (maybe_print_line): Always optimize newlines
2046         for output size with -P.
2048 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2050         * c-common.c (struct c_common_resword): Add __underlying_type.
2051         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2053 2011-04-20  Jim Meyering  <meyering@redhat.com>
2055         * c-format.c (init_dollar_format_checking): Remove useless
2056         if-before-free.
2058 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2060         * c-objc.h (objc_get_interface_ivars): Removed.
2061         (objc_detect_field_duplicates): New.
2062         * stub-objc.c: Likewise.
2064 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2066         * stub-objc.c (objc_declare_protocols): Renamed to
2067         objc_declare_protocol.
2068         * c-objc.h: Likewise.
2070 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2072         * stub-objc.c (objc_declare_class): Updated argument name.
2074 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2076         * c-common.h (c_common_init_ts): Declare.
2077         * c-common.c (c_common_init_ts): Define.
2079 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2081         * c-objc.h (objc_build_message_expr): Updated prototype.
2082         * stub-objc.c (objc_build_message_expr): Likewise.
2084 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2086         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2087         of cgraph_node.
2089 2011-04-11  Richard Guenther  <rguenther@suse.de>
2091         * c-common.c (complete_array_type): Build a range type of
2092         proper type.
2094 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2096         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2097         (handle_type_generic_attribute): Likewise.
2099 2011-04-07  Jason Merrill  <jason@redhat.com>
2101         PR c++/48450
2102         * c-common.c (c_common_truthvalue_conversion): Don't ignore
2103         conversion from C++0x scoped enum.
2105 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2107         * c-target-def.h: New file.
2108         * c-target.def: New file.
2109         * c-target.h: New file.
2110         * c-common.c (targetcm): Don't define here.
2111         * c-common.h (default_handle_c_option): Declare.
2112         * c-format.c: Include c-target.h instead of target.h.
2113         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
2114         include tm.h.
2115         (default_handle_c_option): Move from targhooks.c.
2117 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2119         PR preprocessor/48248
2120         * c-ppoutput.c (print): Add src_file field.
2121         (init_pp_output): Initialize it.
2122         (maybe_print_line): Don't optimize by adding up to 8 newlines
2123         if map->to_file and print.src_file are different file.
2124         (print_line): Update print.src_file.
2126 2011-03-25  Kai Tietz  <ktietz@redhat.com>
2128         * c-ada-spec.c (compare_comment): Use filename_cmp
2129         instead of strcmp for filename.
2131 2011-03-25  Jeff Law  <law@redhat.com>
2133         * c-family/c-common.c (def_fn_type): Add missing va_end.
2135 2011-03-25  Jason Merrill  <jason@redhat.com>
2137         * c.opt: Add -std=c++03.
2139 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2141         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2143 2011-03-17  Kai Tietz
2145         PR target/12171
2146         * c-pretty-print.c (pp_c_specifier_qualifier_list):
2147         Display allowed attributes for function pointer types.
2148         (pp_c_attributes_display): New function to display
2149         attributes having affects_type_identity flag set to true.
2150         * c-pretty-print.h (pp_c_attributes_display): New prototype.
2152         * c-common.c (c_common_attribute_table):
2153         Add new element.
2154         (c_common_format_attribute_table): Likewise.
2156 2011-03-18  Jason Merrill  <jason@redhat.com>
2158         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2159         * c-common.h: Don't declare it here.
2160         * c-common.c: Or define it here.
2161         * c-opts.c (c_common_handle_option): Or set it here.
2163         PR c++/35315
2164         * c-common.c (handle_transparent_union_attribute): Don't
2165         make a duplicate type in C++.
2167 2011-03-15  Jason Merrill  <jason@redhat.com>
2169         * c-common.c (max_constexpr_depth): New.
2170         * c-common.h: Declare it.
2171         * c-opts.c (c_common_handle_option): Set it.
2172         * c.opt (fconstexpr-depth): New option.
2174 2011-03-11  Jason Merrill  <jason@redhat.com>
2176         * c-common.c (attribute_takes_identifier_p): Add missing const.
2178         PR c++/46803
2179         * c-common.c (attribute_takes_identifier_p): Assume that an
2180         unknown attribute takes an identifier.
2182 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2184         PR c/47786
2185         * c-common.c (c_type_hash): Call list_length instead of iterating
2186         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2188 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2190         PR c/47809
2191         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2193 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2195         * c.opt (fobjc-abi-version=) New.
2196         (fobjc-nilcheck): New.
2198 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2200         PR c++/46890
2201         * c-common.h (keyword_is_decl_specifier): Declare.
2202         * c-common.c (keyword_is_decl_specifier): Define.
2203         (keyword_is_function_specifier): New function.
2205 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2207         PR c/47473
2208         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2209         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2210         REAL_TYPE.
2212 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
2214         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2216 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2218         PR pch/47430
2219         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2220         after init_c_lex if pch_file is set.
2222 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2224         PR c++/43601
2225         * c.opt (-fkeep-inline-dllexport): New switch.
2227 2011-01-12  Richard Guenther  <rguenther@suse.de>
2229         PR middle-end/32511
2230         * c-common.c (handle_weak_attribute): Warn instead of error
2231         on declaring an inline function weak.
2233 2011-01-05  Tom Tromey  <tromey@redhat.com>
2235         * c-common.h (lvalue_error): Update.
2236         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2237         not error.
2239 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2241         PR objc/47075
2242         * c-objc.h (objc_finish_message_expr): Added argument to
2243         prototype.
2245 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2247         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2248         Use prototype_p.
2250 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2252         * c-objc.h (objc_maybe_warn_exceptions): New.
2253         * stub-objc.c (objc_maybe_warn_exceptions): New.
2255 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2257         * c-common.h (readonly_error): Declare.
2258         * c-common.c (readonly_error): Define.
2260 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2262         * c-common.h (invalid_indirection_error): Declare.
2263         * c-common.c (invalid_indirection_error): Define.
2265 2010-12-03  Richard Guenther  <rguenther@suse.de>
2267         PR c/46745
2268         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2269         (pp_c_unary_expression): Likewise.
2270         (pp_c_expression): Likewise.
2272 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2274         * c-common.h (objc_finish_function): New.
2275         (objc_non_volatilized_type): Removed.
2276         (objc_type_quals_match): Removed.
2277         * stub-objc.c (objc_finish_function): New.
2278         (objc_non_volatilized_type): Removed.
2279         (objc_type_quals_match): Removed.
2281 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2283         * c-common.h (parse_optimize_options): Declare.
2284         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2285         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2287 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2289         * c-opts.c (check_deps_environment_vars): Use getenv instead of
2290         GET_ENVIRONMENT.
2291         * c-pch.c (O_BINARY): Don't define here.
2292         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2294 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2296         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2297         targetm.except_unwind_info.
2299 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2301         * c-opts.c (c_common_handle_option): Pass location to
2302         set_struct_debug_option.
2304 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2306         * c-common.c (visibility_options): Move from ../opts.c.
2307         * c-common.h (struct visibility_flags, visibility_options):
2308         Declare here.
2309         * c-opts.c (finish_options): Rename to c_finish_options.
2310         (c_common_init): Update call to finish_options.
2312 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2314         PR objc/34033
2315         * c-lex.c (lex_string): Check that each string in an Objective-C
2316         string concat sequence starts with either one or zero '@', and
2317         that there are no spurious '@' signs at the end.
2319 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
2321         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2322         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2323         HANDLE_PRAGMA_VISIBILITY.
2324         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2325         HANDLE_PRAGMA_VISIBILITY): Don't define.
2326         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2328 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2330         PR c++/16189
2331         PR c++/36888
2332         PR c++/45331
2333         * c-common.h (keyword_begins_type_specifier): Declare.
2334         (keyword_is_storage_class_specifier): Declare.
2335         (keyword_is_type_qualifier): Declare.
2336         * c-common.c (keyword_begins_type_specifier): New function.
2337         (keyword_is_storage_class_specifier): New function.
2338         (keyword_is_type_qualifier): Declare.
2340 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2342         PR c/46547
2343         * c-common.c (in_late_binary_op): Define.
2344         (c_common_truthvalue_conversion): Check in_late_binary_op before
2345         calling c_save_expr.
2346         * c-common.h (in_late_binary_op): Declare.
2348 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2350         * c-opts.c (c_common_handle_option): Update calls to
2351         set_struct_debug_option.
2353 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2355         * c-common.h (objc_declare_protocols): Added additional argument.
2356         * stub-objc.c (objc_declare_protocol): Same change.
2358 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2360         PR c/33193
2361         * c-common.h (build_real_imag_expr): Declare.
2362         * c-semantics.c (build_real_imag_expr): Define.
2364 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
2366         * c-opts.c (c_common_parse_file): Take no arguments.
2367         * c-common.h (c_common_parse_file): Update prototype.
2369 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
2371         PR c++/46401
2372         * c-common.c (warning_candidate_p): Don't track non-const calls
2373         or STRING_CSTs.
2375 2010-11-15  Ian Lance Taylor  <iant@google.com>
2377         * c-lex.c (init_c_lex): Set macro debug callbacks if
2378         flag_dump_go_spec is set.
2380 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2382         * c-common.h (objc_build_incr_expr_for_property_ref): New.
2383         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2385 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2387         PR preprocessor/45038
2388         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2389         dialects.
2391 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2393         * c-common.h (c_family_lang_mask): Declare.
2394         * c-opts.c (c_family_lang_mask): Make extern.
2395         * c-pragma.c (handle_pragma_diagnostic): Use
2396         control_warning_option.
2398 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2400         * c-common.c (parse_optimize_options): Update call to
2401         decode_options.
2402         * c-common.h (c_common_handle_option): Update prototype.
2403         * c-opts.c (c_common_handle_option): Take location_t parameter and
2404         pass it to other functions.
2406 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2408         * c-opts.c (warning_as_error_callback): Remove.
2409         (c_common_initialize_diagnostics): Don't call
2410         register_warning_as_error_callback.
2411         (c_common_handle_option): Handle -Werror=normalized= here.
2413 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2415         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2416         in diagnostic.
2417         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2418         letter.
2419         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2420         Remove trailing '.' from diagnostics.
2421         * c.opt (Wwrite-strings_: Avoid '`' in help text.
2423 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2425         * c-common.c (parse_optimize_options): Pass global_dc to
2426         decode_options.
2427         * c-opts.c (c_common_handle_option): Pass &global_options to
2428         set_Wstrict_aliasing.
2429         * c.opt (v): Don't mark Common or document here.
2431 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2433         PR target/44981
2434         * c-format.c (format_type): New type gcc_objc_string_format_type.
2435         (valid_stringptr_type_p): New.
2436         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
2437         (check_format_string): Pass expected type, use
2438         valid_stringptr_type_p (), check that the format string types are
2439         consistent with the format specification.
2440         (decode_format_attr): Warn if NSString is used outside objective-c.
2441         (format_types_orig): Add NSString.
2442         (format_name): New.
2443         (format_flags): New.
2444         (check_format_arg): Handle format strings requiring an external parser.
2445         first_target_format_type: New variable.
2446         (handle_format_attribute): Set up first_target_format_type, pass the
2447         expected format arg string type to check_format_string().
2448         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
2449         * stub-objc.c (objc_string_ref_type_p): New.
2450         (objc_check_format_arg): New.
2452 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2454         Fixed using the Objective-C 2.0 dot-syntax with class names.
2455         * c-common.h (objc_build_class_component_ref): New.
2456         * stub-objc.c (objc_build_class_component_ref): New.
2458 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2460         * c.opt (Wproperty-assign-default): New option.
2462 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2464         Implemented -fobjc-std=objc1 flag.
2465         * c.opt (fobjc-std=objc1): New option.
2467 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2469         Implemented format and noreturn attributes for Objective-C methods.
2470         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2471         attribute for Objective-C methods.
2473 2010-10-31  Jason Merrill  <jason@redhat.com>
2475         * c-common.c (conversion_warning, warn_for_collisions_1): Use
2476         EXPR_LOC_OR_HERE.
2478 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2480         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2481         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2482         (objc_add_property_declaration): Removed arguments for copies and
2483         ivar.
2484         (objc_build_getter_call): Renamed to
2485         objc_maybe_build_component_ref.
2486         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2487         (objc_is_property_ref): New.
2488         * c-common.c (c_common_reswords): Removed copies and ivar.
2489         * stub-objc.c (objc_add_property_declaration): Removed arguments
2490         for copies and ivar.
2491         (objc_build_getter_call): Renamed to
2492         objc_maybe_build_component_ref.
2493         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2494         (objc_is_property_ref): New.
2496 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
2497             Matthew Gingell  <gingell@adacore.com>
2499         * c-ada-spec.c (separate_class_package): New function.
2500         (pp_ada_tree_identifier): Prefix references to C++ classes with the
2501         name of their enclosing package.
2502         (print_ada_declaration): Use separate_class_package.
2504 2010-10-27  Jason Merrill  <jason@redhat.com>
2506         * c-common.c (c_common_reswords): Add __is_literal_type.
2507         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2509         * c-common.c (check_case_value): Remove special C++ code.
2511 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2513         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2514         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
2515         and RID_LAST_PATTR.
2516         (objc_add_property_declaration): Added additional arguments.
2517         (objc_property_attribute_kind): Removed.
2518         (objc_set_property_attr): Removed.
2519         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2520         copy and nonatomic.
2521         * stub-objc.c (objc_add_property_declaration): Added additional
2522         arguments.
2523         (objc_set_property_attr): Removed.
2525 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2527         * c-common.h (objc_add_property_variable): Renamed to
2528         objc_add_property_declaration.  Added location argument.
2529         * stub-objc.c (objc_add_property_variable): Same change.
2530         
2531 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
2533         * c-common.h (objc_maybe_printable_name): New.
2534         * stub-objc.c (objc_maybe_printable_name): New.
2536 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2537         Andrew Pinski <pinskia@gmail.com>
2539         * c-common.h (c_common_mark_addressable_vec): Declare.
2540         * c-common.c (c_common_mark_addressable_vec): New function.
2542 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2544         * c-common.h (objc_set_method_type): Removed.
2545         (objc_add_method_declaration): Added boolean argument.
2546         (objc_start_method_definition): Same change.
2547         (objc_build_method_signature): Same change.
2548         * stub-objc.c (objc_set_method_type): Removed.
2549         (objc_add_method_declaration): Added boolean argument.
2550         (objc_start_method_definition): Same change.
2551         (objc_build_method_signature): Same change.
2553 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2555         * c-common.h (finish_file): Removed.
2556         (objc_write_global_declarations): New.
2557         * c-opts.c (c_common_parse_file): Do not call finish_file.
2558         * stub-objc.c (objc_write_global_declarations): New.
2560 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2562         Implemented parsing @synthesize and @dynamic for
2563         Objective-C/Objective-C++.
2564         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2565         (objc_add_synthesize_declaration): New.
2566         (objc_add_dynamic_declaration): New.
2567         * c-common.c (c_common_reswords): Add synthesize and dynamic.
2568         * stub-objc.c (objc_add_synthesize_declaration): New.
2569         (objc_add_dynamic_declaration): New.
2571 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2573         PR target/46041
2574         * c-cppbuiltin.c (mode_has_fma): Move function here from
2575         builtins.c.  Don't use the fma optab, instead just use the
2576         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2577         using -save-temps.
2579 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2581         Merge from 'apple/trunk' branch on FSF servers.
2583         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
2585         Radar 4330422
2586         * c-common.h (objc_non_volatilized_type): New declaration
2587         * stub-objc.c (objc_non_volatilized_type): New stub.
2589 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2591         Merge from 'apple/trunk' branch on FSF servers.
2593         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2595         Radar 4133425
2596         * c-common.h (objc_diagnose_private_ivar): New decl.
2597         * stub-objc.c (objc_diagnose_private_ivar): New stub.
2599 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
2601         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2602         * c-common.h (enum rid): Add RID_AT_PACKAGE.
2603         (objc_ivar_visibility_kind): New enum.
2604         (objc_set_visibility): Adjust prototype to use visibility enum.
2605         * stub-objc.c (objc_set_visibility): Adjust stub to use
2606         visibility enum.
2608 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2610         * c-cppbuiltin.c (builtin_define_float_constants): Emit
2611         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2612         has the appropriate fma builtins.
2613         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2615 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
2617         merge from FSF apple 'trunk' branch.
2618         2006 Fariborz Jahanian <fjahanian@apple.com>
2620         Radars 4436866, 4505126, 4506903, 4517826
2621         * c-common.c (c_common_resword): Define @property and its attributes.
2622         * c-common.h: Define property attribute enum entries.
2623         (OBJC_IS_PATTR_KEYWORD): New.
2624         (objc_property_attribute_kind): New enum.
2625         Declare objc_set_property_attr (), objc_add_property_variable (),
2626         objc_build_getter_call () and objc_build_setter_call ().
2627         * stub-objc.c (objc_set_property_attr): New stub.
2628         (objc_add_property_variable): Likewise.
2629         (objc_build_getter_call): Likewise.
2630         (objc_build_setter_call) Likewise.
2632 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
2634         merge from FSF apple 'trunk' branch.
2635         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2637         Radar 3803157 (method attributes)
2638         * c-common.c (handle_deprecated_attribute): Recognize
2639         objc methods as valid declarations.
2640         * c-common.h: Declare objc_method_decl ().
2641         * stub-objc.c (objc_method_decl): New stub.
2643 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2645         * c-common.c (parse_optimize_options): Call
2646         decode_cmdline_options_to_array_default_mask before
2647         decode_options.  Update arguments to decode_options.
2648         * c-common.h (c_common_init_options_struct): Declare.
2649         * c-opts.c (c_common_init_options_struct): New.  Split out from
2650         c_common_init_options.
2652 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2654         Implemented fast enumeration for Objective-C.
2655         * c-common.h (objc_finish_foreach_loop): New.
2656         * stub-objc.c (objc_finish_foreach_loop): New.
2658 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2660         * c-common.h (struct diagnostic_context): Don't declare here.
2661         (c_common_initialize_diagnostics): Declare using
2662         diagnostic_context typedef.
2663         * c-opts.c (c_common_handle_option): Pass global_dc to
2664         handle_generated_option.
2666 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2668         * c-opts.c (c_common_handle_option): Pass &global_options_set to
2669         handle_generated_option.
2671 2010-10-03  Ian Lance Taylor  <iant@google.com>
2673         * c.opt (-fplan9-extensions): New option.
2675 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2677         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2678         Remove.
2679         (c_cpp_builtins): Call functions from cppbuiltin.c instead
2680         of duplicating code.
2682 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2684         * c-common.c: Add two new entries for @optional
2685         and @required keywords.
2687         merge from FSF 'apple/trunk' branch.
2688         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
2690         Radar 4386773
2691         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2692         objective-c keywords.
2693         (objc_set_method_opt): New declaration.
2694         * stub-objc.c (objc_set_method_opt): New stub.
2696 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
2698         * c-common.c (handle_optimize_attribute): Pass &global_options to
2699         cl_optimization_save and cl_optimization_restore.
2700         * c-opts.c (c_common_handle_option): Pass &global_options to
2701         handle_generated_option.
2702         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2703         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2704         &global_options to cl_optimization_restore.
2706 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2708         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2709         Objective-C/Objective-C++ keywords.
2711 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2713         Merge from 'apple/trunk' branch on FSF servers.
2715         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
2717         Radar 4281748
2718         * c-common.h (objc_check_global_decl): New declaration.
2719         * stub-objc.c (objc_check_global_decl): New stub.
2721 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2723         * c.opt: Don't use VarExists.
2725 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
2727         * c-common.c (c_cpp_error): Update names of diagnostic_context
2728         members.
2729         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2730         cl_optimization members.
2731         * c-opts.c (warning_as_error_callback, c_common_handle_option,
2732         sanitize_cpp_opts, finish_options): Update names of cpp_options
2733         members.
2735 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2737         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
2738         (objc_is_reserved_word): Removed.
2739         * c-common.c: Updated comments.
2740         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2741         objc_is_reserved_word.
2742         * stub-objc.c (objc_is_reserved_word): Removed.
2744 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2746         * c-common.h (objc_add_method_declaration): Adjust prototype to
2747         include attributes.
2748         (objc_start_method_definition): Likewise.
2749         (objc_build_keyword_decl): Likewise.
2750         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2751         (objc_start_method_definition): Likewise.
2752         (objc_build_keyword_decl): Likewise.
2754 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
2756         * c-common.h (objc_start_class_interface): Adjust prototype.
2757         (objc_start_category_interface): Likewise.
2758         (objc_start_protocol): Likewise.
2759         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2760         (objc_start_class_interface): Likewise.
2761         (objc_start_category_interface): Likewise.
2763 2010-09-27  Ian Lance Taylor  <iant@google.com>
2765         * c-common.c (c_common_attribute_table): Add no_split_stack.
2766         (handle_no_split_stack_attribute): New static function.
2768 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2770         Merge from 'apple/trunk' branch on FSF servers.
2772         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
2774         Radar 4229905
2775         * c-common.h (objc_have_common_type): New declaration.
2776         * stub-objc.c (objc_have_common_type): New stub.
2778         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
2780         Radar 4154928
2781         * c-common.h (objc_common_type): New prototype.
2782         * stub-objc.c (objc_common_type): New stub.
2784 2010-09-24  Jan Hubicka  <jh@suse.cz>
2786         * c-common.c (handle_leaf_attribute): New function.
2787         (struct attribute_spec c_common_att): Add leaf.
2789 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
2791         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2792         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2793         -dump, -dump=, -imacros, -imacros=, -include, -include=,
2794         -include-barrier, -include-directory, -include-directory=,
2795         -include-directory-after, -include-directory-after=,
2796         -include-prefix, -include-prefix=, -include-with-prefix,
2797         -include-with-prefix=, -include-with-prefix-after,
2798         -include-with-prefix-after=, -include-with-prefix-before,
2799         -include-with-prefix-before=, -no-integrated-cpp,
2800         -no-line-commands, -no-standard-includes, -no-warnings, -output,
2801         -output=, -pedantic, -pedantic-errors, -preprocess,
2802         -print-missing-file-dependencies, -trace-includes, -traditional,
2803         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2804         -user-dependencies, -verbose, -write-dependencies,
2805         -write-user-dependencies, no-integrated-cpp, traditional): New.
2807 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2809         PR objc/23710
2810         * c-common.h (objc_start_method_definition): Return bool instead
2811         of void.
2812         * stub-objc.c (objc_start_method_definition): Return bool instead
2813         of void.
2815 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
2817         PR objc/25965
2818         * c-common.h (objc_get_interface_ivars): New declaration.
2819         * stub-objc.c (objc_get_interface_ivars): New stub.
2821 2010-09-15  Ian Lance Taylor  <iant@google.com>
2823         * c-common.c (parse_optimize_options): Do not capitalize warning
2824         messages.  Remove period at end of warning message.
2826 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
2828         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2829         (handle_alias_attribute): ... here.
2830         (handle_ifunc_attribute): New.
2832 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
2834         * c-common.h (do_warn_double_promotion): Declare.
2835         * c-common.c (do_warn_double_promotion): Define.
2837 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
2839         * c.opt (Wdouble-promotion): New.
2841 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2843         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2844         fvtable-thunks, fxref): Mark no longer supported in help text.
2846 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2848         * c.opt (Wimport, fall-virtual, falt-external-templates,
2849         fdefault-inline, fenum-int-equiv, fexternal-templates,
2850         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2851         fname-mangling-version-, fnew-abi, fnonnull-objects,
2852         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2853         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2854         applicable.
2855         (fhandle-exceptions): Mark with Alias and Warn.
2856         * c-opts.c (c_common_handle_option): Don't handle options marked
2857         as ignored.
2859 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
2861         * c.opt (Wcomments, Werror-implicit-function-declaration,
2862         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2863         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2864         aliases.
2865         * c-common.c (option_codes): Use OPT_Wcomment instead of
2866         OPT_Wcomments.
2867         * c-opts.c (warning_as_error_callback, c_common_handle_option):
2868         Don't handle options marked as aliases.
2870 2010-08-25  Richard Guenther  <rguenther@suse.de>
2872         * c-common.c (c_common_get_alias_set): Remove special
2873         handling for pointers.
2875 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2877         * c-common.c: Use FOR_EACH_VEC_ELT.
2878         * c-gimplify.c: Likewise.
2879         * c-pragma.c: Likewise.
2881 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2883         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
2884         RejectDriver.
2885         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
2886         RejectDriver.
2887         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2888         instead of OPT_MDX and OPT_MMDX.
2890 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
2892         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2894 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
2896         * c.opt (MD, MMD): Change to MDX and MMDX.
2897         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2899 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
2901         * c-opts.c (c_common_handle_option): Call handle_generated_option
2902         instead of handle_option.
2904 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2906         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2907         (maybe_apply_renaming_pragma): Delete unneeded declarations.
2909 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2911         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
2912         (pending_redefine_extname): Change type to a VEC.
2913         (add_to_renaming_pragma_list): Update for new type of
2914         pending_redefine_extname.
2915         (maybe_apply_renaming_pragma): Likewise.
2917 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
2919         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2920         visited.
2921         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2922         decide whether a type has already been declared/seen.
2923         Do not go to the original type.
2924         (dump_nested_types): New parameter forward.
2925         Generate forward declaration if needed and mark type as visited.
2926         (print_ada_declaration): Call dump_nested_types if not already done.
2927         Mark types as visited.
2929 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2931         * c.opt (-print-pch-checksum): Remove option.
2932         * c-opts.c (c_common_handle_option): Don't handle
2933         OPT_print_pch_checksum.
2935 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2937         * c-common.h (c_common_handle_option): Update prototype and return
2938         value type.
2939         * c-opts.c (c_common_handle_option): Update prototype and return
2940         value type.  Update calls to handle_option and
2941         enable_warning_as_error.
2943 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2945         PR c/45079
2946         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2948 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2950         * c-common.h (c_common_missing_argument): Remove.
2951         * c-opts.c (c_common_missing_argument): Remove.
2952         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2953         idirafter, imacros, include, isysroot, isystem, iquote): Add
2954         MissingArgError.
2955         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2957 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2959         * c-common.h (c_common_option_lang_mask,
2960         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2961         New.
2962         (c_common_init_options): Update prototype.
2963         * c-opts.c (c_common_option_lang_mask): New.
2964         (c_common_initialize_diagnostics): Split out of
2965         c_common_init_options.
2966         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2967         New.
2968         (c_common_init_options): Update prototype.  Use decoded options in
2969         search for -lang-asm.
2971 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2973         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2974         * c-format.c: Likewise.
2976 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2978         * c-common.h: Include diagnostic-core.h. Error if already
2979         included.
2980         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2982 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2984         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2985         Do not include expr.h
2986         (vector_mode_valid_p): Move here.
2988 2010-06-21  DJ Delorie  <dj@redhat.com>
2990         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2991         allow these pragmas anywhere.
2993 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
2995         PR bootstrap/44509
2996         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2997         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2998         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2999         ggc_strdup instead of xstrdup.
3001 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
3003         * c-cppbuiltin.c: Include cpp-id-data.h.
3004         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3005         (lazy_hex_fp_value): New function.
3006         (builtin_define_with_hex_fp_value): Provide definitions lazily.
3008 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3010         * c-gimplify.c: Do not include tree-flow.h
3012 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3014         PR other/44034
3015         * c-common.c: Rename targetm member:
3016         targetm.enum_va_list -> targetm.enum_va_list_p
3018 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
3020         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3022 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3024         * c-cppbuiltin.c: Do not include except.h.
3026 2010-06-24  Andi Kleen  <ak@linux.intel.com>
3028         * c-common.c (warn_for_omitted_condop): New.
3029         * c-common.h (warn_for_omitted_condop): Add prototype.
3031 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
3033         * c.opt (lang-objc): Remove.
3034         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3036 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3038         * c-opts.c: Include "tm_p.h".
3040 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
3042         * c-common.c (parse_optimize_options): Update call to
3043         decode_options.
3045 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3047         * c-common.c (record_types_used_by_current_var_decl): Adjust for
3048         new type of types_used_by_cur_var_decl.
3050 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3052         PR bootstrap/44512
3053         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3054         for C++ standard compliance.
3056 2010-06-16  Jason Merrill  <jason@redhat.com>
3058         * c.opt: Add -Wnoexcept.
3060 2010-06-16  Richard Guenther  <rguenther@suse.de>
3062         PR c/44555
3063         * c-common.c (c_common_truthvalue_conversion): Remove
3064         premature and wrong optimization concering ADDR_EXPRs.
3066 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
3068         * c-ada-spec.c (dump_sloc): Remove column info.
3069         (is_simple_enum): New function.
3070         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3071         enum types when relevant.
3073 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3075         * c-common.c (conversion_warning): Warn at expression
3076         location.
3078 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
3080         * c-opts.c (c_common_handle_option): Don't handle
3081         OPT_fshow_column.
3083 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3085         * c-pragma.c (push_alignment): Use typed GC allocation.
3086         (handle_pragma_push_options): Likewise.
3088         * c-common.c (parse_optimize_options): Likewise.
3090         * c-common.h (struct sorted_fields_type): Add variable_size GTY
3091         option.
3093 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
3095         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3096         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3097         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3098         flag_signed_bitfields, warn_strict_null_sentinel,
3099         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3100         flag_gen_declaration, flag_no_gnu_keywords,
3101         flag_implement_inlines, flag_implicit_templates,
3102         flag_implicit_inline_templates, flag_optional_diags,
3103         flag_elide_constructors, flag_default_inline, flag_rtti,
3104         flag_conserve_space, flag_access_control, flag_check_new,
3105         flag_new_for_scope, flag_weak, flag_working_directory,
3106         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3107         flag_enforce_eh_specs, flag_threadsafe_statics,
3108         flag_pretty_templates): Remove.
3109         * c-common.h (flag_preprocess_only, flag_nil_receivers,
3110         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3111         flag_replace_objc_classes, flag_undef, flag_no_builtin,
3112         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3113         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3114         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3115         flag_no_gnu_keywords, flag_implement_inlines,
3116         flag_implicit_templates, flag_implicit_inline_templates,
3117         flag_optional_diags, flag_elide_constructors, flag_default_inline,
3118         flag_rtti, flag_conserve_space, flag_access_control,
3119         flag_check_new, flag_new_for_scope, flag_weak,
3120         flag_working_directory, flag_use_cxa_atexit,
3121         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3122         flag_threadsafe_statics, flag_pretty_templates,
3123         warn_strict_null_sentinel): Remove.
3124         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3125         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3126         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3127         fimplicit-inline-templates, fimplicit-templates,
3128         flax-vector-conversions, fms-extensions, fnil-receivers,
3129         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3130         frtti, fshort-double, fshort-enums, fshort-wchar,
3131         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3132         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3133         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3134         gen-decls, undef): Use Var.
3135         (fdefault-inline, foptional-diags): Document as doing nothing.
3136         * c-opts.c (c_common_handle_option): Remove cases for options now
3137         using Var.  Mark ignored options as such.
3139 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3141         * c-common.c: Moved to here from parent directory.
3142         * c-common.def: Likewise.
3143         * c-common.h: Likewise.
3144         * c-cppbuiltin.c: Likewise.
3145         * c-dump.c: Likewise.
3146         * c-format.c: Likewise.
3147         * c-format.h : Likewise.
3148         * c-gimplify.c: Likewise.
3149         * c-lex.c: Likewise.
3150         * c-omp.c: Likewise.
3151         * c.opt: Likewise.
3152         * c-opts.c: Likewise.
3153         * c-pch.c: Likewise.
3154         * c-ppoutput.c: Likewise.
3155         * c-pragma.c: Likewise.
3156         * c-pragma.h: Likewise.
3157         * c-pretty-print.c: Likewise.
3158         * c-pretty-print.h: Likewise.
3159         * c-semantics.c: Likewise.
3160         * stub-objc.c: Likewise.
3162         * c-common.c: Include gt-c-family-c-common.h.
3163         * c-pragma.c: Include gt-c-family-c-pragma.h.
3165 Copyright (C) 2010-2013 Free Software Foundation, Inc.
3167 Copying and distribution of this file, with or without modification,
3168 are permitted in any medium without royalty provided the copyright
3169 notice and this notice are preserved.