Merge branches/gcc-4_9-branch rev 225109.
[official-gcc.git] / gcc-4_9-branch / gcc / c-family / ChangeLog
blob86ecae988f3668db07e29989cf2dcf4ecb2a0635
1 2015-06-26  Release Manager
3         * GCC 4.9.3 released.
5 2015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
7         * g++.dg/other/dump-ada-spec-3.C: Remove include and adjust.
9 2015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
10             Jonathan Wakely  <jwakely.gcc@gmail.com>
12         * c-ada-spec.c (dump_ada_double_name): Fix pasto.
14 2015-03-05  Eric Botcazou  <ebotcazou@adacore.com>
16         PR ada/65319
17         * c-ada-spec.c (print_destructor): Remove obsolete code.
19 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
21         Backported from mainline
22         2015-02-04  Jakub Jelinek  <jakub@redhat.com>
24         PR c/64824
25         PR c/64868
26         * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
27         instead of RDIV_EXPR.  Use build_binary_op instead of
28         build2_loc.
30 2015-02-11  Richard Biener  <rguenther@suse.de>
32         Backport from mainline
33         2014-07-24  Marek Polacek  <polacek@redhat.com>
35         PR c/57653
36         * c-opts.c (c_finish_options): If -imacros is in effect, return.
38 2015-01-20  Marek Polacek  <polacek@redhat.com>
40         Backport from mainline
41         2014-06-23  Marek Polacek  <polacek@redhat.com>
43         PR c/61553
44         * c-common.c (get_atomic_generic_size): Don't segfault if the
45         type doesn't have a size.
47 2014-10-30  Release Manager
49         * GCC 4.9.2 released.
51 2014-10-10  Jakub Jelinek  <jakub@redhat.com>
53         PR c/63495
54         * c-common.c (min_align_of_type): Don't decrease alignment
55         through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if
56         TYPE_USER_ALIGN is set.
58 2014-10-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
60         Implement SD-6: SG10 Feature Test Recommendations
61         * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
62         macros and the __has_header macro.
64 2014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
66         PR other/61962
67         * array-notation-common.c (find_rank): Added handling for other
68         types of references.
70 2014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
72         PR middle-end/61455
73         * array-notation-common.c (extract_array_notation_exprs): Handling
74         of DECL_EXPR added.
76 2014-07-17  Richard Biener  <rguenther@suse.de>
78         Backport from mainline
79         2014-07-09  Richard Biener  <rguenther@suse.de>
81         PR c-family/61741
82         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
83         using unsigned arithmetic if overflow does not wrap instead of
84         if overflow is undefined.
86 2014-07-16  Release Manager
88         * GCC 4.9.1 released.
90 2014-06-30  Jakub Jelinek  <jakub@redhat.com>
92         Backported from mainline
93         2014-06-10  Jakub Jelinek  <jakub@redhat.com>
95         PR fortran/60928
96         * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
97         (omp_pragmas): ... back here.
99 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
101         PR middle-end/61486
102         * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
103         #pragma omp target teams or
104         #pragma omp {,target }teams distribute simd.
106 2014-06-04  Marek Polacek  <polacek@redhat.com>
108         Backport from mainline
109         2014-05-08  Marek Polacek  <polacek@redhat.com>
111         PR c/61053
112         * c-common.c (min_align_of_type): New function factored out from...
113         (c_sizeof_or_alignof_type): ...here.
114         * c-common.h (min_align_of_type): Declare.
116 2014-05-06  Richard Biener  <rguenther@suse.de>
118         * c-opts.c (c_common_post_options): For -freestanding,
119         -fno-hosted and -fno-builtin disable pattern recognition
120         if not enabled explicitely.
122 2014-04-22  Richard Biener  <rguenther@suse.de>
124         Backport from mainline
125         2014-04-14  Richard Biener  <rguenther@suse.de>
126                 Marc Glisse  <marc.glisse@inria.fr>
128         PR c/60819
129         * c-common.c (convert_vector_to_pointer_for_subscript): Properly
130         apply may-alias the scalar pointer type when applicable.
132 2014-04-22  Release Manager
134         * GCC 4.9.0 released.
136 2014-04-15  Igor Zamyatin  <igor.zamyatin@intel.com>
138         PR middle-end/60467
139         * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
140         as possible argument for Cilk_spawn.
142 2014-04-08  Marek Polacek  <polacek@redhat.com>
144         PR sanitizer/60745
145         * c-ubsan.c: Include asan.h.
146         (ubsan_instrument_return): Call initialize_sanitizer_builtins.
148 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
150         * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
152 2014-04-02  Marek Polacek  <polacek@redhat.com>
154         * c-common.h (c_expand_expr): Remove declaration.
156 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
158         PR c++/60689
159         * c-common.c (add_atomic_size_parameter): When creating new
160         params vector, push the size argument first.
162 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
164         * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
165         ubsan_instrument_vla, ubsan_instrument_return): Adjust
166         ubsan_create_data callers.
168 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
170         PR debug/60603
171         * c-opts.c (c_finish_options): Restore cb_file_change call to
172         <built-in>.
174 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
176         PR middle-end/36282
177         * c-pragma.c (apply_pragma_weak): Only look at
178         TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
179         DECL_ASSEMBLER_NAME_SET_P (decl).
180         (maybe_apply_pending_pragma_weaks): Exit early if
181         vec_safe_is_empty (pending_weaks) rather than only when
182         !pending_weaks.
183         (maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
184         set assembler name back to NULL afterwards.
186 2014-03-11  Jason Merrill  <jason@redhat.com>
188         * c.opt: Add -std=gnu++14.
190 2014-03-11  Ian Bolton  <ian.bolton@arm.com>
192         * c-opts.c (c_common_post_options): Don't override
193         -ffp-contract=fast if unsafe-math-optimizations is on.
195 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
197     * c.opt: Enable LTO FE for fshort-double.
199 2014-03-07  Jason Merrill  <jason@redhat.com>
201         * c.opt: Add -std=c++14.
203 2014-03-06  Marek Polacek  <polacek@redhat.com>
205         PR c/60197
206         * cilk.c (contains_cilk_spawn_stmt): New function.
207         (contains_cilk_spawn_stmt_walker): Likewise.
208         (recognize_spawn): Give error on invalid use of _Cilk_spawn.
209         * c-common.h (contains_cilk_spawn_stmt): Add declaration.
211 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
213         * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
214         (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
215         even when flag_preprocess_only.
217 2014-02-26  Jason Merrill  <jason@redhat.com>
219         PR c++/59231
220         PR c++/11586
221         * c-common.c (shorten_compare): Don't check
222         c_inhibit_evaluation_warnings.
224 2014-02-19  Jakub Jelinek  <jakub@redhat.com>
226         PR c/37743
227         * c-common.c (c_common_nodes_and_builtins): When initializing
228         c_uint{16,32,64}_type_node, also set corresponding
229         uint{16,32,64}_type_node to the same value.
231         PR c++/60267
232         * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
233         for PRAGMA_IVDEP if flag_preprocess_only.
235 2014-02-12  Jakub Jelinek  <jakub@redhat.com>
237         PR c/60101
238         * c-common.c (merge_tlist): If copy is true, call new_tlist,
239         if false, add ADD itself, rather than vice versa.
240         (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
241         copy.  For SAVE_EXPR, only call merge_tlist once.
243 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
245         PR middle-end/60092
246         * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
247         and tree_to_uhwi.
248         (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
249         functions.
250         (c_common_attribute_table): Add alloc_align and assume_aligned
251         attributes.
253 2014-02-06  Marek Polacek  <polacek@redhat.com>
255         PR c/60087
256         * c-common.c (warn_for_sign_compare): Call warning_at with location
257         instead of warning.
259 2014-02-05  Marek Polacek  <polacek@redhat.com>
261         PR c/53123
262         * c-omp.c (c_finish_omp_atomic): Remove unreachable return
263         statement.
265 2014-02-04  Marek Polacek  <polacek@redhat.com>
267         PR c/60036
268         * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
269         SAVE_EXPR.
271 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
273         PR c++/53017
274         PR c++/59211
275         * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
276         handle_vector_size_attribute, handle_nonnull_attribute): Call
277         default_conversion on the attribute argument.
278         (handle_nonnull_attribute): Increment the argument number.
280 2014-01-31  Marek Polacek  <polacek@redhat.com>
282         PR c/59963
283         * c-common.c (add_atomic_size_parameter): Pass vNULL to
284         build_function_call_vec.
285         (resolve_overloaded_builtin): Likewise.
286         * c-common.h (build_function_call_vec): Adjust declaration.
288 2014-01-30  Marek Polacek  <polacek@redhat.com>
290         PR c/59940
291         * c-common.h (unsafe_conversion_p): Adjust declaration.
292         (warnings_for_convert_and_check): Likewise.
293         (convert_and_check): Likewise.
294         * c-common.c (unsafe_conversion_p): Add location parameter.  Call
295         expansion_point_location_if_in_system_header on it.
296         (warnings_for_convert_and_check): Add location parameter.  Call
297         expansion_point_location_if_in_system_header on it.  Use it.
298         (convert_and_check): Add location parameter.  Use it.
299         (conversion_warning): Likewise.
300         (c_add_case_label): Adjust convert_and_check calls.
301         (scalar_to_vector): Adjust unsafe_conversion_p calls.
303 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
305         * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
306         flag_cilkplus.
307         * c-pragma.c (init_pragma): Likewise.
308         * c.opt: Likewise.
310 2014-01-23  Marek Polacek  <polacek@redhat.com>
312         PR c/59846
313         * c-common.c (shorten_compare): Add location_t parameter.
314         * c-common.h (shorten_binary_op): Adjust declaration.
316 2014-01-23  Marek Polacek  <polacek@redhat.com>
318         PR c/58346
319         * c-common.c (pointer_to_zero_sized_aggr_p): New function.
320         * c-common.h: Declare it.
322 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
324         * c-ada-spec.h (dump_ada_specs): Revert prototype change.
325         * c-ada-spec.c (dump_ads): Likewise.
326         (cpp_check): Likewise.
327         (dump_ada_specs): Likewise.
329 2014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
331         PR c++/49718
332         * c-common.c (handle_no_instrument_function_attribute): Allow
333         no_instrument_function attribute in class member
334         definition/declaration.
336 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
338         PR c/58943
339         * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
340         build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
341         being COMPOUND_EXPR.
342         (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
343         operand a SAVE_EXPR and second MODIFY_EXPR.
345 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
347         PR target/58115
348         * c-pch.c (c_common_write_pch): Call
349         prepare_target_option_nodes_for_pch.
351 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
353         Update copyright years
355 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
357         * array-notation-common.c, c-cilkplus.c: Use the standard form for
358         the copyright notice.
360 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
362         * c-ada-spec.c (print_constructor): New function.
363         (print_destructor): Retrieve the origin of the destructor.
364         (print_ada_declaration): Revamp handling of constructors/destructors.
366 2013-12-23  Stuart Hastings <stuart@apple.com>
367             Bill Maddox  <maddox@google.com>
368             Jason Merrill  <jason@redhat.com>
370         * c.opt: Add -fdeclone-ctor-dtor.
371         * c-opts.c (c_common_post_options): Default to on iff -Os.
373 2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
375         * c-common.c (c_common_attribute_table): Added "cilk simd function"
376         attribute.
377         * c-pragma.h (enum pragma_cilk_clause): Remove.
378         (enum pragma_omp_clause):  Added the following fields:
379         PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
380         PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
381         PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
382         PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
383         PRAGMA_CILK_CLAUSE_UNIFORM.
385         
386 2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
388         * cilk.c (cilk_outline): Made this function non-static.
389         (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
390         (create_cilk_wrapper): Added a new parameter: a function pointer.
391         (c_install_body_w_frame_cleanup): Remove
392         (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
393         * c-common.h (cilk_outline): New prototype.
394         (gimplify_cilk_spawn): Removed two parameters.
395         (cilk_install_body_with_frame_cleanup): New prototype.
396         * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
397         CILK_SPAWN_STMT case.
399 2013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
401         * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
403         * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
404         (int_array_type_node): Remove.
405         * c-common.c (c_common_nodes_and_builtins): Don't build it.
407 2013-12-05  Marek Polacek  <polacek@redhat.com>
409         PR c/52023
410         * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
411         [ADJUST_FIELD_ALIGN].
413 2013-12-04  Joseph Myers  <joseph@codesourcery.com>
415         PR c/52023
416         * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
417         and check field alignment if set.
418         * c-common.h (c_sizeof_or_alignof_type): Update prototype.
419         (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
421 2013-12-04  Jakub Jelinek  <jakub@redhat.com>  
422             Marek Polacek  <polacek@redhat.com>
424         * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
425         sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
427 2013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
429         PR c/59309
430         * cilk.c (gimplify_cilk_spawn): Properly handle function without
431         arguments.
433 2013-11-29  Jakub Jelinek  <jakub@redhat.com>
435         PR c/59280
436         * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
437         goto invalid.  If it is error_mark_node, don't issue further
438         diagnostics.
440 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
442         * c.opt (Wopenmp-simd): New.
444 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
446         * c-ubsan.h (ubsan_instrument_return): New prototype.
447         * c-ubsan.c (ubsan_instrument_return): New function.
449 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
451         * c-common.c: Add required include files from gimple.h.
452         * c-gimplify.c: Likewise
453         * cilk.c: Likewise
455 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
457         * c-common.c (unsafe_conversion_p): Remove use of
458         EXPR_LOC_OR_HERE macro.
459         (conversion_warning): Likewise.
460         (warnings_for_convert_and_check): Likewise.
461         (warn_for_collisions_1): Likewise.
462         (shorten_compare): Likewise, and remove use of in_system_header
463         macro, using the location from the former.
464         * c-lex.c (dump_one_header): Remove use of input_filename macro.
465         (cb_def_pragma): Remove use of in_system_header macro.
466         (lex_string): Likewise.
467         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
469 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
470             Mike Stump  <mikestump@comcast.net>
471             Richard Sandiford  <rdsandiford@googlemail.com>
473         * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
474         instead of TREE_INT_CST_LOW, in cases where there is a protecting
475         tree_fits_shwi_p or tree_fits_uhwi_p.
476         (dump_generic_ada_node): Likewise.
477         * c-format.c (check_format_arg): Likewise.
478         * c-pretty-print.c (pp_c_integer_constant): Likewise.
480 2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
482         * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
484 2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
486         PR c/53001
487         * c-common.c (unsafe_conversion_p): Make this function
488         return an enumeration with more detail.
489         (conversion_warning): Use the new return type of
490         unsafe_conversion_p to separately warn either about conversions
491         that lower floating point number precision or about the other
492         kinds of conversions.
493         * c-common.h (enum conversion_safety): New enumeration.
494         (unsafe_conversion_p): switching return type to
495         conversion_safety enumeration.
496         * c.opt: Adding new warning -Wfloat-conversion and
497         enabling it with -Wconversion.
499 2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
501         * c-opts.c: Include plugin.h.
502         (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
504 2013-11-19  Marek Polacek  <polacek@redhat.com>
506         * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
507         call.
508         (ubsan_instrument_shift): Likewise.
509         (ubsan_instrument_vla): Likewise.
511 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
513         * c-common.c (convert_vector_to_pointer_for_subscript): Remove
514         cast to unsigned type.
516 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
518         * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
519         tree_low_cst.
520         (complete_array_type): Update comment to refer to tree_to_[su]hwi
521         rather than tree_low_cst.
523 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
525         * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
526         tree_to_uhwi throughout.
528 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
530         * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
531         tree_low_cst (..., 0) with tree_to_shwi throughout.
533 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
535         * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
536         host_integerp (..., 1) with tree_fits_uhwi_p throughout.
538 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
540         * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
541         host_integerp (..., 0) with tree_fits_shwi_p throughout.
543 2013-11-15  Aldy Hernandez  <aldyh@redhat.com>
545         * c-cilkplus.c: New file.
546         * c-common.c (readonly_error): Add location argument.
547         * c-common.h (readonly_error): Same.
548         (c_finish_cilk_clauses): Protoize.
549         (c_check_cilk_loop): Same.
550         c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
551         Do not fail on error_mark_node.
552         Abstract increment canonicalization to here...
553         (c_omp_for_incr_canonicalize_ptr): New.
554         c-pragma.c (init_pragma): Register "simd" pragma.
555         c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
556         (enum pragma_cilk_clause): New.
558 2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
560         * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
561         wchar_type and host_integerp checks.
563 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
565         * c-common.c: Likewise.
566         * c-gimplify.c: Likewise.
567         * cilk.c: Likewise.
569 2013-11-14  Diego Novillo  <dnovillo@google.com>
571         * c-common.c: Include fold-const.h.
572         Include stor-layout.h.
573         Include calls.h.
574         Include stringpool.h.
575         Include attribs.h.
576         Include varasm.h.
577         Include trans-mem.h.
578         * c-cppbuiltin.c: Include stor-layout.h.
579         Include stringpool.h.
580         * c-format.c: Include stringpool.h.
581         * c-lex.c: Include stringpool.h.
582         Include stor-layout.h.
583         * c-pragma.c: Include stringpool.h.
584         Include attribs.h.
585         Include varasm.h.
586         Include gcc-symtab.h.
587         * c-pretty-print.c: Include stor-layout.h.
588         Include attribs.h.
589         * cilk.c: Include stringpool.h.
590         Include calls.h.
592 2013-11-13  Joseph Myers  <joseph@codesourcery.com>
594         * c-common.h (enum rid): Add RID_AUTO_TYPE.
595         * c-common.c (c_common_reswords): Add __auto_type.
596         (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
598 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
600         * c-common.c: Include gimplify.h.
601         * c-gimplify.c: Likewise.
602         * cilk.c: Likewise.
603         * c-omp.c: Include gimple-expr.h instead of gimple.h.
604         * c-ubsan.c: Don't include gimple.h.
606 2013-11-12  Joseph Myers  <joseph@codesourcery.com>
608         * c-common.c (c_common_reswords): Add _Thread_local.
610 2013-11-09  Joseph Myers  <joseph@codesourcery.com>
612         * c-common.c (atomic_size_supported_p): New function.
613         (resolve_overloaded_atomic_exchange)
614         (resolve_overloaded_atomic_compare_exchange)
615         (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
616         Use it instead of comparing size with a local list of sizes.
618 2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
619             Joseph Myers  <joseph@codesourcery.com>
621         * c-common.h (enum rid): Add RID_ATOMIC.
622         * c-common.c (c_common_reswords): Add _Atomic.
623         (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
624         (keyword_is_type_qualifier): Accept RID_ATOMIC.
625         * c-format.c (check_format_types): Check for extra _Atomic
626         qualifiers in format argument.
627         * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
628         (pp_c_type_qualifier_list): Mention _Atomic in comment.
630 2013-11-06  Tobias Burnus  <burnus@net-b.de>
632         * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
634 2013-11-06  Joseph Myers  <joseph@codesourcery.com>
636         * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
637         standards modes.
638         * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
639         to mean lack of IEEE 754 support.
641 2013-11-05  Tobias Burnus  <burnus@net-b.de>
643         * c.opt (-Wdate-time): New option
644         * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
646 2013-11-05  Joseph Myers  <joseph@codesourcery.com>
648         * c-cppbuiltin.c (cpp_iec_559_value): Test
649         flag_excess_precision_cmdline not flag_excess_precision.
651 2013-11-05  Tobias Burnus  <burnus@net-b.de>
653         * c.opt (fopenmp-simd): New option.
654         * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
655         (omp_pragmas): ... this new struct.
656         (c_pp_lookup_pragma): Also walk omp_pragmas.
657         (init_pragma): Init pragmas for -fopenmp-simd.
659 2013-11-04  Marek Polacek  <polacek@redhat.com>
661         PR c++/58979
662         * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
664 2013-11-04  Joseph Myers  <joseph@codesourcery.com>
666         * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
667         New functions.
668         (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
670 2013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
672         * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
673         (dump_ada_specs): Adjust prototype of second callback.
674         * c-ada-spec.c (cpp_check): New global variable.
675         (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
676         (print_generic_ada_decl): Likewise.
677         (has_static_fields): Change return type to bool and add guard.
678         (has_nontrivial_methods): New predicate.
679         (is_tagged_type): Change return type to bool.
680         (separate_class_package): Call has_nontrivial_methods.
681         (pp_ada_tree_identifier): Minor tweaks.
682         (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
683         (dump_ada_array_domains): Likewise.
684         (dump_ada_array_type): Likewise.
685         (dump_template_types): Remove cpp_check parameter and do not pass it to
686         dump_generic_ada_node.
687         (dump_ada_template): Likewise.
688         (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
689         recursively.
690         (print_ada_methods): Change return type to integer.  Remove cpp_check
691         parameter and do not pass it down.
692         (dump_nested_types): Remove cpp_check parameter and do not pass it to
693         dump_generic_ada_node.
694         (print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
695         accessing methods.
696         (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
697         down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
698         value of print_ada_methods.
699         (dump_ads): Rename cpp_check parameter to check and adjust prototype.
700         Set cpp_check to it before invoking dump_ada_nodes.
701         (dump_ada_specs): Likewise.
703 2013-11-03  Marek Polacek  <polacek@redhat.com>
705         * c-ubsan.c: Don't include hash-table.h.
706         (ubsan_instrument_vla): New function.
707         * c-ubsan.h: Declare it.
709 2013-10-31  David Malcolm  <dmalcolm@redhat.com>
711         Automated part of renaming of symtab_node_base to symtab_node.
713         Patch autogenerated by rename_symtab.py from
714         https://github.com/davidmalcolm/gcc-refactoring-scripts
715         revision 58bb219cc090b2f4516a9297d868c245495ee622
717         * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
718         symtab_node_base to symtab_node.
720 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
722         Implement C++14 digit separators.
723         * c-lex.c (interpret_float): Remove digit separators from scratch string
724         before building real literal.
726 2013-10-30  Jakub Jelinek  <jakub@redhat.com>
728         * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
730 2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
732         * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
733         fields.
734         (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
735         enabled.
736         * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
737         (insert_cilk_frame): New prototype.
738         (cilk_init_builtins): Likewise.
739         (gimplify_cilk_spawn): Likewise.
740         (c_cilk_install_body_w_frame_cleanup): Likewise.
741         (cilk_detect_spawn_and_unwrap): Likewise.
742         (cilk_set_spawn_marker): Likewise.
743         (build_cilk_sync): Likewise.
744         (build_cilk_spawn): Likewise.
745         * cilk.c: New file.
747 2013-10-29  David Malcolm  <dmalcolm@redhat.com>
749         Patch autogenerated by refactor_symtab.py from
750         https://github.com/davidmalcolm/gcc-refactoring-scripts
751         revision 58bb219cc090b2f4516a9297d868c245495ee622
753         * c-gimplify.c (c_genericize): Update for conversion of symtab types
754         to a true class hierarchy.
755         * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
757 2013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
759         * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
761 2013-10-26  Jeff Law  <law@redhat.com>
763         * c-family/c-common.c (c_define_builtins): Remove mudflap support.
764         * c-family/c.opt: Ignore and warn for mudflap options.
766 2013-10-24  Tobias Burnus  <burnus@net-b.de>
768         PR other/33426
769         * c-pragma.c (init_pragma) Add #pragma ivdep handling.
770         * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
772 2013-10-23  Jason Merrill  <jason@redhat.com>
774         * c-format.c (gcc_cxxdiag_char_table): Add %X.
776 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
778         * c-common.h (omp_clause_mask::operator !=): New method.
779         * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
780         instead of if (mask & something) tests everywhere.
782         * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
783         201307 instead of 201107.
784         * c-common.c (DEF_FUNCTION_TYPE_8): Define.
785         (c_common_attribute_table): Add "omp declare target" and
786         "omp declare simd" attributes.
787         (handle_omp_declare_target_attribute,
788         handle_omp_declare_simd_attribute): New functions.
789         * c-omp.c: Include c-pragma.h.
790         (c_finish_omp_taskgroup): New function.
791         (c_finish_omp_atomic): Add swapped argument, if true,
792         build the operation first with rhs, lhs arguments and use NOP_EXPR
793         build_modify_expr.
794         (c_finish_omp_for): Add code argument, pass it down to make_code.
795         (c_omp_split_clauses): New function.
796         (c_split_parallel_clauses): Removed.
797         (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
798         c_omp_declare_simd_clauses_to_decls): New functions.
799         * c-common.h (omp_clause_mask): New type.
800         (OMP_CLAUSE_MASK_1): Define.
801         (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
802         omp_clause_mask::operator |=, omp_clause_mask::operator ~,
803         omp_clause_mask::operator |, omp_clause_mask::operator &,
804         omp_clause_mask::operator <<, omp_clause_mask::operator >>,
805         omp_clause_mask::operator ==): New methods.
806         (enum c_omp_clause_split): New.
807         (c_finish_omp_taskgroup): New prototype.
808         (c_finish_omp_atomic): Add swapped argument.
809         (c_finish_omp_for): Add code argument.
810         (c_omp_split_clauses): New prototype.
811         (c_split_parallel_clauses): Removed.
812         (c_omp_declare_simd_clauses_to_numbers,
813         c_omp_declare_simd_clauses_to_decls): New prototypes.
814         * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
815         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
816         PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
817         PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
818         PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
819         Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
820         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
821         PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
822         PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
823         PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
824         PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
825         PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
826         PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
827         PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
828         PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
829         PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
830         PRAGMA_OMP_CLAUSE_UNIFORM.
832 2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
834         PR tree-optimization/20318
835         * c-common.c (handle_returns_nonnull_attribute): New function.
836         (c_common_attribute_table): Add returns_nonnull.
838 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
840         PR c++/19476
841         * c.opt (fcheck-new): Move to common.opt.
843 2013-09-25  Marek Polacek  <polacek@redhat.com>
844             Jakub Jelinek  <jakub@redhat.com>
846         PR sanitizer/58413
847         * c-ubsan.c (ubsan_instrument_shift): Don't instrument
848         an expression if we can prove it is correct.
849         (ubsan_instrument_division): Likewise.  Remove unnecessary
850         check.
852 2013-09-18  Marek Polacek  <polacek@redhat.com>
854         PR sanitizer/58411
855         * c-common.c (handle_no_sanitize_undefined_attribute): New function.
856         Declare it.
857         (struct attribute_spec c_common_att): Add no_sanitize_undefined.
859 2013-09-14  Iain Sandoe  <iain@codesourcery.com>
861         PR target/48094
862         * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
863         fobjc-gc, freplace-objc-classes): Accept for LTO.
865 2013-09-13  Jacek Caban  <jacek@codeweavers.com>
867         * c-target.def: New hook
869 2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
871         PR c++/43452
872         * c.opt (Wdelete-incomplete): Add.
874 2013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
876         * c-common.c (same_scalar_type_ignoring_signedness): Delete.
877         (vector_types_compatible_elements_p): New function.
878         * c-common.h: (same_scalar_type_ignoring_signedness): Delete
879         declaration.
880         (vector_types_compatible_elements_p): Declare.
882 2013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
884         * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
885         a virtual member function.
886         (pp_simple_type_specifier): Remove.
887         (pp_c_type_specifier): Likewise.
888         * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
889         Rename from pp_c_type_specifier.  Adjust.
890         (c_pretty_printer::c_pretty_printer): Do not assign to
891         simple_type_specifier.
893 2013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
895         * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
896         member function.
897         (c_pretty_printer::storage_class_specifier): Likewise.
898         (c_pretty_printer::initializer): Likewise.
899         (pp_declaration): Remove.
900         (pp_declaration_specifiers): Likewise.
901         (pp_abstract_declarator): Likewise.
902         (pp_declarator): Likewise.
903         (pp_type_id): Likewise.
904         (pp_statement): Likewise.
905         (pp_constant): Likewise.
906         (pp_id_expression): Likewise.
907         (pp_primary_expression): Likewise.
908         (pp_unary_expression): Likewise.
909         (pp_multiplicative_expression): Likewise.
910         (pp_conditional_expression): Likewise.
911         (pp_assignment_expression): Likewise.
912         (pp_expression): Likewise.
913         (pp_c_type_id): Likewise.
914         (pp_c_storage_class_specifier): Likewise.
915         * c-pretty-print.c (pp_c_type_cast): Tidy.
916         (pp_c_pointer): Likewise.
917         (pp_c_type_specifier): Likewise.
918         (pp_c_parameter_type_list): Likewise.
919         (pp_c_function_definition): Likewise.
920         (pp_c_init_declarator): Likewise.
921         (pp_c_initializer_list): Likewise.
922         (pp_c_constructor_elts): Likewise.
923         (c_pretty_printer::direct_abstract_declarator): Likewise.
924         (c_pretty_printer::declaration_specifiers): Likewise.
925         (c_pretty_printer::primary_expression): Likewise.
926         (c_pretty_printer::postfix_expression): Likewise.
927         (c_pretty_printer::type_id): Rename from pp_c_type_id.
928         (c_pretty_printer::storage_class_specifier): Rename from
929         pp_c_storage_class_specifier.
930         (c_pretty_printer::initializer): Rename from pp_c_initializer.
931         (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
932         storage_class_specifier, initializer, offset_list, flags.
934 2013-08-30  Marek Polacek  <polacek@redhat.com>
936         * c-ubsan.c: New file.
937         * c-ubsan.h: New file.
939 2013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
941         * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
942         member function.
943         (c_pretty_printer::declaration_specifiers): Likewise.
944         (c_pretty_printer::declarator): Likewise.
945         (c_pretty_printer::abstract_declarator): Likewise.
946         (c_pretty_printer::direct_abstract_declarator): Likewise.
947         (c_pretty_printer::direct_declarator): Likewise.
948         (c_pretty_printer::function_specifier): Likewise.
949         (pp_declaration): Adjust.
950         (pp_declaration_specifiers): Likewise.
951         (pp_abstract_declarator): Likewise.
952         (pp_direct_declarator): Likewise.
953         (pp_function_specifier): Likewise.
954         (pp_direct_abstract_declarator): Remove as unused.
955         (pp_c_declaration): Remove.
956         (pp_c_declaration_specifiers): Likewise.
957         (pp_c_declarator): Likewise.
958         (pp_c_direct_declarator): Likewise.
959         (pp_c_function_specifier): Likewise.
960         (pp_c_direct_abstract_declarator): Likewise.
961         * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
962         from pp_c_abstract_declarator.  Adjust.
963         (c_pretty_printer::direct_abstract_declarator):  Rename from
964         pp_c_direct_abstract_declarator.  Adjust.
965         (c_pretty_printer::function_specifier): Rename from
966         pp_c_function_specifier.  Adjust.
967         (c_pretty_printer::declaration_specifiers): Rename from
968         pp_c_declaration_specifiers.  Adjust.
969         (c_pretty_printer::direct_declarator): Rename from
970         pp_c_direct_declarator.  Adjust.
971         (c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
972         (c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
973         (c_pretty_printer::c_pretty_printer): Do not assign to
974         declaration, declaration_specifiers, declarator,
975         direct_declarator, direct_abstract_declarator, function_specifier.
977 2013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
979         * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
980         virtual member function.
981         (c_pretty_printer::multiplicative_expression): Likewise.
982         (c_pretty_printer::conditional_expression): Likewise.
983         (c_pretty_printer::assignment_expression): Likewise.
984         (c_pretty_printer::expression): Likewise.
985         (pp_unary_expression): Adjust.
986         (pp_multiplicative_expression): Likewise.
987         (pp_assignment_expression): Likewise.
988         (pp_conditional_expression): Likewise.
989         (pp_expression): Likewise.
990         * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
991         from pp_c_unary_expression.  Adjust.
992         (c_pretty_printer::multiplicative_expression): Rename from
993         pp_c_multiplicative_expression.  Adjust.
994         (c_pretty_printer::conditional_expression): Rename from
995         pp_c_conditional_expression.  Adjust.
996         (c_pretty_printer::assignment_expression): Rename from
997         pp_c_assignment_expression.  Adjust.
998         (c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
999         (c_pretty_printer::c_pretty_printer): Do not assign to
1000         unary_expression, multiplicative_expression,
1001         conditional_expression, expression.
1003 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1005         * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1006         virtual member function.
1007         (pp_postfix_expression): Adjust.
1008         (pp_c_postfix_expression): Remove.
1009         * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1010         from pp_c_postfix_expression.  Adjust.
1011         (c_pretty_printer::c_pretty_printer): Do not assign to
1012         postfix_expression.
1014 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1016         * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1017         virtua member function.
1018         (pp_primary_expression): Adjust.
1019         (pp_c_primary_expression): Remove.
1020         * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1021         from pp_c_primary_expression.  Adjust.
1022         (pp_c_initializer_list): Use pp_primary_expression.
1023         (c_pretty_printer::c_pretty_printer): Do not assign to
1024         primary_expression.
1026 2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1028         * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1029         * c-pretty-print.c (M_): Remove.
1030         (c_pretty_printer::translate_string): Define.
1031         (pp_c_type_specifier): Use it.
1032         (pp_c_primary_expression): Likewise.
1033         (pp_c_expression): Likewise.
1035 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1037         * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1038         virtual function.
1039         (pp_c_id_expression): Remove.
1040         (pp_id_expression): Adjust.
1041         * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1042         pp_c_id_expression.  Adjust.
1043         (pp_c_postfix_expression): Use pp_id_expression.
1044         (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1046 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1048         * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1049         member function.
1050         (pp_constant): Adjust.
1051         (pp_c_constant): Remove.
1052         * c-pretty-print.c (c_pretty_printer::constant): Rename from
1053         pp_c_constant.  Adjust.
1054         (pp_c_constant)
1055         (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1056         (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1058 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1060         * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1061         (c_pretty_printer::c_pretty_printer): Declare.
1062         * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1063         c_pretty_printer_init.  Adjust.
1064         (print_c_tree): Do not call c_pretty_printer_init.
1065         * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1067 2013-08-09  Arnaud Charlet  <charlet@adacore.com>
1069         * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1071 2013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1073         PR c++/58080
1074         * c-common.c (pointer_int_sum): Add bool parameter.
1075         * c-common.h (pointer_int_sum): Adjust declaration.
1077 2013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1079         * c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1080         c_pretty_printer variable.
1082 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1084         * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1085         (pp_base): Remove.
1086         (pp_c_base): Likewise.  Adjust users.
1087         * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1088         (pp_c_whitespace): Do not call pp_base.
1089         (pp_c_left_paren): Likewise.
1090         (pp_c_right_paren): Likewise.
1091         (pp_c_left_brace): Likewise.
1092         (pp_c_right_brace): Likewise.
1093         (pp_c_left_bracket): Likewise.
1094         (pp_c_right_bracket): Likewise.
1095         (pp_c_dot): Likewise.
1096         (pp_c_ampersand): Likewise.
1097         (pp_c_star): Likewise.
1098         (pp_c_arrow): Likewise.
1099         (pp_c_semicolon): Likewise.
1100         (pp_c_complement): Likewise.
1101         (pp_c_exclamation): Likewise.
1102         (pp_c_direct_declarator): Likewise.
1103         (pp_c_ws_string): Likewise.
1104         (pp_c_identifier): Likewise.
1105         (pp_c_statement): Likewise.
1106         (print_c_tree): Likewise.
1108 2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1110         PR c++/58072
1111         * c-common.c (c_parse_error): Catch user-defined literal tokens and
1112         provide useful error strings.
1114 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1116         * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1117         printer functions instead of pp_string or operators and punctuators.
1118         (dump_generic_ada_node): Likewise.
1119         * c-pretty-print.c (pp_c_type_specifier): Likewise.
1120         (pp_c_relational_expression): Likewise.
1121         (pp_c_logical_or_expression): Likewise.
1123 2013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1125         * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1126         functions instead of pp_character.
1127         (pp_ada_tree_identifier): Likewise.
1128         (dump_ada_double_name): Likewise.
1129         (dump_ada_function_declaration): Likewise.
1130         (dump_ada_array_domains): Likewise.
1131         (dump_template_types): Likewise.
1132         (dump_generic_ada_node): Likewise.
1133         (print_ada_declaration): Likewise.
1134         (print_ada_struct_decl): Likewise.
1135         * c-pretty-print.c (pp_c_integer_constant): Likewise.
1137 2013-07-23  Tom Tromey  <tromey@redhat.com>
1139         * c-common.h (enum rid) <RID_GENERIC>: New constant.
1140         * c-common.c (c_common_reswords): Add _Generic.
1142 2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1144         * c-common.c: Fix typos.
1145         * c-common.h: Likewise.
1147 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1149         PR c++/55203
1150         * c-common.c (c_common_attribute_table): Add warn_unused.
1151         (handle_warn_unused_attribute): New.
1153 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
1155         * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1156         for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1158 2013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1160         PR c++/57869
1161         * c.opt: Add Wconditionally-supported.
1163 2013-07-08  Graham Stott  <graham.stott@btinternet.com>
1165         * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1166         unused variables l_length and l_node.
1168 2013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1170         PR c/57821
1171         * c-common.c (complete_array_type): Delay folding first index
1172         like other indices.  When folding, check for index overflow.
1174 2013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1176         PR c++/57509
1177         * c-common.h (c_build_vec_perm_expr): New complain argument.
1178         * c-common.c (c_build_vec_perm_expr): Likewise.
1179         Use save_expr also in C++.
1181 2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1183         * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1184         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1185         * c-opts.c (c_common_post_options): Likewise.
1187 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1189         * array-notation-common.c (length_mismatch_in_expr): Changed the
1190         parameter type's from a dynamic array to a vec_tree.  Also removed
1191         the size parameters.
1192         * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1193         the change above.
1195 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1197         * c-common.h (struct cilkplus_an_parts): New structure.
1198         (struct cilkplus_an_loop_parts): Likewise.
1199         (cilkplus_extract_an_triplets): New prototype.
1200         (fix_sec_implicit_args): Likewise.
1201         * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1202         (fix_sec_implicit_args): Likewise.
1204 2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1206         * array-notation-common.c (find_inv_trees): Removed an unwanted
1207         typecasting.
1208         * c-common.h (struct inv_list::additional_tcodes): Changed type from
1209         enum rid to enum tree_code.
1211 2013-06-11  Jan Hubicka  <jh@suse.cz>
1213         * c-common.c (handle_alias_ifunc_attribute): Do not set
1214         DECL_EXTERNAL for weakref variables.
1215         * c-pragma.c (handle_pragma_weak): Make sure aliases
1216         are not declared as external.
1218 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1220         * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1221         function from c/c-array-notation.c.
1222         (is_cilkplus_reduce_builtin): Likewise.
1223         (find_rank): Likewise.
1224         (extract_array_notation_exprs): Likewise.
1225         (replace_array_notations): Likewise.
1226         (find_inv_trees): Likewise.
1227         (replace_inv_trees): Likewise.
1228         (contains_array_notation_expr): Likewise.
1229         (find_correct_array_notation_type): Likewise.
1230         * c-common.h (struct inv_list): Moved this struct from the file
1231         c/c-array-notation.c and added a new field called additional tcodes.
1232         (length_mismatch_in_expr_p): New prototype.
1233         (is_cilkplus_reduce_builtin): Likewise.
1234         (find_rank): Likewise.
1235         (extract_array_notation_exprs): Likewise.
1236         (replace_array_notation): Likewise.
1237         (find_inv_trees): Likewise.
1238         (replace_inv_trees): Likewise.
1239         (find_correct_array_notation_type): Likewise.
1241 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1243         * c-common.c (c_define_builtins): When cilkplus is enabled, the
1244         function array_notation_init_builtins is called.
1245         (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1246         * c-common.def (ARRAY_NOTATION_REF): New tree.
1247         * c-common.h (build_array_notation_expr): New function declaration.
1248         (build_array_notation_ref): Likewise.
1249         (extract_sec_implicit_index_arg): New extern declaration.
1250         (is_sec_implicit_index_fn): Likewise.
1251         (ARRAY_NOTATION_CHECK): New define.
1252         (ARRAY_NOTATION_ARRAY): Likewise.
1253         (ARRAY_NOTATION_START): Likewise.
1254         (ARRAY_NOTATION_LENGTH): Likewise.
1255         (ARRAY_NOTATION_STRIDE): Likewise.
1256         * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1257         ARRAY_NOTATION_REF.
1258         (pp_c_expression): Likewise.
1259         * c.opt (flag_enable_cilkplus): New flag.
1260         * array-notation-common.c: New file.
1262 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1264         PR c++/57274
1265         * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1267 2013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1269         * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1270         vectors.
1272 2013-05-07  Han Shen  <shenhan@google.com>
1274         * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1276 2013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1278         * c-common.c (check_user_alignment): Emit error for negative values.
1280 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1282         * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1284 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1286         * c-cppbuiltin.c (c_cpp_builtins): Do not define
1287         __GXX_EXPERIMENTAL_CXX1Y__.
1289 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1290             Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1292         * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1293         * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1294         to simply use OPT_Wpointer_arith.
1295         (c_sizeof_or_alignof_type): Likewise.
1297 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1299         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1301 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1303         * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1304         gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1305         specifiers.
1307 2013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1309         * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1311 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1313         * c-common.c (pointer_int_sum): Remove dead code.
1315 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1317         PR middle-end/56524
1318         * c-common.c (handle_optimize_attribute): Don't call
1319         save_optabs_if_changed.
1321 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1323         PR middle-end/56461
1324         * c-pch.c (pch_init): Free target_validity at the end.
1326 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
1328         * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1330 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1331             Jakub Jelinek  <jakub@redhat.com>
1333         PR sanitizer/56454
1334         * c-common.c (handle_no_sanitize_address_attribute): New function.
1335         (c_common_attribute_table): Add no_sanitize_address attribute.
1336         (handle_no_address_safety_analysis_attribute): Add
1337         no_sanitize_address attribute, not no_address_safety_analysis
1338         attribute.
1340 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1342         PR target/52555
1343         * c-common.c (handle_optimize_attribute): Call
1344         save_optabs_if_changed.
1346 2013-02-18  Jakub Jelinek  <jakub@redhat.com>
1347             Steven Bosscher  <steven@gcc.gnu.org>
1349         PR pch/54117
1350         * c-opts.c (c_common_post_options): If debug info is enabled
1351         and non-dwarf*, refuse to load PCH files and when writing PCH
1352         file warn.
1354 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1356         PR middle-end/56167
1357         * c-common.c (handle_error_attribute): Fix condition.
1359 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
1361         PR c++/55742
1362         * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1364 2013-01-18  Jason Merrill  <jason@redhat.com>
1366         PR target/54908
1367         * c.opt (-fextern-tls-init): New.
1368         * c-opts.c (c_common_post_options): Handle it.
1370 2013-01-09  Jakub Jelinek  <jakub@redhat.com>
1372         PR c/48418
1373         * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1374         RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1375         and is either negative or bigger or equal to type precision
1376         of the first operand.
1378 2012-12-03  Marek Polacek  <polacek@redhat.com>
1380         PR c/55570
1381         * c-common.c (check_user_alignment): Swap order of tests,
1382         check TREE_CODE first.
1384 2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1386         PR c++/52654
1387         * c-common.h (overflow_type): New enum.
1388         (build_userdef_literal): Add overflow_type argument.
1389         (tree_userdef_literal): Add overflow_type.
1390         (USERDEF_LITERAL_OVERFLOW): New access macro.
1391         * c-common.c (build_userdef_literal): Add overflow_type
1392         argument.
1393         * c-lex.c (c_lex_with_flags): Add overflow_type to
1394         build_userdef_literal calls.
1395         (interpret_integer, interpret_float): Add overflow_type argument.
1397 2012-11-28  Richard Biener  <rguenther@suse.de>
1399         PR c/35634
1400         * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1401         here and use a type with proper overflow behavior for types that would
1402         need to be promoted for the arithmetic.
1404 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1406         PR sanitizer/55435
1407         * c-common.c (handle_no_address_safety_analysis_attribute): New
1408         function.
1409         (c_common_attribute_table): Add no_address_safety_analysis.
1411 2012-11-16  Simon Baldwin  <simonb@google.com>
1413         * c.opt: Add f[no-]canonical-system-headers.
1414         * c-opts.c (c_common_handle_option): Handle
1415         OPT_fcanonical_system_headers.
1417 2012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1419         PR c++/54413
1420         * c-opts.c (c_common_handle_option): Set new flags.
1421         * c.opt: Describe new flags.
1423 2012-11-09  Jason Merrill  <jason@redhat.com>
1425         * c.opt (Wabi-tag): New.
1427 2012-11-09  Andi Kleen  <ak@linux.intel.com>
1429         PR 55139
1430         * c-common.c (get_atomic_generic_size): Mask with
1431         MEMMODEL_MASK
1433 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1435         PR c/53063
1436         * c.opt (Wformat): Make it Alias Wformat=1.
1437         (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1438         Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1439         LangEnabledBy.
1440         (Wformat=): RejectNegative. Use LangEnabledBy.
1441         (Wnonnull): Use LangEnabledBy.
1442         * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1443         * c-format.c (set_Wformat): Delete.
1444         (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1445         (maybe_read_dollar_number):  Likewise.
1446         (avoid_dollar_number):  Likewise.
1447         (finish_dollar_format_checking):  Likewise.
1448         (check_format_info):  Likewise.
1449         (check_format_info_main):  Likewise.
1450         (check_format_types):  Likewise.
1451         (format_type_warning):  Likewise.
1452         * c-common.c (int):  Likewise.
1453         (check_function_sentinel):  Likewise.
1454         * c-common.h (warn_format,set_Wformat): Do not declare here.
1456 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1458         PR c/53063
1459         * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1460         Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1461         Use LangEnabledBy.
1462         (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1463         common.opt.
1464         (Wvariadic-macros): Init(1).
1465         * c-opts.c (c_common_handle_option): Do not handle them
1466         explicitly.
1467         (c_common_post_options): Likewise.
1468         (sanitize_cpp_opts): warn_unused_macros is now
1469         cpp_warn_unused_macros.
1470         (push_command_line_include): Likewise.
1471         * c-common.c (warn_unknown_pragmas): Do not define.
1472         * c-common.h (warn_unknown_pragmas): Do not declare.
1474 2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1476         PR c/51294
1477         * c-common.c (conversion_warning): Handle conditional expressions.
1479 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1481         PR c++/54930
1482         * c.opt (Wreturn_local_addr): Define new option.
1484 2012-10-25  Jason Merrill  <jason@redhat.com>
1486         * c.opt (Wvirtual-move-assign): New.
1488         * c.opt (Winherited-variadic-ctor): New.
1490 2012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1492         PR c++/54427
1493         * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1495 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
1497         * c-common.h (pch_cpp_save_state): Declare.
1498         * c-target.def (c_preinclude): New hook.
1499         * c-opts.c (done_preinclude): New.
1500         (push_command_line_include): Handle default preincluded header.
1501         (cb_file_change): Call pch_cpp_save_state when calling
1502         push_command_line_include.
1503         * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1504         (pch_cpp_save_state): New.
1505         (pch_init): Call pch_cpp_save_state conditionally, instead of
1506         calling cpp_save_state.
1508 2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1510         PR c/53063
1511         PR c/40989
1512         * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1513         Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1514         Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1515         Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1516         Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1517         * c-opts.c (c_common_handle_option): Remove explicit handling from
1518         here.
1519         (c_common_post_options): Likewise.
1521 2012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1523         * c-ada-spec.c (LOCATION_COL): Delete.
1524         (compare_location): New function.
1525         (compare_node): Use it.
1526         (compare_comment): Likewise.
1528 2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1530         PR c/53063
1531         PR c/40989
1532         * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1533         * c-opts.c (c_common_handle_option): Do not set them here. Add
1534         comment.
1535         (c_common_post_options): Likewise.
1537 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1539         * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1540         (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1541         Remove POINTER_TYPE handling, add large unsigned handling and use
1542         ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1544 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
1546         PR c/54381
1547         * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1548         * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1549         locs and array of 3 trees instead of just single loc and single
1550         sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
1551         also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1552         For *cmp* builtins that take two sources strings report warnings
1553         about first and second source, not about destination and source.
1555 2012-10-12  Marc Glisse  <marc.glisse@inria.fr>
1557         PR c++/53055
1558         * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1560 2012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1562         * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1563         declaring something coming from another file.
1565 2012-10-10  Arnaud Charlet  <charlet@adacore.com>
1567         PR ada/54845
1568         * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1570 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1572         PR c++/54194
1573         * c-common.c (warn_about_parentheses): Add location_t parameter;
1574         use EXPR_LOC_OR_LOC.
1575         * c-common.h: Update declaration.
1577 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1579         PR c++/54427
1580         * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1581         more operations. Make error messages optional.
1582         * c-common.h (enum stv_conv): Moved from c-typeck.c.
1583         (scalar_to_vector): Declare.
1585 2012-10-08  Jason Merrill  <jason@redhat.com>
1587         * c-common.c (c_common_reswords): Add thread_local.
1589 2012-10-08  Dodji Seketeli  <dodji@redhat.com>
1591         PR c++/53528 C++11 attribute support
1592         * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1593         new functions.
1594         * c-common.c (check_cxx_fundamental_alignment_constraints): New
1595         static function.
1596         (handle_aligned_attribute): In choose strictest alignment
1597         among many.  Use new check_cxx_fundamental_alignment_constraints.
1598         (handle_transparent_union_attribute): In c++11 attribute syntax,
1599         don't look through typedefs.
1601 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
1603         * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1604         * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1605         out of dumpfile.h.
1607 2012-09-25  Dehao Chen  <dehao@google.com>
1609         PR middle-end/54645
1610         * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1611         map when read in the pch.
1613 2012-09-18 Arnaud Charlet  <charlet@adacore.com>
1615         * c-ada-spec.c: Style fixes.
1617 2012-09-18 Thomas Quinot  <quinot@adacore.com>
1619         * c.opt (-fada-spec-parent): Define new command line switch.
1620         * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1621         is specified, generate binding spec as a child of the specified unit.
1623 2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1624             Manuel López-Ibáñez  <manu@gcc.gnu.org>
1626         PR c++/53210
1627         * c.opt ([Winit-self]): Enabled by -Wall in C++.
1629 2012-08-23  Arnaud Charlet  <charlet@adacore.com>
1631         * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1632         for pointers, and add missing Convention C pragma.
1633         (print_ada_struct_decl): Add missing aliased keyword.
1634         (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1636 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
1638         * c-common.c (sizeof_pointer_memaccess_warning): New function.
1639         * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1640         * c-opts.c (c_common_handle_option): Enable it for -Wall.
1641         * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1642         * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1644 2012-08-10  Richard Guenther  <rguenther@suse.de>
1646         * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1648 2012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1650         * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1651         instead of separate pp_newline and pp_flush.
1652         (print_c_tree): Likewise.
1654 2012-07-26  Richard Henderson  <rth@redhat.com>
1656         * c-common.c (handle_hot_attribute): Allow labels.
1657         (handle_cold_attribute): Likewise.
1659 2012-07-20  Jakub Jelinek  <jakub@redhat.com>
1661         PR c++/28656
1662         * c-common.c (check_function_nonnull): Handle multiple nonnull
1663         attributes properly.
1665 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1667         * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1668         * c-ada-spec.c: Likewise.
1669         * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1671 2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1673         * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1674         Remove code conditional on it.
1676 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1678         * c-gimplify.c: Do not include basic-block.h.
1679         * c-common.c: Do not include linfuncs.h.
1681 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1683         * c-common.h: Include tree.h.
1685 2012-07-02  Jason Merrill  <jason@redhat.com>
1687         PR c++/53524
1688         * c-common.c (get_priority): Call default_conversion.
1690 2012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1692         * c-pch.c (c_common_write_pch): Remove unused variables.
1694 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1696         * cppspec.c: Moved from gcc/ to here.
1698 2012-06-27  Kai Tietz  <ktietz@redhat.com>
1700         PR preprocessor/37215
1701         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1703 2012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1705         * c-common.h (c_common_print_pch_checksum): Remove.
1706         * c-pch.c: Do not include output.h.
1707         (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1708         (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1709         (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1710         (struct c_pch_header): Remove.
1711         (get_ident): Update gpch version.
1712         (pch_init): Do not print executable_checksum to asm_out_file.
1713         Do not fail if there is no asm_out_file to read back from.  Set
1714         asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1715         (c_common_write_pch): Verify that nothing was written to asm_out_file
1716         since pch_init was called.  Do not write a c_pch_header, and do not
1717         copy from asm_out_file to the PCH.
1718         (c_common_read_pch): Do not read a c_pch_header, and do not restore
1719         the content of asm_out_file from the PCH.
1720         (c_common_print_pch_checksum): Remove.
1721         * c-opts.c (c_common_init): Print out executable_checksum directly.
1723 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1725         * c-target.def (objc_declare_unresolved_class_reference,
1726         objc_declare_class_definition): Add new hooks.
1728 2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1730         * c-lex.c: Do not include output.h.
1731         (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1732         Remove uses of ASM_OUTPUT_IDENT.
1734 2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1736         PR c++/51033
1737         * c-common.h (c_build_vec_perm_expr): Move decl here.
1738         * c-common.c (c_build_vec_perm_expr): Move definition
1739         here.
1741 2012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1743         * c.opt (fconserve-space): Turn into a no-op.
1745 2012-06-04  Sterling Augustine  <saugustine@google.com>
1747         * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1748         * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1749         both the start and end of the function.
1751 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1753         * c-common.c: Do not include output.h.
1754         * c-pragma.c: Likewise.
1756 2012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1758         * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1759         (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1760         (lang_decl_name): Handle namespace decls.
1762 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1764         * c-ada-spec.c: Do not include output.h.
1765         * c-semantics.c: Likewise.
1767 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
1769         * c-common.c: Fix typo.
1771 2012-05-29  Michael Matz  <matz@suse.de>
1773         * c-common.h (c_expand_decl): Remove prototype.
1775 2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1777         * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1778         * c-opts.c (c_common_handle_option): Remove code handling
1779         warn_missing_braces.
1781 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1783         PR c++/25137
1784         * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1785         -Wmissing_braces.
1787 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1789         PR c++/53322
1790         * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1792 2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1794         * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1795         * c-opts.c (c_common_handle_option): Do not handle explicitly
1796         Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1798 2012-05-16  Dodji Seketeli  <dodji@redhat.com>
1800         PR preprocessor/7263
1801         * c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1802         to cpp_classify_number.  For diagnostics, use the precise location
1803         instead of the global input_location.
1805 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1807         PR c++/11856
1808         * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1810 2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1812         * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1814 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1816         PR 53063
1817         * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1818         Wreorder): Use LangEnabledBy.
1819         * c-opts.c (c_common_handle_option): Do not enable them
1820         explicitly. Call lang-specific generated functions.
1821         (c_common_post_options): Do not set them here.
1823 2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1825         * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1826         Wmissing-field-initializers,Wmissing-parameter-type,
1827         Wold-style-declaration,Woverride-init): Use EnabledBy.
1828         * c-opts.c (c_common_post_options): Do not set here explicitly.
1830 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1832         PR 53063
1833         * c-opts.c (c_common_handle_option): Use handle_generated_option
1834         to enable sub-options.
1836 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1838         PR c++/53158
1839         * c-common.c (warnings_for_convert_and_check): Use warning_at.
1841 2012-05-10  Richard Guenther  <rguenther@suse.de>
1843         * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1844         adjust commentary about TYPE_IS_SIZETYPE types.
1846 2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1848         PR c++/53261
1849         * c-common.c (warn_logical_operator): Check that argument of
1850         integer_zerop is not NULL.
1852 2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1854         PR c/43772
1855         * c-common.c (warn_logical_operator): Do not warn if either side
1856         is already true or false.
1858 2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1860         PR c/51712
1861         * c-common.c (expr_original_type): New.
1862         (shorten_compare): Do not warn for enumeration types.
1864 2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1866         * c.opt (fpermissive): Add Var(flag_permissive).
1868 2012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1870         PR c++/51033
1871         * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1872         * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1874 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
1876         Add -Wvarargs option
1877         * c.opt (Wvarargs):  Define new option.
1879 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1881         * c-common.c (check_function_arguments): Replace
1882         Wmissing-format-attribute with Wsuggest-attribute=format.
1884 2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1886         * c.opt (Wsuggest-attribute=format): New. Alias of
1887         Wmissing-format-attribute.
1888         * c-format.c (decode_format_type): Replace
1889         Wmissing-format-attribute with Wsuggest-attribute=format.
1890         (check_function_format): Likewise.
1892 2012-04-27  Ollie Wild  <aaw@google.com>
1894         * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1895         * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1896         * c.opt: Add Wliteral-suffix.
1898 2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1900         PR c/44774
1901         * c.opt (Wpedantic): New.
1902         (pedantic): Alias Wpedantic.
1903         * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1904         (c_common_post_options): Likewise.
1905         (sanitize_cpp_opts): Likewise.
1906         * c-lex.c (interpret_float): Likewise.
1907         * c-format.c (check_format_types): Likewise.
1908         * c-common.c (pointer_int_sum): Likewise.
1909         (c_sizeof_or_alignof_type): Likewise.
1910         (c_add_case_label): Likewise.
1911         (c_do_switch_warnings): Likewise.
1912         * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1914 2012-04-15  Jason Merrill  <jason@redhat.com>
1916         PR c++/52818
1917         * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1918         (C_STD_NAME): Distinguish between C++98 and C++11.
1920 2012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1922         PR target/52624
1923         * c-common.h (uint16_type_node): Rename into...
1924         (c_uint16_type_node): ...this.
1925         * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1926         * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1928 2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1930         * c-common.c (warn_if_unused_value): Move definition to here.
1931         * c-common.h (warn_if_unused_value): Move declaration to here.
1933 2012-03-23  William Bader  <williambader@hotmail.com>
1935         * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1937 2012-03-20  Jason Merrill  <jason@redhat.com>
1939         * c-common.h (enum cxx_dialect): Add cxx1y.
1940         * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1941         test.
1942         * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1943         * c-opts.c (c_common_post_options): Likewise.
1944         (set_std_cxx1y): New.
1945         (c_common_handle_option): Call it.
1946         * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1948 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1950         PR c++/14710
1951         * c.opt ([Wuseless-cast]): Add.
1953 2012-03-16  Richard Guenther  <rguenther@suse.de>
1955         * c-pretty-print.c (pp_c_initializer_list): Adjust.
1957 2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1959         PR c++/44783
1960         * c.opt (ftemplate-backtrace-limit) Add.
1962 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1964         * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1965         handling.
1966         * c-pragma.c (handle_pragma_extern_prefix): Remove.
1967         (init_pragma): Don't register extern_prefix.
1969 2012-03-12  Richard Guenther  <rguenther@suse.de>
1971         * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1972         (builtin_type_for_size): Likewise.
1974 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
1976         PR c++/52215
1977         * c-common.c (sync_resolve_params): Don't decide whether to convert
1978         or not based on TYPE_SIZE comparison, convert whenever arg_type
1979         is unsigned INTEGER_TYPE.
1981 2012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1983         PR c/52118
1984         * c.opt ([Wunused-local-typedefs]): Fix description.
1986 2012-01-24  Mike Stump  <mikestump@comcast.net>
1988         * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1989         exactly.
1991 2012-01-18  Richard Guenther  <rguenther@suse.de>
1993         * c-opts.c (c_common_post_options): Reset LTO flags if
1994         we are about to generate a PCH.
1996 2012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1998         PR c++/51777
1999         * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2000         use pp_unsigned_wide_integer.
2002 2012-01-10  Richard Guenther  <rguenther@suse.de>
2004         PR middle-end/51806
2005         * c-opts.c (c_common_handle_option): Move -Werror handling
2006         to language independent code.
2008 2012-01-05  Richard Guenther  <rguenther@suse.de>
2010         PR middle-end/51764
2011         * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2012         from common.opt.
2014 2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
2016         PR c++/51316
2017         * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2018         of array types with an unknown bound.
2020 2011-12-20  Joseph Myers  <joseph@codesourcery.com>
2022         * c-common.c (flag_isoc99): Update comment to refer to C11.
2023         (flag_isoc1x): Change to flag_isoc11.
2024         * c-common.h (flag_isoc99): Update comment to refer to C11.
2025         (flag_isoc1x): Change to flag_isoc11.
2026         * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2027         C11.
2028         * c-opts.c (set_std_c1x): Change to set_std_c11.
2029         (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2030         Call set_std_c11.
2031         (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2032         (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2033         * c.opt (std=c1x): Change to std=c11.  Document as non-draft
2034         standard.
2035         (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2036         (std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
2037         (std=gnu1x): Make alias of std=gnu11.
2039 2011-12-19  Jason Merrill  <jason@redhat.com>
2041         PR c++/51228
2042         * c-common.c (handle_transparent_union_attribute): Check the first
2043         field if the type is complete.
2045 2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2047         PR libstdc++/51365
2048         * c-common.c (RID_IS_FINAL): Add.
2049         * c-common.h (RID_IS_FINAL): Add.
2051 2011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2053         * c.opt (fgnu-runtime): Provide full description.
2054         (fnext-runtime): Likewise.
2055         * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2057 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2059         * c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2060         predefines in one place.  Add LOCK_FREE predefines.
2061         (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2062         new func.
2064 2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2066         PR c/51256
2067         * c-common.c (get_atomic_generic_size): Check for various error
2068         conditions
2069         (resolve_overloaded_atomic_exchange,
2070         resolve_overloaded_atomic_compare_exchange,
2071         resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2072         error_mark_node for error conditions.
2074 2011-11-08  Richard Guenther  <rguenther@suse.de>
2076         PR middle-end/51010
2077         c-family/
2079 2011-11-07  Richard Henderson  <rth@redhat.com>
2080             Aldy Hernandez  <aldyh@redhat.com>
2081             Torvald Riegel  <triegel@redhat.com>
2083         Merged from transactional-memory.
2085         * c-common.c (handle_tm_wrap_attribute,
2086         handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2087         (struct c_common_reswords): Added __transaction* keywords.
2088         (struct c_common_attribute_table): Added transaction* and tm_regparm
2089         attributes.
2090         * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2091         masks.
2092         (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2093         find_tm_attribute): Declare.
2095 2011-11-07  Jason Merrill  <jason@redhat.com>
2097         PR c++/35688
2098         * c-common.c, c-common.h: Revert yesterday's changes.
2100 2011-11-06  Jason Merrill  <jason@redhat.com>
2102         PR c++/35688
2103         * c-common.c (decl_has_visibility_attr): Split out from...
2104         (c_determine_visibility): ...here.
2105         * c-common.h: Declare it.
2107 2011-11-06  Joseph Myers  <joseph@codesourcery.com>
2109         * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2110         (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2111         type.
2112         (check_user_alignment): New.  Split out of
2113         handle_aligned_attribute.  Disallow integer constants with
2114         noninteger types.  Conditionally allow zero.
2115         (handle_aligned_attribute): Use check_user_alignment.
2116         * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2118 2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2119             Richard Henderson  <rth@redhat.com>
2121         Merged from cxx-mem-model.
2123         * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2124         * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2125         parameters that are the same type size.
2126         (get_atomic_generic_size): New.  Find size of generic
2127         atomic function parameters and do typechecking.
2128         (add_atomic_size_parameter): New.  Insert size into parameter list.
2129         (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2130         either __atomic_exchange_n or external library call.
2131         (resolve_overloaded_atomic_compare_exchange): Restructure
2132         __atomic_compare_exchange to either _n variant or external library call.
2133         (resolve_overloaded_atomic_load): Restructure __atomic_load to either
2134         __atomic_load_n or an external library call.
2135         (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2136         __atomic_store_n or an external library call.
2137         (resolve_overloaded_builtin): Handle new __atomic builtins.
2139 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2141         PR c++/50608
2142         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2143         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2144         <INDIRECT_REF>: Return the argument.
2145         <ARRAY_REF>: Remove special code for negative offset.
2146         Call fold_build_pointer_plus instead of size_binop.
2147         (fold_offsetof): Remove STOP_REF argument and adjust.
2148         * c-common.h (fold_offsetof_1): Declare.
2149         (fold_offsetof): Remove STOP_REF argument.
2151 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2153         PR c++/50810
2154         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2155         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2156         Wnarrowing for C++0x and C++98.
2157         * c.opt ([Wnarrowing]): Update.
2159 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2161         PR c++/44277
2162         * c.opt: Add Wzero-as-null-pointer-constant.
2164 2011-10-31  Jason Merrill  <jason@redhat.com>
2166         * c.opt (-fdeduce-init-list): Off by default.
2168         PR c++/50920
2169         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2170         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2171         and -Wc++11-compat.
2172         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2174 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2176         PR c++/30066
2177         * c.opt (fvisibility-inlines-hidden): Description change.
2179 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2181         Implement C++11 user-defined literals.
2182         * c-common.c (build_userdef_literal): New.
2183         * c-common.def: New tree code.
2184         * c-common.h (tree_userdef_literal): New tree struct and accessors.
2185         * c-lex.c (interpret_float): Add suffix parm.
2186         (c_lex_with_flags): Build literal tokens.
2188 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2190         PR c++/50841
2191         Revert:
2192         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2194         PR c++/50810
2195         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2196         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2197         Wnarrowing for C++0x and C++98.
2198         * c.opt ([Wnarrowing]): Update.
2200 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2202         PR c++/50810
2203         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2204         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2205         Wnarrowing for C++0x and C++98.
2206         * c.opt ([Wnarrowing]): Update.
2208 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2210         PR c++/45385
2211         * c-common.c (conversion_warning): Remove code looking for
2212         artificial operands.
2214 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
2216         PR bootstrap/50760
2217         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2218         !NO_IMPLICIT_EXTERN_C.
2220 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2222         * c-common.c (c_common_reswords): Add __bases,
2223         __direct_bases.
2224         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2226 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2228         PR c++/50757
2229         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2231 2011-10-15  Tom Tromey  <tromey@redhat.com>
2232             Dodji Seketeli  <dodji@redhat.com>
2234         * c.opt (fdebug-cpp): New option.
2235         * c-opts.c (c_common_handle_option): Handle the option.
2236         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2237         output stream in parameter. Factorized from ...
2238         (maybe_print_line): ... this. Dump location debug information when
2239         -fdebug-cpp is in effect.
2240         (print_line_1): New static function. Takes an output stream in
2241         parameter. Factorized from ...
2242         (print_line): ... here. Dump location information when -fdebug-cpp
2243         is in effect.
2244         (scan_translation_unit): Dump location information when
2245         -fdebug-cpp is in effect.
2247 2011-10-15  Tom Tromey  <tromey@redhat.com>
2248             Dodji Seketeli  <dodji@redhat.com>
2250         * c.opt (ftrack-macro-expansion): New option. Handle it with and
2251         without argument.
2252         * c-opts.c (c_common_handle_option)<case
2253         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2254         cases. Handle -ftrack-macro-expansion with and without argument.
2256 2011-10-15  Tom Tromey  <tromey@redhat.com>
2257             Dodji Seketeli  <dodji@redhat.com>
2259         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2260         (print_line, cb_define, do_line_change): Adjust to avoid touching
2261         the internals of struct line_map.  Use the public API instead.
2262         * c-pch.c (c_common_read_pch): Likewise.
2263         * c-lex.c (fe_file_change): Likewise.
2265 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2267         PR c++/17212
2268         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2270 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2272         PR c++/33067
2273         * c-pretty-print.c (pp_c_floating_constant): Output
2274         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2276 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2278         * c-common.c (def_builtin_1): Delete old interface with two
2279         parallel arrays to hold standard builtin declarations, and replace
2280         it with a function based interface that can support creating
2281         builtins on the fly in the future.  Change all uses, and poison
2282         the old names.  Make sure 0 is not a legitimate builtin index.
2283         * c-omp.c (c_finish_omp_barrier): Ditto.
2284         (c_finish_omp_taskwait): Ditto.
2285         (c_finish_omp_flush): Ditto.
2287 2011-10-11  Tristan Gingold  <gingold@adacore.com>
2289         * c.opt: (fallow-parameterless-variadic-functions): New.
2291 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
2293         PR c++/33255 - Support -Wunused-local-typedefs warning
2294         * c-common.h (struct c_language_function::local_typedefs): New
2295         field.
2296         (record_locally_defined_typedef, maybe_record_typedef_use)
2297         (maybe_warn_unused_local_typedefs): Declare new functions.
2298         * c-common.c (record_locally_defined_typedef)
2299         (maybe_record_typedef_use)
2300         (maybe_warn_unused_local_typedefs): Define new functions.
2301         * c.opt: Declare new -Wunused-local-typedefs flag.
2303 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2305         PR middle-end/50266
2306         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2307         computations.
2309 2011-09-05  Richard Guenther  <rguenther@suse.de>
2311         * c-common.c (complete_array_type): Use ssize_int (-1) instead
2312         of integer_minus_one_node for empty array upper bounds.
2314 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
2316         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2317         it's the first time it's being called on this main TU.
2319 2011-08-24  Richard Guenther  <rguenther@suse.de>
2321         PR c/49396
2322         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2324 2011-08-22  Gabriel Charette  <gchare@google.com>
2326         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2327         defined in cpp_init_builtins and c_cpp_builtins.
2329 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
2331         * c-common.c (c_common_reswords): Add __builtin_complex.
2332         * c-common.h (RID_BUILTIN_COMPLEX): New.
2334 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
2336         * c-common.c (c_common_reswords): Add _Noreturn.
2337         (keyword_is_function_specifier): Handle RID_NORETURN.
2338         * c-common.h (RID_NORETURN): New.
2340 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2342         * c-common.c (unsafe_conversion_p): New function. Check if it is
2343         unsafe to convert an expression to the type.
2344         (conversion_warning): Adjust, use unsafe_conversion_p.
2345         * c-common.h (unsafe_conversion_p): New function declaration.
2347 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
2349         * c-common.h (c_finish_omp_atomic): Adjust prototype.
2350         (c_finish_omp_taskyield): New prototype.
2351         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2352         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2353         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2354         or RHS1 have side-effects, evaluate those too in the right spot,
2355         if it is a decl and LHS is also a decl, error out if they
2356         aren't the same.
2357         (c_finish_omp_taskyield): New function.
2358         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2359         * c-pragma.c (omp_pragmas): Add taskyield.
2360         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2361         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2362         PRAGMA_OMP_CLAUSE_MERGEABLE.
2364 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
2366         * c-common.h (set_underlying_type): Remove parm name from
2367         declaration.
2369 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2371         * c-pretty-print.h: Search c-common.h in c-family.
2373 2011-07-22  Jason Merrill  <jason@redhat.com>
2375         PR c++/49793
2376         * c.opt (Wnarrowing): New.
2378         PR c++/30112
2379         * c-common.h: Declare c_linkage_bindings.
2380         * c-pragma.c (handle_pragma_redefine_extname): Use it.
2382         PR c++/49813
2383         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2384         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2385         as flag_isoc99 for 'restrict'.
2386         (pp_c_specifier_qualifier_list): Likewise for _Complex.
2388 2011-07-21  Ian Lance Taylor  <iant@google.com>
2390         PR middle-end/49705
2391         * c-common.c (c_disable_warnings): New static function.
2392         (c_enable_warnings): New static function.
2393         (c_fully_fold_internal): Change local unused_p to bool.  Call
2394         c_disable_warnings and c_enable_warnings rather than change
2395         c_inhibit_evaluation_warnings.
2397 2011-07-20  Jason Merrill  <jason@redhat.com>
2399         PR c++/6709 (DR 743)
2400         PR c++/42603 (DR 950)
2401         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2402         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2403         (CPP_DECLTYPE): New.
2404         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2406 2011-07-19  Richard Guenther  <rguenther@suse.de>
2408         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2409         * c-omp.c (c_finish_omp_for): Likewise.
2411 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2413         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2414         body on the next line.
2416 2011-07-08  Jason Merrill  <jason@redhat.com>
2418         PR c++/45437
2419         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2421         PR c++/49673
2422         * c-common.c (c_apply_type_quals_to_decl): Don't check
2423         TYPE_NEEDS_CONSTRUCTING.
2425 2011-07-06  Richard Guenther  <rguenther@suse.de>
2427         * c-common.c (c_common_nodes_and_builtins):
2428         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2430 2011-07-05  Richard Guenther  <rguenther@suse.de>
2432         * c-common.c (c_common_nodes_and_builtins): Build all common
2433         tree nodes first.
2435 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2437         * c-common.h (c_tree_chain_next): New static inline function.
2439         * c-common.c (check_builtin_function_arguments): Handle
2440         BUILT_IN_ASSUME_ALIGNED.
2442 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2444         * c-common.c: Add sync_ or SYNC__ to builtin names.
2445         * c-omp.c: Add sync_ or SYNC__ to builtin names.
2447 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
2449         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2450         handler.
2451         (gen_pragma_handler): New union.
2452         (internal_pragma_handler): New type.
2453         (c_register_pragma_with_data)
2454         (c_register_pragma_with_expansion_and_data): New functions.
2456         * c-pragma.c (registered_pragmas, c_register_pragma_1)
2457         (c_register_pragma, c_register_pragma_with_expansion)
2458         (c_invoke_pragma_handler): Changed to work with
2459         internal_pragma_handler.
2460         (c_register_pragma_with_data)
2461         (c_register_pragma_with_expansion_and_data): New functions.
2463 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2465         * c-common.c: Include common/common-target.h.
2466         (handle_section_attribute): Use
2467         targetm_common.have_named_sections.
2468         * c-cppbuiltin.c: Include common/common-target.h.
2469         (c_cpp_builtins): Use targetm_common.except_unwind_info.
2471 2011-06-10  Richard Guenther  <rguenther@suse.de>
2473         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2474         to print a IDENTIFIER_NODE.
2476 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2477             Joseph Myers  <joseph@codesourcery.com>
2479         * c.opt (fbuilding-libgcc): New option.
2480         * c-cppbuiltin.c (c_cpp_builtins): Define
2481         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2483 2011-06-07  Jason Merrill  <jason@redhat.com>
2485         * c-common.c (max_tinst_depth): Lower default to 900.
2487         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2489 2011-06-07  Richard Guenther  <rguenther@suse.de>
2491         * c-common.c (c_common_nodes_and_builtins): Do not set
2492         size_type_node or call set_sizetype.
2494 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
2496         PR debug/49130
2497         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
2498         type when using pointer comparison to compare types.
2500 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2502         * c.opt: Add -Wdelete-non-virtual-dtor.
2503         * c-opts.c (c_common_handle_option): Include it in -Wall.
2505 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
2507         PR bootstrap/49190
2509         Revert:
2510         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2512         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2513         not tree_common.
2515 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
2517         PR c++/49165
2518         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2519         C++ don't call c_common_truthvalue_conversion on void type arms.
2521 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
2523         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2524         (stmt_list_stack): Define.
2525         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2526         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2528 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2530         * c-common.c (warning_candidate_p): Check for BLOCKs.
2532 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2534         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2535         not tree_common.
2537 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2539         * c-common.c (def_fn_type): Remove extra va_end.
2541 2011-05-23  Jason Merrill  <jason@redhat.com>
2543         PR c++/48106
2544         * c-common.c (c_common_get_narrower): New.
2545         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2547 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
2549         * c-common.h (check_function_arguments): Tweak prototype of
2550         check_function_arguments.
2551         * c-common.c (check_function_arguments): Likewise.  Adjust
2552         calls to check_function_nonnull, check_function_format, and
2553         check_function_sentinel.
2554         (check_function_sentinel): Take a FUNCTION_TYPE rather than
2555         separate attributes and typelist arguments.  Use
2556         FOREACH_FUNCTION_ARGS to iterate over argument types.
2558 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2560         * c-common.c (c_common_reswords): Reorder.
2561         * c-common.h (rid): Likewise.
2563 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2565         * c-common.c (def_fn_type): Don't call build_function_type, call
2566         build_function_type_array or build_varargs_function_type_array
2567         instead.
2568         (c_common_nodes_and_builtins): Likewise.
2570 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2572         * c-common.c (c_add_case_label): Omit the loc argument to
2573         build_case_label.
2574         * c-common.h (build_case_label): Remove.
2575         * c-semantics.c (build_case_label): Remove.
2577 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
2579         * c-objc.h (objc_start_method_definition): Update prototype.
2580         * stub-objc.c (objc_start_method_definition): Add extra parameter.
2582 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2584         * c-common.c (check_main_parameter_types): Reindent.  Don't use
2585         TYPE_ARG_TYPES directly.
2586         (handle_nonnull_attribute): Likewise.
2587         (sync_resolve_params): Likewise.
2588         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2589         to check_format_string.
2590         (handle_format_attribute): Likewise.
2591         (check_format_string): Take a function type to examine instead of
2592         a type list.  Use a function_arg_iterator to step through argument
2593         types.
2595 2011-05-04  Richard Guenther  <rguenther@suse.de>
2597         * c-common.c (fix_string_type): Use size_int for index type bounds.
2598         (start_fname_decls): Do not pass NULL to build_int_cst.
2599         (c_init_attributes): Likewise.
2600         * c-lex.c (c_lex_with_flags): Likewise.
2602 2011-04-27  Jason Merrill  <jason@redhat.com>
2604         * c-common.c (make_tree_vector_from_list): New.
2605         * c-common.h: Declare it.
2607 2011-04-26  Richard Guenther  <rguenther@suse.de>
2609         PR preprocessor/48248
2610         * c-ppoutput.c (maybe_print_line): Always optimize newlines
2611         for output size with -P.
2613 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2615         * c-common.c (struct c_common_resword): Add __underlying_type.
2616         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2618 2011-04-20  Jim Meyering  <meyering@redhat.com>
2620         * c-format.c (init_dollar_format_checking): Remove useless
2621         if-before-free.
2623 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2625         * c-objc.h (objc_get_interface_ivars): Removed.
2626         (objc_detect_field_duplicates): New.
2627         * stub-objc.c: Likewise.
2629 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2631         * stub-objc.c (objc_declare_protocols): Renamed to
2632         objc_declare_protocol.
2633         * c-objc.h: Likewise.
2635 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2637         * stub-objc.c (objc_declare_class): Updated argument name.
2639 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2641         * c-common.h (c_common_init_ts): Declare.
2642         * c-common.c (c_common_init_ts): Define.
2644 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2646         * c-objc.h (objc_build_message_expr): Updated prototype.
2647         * stub-objc.c (objc_build_message_expr): Likewise.
2649 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2651         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2652         of cgraph_node.
2654 2011-04-11  Richard Guenther  <rguenther@suse.de>
2656         * c-common.c (complete_array_type): Build a range type of
2657         proper type.
2659 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2661         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2662         (handle_type_generic_attribute): Likewise.
2664 2011-04-07  Jason Merrill  <jason@redhat.com>
2666         PR c++/48450
2667         * c-common.c (c_common_truthvalue_conversion): Don't ignore
2668         conversion from C++0x scoped enum.
2670 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2672         * c-target-def.h: New file.
2673         * c-target.def: New file.
2674         * c-target.h: New file.
2675         * c-common.c (targetcm): Don't define here.
2676         * c-common.h (default_handle_c_option): Declare.
2677         * c-format.c: Include c-target.h instead of target.h.
2678         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
2679         include tm.h.
2680         (default_handle_c_option): Move from targhooks.c.
2682 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2684         PR preprocessor/48248
2685         * c-ppoutput.c (print): Add src_file field.
2686         (init_pp_output): Initialize it.
2687         (maybe_print_line): Don't optimize by adding up to 8 newlines
2688         if map->to_file and print.src_file are different file.
2689         (print_line): Update print.src_file.
2691 2011-03-25  Kai Tietz  <ktietz@redhat.com>
2693         * c-ada-spec.c (compare_comment): Use filename_cmp
2694         instead of strcmp for filename.
2696 2011-03-25  Jeff Law  <law@redhat.com>
2698         * c-family/c-common.c (def_fn_type): Add missing va_end.
2700 2011-03-25  Jason Merrill  <jason@redhat.com>
2702         * c.opt: Add -std=c++03.
2704 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2706         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2708 2011-03-17  Kai Tietz
2710         PR target/12171
2711         * c-pretty-print.c (pp_c_specifier_qualifier_list):
2712         Display allowed attributes for function pointer types.
2713         (pp_c_attributes_display): New function to display
2714         attributes having affects_type_identity flag set to true.
2715         * c-pretty-print.h (pp_c_attributes_display): New prototype.
2717         * c-common.c (c_common_attribute_table):
2718         Add new element.
2719         (c_common_format_attribute_table): Likewise.
2721 2011-03-18  Jason Merrill  <jason@redhat.com>
2723         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2724         * c-common.h: Don't declare it here.
2725         * c-common.c: Or define it here.
2726         * c-opts.c (c_common_handle_option): Or set it here.
2728         PR c++/35315
2729         * c-common.c (handle_transparent_union_attribute): Don't
2730         make a duplicate type in C++.
2732 2011-03-15  Jason Merrill  <jason@redhat.com>
2734         * c-common.c (max_constexpr_depth): New.
2735         * c-common.h: Declare it.
2736         * c-opts.c (c_common_handle_option): Set it.
2737         * c.opt (fconstexpr-depth): New option.
2739 2011-03-11  Jason Merrill  <jason@redhat.com>
2741         * c-common.c (attribute_takes_identifier_p): Add missing const.
2743         PR c++/46803
2744         * c-common.c (attribute_takes_identifier_p): Assume that an
2745         unknown attribute takes an identifier.
2747 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2749         PR c/47786
2750         * c-common.c (c_type_hash): Call list_length instead of iterating
2751         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2753 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2755         PR c/47809
2756         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2758 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2760         * c.opt (fobjc-abi-version=) New.
2761         (fobjc-nilcheck): New.
2763 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2765         PR c++/46890
2766         * c-common.h (keyword_is_decl_specifier): Declare.
2767         * c-common.c (keyword_is_decl_specifier): Define.
2768         (keyword_is_function_specifier): New function.
2770 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2772         PR c/47473
2773         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2774         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2775         REAL_TYPE.
2777 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
2779         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2781 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
2783         PR pch/47430
2784         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2785         after init_c_lex if pch_file is set.
2787 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2789         PR c++/43601
2790         * c.opt (-fkeep-inline-dllexport): New switch.
2792 2011-01-12  Richard Guenther  <rguenther@suse.de>
2794         PR middle-end/32511
2795         * c-common.c (handle_weak_attribute): Warn instead of error
2796         on declaring an inline function weak.
2798 2011-01-05  Tom Tromey  <tromey@redhat.com>
2800         * c-common.h (lvalue_error): Update.
2801         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2802         not error.
2804 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2806         PR objc/47075
2807         * c-objc.h (objc_finish_message_expr): Added argument to
2808         prototype.
2810 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2812         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2813         Use prototype_p.
2815 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2817         * c-objc.h (objc_maybe_warn_exceptions): New.
2818         * stub-objc.c (objc_maybe_warn_exceptions): New.
2820 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2822         * c-common.h (readonly_error): Declare.
2823         * c-common.c (readonly_error): Define.
2825 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2827         * c-common.h (invalid_indirection_error): Declare.
2828         * c-common.c (invalid_indirection_error): Define.
2830 2010-12-03  Richard Guenther  <rguenther@suse.de>
2832         PR c/46745
2833         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2834         (pp_c_unary_expression): Likewise.
2835         (pp_c_expression): Likewise.
2837 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2839         * c-common.h (objc_finish_function): New.
2840         (objc_non_volatilized_type): Removed.
2841         (objc_type_quals_match): Removed.
2842         * stub-objc.c (objc_finish_function): New.
2843         (objc_non_volatilized_type): Removed.
2844         (objc_type_quals_match): Removed.
2846 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2848         * c-common.h (parse_optimize_options): Declare.
2849         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2850         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2852 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2854         * c-opts.c (check_deps_environment_vars): Use getenv instead of
2855         GET_ENVIRONMENT.
2856         * c-pch.c (O_BINARY): Don't define here.
2857         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2859 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2861         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2862         targetm.except_unwind_info.
2864 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2866         * c-opts.c (c_common_handle_option): Pass location to
2867         set_struct_debug_option.
2869 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
2871         * c-common.c (visibility_options): Move from ../opts.c.
2872         * c-common.h (struct visibility_flags, visibility_options):
2873         Declare here.
2874         * c-opts.c (finish_options): Rename to c_finish_options.
2875         (c_common_init): Update call to finish_options.
2877 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2879         PR objc/34033
2880         * c-lex.c (lex_string): Check that each string in an Objective-C
2881         string concat sequence starts with either one or zero '@', and
2882         that there are no spurious '@' signs at the end.
2884 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
2886         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2887         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2888         HANDLE_PRAGMA_VISIBILITY.
2889         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2890         HANDLE_PRAGMA_VISIBILITY): Don't define.
2891         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2893 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2895         PR c++/16189
2896         PR c++/36888
2897         PR c++/45331
2898         * c-common.h (keyword_begins_type_specifier): Declare.
2899         (keyword_is_storage_class_specifier): Declare.
2900         (keyword_is_type_qualifier): Declare.
2901         * c-common.c (keyword_begins_type_specifier): New function.
2902         (keyword_is_storage_class_specifier): New function.
2903         (keyword_is_type_qualifier): Declare.
2905 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2907         PR c/46547
2908         * c-common.c (in_late_binary_op): Define.
2909         (c_common_truthvalue_conversion): Check in_late_binary_op before
2910         calling c_save_expr.
2911         * c-common.h (in_late_binary_op): Declare.
2913 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2915         * c-opts.c (c_common_handle_option): Update calls to
2916         set_struct_debug_option.
2918 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2920         * c-common.h (objc_declare_protocols): Added additional argument.
2921         * stub-objc.c (objc_declare_protocol): Same change.
2923 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2925         PR c/33193
2926         * c-common.h (build_real_imag_expr): Declare.
2927         * c-semantics.c (build_real_imag_expr): Define.
2929 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
2931         * c-opts.c (c_common_parse_file): Take no arguments.
2932         * c-common.h (c_common_parse_file): Update prototype.
2934 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
2936         PR c++/46401
2937         * c-common.c (warning_candidate_p): Don't track non-const calls
2938         or STRING_CSTs.
2940 2010-11-15  Ian Lance Taylor  <iant@google.com>
2942         * c-lex.c (init_c_lex): Set macro debug callbacks if
2943         flag_dump_go_spec is set.
2945 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2947         * c-common.h (objc_build_incr_expr_for_property_ref): New.
2948         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2950 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2952         PR preprocessor/45038
2953         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2954         dialects.
2956 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2958         * c-common.h (c_family_lang_mask): Declare.
2959         * c-opts.c (c_family_lang_mask): Make extern.
2960         * c-pragma.c (handle_pragma_diagnostic): Use
2961         control_warning_option.
2963 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2965         * c-common.c (parse_optimize_options): Update call to
2966         decode_options.
2967         * c-common.h (c_common_handle_option): Update prototype.
2968         * c-opts.c (c_common_handle_option): Take location_t parameter and
2969         pass it to other functions.
2971 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2973         * c-opts.c (warning_as_error_callback): Remove.
2974         (c_common_initialize_diagnostics): Don't call
2975         register_warning_as_error_callback.
2976         (c_common_handle_option): Handle -Werror=normalized= here.
2978 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2980         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2981         in diagnostic.
2982         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2983         letter.
2984         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2985         Remove trailing '.' from diagnostics.
2986         * c.opt (Wwrite-strings_: Avoid '`' in help text.
2988 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2990         * c-common.c (parse_optimize_options): Pass global_dc to
2991         decode_options.
2992         * c-opts.c (c_common_handle_option): Pass &global_options to
2993         set_Wstrict_aliasing.
2994         * c.opt (v): Don't mark Common or document here.
2996 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2998         PR target/44981
2999         * c-format.c (format_type): New type gcc_objc_string_format_type.
3000         (valid_stringptr_type_p): New.
3001         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
3002         (check_format_string): Pass expected type, use
3003         valid_stringptr_type_p (), check that the format string types are
3004         consistent with the format specification.
3005         (decode_format_attr): Warn if NSString is used outside objective-c.
3006         (format_types_orig): Add NSString.
3007         (format_name): New.
3008         (format_flags): New.
3009         (check_format_arg): Handle format strings requiring an external parser.
3010         first_target_format_type: New variable.
3011         (handle_format_attribute): Set up first_target_format_type, pass the
3012         expected format arg string type to check_format_string().
3013         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
3014         * stub-objc.c (objc_string_ref_type_p): New.
3015         (objc_check_format_arg): New.
3017 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
3019         Fixed using the Objective-C 2.0 dot-syntax with class names.
3020         * c-common.h (objc_build_class_component_ref): New.
3021         * stub-objc.c (objc_build_class_component_ref): New.
3023 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3025         * c.opt (Wproperty-assign-default): New option.
3027 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
3029         Implemented -fobjc-std=objc1 flag.
3030         * c.opt (fobjc-std=objc1): New option.
3032 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
3034         Implemented format and noreturn attributes for Objective-C methods.
3035         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3036         attribute for Objective-C methods.
3038 2010-10-31  Jason Merrill  <jason@redhat.com>
3040         * c-common.c (conversion_warning, warn_for_collisions_1): Use
3041         EXPR_LOC_OR_HERE.
3043 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3045         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3046         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3047         (objc_add_property_declaration): Removed arguments for copies and
3048         ivar.
3049         (objc_build_getter_call): Renamed to
3050         objc_maybe_build_component_ref.
3051         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3052         (objc_is_property_ref): New.
3053         * c-common.c (c_common_reswords): Removed copies and ivar.
3054         * stub-objc.c (objc_add_property_declaration): Removed arguments
3055         for copies and ivar.
3056         (objc_build_getter_call): Renamed to
3057         objc_maybe_build_component_ref.
3058         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3059         (objc_is_property_ref): New.
3061 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
3062             Matthew Gingell  <gingell@adacore.com>
3064         * c-ada-spec.c (separate_class_package): New function.
3065         (pp_ada_tree_identifier): Prefix references to C++ classes with the
3066         name of their enclosing package.
3067         (print_ada_declaration): Use separate_class_package.
3069 2010-10-27  Jason Merrill  <jason@redhat.com>
3071         * c-common.c (c_common_reswords): Add __is_literal_type.
3072         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3074         * c-common.c (check_case_value): Remove special C++ code.
3076 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3078         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3079         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3080         and RID_LAST_PATTR.
3081         (objc_add_property_declaration): Added additional arguments.
3082         (objc_property_attribute_kind): Removed.
3083         (objc_set_property_attr): Removed.
3084         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3085         copy and nonatomic.
3086         * stub-objc.c (objc_add_property_declaration): Added additional
3087         arguments.
3088         (objc_set_property_attr): Removed.
3090 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3092         * c-common.h (objc_add_property_variable): Renamed to
3093         objc_add_property_declaration.  Added location argument.
3094         * stub-objc.c (objc_add_property_variable): Same change.
3095         
3096 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3098         * c-common.h (objc_maybe_printable_name): New.
3099         * stub-objc.c (objc_maybe_printable_name): New.
3101 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3102         Andrew Pinski <pinskia@gmail.com>
3104         * c-common.h (c_common_mark_addressable_vec): Declare.
3105         * c-common.c (c_common_mark_addressable_vec): New function.
3107 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3109         * c-common.h (objc_set_method_type): Removed.
3110         (objc_add_method_declaration): Added boolean argument.
3111         (objc_start_method_definition): Same change.
3112         (objc_build_method_signature): Same change.
3113         * stub-objc.c (objc_set_method_type): Removed.
3114         (objc_add_method_declaration): Added boolean argument.
3115         (objc_start_method_definition): Same change.
3116         (objc_build_method_signature): Same change.
3118 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3120         * c-common.h (finish_file): Removed.
3121         (objc_write_global_declarations): New.
3122         * c-opts.c (c_common_parse_file): Do not call finish_file.
3123         * stub-objc.c (objc_write_global_declarations): New.
3125 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3127         Implemented parsing @synthesize and @dynamic for
3128         Objective-C/Objective-C++.
3129         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3130         (objc_add_synthesize_declaration): New.
3131         (objc_add_dynamic_declaration): New.
3132         * c-common.c (c_common_reswords): Add synthesize and dynamic.
3133         * stub-objc.c (objc_add_synthesize_declaration): New.
3134         (objc_add_dynamic_declaration): New.
3136 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3138         PR target/46041
3139         * c-cppbuiltin.c (mode_has_fma): Move function here from
3140         builtins.c.  Don't use the fma optab, instead just use the
3141         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3142         using -save-temps.
3144 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3146         Merge from 'apple/trunk' branch on FSF servers.
3148         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3150         Radar 4330422
3151         * c-common.h (objc_non_volatilized_type): New declaration
3152         * stub-objc.c (objc_non_volatilized_type): New stub.
3154 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3156         Merge from 'apple/trunk' branch on FSF servers.
3158         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3160         Radar 4133425
3161         * c-common.h (objc_diagnose_private_ivar): New decl.
3162         * stub-objc.c (objc_diagnose_private_ivar): New stub.
3164 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3166         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3167         * c-common.h (enum rid): Add RID_AT_PACKAGE.
3168         (objc_ivar_visibility_kind): New enum.
3169         (objc_set_visibility): Adjust prototype to use visibility enum.
3170         * stub-objc.c (objc_set_visibility): Adjust stub to use
3171         visibility enum.
3173 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3175         * c-cppbuiltin.c (builtin_define_float_constants): Emit
3176         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3177         has the appropriate fma builtins.
3178         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3180 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3182         merge from FSF apple 'trunk' branch.
3183         2006 Fariborz Jahanian <fjahanian@apple.com>
3185         Radars 4436866, 4505126, 4506903, 4517826
3186         * c-common.c (c_common_resword): Define @property and its attributes.
3187         * c-common.h: Define property attribute enum entries.
3188         (OBJC_IS_PATTR_KEYWORD): New.
3189         (objc_property_attribute_kind): New enum.
3190         Declare objc_set_property_attr (), objc_add_property_variable (),
3191         objc_build_getter_call () and objc_build_setter_call ().
3192         * stub-objc.c (objc_set_property_attr): New stub.
3193         (objc_add_property_variable): Likewise.
3194         (objc_build_getter_call): Likewise.
3195         (objc_build_setter_call) Likewise.
3197 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3199         merge from FSF apple 'trunk' branch.
3200         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3202         Radar 3803157 (method attributes)
3203         * c-common.c (handle_deprecated_attribute): Recognize
3204         objc methods as valid declarations.
3205         * c-common.h: Declare objc_method_decl ().
3206         * stub-objc.c (objc_method_decl): New stub.
3208 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
3210         * c-common.c (parse_optimize_options): Call
3211         decode_cmdline_options_to_array_default_mask before
3212         decode_options.  Update arguments to decode_options.
3213         * c-common.h (c_common_init_options_struct): Declare.
3214         * c-opts.c (c_common_init_options_struct): New.  Split out from
3215         c_common_init_options.
3217 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3219         Implemented fast enumeration for Objective-C.
3220         * c-common.h (objc_finish_foreach_loop): New.
3221         * stub-objc.c (objc_finish_foreach_loop): New.
3223 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
3225         * c-common.h (struct diagnostic_context): Don't declare here.
3226         (c_common_initialize_diagnostics): Declare using
3227         diagnostic_context typedef.
3228         * c-opts.c (c_common_handle_option): Pass global_dc to
3229         handle_generated_option.
3231 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
3233         * c-opts.c (c_common_handle_option): Pass &global_options_set to
3234         handle_generated_option.
3236 2010-10-03  Ian Lance Taylor  <iant@google.com>
3238         * c.opt (-fplan9-extensions): New option.
3240 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3242         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3243         Remove.
3244         (c_cpp_builtins): Call functions from cppbuiltin.c instead
3245         of duplicating code.
3247 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3249         * c-common.c: Add two new entries for @optional
3250         and @required keywords.
3252         merge from FSF 'apple/trunk' branch.
3253         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3255         Radar 4386773
3256         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3257         objective-c keywords.
3258         (objc_set_method_opt): New declaration.
3259         * stub-objc.c (objc_set_method_opt): New stub.
3261 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3263         * c-common.c (handle_optimize_attribute): Pass &global_options to
3264         cl_optimization_save and cl_optimization_restore.
3265         * c-opts.c (c_common_handle_option): Pass &global_options to
3266         handle_generated_option.
3267         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3268         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3269         &global_options to cl_optimization_restore.
3271 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3273         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3274         Objective-C/Objective-C++ keywords.
3276 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3278         Merge from 'apple/trunk' branch on FSF servers.
3280         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3282         Radar 4281748
3283         * c-common.h (objc_check_global_decl): New declaration.
3284         * stub-objc.c (objc_check_global_decl): New stub.
3286 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3288         * c.opt: Don't use VarExists.
3290 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3292         * c-common.c (c_cpp_error): Update names of diagnostic_context
3293         members.
3294         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3295         cl_optimization members.
3296         * c-opts.c (warning_as_error_callback, c_common_handle_option,
3297         sanitize_cpp_opts, finish_options): Update names of cpp_options
3298         members.
3300 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3302         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3303         (objc_is_reserved_word): Removed.
3304         * c-common.c: Updated comments.
3305         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3306         objc_is_reserved_word.
3307         * stub-objc.c (objc_is_reserved_word): Removed.
3309 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3311         * c-common.h (objc_add_method_declaration): Adjust prototype to
3312         include attributes.
3313         (objc_start_method_definition): Likewise.
3314         (objc_build_keyword_decl): Likewise.
3315         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3316         (objc_start_method_definition): Likewise.
3317         (objc_build_keyword_decl): Likewise.
3319 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3321         * c-common.h (objc_start_class_interface): Adjust prototype.
3322         (objc_start_category_interface): Likewise.
3323         (objc_start_protocol): Likewise.
3324         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3325         (objc_start_class_interface): Likewise.
3326         (objc_start_category_interface): Likewise.
3328 2010-09-27  Ian Lance Taylor  <iant@google.com>
3330         * c-common.c (c_common_attribute_table): Add no_split_stack.
3331         (handle_no_split_stack_attribute): New static function.
3333 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3335         Merge from 'apple/trunk' branch on FSF servers.
3337         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3339         Radar 4229905
3340         * c-common.h (objc_have_common_type): New declaration.
3341         * stub-objc.c (objc_have_common_type): New stub.
3343         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3345         Radar 4154928
3346         * c-common.h (objc_common_type): New prototype.
3347         * stub-objc.c (objc_common_type): New stub.
3349 2010-09-24  Jan Hubicka  <jh@suse.cz>
3351         * c-common.c (handle_leaf_attribute): New function.
3352         (struct attribute_spec c_common_att): Add leaf.
3354 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
3356         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3357         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3358         -dump, -dump=, -imacros, -imacros=, -include, -include=,
3359         -include-barrier, -include-directory, -include-directory=,
3360         -include-directory-after, -include-directory-after=,
3361         -include-prefix, -include-prefix=, -include-with-prefix,
3362         -include-with-prefix=, -include-with-prefix-after,
3363         -include-with-prefix-after=, -include-with-prefix-before,
3364         -include-with-prefix-before=, -no-integrated-cpp,
3365         -no-line-commands, -no-standard-includes, -no-warnings, -output,
3366         -output=, -pedantic, -pedantic-errors, -preprocess,
3367         -print-missing-file-dependencies, -trace-includes, -traditional,
3368         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3369         -user-dependencies, -verbose, -write-dependencies,
3370         -write-user-dependencies, no-integrated-cpp, traditional): New.
3372 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3374         PR objc/23710
3375         * c-common.h (objc_start_method_definition): Return bool instead
3376         of void.
3377         * stub-objc.c (objc_start_method_definition): Return bool instead
3378         of void.
3380 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3382         PR objc/25965
3383         * c-common.h (objc_get_interface_ivars): New declaration.
3384         * stub-objc.c (objc_get_interface_ivars): New stub.
3386 2010-09-15  Ian Lance Taylor  <iant@google.com>
3388         * c-common.c (parse_optimize_options): Do not capitalize warning
3389         messages.  Remove period at end of warning message.
3391 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3393         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3394         (handle_alias_attribute): ... here.
3395         (handle_ifunc_attribute): New.
3397 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
3399         * c-common.h (do_warn_double_promotion): Declare.
3400         * c-common.c (do_warn_double_promotion): Define.
3402 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
3404         * c.opt (Wdouble-promotion): New.
3406 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3408         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3409         fvtable-thunks, fxref): Mark no longer supported in help text.
3411 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3413         * c.opt (Wimport, fall-virtual, falt-external-templates,
3414         fdefault-inline, fenum-int-equiv, fexternal-templates,
3415         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3416         fname-mangling-version-, fnew-abi, fnonnull-objects,
3417         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3418         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3419         applicable.
3420         (fhandle-exceptions): Mark with Alias and Warn.
3421         * c-opts.c (c_common_handle_option): Don't handle options marked
3422         as ignored.
3424 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
3426         * c.opt (Wcomments, Werror-implicit-function-declaration,
3427         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3428         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3429         aliases.
3430         * c-common.c (option_codes): Use OPT_Wcomment instead of
3431         OPT_Wcomments.
3432         * c-opts.c (warning_as_error_callback, c_common_handle_option):
3433         Don't handle options marked as aliases.
3435 2010-08-25  Richard Guenther  <rguenther@suse.de>
3437         * c-common.c (c_common_get_alias_set): Remove special
3438         handling for pointers.
3440 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3442         * c-common.c: Use FOR_EACH_VEC_ELT.
3443         * c-gimplify.c: Likewise.
3444         * c-pragma.c: Likewise.
3446 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3448         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3449         RejectDriver.
3450         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
3451         RejectDriver.
3452         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3453         instead of OPT_MDX and OPT_MMDX.
3455 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
3457         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3459 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
3461         * c.opt (MD, MMD): Change to MDX and MMDX.
3462         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3464 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
3466         * c-opts.c (c_common_handle_option): Call handle_generated_option
3467         instead of handle_option.
3469 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3471         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3472         (maybe_apply_renaming_pragma): Delete unneeded declarations.
3474 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3476         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3477         (pending_redefine_extname): Change type to a VEC.
3478         (add_to_renaming_pragma_list): Update for new type of
3479         pending_redefine_extname.
3480         (maybe_apply_renaming_pragma): Likewise.
3482 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
3484         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3485         visited.
3486         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3487         decide whether a type has already been declared/seen.
3488         Do not go to the original type.
3489         (dump_nested_types): New parameter forward.
3490         Generate forward declaration if needed and mark type as visited.
3491         (print_ada_declaration): Call dump_nested_types if not already done.
3492         Mark types as visited.
3494 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
3496         * c.opt (-print-pch-checksum): Remove option.
3497         * c-opts.c (c_common_handle_option): Don't handle
3498         OPT_print_pch_checksum.
3500 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3502         * c-common.h (c_common_handle_option): Update prototype and return
3503         value type.
3504         * c-opts.c (c_common_handle_option): Update prototype and return
3505         value type.  Update calls to handle_option and
3506         enable_warning_as_error.
3508 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
3510         PR c/45079
3511         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3513 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3515         * c-common.h (c_common_missing_argument): Remove.
3516         * c-opts.c (c_common_missing_argument): Remove.
3517         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3518         idirafter, imacros, include, isysroot, isystem, iquote): Add
3519         MissingArgError.
3520         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3522 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
3524         * c-common.h (c_common_option_lang_mask,
3525         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3526         New.
3527         (c_common_init_options): Update prototype.
3528         * c-opts.c (c_common_option_lang_mask): New.
3529         (c_common_initialize_diagnostics): Split out of
3530         c_common_init_options.
3531         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3532         New.
3533         (c_common_init_options): Update prototype.  Use decoded options in
3534         search for -lang-asm.
3536 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3538         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3539         * c-format.c: Likewise.
3541 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3543         * c-common.h: Include diagnostic-core.h. Error if already
3544         included.
3545         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3547 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3549         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3550         Do not include expr.h
3551         (vector_mode_valid_p): Move here.
3553 2010-06-21  DJ Delorie  <dj@redhat.com>
3555         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3556         allow these pragmas anywhere.
3558 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
3560         PR bootstrap/44509
3561         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3562         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3563         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3564         ggc_strdup instead of xstrdup.
3566 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
3568         * c-cppbuiltin.c: Include cpp-id-data.h.
3569         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3570         (lazy_hex_fp_value): New function.
3571         (builtin_define_with_hex_fp_value): Provide definitions lazily.
3573 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3575         * c-gimplify.c: Do not include tree-flow.h
3577 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3579         PR other/44034
3580         * c-common.c: Rename targetm member:
3581         targetm.enum_va_list -> targetm.enum_va_list_p
3583 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
3585         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3587 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3589         * c-cppbuiltin.c: Do not include except.h.
3591 2010-06-24  Andi Kleen  <ak@linux.intel.com>
3593         * c-common.c (warn_for_omitted_condop): New.
3594         * c-common.h (warn_for_omitted_condop): Add prototype.
3596 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
3598         * c.opt (lang-objc): Remove.
3599         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3601 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3603         * c-opts.c: Include "tm_p.h".
3605 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
3607         * c-common.c (parse_optimize_options): Update call to
3608         decode_options.
3610 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3612         * c-common.c (record_types_used_by_current_var_decl): Adjust for
3613         new type of types_used_by_cur_var_decl.
3615 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3617         PR bootstrap/44512
3618         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3619         for C++ standard compliance.
3621 2010-06-16  Jason Merrill  <jason@redhat.com>
3623         * c.opt: Add -Wnoexcept.
3625 2010-06-16  Richard Guenther  <rguenther@suse.de>
3627         PR c/44555
3628         * c-common.c (c_common_truthvalue_conversion): Remove
3629         premature and wrong optimization concering ADDR_EXPRs.
3631 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
3633         * c-ada-spec.c (dump_sloc): Remove column info.
3634         (is_simple_enum): New function.
3635         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3636         enum types when relevant.
3638 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3640         * c-common.c (conversion_warning): Warn at expression
3641         location.
3643 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
3645         * c-opts.c (c_common_handle_option): Don't handle
3646         OPT_fshow_column.
3648 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3650         * c-pragma.c (push_alignment): Use typed GC allocation.
3651         (handle_pragma_push_options): Likewise.
3653         * c-common.c (parse_optimize_options): Likewise.
3655         * c-common.h (struct sorted_fields_type): Add variable_size GTY
3656         option.
3658 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
3660         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3661         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3662         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3663         flag_signed_bitfields, warn_strict_null_sentinel,
3664         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3665         flag_gen_declaration, flag_no_gnu_keywords,
3666         flag_implement_inlines, flag_implicit_templates,
3667         flag_implicit_inline_templates, flag_optional_diags,
3668         flag_elide_constructors, flag_default_inline, flag_rtti,
3669         flag_conserve_space, flag_access_control, flag_check_new,
3670         flag_new_for_scope, flag_weak, flag_working_directory,
3671         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3672         flag_enforce_eh_specs, flag_threadsafe_statics,
3673         flag_pretty_templates): Remove.
3674         * c-common.h (flag_preprocess_only, flag_nil_receivers,
3675         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3676         flag_replace_objc_classes, flag_undef, flag_no_builtin,
3677         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3678         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3679         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3680         flag_no_gnu_keywords, flag_implement_inlines,
3681         flag_implicit_templates, flag_implicit_inline_templates,
3682         flag_optional_diags, flag_elide_constructors, flag_default_inline,
3683         flag_rtti, flag_conserve_space, flag_access_control,
3684         flag_check_new, flag_new_for_scope, flag_weak,
3685         flag_working_directory, flag_use_cxa_atexit,
3686         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3687         flag_threadsafe_statics, flag_pretty_templates,
3688         warn_strict_null_sentinel): Remove.
3689         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3690         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3691         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3692         fimplicit-inline-templates, fimplicit-templates,
3693         flax-vector-conversions, fms-extensions, fnil-receivers,
3694         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3695         frtti, fshort-double, fshort-enums, fshort-wchar,
3696         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3697         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3698         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3699         gen-decls, undef): Use Var.
3700         (fdefault-inline, foptional-diags): Document as doing nothing.
3701         * c-opts.c (c_common_handle_option): Remove cases for options now
3702         using Var.  Mark ignored options as such.
3704 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3706         * c-common.c: Moved to here from parent directory.
3707         * c-common.def: Likewise.
3708         * c-common.h: Likewise.
3709         * c-cppbuiltin.c: Likewise.
3710         * c-dump.c: Likewise.
3711         * c-format.c: Likewise.
3712         * c-format.h : Likewise.
3713         * c-gimplify.c: Likewise.
3714         * c-lex.c: Likewise.
3715         * c-omp.c: Likewise.
3716         * c.opt: Likewise.
3717         * c-opts.c: Likewise.
3718         * c-pch.c: Likewise.
3719         * c-ppoutput.c: Likewise.
3720         * c-pragma.c: Likewise.
3721         * c-pragma.h: Likewise.
3722         * c-pretty-print.c: Likewise.
3723         * c-pretty-print.h: Likewise.
3724         * c-semantics.c: Likewise.
3725         * stub-objc.c: Likewise.
3727         * c-common.c: Include gt-c-family-c-common.h.
3728         * c-pragma.c: Include gt-c-family-c-pragma.h.
3730 Copyright (C) 2010-2014 Free Software Foundation, Inc.
3732 Copying and distribution of this file, with or without modification,
3733 are permitted in any medium without royalty provided the copyright
3734 notice and this notice are preserved.