Mark ChangeLog
[official-gcc.git] / gcc / c-family / ChangeLog
blobc1f2fc0dc24fe4e507dfdb96abb542a828316e84
1 2014-10-30  Release Manager
3         * GCC 4.9.2 released.
5 2014-10-10  Jakub Jelinek  <jakub@redhat.com>
7         PR c/63495
8         * c-common.c (min_align_of_type): Don't decrease alignment
9         through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if
10         TYPE_USER_ALIGN is set.
12 2014-10-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
14         Implement SD-6: SG10 Feature Test Recommendations
15         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
16         macros and the __has_header macro.
18 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
20         PR other/61962
21         * array-notation-common.c (find_rank): Added handling for other
22         types of references.
24 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
26         PR middle-end/61455
27         * array-notation-common.c (extract_array_notation_exprs): Handling
28         of DECL_EXPR added.
30 2014-07-17  Richard Biener  <rguenther@suse.de>
32         Backport from mainline
33         2014-07-09  Richard Biener  <rguenther@suse.de>
35         PR c-family/61741
36         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
37         using unsigned arithmetic if overflow does not wrap instead of
38         if overflow is undefined.
40 2014-07-16  Release Manager
42         * GCC 4.9.1 released.
44 2014-06-30  Jakub Jelinek  <jakub@redhat.com>
46         Backported from mainline
47         2014-06-10  Jakub Jelinek  <jakub@redhat.com>
49         PR fortran/60928
50         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
51         (omp_pragmas): ... back here.
53 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
55         PR middle-end/61486
56         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
57         #pragma omp target teams or
58         #pragma omp {,target }teams distribute simd.
60 2014-06-04  Marek Polacek  <polacek@redhat.com>
62         Backport from mainline
63         2014-05-08  Marek Polacek  <polacek@redhat.com>
65         PR c/61053
66         * c-common.c (min_align_of_type): New function factored out from...
67         (c_sizeof_or_alignof_type): ...here.
68         * c-common.h (min_align_of_type): Declare.
70 2014-05-06  Richard Biener  <rguenther@suse.de>
72         * c-opts.c (c_common_post_options): For -freestanding,
73         -fno-hosted and -fno-builtin disable pattern recognition
74         if not enabled explicitely.
76 2014-04-22  Richard Biener  <rguenther@suse.de>
78         Backport from mainline
79         2014-04-14  Richard Biener  <rguenther@suse.de>
80                 Marc Glisse  <marc.glisse@inria.fr>
82         PR c/60819
83         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
84         apply may-alias the scalar pointer type when applicable.
86 2014-04-22  Release Manager
88         * GCC 4.9.0 released.
90 2014-04-15  Igor Zamyatin  <igor.zamyatin@intel.com>
92         PR middle-end/60467
93         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
94         as possible argument for Cilk_spawn.
96 2014-04-08  Marek Polacek  <polacek@redhat.com>
98         PR sanitizer/60745
99         * c-ubsan.c: Include asan.h.
100         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
102 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
104         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
106 2014-04-02  Marek Polacek  <polacek@redhat.com>
108         * c-common.h (c_expand_expr): Remove declaration.
110 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
112         PR c++/60689
113         * c-common.c (add_atomic_size_parameter): When creating new
114         params vector, push the size argument first.
116 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
118         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
119         ubsan_instrument_vla, ubsan_instrument_return): Adjust
120         ubsan_create_data callers.
122 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
124         PR debug/60603
125         * c-opts.c (c_finish_options): Restore cb_file_change call to
126         <built-in>.
128 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
130         PR middle-end/36282
131         * c-pragma.c (apply_pragma_weak): Only look at
132         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
133         DECL_ASSEMBLER_NAME_SET_P (decl).
134         (maybe_apply_pending_pragma_weaks): Exit early if
135         vec_safe_is_empty (pending_weaks) rather than only when
136         !pending_weaks.
137         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
138         set assembler name back to NULL afterwards.
140 2014-03-11  Jason Merrill  <jason@redhat.com>
142         * c.opt: Add -std=gnu++14.
144 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
146         * c-opts.c (c_common_post_options): Don't override
147         -ffp-contract=fast if unsafe-math-optimizations is on.
149 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
151     * c.opt: Enable LTO FE for fshort-double.
153 2014-03-07  Jason Merrill  <jason@redhat.com>
155         * c.opt: Add -std=c++14.
157 2014-03-06  Marek Polacek  <polacek@redhat.com>
159         PR c/60197
160         * cilk.c (contains_cilk_spawn_stmt): New function.
161         (contains_cilk_spawn_stmt_walker): Likewise.
162         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
163         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
165 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
167         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
168         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
169         even when flag_preprocess_only.
171 2014-02-26  Jason Merrill  <jason@redhat.com>
173         PR c++/59231
174         PR c++/11586
175         * c-common.c (shorten_compare): Don't check
176         c_inhibit_evaluation_warnings.
178 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
180         PR c/37743
181         * c-common.c (c_common_nodes_and_builtins): When initializing
182         c_uint{16,32,64}_type_node, also set corresponding
183         uint{16,32,64}_type_node to the same value.
185         PR c++/60267
186         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
187         for PRAGMA_IVDEP if flag_preprocess_only.
189 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
191         PR c/60101
192         * c-common.c (merge_tlist): If copy is true, call new_tlist,
193         if false, add ADD itself, rather than vice versa.
194         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
195         copy.  For SAVE_EXPR, only call merge_tlist once.
197 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
199         PR middle-end/60092
200         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
201         and tree_to_uhwi.
202         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
203         functions.
204         (c_common_attribute_table): Add alloc_align and assume_aligned
205         attributes.
207 2014-02-06  Marek Polacek  <polacek@redhat.com>
209         PR c/60087
210         * c-common.c (warn_for_sign_compare): Call warning_at with location
211         instead of warning.
213 2014-02-05  Marek Polacek  <polacek@redhat.com>
215         PR c/53123
216         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
217         statement.
219 2014-02-04  Marek Polacek  <polacek@redhat.com>
221         PR c/60036
222         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
223         SAVE_EXPR.
225 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
227         PR c++/53017
228         PR c++/59211
229         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
230         handle_vector_size_attribute, handle_nonnull_attribute): Call
231         default_conversion on the attribute argument.
232         (handle_nonnull_attribute): Increment the argument number.
234 2014-01-31  Marek Polacek  <polacek@redhat.com>
236         PR c/59963
237         * c-common.c (add_atomic_size_parameter): Pass vNULL to
238         build_function_call_vec.
239         (resolve_overloaded_builtin): Likewise.
240         * c-common.h (build_function_call_vec): Adjust declaration.
242 2014-01-30  Marek Polacek  <polacek@redhat.com>
244         PR c/59940
245         * c-common.h (unsafe_conversion_p): Adjust declaration.
246         (warnings_for_convert_and_check): Likewise.
247         (convert_and_check): Likewise.
248         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
249         expansion_point_location_if_in_system_header on it.
250         (warnings_for_convert_and_check): Add location parameter.  Call
251         expansion_point_location_if_in_system_header on it.  Use it.
252         (convert_and_check): Add location parameter.  Use it.
253         (conversion_warning): Likewise.
254         (c_add_case_label): Adjust convert_and_check calls.
255         (scalar_to_vector): Adjust unsafe_conversion_p calls.
257 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
259         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
260         flag_cilkplus.
261         * c-pragma.c (init_pragma): Likewise.
262         * c.opt: Likewise.
264 2014-01-23  Marek Polacek  <polacek@redhat.com>
266         PR c/59846
267         * c-common.c (shorten_compare): Add location_t parameter.
268         * c-common.h (shorten_binary_op): Adjust declaration.
270 2014-01-23  Marek Polacek  <polacek@redhat.com>
272         PR c/58346
273         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
274         * c-common.h: Declare it.
276 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
278         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
279         * c-ada-spec.c (dump_ads): Likewise.
280         (cpp_check): Likewise.
281         (dump_ada_specs): Likewise.
283 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
285         PR c++/49718
286         * c-common.c (handle_no_instrument_function_attribute): Allow
287         no_instrument_function attribute in class member
288         definition/declaration.
290 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
292         PR c/58943
293         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
294         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
295         being COMPOUND_EXPR.
296         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
297         operand a SAVE_EXPR and second MODIFY_EXPR.
299 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
301         PR target/58115
302         * c-pch.c (c_common_write_pch): Call
303         prepare_target_option_nodes_for_pch.
305 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
307         Update copyright years
309 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
311         * array-notation-common.c, c-cilkplus.c: Use the standard form for
312         the copyright notice.
314 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
316         * c-ada-spec.c (print_constructor): New function.
317         (print_destructor): Retrieve the origin of the destructor.
318         (print_ada_declaration): Revamp handling of constructors/destructors.
320 2013-12-23  Stuart Hastings <stuart@apple.com>
321             Bill Maddox  <maddox@google.com>
322             Jason Merrill  <jason@redhat.com>
324         * c.opt: Add -fdeclone-ctor-dtor.
325         * c-opts.c (c_common_post_options): Default to on iff -Os.
327 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
329         * c-common.c (c_common_attribute_table): Added "cilk simd function"
330         attribute.
331         * c-pragma.h (enum pragma_cilk_clause): Remove.
332         (enum pragma_omp_clause):  Added the following fields:
333         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
334         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
335         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
336         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
337         PRAGMA_CILK_CLAUSE_UNIFORM.
339         
340 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
342         * cilk.c (cilk_outline): Made this function non-static.
343         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
344         (create_cilk_wrapper): Added a new parameter: a function pointer.
345         (c_install_body_w_frame_cleanup): Remove
346         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
347         * c-common.h (cilk_outline): New prototype.
348         (gimplify_cilk_spawn): Removed two parameters.
349         (cilk_install_body_with_frame_cleanup): New prototype.
350         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
351         CILK_SPAWN_STMT case.
353 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
355         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
357         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
358         (int_array_type_node): Remove.
359         * c-common.c (c_common_nodes_and_builtins): Don't build it.
361 2013-12-05  Marek Polacek  <polacek@redhat.com>
363         PR c/52023
364         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
365         [ADJUST_FIELD_ALIGN].
367 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
369         PR c/52023
370         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
371         and check field alignment if set.
372         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
373         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
375 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
376             Marek Polacek  <polacek@redhat.com>
378         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
379         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
381 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
383         PR c/59309
384         * cilk.c (gimplify_cilk_spawn): Properly handle function without
385         arguments.
387 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
389         PR c/59280
390         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
391         goto invalid.  If it is error_mark_node, don't issue further
392         diagnostics.
394 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
396         * c.opt (Wopenmp-simd): New.
398 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
400         * c-ubsan.h (ubsan_instrument_return): New prototype.
401         * c-ubsan.c (ubsan_instrument_return): New function.
403 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
405         * c-common.c: Add required include files from gimple.h.
406         * c-gimplify.c: Likewise
407         * cilk.c: Likewise
409 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
411         * c-common.c (unsafe_conversion_p): Remove use of
412         EXPR_LOC_OR_HERE macro.
413         (conversion_warning): Likewise.
414         (warnings_for_convert_and_check): Likewise.
415         (warn_for_collisions_1): Likewise.
416         (shorten_compare): Likewise, and remove use of in_system_header
417         macro, using the location from the former.
418         * c-lex.c (dump_one_header): Remove use of input_filename macro.
419         (cb_def_pragma): Remove use of in_system_header macro.
420         (lex_string): Likewise.
421         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
423 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
424             Mike Stump  <mikestump@comcast.net>
425             Richard Sandiford  <rdsandiford@googlemail.com>
427         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
428         instead of TREE_INT_CST_LOW, in cases where there is a protecting
429         tree_fits_shwi_p or tree_fits_uhwi_p.
430         (dump_generic_ada_node): Likewise.
431         * c-format.c (check_format_arg): Likewise.
432         * c-pretty-print.c (pp_c_integer_constant): Likewise.
434 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
436         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
438 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
440         PR c/53001
441         * c-common.c (unsafe_conversion_p): Make this function
442         return an enumeration with more detail.
443         (conversion_warning): Use the new return type of
444         unsafe_conversion_p to separately warn either about conversions
445         that lower floating point number precision or about the other
446         kinds of conversions.
447         * c-common.h (enum conversion_safety): New enumeration.
448         (unsafe_conversion_p): switching return type to
449         conversion_safety enumeration.
450         * c.opt: Adding new warning -Wfloat-conversion and
451         enabling it with -Wconversion.
453 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
455         * c-opts.c: Include plugin.h.
456         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
458 2013-11-19  Marek Polacek  <polacek@redhat.com>
460         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
461         call.
462         (ubsan_instrument_shift): Likewise.
463         (ubsan_instrument_vla): Likewise.
465 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
467         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
468         cast to unsigned type.
470 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
472         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
473         tree_low_cst.
474         (complete_array_type): Update comment to refer to tree_to_[su]hwi
475         rather than tree_low_cst.
477 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
479         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
480         tree_to_uhwi throughout.
482 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
484         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
485         tree_low_cst (..., 0) with tree_to_shwi throughout.
487 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
489         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
490         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
492 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
494         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
495         host_integerp (..., 0) with tree_fits_shwi_p throughout.
497 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
499         * c-cilkplus.c: New file.
500         * c-common.c (readonly_error): Add location argument.
501         * c-common.h (readonly_error): Same.
502         (c_finish_cilk_clauses): Protoize.
503         (c_check_cilk_loop): Same.
504         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
505         Do not fail on error_mark_node.
506         Abstract increment canonicalization to here...
507         (c_omp_for_incr_canonicalize_ptr): New.
508         c-pragma.c (init_pragma): Register "simd" pragma.
509         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
510         (enum pragma_cilk_clause): New.
512 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
514         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
515         wchar_type and host_integerp checks.
517 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
519         * c-common.c: Likewise.
520         * c-gimplify.c: Likewise.
521         * cilk.c: Likewise.
523 2013-11-14  Diego Novillo  <dnovillo@google.com>
525         * c-common.c: Include fold-const.h.
526         Include stor-layout.h.
527         Include calls.h.
528         Include stringpool.h.
529         Include attribs.h.
530         Include varasm.h.
531         Include trans-mem.h.
532         * c-cppbuiltin.c: Include stor-layout.h.
533         Include stringpool.h.
534         * c-format.c: Include stringpool.h.
535         * c-lex.c: Include stringpool.h.
536         Include stor-layout.h.
537         * c-pragma.c: Include stringpool.h.
538         Include attribs.h.
539         Include varasm.h.
540         Include gcc-symtab.h.
541         * c-pretty-print.c: Include stor-layout.h.
542         Include attribs.h.
543         * cilk.c: Include stringpool.h.
544         Include calls.h.
546 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
548         * c-common.h (enum rid): Add RID_AUTO_TYPE.
549         * c-common.c (c_common_reswords): Add __auto_type.
550         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
552 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
554         * c-common.c: Include gimplify.h.
555         * c-gimplify.c: Likewise.
556         * cilk.c: Likewise.
557         * c-omp.c: Include gimple-expr.h instead of gimple.h.
558         * c-ubsan.c: Don't include gimple.h.
560 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
562         * c-common.c (c_common_reswords): Add _Thread_local.
564 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
566         * c-common.c (atomic_size_supported_p): New function.
567         (resolve_overloaded_atomic_exchange)
568         (resolve_overloaded_atomic_compare_exchange)
569         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
570         Use it instead of comparing size with a local list of sizes.
572 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
573             Joseph Myers  <joseph@codesourcery.com>
575         * c-common.h (enum rid): Add RID_ATOMIC.
576         * c-common.c (c_common_reswords): Add _Atomic.
577         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
578         (keyword_is_type_qualifier): Accept RID_ATOMIC.
579         * c-format.c (check_format_types): Check for extra _Atomic
580         qualifiers in format argument.
581         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
582         (pp_c_type_qualifier_list): Mention _Atomic in comment.
584 2013-11-06  Tobias Burnus  <burnus@net-b.de>
586         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
588 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
590         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
591         standards modes.
592         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
593         to mean lack of IEEE 754 support.
595 2013-11-05  Tobias Burnus  <burnus@net-b.de>
597         * c.opt (-Wdate-time): New option
598         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
600 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
602         * c-cppbuiltin.c (cpp_iec_559_value): Test
603         flag_excess_precision_cmdline not flag_excess_precision.
605 2013-11-05  Tobias Burnus  <burnus@net-b.de>
607         * c.opt (fopenmp-simd): New option.
608         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
609         (omp_pragmas): ... this new struct.
610         (c_pp_lookup_pragma): Also walk omp_pragmas.
611         (init_pragma): Init pragmas for -fopenmp-simd.
613 2013-11-04  Marek Polacek  <polacek@redhat.com>
615         PR c++/58979
616         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
618 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
620         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
621         New functions.
622         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
624 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
626         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
627         (dump_ada_specs): Adjust prototype of second callback.
628         * c-ada-spec.c (cpp_check): New global variable.
629         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
630         (print_generic_ada_decl): Likewise.
631         (has_static_fields): Change return type to bool and add guard.
632         (has_nontrivial_methods): New predicate.
633         (is_tagged_type): Change return type to bool.
634         (separate_class_package): Call has_nontrivial_methods.
635         (pp_ada_tree_identifier): Minor tweaks.
636         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
637         (dump_ada_array_domains): Likewise.
638         (dump_ada_array_type): Likewise.
639         (dump_template_types): Remove cpp_check parameter and do not pass it to
640         dump_generic_ada_node.
641         (dump_ada_template): Likewise.
642         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
643         recursively.
644         (print_ada_methods): Change return type to integer.  Remove cpp_check
645         parameter and do not pass it down.
646         (dump_nested_types): Remove cpp_check parameter and do not pass it to
647         dump_generic_ada_node.
648         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
649         accessing methods.
650         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
651         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
652         value of print_ada_methods.
653         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
654         Set cpp_check to it before invoking dump_ada_nodes.
655         (dump_ada_specs): Likewise.
657 2013-11-03  Marek Polacek  <polacek@redhat.com>
659         * c-ubsan.c: Don't include hash-table.h.
660         (ubsan_instrument_vla): New function.
661         * c-ubsan.h: Declare it.
663 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
665         Automated part of renaming of symtab_node_base to symtab_node.
667         Patch autogenerated by rename_symtab.py from
668         https://github.com/davidmalcolm/gcc-refactoring-scripts
669         revision 58bb219cc090b2f4516a9297d868c245495ee622
671         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
672         symtab_node_base to symtab_node.
674 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
676         Implement C++14 digit separators.
677         * c-lex.c (interpret_float): Remove digit separators from scratch string
678         before building real literal.
680 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
682         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
684 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
686         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
687         fields.
688         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
689         enabled.
690         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
691         (insert_cilk_frame): New prototype.
692         (cilk_init_builtins): Likewise.
693         (gimplify_cilk_spawn): Likewise.
694         (c_cilk_install_body_w_frame_cleanup): Likewise.
695         (cilk_detect_spawn_and_unwrap): Likewise.
696         (cilk_set_spawn_marker): Likewise.
697         (build_cilk_sync): Likewise.
698         (build_cilk_spawn): Likewise.
699         * cilk.c: New file.
701 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
703         Patch autogenerated by refactor_symtab.py from
704         https://github.com/davidmalcolm/gcc-refactoring-scripts
705         revision 58bb219cc090b2f4516a9297d868c245495ee622
707         * c-gimplify.c (c_genericize): Update for conversion of symtab types
708         to a true class hierarchy.
709         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
711 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
713         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
715 2013-10-26  Jeff Law  <law@redhat.com>
717         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
718         * c-family/c.opt: Ignore and warn for mudflap options.
720 2013-10-24  Tobias Burnus  <burnus@net-b.de>
722         PR other/33426
723         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
724         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
726 2013-10-23  Jason Merrill  <jason@redhat.com>
728         * c-format.c (gcc_cxxdiag_char_table): Add %X.
730 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
732         * c-common.h (omp_clause_mask::operator !=): New method.
733         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
734         instead of if (mask & something) tests everywhere.
736         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
737         201307 instead of 201107.
738         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
739         (c_common_attribute_table): Add "omp declare target" and
740         "omp declare simd" attributes.
741         (handle_omp_declare_target_attribute,
742         handle_omp_declare_simd_attribute): New functions.
743         * c-omp.c: Include c-pragma.h.
744         (c_finish_omp_taskgroup): New function.
745         (c_finish_omp_atomic): Add swapped argument, if true,
746         build the operation first with rhs, lhs arguments and use NOP_EXPR
747         build_modify_expr.
748         (c_finish_omp_for): Add code argument, pass it down to make_code.
749         (c_omp_split_clauses): New function.
750         (c_split_parallel_clauses): Removed.
751         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
752         c_omp_declare_simd_clauses_to_decls): New functions.
753         * c-common.h (omp_clause_mask): New type.
754         (OMP_CLAUSE_MASK_1): Define.
755         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
756         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
757         omp_clause_mask::operator |, omp_clause_mask::operator &,
758         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
759         omp_clause_mask::operator ==): New methods.
760         (enum c_omp_clause_split): New.
761         (c_finish_omp_taskgroup): New prototype.
762         (c_finish_omp_atomic): Add swapped argument.
763         (c_finish_omp_for): Add code argument.
764         (c_omp_split_clauses): New prototype.
765         (c_split_parallel_clauses): Removed.
766         (c_omp_declare_simd_clauses_to_numbers,
767         c_omp_declare_simd_clauses_to_decls): New prototypes.
768         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
769         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
770         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
771         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
772         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
773         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
774         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
775         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
776         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
777         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
778         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
779         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
780         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
781         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
782         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
783         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
784         PRAGMA_OMP_CLAUSE_UNIFORM.
786 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
788         PR tree-optimization/20318
789         * c-common.c (handle_returns_nonnull_attribute): New function.
790         (c_common_attribute_table): Add returns_nonnull.
792 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
794         PR c++/19476
795         * c.opt (fcheck-new): Move to common.opt.
797 2013-09-25  Marek Polacek  <polacek@redhat.com>
798             Jakub Jelinek  <jakub@redhat.com>
800         PR sanitizer/58413
801         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
802         an expression if we can prove it is correct.
803         (ubsan_instrument_division): Likewise.  Remove unnecessary
804         check.
806 2013-09-18  Marek Polacek  <polacek@redhat.com>
808         PR sanitizer/58411
809         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
810         Declare it.
811         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
813 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
815         PR target/48094
816         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
817         fobjc-gc, freplace-objc-classes): Accept for LTO.
819 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
821         * c-target.def: New hook
823 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
825         PR c++/43452
826         * c.opt (Wdelete-incomplete): Add.
828 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
830         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
831         (vector_types_compatible_elements_p): New function.
832         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
833         declaration.
834         (vector_types_compatible_elements_p): Declare.
836 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
838         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
839         a virtual member function.
840         (pp_simple_type_specifier): Remove.
841         (pp_c_type_specifier): Likewise.
842         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
843         Rename from pp_c_type_specifier.  Adjust.
844         (c_pretty_printer::c_pretty_printer): Do not assign to
845         simple_type_specifier.
847 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
849         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
850         member function.
851         (c_pretty_printer::storage_class_specifier): Likewise.
852         (c_pretty_printer::initializer): Likewise.
853         (pp_declaration): Remove.
854         (pp_declaration_specifiers): Likewise.
855         (pp_abstract_declarator): Likewise.
856         (pp_declarator): Likewise.
857         (pp_type_id): Likewise.
858         (pp_statement): Likewise.
859         (pp_constant): Likewise.
860         (pp_id_expression): Likewise.
861         (pp_primary_expression): Likewise.
862         (pp_unary_expression): Likewise.
863         (pp_multiplicative_expression): Likewise.
864         (pp_conditional_expression): Likewise.
865         (pp_assignment_expression): Likewise.
866         (pp_expression): Likewise.
867         (pp_c_type_id): Likewise.
868         (pp_c_storage_class_specifier): Likewise.
869         * c-pretty-print.c (pp_c_type_cast): Tidy.
870         (pp_c_pointer): Likewise.
871         (pp_c_type_specifier): Likewise.
872         (pp_c_parameter_type_list): Likewise.
873         (pp_c_function_definition): Likewise.
874         (pp_c_init_declarator): Likewise.
875         (pp_c_initializer_list): Likewise.
876         (pp_c_constructor_elts): Likewise.
877         (c_pretty_printer::direct_abstract_declarator): Likewise.
878         (c_pretty_printer::declaration_specifiers): Likewise.
879         (c_pretty_printer::primary_expression): Likewise.
880         (c_pretty_printer::postfix_expression): Likewise.
881         (c_pretty_printer::type_id): Rename from pp_c_type_id.
882         (c_pretty_printer::storage_class_specifier): Rename from
883         pp_c_storage_class_specifier.
884         (c_pretty_printer::initializer): Rename from pp_c_initializer.
885         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
886         storage_class_specifier, initializer, offset_list, flags.
888 2013-08-30  Marek Polacek  <polacek@redhat.com>
890         * c-ubsan.c: New file.
891         * c-ubsan.h: New file.
893 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
895         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
896         member function.
897         (c_pretty_printer::declaration_specifiers): Likewise.
898         (c_pretty_printer::declarator): Likewise.
899         (c_pretty_printer::abstract_declarator): Likewise.
900         (c_pretty_printer::direct_abstract_declarator): Likewise.
901         (c_pretty_printer::direct_declarator): Likewise.
902         (c_pretty_printer::function_specifier): Likewise.
903         (pp_declaration): Adjust.
904         (pp_declaration_specifiers): Likewise.
905         (pp_abstract_declarator): Likewise.
906         (pp_direct_declarator): Likewise.
907         (pp_function_specifier): Likewise.
908         (pp_direct_abstract_declarator): Remove as unused.
909         (pp_c_declaration): Remove.
910         (pp_c_declaration_specifiers): Likewise.
911         (pp_c_declarator): Likewise.
912         (pp_c_direct_declarator): Likewise.
913         (pp_c_function_specifier): Likewise.
914         (pp_c_direct_abstract_declarator): Likewise.
915         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
916         from pp_c_abstract_declarator.  Adjust.
917         (c_pretty_printer::direct_abstract_declarator):  Rename from
918         pp_c_direct_abstract_declarator.  Adjust.
919         (c_pretty_printer::function_specifier): Rename from
920         pp_c_function_specifier.  Adjust.
921         (c_pretty_printer::declaration_specifiers): Rename from
922         pp_c_declaration_specifiers.  Adjust.
923         (c_pretty_printer::direct_declarator): Rename from
924         pp_c_direct_declarator.  Adjust.
925         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
926         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
927         (c_pretty_printer::c_pretty_printer): Do not assign to
928         declaration, declaration_specifiers, declarator,
929         direct_declarator, direct_abstract_declarator, function_specifier.
931 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
933         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
934         virtual member function.
935         (c_pretty_printer::multiplicative_expression): Likewise.
936         (c_pretty_printer::conditional_expression): Likewise.
937         (c_pretty_printer::assignment_expression): Likewise.
938         (c_pretty_printer::expression): Likewise.
939         (pp_unary_expression): Adjust.
940         (pp_multiplicative_expression): Likewise.
941         (pp_assignment_expression): Likewise.
942         (pp_conditional_expression): Likewise.
943         (pp_expression): Likewise.
944         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
945         from pp_c_unary_expression.  Adjust.
946         (c_pretty_printer::multiplicative_expression): Rename from
947         pp_c_multiplicative_expression.  Adjust.
948         (c_pretty_printer::conditional_expression): Rename from
949         pp_c_conditional_expression.  Adjust.
950         (c_pretty_printer::assignment_expression): Rename from
951         pp_c_assignment_expression.  Adjust.
952         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
953         (c_pretty_printer::c_pretty_printer): Do not assign to
954         unary_expression, multiplicative_expression,
955         conditional_expression, expression.
957 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
959         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
960         virtual member function.
961         (pp_postfix_expression): Adjust.
962         (pp_c_postfix_expression): Remove.
963         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
964         from pp_c_postfix_expression.  Adjust.
965         (c_pretty_printer::c_pretty_printer): Do not assign to
966         postfix_expression.
968 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
970         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
971         virtua member function.
972         (pp_primary_expression): Adjust.
973         (pp_c_primary_expression): Remove.
974         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
975         from pp_c_primary_expression.  Adjust.
976         (pp_c_initializer_list): Use pp_primary_expression.
977         (c_pretty_printer::c_pretty_printer): Do not assign to
978         primary_expression.
980 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
982         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
983         * c-pretty-print.c (M_): Remove.
984         (c_pretty_printer::translate_string): Define.
985         (pp_c_type_specifier): Use it.
986         (pp_c_primary_expression): Likewise.
987         (pp_c_expression): Likewise.
989 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
991         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
992         virtual function.
993         (pp_c_id_expression): Remove.
994         (pp_id_expression): Adjust.
995         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
996         pp_c_id_expression.  Adjust.
997         (pp_c_postfix_expression): Use pp_id_expression.
998         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1000 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1002         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1003         member function.
1004         (pp_constant): Adjust.
1005         (pp_c_constant): Remove.
1006         * c-pretty-print.c (c_pretty_printer::constant): Rename from
1007         pp_c_constant.  Adjust.
1008         (pp_c_constant)
1009         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1010         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1012 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1014         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1015         (c_pretty_printer::c_pretty_printer): Declare.
1016         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1017         c_pretty_printer_init.  Adjust.
1018         (print_c_tree): Do not call c_pretty_printer_init.
1019         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1021 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
1023         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1025 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1027         PR c++/58080
1028         * c-common.c (pointer_int_sum): Add bool parameter.
1029         * c-common.h (pointer_int_sum): Adjust declaration.
1031 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1033         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1034         c_pretty_printer variable.
1036 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1038         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1039         (pp_base): Remove.
1040         (pp_c_base): Likewise.  Adjust users.
1041         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1042         (pp_c_whitespace): Do not call pp_base.
1043         (pp_c_left_paren): Likewise.
1044         (pp_c_right_paren): Likewise.
1045         (pp_c_left_brace): Likewise.
1046         (pp_c_right_brace): Likewise.
1047         (pp_c_left_bracket): Likewise.
1048         (pp_c_right_bracket): Likewise.
1049         (pp_c_dot): Likewise.
1050         (pp_c_ampersand): Likewise.
1051         (pp_c_star): Likewise.
1052         (pp_c_arrow): Likewise.
1053         (pp_c_semicolon): Likewise.
1054         (pp_c_complement): Likewise.
1055         (pp_c_exclamation): Likewise.
1056         (pp_c_direct_declarator): Likewise.
1057         (pp_c_ws_string): Likewise.
1058         (pp_c_identifier): Likewise.
1059         (pp_c_statement): Likewise.
1060         (print_c_tree): Likewise.
1062 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1064         PR c++/58072
1065         * c-common.c (c_parse_error): Catch user-defined literal tokens and
1066         provide useful error strings.
1068 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1070         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1071         printer functions instead of pp_string or operators and punctuators.
1072         (dump_generic_ada_node): Likewise.
1073         * c-pretty-print.c (pp_c_type_specifier): Likewise.
1074         (pp_c_relational_expression): Likewise.
1075         (pp_c_logical_or_expression): Likewise.
1077 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1079         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1080         functions instead of pp_character.
1081         (pp_ada_tree_identifier): Likewise.
1082         (dump_ada_double_name): Likewise.
1083         (dump_ada_function_declaration): Likewise.
1084         (dump_ada_array_domains): Likewise.
1085         (dump_template_types): Likewise.
1086         (dump_generic_ada_node): Likewise.
1087         (print_ada_declaration): Likewise.
1088         (print_ada_struct_decl): Likewise.
1089         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1091 2013-07-23  Tom Tromey  <tromey@redhat.com>
1093         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1094         * c-common.c (c_common_reswords): Add _Generic.
1096 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1098         * c-common.c: Fix typos.
1099         * c-common.h: Likewise.
1101 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1103         PR c++/55203
1104         * c-common.c (c_common_attribute_table): Add warn_unused.
1105         (handle_warn_unused_attribute): New.
1107 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1109         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1110         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1112 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1114         PR c++/57869
1115         * c.opt: Add Wconditionally-supported.
1117 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1119         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1120         unused variables l_length and l_node.
1122 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1124         PR c/57821
1125         * c-common.c (complete_array_type): Delay folding first index
1126         like other indices.  When folding, check for index overflow.
1128 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1130         PR c++/57509
1131         * c-common.h (c_build_vec_perm_expr): New complain argument.
1132         * c-common.c (c_build_vec_perm_expr): Likewise.
1133         Use save_expr also in C++.
1135 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1137         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1138         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1139         * c-opts.c (c_common_post_options): Likewise.
1141 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1143         * array-notation-common.c (length_mismatch_in_expr): Changed the
1144         parameter type's from a dynamic array to a vec_tree.  Also removed
1145         the size parameters.
1146         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1147         the change above.
1149 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1151         * c-common.h (struct cilkplus_an_parts): New structure.
1152         (struct cilkplus_an_loop_parts): Likewise.
1153         (cilkplus_extract_an_triplets): New prototype.
1154         (fix_sec_implicit_args): Likewise.
1155         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1156         (fix_sec_implicit_args): Likewise.
1158 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1160         * array-notation-common.c (find_inv_trees): Removed an unwanted
1161         typecasting.
1162         * c-common.h (struct inv_list::additional_tcodes): Changed type from
1163         enum rid to enum tree_code.
1165 2013-06-11  Jan Hubicka  <jh@suse.cz>
1167         * c-common.c (handle_alias_ifunc_attribute): Do not set
1168         DECL_EXTERNAL for weakref variables.
1169         * c-pragma.c (handle_pragma_weak): Make sure aliases
1170         are not declared as external.
1172 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1174         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1175         function from c/c-array-notation.c.
1176         (is_cilkplus_reduce_builtin): Likewise.
1177         (find_rank): Likewise.
1178         (extract_array_notation_exprs): Likewise.
1179         (replace_array_notations): Likewise.
1180         (find_inv_trees): Likewise.
1181         (replace_inv_trees): Likewise.
1182         (contains_array_notation_expr): Likewise.
1183         (find_correct_array_notation_type): Likewise.
1184         * c-common.h (struct inv_list): Moved this struct from the file
1185         c/c-array-notation.c and added a new field called additional tcodes.
1186         (length_mismatch_in_expr_p): New prototype.
1187         (is_cilkplus_reduce_builtin): Likewise.
1188         (find_rank): Likewise.
1189         (extract_array_notation_exprs): Likewise.
1190         (replace_array_notation): Likewise.
1191         (find_inv_trees): Likewise.
1192         (replace_inv_trees): Likewise.
1193         (find_correct_array_notation_type): Likewise.
1195 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1197         * c-common.c (c_define_builtins): When cilkplus is enabled, the
1198         function array_notation_init_builtins is called.
1199         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1200         * c-common.def (ARRAY_NOTATION_REF): New tree.
1201         * c-common.h (build_array_notation_expr): New function declaration.
1202         (build_array_notation_ref): Likewise.
1203         (extract_sec_implicit_index_arg): New extern declaration.
1204         (is_sec_implicit_index_fn): Likewise.
1205         (ARRAY_NOTATION_CHECK): New define.
1206         (ARRAY_NOTATION_ARRAY): Likewise.
1207         (ARRAY_NOTATION_START): Likewise.
1208         (ARRAY_NOTATION_LENGTH): Likewise.
1209         (ARRAY_NOTATION_STRIDE): Likewise.
1210         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1211         ARRAY_NOTATION_REF.
1212         (pp_c_expression): Likewise.
1213         * c.opt (flag_enable_cilkplus): New flag.
1214         * array-notation-common.c: New file.
1216 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1218         PR c++/57274
1219         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1221 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1223         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1224         vectors.
1226 2013-05-07  Han Shen  <shenhan@google.com>
1228         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1230 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1232         * c-common.c (check_user_alignment): Emit error for negative values.
1234 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1236         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1238 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1240         * c-cppbuiltin.c (c_cpp_builtins): Do not define
1241         __GXX_EXPERIMENTAL_CXX1Y__.
1243 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1244             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1246         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1247         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1248         to simply use OPT_Wpointer_arith.
1249         (c_sizeof_or_alignof_type): Likewise.
1251 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1253         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1255 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1257         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1258         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1259         specifiers.
1261 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1263         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1265 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1267         * c-common.c (pointer_int_sum): Remove dead code.
1269 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1271         PR middle-end/56524
1272         * c-common.c (handle_optimize_attribute): Don't call
1273         save_optabs_if_changed.
1275 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1277         PR middle-end/56461
1278         * c-pch.c (pch_init): Free target_validity at the end.
1280 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
1282         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1284 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1285             Jakub Jelinek  <jakub@redhat.com>
1287         PR sanitizer/56454
1288         * c-common.c (handle_no_sanitize_address_attribute): New function.
1289         (c_common_attribute_table): Add no_sanitize_address attribute.
1290         (handle_no_address_safety_analysis_attribute): Add
1291         no_sanitize_address attribute, not no_address_safety_analysis
1292         attribute.
1294 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1296         PR target/52555
1297         * c-common.c (handle_optimize_attribute): Call
1298         save_optabs_if_changed.
1300 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
1301             Steven Bosscher  <steven@gcc.gnu.org>
1303         PR pch/54117
1304         * c-opts.c (c_common_post_options): If debug info is enabled
1305         and non-dwarf*, refuse to load PCH files and when writing PCH
1306         file warn.
1308 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1310         PR middle-end/56167
1311         * c-common.c (handle_error_attribute): Fix condition.
1313 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
1315         PR c++/55742
1316         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1318 2013-01-18  Jason Merrill  <jason@redhat.com>
1320         PR target/54908
1321         * c.opt (-fextern-tls-init): New.
1322         * c-opts.c (c_common_post_options): Handle it.
1324 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
1326         PR c/48418
1327         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1328         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1329         and is either negative or bigger or equal to type precision
1330         of the first operand.
1332 2012-12-03  Marek Polacek  <polacek@redhat.com>
1334         PR c/55570
1335         * c-common.c (check_user_alignment): Swap order of tests,
1336         check TREE_CODE first.
1338 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1340         PR c++/52654
1341         * c-common.h (overflow_type): New enum.
1342         (build_userdef_literal): Add overflow_type argument.
1343         (tree_userdef_literal): Add overflow_type.
1344         (USERDEF_LITERAL_OVERFLOW): New access macro.
1345         * c-common.c (build_userdef_literal): Add overflow_type
1346         argument.
1347         * c-lex.c (c_lex_with_flags): Add overflow_type to
1348         build_userdef_literal calls.
1349         (interpret_integer, interpret_float): Add overflow_type argument.
1351 2012-11-28  Richard Biener  <rguenther@suse.de>
1353         PR c/35634
1354         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1355         here and use a type with proper overflow behavior for types that would
1356         need to be promoted for the arithmetic.
1358 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1360         PR sanitizer/55435
1361         * c-common.c (handle_no_address_safety_analysis_attribute): New
1362         function.
1363         (c_common_attribute_table): Add no_address_safety_analysis.
1365 2012-11-16  Simon Baldwin  <simonb@google.com>
1367         * c.opt: Add f[no-]canonical-system-headers.
1368         * c-opts.c (c_common_handle_option): Handle
1369         OPT_fcanonical_system_headers.
1371 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1373         PR c++/54413
1374         * c-opts.c (c_common_handle_option): Set new flags.
1375         * c.opt: Describe new flags.
1377 2012-11-09  Jason Merrill  <jason@redhat.com>
1379         * c.opt (Wabi-tag): New.
1381 2012-11-09  Andi Kleen  <ak@linux.intel.com>
1383         PR 55139
1384         * c-common.c (get_atomic_generic_size): Mask with
1385         MEMMODEL_MASK
1387 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1389         PR c/53063
1390         * c.opt (Wformat): Make it Alias Wformat=1.
1391         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1392         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1393         LangEnabledBy.
1394         (Wformat=): RejectNegative. Use LangEnabledBy.
1395         (Wnonnull): Use LangEnabledBy.
1396         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1397         * c-format.c (set_Wformat): Delete.
1398         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1399         (maybe_read_dollar_number):  Likewise.
1400         (avoid_dollar_number):  Likewise.
1401         (finish_dollar_format_checking):  Likewise.
1402         (check_format_info):  Likewise.
1403         (check_format_info_main):  Likewise.
1404         (check_format_types):  Likewise.
1405         (format_type_warning):  Likewise.
1406         * c-common.c (int):  Likewise.
1407         (check_function_sentinel):  Likewise.
1408         * c-common.h (warn_format,set_Wformat): Do not declare here.
1410 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1412         PR c/53063
1413         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1414         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1415         Use LangEnabledBy.
1416         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1417         common.opt.
1418         (Wvariadic-macros): Init(1).
1419         * c-opts.c (c_common_handle_option): Do not handle them
1420         explicitly.
1421         (c_common_post_options): Likewise.
1422         (sanitize_cpp_opts): warn_unused_macros is now
1423         cpp_warn_unused_macros.
1424         (push_command_line_include): Likewise.
1425         * c-common.c (warn_unknown_pragmas): Do not define.
1426         * c-common.h (warn_unknown_pragmas): Do not declare.
1428 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1430         PR c/51294
1431         * c-common.c (conversion_warning): Handle conditional expressions.
1433 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1435         PR c++/54930
1436         * c.opt (Wreturn_local_addr): Define new option.
1438 2012-10-25  Jason Merrill  <jason@redhat.com>
1440         * c.opt (Wvirtual-move-assign): New.
1442         * c.opt (Winherited-variadic-ctor): New.
1444 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1446         PR c++/54427
1447         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1449 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
1451         * c-common.h (pch_cpp_save_state): Declare.
1452         * c-target.def (c_preinclude): New hook.
1453         * c-opts.c (done_preinclude): New.
1454         (push_command_line_include): Handle default preincluded header.
1455         (cb_file_change): Call pch_cpp_save_state when calling
1456         push_command_line_include.
1457         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1458         (pch_cpp_save_state): New.
1459         (pch_init): Call pch_cpp_save_state conditionally, instead of
1460         calling cpp_save_state.
1462 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1464         PR c/53063
1465         PR c/40989
1466         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1467         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1468         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1469         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1470         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1471         * c-opts.c (c_common_handle_option): Remove explicit handling from
1472         here.
1473         (c_common_post_options): Likewise.
1475 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1477         * c-ada-spec.c (LOCATION_COL): Delete.
1478         (compare_location): New function.
1479         (compare_node): Use it.
1480         (compare_comment): Likewise.
1482 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1484         PR c/53063
1485         PR c/40989
1486         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1487         * c-opts.c (c_common_handle_option): Do not set them here. Add
1488         comment.
1489         (c_common_post_options): Likewise.
1491 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1493         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1494         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1495         Remove POINTER_TYPE handling, add large unsigned handling and use
1496         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1498 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
1500         PR c/54381
1501         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1502         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1503         locs and array of 3 trees instead of just single loc and single
1504         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
1505         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1506         For *cmp* builtins that take two sources strings report warnings
1507         about first and second source, not about destination and source.
1509 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
1511         PR c++/53055
1512         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1514 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1516         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1517         declaring something coming from another file.
1519 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
1521         PR ada/54845
1522         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1524 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1526         PR c++/54194
1527         * c-common.c (warn_about_parentheses): Add location_t parameter;
1528         use EXPR_LOC_OR_LOC.
1529         * c-common.h: Update declaration.
1531 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1533         PR c++/54427
1534         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1535         more operations. Make error messages optional.
1536         * c-common.h (enum stv_conv): Moved from c-typeck.c.
1537         (scalar_to_vector): Declare.
1539 2012-10-08  Jason Merrill  <jason@redhat.com>
1541         * c-common.c (c_common_reswords): Add thread_local.
1543 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
1545         PR c++/53528 C++11 attribute support
1546         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1547         new functions.
1548         * c-common.c (check_cxx_fundamental_alignment_constraints): New
1549         static function.
1550         (handle_aligned_attribute): In choose strictest alignment
1551         among many.  Use new check_cxx_fundamental_alignment_constraints.
1552         (handle_transparent_union_attribute): In c++11 attribute syntax,
1553         don't look through typedefs.
1555 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
1557         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1558         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1559         out of dumpfile.h.
1561 2012-09-25  Dehao Chen  <dehao@google.com>
1563         PR middle-end/54645
1564         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1565         map when read in the pch.
1567 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
1569         * c-ada-spec.c: Style fixes.
1571 2012-09-18 Thomas Quinot  <quinot@adacore.com>
1573         * c.opt (-fada-spec-parent): Define new command line switch.
1574         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1575         is specified, generate binding spec as a child of the specified unit.
1577 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1578             Manuel López-Ibáñez  <manu@gcc.gnu.org>
1580         PR c++/53210
1581         * c.opt ([Winit-self]): Enabled by -Wall in C++.
1583 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
1585         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1586         for pointers, and add missing Convention C pragma.
1587         (print_ada_struct_decl): Add missing aliased keyword.
1588         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1590 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
1592         * c-common.c (sizeof_pointer_memaccess_warning): New function.
1593         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1594         * c-opts.c (c_common_handle_option): Enable it for -Wall.
1595         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1596         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1598 2012-08-10  Richard Guenther  <rguenther@suse.de>
1600         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1602 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1604         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1605         instead of separate pp_newline and pp_flush.
1606         (print_c_tree): Likewise.
1608 2012-07-26  Richard Henderson  <rth@redhat.com>
1610         * c-common.c (handle_hot_attribute): Allow labels.
1611         (handle_cold_attribute): Likewise.
1613 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
1615         PR c++/28656
1616         * c-common.c (check_function_nonnull): Handle multiple nonnull
1617         attributes properly.
1619 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1621         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1622         * c-ada-spec.c: Likewise.
1623         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1625 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1627         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1628         Remove code conditional on it.
1630 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1632         * c-gimplify.c: Do not include basic-block.h.
1633         * c-common.c: Do not include linfuncs.h.
1635 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1637         * c-common.h: Include tree.h.
1639 2012-07-02  Jason Merrill  <jason@redhat.com>
1641         PR c++/53524
1642         * c-common.c (get_priority): Call default_conversion.
1644 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1646         * c-pch.c (c_common_write_pch): Remove unused variables.
1648 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1650         * cppspec.c: Moved from gcc/ to here.
1652 2012-06-27  Kai Tietz  <ktietz@redhat.com>
1654         PR preprocessor/37215
1655         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1657 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1659         * c-common.h (c_common_print_pch_checksum): Remove.
1660         * c-pch.c: Do not include output.h.
1661         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1662         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1663         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1664         (struct c_pch_header): Remove.
1665         (get_ident): Update gpch version.
1666         (pch_init): Do not print executable_checksum to asm_out_file.
1667         Do not fail if there is no asm_out_file to read back from.  Set
1668         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1669         (c_common_write_pch): Verify that nothing was written to asm_out_file
1670         since pch_init was called.  Do not write a c_pch_header, and do not
1671         copy from asm_out_file to the PCH.
1672         (c_common_read_pch): Do not read a c_pch_header, and do not restore
1673         the content of asm_out_file from the PCH.
1674         (c_common_print_pch_checksum): Remove.
1675         * c-opts.c (c_common_init): Print out executable_checksum directly.
1677 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1679         * c-target.def (objc_declare_unresolved_class_reference,
1680         objc_declare_class_definition): Add new hooks.
1682 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1684         * c-lex.c: Do not include output.h.
1685         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1686         Remove uses of ASM_OUTPUT_IDENT.
1688 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1690         PR c++/51033
1691         * c-common.h (c_build_vec_perm_expr): Move decl here.
1692         * c-common.c (c_build_vec_perm_expr): Move definition
1693         here.
1695 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1697         * c.opt (fconserve-space): Turn into a no-op.
1699 2012-06-04  Sterling Augustine  <saugustine@google.com>
1701         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1702         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1703         both the start and end of the function.
1705 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1707         * c-common.c: Do not include output.h.
1708         * c-pragma.c: Likewise.
1710 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1712         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1713         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1714         (lang_decl_name): Handle namespace decls.
1716 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1718         * c-ada-spec.c: Do not include output.h.
1719         * c-semantics.c: Likewise.
1721 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
1723         * c-common.c: Fix typo.
1725 2012-05-29  Michael Matz  <matz@suse.de>
1727         * c-common.h (c_expand_decl): Remove prototype.
1729 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1731         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1732         * c-opts.c (c_common_handle_option): Remove code handling
1733         warn_missing_braces.
1735 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1737         PR c++/25137
1738         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1739         -Wmissing_braces.
1741 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1743         PR c++/53322
1744         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1746 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1748         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1749         * c-opts.c (c_common_handle_option): Do not handle explicitly
1750         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1752 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
1754         PR preprocessor/7263
1755         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1756         to cpp_classify_number.  For diagnostics, use the precise location
1757         instead of the global input_location.
1759 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1761         PR c++/11856
1762         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1764 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1766         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1768 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1770         PR 53063
1771         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1772         Wreorder): Use LangEnabledBy.
1773         * c-opts.c (c_common_handle_option): Do not enable them
1774         explicitly. Call lang-specific generated functions.
1775         (c_common_post_options): Do not set them here.
1777 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1779         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1780         Wmissing-field-initializers,Wmissing-parameter-type,
1781         Wold-style-declaration,Woverride-init): Use EnabledBy.
1782         * c-opts.c (c_common_post_options): Do not set here explicitly.
1784 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1786         PR 53063
1787         * c-opts.c (c_common_handle_option): Use handle_generated_option
1788         to enable sub-options.
1790 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1792         PR c++/53158
1793         * c-common.c (warnings_for_convert_and_check): Use warning_at.
1795 2012-05-10  Richard Guenther  <rguenther@suse.de>
1797         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1798         adjust commentary about TYPE_IS_SIZETYPE types.
1800 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1802         PR c++/53261
1803         * c-common.c (warn_logical_operator): Check that argument of
1804         integer_zerop is not NULL.
1806 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1808         PR c/43772
1809         * c-common.c (warn_logical_operator): Do not warn if either side
1810         is already true or false.
1812 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1814         PR c/51712
1815         * c-common.c (expr_original_type): New.
1816         (shorten_compare): Do not warn for enumeration types.
1818 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1820         * c.opt (fpermissive): Add Var(flag_permissive).
1822 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1824         PR c++/51033
1825         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1826         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1828 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
1830         Add -Wvarargs option
1831         * c.opt (Wvarargs):  Define new option.
1833 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1835         * c-common.c (check_function_arguments): Replace
1836         Wmissing-format-attribute with Wsuggest-attribute=format.
1838 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1840         * c.opt (Wsuggest-attribute=format): New. Alias of
1841         Wmissing-format-attribute.
1842         * c-format.c (decode_format_type): Replace
1843         Wmissing-format-attribute with Wsuggest-attribute=format.
1844         (check_function_format): Likewise.
1846 2012-04-27  Ollie Wild  <aaw@google.com>
1848         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1849         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1850         * c.opt: Add Wliteral-suffix.
1852 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1854         PR c/44774
1855         * c.opt (Wpedantic): New.
1856         (pedantic): Alias Wpedantic.
1857         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1858         (c_common_post_options): Likewise.
1859         (sanitize_cpp_opts): Likewise.
1860         * c-lex.c (interpret_float): Likewise.
1861         * c-format.c (check_format_types): Likewise.
1862         * c-common.c (pointer_int_sum): Likewise.
1863         (c_sizeof_or_alignof_type): Likewise.
1864         (c_add_case_label): Likewise.
1865         (c_do_switch_warnings): Likewise.
1866         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1868 2012-04-15  Jason Merrill  <jason@redhat.com>
1870         PR c++/52818
1871         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1872         (C_STD_NAME): Distinguish between C++98 and C++11.
1874 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1876         PR target/52624
1877         * c-common.h (uint16_type_node): Rename into...
1878         (c_uint16_type_node): ...this.
1879         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1880         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1882 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1884         * c-common.c (warn_if_unused_value): Move definition to here.
1885         * c-common.h (warn_if_unused_value): Move declaration to here.
1887 2012-03-23  William Bader  <williambader@hotmail.com>
1889         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1891 2012-03-20  Jason Merrill  <jason@redhat.com>
1893         * c-common.h (enum cxx_dialect): Add cxx1y.
1894         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1895         test.
1896         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1897         * c-opts.c (c_common_post_options): Likewise.
1898         (set_std_cxx1y): New.
1899         (c_common_handle_option): Call it.
1900         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1902 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1904         PR c++/14710
1905         * c.opt ([Wuseless-cast]): Add.
1907 2012-03-16  Richard Guenther  <rguenther@suse.de>
1909         * c-pretty-print.c (pp_c_initializer_list): Adjust.
1911 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1913         PR c++/44783
1914         * c.opt (ftemplate-backtrace-limit) Add.
1916 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1918         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1919         handling.
1920         * c-pragma.c (handle_pragma_extern_prefix): Remove.
1921         (init_pragma): Don't register extern_prefix.
1923 2012-03-12  Richard Guenther  <rguenther@suse.de>
1925         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1926         (builtin_type_for_size): Likewise.
1928 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
1930         PR c++/52215
1931         * c-common.c (sync_resolve_params): Don't decide whether to convert
1932         or not based on TYPE_SIZE comparison, convert whenever arg_type
1933         is unsigned INTEGER_TYPE.
1935 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1937         PR c/52118
1938         * c.opt ([Wunused-local-typedefs]): Fix description.
1940 2012-01-24  Mike Stump  <mikestump@comcast.net>
1942         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1943         exactly.
1945 2012-01-18  Richard Guenther  <rguenther@suse.de>
1947         * c-opts.c (c_common_post_options): Reset LTO flags if
1948         we are about to generate a PCH.
1950 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1952         PR c++/51777
1953         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1954         use pp_unsigned_wide_integer.
1956 2012-01-10  Richard Guenther  <rguenther@suse.de>
1958         PR middle-end/51806
1959         * c-opts.c (c_common_handle_option): Move -Werror handling
1960         to language independent code.
1962 2012-01-05  Richard Guenther  <rguenther@suse.de>
1964         PR middle-end/51764
1965         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1966         from common.opt.
1968 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
1970         PR c++/51316
1971         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1972         of array types with an unknown bound.
1974 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
1976         * c-common.c (flag_isoc99): Update comment to refer to C11.
1977         (flag_isoc1x): Change to flag_isoc11.
1978         * c-common.h (flag_isoc99): Update comment to refer to C11.
1979         (flag_isoc1x): Change to flag_isoc11.
1980         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1981         C11.
1982         * c-opts.c (set_std_c1x): Change to set_std_c11.
1983         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1984         Call set_std_c11.
1985         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1986         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1987         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
1988         standard.
1989         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1990         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1991         (std=gnu1x): Make alias of std=gnu11.
1993 2011-12-19  Jason Merrill  <jason@redhat.com>
1995         PR c++/51228
1996         * c-common.c (handle_transparent_union_attribute): Check the first
1997         field if the type is complete.
1999 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2001         PR libstdc++/51365
2002         * c-common.c (RID_IS_FINAL): Add.
2003         * c-common.h (RID_IS_FINAL): Add.
2005 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2007         * c.opt (fgnu-runtime): Provide full description.
2008         (fnext-runtime): Likewise.
2009         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2011 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2013         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2014         predefines in one place.  Add LOCK_FREE predefines.
2015         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2016         new func.
2018 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2020         PR c/51256
2021         * c-common.c (get_atomic_generic_size): Check for various error
2022         conditions
2023         (resolve_overloaded_atomic_exchange,
2024         resolve_overloaded_atomic_compare_exchange,
2025         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2026         error_mark_node for error conditions.
2028 2011-11-08  Richard Guenther  <rguenther@suse.de>
2030         PR middle-end/51010
2031         c-family/
2033 2011-11-07  Richard Henderson  <rth@redhat.com>
2034             Aldy Hernandez  <aldyh@redhat.com>
2035             Torvald Riegel  <triegel@redhat.com>
2037         Merged from transactional-memory.
2039         * c-common.c (handle_tm_wrap_attribute,
2040         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2041         (struct c_common_reswords): Added __transaction* keywords.
2042         (struct c_common_attribute_table): Added transaction* and tm_regparm
2043         attributes.
2044         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2045         masks.
2046         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2047         find_tm_attribute): Declare.
2049 2011-11-07  Jason Merrill  <jason@redhat.com>
2051         PR c++/35688
2052         * c-common.c, c-common.h: Revert yesterday's changes.
2054 2011-11-06  Jason Merrill  <jason@redhat.com>
2056         PR c++/35688
2057         * c-common.c (decl_has_visibility_attr): Split out from...
2058         (c_determine_visibility): ...here.
2059         * c-common.h: Declare it.
2061 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
2063         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2064         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2065         type.
2066         (check_user_alignment): New.  Split out of
2067         handle_aligned_attribute.  Disallow integer constants with
2068         noninteger types.  Conditionally allow zero.
2069         (handle_aligned_attribute): Use check_user_alignment.
2070         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2072 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2073             Richard Henderson  <rth@redhat.com>
2075         Merged from cxx-mem-model.
2077         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2078         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2079         parameters that are the same type size.
2080         (get_atomic_generic_size): New.  Find size of generic
2081         atomic function parameters and do typechecking.
2082         (add_atomic_size_parameter): New.  Insert size into parameter list.
2083         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2084         either __atomic_exchange_n or external library call.
2085         (resolve_overloaded_atomic_compare_exchange): Restructure
2086         __atomic_compare_exchange to either _n variant or external library call.
2087         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2088         __atomic_load_n or an external library call.
2089         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2090         __atomic_store_n or an external library call.
2091         (resolve_overloaded_builtin): Handle new __atomic builtins.
2093 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2095         PR c++/50608
2096         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2097         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2098         <INDIRECT_REF>: Return the argument.
2099         <ARRAY_REF>: Remove special code for negative offset.
2100         Call fold_build_pointer_plus instead of size_binop.
2101         (fold_offsetof): Remove STOP_REF argument and adjust.
2102         * c-common.h (fold_offsetof_1): Declare.
2103         (fold_offsetof): Remove STOP_REF argument.
2105 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2107         PR c++/50810
2108         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2109         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2110         Wnarrowing for C++0x and C++98.
2111         * c.opt ([Wnarrowing]): Update.
2113 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2115         PR c++/44277
2116         * c.opt: Add Wzero-as-null-pointer-constant.
2118 2011-10-31  Jason Merrill  <jason@redhat.com>
2120         * c.opt (-fdeduce-init-list): Off by default.
2122         PR c++/50920
2123         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2124         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2125         and -Wc++11-compat.
2126         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2128 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2130         PR c++/30066
2131         * c.opt (fvisibility-inlines-hidden): Description change.
2133 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2135         Implement C++11 user-defined literals.
2136         * c-common.c (build_userdef_literal): New.
2137         * c-common.def: New tree code.
2138         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2139         * c-lex.c (interpret_float): Add suffix parm.
2140         (c_lex_with_flags): Build literal tokens.
2142 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2144         PR c++/50841
2145         Revert:
2146         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2148         PR c++/50810
2149         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2150         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2151         Wnarrowing for C++0x and C++98.
2152         * c.opt ([Wnarrowing]): Update.
2154 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2156         PR c++/50810
2157         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2158         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2159         Wnarrowing for C++0x and C++98.
2160         * c.opt ([Wnarrowing]): Update.
2162 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2164         PR c++/45385
2165         * c-common.c (conversion_warning): Remove code looking for
2166         artificial operands.
2168 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
2170         PR bootstrap/50760
2171         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2172         !NO_IMPLICIT_EXTERN_C.
2174 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2176         * c-common.c (c_common_reswords): Add __bases,
2177         __direct_bases.
2178         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2180 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2182         PR c++/50757
2183         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2185 2011-10-15  Tom Tromey  <tromey@redhat.com>
2186             Dodji Seketeli  <dodji@redhat.com>
2188         * c.opt (fdebug-cpp): New option.
2189         * c-opts.c (c_common_handle_option): Handle the option.
2190         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2191         output stream in parameter. Factorized from ...
2192         (maybe_print_line): ... this. Dump location debug information when
2193         -fdebug-cpp is in effect.
2194         (print_line_1): New static function. Takes an output stream in
2195         parameter. Factorized from ...
2196         (print_line): ... here. Dump location information when -fdebug-cpp
2197         is in effect.
2198         (scan_translation_unit): Dump location information when
2199         -fdebug-cpp is in effect.
2201 2011-10-15  Tom Tromey  <tromey@redhat.com>
2202             Dodji Seketeli  <dodji@redhat.com>
2204         * c.opt (ftrack-macro-expansion): New option. Handle it with and
2205         without argument.
2206         * c-opts.c (c_common_handle_option)<case
2207         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2208         cases. Handle -ftrack-macro-expansion with and without argument.
2210 2011-10-15  Tom Tromey  <tromey@redhat.com>
2211             Dodji Seketeli  <dodji@redhat.com>
2213         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2214         (print_line, cb_define, do_line_change): Adjust to avoid touching
2215         the internals of struct line_map.  Use the public API instead.
2216         * c-pch.c (c_common_read_pch): Likewise.
2217         * c-lex.c (fe_file_change): Likewise.
2219 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2221         PR c++/17212
2222         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2224 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2226         PR c++/33067
2227         * c-pretty-print.c (pp_c_floating_constant): Output
2228         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2230 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2232         * c-common.c (def_builtin_1): Delete old interface with two
2233         parallel arrays to hold standard builtin declarations, and replace
2234         it with a function based interface that can support creating
2235         builtins on the fly in the future.  Change all uses, and poison
2236         the old names.  Make sure 0 is not a legitimate builtin index.
2237         * c-omp.c (c_finish_omp_barrier): Ditto.
2238         (c_finish_omp_taskwait): Ditto.
2239         (c_finish_omp_flush): Ditto.
2241 2011-10-11  Tristan Gingold  <gingold@adacore.com>
2243         * c.opt: (fallow-parameterless-variadic-functions): New.
2245 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
2247         PR c++/33255 - Support -Wunused-local-typedefs warning
2248         * c-common.h (struct c_language_function::local_typedefs): New
2249         field.
2250         (record_locally_defined_typedef, maybe_record_typedef_use)
2251         (maybe_warn_unused_local_typedefs): Declare new functions.
2252         * c-common.c (record_locally_defined_typedef)
2253         (maybe_record_typedef_use)
2254         (maybe_warn_unused_local_typedefs): Define new functions.
2255         * c.opt: Declare new -Wunused-local-typedefs flag.
2257 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2259         PR middle-end/50266
2260         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2261         computations.
2263 2011-09-05  Richard Guenther  <rguenther@suse.de>
2265         * c-common.c (complete_array_type): Use ssize_int (-1) instead
2266         of integer_minus_one_node for empty array upper bounds.
2268 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
2270         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2271         it's the first time it's being called on this main TU.
2273 2011-08-24  Richard Guenther  <rguenther@suse.de>
2275         PR c/49396
2276         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2278 2011-08-22  Gabriel Charette  <gchare@google.com>
2280         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2281         defined in cpp_init_builtins and c_cpp_builtins.
2283 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
2285         * c-common.c (c_common_reswords): Add __builtin_complex.
2286         * c-common.h (RID_BUILTIN_COMPLEX): New.
2288 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
2290         * c-common.c (c_common_reswords): Add _Noreturn.
2291         (keyword_is_function_specifier): Handle RID_NORETURN.
2292         * c-common.h (RID_NORETURN): New.
2294 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2296         * c-common.c (unsafe_conversion_p): New function. Check if it is
2297         unsafe to convert an expression to the type.
2298         (conversion_warning): Adjust, use unsafe_conversion_p.
2299         * c-common.h (unsafe_conversion_p): New function declaration.
2301 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
2303         * c-common.h (c_finish_omp_atomic): Adjust prototype.
2304         (c_finish_omp_taskyield): New prototype.
2305         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2306         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2307         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2308         or RHS1 have side-effects, evaluate those too in the right spot,
2309         if it is a decl and LHS is also a decl, error out if they
2310         aren't the same.
2311         (c_finish_omp_taskyield): New function.
2312         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2313         * c-pragma.c (omp_pragmas): Add taskyield.
2314         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2315         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2316         PRAGMA_OMP_CLAUSE_MERGEABLE.
2318 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
2320         * c-common.h (set_underlying_type): Remove parm name from
2321         declaration.
2323 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2325         * c-pretty-print.h: Search c-common.h in c-family.
2327 2011-07-22  Jason Merrill  <jason@redhat.com>
2329         PR c++/49793
2330         * c.opt (Wnarrowing): New.
2332         PR c++/30112
2333         * c-common.h: Declare c_linkage_bindings.
2334         * c-pragma.c (handle_pragma_redefine_extname): Use it.
2336         PR c++/49813
2337         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2338         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2339         as flag_isoc99 for 'restrict'.
2340         (pp_c_specifier_qualifier_list): Likewise for _Complex.
2342 2011-07-21  Ian Lance Taylor  <iant@google.com>
2344         PR middle-end/49705
2345         * c-common.c (c_disable_warnings): New static function.
2346         (c_enable_warnings): New static function.
2347         (c_fully_fold_internal): Change local unused_p to bool.  Call
2348         c_disable_warnings and c_enable_warnings rather than change
2349         c_inhibit_evaluation_warnings.
2351 2011-07-20  Jason Merrill  <jason@redhat.com>
2353         PR c++/6709 (DR 743)
2354         PR c++/42603 (DR 950)
2355         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2356         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2357         (CPP_DECLTYPE): New.
2358         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2360 2011-07-19  Richard Guenther  <rguenther@suse.de>
2362         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2363         * c-omp.c (c_finish_omp_for): Likewise.
2365 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2367         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2368         body on the next line.
2370 2011-07-08  Jason Merrill  <jason@redhat.com>
2372         PR c++/45437
2373         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2375         PR c++/49673
2376         * c-common.c (c_apply_type_quals_to_decl): Don't check
2377         TYPE_NEEDS_CONSTRUCTING.
2379 2011-07-06  Richard Guenther  <rguenther@suse.de>
2381         * c-common.c (c_common_nodes_and_builtins):
2382         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2384 2011-07-05  Richard Guenther  <rguenther@suse.de>
2386         * c-common.c (c_common_nodes_and_builtins): Build all common
2387         tree nodes first.
2389 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2391         * c-common.h (c_tree_chain_next): New static inline function.
2393         * c-common.c (check_builtin_function_arguments): Handle
2394         BUILT_IN_ASSUME_ALIGNED.
2396 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2398         * c-common.c: Add sync_ or SYNC__ to builtin names.
2399         * c-omp.c: Add sync_ or SYNC__ to builtin names.
2401 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
2403         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2404         handler.
2405         (gen_pragma_handler): New union.
2406         (internal_pragma_handler): New type.
2407         (c_register_pragma_with_data)
2408         (c_register_pragma_with_expansion_and_data): New functions.
2410         * c-pragma.c (registered_pragmas, c_register_pragma_1)
2411         (c_register_pragma, c_register_pragma_with_expansion)
2412         (c_invoke_pragma_handler): Changed to work with
2413         internal_pragma_handler.
2414         (c_register_pragma_with_data)
2415         (c_register_pragma_with_expansion_and_data): New functions.
2417 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2419         * c-common.c: Include common/common-target.h.
2420         (handle_section_attribute): Use
2421         targetm_common.have_named_sections.
2422         * c-cppbuiltin.c: Include common/common-target.h.
2423         (c_cpp_builtins): Use targetm_common.except_unwind_info.
2425 2011-06-10  Richard Guenther  <rguenther@suse.de>
2427         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2428         to print a IDENTIFIER_NODE.
2430 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2431             Joseph Myers  <joseph@codesourcery.com>
2433         * c.opt (fbuilding-libgcc): New option.
2434         * c-cppbuiltin.c (c_cpp_builtins): Define
2435         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2437 2011-06-07  Jason Merrill  <jason@redhat.com>
2439         * c-common.c (max_tinst_depth): Lower default to 900.
2441         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2443 2011-06-07  Richard Guenther  <rguenther@suse.de>
2445         * c-common.c (c_common_nodes_and_builtins): Do not set
2446         size_type_node or call set_sizetype.
2448 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
2450         PR debug/49130
2451         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
2452         type when using pointer comparison to compare types.
2454 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2456         * c.opt: Add -Wdelete-non-virtual-dtor.
2457         * c-opts.c (c_common_handle_option): Include it in -Wall.
2459 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
2461         PR bootstrap/49190
2463         Revert:
2464         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2466         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2467         not tree_common.
2469 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
2471         PR c++/49165
2472         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2473         C++ don't call c_common_truthvalue_conversion on void type arms.
2475 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
2477         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2478         (stmt_list_stack): Define.
2479         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2480         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2482 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2484         * c-common.c (warning_candidate_p): Check for BLOCKs.
2486 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2488         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2489         not tree_common.
2491 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2493         * c-common.c (def_fn_type): Remove extra va_end.
2495 2011-05-23  Jason Merrill  <jason@redhat.com>
2497         PR c++/48106
2498         * c-common.c (c_common_get_narrower): New.
2499         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2501 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
2503         * c-common.h (check_function_arguments): Tweak prototype of
2504         check_function_arguments.
2505         * c-common.c (check_function_arguments): Likewise.  Adjust
2506         calls to check_function_nonnull, check_function_format, and
2507         check_function_sentinel.
2508         (check_function_sentinel): Take a FUNCTION_TYPE rather than
2509         separate attributes and typelist arguments.  Use
2510         FOREACH_FUNCTION_ARGS to iterate over argument types.
2512 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2514         * c-common.c (c_common_reswords): Reorder.
2515         * c-common.h (rid): Likewise.
2517 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2519         * c-common.c (def_fn_type): Don't call build_function_type, call
2520         build_function_type_array or build_varargs_function_type_array
2521         instead.
2522         (c_common_nodes_and_builtins): Likewise.
2524 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2526         * c-common.c (c_add_case_label): Omit the loc argument to
2527         build_case_label.
2528         * c-common.h (build_case_label): Remove.
2529         * c-semantics.c (build_case_label): Remove.
2531 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
2533         * c-objc.h (objc_start_method_definition): Update prototype.
2534         * stub-objc.c (objc_start_method_definition): Add extra parameter.
2536 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2538         * c-common.c (check_main_parameter_types): Reindent.  Don't use
2539         TYPE_ARG_TYPES directly.
2540         (handle_nonnull_attribute): Likewise.
2541         (sync_resolve_params): Likewise.
2542         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2543         to check_format_string.
2544         (handle_format_attribute): Likewise.
2545         (check_format_string): Take a function type to examine instead of
2546         a type list.  Use a function_arg_iterator to step through argument
2547         types.
2549 2011-05-04  Richard Guenther  <rguenther@suse.de>
2551         * c-common.c (fix_string_type): Use size_int for index type bounds.
2552         (start_fname_decls): Do not pass NULL to build_int_cst.
2553         (c_init_attributes): Likewise.
2554         * c-lex.c (c_lex_with_flags): Likewise.
2556 2011-04-27  Jason Merrill  <jason@redhat.com>
2558         * c-common.c (make_tree_vector_from_list): New.
2559         * c-common.h: Declare it.
2561 2011-04-26  Richard Guenther  <rguenther@suse.de>
2563         PR preprocessor/48248
2564         * c-ppoutput.c (maybe_print_line): Always optimize newlines
2565         for output size with -P.
2567 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2569         * c-common.c (struct c_common_resword): Add __underlying_type.
2570         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2572 2011-04-20  Jim Meyering  <meyering@redhat.com>
2574         * c-format.c (init_dollar_format_checking): Remove useless
2575         if-before-free.
2577 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2579         * c-objc.h (objc_get_interface_ivars): Removed.
2580         (objc_detect_field_duplicates): New.
2581         * stub-objc.c: Likewise.
2583 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2585         * stub-objc.c (objc_declare_protocols): Renamed to
2586         objc_declare_protocol.
2587         * c-objc.h: Likewise.
2589 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2591         * stub-objc.c (objc_declare_class): Updated argument name.
2593 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2595         * c-common.h (c_common_init_ts): Declare.
2596         * c-common.c (c_common_init_ts): Define.
2598 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2600         * c-objc.h (objc_build_message_expr): Updated prototype.
2601         * stub-objc.c (objc_build_message_expr): Likewise.
2603 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2605         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2606         of cgraph_node.
2608 2011-04-11  Richard Guenther  <rguenther@suse.de>
2610         * c-common.c (complete_array_type): Build a range type of
2611         proper type.
2613 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2615         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2616         (handle_type_generic_attribute): Likewise.
2618 2011-04-07  Jason Merrill  <jason@redhat.com>
2620         PR c++/48450
2621         * c-common.c (c_common_truthvalue_conversion): Don't ignore
2622         conversion from C++0x scoped enum.
2624 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2626         * c-target-def.h: New file.
2627         * c-target.def: New file.
2628         * c-target.h: New file.
2629         * c-common.c (targetcm): Don't define here.
2630         * c-common.h (default_handle_c_option): Declare.
2631         * c-format.c: Include c-target.h instead of target.h.
2632         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
2633         include tm.h.
2634         (default_handle_c_option): Move from targhooks.c.
2636 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2638         PR preprocessor/48248
2639         * c-ppoutput.c (print): Add src_file field.
2640         (init_pp_output): Initialize it.
2641         (maybe_print_line): Don't optimize by adding up to 8 newlines
2642         if map->to_file and print.src_file are different file.
2643         (print_line): Update print.src_file.
2645 2011-03-25  Kai Tietz  <ktietz@redhat.com>
2647         * c-ada-spec.c (compare_comment): Use filename_cmp
2648         instead of strcmp for filename.
2650 2011-03-25  Jeff Law  <law@redhat.com>
2652         * c-family/c-common.c (def_fn_type): Add missing va_end.
2654 2011-03-25  Jason Merrill  <jason@redhat.com>
2656         * c.opt: Add -std=c++03.
2658 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2660         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2662 2011-03-17  Kai Tietz
2664         PR target/12171
2665         * c-pretty-print.c (pp_c_specifier_qualifier_list):
2666         Display allowed attributes for function pointer types.
2667         (pp_c_attributes_display): New function to display
2668         attributes having affects_type_identity flag set to true.
2669         * c-pretty-print.h (pp_c_attributes_display): New prototype.
2671         * c-common.c (c_common_attribute_table):
2672         Add new element.
2673         (c_common_format_attribute_table): Likewise.
2675 2011-03-18  Jason Merrill  <jason@redhat.com>
2677         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2678         * c-common.h: Don't declare it here.
2679         * c-common.c: Or define it here.
2680         * c-opts.c (c_common_handle_option): Or set it here.
2682         PR c++/35315
2683         * c-common.c (handle_transparent_union_attribute): Don't
2684         make a duplicate type in C++.
2686 2011-03-15  Jason Merrill  <jason@redhat.com>
2688         * c-common.c (max_constexpr_depth): New.
2689         * c-common.h: Declare it.
2690         * c-opts.c (c_common_handle_option): Set it.
2691         * c.opt (fconstexpr-depth): New option.
2693 2011-03-11  Jason Merrill  <jason@redhat.com>
2695         * c-common.c (attribute_takes_identifier_p): Add missing const.
2697         PR c++/46803
2698         * c-common.c (attribute_takes_identifier_p): Assume that an
2699         unknown attribute takes an identifier.
2701 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2703         PR c/47786
2704         * c-common.c (c_type_hash): Call list_length instead of iterating
2705         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2707 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2709         PR c/47809
2710         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2712 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2714         * c.opt (fobjc-abi-version=) New.
2715         (fobjc-nilcheck): New.
2717 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2719         PR c++/46890
2720         * c-common.h (keyword_is_decl_specifier): Declare.
2721         * c-common.c (keyword_is_decl_specifier): Define.
2722         (keyword_is_function_specifier): New function.
2724 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2726         PR c/47473
2727         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2728         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2729         REAL_TYPE.
2731 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
2733         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2735 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2737         PR pch/47430
2738         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2739         after init_c_lex if pch_file is set.
2741 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2743         PR c++/43601
2744         * c.opt (-fkeep-inline-dllexport): New switch.
2746 2011-01-12  Richard Guenther  <rguenther@suse.de>
2748         PR middle-end/32511
2749         * c-common.c (handle_weak_attribute): Warn instead of error
2750         on declaring an inline function weak.
2752 2011-01-05  Tom Tromey  <tromey@redhat.com>
2754         * c-common.h (lvalue_error): Update.
2755         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2756         not error.
2758 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2760         PR objc/47075
2761         * c-objc.h (objc_finish_message_expr): Added argument to
2762         prototype.
2764 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2766         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2767         Use prototype_p.
2769 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2771         * c-objc.h (objc_maybe_warn_exceptions): New.
2772         * stub-objc.c (objc_maybe_warn_exceptions): New.
2774 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2776         * c-common.h (readonly_error): Declare.
2777         * c-common.c (readonly_error): Define.
2779 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2781         * c-common.h (invalid_indirection_error): Declare.
2782         * c-common.c (invalid_indirection_error): Define.
2784 2010-12-03  Richard Guenther  <rguenther@suse.de>
2786         PR c/46745
2787         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2788         (pp_c_unary_expression): Likewise.
2789         (pp_c_expression): Likewise.
2791 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2793         * c-common.h (objc_finish_function): New.
2794         (objc_non_volatilized_type): Removed.
2795         (objc_type_quals_match): Removed.
2796         * stub-objc.c (objc_finish_function): New.
2797         (objc_non_volatilized_type): Removed.
2798         (objc_type_quals_match): Removed.
2800 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2802         * c-common.h (parse_optimize_options): Declare.
2803         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2804         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2806 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2808         * c-opts.c (check_deps_environment_vars): Use getenv instead of
2809         GET_ENVIRONMENT.
2810         * c-pch.c (O_BINARY): Don't define here.
2811         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2813 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2815         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2816         targetm.except_unwind_info.
2818 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2820         * c-opts.c (c_common_handle_option): Pass location to
2821         set_struct_debug_option.
2823 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2825         * c-common.c (visibility_options): Move from ../opts.c.
2826         * c-common.h (struct visibility_flags, visibility_options):
2827         Declare here.
2828         * c-opts.c (finish_options): Rename to c_finish_options.
2829         (c_common_init): Update call to finish_options.
2831 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2833         PR objc/34033
2834         * c-lex.c (lex_string): Check that each string in an Objective-C
2835         string concat sequence starts with either one or zero '@', and
2836         that there are no spurious '@' signs at the end.
2838 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
2840         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2841         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2842         HANDLE_PRAGMA_VISIBILITY.
2843         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2844         HANDLE_PRAGMA_VISIBILITY): Don't define.
2845         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2847 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2849         PR c++/16189
2850         PR c++/36888
2851         PR c++/45331
2852         * c-common.h (keyword_begins_type_specifier): Declare.
2853         (keyword_is_storage_class_specifier): Declare.
2854         (keyword_is_type_qualifier): Declare.
2855         * c-common.c (keyword_begins_type_specifier): New function.
2856         (keyword_is_storage_class_specifier): New function.
2857         (keyword_is_type_qualifier): Declare.
2859 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2861         PR c/46547
2862         * c-common.c (in_late_binary_op): Define.
2863         (c_common_truthvalue_conversion): Check in_late_binary_op before
2864         calling c_save_expr.
2865         * c-common.h (in_late_binary_op): Declare.
2867 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2869         * c-opts.c (c_common_handle_option): Update calls to
2870         set_struct_debug_option.
2872 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2874         * c-common.h (objc_declare_protocols): Added additional argument.
2875         * stub-objc.c (objc_declare_protocol): Same change.
2877 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2879         PR c/33193
2880         * c-common.h (build_real_imag_expr): Declare.
2881         * c-semantics.c (build_real_imag_expr): Define.
2883 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
2885         * c-opts.c (c_common_parse_file): Take no arguments.
2886         * c-common.h (c_common_parse_file): Update prototype.
2888 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
2890         PR c++/46401
2891         * c-common.c (warning_candidate_p): Don't track non-const calls
2892         or STRING_CSTs.
2894 2010-11-15  Ian Lance Taylor  <iant@google.com>
2896         * c-lex.c (init_c_lex): Set macro debug callbacks if
2897         flag_dump_go_spec is set.
2899 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2901         * c-common.h (objc_build_incr_expr_for_property_ref): New.
2902         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2904 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2906         PR preprocessor/45038
2907         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2908         dialects.
2910 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2912         * c-common.h (c_family_lang_mask): Declare.
2913         * c-opts.c (c_family_lang_mask): Make extern.
2914         * c-pragma.c (handle_pragma_diagnostic): Use
2915         control_warning_option.
2917 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2919         * c-common.c (parse_optimize_options): Update call to
2920         decode_options.
2921         * c-common.h (c_common_handle_option): Update prototype.
2922         * c-opts.c (c_common_handle_option): Take location_t parameter and
2923         pass it to other functions.
2925 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2927         * c-opts.c (warning_as_error_callback): Remove.
2928         (c_common_initialize_diagnostics): Don't call
2929         register_warning_as_error_callback.
2930         (c_common_handle_option): Handle -Werror=normalized= here.
2932 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2934         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2935         in diagnostic.
2936         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2937         letter.
2938         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2939         Remove trailing '.' from diagnostics.
2940         * c.opt (Wwrite-strings_: Avoid '`' in help text.
2942 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2944         * c-common.c (parse_optimize_options): Pass global_dc to
2945         decode_options.
2946         * c-opts.c (c_common_handle_option): Pass &global_options to
2947         set_Wstrict_aliasing.
2948         * c.opt (v): Don't mark Common or document here.
2950 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2952         PR target/44981
2953         * c-format.c (format_type): New type gcc_objc_string_format_type.
2954         (valid_stringptr_type_p): New.
2955         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
2956         (check_format_string): Pass expected type, use
2957         valid_stringptr_type_p (), check that the format string types are
2958         consistent with the format specification.
2959         (decode_format_attr): Warn if NSString is used outside objective-c.
2960         (format_types_orig): Add NSString.
2961         (format_name): New.
2962         (format_flags): New.
2963         (check_format_arg): Handle format strings requiring an external parser.
2964         first_target_format_type: New variable.
2965         (handle_format_attribute): Set up first_target_format_type, pass the
2966         expected format arg string type to check_format_string().
2967         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
2968         * stub-objc.c (objc_string_ref_type_p): New.
2969         (objc_check_format_arg): New.
2971 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2973         Fixed using the Objective-C 2.0 dot-syntax with class names.
2974         * c-common.h (objc_build_class_component_ref): New.
2975         * stub-objc.c (objc_build_class_component_ref): New.
2977 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2979         * c.opt (Wproperty-assign-default): New option.
2981 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2983         Implemented -fobjc-std=objc1 flag.
2984         * c.opt (fobjc-std=objc1): New option.
2986 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2988         Implemented format and noreturn attributes for Objective-C methods.
2989         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2990         attribute for Objective-C methods.
2992 2010-10-31  Jason Merrill  <jason@redhat.com>
2994         * c-common.c (conversion_warning, warn_for_collisions_1): Use
2995         EXPR_LOC_OR_HERE.
2997 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2999         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3000         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3001         (objc_add_property_declaration): Removed arguments for copies and
3002         ivar.
3003         (objc_build_getter_call): Renamed to
3004         objc_maybe_build_component_ref.
3005         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3006         (objc_is_property_ref): New.
3007         * c-common.c (c_common_reswords): Removed copies and ivar.
3008         * stub-objc.c (objc_add_property_declaration): Removed arguments
3009         for copies and ivar.
3010         (objc_build_getter_call): Renamed to
3011         objc_maybe_build_component_ref.
3012         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3013         (objc_is_property_ref): New.
3015 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
3016             Matthew Gingell  <gingell@adacore.com>
3018         * c-ada-spec.c (separate_class_package): New function.
3019         (pp_ada_tree_identifier): Prefix references to C++ classes with the
3020         name of their enclosing package.
3021         (print_ada_declaration): Use separate_class_package.
3023 2010-10-27  Jason Merrill  <jason@redhat.com>
3025         * c-common.c (c_common_reswords): Add __is_literal_type.
3026         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3028         * c-common.c (check_case_value): Remove special C++ code.
3030 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3032         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3033         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3034         and RID_LAST_PATTR.
3035         (objc_add_property_declaration): Added additional arguments.
3036         (objc_property_attribute_kind): Removed.
3037         (objc_set_property_attr): Removed.
3038         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3039         copy and nonatomic.
3040         * stub-objc.c (objc_add_property_declaration): Added additional
3041         arguments.
3042         (objc_set_property_attr): Removed.
3044 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3046         * c-common.h (objc_add_property_variable): Renamed to
3047         objc_add_property_declaration.  Added location argument.
3048         * stub-objc.c (objc_add_property_variable): Same change.
3049         
3050 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3052         * c-common.h (objc_maybe_printable_name): New.
3053         * stub-objc.c (objc_maybe_printable_name): New.
3055 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3056         Andrew Pinski <pinskia@gmail.com>
3058         * c-common.h (c_common_mark_addressable_vec): Declare.
3059         * c-common.c (c_common_mark_addressable_vec): New function.
3061 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3063         * c-common.h (objc_set_method_type): Removed.
3064         (objc_add_method_declaration): Added boolean argument.
3065         (objc_start_method_definition): Same change.
3066         (objc_build_method_signature): Same change.
3067         * stub-objc.c (objc_set_method_type): Removed.
3068         (objc_add_method_declaration): Added boolean argument.
3069         (objc_start_method_definition): Same change.
3070         (objc_build_method_signature): Same change.
3072 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3074         * c-common.h (finish_file): Removed.
3075         (objc_write_global_declarations): New.
3076         * c-opts.c (c_common_parse_file): Do not call finish_file.
3077         * stub-objc.c (objc_write_global_declarations): New.
3079 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3081         Implemented parsing @synthesize and @dynamic for
3082         Objective-C/Objective-C++.
3083         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3084         (objc_add_synthesize_declaration): New.
3085         (objc_add_dynamic_declaration): New.
3086         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3087         * stub-objc.c (objc_add_synthesize_declaration): New.
3088         (objc_add_dynamic_declaration): New.
3090 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3092         PR target/46041
3093         * c-cppbuiltin.c (mode_has_fma): Move function here from
3094         builtins.c.  Don't use the fma optab, instead just use the
3095         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3096         using -save-temps.
3098 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3100         Merge from 'apple/trunk' branch on FSF servers.
3102         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3104         Radar 4330422
3105         * c-common.h (objc_non_volatilized_type): New declaration
3106         * stub-objc.c (objc_non_volatilized_type): New stub.
3108 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3110         Merge from 'apple/trunk' branch on FSF servers.
3112         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3114         Radar 4133425
3115         * c-common.h (objc_diagnose_private_ivar): New decl.
3116         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3118 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3120         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3121         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3122         (objc_ivar_visibility_kind): New enum.
3123         (objc_set_visibility): Adjust prototype to use visibility enum.
3124         * stub-objc.c (objc_set_visibility): Adjust stub to use
3125         visibility enum.
3127 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3129         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3130         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3131         has the appropriate fma builtins.
3132         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3134 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3136         merge from FSF apple 'trunk' branch.
3137         2006 Fariborz Jahanian <fjahanian@apple.com>
3139         Radars 4436866, 4505126, 4506903, 4517826
3140         * c-common.c (c_common_resword): Define @property and its attributes.
3141         * c-common.h: Define property attribute enum entries.
3142         (OBJC_IS_PATTR_KEYWORD): New.
3143         (objc_property_attribute_kind): New enum.
3144         Declare objc_set_property_attr (), objc_add_property_variable (),
3145         objc_build_getter_call () and objc_build_setter_call ().
3146         * stub-objc.c (objc_set_property_attr): New stub.
3147         (objc_add_property_variable): Likewise.
3148         (objc_build_getter_call): Likewise.
3149         (objc_build_setter_call) Likewise.
3151 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3153         merge from FSF apple 'trunk' branch.
3154         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3156         Radar 3803157 (method attributes)
3157         * c-common.c (handle_deprecated_attribute): Recognize
3158         objc methods as valid declarations.
3159         * c-common.h: Declare objc_method_decl ().
3160         * stub-objc.c (objc_method_decl): New stub.
3162 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
3164         * c-common.c (parse_optimize_options): Call
3165         decode_cmdline_options_to_array_default_mask before
3166         decode_options.  Update arguments to decode_options.
3167         * c-common.h (c_common_init_options_struct): Declare.
3168         * c-opts.c (c_common_init_options_struct): New.  Split out from
3169         c_common_init_options.
3171 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3173         Implemented fast enumeration for Objective-C.
3174         * c-common.h (objc_finish_foreach_loop): New.
3175         * stub-objc.c (objc_finish_foreach_loop): New.
3177 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
3179         * c-common.h (struct diagnostic_context): Don't declare here.
3180         (c_common_initialize_diagnostics): Declare using
3181         diagnostic_context typedef.
3182         * c-opts.c (c_common_handle_option): Pass global_dc to
3183         handle_generated_option.
3185 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
3187         * c-opts.c (c_common_handle_option): Pass &global_options_set to
3188         handle_generated_option.
3190 2010-10-03  Ian Lance Taylor  <iant@google.com>
3192         * c.opt (-fplan9-extensions): New option.
3194 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3196         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3197         Remove.
3198         (c_cpp_builtins): Call functions from cppbuiltin.c instead
3199         of duplicating code.
3201 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3203         * c-common.c: Add two new entries for @optional
3204         and @required keywords.
3206         merge from FSF 'apple/trunk' branch.
3207         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3209         Radar 4386773
3210         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3211         objective-c keywords.
3212         (objc_set_method_opt): New declaration.
3213         * stub-objc.c (objc_set_method_opt): New stub.
3215 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3217         * c-common.c (handle_optimize_attribute): Pass &global_options to
3218         cl_optimization_save and cl_optimization_restore.
3219         * c-opts.c (c_common_handle_option): Pass &global_options to
3220         handle_generated_option.
3221         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3222         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3223         &global_options to cl_optimization_restore.
3225 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3227         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3228         Objective-C/Objective-C++ keywords.
3230 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3232         Merge from 'apple/trunk' branch on FSF servers.
3234         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3236         Radar 4281748
3237         * c-common.h (objc_check_global_decl): New declaration.
3238         * stub-objc.c (objc_check_global_decl): New stub.
3240 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3242         * c.opt: Don't use VarExists.
3244 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3246         * c-common.c (c_cpp_error): Update names of diagnostic_context
3247         members.
3248         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3249         cl_optimization members.
3250         * c-opts.c (warning_as_error_callback, c_common_handle_option,
3251         sanitize_cpp_opts, finish_options): Update names of cpp_options
3252         members.
3254 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3256         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3257         (objc_is_reserved_word): Removed.
3258         * c-common.c: Updated comments.
3259         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3260         objc_is_reserved_word.
3261         * stub-objc.c (objc_is_reserved_word): Removed.
3263 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3265         * c-common.h (objc_add_method_declaration): Adjust prototype to
3266         include attributes.
3267         (objc_start_method_definition): Likewise.
3268         (objc_build_keyword_decl): Likewise.
3269         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3270         (objc_start_method_definition): Likewise.
3271         (objc_build_keyword_decl): Likewise.
3273 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3275         * c-common.h (objc_start_class_interface): Adjust prototype.
3276         (objc_start_category_interface): Likewise.
3277         (objc_start_protocol): Likewise.
3278         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3279         (objc_start_class_interface): Likewise.
3280         (objc_start_category_interface): Likewise.
3282 2010-09-27  Ian Lance Taylor  <iant@google.com>
3284         * c-common.c (c_common_attribute_table): Add no_split_stack.
3285         (handle_no_split_stack_attribute): New static function.
3287 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3289         Merge from 'apple/trunk' branch on FSF servers.
3291         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3293         Radar 4229905
3294         * c-common.h (objc_have_common_type): New declaration.
3295         * stub-objc.c (objc_have_common_type): New stub.
3297         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3299         Radar 4154928
3300         * c-common.h (objc_common_type): New prototype.
3301         * stub-objc.c (objc_common_type): New stub.
3303 2010-09-24  Jan Hubicka  <jh@suse.cz>
3305         * c-common.c (handle_leaf_attribute): New function.
3306         (struct attribute_spec c_common_att): Add leaf.
3308 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
3310         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3311         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3312         -dump, -dump=, -imacros, -imacros=, -include, -include=,
3313         -include-barrier, -include-directory, -include-directory=,
3314         -include-directory-after, -include-directory-after=,
3315         -include-prefix, -include-prefix=, -include-with-prefix,
3316         -include-with-prefix=, -include-with-prefix-after,
3317         -include-with-prefix-after=, -include-with-prefix-before,
3318         -include-with-prefix-before=, -no-integrated-cpp,
3319         -no-line-commands, -no-standard-includes, -no-warnings, -output,
3320         -output=, -pedantic, -pedantic-errors, -preprocess,
3321         -print-missing-file-dependencies, -trace-includes, -traditional,
3322         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3323         -user-dependencies, -verbose, -write-dependencies,
3324         -write-user-dependencies, no-integrated-cpp, traditional): New.
3326 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3328         PR objc/23710
3329         * c-common.h (objc_start_method_definition): Return bool instead
3330         of void.
3331         * stub-objc.c (objc_start_method_definition): Return bool instead
3332         of void.
3334 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3336         PR objc/25965
3337         * c-common.h (objc_get_interface_ivars): New declaration.
3338         * stub-objc.c (objc_get_interface_ivars): New stub.
3340 2010-09-15  Ian Lance Taylor  <iant@google.com>
3342         * c-common.c (parse_optimize_options): Do not capitalize warning
3343         messages.  Remove period at end of warning message.
3345 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3347         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3348         (handle_alias_attribute): ... here.
3349         (handle_ifunc_attribute): New.
3351 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
3353         * c-common.h (do_warn_double_promotion): Declare.
3354         * c-common.c (do_warn_double_promotion): Define.
3356 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
3358         * c.opt (Wdouble-promotion): New.
3360 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3362         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3363         fvtable-thunks, fxref): Mark no longer supported in help text.
3365 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3367         * c.opt (Wimport, fall-virtual, falt-external-templates,
3368         fdefault-inline, fenum-int-equiv, fexternal-templates,
3369         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3370         fname-mangling-version-, fnew-abi, fnonnull-objects,
3371         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3372         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3373         applicable.
3374         (fhandle-exceptions): Mark with Alias and Warn.
3375         * c-opts.c (c_common_handle_option): Don't handle options marked
3376         as ignored.
3378 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3380         * c.opt (Wcomments, Werror-implicit-function-declaration,
3381         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3382         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3383         aliases.
3384         * c-common.c (option_codes): Use OPT_Wcomment instead of
3385         OPT_Wcomments.
3386         * c-opts.c (warning_as_error_callback, c_common_handle_option):
3387         Don't handle options marked as aliases.
3389 2010-08-25  Richard Guenther  <rguenther@suse.de>
3391         * c-common.c (c_common_get_alias_set): Remove special
3392         handling for pointers.
3394 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3396         * c-common.c: Use FOR_EACH_VEC_ELT.
3397         * c-gimplify.c: Likewise.
3398         * c-pragma.c: Likewise.
3400 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3402         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3403         RejectDriver.
3404         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
3405         RejectDriver.
3406         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3407         instead of OPT_MDX and OPT_MMDX.
3409 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3411         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3413 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
3415         * c.opt (MD, MMD): Change to MDX and MMDX.
3416         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3418 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
3420         * c-opts.c (c_common_handle_option): Call handle_generated_option
3421         instead of handle_option.
3423 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3425         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3426         (maybe_apply_renaming_pragma): Delete unneeded declarations.
3428 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3430         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3431         (pending_redefine_extname): Change type to a VEC.
3432         (add_to_renaming_pragma_list): Update for new type of
3433         pending_redefine_extname.
3434         (maybe_apply_renaming_pragma): Likewise.
3436 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
3438         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3439         visited.
3440         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3441         decide whether a type has already been declared/seen.
3442         Do not go to the original type.
3443         (dump_nested_types): New parameter forward.
3444         Generate forward declaration if needed and mark type as visited.
3445         (print_ada_declaration): Call dump_nested_types if not already done.
3446         Mark types as visited.
3448 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
3450         * c.opt (-print-pch-checksum): Remove option.
3451         * c-opts.c (c_common_handle_option): Don't handle
3452         OPT_print_pch_checksum.
3454 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3456         * c-common.h (c_common_handle_option): Update prototype and return
3457         value type.
3458         * c-opts.c (c_common_handle_option): Update prototype and return
3459         value type.  Update calls to handle_option and
3460         enable_warning_as_error.
3462 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
3464         PR c/45079
3465         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3467 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3469         * c-common.h (c_common_missing_argument): Remove.
3470         * c-opts.c (c_common_missing_argument): Remove.
3471         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3472         idirafter, imacros, include, isysroot, isystem, iquote): Add
3473         MissingArgError.
3474         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3476 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3478         * c-common.h (c_common_option_lang_mask,
3479         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3480         New.
3481         (c_common_init_options): Update prototype.
3482         * c-opts.c (c_common_option_lang_mask): New.
3483         (c_common_initialize_diagnostics): Split out of
3484         c_common_init_options.
3485         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3486         New.
3487         (c_common_init_options): Update prototype.  Use decoded options in
3488         search for -lang-asm.
3490 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3492         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3493         * c-format.c: Likewise.
3495 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3497         * c-common.h: Include diagnostic-core.h. Error if already
3498         included.
3499         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3501 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3503         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3504         Do not include expr.h
3505         (vector_mode_valid_p): Move here.
3507 2010-06-21  DJ Delorie  <dj@redhat.com>
3509         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3510         allow these pragmas anywhere.
3512 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
3514         PR bootstrap/44509
3515         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3516         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3517         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3518         ggc_strdup instead of xstrdup.
3520 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
3522         * c-cppbuiltin.c: Include cpp-id-data.h.
3523         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3524         (lazy_hex_fp_value): New function.
3525         (builtin_define_with_hex_fp_value): Provide definitions lazily.
3527 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3529         * c-gimplify.c: Do not include tree-flow.h
3531 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3533         PR other/44034
3534         * c-common.c: Rename targetm member:
3535         targetm.enum_va_list -> targetm.enum_va_list_p
3537 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
3539         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3541 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3543         * c-cppbuiltin.c: Do not include except.h.
3545 2010-06-24  Andi Kleen  <ak@linux.intel.com>
3547         * c-common.c (warn_for_omitted_condop): New.
3548         * c-common.h (warn_for_omitted_condop): Add prototype.
3550 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
3552         * c.opt (lang-objc): Remove.
3553         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3555 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3557         * c-opts.c: Include "tm_p.h".
3559 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
3561         * c-common.c (parse_optimize_options): Update call to
3562         decode_options.
3564 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3566         * c-common.c (record_types_used_by_current_var_decl): Adjust for
3567         new type of types_used_by_cur_var_decl.
3569 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3571         PR bootstrap/44512
3572         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3573         for C++ standard compliance.
3575 2010-06-16  Jason Merrill  <jason@redhat.com>
3577         * c.opt: Add -Wnoexcept.
3579 2010-06-16  Richard Guenther  <rguenther@suse.de>
3581         PR c/44555
3582         * c-common.c (c_common_truthvalue_conversion): Remove
3583         premature and wrong optimization concering ADDR_EXPRs.
3585 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
3587         * c-ada-spec.c (dump_sloc): Remove column info.
3588         (is_simple_enum): New function.
3589         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3590         enum types when relevant.
3592 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3594         * c-common.c (conversion_warning): Warn at expression
3595         location.
3597 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
3599         * c-opts.c (c_common_handle_option): Don't handle
3600         OPT_fshow_column.
3602 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3604         * c-pragma.c (push_alignment): Use typed GC allocation.
3605         (handle_pragma_push_options): Likewise.
3607         * c-common.c (parse_optimize_options): Likewise.
3609         * c-common.h (struct sorted_fields_type): Add variable_size GTY
3610         option.
3612 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
3614         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3615         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3616         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3617         flag_signed_bitfields, warn_strict_null_sentinel,
3618         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3619         flag_gen_declaration, flag_no_gnu_keywords,
3620         flag_implement_inlines, flag_implicit_templates,
3621         flag_implicit_inline_templates, flag_optional_diags,
3622         flag_elide_constructors, flag_default_inline, flag_rtti,
3623         flag_conserve_space, flag_access_control, flag_check_new,
3624         flag_new_for_scope, flag_weak, flag_working_directory,
3625         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3626         flag_enforce_eh_specs, flag_threadsafe_statics,
3627         flag_pretty_templates): Remove.
3628         * c-common.h (flag_preprocess_only, flag_nil_receivers,
3629         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3630         flag_replace_objc_classes, flag_undef, flag_no_builtin,
3631         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3632         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3633         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3634         flag_no_gnu_keywords, flag_implement_inlines,
3635         flag_implicit_templates, flag_implicit_inline_templates,
3636         flag_optional_diags, flag_elide_constructors, flag_default_inline,
3637         flag_rtti, flag_conserve_space, flag_access_control,
3638         flag_check_new, flag_new_for_scope, flag_weak,
3639         flag_working_directory, flag_use_cxa_atexit,
3640         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3641         flag_threadsafe_statics, flag_pretty_templates,
3642         warn_strict_null_sentinel): Remove.
3643         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3644         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3645         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3646         fimplicit-inline-templates, fimplicit-templates,
3647         flax-vector-conversions, fms-extensions, fnil-receivers,
3648         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3649         frtti, fshort-double, fshort-enums, fshort-wchar,
3650         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3651         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3652         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3653         gen-decls, undef): Use Var.
3654         (fdefault-inline, foptional-diags): Document as doing nothing.
3655         * c-opts.c (c_common_handle_option): Remove cases for options now
3656         using Var.  Mark ignored options as such.
3658 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3660         * c-common.c: Moved to here from parent directory.
3661         * c-common.def: Likewise.
3662         * c-common.h: Likewise.
3663         * c-cppbuiltin.c: Likewise.
3664         * c-dump.c: Likewise.
3665         * c-format.c: Likewise.
3666         * c-format.h : Likewise.
3667         * c-gimplify.c: Likewise.
3668         * c-lex.c: Likewise.
3669         * c-omp.c: Likewise.
3670         * c.opt: Likewise.
3671         * c-opts.c: Likewise.
3672         * c-pch.c: Likewise.
3673         * c-ppoutput.c: Likewise.
3674         * c-pragma.c: Likewise.
3675         * c-pragma.h: Likewise.
3676         * c-pretty-print.c: Likewise.
3677         * c-pretty-print.h: Likewise.
3678         * c-semantics.c: Likewise.
3679         * stub-objc.c: Likewise.
3681         * c-common.c: Include gt-c-family-c-common.h.
3682         * c-pragma.c: Include gt-c-family-c-pragma.h.
3684 Copyright (C) 2010-2014 Free Software Foundation, Inc.
3686 Copying and distribution of this file, with or without modification,
3687 are permitted in any medium without royalty provided the copyright
3688 notice and this notice are preserved.