gcc/c-family/
[official-gcc.git] / gcc / c-family / ChangeLog
blobf510bcc66e3c5a17bbdce977a541e0bf7237c5ba
1 2014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
3         PR middle-end/60467
4         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
5         as possible argument for Cilk_spawn.
7 2014-04-11  Tobias Burnus  <burnus@net-b.de>
9         PR c/60194
10         * c.opt (Wformat-signedness): Add
11         * c-format.c(check_format_types): Use it.
13 2014-04-11  Jason Merrill  <jason@redhat.com>
15         PR c++/57926
16         * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
17         default_conversion for an array argument.
19 2014-04-08  Marek Polacek  <polacek@redhat.com>
21         PR sanitizer/60745
22         * c-ubsan.c: Include asan.h.
23         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
25 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
27         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
29 2014-04-02  Marek Polacek  <polacek@redhat.com>
31         * c-common.h (c_expand_expr): Remove declaration.
33 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
35         PR c++/60689
36         * c-common.c (add_atomic_size_parameter): When creating new
37         params vector, push the size argument first.
39 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
41         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
42         ubsan_instrument_vla, ubsan_instrument_return): Adjust
43         ubsan_create_data callers.
45 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
47         PR debug/60603
48         * c-opts.c (c_finish_options): Restore cb_file_change call to
49         <built-in>.
51 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
53         PR middle-end/36282
54         * c-pragma.c (apply_pragma_weak): Only look at
55         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
56         DECL_ASSEMBLER_NAME_SET_P (decl).
57         (maybe_apply_pending_pragma_weaks): Exit early if
58         vec_safe_is_empty (pending_weaks) rather than only when
59         !pending_weaks.
60         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
61         set assembler name back to NULL afterwards.
63 2014-03-11  Jason Merrill  <jason@redhat.com>
65         * c.opt: Add -std=gnu++14.
67 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
69         * c-opts.c (c_common_post_options): Don't override
70         -ffp-contract=fast if unsafe-math-optimizations is on.
72 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
74     * c.opt: Enable LTO FE for fshort-double.
76 2014-03-07  Jason Merrill  <jason@redhat.com>
78         * c.opt: Add -std=c++14.
80 2014-03-06  Marek Polacek  <polacek@redhat.com>
82         PR c/60197
83         * cilk.c (contains_cilk_spawn_stmt): New function.
84         (contains_cilk_spawn_stmt_walker): Likewise.
85         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
86         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
88 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
90         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
91         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
92         even when flag_preprocess_only.
94 2014-02-26  Jason Merrill  <jason@redhat.com>
96         PR c++/59231
97         PR c++/11586
98         * c-common.c (shorten_compare): Don't check
99         c_inhibit_evaluation_warnings.
101 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
103         PR c/37743
104         * c-common.c (c_common_nodes_and_builtins): When initializing
105         c_uint{16,32,64}_type_node, also set corresponding
106         uint{16,32,64}_type_node to the same value.
108         PR c++/60267
109         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
110         for PRAGMA_IVDEP if flag_preprocess_only.
112 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
114         PR c/60101
115         * c-common.c (merge_tlist): If copy is true, call new_tlist,
116         if false, add ADD itself, rather than vice versa.
117         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
118         copy.  For SAVE_EXPR, only call merge_tlist once.
120 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
122         PR middle-end/60092
123         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
124         and tree_to_uhwi.
125         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
126         functions.
127         (c_common_attribute_table): Add alloc_align and assume_aligned
128         attributes.
130 2014-02-06  Marek Polacek  <polacek@redhat.com>
132         PR c/60087
133         * c-common.c (warn_for_sign_compare): Call warning_at with location
134         instead of warning.
136 2014-02-05  Marek Polacek  <polacek@redhat.com>
138         PR c/53123
139         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
140         statement.
142 2014-02-04  Marek Polacek  <polacek@redhat.com>
144         PR c/60036
145         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
146         SAVE_EXPR.
148 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
150         PR c++/53017
151         PR c++/59211
152         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
153         handle_vector_size_attribute, handle_nonnull_attribute): Call
154         default_conversion on the attribute argument.
155         (handle_nonnull_attribute): Increment the argument number.
157 2014-01-31  Marek Polacek  <polacek@redhat.com>
159         PR c/59963
160         * c-common.c (add_atomic_size_parameter): Pass vNULL to
161         build_function_call_vec.
162         (resolve_overloaded_builtin): Likewise.
163         * c-common.h (build_function_call_vec): Adjust declaration.
165 2014-01-30  Marek Polacek  <polacek@redhat.com>
167         PR c/59940
168         * c-common.h (unsafe_conversion_p): Adjust declaration.
169         (warnings_for_convert_and_check): Likewise.
170         (convert_and_check): Likewise.
171         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
172         expansion_point_location_if_in_system_header on it.
173         (warnings_for_convert_and_check): Add location parameter.  Call
174         expansion_point_location_if_in_system_header on it.  Use it.
175         (convert_and_check): Add location parameter.  Use it.
176         (conversion_warning): Likewise.
177         (c_add_case_label): Adjust convert_and_check calls.
178         (scalar_to_vector): Adjust unsafe_conversion_p calls.
180 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
182         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
183         flag_cilkplus.
184         * c-pragma.c (init_pragma): Likewise.
185         * c.opt: Likewise.
187 2014-01-23  Marek Polacek  <polacek@redhat.com>
189         PR c/59846
190         * c-common.c (shorten_compare): Add location_t parameter.
191         * c-common.h (shorten_binary_op): Adjust declaration.
193 2014-01-23  Marek Polacek  <polacek@redhat.com>
195         PR c/58346
196         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
197         * c-common.h: Declare it.
199 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
201         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
202         * c-ada-spec.c (dump_ads): Likewise.
203         (cpp_check): Likewise.
204         (dump_ada_specs): Likewise.
206 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
208         PR c++/49718
209         * c-common.c (handle_no_instrument_function_attribute): Allow
210         no_instrument_function attribute in class member
211         definition/declaration.
213 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
215         PR c/58943
216         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
217         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
218         being COMPOUND_EXPR.
219         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
220         operand a SAVE_EXPR and second MODIFY_EXPR.
222 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
224         PR target/58115
225         * c-pch.c (c_common_write_pch): Call
226         prepare_target_option_nodes_for_pch.
228 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
230         Update copyright years
232 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
234         * array-notation-common.c, c-cilkplus.c: Use the standard form for
235         the copyright notice.
237 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
239         * c-ada-spec.c (print_constructor): New function.
240         (print_destructor): Retrieve the origin of the destructor.
241         (print_ada_declaration): Revamp handling of constructors/destructors.
243 2013-12-23  Stuart Hastings <stuart@apple.com>
244             Bill Maddox  <maddox@google.com>
245             Jason Merrill  <jason@redhat.com>
247         * c.opt: Add -fdeclone-ctor-dtor.
248         * c-opts.c (c_common_post_options): Default to on iff -Os.
250 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
252         * c-common.c (c_common_attribute_table): Added "cilk simd function"
253         attribute.
254         * c-pragma.h (enum pragma_cilk_clause): Remove.
255         (enum pragma_omp_clause):  Added the following fields:
256         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
257         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
258         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
259         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
260         PRAGMA_CILK_CLAUSE_UNIFORM.
262         
263 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
265         * cilk.c (cilk_outline): Made this function non-static.
266         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
267         (create_cilk_wrapper): Added a new parameter: a function pointer.
268         (c_install_body_w_frame_cleanup): Remove
269         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
270         * c-common.h (cilk_outline): New prototype.
271         (gimplify_cilk_spawn): Removed two parameters.
272         (cilk_install_body_with_frame_cleanup): New prototype.
273         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
274         CILK_SPAWN_STMT case.
276 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
278         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
280         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
281         (int_array_type_node): Remove.
282         * c-common.c (c_common_nodes_and_builtins): Don't build it.
284 2013-12-05  Marek Polacek  <polacek@redhat.com>
286         PR c/52023
287         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
288         [ADJUST_FIELD_ALIGN].
290 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
292         PR c/52023
293         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
294         and check field alignment if set.
295         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
296         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
298 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
299             Marek Polacek  <polacek@redhat.com>
301         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
302         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
304 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
306         PR c/59309
307         * cilk.c (gimplify_cilk_spawn): Properly handle function without
308         arguments.
310 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
312         PR c/59280
313         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
314         goto invalid.  If it is error_mark_node, don't issue further
315         diagnostics.
317 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
319         * c.opt (Wopenmp-simd): New.
321 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
323         * c-ubsan.h (ubsan_instrument_return): New prototype.
324         * c-ubsan.c (ubsan_instrument_return): New function.
326 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
328         * c-common.c: Add required include files from gimple.h.
329         * c-gimplify.c: Likewise
330         * cilk.c: Likewise
332 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
334         * c-common.c (unsafe_conversion_p): Remove use of
335         EXPR_LOC_OR_HERE macro.
336         (conversion_warning): Likewise.
337         (warnings_for_convert_and_check): Likewise.
338         (warn_for_collisions_1): Likewise.
339         (shorten_compare): Likewise, and remove use of in_system_header
340         macro, using the location from the former.
341         * c-lex.c (dump_one_header): Remove use of input_filename macro.
342         (cb_def_pragma): Remove use of in_system_header macro.
343         (lex_string): Likewise.
344         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
346 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
347             Mike Stump  <mikestump@comcast.net>
348             Richard Sandiford  <rdsandiford@googlemail.com>
350         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
351         instead of TREE_INT_CST_LOW, in cases where there is a protecting
352         tree_fits_shwi_p or tree_fits_uhwi_p.
353         (dump_generic_ada_node): Likewise.
354         * c-format.c (check_format_arg): Likewise.
355         * c-pretty-print.c (pp_c_integer_constant): Likewise.
357 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
359         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
361 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
363         PR c/53001
364         * c-common.c (unsafe_conversion_p): Make this function
365         return an enumeration with more detail.
366         (conversion_warning): Use the new return type of
367         unsafe_conversion_p to separately warn either about conversions
368         that lower floating point number precision or about the other
369         kinds of conversions.
370         * c-common.h (enum conversion_safety): New enumeration.
371         (unsafe_conversion_p): switching return type to
372         conversion_safety enumeration.
373         * c.opt: Adding new warning -Wfloat-conversion and
374         enabling it with -Wconversion.
376 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
378         * c-opts.c: Include plugin.h.
379         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
381 2013-11-19  Marek Polacek  <polacek@redhat.com>
383         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
384         call.
385         (ubsan_instrument_shift): Likewise.
386         (ubsan_instrument_vla): Likewise.
388 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
390         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
391         cast to unsigned type.
393 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
395         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
396         tree_low_cst.
397         (complete_array_type): Update comment to refer to tree_to_[su]hwi
398         rather than tree_low_cst.
400 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
402         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
403         tree_to_uhwi throughout.
405 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
407         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
408         tree_low_cst (..., 0) with tree_to_shwi throughout.
410 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
412         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
413         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
415 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
417         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
418         host_integerp (..., 0) with tree_fits_shwi_p throughout.
420 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
422         * c-cilkplus.c: New file.
423         * c-common.c (readonly_error): Add location argument.
424         * c-common.h (readonly_error): Same.
425         (c_finish_cilk_clauses): Protoize.
426         (c_check_cilk_loop): Same.
427         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
428         Do not fail on error_mark_node.
429         Abstract increment canonicalization to here...
430         (c_omp_for_incr_canonicalize_ptr): New.
431         c-pragma.c (init_pragma): Register "simd" pragma.
432         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
433         (enum pragma_cilk_clause): New.
435 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
437         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
438         wchar_type and host_integerp checks.
440 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
442         * c-common.c: Likewise.
443         * c-gimplify.c: Likewise.
444         * cilk.c: Likewise.
446 2013-11-14  Diego Novillo  <dnovillo@google.com>
448         * c-common.c: Include fold-const.h.
449         Include stor-layout.h.
450         Include calls.h.
451         Include stringpool.h.
452         Include attribs.h.
453         Include varasm.h.
454         Include trans-mem.h.
455         * c-cppbuiltin.c: Include stor-layout.h.
456         Include stringpool.h.
457         * c-format.c: Include stringpool.h.
458         * c-lex.c: Include stringpool.h.
459         Include stor-layout.h.
460         * c-pragma.c: Include stringpool.h.
461         Include attribs.h.
462         Include varasm.h.
463         Include gcc-symtab.h.
464         * c-pretty-print.c: Include stor-layout.h.
465         Include attribs.h.
466         * cilk.c: Include stringpool.h.
467         Include calls.h.
469 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
471         * c-common.h (enum rid): Add RID_AUTO_TYPE.
472         * c-common.c (c_common_reswords): Add __auto_type.
473         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
475 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
477         * c-common.c: Include gimplify.h.
478         * c-gimplify.c: Likewise.
479         * cilk.c: Likewise.
480         * c-omp.c: Include gimple-expr.h instead of gimple.h.
481         * c-ubsan.c: Don't include gimple.h.
483 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
485         * c-common.c (c_common_reswords): Add _Thread_local.
487 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
489         * c-common.c (atomic_size_supported_p): New function.
490         (resolve_overloaded_atomic_exchange)
491         (resolve_overloaded_atomic_compare_exchange)
492         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
493         Use it instead of comparing size with a local list of sizes.
495 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
496             Joseph Myers  <joseph@codesourcery.com>
498         * c-common.h (enum rid): Add RID_ATOMIC.
499         * c-common.c (c_common_reswords): Add _Atomic.
500         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
501         (keyword_is_type_qualifier): Accept RID_ATOMIC.
502         * c-format.c (check_format_types): Check for extra _Atomic
503         qualifiers in format argument.
504         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
505         (pp_c_type_qualifier_list): Mention _Atomic in comment.
507 2013-11-06  Tobias Burnus  <burnus@net-b.de>
509         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
511 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
513         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
514         standards modes.
515         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
516         to mean lack of IEEE 754 support.
518 2013-11-05  Tobias Burnus  <burnus@net-b.de>
520         * c.opt (-Wdate-time): New option
521         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
523 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
525         * c-cppbuiltin.c (cpp_iec_559_value): Test
526         flag_excess_precision_cmdline not flag_excess_precision.
528 2013-11-05  Tobias Burnus  <burnus@net-b.de>
530         * c.opt (fopenmp-simd): New option.
531         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
532         (omp_pragmas): ... this new struct.
533         (c_pp_lookup_pragma): Also walk omp_pragmas.
534         (init_pragma): Init pragmas for -fopenmp-simd.
536 2013-11-04  Marek Polacek  <polacek@redhat.com>
538         PR c++/58979
539         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
541 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
543         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
544         New functions.
545         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
547 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
549         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
550         (dump_ada_specs): Adjust prototype of second callback.
551         * c-ada-spec.c (cpp_check): New global variable.
552         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
553         (print_generic_ada_decl): Likewise.
554         (has_static_fields): Change return type to bool and add guard.
555         (has_nontrivial_methods): New predicate.
556         (is_tagged_type): Change return type to bool.
557         (separate_class_package): Call has_nontrivial_methods.
558         (pp_ada_tree_identifier): Minor tweaks.
559         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
560         (dump_ada_array_domains): Likewise.
561         (dump_ada_array_type): Likewise.
562         (dump_template_types): Remove cpp_check parameter and do not pass it to
563         dump_generic_ada_node.
564         (dump_ada_template): Likewise.
565         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
566         recursively.
567         (print_ada_methods): Change return type to integer.  Remove cpp_check
568         parameter and do not pass it down.
569         (dump_nested_types): Remove cpp_check parameter and do not pass it to
570         dump_generic_ada_node.
571         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
572         accessing methods.
573         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
574         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
575         value of print_ada_methods.
576         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
577         Set cpp_check to it before invoking dump_ada_nodes.
578         (dump_ada_specs): Likewise.
580 2013-11-03  Marek Polacek  <polacek@redhat.com>
582         * c-ubsan.c: Don't include hash-table.h.
583         (ubsan_instrument_vla): New function.
584         * c-ubsan.h: Declare it.
586 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
588         Automated part of renaming of symtab_node_base to symtab_node.
590         Patch autogenerated by rename_symtab.py from
591         https://github.com/davidmalcolm/gcc-refactoring-scripts
592         revision 58bb219cc090b2f4516a9297d868c245495ee622
594         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
595         symtab_node_base to symtab_node.
597 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
599         Implement C++14 digit separators.
600         * c-lex.c (interpret_float): Remove digit separators from scratch string
601         before building real literal.
603 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
605         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
607 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
609         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
610         fields.
611         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
612         enabled.
613         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
614         (insert_cilk_frame): New prototype.
615         (cilk_init_builtins): Likewise.
616         (gimplify_cilk_spawn): Likewise.
617         (c_cilk_install_body_w_frame_cleanup): Likewise.
618         (cilk_detect_spawn_and_unwrap): Likewise.
619         (cilk_set_spawn_marker): Likewise.
620         (build_cilk_sync): Likewise.
621         (build_cilk_spawn): Likewise.
622         * cilk.c: New file.
624 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
626         Patch autogenerated by refactor_symtab.py from
627         https://github.com/davidmalcolm/gcc-refactoring-scripts
628         revision 58bb219cc090b2f4516a9297d868c245495ee622
630         * c-gimplify.c (c_genericize): Update for conversion of symtab types
631         to a true class hierarchy.
632         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
634 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
636         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
638 2013-10-26  Jeff Law  <law@redhat.com>
640         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
641         * c-family/c.opt: Ignore and warn for mudflap options.
643 2013-10-24  Tobias Burnus  <burnus@net-b.de>
645         PR other/33426
646         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
647         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
649 2013-10-23  Jason Merrill  <jason@redhat.com>
651         * c-format.c (gcc_cxxdiag_char_table): Add %X.
653 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
655         * c-common.h (omp_clause_mask::operator !=): New method.
656         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
657         instead of if (mask & something) tests everywhere.
659         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
660         201307 instead of 201107.
661         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
662         (c_common_attribute_table): Add "omp declare target" and
663         "omp declare simd" attributes.
664         (handle_omp_declare_target_attribute,
665         handle_omp_declare_simd_attribute): New functions.
666         * c-omp.c: Include c-pragma.h.
667         (c_finish_omp_taskgroup): New function.
668         (c_finish_omp_atomic): Add swapped argument, if true,
669         build the operation first with rhs, lhs arguments and use NOP_EXPR
670         build_modify_expr.
671         (c_finish_omp_for): Add code argument, pass it down to make_code.
672         (c_omp_split_clauses): New function.
673         (c_split_parallel_clauses): Removed.
674         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
675         c_omp_declare_simd_clauses_to_decls): New functions.
676         * c-common.h (omp_clause_mask): New type.
677         (OMP_CLAUSE_MASK_1): Define.
678         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
679         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
680         omp_clause_mask::operator |, omp_clause_mask::operator &,
681         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
682         omp_clause_mask::operator ==): New methods.
683         (enum c_omp_clause_split): New.
684         (c_finish_omp_taskgroup): New prototype.
685         (c_finish_omp_atomic): Add swapped argument.
686         (c_finish_omp_for): Add code argument.
687         (c_omp_split_clauses): New prototype.
688         (c_split_parallel_clauses): Removed.
689         (c_omp_declare_simd_clauses_to_numbers,
690         c_omp_declare_simd_clauses_to_decls): New prototypes.
691         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
692         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
693         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
694         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
695         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
696         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
697         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
698         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
699         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
700         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
701         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
702         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
703         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
704         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
705         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
706         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
707         PRAGMA_OMP_CLAUSE_UNIFORM.
709 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
711         PR tree-optimization/20318
712         * c-common.c (handle_returns_nonnull_attribute): New function.
713         (c_common_attribute_table): Add returns_nonnull.
715 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
717         PR c++/19476
718         * c.opt (fcheck-new): Move to common.opt.
720 2013-09-25  Marek Polacek  <polacek@redhat.com>
721             Jakub Jelinek  <jakub@redhat.com>
723         PR sanitizer/58413
724         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
725         an expression if we can prove it is correct.
726         (ubsan_instrument_division): Likewise.  Remove unnecessary
727         check.
729 2013-09-18  Marek Polacek  <polacek@redhat.com>
731         PR sanitizer/58411
732         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
733         Declare it.
734         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
736 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
738         PR target/48094
739         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
740         fobjc-gc, freplace-objc-classes): Accept for LTO.
742 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
744         * c-target.def: New hook
746 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
748         PR c++/43452
749         * c.opt (Wdelete-incomplete): Add.
751 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
753         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
754         (vector_types_compatible_elements_p): New function.
755         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
756         declaration.
757         (vector_types_compatible_elements_p): Declare.
759 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
761         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
762         a virtual member function.
763         (pp_simple_type_specifier): Remove.
764         (pp_c_type_specifier): Likewise.
765         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
766         Rename from pp_c_type_specifier.  Adjust.
767         (c_pretty_printer::c_pretty_printer): Do not assign to
768         simple_type_specifier.
770 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
772         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
773         member function.
774         (c_pretty_printer::storage_class_specifier): Likewise.
775         (c_pretty_printer::initializer): Likewise.
776         (pp_declaration): Remove.
777         (pp_declaration_specifiers): Likewise.
778         (pp_abstract_declarator): Likewise.
779         (pp_declarator): Likewise.
780         (pp_type_id): Likewise.
781         (pp_statement): Likewise.
782         (pp_constant): Likewise.
783         (pp_id_expression): Likewise.
784         (pp_primary_expression): Likewise.
785         (pp_unary_expression): Likewise.
786         (pp_multiplicative_expression): Likewise.
787         (pp_conditional_expression): Likewise.
788         (pp_assignment_expression): Likewise.
789         (pp_expression): Likewise.
790         (pp_c_type_id): Likewise.
791         (pp_c_storage_class_specifier): Likewise.
792         * c-pretty-print.c (pp_c_type_cast): Tidy.
793         (pp_c_pointer): Likewise.
794         (pp_c_type_specifier): Likewise.
795         (pp_c_parameter_type_list): Likewise.
796         (pp_c_function_definition): Likewise.
797         (pp_c_init_declarator): Likewise.
798         (pp_c_initializer_list): Likewise.
799         (pp_c_constructor_elts): Likewise.
800         (c_pretty_printer::direct_abstract_declarator): Likewise.
801         (c_pretty_printer::declaration_specifiers): Likewise.
802         (c_pretty_printer::primary_expression): Likewise.
803         (c_pretty_printer::postfix_expression): Likewise.
804         (c_pretty_printer::type_id): Rename from pp_c_type_id.
805         (c_pretty_printer::storage_class_specifier): Rename from
806         pp_c_storage_class_specifier.
807         (c_pretty_printer::initializer): Rename from pp_c_initializer.
808         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
809         storage_class_specifier, initializer, offset_list, flags.
811 2013-08-30  Marek Polacek  <polacek@redhat.com>
813         * c-ubsan.c: New file.
814         * c-ubsan.h: New file.
816 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
818         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
819         member function.
820         (c_pretty_printer::declaration_specifiers): Likewise.
821         (c_pretty_printer::declarator): Likewise.
822         (c_pretty_printer::abstract_declarator): Likewise.
823         (c_pretty_printer::direct_abstract_declarator): Likewise.
824         (c_pretty_printer::direct_declarator): Likewise.
825         (c_pretty_printer::function_specifier): Likewise.
826         (pp_declaration): Adjust.
827         (pp_declaration_specifiers): Likewise.
828         (pp_abstract_declarator): Likewise.
829         (pp_direct_declarator): Likewise.
830         (pp_function_specifier): Likewise.
831         (pp_direct_abstract_declarator): Remove as unused.
832         (pp_c_declaration): Remove.
833         (pp_c_declaration_specifiers): Likewise.
834         (pp_c_declarator): Likewise.
835         (pp_c_direct_declarator): Likewise.
836         (pp_c_function_specifier): Likewise.
837         (pp_c_direct_abstract_declarator): Likewise.
838         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
839         from pp_c_abstract_declarator.  Adjust.
840         (c_pretty_printer::direct_abstract_declarator):  Rename from
841         pp_c_direct_abstract_declarator.  Adjust.
842         (c_pretty_printer::function_specifier): Rename from
843         pp_c_function_specifier.  Adjust.
844         (c_pretty_printer::declaration_specifiers): Rename from
845         pp_c_declaration_specifiers.  Adjust.
846         (c_pretty_printer::direct_declarator): Rename from
847         pp_c_direct_declarator.  Adjust.
848         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
849         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
850         (c_pretty_printer::c_pretty_printer): Do not assign to
851         declaration, declaration_specifiers, declarator,
852         direct_declarator, direct_abstract_declarator, function_specifier.
854 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
856         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
857         virtual member function.
858         (c_pretty_printer::multiplicative_expression): Likewise.
859         (c_pretty_printer::conditional_expression): Likewise.
860         (c_pretty_printer::assignment_expression): Likewise.
861         (c_pretty_printer::expression): Likewise.
862         (pp_unary_expression): Adjust.
863         (pp_multiplicative_expression): Likewise.
864         (pp_assignment_expression): Likewise.
865         (pp_conditional_expression): Likewise.
866         (pp_expression): Likewise.
867         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
868         from pp_c_unary_expression.  Adjust.
869         (c_pretty_printer::multiplicative_expression): Rename from
870         pp_c_multiplicative_expression.  Adjust.
871         (c_pretty_printer::conditional_expression): Rename from
872         pp_c_conditional_expression.  Adjust.
873         (c_pretty_printer::assignment_expression): Rename from
874         pp_c_assignment_expression.  Adjust.
875         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
876         (c_pretty_printer::c_pretty_printer): Do not assign to
877         unary_expression, multiplicative_expression,
878         conditional_expression, expression.
880 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
882         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
883         virtual member function.
884         (pp_postfix_expression): Adjust.
885         (pp_c_postfix_expression): Remove.
886         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
887         from pp_c_postfix_expression.  Adjust.
888         (c_pretty_printer::c_pretty_printer): Do not assign to
889         postfix_expression.
891 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
893         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
894         virtua member function.
895         (pp_primary_expression): Adjust.
896         (pp_c_primary_expression): Remove.
897         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
898         from pp_c_primary_expression.  Adjust.
899         (pp_c_initializer_list): Use pp_primary_expression.
900         (c_pretty_printer::c_pretty_printer): Do not assign to
901         primary_expression.
903 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
905         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
906         * c-pretty-print.c (M_): Remove.
907         (c_pretty_printer::translate_string): Define.
908         (pp_c_type_specifier): Use it.
909         (pp_c_primary_expression): Likewise.
910         (pp_c_expression): Likewise.
912 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
914         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
915         virtual function.
916         (pp_c_id_expression): Remove.
917         (pp_id_expression): Adjust.
918         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
919         pp_c_id_expression.  Adjust.
920         (pp_c_postfix_expression): Use pp_id_expression.
921         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
923 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
925         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
926         member function.
927         (pp_constant): Adjust.
928         (pp_c_constant): Remove.
929         * c-pretty-print.c (c_pretty_printer::constant): Rename from
930         pp_c_constant.  Adjust.
931         (pp_c_constant)
932         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
933         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
935 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
937         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
938         (c_pretty_printer::c_pretty_printer): Declare.
939         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
940         c_pretty_printer_init.  Adjust.
941         (print_c_tree): Do not call c_pretty_printer_init.
942         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
944 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
946         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
948 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
950         PR c++/58080
951         * c-common.c (pointer_int_sum): Add bool parameter.
952         * c-common.h (pointer_int_sum): Adjust declaration.
954 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
956         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
957         c_pretty_printer variable.
959 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
961         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
962         (pp_base): Remove.
963         (pp_c_base): Likewise.  Adjust users.
964         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
965         (pp_c_whitespace): Do not call pp_base.
966         (pp_c_left_paren): Likewise.
967         (pp_c_right_paren): Likewise.
968         (pp_c_left_brace): Likewise.
969         (pp_c_right_brace): Likewise.
970         (pp_c_left_bracket): Likewise.
971         (pp_c_right_bracket): Likewise.
972         (pp_c_dot): Likewise.
973         (pp_c_ampersand): Likewise.
974         (pp_c_star): Likewise.
975         (pp_c_arrow): Likewise.
976         (pp_c_semicolon): Likewise.
977         (pp_c_complement): Likewise.
978         (pp_c_exclamation): Likewise.
979         (pp_c_direct_declarator): Likewise.
980         (pp_c_ws_string): Likewise.
981         (pp_c_identifier): Likewise.
982         (pp_c_statement): Likewise.
983         (print_c_tree): Likewise.
985 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
987         PR c++/58072
988         * c-common.c (c_parse_error): Catch user-defined literal tokens and
989         provide useful error strings.
991 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
993         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
994         printer functions instead of pp_string or operators and punctuators.
995         (dump_generic_ada_node): Likewise.
996         * c-pretty-print.c (pp_c_type_specifier): Likewise.
997         (pp_c_relational_expression): Likewise.
998         (pp_c_logical_or_expression): Likewise.
1000 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1002         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1003         functions instead of pp_character.
1004         (pp_ada_tree_identifier): Likewise.
1005         (dump_ada_double_name): Likewise.
1006         (dump_ada_function_declaration): Likewise.
1007         (dump_ada_array_domains): Likewise.
1008         (dump_template_types): Likewise.
1009         (dump_generic_ada_node): Likewise.
1010         (print_ada_declaration): Likewise.
1011         (print_ada_struct_decl): Likewise.
1012         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1014 2013-07-23  Tom Tromey  <tromey@redhat.com>
1016         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1017         * c-common.c (c_common_reswords): Add _Generic.
1019 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1021         * c-common.c: Fix typos.
1022         * c-common.h: Likewise.
1024 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1026         PR c++/55203
1027         * c-common.c (c_common_attribute_table): Add warn_unused.
1028         (handle_warn_unused_attribute): New.
1030 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1032         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1033         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1035 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1037         PR c++/57869
1038         * c.opt: Add Wconditionally-supported.
1040 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1042         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1043         unused variables l_length and l_node.
1045 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1047         PR c/57821
1048         * c-common.c (complete_array_type): Delay folding first index
1049         like other indices.  When folding, check for index overflow.
1051 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1053         PR c++/57509
1054         * c-common.h (c_build_vec_perm_expr): New complain argument.
1055         * c-common.c (c_build_vec_perm_expr): Likewise.
1056         Use save_expr also in C++.
1058 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1060         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1061         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1062         * c-opts.c (c_common_post_options): Likewise.
1064 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1066         * array-notation-common.c (length_mismatch_in_expr): Changed the
1067         parameter type's from a dynamic array to a vec_tree.  Also removed
1068         the size parameters.
1069         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1070         the change above.
1072 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1074         * c-common.h (struct cilkplus_an_parts): New structure.
1075         (struct cilkplus_an_loop_parts): Likewise.
1076         (cilkplus_extract_an_triplets): New prototype.
1077         (fix_sec_implicit_args): Likewise.
1078         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1079         (fix_sec_implicit_args): Likewise.
1081 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1083         * array-notation-common.c (find_inv_trees): Removed an unwanted
1084         typecasting.
1085         * c-common.h (struct inv_list::additional_tcodes): Changed type from
1086         enum rid to enum tree_code.
1088 2013-06-11  Jan Hubicka  <jh@suse.cz>
1090         * c-common.c (handle_alias_ifunc_attribute): Do not set
1091         DECL_EXTERNAL for weakref variables.
1092         * c-pragma.c (handle_pragma_weak): Make sure aliases
1093         are not declared as external.
1095 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1097         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1098         function from c/c-array-notation.c.
1099         (is_cilkplus_reduce_builtin): Likewise.
1100         (find_rank): Likewise.
1101         (extract_array_notation_exprs): Likewise.
1102         (replace_array_notations): Likewise.
1103         (find_inv_trees): Likewise.
1104         (replace_inv_trees): Likewise.
1105         (contains_array_notation_expr): Likewise.
1106         (find_correct_array_notation_type): Likewise.
1107         * c-common.h (struct inv_list): Moved this struct from the file
1108         c/c-array-notation.c and added a new field called additional tcodes.
1109         (length_mismatch_in_expr_p): New prototype.
1110         (is_cilkplus_reduce_builtin): Likewise.
1111         (find_rank): Likewise.
1112         (extract_array_notation_exprs): Likewise.
1113         (replace_array_notation): Likewise.
1114         (find_inv_trees): Likewise.
1115         (replace_inv_trees): Likewise.
1116         (find_correct_array_notation_type): Likewise.
1118 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1120         * c-common.c (c_define_builtins): When cilkplus is enabled, the
1121         function array_notation_init_builtins is called.
1122         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1123         * c-common.def (ARRAY_NOTATION_REF): New tree.
1124         * c-common.h (build_array_notation_expr): New function declaration.
1125         (build_array_notation_ref): Likewise.
1126         (extract_sec_implicit_index_arg): New extern declaration.
1127         (is_sec_implicit_index_fn): Likewise.
1128         (ARRAY_NOTATION_CHECK): New define.
1129         (ARRAY_NOTATION_ARRAY): Likewise.
1130         (ARRAY_NOTATION_START): Likewise.
1131         (ARRAY_NOTATION_LENGTH): Likewise.
1132         (ARRAY_NOTATION_STRIDE): Likewise.
1133         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1134         ARRAY_NOTATION_REF.
1135         (pp_c_expression): Likewise.
1136         * c.opt (flag_enable_cilkplus): New flag.
1137         * array-notation-common.c: New file.
1139 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1141         PR c++/57274
1142         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1144 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1146         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1147         vectors.
1149 2013-05-07  Han Shen  <shenhan@google.com>
1151         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1153 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1155         * c-common.c (check_user_alignment): Emit error for negative values.
1157 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1159         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1161 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1163         * c-cppbuiltin.c (c_cpp_builtins): Do not define
1164         __GXX_EXPERIMENTAL_CXX1Y__.
1166 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1167             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1169         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1170         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1171         to simply use OPT_Wpointer_arith.
1172         (c_sizeof_or_alignof_type): Likewise.
1174 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1176         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1178 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1180         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1181         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1182         specifiers.
1184 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1186         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1188 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1190         * c-common.c (pointer_int_sum): Remove dead code.
1192 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1194         PR middle-end/56524
1195         * c-common.c (handle_optimize_attribute): Don't call
1196         save_optabs_if_changed.
1198 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1200         PR middle-end/56461
1201         * c-pch.c (pch_init): Free target_validity at the end.
1203 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
1205         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1207 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1208             Jakub Jelinek  <jakub@redhat.com>
1210         PR sanitizer/56454
1211         * c-common.c (handle_no_sanitize_address_attribute): New function.
1212         (c_common_attribute_table): Add no_sanitize_address attribute.
1213         (handle_no_address_safety_analysis_attribute): Add
1214         no_sanitize_address attribute, not no_address_safety_analysis
1215         attribute.
1217 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1219         PR target/52555
1220         * c-common.c (handle_optimize_attribute): Call
1221         save_optabs_if_changed.
1223 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
1224             Steven Bosscher  <steven@gcc.gnu.org>
1226         PR pch/54117
1227         * c-opts.c (c_common_post_options): If debug info is enabled
1228         and non-dwarf*, refuse to load PCH files and when writing PCH
1229         file warn.
1231 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1233         PR middle-end/56167
1234         * c-common.c (handle_error_attribute): Fix condition.
1236 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
1238         PR c++/55742
1239         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1241 2013-01-18  Jason Merrill  <jason@redhat.com>
1243         PR target/54908
1244         * c.opt (-fextern-tls-init): New.
1245         * c-opts.c (c_common_post_options): Handle it.
1247 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
1249         PR c/48418
1250         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1251         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1252         and is either negative or bigger or equal to type precision
1253         of the first operand.
1255 2012-12-03  Marek Polacek  <polacek@redhat.com>
1257         PR c/55570
1258         * c-common.c (check_user_alignment): Swap order of tests,
1259         check TREE_CODE first.
1261 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1263         PR c++/52654
1264         * c-common.h (overflow_type): New enum.
1265         (build_userdef_literal): Add overflow_type argument.
1266         (tree_userdef_literal): Add overflow_type.
1267         (USERDEF_LITERAL_OVERFLOW): New access macro.
1268         * c-common.c (build_userdef_literal): Add overflow_type
1269         argument.
1270         * c-lex.c (c_lex_with_flags): Add overflow_type to
1271         build_userdef_literal calls.
1272         (interpret_integer, interpret_float): Add overflow_type argument.
1274 2012-11-28  Richard Biener  <rguenther@suse.de>
1276         PR c/35634
1277         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1278         here and use a type with proper overflow behavior for types that would
1279         need to be promoted for the arithmetic.
1281 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1283         PR sanitizer/55435
1284         * c-common.c (handle_no_address_safety_analysis_attribute): New
1285         function.
1286         (c_common_attribute_table): Add no_address_safety_analysis.
1288 2012-11-16  Simon Baldwin  <simonb@google.com>
1290         * c.opt: Add f[no-]canonical-system-headers.
1291         * c-opts.c (c_common_handle_option): Handle
1292         OPT_fcanonical_system_headers.
1294 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1296         PR c++/54413
1297         * c-opts.c (c_common_handle_option): Set new flags.
1298         * c.opt: Describe new flags.
1300 2012-11-09  Jason Merrill  <jason@redhat.com>
1302         * c.opt (Wabi-tag): New.
1304 2012-11-09  Andi Kleen  <ak@linux.intel.com>
1306         PR 55139
1307         * c-common.c (get_atomic_generic_size): Mask with
1308         MEMMODEL_MASK
1310 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1312         PR c/53063
1313         * c.opt (Wformat): Make it Alias Wformat=1.
1314         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1315         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1316         LangEnabledBy.
1317         (Wformat=): RejectNegative. Use LangEnabledBy.
1318         (Wnonnull): Use LangEnabledBy.
1319         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1320         * c-format.c (set_Wformat): Delete.
1321         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1322         (maybe_read_dollar_number):  Likewise.
1323         (avoid_dollar_number):  Likewise.
1324         (finish_dollar_format_checking):  Likewise.
1325         (check_format_info):  Likewise.
1326         (check_format_info_main):  Likewise.
1327         (check_format_types):  Likewise.
1328         (format_type_warning):  Likewise.
1329         * c-common.c (int):  Likewise.
1330         (check_function_sentinel):  Likewise.
1331         * c-common.h (warn_format,set_Wformat): Do not declare here.
1333 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1335         PR c/53063
1336         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1337         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1338         Use LangEnabledBy.
1339         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1340         common.opt.
1341         (Wvariadic-macros): Init(1).
1342         * c-opts.c (c_common_handle_option): Do not handle them
1343         explicitly.
1344         (c_common_post_options): Likewise.
1345         (sanitize_cpp_opts): warn_unused_macros is now
1346         cpp_warn_unused_macros.
1347         (push_command_line_include): Likewise.
1348         * c-common.c (warn_unknown_pragmas): Do not define.
1349         * c-common.h (warn_unknown_pragmas): Do not declare.
1351 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1353         PR c/51294
1354         * c-common.c (conversion_warning): Handle conditional expressions.
1356 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1358         PR c++/54930
1359         * c.opt (Wreturn_local_addr): Define new option.
1361 2012-10-25  Jason Merrill  <jason@redhat.com>
1363         * c.opt (Wvirtual-move-assign): New.
1365         * c.opt (Winherited-variadic-ctor): New.
1367 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1369         PR c++/54427
1370         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1372 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
1374         * c-common.h (pch_cpp_save_state): Declare.
1375         * c-target.def (c_preinclude): New hook.
1376         * c-opts.c (done_preinclude): New.
1377         (push_command_line_include): Handle default preincluded header.
1378         (cb_file_change): Call pch_cpp_save_state when calling
1379         push_command_line_include.
1380         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1381         (pch_cpp_save_state): New.
1382         (pch_init): Call pch_cpp_save_state conditionally, instead of
1383         calling cpp_save_state.
1385 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1387         PR c/53063
1388         PR c/40989
1389         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1390         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1391         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1392         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1393         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1394         * c-opts.c (c_common_handle_option): Remove explicit handling from
1395         here.
1396         (c_common_post_options): Likewise.
1398 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1400         * c-ada-spec.c (LOCATION_COL): Delete.
1401         (compare_location): New function.
1402         (compare_node): Use it.
1403         (compare_comment): Likewise.
1405 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1407         PR c/53063
1408         PR c/40989
1409         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1410         * c-opts.c (c_common_handle_option): Do not set them here. Add
1411         comment.
1412         (c_common_post_options): Likewise.
1414 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1416         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1417         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1418         Remove POINTER_TYPE handling, add large unsigned handling and use
1419         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1421 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
1423         PR c/54381
1424         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1425         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1426         locs and array of 3 trees instead of just single loc and single
1427         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
1428         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1429         For *cmp* builtins that take two sources strings report warnings
1430         about first and second source, not about destination and source.
1432 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
1434         PR c++/53055
1435         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1437 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1439         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1440         declaring something coming from another file.
1442 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
1444         PR ada/54845
1445         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1447 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1449         PR c++/54194
1450         * c-common.c (warn_about_parentheses): Add location_t parameter;
1451         use EXPR_LOC_OR_LOC.
1452         * c-common.h: Update declaration.
1454 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1456         PR c++/54427
1457         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1458         more operations. Make error messages optional.
1459         * c-common.h (enum stv_conv): Moved from c-typeck.c.
1460         (scalar_to_vector): Declare.
1462 2012-10-08  Jason Merrill  <jason@redhat.com>
1464         * c-common.c (c_common_reswords): Add thread_local.
1466 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
1468         PR c++/53528 C++11 attribute support
1469         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1470         new functions.
1471         * c-common.c (check_cxx_fundamental_alignment_constraints): New
1472         static function.
1473         (handle_aligned_attribute): In choose strictest alignment
1474         among many.  Use new check_cxx_fundamental_alignment_constraints.
1475         (handle_transparent_union_attribute): In c++11 attribute syntax,
1476         don't look through typedefs.
1478 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
1480         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1481         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1482         out of dumpfile.h.
1484 2012-09-25  Dehao Chen  <dehao@google.com>
1486         PR middle-end/54645
1487         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1488         map when read in the pch.
1490 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
1492         * c-ada-spec.c: Style fixes.
1494 2012-09-18 Thomas Quinot  <quinot@adacore.com>
1496         * c.opt (-fada-spec-parent): Define new command line switch.
1497         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1498         is specified, generate binding spec as a child of the specified unit.
1500 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1501             Manuel López-Ibáñez  <manu@gcc.gnu.org>
1503         PR c++/53210
1504         * c.opt ([Winit-self]): Enabled by -Wall in C++.
1506 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
1508         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1509         for pointers, and add missing Convention C pragma.
1510         (print_ada_struct_decl): Add missing aliased keyword.
1511         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1513 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
1515         * c-common.c (sizeof_pointer_memaccess_warning): New function.
1516         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1517         * c-opts.c (c_common_handle_option): Enable it for -Wall.
1518         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1519         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1521 2012-08-10  Richard Guenther  <rguenther@suse.de>
1523         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1525 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1527         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1528         instead of separate pp_newline and pp_flush.
1529         (print_c_tree): Likewise.
1531 2012-07-26  Richard Henderson  <rth@redhat.com>
1533         * c-common.c (handle_hot_attribute): Allow labels.
1534         (handle_cold_attribute): Likewise.
1536 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
1538         PR c++/28656
1539         * c-common.c (check_function_nonnull): Handle multiple nonnull
1540         attributes properly.
1542 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1544         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1545         * c-ada-spec.c: Likewise.
1546         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1548 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1550         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1551         Remove code conditional on it.
1553 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1555         * c-gimplify.c: Do not include basic-block.h.
1556         * c-common.c: Do not include linfuncs.h.
1558 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1560         * c-common.h: Include tree.h.
1562 2012-07-02  Jason Merrill  <jason@redhat.com>
1564         PR c++/53524
1565         * c-common.c (get_priority): Call default_conversion.
1567 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1569         * c-pch.c (c_common_write_pch): Remove unused variables.
1571 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1573         * cppspec.c: Moved from gcc/ to here.
1575 2012-06-27  Kai Tietz  <ktietz@redhat.com>
1577         PR preprocessor/37215
1578         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1580 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1582         * c-common.h (c_common_print_pch_checksum): Remove.
1583         * c-pch.c: Do not include output.h.
1584         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1585         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1586         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1587         (struct c_pch_header): Remove.
1588         (get_ident): Update gpch version.
1589         (pch_init): Do not print executable_checksum to asm_out_file.
1590         Do not fail if there is no asm_out_file to read back from.  Set
1591         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1592         (c_common_write_pch): Verify that nothing was written to asm_out_file
1593         since pch_init was called.  Do not write a c_pch_header, and do not
1594         copy from asm_out_file to the PCH.
1595         (c_common_read_pch): Do not read a c_pch_header, and do not restore
1596         the content of asm_out_file from the PCH.
1597         (c_common_print_pch_checksum): Remove.
1598         * c-opts.c (c_common_init): Print out executable_checksum directly.
1600 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1602         * c-target.def (objc_declare_unresolved_class_reference,
1603         objc_declare_class_definition): Add new hooks.
1605 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1607         * c-lex.c: Do not include output.h.
1608         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1609         Remove uses of ASM_OUTPUT_IDENT.
1611 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1613         PR c++/51033
1614         * c-common.h (c_build_vec_perm_expr): Move decl here.
1615         * c-common.c (c_build_vec_perm_expr): Move definition
1616         here.
1618 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1620         * c.opt (fconserve-space): Turn into a no-op.
1622 2012-06-04  Sterling Augustine  <saugustine@google.com>
1624         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1625         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1626         both the start and end of the function.
1628 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1630         * c-common.c: Do not include output.h.
1631         * c-pragma.c: Likewise.
1633 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1635         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1636         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1637         (lang_decl_name): Handle namespace decls.
1639 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1641         * c-ada-spec.c: Do not include output.h.
1642         * c-semantics.c: Likewise.
1644 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
1646         * c-common.c: Fix typo.
1648 2012-05-29  Michael Matz  <matz@suse.de>
1650         * c-common.h (c_expand_decl): Remove prototype.
1652 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1654         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1655         * c-opts.c (c_common_handle_option): Remove code handling
1656         warn_missing_braces.
1658 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1660         PR c++/25137
1661         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1662         -Wmissing_braces.
1664 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1666         PR c++/53322
1667         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1669 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1671         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1672         * c-opts.c (c_common_handle_option): Do not handle explicitly
1673         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1675 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
1677         PR preprocessor/7263
1678         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1679         to cpp_classify_number.  For diagnostics, use the precise location
1680         instead of the global input_location.
1682 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1684         PR c++/11856
1685         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1687 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1689         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1691 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1693         PR 53063
1694         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1695         Wreorder): Use LangEnabledBy.
1696         * c-opts.c (c_common_handle_option): Do not enable them
1697         explicitly. Call lang-specific generated functions.
1698         (c_common_post_options): Do not set them here.
1700 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1702         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1703         Wmissing-field-initializers,Wmissing-parameter-type,
1704         Wold-style-declaration,Woverride-init): Use EnabledBy.
1705         * c-opts.c (c_common_post_options): Do not set here explicitly.
1707 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1709         PR 53063
1710         * c-opts.c (c_common_handle_option): Use handle_generated_option
1711         to enable sub-options.
1713 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1715         PR c++/53158
1716         * c-common.c (warnings_for_convert_and_check): Use warning_at.
1718 2012-05-10  Richard Guenther  <rguenther@suse.de>
1720         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1721         adjust commentary about TYPE_IS_SIZETYPE types.
1723 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1725         PR c++/53261
1726         * c-common.c (warn_logical_operator): Check that argument of
1727         integer_zerop is not NULL.
1729 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1731         PR c/43772
1732         * c-common.c (warn_logical_operator): Do not warn if either side
1733         is already true or false.
1735 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1737         PR c/51712
1738         * c-common.c (expr_original_type): New.
1739         (shorten_compare): Do not warn for enumeration types.
1741 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1743         * c.opt (fpermissive): Add Var(flag_permissive).
1745 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1747         PR c++/51033
1748         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1749         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1751 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
1753         Add -Wvarargs option
1754         * c.opt (Wvarargs):  Define new option.
1756 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1758         * c-common.c (check_function_arguments): Replace
1759         Wmissing-format-attribute with Wsuggest-attribute=format.
1761 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1763         * c.opt (Wsuggest-attribute=format): New. Alias of
1764         Wmissing-format-attribute.
1765         * c-format.c (decode_format_type): Replace
1766         Wmissing-format-attribute with Wsuggest-attribute=format.
1767         (check_function_format): Likewise.
1769 2012-04-27  Ollie Wild  <aaw@google.com>
1771         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1772         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1773         * c.opt: Add Wliteral-suffix.
1775 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1777         PR c/44774
1778         * c.opt (Wpedantic): New.
1779         (pedantic): Alias Wpedantic.
1780         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1781         (c_common_post_options): Likewise.
1782         (sanitize_cpp_opts): Likewise.
1783         * c-lex.c (interpret_float): Likewise.
1784         * c-format.c (check_format_types): Likewise.
1785         * c-common.c (pointer_int_sum): Likewise.
1786         (c_sizeof_or_alignof_type): Likewise.
1787         (c_add_case_label): Likewise.
1788         (c_do_switch_warnings): Likewise.
1789         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1791 2012-04-15  Jason Merrill  <jason@redhat.com>
1793         PR c++/52818
1794         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1795         (C_STD_NAME): Distinguish between C++98 and C++11.
1797 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1799         PR target/52624
1800         * c-common.h (uint16_type_node): Rename into...
1801         (c_uint16_type_node): ...this.
1802         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1803         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1805 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1807         * c-common.c (warn_if_unused_value): Move definition to here.
1808         * c-common.h (warn_if_unused_value): Move declaration to here.
1810 2012-03-23  William Bader  <williambader@hotmail.com>
1812         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1814 2012-03-20  Jason Merrill  <jason@redhat.com>
1816         * c-common.h (enum cxx_dialect): Add cxx1y.
1817         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1818         test.
1819         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1820         * c-opts.c (c_common_post_options): Likewise.
1821         (set_std_cxx1y): New.
1822         (c_common_handle_option): Call it.
1823         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1825 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1827         PR c++/14710
1828         * c.opt ([Wuseless-cast]): Add.
1830 2012-03-16  Richard Guenther  <rguenther@suse.de>
1832         * c-pretty-print.c (pp_c_initializer_list): Adjust.
1834 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1836         PR c++/44783
1837         * c.opt (ftemplate-backtrace-limit) Add.
1839 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1841         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1842         handling.
1843         * c-pragma.c (handle_pragma_extern_prefix): Remove.
1844         (init_pragma): Don't register extern_prefix.
1846 2012-03-12  Richard Guenther  <rguenther@suse.de>
1848         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1849         (builtin_type_for_size): Likewise.
1851 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
1853         PR c++/52215
1854         * c-common.c (sync_resolve_params): Don't decide whether to convert
1855         or not based on TYPE_SIZE comparison, convert whenever arg_type
1856         is unsigned INTEGER_TYPE.
1858 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1860         PR c/52118
1861         * c.opt ([Wunused-local-typedefs]): Fix description.
1863 2012-01-24  Mike Stump  <mikestump@comcast.net>
1865         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1866         exactly.
1868 2012-01-18  Richard Guenther  <rguenther@suse.de>
1870         * c-opts.c (c_common_post_options): Reset LTO flags if
1871         we are about to generate a PCH.
1873 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1875         PR c++/51777
1876         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1877         use pp_unsigned_wide_integer.
1879 2012-01-10  Richard Guenther  <rguenther@suse.de>
1881         PR middle-end/51806
1882         * c-opts.c (c_common_handle_option): Move -Werror handling
1883         to language independent code.
1885 2012-01-05  Richard Guenther  <rguenther@suse.de>
1887         PR middle-end/51764
1888         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1889         from common.opt.
1891 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
1893         PR c++/51316
1894         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1895         of array types with an unknown bound.
1897 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
1899         * c-common.c (flag_isoc99): Update comment to refer to C11.
1900         (flag_isoc1x): Change to flag_isoc11.
1901         * c-common.h (flag_isoc99): Update comment to refer to C11.
1902         (flag_isoc1x): Change to flag_isoc11.
1903         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1904         C11.
1905         * c-opts.c (set_std_c1x): Change to set_std_c11.
1906         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1907         Call set_std_c11.
1908         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1909         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1910         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
1911         standard.
1912         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1913         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1914         (std=gnu1x): Make alias of std=gnu11.
1916 2011-12-19  Jason Merrill  <jason@redhat.com>
1918         PR c++/51228
1919         * c-common.c (handle_transparent_union_attribute): Check the first
1920         field if the type is complete.
1922 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1924         PR libstdc++/51365
1925         * c-common.c (RID_IS_FINAL): Add.
1926         * c-common.h (RID_IS_FINAL): Add.
1928 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
1930         * c.opt (fgnu-runtime): Provide full description.
1931         (fnext-runtime): Likewise.
1932         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1934 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
1936         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
1937         predefines in one place.  Add LOCK_FREE predefines.
1938         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1939         new func.
1941 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
1943         PR c/51256
1944         * c-common.c (get_atomic_generic_size): Check for various error
1945         conditions
1946         (resolve_overloaded_atomic_exchange,
1947         resolve_overloaded_atomic_compare_exchange,
1948         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1949         error_mark_node for error conditions.
1951 2011-11-08  Richard Guenther  <rguenther@suse.de>
1953         PR middle-end/51010
1954         c-family/
1956 2011-11-07  Richard Henderson  <rth@redhat.com>
1957             Aldy Hernandez  <aldyh@redhat.com>
1958             Torvald Riegel  <triegel@redhat.com>
1960         Merged from transactional-memory.
1962         * c-common.c (handle_tm_wrap_attribute,
1963         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1964         (struct c_common_reswords): Added __transaction* keywords.
1965         (struct c_common_attribute_table): Added transaction* and tm_regparm
1966         attributes.
1967         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1968         masks.
1969         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1970         find_tm_attribute): Declare.
1972 2011-11-07  Jason Merrill  <jason@redhat.com>
1974         PR c++/35688
1975         * c-common.c, c-common.h: Revert yesterday's changes.
1977 2011-11-06  Jason Merrill  <jason@redhat.com>
1979         PR c++/35688
1980         * c-common.c (decl_has_visibility_attr): Split out from...
1981         (c_determine_visibility): ...here.
1982         * c-common.h: Declare it.
1984 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
1986         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1987         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1988         type.
1989         (check_user_alignment): New.  Split out of
1990         handle_aligned_attribute.  Disallow integer constants with
1991         noninteger types.  Conditionally allow zero.
1992         (handle_aligned_attribute): Use check_user_alignment.
1993         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1995 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
1996             Richard Henderson  <rth@redhat.com>
1998         Merged from cxx-mem-model.
2000         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2001         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2002         parameters that are the same type size.
2003         (get_atomic_generic_size): New.  Find size of generic
2004         atomic function parameters and do typechecking.
2005         (add_atomic_size_parameter): New.  Insert size into parameter list.
2006         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2007         either __atomic_exchange_n or external library call.
2008         (resolve_overloaded_atomic_compare_exchange): Restructure
2009         __atomic_compare_exchange to either _n variant or external library call.
2010         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2011         __atomic_load_n or an external library call.
2012         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2013         __atomic_store_n or an external library call.
2014         (resolve_overloaded_builtin): Handle new __atomic builtins.
2016 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2018         PR c++/50608
2019         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2020         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2021         <INDIRECT_REF>: Return the argument.
2022         <ARRAY_REF>: Remove special code for negative offset.
2023         Call fold_build_pointer_plus instead of size_binop.
2024         (fold_offsetof): Remove STOP_REF argument and adjust.
2025         * c-common.h (fold_offsetof_1): Declare.
2026         (fold_offsetof): Remove STOP_REF argument.
2028 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2030         PR c++/50810
2031         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2032         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2033         Wnarrowing for C++0x and C++98.
2034         * c.opt ([Wnarrowing]): Update.
2036 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2038         PR c++/44277
2039         * c.opt: Add Wzero-as-null-pointer-constant.
2041 2011-10-31  Jason Merrill  <jason@redhat.com>
2043         * c.opt (-fdeduce-init-list): Off by default.
2045         PR c++/50920
2046         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2047         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2048         and -Wc++11-compat.
2049         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2051 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2053         PR c++/30066
2054         * c.opt (fvisibility-inlines-hidden): Description change.
2056 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2058         Implement C++11 user-defined literals.
2059         * c-common.c (build_userdef_literal): New.
2060         * c-common.def: New tree code.
2061         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2062         * c-lex.c (interpret_float): Add suffix parm.
2063         (c_lex_with_flags): Build literal tokens.
2065 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2067         PR c++/50841
2068         Revert:
2069         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2071         PR c++/50810
2072         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2073         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2074         Wnarrowing for C++0x and C++98.
2075         * c.opt ([Wnarrowing]): Update.
2077 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2079         PR c++/50810
2080         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2081         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2082         Wnarrowing for C++0x and C++98.
2083         * c.opt ([Wnarrowing]): Update.
2085 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2087         PR c++/45385
2088         * c-common.c (conversion_warning): Remove code looking for
2089         artificial operands.
2091 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
2093         PR bootstrap/50760
2094         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2095         !NO_IMPLICIT_EXTERN_C.
2097 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2099         * c-common.c (c_common_reswords): Add __bases,
2100         __direct_bases.
2101         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2103 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2105         PR c++/50757
2106         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2108 2011-10-15  Tom Tromey  <tromey@redhat.com>
2109             Dodji Seketeli  <dodji@redhat.com>
2111         * c.opt (fdebug-cpp): New option.
2112         * c-opts.c (c_common_handle_option): Handle the option.
2113         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2114         output stream in parameter. Factorized from ...
2115         (maybe_print_line): ... this. Dump location debug information when
2116         -fdebug-cpp is in effect.
2117         (print_line_1): New static function. Takes an output stream in
2118         parameter. Factorized from ...
2119         (print_line): ... here. Dump location information when -fdebug-cpp
2120         is in effect.
2121         (scan_translation_unit): Dump location information when
2122         -fdebug-cpp is in effect.
2124 2011-10-15  Tom Tromey  <tromey@redhat.com>
2125             Dodji Seketeli  <dodji@redhat.com>
2127         * c.opt (ftrack-macro-expansion): New option. Handle it with and
2128         without argument.
2129         * c-opts.c (c_common_handle_option)<case
2130         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2131         cases. Handle -ftrack-macro-expansion with and without argument.
2133 2011-10-15  Tom Tromey  <tromey@redhat.com>
2134             Dodji Seketeli  <dodji@redhat.com>
2136         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2137         (print_line, cb_define, do_line_change): Adjust to avoid touching
2138         the internals of struct line_map.  Use the public API instead.
2139         * c-pch.c (c_common_read_pch): Likewise.
2140         * c-lex.c (fe_file_change): Likewise.
2142 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2144         PR c++/17212
2145         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2147 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2149         PR c++/33067
2150         * c-pretty-print.c (pp_c_floating_constant): Output
2151         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2153 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2155         * c-common.c (def_builtin_1): Delete old interface with two
2156         parallel arrays to hold standard builtin declarations, and replace
2157         it with a function based interface that can support creating
2158         builtins on the fly in the future.  Change all uses, and poison
2159         the old names.  Make sure 0 is not a legitimate builtin index.
2160         * c-omp.c (c_finish_omp_barrier): Ditto.
2161         (c_finish_omp_taskwait): Ditto.
2162         (c_finish_omp_flush): Ditto.
2164 2011-10-11  Tristan Gingold  <gingold@adacore.com>
2166         * c.opt: (fallow-parameterless-variadic-functions): New.
2168 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
2170         PR c++/33255 - Support -Wunused-local-typedefs warning
2171         * c-common.h (struct c_language_function::local_typedefs): New
2172         field.
2173         (record_locally_defined_typedef, maybe_record_typedef_use)
2174         (maybe_warn_unused_local_typedefs): Declare new functions.
2175         * c-common.c (record_locally_defined_typedef)
2176         (maybe_record_typedef_use)
2177         (maybe_warn_unused_local_typedefs): Define new functions.
2178         * c.opt: Declare new -Wunused-local-typedefs flag.
2180 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2182         PR middle-end/50266
2183         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2184         computations.
2186 2011-09-05  Richard Guenther  <rguenther@suse.de>
2188         * c-common.c (complete_array_type): Use ssize_int (-1) instead
2189         of integer_minus_one_node for empty array upper bounds.
2191 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
2193         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2194         it's the first time it's being called on this main TU.
2196 2011-08-24  Richard Guenther  <rguenther@suse.de>
2198         PR c/49396
2199         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2201 2011-08-22  Gabriel Charette  <gchare@google.com>
2203         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2204         defined in cpp_init_builtins and c_cpp_builtins.
2206 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
2208         * c-common.c (c_common_reswords): Add __builtin_complex.
2209         * c-common.h (RID_BUILTIN_COMPLEX): New.
2211 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
2213         * c-common.c (c_common_reswords): Add _Noreturn.
2214         (keyword_is_function_specifier): Handle RID_NORETURN.
2215         * c-common.h (RID_NORETURN): New.
2217 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2219         * c-common.c (unsafe_conversion_p): New function. Check if it is
2220         unsafe to convert an expression to the type.
2221         (conversion_warning): Adjust, use unsafe_conversion_p.
2222         * c-common.h (unsafe_conversion_p): New function declaration.
2224 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
2226         * c-common.h (c_finish_omp_atomic): Adjust prototype.
2227         (c_finish_omp_taskyield): New prototype.
2228         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2229         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2230         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2231         or RHS1 have side-effects, evaluate those too in the right spot,
2232         if it is a decl and LHS is also a decl, error out if they
2233         aren't the same.
2234         (c_finish_omp_taskyield): New function.
2235         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2236         * c-pragma.c (omp_pragmas): Add taskyield.
2237         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2238         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2239         PRAGMA_OMP_CLAUSE_MERGEABLE.
2241 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
2243         * c-common.h (set_underlying_type): Remove parm name from
2244         declaration.
2246 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2248         * c-pretty-print.h: Search c-common.h in c-family.
2250 2011-07-22  Jason Merrill  <jason@redhat.com>
2252         PR c++/49793
2253         * c.opt (Wnarrowing): New.
2255         PR c++/30112
2256         * c-common.h: Declare c_linkage_bindings.
2257         * c-pragma.c (handle_pragma_redefine_extname): Use it.
2259         PR c++/49813
2260         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2261         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2262         as flag_isoc99 for 'restrict'.
2263         (pp_c_specifier_qualifier_list): Likewise for _Complex.
2265 2011-07-21  Ian Lance Taylor  <iant@google.com>
2267         PR middle-end/49705
2268         * c-common.c (c_disable_warnings): New static function.
2269         (c_enable_warnings): New static function.
2270         (c_fully_fold_internal): Change local unused_p to bool.  Call
2271         c_disable_warnings and c_enable_warnings rather than change
2272         c_inhibit_evaluation_warnings.
2274 2011-07-20  Jason Merrill  <jason@redhat.com>
2276         PR c++/6709 (DR 743)
2277         PR c++/42603 (DR 950)
2278         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2279         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2280         (CPP_DECLTYPE): New.
2281         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2283 2011-07-19  Richard Guenther  <rguenther@suse.de>
2285         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2286         * c-omp.c (c_finish_omp_for): Likewise.
2288 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2290         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2291         body on the next line.
2293 2011-07-08  Jason Merrill  <jason@redhat.com>
2295         PR c++/45437
2296         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2298         PR c++/49673
2299         * c-common.c (c_apply_type_quals_to_decl): Don't check
2300         TYPE_NEEDS_CONSTRUCTING.
2302 2011-07-06  Richard Guenther  <rguenther@suse.de>
2304         * c-common.c (c_common_nodes_and_builtins):
2305         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2307 2011-07-05  Richard Guenther  <rguenther@suse.de>
2309         * c-common.c (c_common_nodes_and_builtins): Build all common
2310         tree nodes first.
2312 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2314         * c-common.h (c_tree_chain_next): New static inline function.
2316         * c-common.c (check_builtin_function_arguments): Handle
2317         BUILT_IN_ASSUME_ALIGNED.
2319 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2321         * c-common.c: Add sync_ or SYNC__ to builtin names.
2322         * c-omp.c: Add sync_ or SYNC__ to builtin names.
2324 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
2326         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2327         handler.
2328         (gen_pragma_handler): New union.
2329         (internal_pragma_handler): New type.
2330         (c_register_pragma_with_data)
2331         (c_register_pragma_with_expansion_and_data): New functions.
2333         * c-pragma.c (registered_pragmas, c_register_pragma_1)
2334         (c_register_pragma, c_register_pragma_with_expansion)
2335         (c_invoke_pragma_handler): Changed to work with
2336         internal_pragma_handler.
2337         (c_register_pragma_with_data)
2338         (c_register_pragma_with_expansion_and_data): New functions.
2340 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2342         * c-common.c: Include common/common-target.h.
2343         (handle_section_attribute): Use
2344         targetm_common.have_named_sections.
2345         * c-cppbuiltin.c: Include common/common-target.h.
2346         (c_cpp_builtins): Use targetm_common.except_unwind_info.
2348 2011-06-10  Richard Guenther  <rguenther@suse.de>
2350         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2351         to print a IDENTIFIER_NODE.
2353 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2354             Joseph Myers  <joseph@codesourcery.com>
2356         * c.opt (fbuilding-libgcc): New option.
2357         * c-cppbuiltin.c (c_cpp_builtins): Define
2358         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2360 2011-06-07  Jason Merrill  <jason@redhat.com>
2362         * c-common.c (max_tinst_depth): Lower default to 900.
2364         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2366 2011-06-07  Richard Guenther  <rguenther@suse.de>
2368         * c-common.c (c_common_nodes_and_builtins): Do not set
2369         size_type_node or call set_sizetype.
2371 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
2373         PR debug/49130
2374         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
2375         type when using pointer comparison to compare types.
2377 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2379         * c.opt: Add -Wdelete-non-virtual-dtor.
2380         * c-opts.c (c_common_handle_option): Include it in -Wall.
2382 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
2384         PR bootstrap/49190
2386         Revert:
2387         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2389         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2390         not tree_common.
2392 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
2394         PR c++/49165
2395         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2396         C++ don't call c_common_truthvalue_conversion on void type arms.
2398 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
2400         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2401         (stmt_list_stack): Define.
2402         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2403         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2405 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2407         * c-common.c (warning_candidate_p): Check for BLOCKs.
2409 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2411         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2412         not tree_common.
2414 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2416         * c-common.c (def_fn_type): Remove extra va_end.
2418 2011-05-23  Jason Merrill  <jason@redhat.com>
2420         PR c++/48106
2421         * c-common.c (c_common_get_narrower): New.
2422         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2424 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
2426         * c-common.h (check_function_arguments): Tweak prototype of
2427         check_function_arguments.
2428         * c-common.c (check_function_arguments): Likewise.  Adjust
2429         calls to check_function_nonnull, check_function_format, and
2430         check_function_sentinel.
2431         (check_function_sentinel): Take a FUNCTION_TYPE rather than
2432         separate attributes and typelist arguments.  Use
2433         FOREACH_FUNCTION_ARGS to iterate over argument types.
2435 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2437         * c-common.c (c_common_reswords): Reorder.
2438         * c-common.h (rid): Likewise.
2440 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2442         * c-common.c (def_fn_type): Don't call build_function_type, call
2443         build_function_type_array or build_varargs_function_type_array
2444         instead.
2445         (c_common_nodes_and_builtins): Likewise.
2447 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2449         * c-common.c (c_add_case_label): Omit the loc argument to
2450         build_case_label.
2451         * c-common.h (build_case_label): Remove.
2452         * c-semantics.c (build_case_label): Remove.
2454 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
2456         * c-objc.h (objc_start_method_definition): Update prototype.
2457         * stub-objc.c (objc_start_method_definition): Add extra parameter.
2459 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2461         * c-common.c (check_main_parameter_types): Reindent.  Don't use
2462         TYPE_ARG_TYPES directly.
2463         (handle_nonnull_attribute): Likewise.
2464         (sync_resolve_params): Likewise.
2465         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2466         to check_format_string.
2467         (handle_format_attribute): Likewise.
2468         (check_format_string): Take a function type to examine instead of
2469         a type list.  Use a function_arg_iterator to step through argument
2470         types.
2472 2011-05-04  Richard Guenther  <rguenther@suse.de>
2474         * c-common.c (fix_string_type): Use size_int for index type bounds.
2475         (start_fname_decls): Do not pass NULL to build_int_cst.
2476         (c_init_attributes): Likewise.
2477         * c-lex.c (c_lex_with_flags): Likewise.
2479 2011-04-27  Jason Merrill  <jason@redhat.com>
2481         * c-common.c (make_tree_vector_from_list): New.
2482         * c-common.h: Declare it.
2484 2011-04-26  Richard Guenther  <rguenther@suse.de>
2486         PR preprocessor/48248
2487         * c-ppoutput.c (maybe_print_line): Always optimize newlines
2488         for output size with -P.
2490 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2492         * c-common.c (struct c_common_resword): Add __underlying_type.
2493         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2495 2011-04-20  Jim Meyering  <meyering@redhat.com>
2497         * c-format.c (init_dollar_format_checking): Remove useless
2498         if-before-free.
2500 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2502         * c-objc.h (objc_get_interface_ivars): Removed.
2503         (objc_detect_field_duplicates): New.
2504         * stub-objc.c: Likewise.
2506 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2508         * stub-objc.c (objc_declare_protocols): Renamed to
2509         objc_declare_protocol.
2510         * c-objc.h: Likewise.
2512 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2514         * stub-objc.c (objc_declare_class): Updated argument name.
2516 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2518         * c-common.h (c_common_init_ts): Declare.
2519         * c-common.c (c_common_init_ts): Define.
2521 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2523         * c-objc.h (objc_build_message_expr): Updated prototype.
2524         * stub-objc.c (objc_build_message_expr): Likewise.
2526 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2528         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2529         of cgraph_node.
2531 2011-04-11  Richard Guenther  <rguenther@suse.de>
2533         * c-common.c (complete_array_type): Build a range type of
2534         proper type.
2536 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2538         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2539         (handle_type_generic_attribute): Likewise.
2541 2011-04-07  Jason Merrill  <jason@redhat.com>
2543         PR c++/48450
2544         * c-common.c (c_common_truthvalue_conversion): Don't ignore
2545         conversion from C++0x scoped enum.
2547 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2549         * c-target-def.h: New file.
2550         * c-target.def: New file.
2551         * c-target.h: New file.
2552         * c-common.c (targetcm): Don't define here.
2553         * c-common.h (default_handle_c_option): Declare.
2554         * c-format.c: Include c-target.h instead of target.h.
2555         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
2556         include tm.h.
2557         (default_handle_c_option): Move from targhooks.c.
2559 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2561         PR preprocessor/48248
2562         * c-ppoutput.c (print): Add src_file field.
2563         (init_pp_output): Initialize it.
2564         (maybe_print_line): Don't optimize by adding up to 8 newlines
2565         if map->to_file and print.src_file are different file.
2566         (print_line): Update print.src_file.
2568 2011-03-25  Kai Tietz  <ktietz@redhat.com>
2570         * c-ada-spec.c (compare_comment): Use filename_cmp
2571         instead of strcmp for filename.
2573 2011-03-25  Jeff Law  <law@redhat.com>
2575         * c-family/c-common.c (def_fn_type): Add missing va_end.
2577 2011-03-25  Jason Merrill  <jason@redhat.com>
2579         * c.opt: Add -std=c++03.
2581 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2583         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2585 2011-03-17  Kai Tietz
2587         PR target/12171
2588         * c-pretty-print.c (pp_c_specifier_qualifier_list):
2589         Display allowed attributes for function pointer types.
2590         (pp_c_attributes_display): New function to display
2591         attributes having affects_type_identity flag set to true.
2592         * c-pretty-print.h (pp_c_attributes_display): New prototype.
2594         * c-common.c (c_common_attribute_table):
2595         Add new element.
2596         (c_common_format_attribute_table): Likewise.
2598 2011-03-18  Jason Merrill  <jason@redhat.com>
2600         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2601         * c-common.h: Don't declare it here.
2602         * c-common.c: Or define it here.
2603         * c-opts.c (c_common_handle_option): Or set it here.
2605         PR c++/35315
2606         * c-common.c (handle_transparent_union_attribute): Don't
2607         make a duplicate type in C++.
2609 2011-03-15  Jason Merrill  <jason@redhat.com>
2611         * c-common.c (max_constexpr_depth): New.
2612         * c-common.h: Declare it.
2613         * c-opts.c (c_common_handle_option): Set it.
2614         * c.opt (fconstexpr-depth): New option.
2616 2011-03-11  Jason Merrill  <jason@redhat.com>
2618         * c-common.c (attribute_takes_identifier_p): Add missing const.
2620         PR c++/46803
2621         * c-common.c (attribute_takes_identifier_p): Assume that an
2622         unknown attribute takes an identifier.
2624 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2626         PR c/47786
2627         * c-common.c (c_type_hash): Call list_length instead of iterating
2628         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2630 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2632         PR c/47809
2633         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2635 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2637         * c.opt (fobjc-abi-version=) New.
2638         (fobjc-nilcheck): New.
2640 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2642         PR c++/46890
2643         * c-common.h (keyword_is_decl_specifier): Declare.
2644         * c-common.c (keyword_is_decl_specifier): Define.
2645         (keyword_is_function_specifier): New function.
2647 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2649         PR c/47473
2650         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2651         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2652         REAL_TYPE.
2654 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
2656         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2658 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2660         PR pch/47430
2661         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2662         after init_c_lex if pch_file is set.
2664 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2666         PR c++/43601
2667         * c.opt (-fkeep-inline-dllexport): New switch.
2669 2011-01-12  Richard Guenther  <rguenther@suse.de>
2671         PR middle-end/32511
2672         * c-common.c (handle_weak_attribute): Warn instead of error
2673         on declaring an inline function weak.
2675 2011-01-05  Tom Tromey  <tromey@redhat.com>
2677         * c-common.h (lvalue_error): Update.
2678         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2679         not error.
2681 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2683         PR objc/47075
2684         * c-objc.h (objc_finish_message_expr): Added argument to
2685         prototype.
2687 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2689         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2690         Use prototype_p.
2692 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2694         * c-objc.h (objc_maybe_warn_exceptions): New.
2695         * stub-objc.c (objc_maybe_warn_exceptions): New.
2697 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2699         * c-common.h (readonly_error): Declare.
2700         * c-common.c (readonly_error): Define.
2702 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2704         * c-common.h (invalid_indirection_error): Declare.
2705         * c-common.c (invalid_indirection_error): Define.
2707 2010-12-03  Richard Guenther  <rguenther@suse.de>
2709         PR c/46745
2710         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2711         (pp_c_unary_expression): Likewise.
2712         (pp_c_expression): Likewise.
2714 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2716         * c-common.h (objc_finish_function): New.
2717         (objc_non_volatilized_type): Removed.
2718         (objc_type_quals_match): Removed.
2719         * stub-objc.c (objc_finish_function): New.
2720         (objc_non_volatilized_type): Removed.
2721         (objc_type_quals_match): Removed.
2723 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2725         * c-common.h (parse_optimize_options): Declare.
2726         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2727         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2729 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2731         * c-opts.c (check_deps_environment_vars): Use getenv instead of
2732         GET_ENVIRONMENT.
2733         * c-pch.c (O_BINARY): Don't define here.
2734         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2736 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2738         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2739         targetm.except_unwind_info.
2741 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2743         * c-opts.c (c_common_handle_option): Pass location to
2744         set_struct_debug_option.
2746 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2748         * c-common.c (visibility_options): Move from ../opts.c.
2749         * c-common.h (struct visibility_flags, visibility_options):
2750         Declare here.
2751         * c-opts.c (finish_options): Rename to c_finish_options.
2752         (c_common_init): Update call to finish_options.
2754 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2756         PR objc/34033
2757         * c-lex.c (lex_string): Check that each string in an Objective-C
2758         string concat sequence starts with either one or zero '@', and
2759         that there are no spurious '@' signs at the end.
2761 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
2763         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2764         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2765         HANDLE_PRAGMA_VISIBILITY.
2766         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2767         HANDLE_PRAGMA_VISIBILITY): Don't define.
2768         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2770 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2772         PR c++/16189
2773         PR c++/36888
2774         PR c++/45331
2775         * c-common.h (keyword_begins_type_specifier): Declare.
2776         (keyword_is_storage_class_specifier): Declare.
2777         (keyword_is_type_qualifier): Declare.
2778         * c-common.c (keyword_begins_type_specifier): New function.
2779         (keyword_is_storage_class_specifier): New function.
2780         (keyword_is_type_qualifier): Declare.
2782 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2784         PR c/46547
2785         * c-common.c (in_late_binary_op): Define.
2786         (c_common_truthvalue_conversion): Check in_late_binary_op before
2787         calling c_save_expr.
2788         * c-common.h (in_late_binary_op): Declare.
2790 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2792         * c-opts.c (c_common_handle_option): Update calls to
2793         set_struct_debug_option.
2795 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2797         * c-common.h (objc_declare_protocols): Added additional argument.
2798         * stub-objc.c (objc_declare_protocol): Same change.
2800 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2802         PR c/33193
2803         * c-common.h (build_real_imag_expr): Declare.
2804         * c-semantics.c (build_real_imag_expr): Define.
2806 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
2808         * c-opts.c (c_common_parse_file): Take no arguments.
2809         * c-common.h (c_common_parse_file): Update prototype.
2811 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
2813         PR c++/46401
2814         * c-common.c (warning_candidate_p): Don't track non-const calls
2815         or STRING_CSTs.
2817 2010-11-15  Ian Lance Taylor  <iant@google.com>
2819         * c-lex.c (init_c_lex): Set macro debug callbacks if
2820         flag_dump_go_spec is set.
2822 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2824         * c-common.h (objc_build_incr_expr_for_property_ref): New.
2825         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2827 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2829         PR preprocessor/45038
2830         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2831         dialects.
2833 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2835         * c-common.h (c_family_lang_mask): Declare.
2836         * c-opts.c (c_family_lang_mask): Make extern.
2837         * c-pragma.c (handle_pragma_diagnostic): Use
2838         control_warning_option.
2840 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2842         * c-common.c (parse_optimize_options): Update call to
2843         decode_options.
2844         * c-common.h (c_common_handle_option): Update prototype.
2845         * c-opts.c (c_common_handle_option): Take location_t parameter and
2846         pass it to other functions.
2848 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2850         * c-opts.c (warning_as_error_callback): Remove.
2851         (c_common_initialize_diagnostics): Don't call
2852         register_warning_as_error_callback.
2853         (c_common_handle_option): Handle -Werror=normalized= here.
2855 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2857         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2858         in diagnostic.
2859         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2860         letter.
2861         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2862         Remove trailing '.' from diagnostics.
2863         * c.opt (Wwrite-strings_: Avoid '`' in help text.
2865 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2867         * c-common.c (parse_optimize_options): Pass global_dc to
2868         decode_options.
2869         * c-opts.c (c_common_handle_option): Pass &global_options to
2870         set_Wstrict_aliasing.
2871         * c.opt (v): Don't mark Common or document here.
2873 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2875         PR target/44981
2876         * c-format.c (format_type): New type gcc_objc_string_format_type.
2877         (valid_stringptr_type_p): New.
2878         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
2879         (check_format_string): Pass expected type, use
2880         valid_stringptr_type_p (), check that the format string types are
2881         consistent with the format specification.
2882         (decode_format_attr): Warn if NSString is used outside objective-c.
2883         (format_types_orig): Add NSString.
2884         (format_name): New.
2885         (format_flags): New.
2886         (check_format_arg): Handle format strings requiring an external parser.
2887         first_target_format_type: New variable.
2888         (handle_format_attribute): Set up first_target_format_type, pass the
2889         expected format arg string type to check_format_string().
2890         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
2891         * stub-objc.c (objc_string_ref_type_p): New.
2892         (objc_check_format_arg): New.
2894 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2896         Fixed using the Objective-C 2.0 dot-syntax with class names.
2897         * c-common.h (objc_build_class_component_ref): New.
2898         * stub-objc.c (objc_build_class_component_ref): New.
2900 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2902         * c.opt (Wproperty-assign-default): New option.
2904 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2906         Implemented -fobjc-std=objc1 flag.
2907         * c.opt (fobjc-std=objc1): New option.
2909 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2911         Implemented format and noreturn attributes for Objective-C methods.
2912         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2913         attribute for Objective-C methods.
2915 2010-10-31  Jason Merrill  <jason@redhat.com>
2917         * c-common.c (conversion_warning, warn_for_collisions_1): Use
2918         EXPR_LOC_OR_HERE.
2920 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2922         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2923         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2924         (objc_add_property_declaration): Removed arguments for copies and
2925         ivar.
2926         (objc_build_getter_call): Renamed to
2927         objc_maybe_build_component_ref.
2928         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2929         (objc_is_property_ref): New.
2930         * c-common.c (c_common_reswords): Removed copies and ivar.
2931         * stub-objc.c (objc_add_property_declaration): Removed arguments
2932         for copies and ivar.
2933         (objc_build_getter_call): Renamed to
2934         objc_maybe_build_component_ref.
2935         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2936         (objc_is_property_ref): New.
2938 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
2939             Matthew Gingell  <gingell@adacore.com>
2941         * c-ada-spec.c (separate_class_package): New function.
2942         (pp_ada_tree_identifier): Prefix references to C++ classes with the
2943         name of their enclosing package.
2944         (print_ada_declaration): Use separate_class_package.
2946 2010-10-27  Jason Merrill  <jason@redhat.com>
2948         * c-common.c (c_common_reswords): Add __is_literal_type.
2949         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2951         * c-common.c (check_case_value): Remove special C++ code.
2953 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2955         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2956         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
2957         and RID_LAST_PATTR.
2958         (objc_add_property_declaration): Added additional arguments.
2959         (objc_property_attribute_kind): Removed.
2960         (objc_set_property_attr): Removed.
2961         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2962         copy and nonatomic.
2963         * stub-objc.c (objc_add_property_declaration): Added additional
2964         arguments.
2965         (objc_set_property_attr): Removed.
2967 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2969         * c-common.h (objc_add_property_variable): Renamed to
2970         objc_add_property_declaration.  Added location argument.
2971         * stub-objc.c (objc_add_property_variable): Same change.
2972         
2973 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
2975         * c-common.h (objc_maybe_printable_name): New.
2976         * stub-objc.c (objc_maybe_printable_name): New.
2978 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2979         Andrew Pinski <pinskia@gmail.com>
2981         * c-common.h (c_common_mark_addressable_vec): Declare.
2982         * c-common.c (c_common_mark_addressable_vec): New function.
2984 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2986         * c-common.h (objc_set_method_type): Removed.
2987         (objc_add_method_declaration): Added boolean argument.
2988         (objc_start_method_definition): Same change.
2989         (objc_build_method_signature): Same change.
2990         * stub-objc.c (objc_set_method_type): Removed.
2991         (objc_add_method_declaration): Added boolean argument.
2992         (objc_start_method_definition): Same change.
2993         (objc_build_method_signature): Same change.
2995 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
2997         * c-common.h (finish_file): Removed.
2998         (objc_write_global_declarations): New.
2999         * c-opts.c (c_common_parse_file): Do not call finish_file.
3000         * stub-objc.c (objc_write_global_declarations): New.
3002 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3004         Implemented parsing @synthesize and @dynamic for
3005         Objective-C/Objective-C++.
3006         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3007         (objc_add_synthesize_declaration): New.
3008         (objc_add_dynamic_declaration): New.
3009         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3010         * stub-objc.c (objc_add_synthesize_declaration): New.
3011         (objc_add_dynamic_declaration): New.
3013 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3015         PR target/46041
3016         * c-cppbuiltin.c (mode_has_fma): Move function here from
3017         builtins.c.  Don't use the fma optab, instead just use the
3018         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3019         using -save-temps.
3021 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3023         Merge from 'apple/trunk' branch on FSF servers.
3025         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3027         Radar 4330422
3028         * c-common.h (objc_non_volatilized_type): New declaration
3029         * stub-objc.c (objc_non_volatilized_type): New stub.
3031 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3033         Merge from 'apple/trunk' branch on FSF servers.
3035         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3037         Radar 4133425
3038         * c-common.h (objc_diagnose_private_ivar): New decl.
3039         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3041 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3043         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3044         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3045         (objc_ivar_visibility_kind): New enum.
3046         (objc_set_visibility): Adjust prototype to use visibility enum.
3047         * stub-objc.c (objc_set_visibility): Adjust stub to use
3048         visibility enum.
3050 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3052         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3053         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3054         has the appropriate fma builtins.
3055         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3057 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3059         merge from FSF apple 'trunk' branch.
3060         2006 Fariborz Jahanian <fjahanian@apple.com>
3062         Radars 4436866, 4505126, 4506903, 4517826
3063         * c-common.c (c_common_resword): Define @property and its attributes.
3064         * c-common.h: Define property attribute enum entries.
3065         (OBJC_IS_PATTR_KEYWORD): New.
3066         (objc_property_attribute_kind): New enum.
3067         Declare objc_set_property_attr (), objc_add_property_variable (),
3068         objc_build_getter_call () and objc_build_setter_call ().
3069         * stub-objc.c (objc_set_property_attr): New stub.
3070         (objc_add_property_variable): Likewise.
3071         (objc_build_getter_call): Likewise.
3072         (objc_build_setter_call) Likewise.
3074 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3076         merge from FSF apple 'trunk' branch.
3077         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3079         Radar 3803157 (method attributes)
3080         * c-common.c (handle_deprecated_attribute): Recognize
3081         objc methods as valid declarations.
3082         * c-common.h: Declare objc_method_decl ().
3083         * stub-objc.c (objc_method_decl): New stub.
3085 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
3087         * c-common.c (parse_optimize_options): Call
3088         decode_cmdline_options_to_array_default_mask before
3089         decode_options.  Update arguments to decode_options.
3090         * c-common.h (c_common_init_options_struct): Declare.
3091         * c-opts.c (c_common_init_options_struct): New.  Split out from
3092         c_common_init_options.
3094 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3096         Implemented fast enumeration for Objective-C.
3097         * c-common.h (objc_finish_foreach_loop): New.
3098         * stub-objc.c (objc_finish_foreach_loop): New.
3100 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
3102         * c-common.h (struct diagnostic_context): Don't declare here.
3103         (c_common_initialize_diagnostics): Declare using
3104         diagnostic_context typedef.
3105         * c-opts.c (c_common_handle_option): Pass global_dc to
3106         handle_generated_option.
3108 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
3110         * c-opts.c (c_common_handle_option): Pass &global_options_set to
3111         handle_generated_option.
3113 2010-10-03  Ian Lance Taylor  <iant@google.com>
3115         * c.opt (-fplan9-extensions): New option.
3117 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3119         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3120         Remove.
3121         (c_cpp_builtins): Call functions from cppbuiltin.c instead
3122         of duplicating code.
3124 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3126         * c-common.c: Add two new entries for @optional
3127         and @required keywords.
3129         merge from FSF 'apple/trunk' branch.
3130         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3132         Radar 4386773
3133         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3134         objective-c keywords.
3135         (objc_set_method_opt): New declaration.
3136         * stub-objc.c (objc_set_method_opt): New stub.
3138 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3140         * c-common.c (handle_optimize_attribute): Pass &global_options to
3141         cl_optimization_save and cl_optimization_restore.
3142         * c-opts.c (c_common_handle_option): Pass &global_options to
3143         handle_generated_option.
3144         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3145         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3146         &global_options to cl_optimization_restore.
3148 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3150         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3151         Objective-C/Objective-C++ keywords.
3153 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3155         Merge from 'apple/trunk' branch on FSF servers.
3157         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3159         Radar 4281748
3160         * c-common.h (objc_check_global_decl): New declaration.
3161         * stub-objc.c (objc_check_global_decl): New stub.
3163 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3165         * c.opt: Don't use VarExists.
3167 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3169         * c-common.c (c_cpp_error): Update names of diagnostic_context
3170         members.
3171         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3172         cl_optimization members.
3173         * c-opts.c (warning_as_error_callback, c_common_handle_option,
3174         sanitize_cpp_opts, finish_options): Update names of cpp_options
3175         members.
3177 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3179         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3180         (objc_is_reserved_word): Removed.
3181         * c-common.c: Updated comments.
3182         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3183         objc_is_reserved_word.
3184         * stub-objc.c (objc_is_reserved_word): Removed.
3186 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3188         * c-common.h (objc_add_method_declaration): Adjust prototype to
3189         include attributes.
3190         (objc_start_method_definition): Likewise.
3191         (objc_build_keyword_decl): Likewise.
3192         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3193         (objc_start_method_definition): Likewise.
3194         (objc_build_keyword_decl): Likewise.
3196 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3198         * c-common.h (objc_start_class_interface): Adjust prototype.
3199         (objc_start_category_interface): Likewise.
3200         (objc_start_protocol): Likewise.
3201         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3202         (objc_start_class_interface): Likewise.
3203         (objc_start_category_interface): Likewise.
3205 2010-09-27  Ian Lance Taylor  <iant@google.com>
3207         * c-common.c (c_common_attribute_table): Add no_split_stack.
3208         (handle_no_split_stack_attribute): New static function.
3210 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3212         Merge from 'apple/trunk' branch on FSF servers.
3214         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3216         Radar 4229905
3217         * c-common.h (objc_have_common_type): New declaration.
3218         * stub-objc.c (objc_have_common_type): New stub.
3220         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3222         Radar 4154928
3223         * c-common.h (objc_common_type): New prototype.
3224         * stub-objc.c (objc_common_type): New stub.
3226 2010-09-24  Jan Hubicka  <jh@suse.cz>
3228         * c-common.c (handle_leaf_attribute): New function.
3229         (struct attribute_spec c_common_att): Add leaf.
3231 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
3233         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3234         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3235         -dump, -dump=, -imacros, -imacros=, -include, -include=,
3236         -include-barrier, -include-directory, -include-directory=,
3237         -include-directory-after, -include-directory-after=,
3238         -include-prefix, -include-prefix=, -include-with-prefix,
3239         -include-with-prefix=, -include-with-prefix-after,
3240         -include-with-prefix-after=, -include-with-prefix-before,
3241         -include-with-prefix-before=, -no-integrated-cpp,
3242         -no-line-commands, -no-standard-includes, -no-warnings, -output,
3243         -output=, -pedantic, -pedantic-errors, -preprocess,
3244         -print-missing-file-dependencies, -trace-includes, -traditional,
3245         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3246         -user-dependencies, -verbose, -write-dependencies,
3247         -write-user-dependencies, no-integrated-cpp, traditional): New.
3249 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3251         PR objc/23710
3252         * c-common.h (objc_start_method_definition): Return bool instead
3253         of void.
3254         * stub-objc.c (objc_start_method_definition): Return bool instead
3255         of void.
3257 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3259         PR objc/25965
3260         * c-common.h (objc_get_interface_ivars): New declaration.
3261         * stub-objc.c (objc_get_interface_ivars): New stub.
3263 2010-09-15  Ian Lance Taylor  <iant@google.com>
3265         * c-common.c (parse_optimize_options): Do not capitalize warning
3266         messages.  Remove period at end of warning message.
3268 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3270         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3271         (handle_alias_attribute): ... here.
3272         (handle_ifunc_attribute): New.
3274 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
3276         * c-common.h (do_warn_double_promotion): Declare.
3277         * c-common.c (do_warn_double_promotion): Define.
3279 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
3281         * c.opt (Wdouble-promotion): New.
3283 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3285         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3286         fvtable-thunks, fxref): Mark no longer supported in help text.
3288 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3290         * c.opt (Wimport, fall-virtual, falt-external-templates,
3291         fdefault-inline, fenum-int-equiv, fexternal-templates,
3292         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3293         fname-mangling-version-, fnew-abi, fnonnull-objects,
3294         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3295         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3296         applicable.
3297         (fhandle-exceptions): Mark with Alias and Warn.
3298         * c-opts.c (c_common_handle_option): Don't handle options marked
3299         as ignored.
3301 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3303         * c.opt (Wcomments, Werror-implicit-function-declaration,
3304         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3305         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3306         aliases.
3307         * c-common.c (option_codes): Use OPT_Wcomment instead of
3308         OPT_Wcomments.
3309         * c-opts.c (warning_as_error_callback, c_common_handle_option):
3310         Don't handle options marked as aliases.
3312 2010-08-25  Richard Guenther  <rguenther@suse.de>
3314         * c-common.c (c_common_get_alias_set): Remove special
3315         handling for pointers.
3317 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3319         * c-common.c: Use FOR_EACH_VEC_ELT.
3320         * c-gimplify.c: Likewise.
3321         * c-pragma.c: Likewise.
3323 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3325         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3326         RejectDriver.
3327         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
3328         RejectDriver.
3329         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3330         instead of OPT_MDX and OPT_MMDX.
3332 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3334         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3336 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
3338         * c.opt (MD, MMD): Change to MDX and MMDX.
3339         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3341 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
3343         * c-opts.c (c_common_handle_option): Call handle_generated_option
3344         instead of handle_option.
3346 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3348         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3349         (maybe_apply_renaming_pragma): Delete unneeded declarations.
3351 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3353         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3354         (pending_redefine_extname): Change type to a VEC.
3355         (add_to_renaming_pragma_list): Update for new type of
3356         pending_redefine_extname.
3357         (maybe_apply_renaming_pragma): Likewise.
3359 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
3361         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3362         visited.
3363         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3364         decide whether a type has already been declared/seen.
3365         Do not go to the original type.
3366         (dump_nested_types): New parameter forward.
3367         Generate forward declaration if needed and mark type as visited.
3368         (print_ada_declaration): Call dump_nested_types if not already done.
3369         Mark types as visited.
3371 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
3373         * c.opt (-print-pch-checksum): Remove option.
3374         * c-opts.c (c_common_handle_option): Don't handle
3375         OPT_print_pch_checksum.
3377 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3379         * c-common.h (c_common_handle_option): Update prototype and return
3380         value type.
3381         * c-opts.c (c_common_handle_option): Update prototype and return
3382         value type.  Update calls to handle_option and
3383         enable_warning_as_error.
3385 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
3387         PR c/45079
3388         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3390 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3392         * c-common.h (c_common_missing_argument): Remove.
3393         * c-opts.c (c_common_missing_argument): Remove.
3394         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3395         idirafter, imacros, include, isysroot, isystem, iquote): Add
3396         MissingArgError.
3397         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3399 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3401         * c-common.h (c_common_option_lang_mask,
3402         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3403         New.
3404         (c_common_init_options): Update prototype.
3405         * c-opts.c (c_common_option_lang_mask): New.
3406         (c_common_initialize_diagnostics): Split out of
3407         c_common_init_options.
3408         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3409         New.
3410         (c_common_init_options): Update prototype.  Use decoded options in
3411         search for -lang-asm.
3413 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3415         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3416         * c-format.c: Likewise.
3418 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3420         * c-common.h: Include diagnostic-core.h. Error if already
3421         included.
3422         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3424 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3426         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3427         Do not include expr.h
3428         (vector_mode_valid_p): Move here.
3430 2010-06-21  DJ Delorie  <dj@redhat.com>
3432         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3433         allow these pragmas anywhere.
3435 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
3437         PR bootstrap/44509
3438         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3439         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3440         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3441         ggc_strdup instead of xstrdup.
3443 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
3445         * c-cppbuiltin.c: Include cpp-id-data.h.
3446         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3447         (lazy_hex_fp_value): New function.
3448         (builtin_define_with_hex_fp_value): Provide definitions lazily.
3450 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3452         * c-gimplify.c: Do not include tree-flow.h
3454 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3456         PR other/44034
3457         * c-common.c: Rename targetm member:
3458         targetm.enum_va_list -> targetm.enum_va_list_p
3460 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
3462         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3464 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3466         * c-cppbuiltin.c: Do not include except.h.
3468 2010-06-24  Andi Kleen  <ak@linux.intel.com>
3470         * c-common.c (warn_for_omitted_condop): New.
3471         * c-common.h (warn_for_omitted_condop): Add prototype.
3473 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
3475         * c.opt (lang-objc): Remove.
3476         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3478 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3480         * c-opts.c: Include "tm_p.h".
3482 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
3484         * c-common.c (parse_optimize_options): Update call to
3485         decode_options.
3487 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3489         * c-common.c (record_types_used_by_current_var_decl): Adjust for
3490         new type of types_used_by_cur_var_decl.
3492 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3494         PR bootstrap/44512
3495         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3496         for C++ standard compliance.
3498 2010-06-16  Jason Merrill  <jason@redhat.com>
3500         * c.opt: Add -Wnoexcept.
3502 2010-06-16  Richard Guenther  <rguenther@suse.de>
3504         PR c/44555
3505         * c-common.c (c_common_truthvalue_conversion): Remove
3506         premature and wrong optimization concering ADDR_EXPRs.
3508 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
3510         * c-ada-spec.c (dump_sloc): Remove column info.
3511         (is_simple_enum): New function.
3512         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3513         enum types when relevant.
3515 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3517         * c-common.c (conversion_warning): Warn at expression
3518         location.
3520 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
3522         * c-opts.c (c_common_handle_option): Don't handle
3523         OPT_fshow_column.
3525 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3527         * c-pragma.c (push_alignment): Use typed GC allocation.
3528         (handle_pragma_push_options): Likewise.
3530         * c-common.c (parse_optimize_options): Likewise.
3532         * c-common.h (struct sorted_fields_type): Add variable_size GTY
3533         option.
3535 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
3537         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3538         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3539         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3540         flag_signed_bitfields, warn_strict_null_sentinel,
3541         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3542         flag_gen_declaration, flag_no_gnu_keywords,
3543         flag_implement_inlines, flag_implicit_templates,
3544         flag_implicit_inline_templates, flag_optional_diags,
3545         flag_elide_constructors, flag_default_inline, flag_rtti,
3546         flag_conserve_space, flag_access_control, flag_check_new,
3547         flag_new_for_scope, flag_weak, flag_working_directory,
3548         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3549         flag_enforce_eh_specs, flag_threadsafe_statics,
3550         flag_pretty_templates): Remove.
3551         * c-common.h (flag_preprocess_only, flag_nil_receivers,
3552         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3553         flag_replace_objc_classes, flag_undef, flag_no_builtin,
3554         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3555         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3556         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3557         flag_no_gnu_keywords, flag_implement_inlines,
3558         flag_implicit_templates, flag_implicit_inline_templates,
3559         flag_optional_diags, flag_elide_constructors, flag_default_inline,
3560         flag_rtti, flag_conserve_space, flag_access_control,
3561         flag_check_new, flag_new_for_scope, flag_weak,
3562         flag_working_directory, flag_use_cxa_atexit,
3563         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3564         flag_threadsafe_statics, flag_pretty_templates,
3565         warn_strict_null_sentinel): Remove.
3566         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3567         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3568         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3569         fimplicit-inline-templates, fimplicit-templates,
3570         flax-vector-conversions, fms-extensions, fnil-receivers,
3571         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3572         frtti, fshort-double, fshort-enums, fshort-wchar,
3573         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3574         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3575         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3576         gen-decls, undef): Use Var.
3577         (fdefault-inline, foptional-diags): Document as doing nothing.
3578         * c-opts.c (c_common_handle_option): Remove cases for options now
3579         using Var.  Mark ignored options as such.
3581 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3583         * c-common.c: Moved to here from parent directory.
3584         * c-common.def: Likewise.
3585         * c-common.h: Likewise.
3586         * c-cppbuiltin.c: Likewise.
3587         * c-dump.c: Likewise.
3588         * c-format.c: Likewise.
3589         * c-format.h : Likewise.
3590         * c-gimplify.c: Likewise.
3591         * c-lex.c: Likewise.
3592         * c-omp.c: Likewise.
3593         * c.opt: Likewise.
3594         * c-opts.c: Likewise.
3595         * c-pch.c: Likewise.
3596         * c-ppoutput.c: Likewise.
3597         * c-pragma.c: Likewise.
3598         * c-pragma.h: Likewise.
3599         * c-pretty-print.c: Likewise.
3600         * c-pretty-print.h: Likewise.
3601         * c-semantics.c: Likewise.
3602         * stub-objc.c: Likewise.
3604         * c-common.c: Include gt-c-family-c-common.h.
3605         * c-pragma.c: Include gt-c-family-c-pragma.h.
3607 Copyright (C) 2010-2014 Free Software Foundation, Inc.
3609 Copying and distribution of this file, with or without modification,
3610 are permitted in any medium without royalty provided the copyright
3611 notice and this notice are preserved.