]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
2014-06-23 Richard Biener <rguenther@suse.de>
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
5ef6b660 12014-06-20 Marek Polacek <polacek@redhat.com>
2
3 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4 (ubsan_walk_array_refs_r): New function.
5 (c_genericize): Instrument array bounds.
6 * c-ubsan.c: Include "internal-fn.h".
7 (ubsan_instrument_division): Mark instrumented arrays as having
8 side effects. Adjust ubsan_type_descriptor call.
9 (ubsan_instrument_shift): Likewise.
10 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
11 (ubsan_instrument_bounds): New function.
12 (ubsan_array_ref_instrumented_p): New function.
13 (ubsan_maybe_instrument_array_ref): New function.
14 * c-ubsan.h (ubsan_instrument_bounds): Declare.
15 (ubsan_array_ref_instrumented_p): Declare.
16 (ubsan_maybe_instrument_array_ref): Declare.
17
182014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 19
20 PR lto/61123
21 * c.opt (fshort-enums): Add to LTO.
22 * c.opt (fshort-wchar): Likewise.
23
78438f31 242014-06-16 Marek Polacek <polacek@redhat.com>
25
26 PR c/60439
27 * c.opt (Wswitch-bool): Add Var.
28
5fddcf34 292014-06-12 Jakub Jelinek <jakub@redhat.com>
30
31 PR middle-end/61486
32 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
33 #pragma omp target teams or
34 #pragma omp {,target }teams distribute simd.
35
74b777e5 362014-06-12 Jason Merrill <jason@redhat.com>
37
38 * c.opt (Wabi=, fabi-compat-version): New.
39 * c-opts.c (c_common_handle_option): Handle -Wabi=.
40 (c_common_post_options): Handle flag_abi_compat_version default.
41 Disallow -fabi-compat-version=1.
42 * c-common.h (abi_version_crosses): New.
43
738a6bda 442014-06-11 Jan Hubicka <hubicka@ucw.cz>
45
46 * c-family/c-common.c (handle_section_attribute): Update handling for
47 section names that are no longer trees.
48
cf5f881f 492014-06-10 Jakub Jelinek <jakub@redhat.com>
50
51 PR fortran/60928
52 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
53 (omp_pragmas): ... back here.
54
32dc1512 552014-06-05 Marek Polacek <polacek@redhat.com>
56
57 PR c/49706
58 * c-common.c (warn_logical_not_parentheses): New function.
59 * c-common.h (warn_logical_not_parentheses): Declare.
60 * c.opt (Wlogical-not-parentheses): New option.
61
f61a9bc2 622014-06-04 Marek Polacek <polacek@redhat.com>
63
64 PR c/30020
65 * c-common.c (check_case_bounds): Add location parameter.
66 Use it.
67 (c_add_case_label): Pass loc to check_case_bounds.
68
c69ec07d 692014-06-03 Marek Polacek <polacek@redhat.com>
70
71 PR c/60439
72 * c.opt (Wswitch-bool): New option.
73
3c77ca67 742014-05-22 Thomas Schwinge <thomas@codesourcery.com>
75
68a2c870 76 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
77 Remove prototypes.
78 (record_types_used_by_current_var_decl): Move prototype to where
79 it belongs.
80
3c77ca67 81 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
82 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
83 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
84
3ab4693e 852014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
86
87 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
88 * c-common.c (c_common_nodes_and_builtins): Don't initialize
89 void_zero_node.
90 * c-pretty-print.c (pp_c_void_constant): New function.
91 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
92 (c_pretty_printer::expression): Handle VOID_CST.
93 * cilk.c (extract_free_variables): Likewise.
94 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
95 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
96
25a27413 972014-05-17 Trevor Saunders <tsaunders@mozilla.com>
98
99 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
100 * c-pragma.c (push_alignment): Adjust.
101 (handle_pragma_push_options): Likewise.
102
3e5a8b00 1032014-05-09 Marek Polacek <polacek@redhat.com>
104
105 PR c/50459
106 * c-common.c (check_user_alignment): Return -1 if alignment is error
107 node.
108 (handle_aligned_attribute): Don't call default_conversion on
109 FUNCTION_DECLs.
110 (handle_vector_size_attribute): Likewise.
111 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
112 (handle_sentinel_attribute): Call default_conversion and allow even
113 integral types as an argument.
114
c2c4ae8d 1152014-05-08 Marek Polacek <polacek@redhat.com>
116
117 PR c/61053
118 * c-common.c (min_align_of_type): New function factored out from...
119 (c_sizeof_or_alignof_type): ...here.
120 * c-common.h (min_align_of_type): Declare.
121
2026249a 1222014-05-08 Marek Polacek <polacek@redhat.com>
123
124 PR c/61077
125 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
126 parameter type of main.
127
33c8dcfe 1282014-05-07 DJ Delorie <dj@redhat.com>
129
130 * c-cppbuiltin.c (print_bits_of_hex): New.
131 (builtin_define_type_minmax): Print values using hex so as not to
132 require a pre-computed list of string values.
133
960d5a55 1342014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
135 Mike Stump <mikestump@comcast.net>
136 Richard Sandiford <rdsandiford@googlemail.com>
137
138 * c-ada-spec.c: Include wide-int.h.
139 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
140 (dump_generic_ada_node): Use wide-int interfaces.
141 * c-common.c: Include wide-int-print.h.
142 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
143 (pointer_int_sum): Use wide-int interfaces.
144 (c_common_nodes_and_builtins): Use make_int_cst.
145 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
146 (handle_alloc_size_attribute): Use wide-int interfaces.
147 (get_nonnull_operand): Likewise.
148 * c-format.c (get_constant): Use tree_fits_uhwi_p.
149 * c-lex.c: Include wide-int.h.
150 (narrowest_unsigned_type): Take a widest_int rather than two
151 HOST_WIDE_INTs.
152 (narrowest_signed_type): Likewise.
153 (interpret_integer): Update accordingly. Use wide-int interfaces.
154 (lex_charconst): Use wide-int interfaces.
155 * c-pretty-print.c: Include wide-int.h.
156 (pp_c_integer_constant): Use wide-int interfaces.
157 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
158 INT_CST_LT_UNSIGNED.
159
bbb88b31 1602014-05-06 Richard Biener <rguenther@suse.de>
161
162 * c-opts.c (c_common_post_options): For -freestanding,
163 -fno-hosted and -fno-builtin disable pattern recognition
164 if not enabled explicitely.
165
022d4718 1662014-05-02 Marek Polacek <polacek@redhat.com>
167
168 * c.opt (Wsizeof-pointer-memaccess): Describe option.
169
e4ab2ef3 1702014-05-01 Marek Polacek <polacek@redhat.com>
171
172 PR c/43245
173 * c.opt (Wdiscarded-qualifiers): Add.
174
52cc0072 1752014-04-30 Marek Polacek <polacek@redhat.com>
176
177 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
178 INT_MIN / -1 sanitization only for integer types.
179
4a026b48 1802014-04-25 Marek Polacek <polacek@redhat.com>
181
182 PR c/18079
183 * c-common.c (handle_noinline_attribute): Warn if the attribute
184 conflicts with always_inline attribute.
185 (handle_always_inline_attribute): Warn if the attribute conflicts
186 with noinline attribute.
187
90e645fa 1882014-04-25 Marek Polacek <polacek@redhat.com>
189
190 PR c/60156
191 * c-common.c (check_main_parameter_types): Warn about variadic main.
192
db103ea4 1932014-04-24 Mike Stump <mikestump@comcast.net>
194
195 * c.opt (Wshadow-ivar): Default to on.
196
06511efd 1972014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
198
199 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
200
cdf34fca 2012014-04-23 Marek Polacek <polacek@redhat.com>
202
203 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
204
7311d7c1 2052014-04-22 Jakub Jelinek <jakub@redhat.com>
206
207 PR sanitizer/60275
208 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
209 if flag_sanitize_undefined_trap_on_error.
210 (ubsan_instrument_division, ubsan_instrument_shift,
211 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
212 if !flag_sanitize_recover.
213
c1917557 2142014-04-22 Marc Glisse <marc.glisse@inria.fr>
215
216 PR libstdc++/43622
217 * c-common.c (registered_builtin_types): Make non-static.
218 * c-common.h (registered_builtin_types): Declare.
219
b2ca6510 2202014-04-14 Richard Biener <rguenther@suse.de>
221 Marc Glisse <marc.glisse@inria.fr>
222
223 PR c/60819
224 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
225 apply may-alias the scalar pointer type when applicable.
226
855372a3 2272014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
228
229 PR middle-end/60467
230 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
231 as possible argument for Cilk_spawn.
232
4012a986 2332014-04-11 Tobias Burnus <burnus@net-b.de>
234
235 PR c/60194
236 * c.opt (Wformat-signedness): Add
237 * c-format.c(check_format_types): Use it.
238
0d284870 2392014-04-11 Jason Merrill <jason@redhat.com>
240
241 PR c++/57926
242 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
243 default_conversion for an array argument.
244
a34c1231 2452014-04-08 Marek Polacek <polacek@redhat.com>
246
247 PR sanitizer/60745
248 * c-ubsan.c: Include asan.h.
249 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
250
a35a8e18 2512014-04-03 Nathan Sidwell <nathan@codesourcery.com>
252
253 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
254
b23e42b6 2552014-04-02 Marek Polacek <polacek@redhat.com>
256
257 * c-common.h (c_expand_expr): Remove declaration.
258
5a672e62 2592014-03-28 Jakub Jelinek <jakub@redhat.com>
260
261 PR c++/60689
262 * c-common.c (add_atomic_size_parameter): When creating new
263 params vector, push the size argument first.
264
d4d068c0 2652014-03-26 Jakub Jelinek <jakub@redhat.com>
266
267 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
268 ubsan_instrument_vla, ubsan_instrument_return): Adjust
269 ubsan_create_data callers.
270
446bdf5f 2712014-03-22 Jakub Jelinek <jakub@redhat.com>
272
273 PR debug/60603
274 * c-opts.c (c_finish_options): Restore cb_file_change call to
275 <built-in>.
276
8895f0a3 2772014-03-13 Jakub Jelinek <jakub@redhat.com>
278
279 PR middle-end/36282
280 * c-pragma.c (apply_pragma_weak): Only look at
281 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
282 DECL_ASSEMBLER_NAME_SET_P (decl).
283 (maybe_apply_pending_pragma_weaks): Exit early if
284 vec_safe_is_empty (pending_weaks) rather than only when
285 !pending_weaks.
286 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
287 set assembler name back to NULL afterwards.
288
7a5da2cd 2892014-03-11 Jason Merrill <jason@redhat.com>
290
291 * c.opt: Add -std=gnu++14.
292
95093889 2932014-03-11 Ian Bolton <ian.bolton@arm.com>
294
295 * c-opts.c (c_common_post_options): Don't override
296 -ffp-contract=fast if unsafe-math-optimizations is on.
297
c9a24b37 2982014-03-08 Paulo Matos <paulo@matos-sorge.com>
299
300 * c.opt: Enable LTO FE for fshort-double.
301
3f6dba6e 3022014-03-07 Jason Merrill <jason@redhat.com>
303
304 * c.opt: Add -std=c++14.
305
3bfdc94f 3062014-03-06 Marek Polacek <polacek@redhat.com>
307
308 PR c/60197
309 * cilk.c (contains_cilk_spawn_stmt): New function.
310 (contains_cilk_spawn_stmt_walker): Likewise.
311 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
312 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
313
8b3a6a4c 3142014-03-03 Jakub Jelinek <jakub@redhat.com>
315
316 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
317 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
318 even when flag_preprocess_only.
319
734ec290 3202014-02-26 Jason Merrill <jason@redhat.com>
321
322 PR c++/59231
323 PR c++/11586
324 * c-common.c (shorten_compare): Don't check
325 c_inhibit_evaluation_warnings.
326
81aec8b8 3272014-02-19 Jakub Jelinek <jakub@redhat.com>
328
d1081017 329 PR c/37743
330 * c-common.c (c_common_nodes_and_builtins): When initializing
331 c_uint{16,32,64}_type_node, also set corresponding
332 uint{16,32,64}_type_node to the same value.
333
81aec8b8 334 PR c++/60267
335 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
336 for PRAGMA_IVDEP if flag_preprocess_only.
337
312243bb 3382014-02-12 Jakub Jelinek <jakub@redhat.com>
339
340 PR c/60101
341 * c-common.c (merge_tlist): If copy is true, call new_tlist,
342 if false, add ADD itself, rather than vice versa.
343 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
344 copy. For SAVE_EXPR, only call merge_tlist once.
345
237e78b1 3462014-02-08 Jakub Jelinek <jakub@redhat.com>
347
348 PR middle-end/60092
349 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
350 and tree_to_uhwi.
351 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
352 functions.
353 (c_common_attribute_table): Add alloc_align and assume_aligned
354 attributes.
355
76fdceeb 3562014-02-06 Marek Polacek <polacek@redhat.com>
357
358 PR c/60087
359 * c-common.c (warn_for_sign_compare): Call warning_at with location
360 instead of warning.
361
4a4dea42 3622014-02-05 Marek Polacek <polacek@redhat.com>
363
364 PR c/53123
365 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
366 statement.
367
ec704957 3682014-02-04 Marek Polacek <polacek@redhat.com>
369
370 PR c/60036
371 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
372 SAVE_EXPR.
373
caf62483 3742014-02-03 Marc Glisse <marc.glisse@inria.fr>
375
376 PR c++/53017
377 PR c++/59211
378 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
379 handle_vector_size_attribute, handle_nonnull_attribute): Call
380 default_conversion on the attribute argument.
381 (handle_nonnull_attribute): Increment the argument number.
382
ec761d5a 3832014-01-31 Marek Polacek <polacek@redhat.com>
384
385 PR c/59963
386 * c-common.c (add_atomic_size_parameter): Pass vNULL to
387 build_function_call_vec.
388 (resolve_overloaded_builtin): Likewise.
389 * c-common.h (build_function_call_vec): Adjust declaration.
390
22a75734 3912014-01-30 Marek Polacek <polacek@redhat.com>
392
393 PR c/59940
394 * c-common.h (unsafe_conversion_p): Adjust declaration.
395 (warnings_for_convert_and_check): Likewise.
396 (convert_and_check): Likewise.
397 * c-common.c (unsafe_conversion_p): Add location parameter. Call
398 expansion_point_location_if_in_system_header on it.
399 (warnings_for_convert_and_check): Add location parameter. Call
400 expansion_point_location_if_in_system_header on it. Use it.
401 (convert_and_check): Add location parameter. Use it.
402 (conversion_warning): Likewise.
403 (c_add_case_label): Adjust convert_and_check calls.
404 (scalar_to_vector): Adjust unsafe_conversion_p calls.
405
a89e6c15 4062014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
407
408 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
409 flag_cilkplus.
410 * c-pragma.c (init_pragma): Likewise.
411 * c.opt: Likewise.
412
2623625f 4132014-01-23 Marek Polacek <polacek@redhat.com>
414
415 PR c/59846
416 * c-common.c (shorten_compare): Add location_t parameter.
417 * c-common.h (shorten_binary_op): Adjust declaration.
418
46da3601 4192014-01-23 Marek Polacek <polacek@redhat.com>
420
421 PR c/58346
422 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
423 * c-common.h: Declare it.
424
c9743c6a 4252014-01-20 Eric Botcazou <ebotcazou@adacore.com>
426
427 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
428 * c-ada-spec.c (dump_ads): Likewise.
429 (cpp_check): Likewise.
430 (dump_ada_specs): Likewise.
431
4322014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 433
434 PR c++/49718
435 * c-common.c (handle_no_instrument_function_attribute): Allow
436 no_instrument_function attribute in class member
437 definition/declaration.
438
1248c663 4392014-01-15 Jakub Jelinek <jakub@redhat.com>
440
441 PR c/58943
442 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
443 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
444 being COMPOUND_EXPR.
445 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
446 operand a SAVE_EXPR and second MODIFY_EXPR.
447
6e5c480b 4482014-01-09 Jakub Jelinek <jakub@redhat.com>
449
450 PR target/58115
451 * c-pch.c (c_common_write_pch): Call
452 prepare_target_option_nodes_for_pch.
453
3aea1f79 4542014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
455
456 Update copyright years
457
e4f22041 4582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
459
460 * array-notation-common.c, c-cilkplus.c: Use the standard form for
461 the copyright notice.
462
7fb0fe24 4632013-12-28 Eric Botcazou <ebotcazou@adacore.com>
464
465 * c-ada-spec.c (print_constructor): New function.
466 (print_destructor): Retrieve the origin of the destructor.
467 (print_ada_declaration): Revamp handling of constructors/destructors.
468
468088ac 4692013-12-23 Stuart Hastings <stuart@apple.com>
470 Bill Maddox <maddox@google.com>
471 Jason Merrill <jason@redhat.com>
472
473 * c.opt: Add -fdeclone-ctor-dtor.
474 * c-opts.c (c_common_post_options): Default to on iff -Os.
475
74acc703 4762013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
477
478 * c-common.c (c_common_attribute_table): Added "cilk simd function"
479 attribute.
480 * c-pragma.h (enum pragma_cilk_clause): Remove.
481 (enum pragma_omp_clause): Added the following fields:
482 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
483 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
484 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
485 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
486 PRAGMA_CILK_CLAUSE_UNIFORM.
487
488
433e804e 4892013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
490
491 * cilk.c (cilk_outline): Made this function non-static.
492 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
493 (create_cilk_wrapper): Added a new parameter: a function pointer.
494 (c_install_body_w_frame_cleanup): Remove
495 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
496 * c-common.h (cilk_outline): New prototype.
497 (gimplify_cilk_spawn): Removed two parameters.
498 (cilk_install_body_with_frame_cleanup): New prototype.
499 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
500 CILK_SPAWN_STMT case.
501
5bcc7e60 5022013-12-11 Bernd Schmidt <bernds@codesourcery.com>
503
e66325ea 504 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
505
5bcc7e60 506 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
507 (int_array_type_node): Remove.
508 * c-common.c (c_common_nodes_and_builtins): Don't build it.
509
0b26ec77 5102013-12-05 Marek Polacek <polacek@redhat.com>
511
512 PR c/52023
513 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
514 [ADJUST_FIELD_ALIGN].
515
a179a7dc 5162013-12-04 Joseph Myers <joseph@codesourcery.com>
517
518 PR c/52023
519 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
520 and check field alignment if set.
521 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
522 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
523
137559b2 5242013-12-04 Jakub Jelinek <jakub@redhat.com>
525 Marek Polacek <polacek@redhat.com>
526
527 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
528 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
529
648fd348 5302013-11-29 H.J. Lu <hongjiu.lu@intel.com>
531
532 PR c/59309
533 * cilk.c (gimplify_cilk_spawn): Properly handle function without
534 arguments.
535
253e1cae 5362013-11-29 Jakub Jelinek <jakub@redhat.com>
537
538 PR c/59280
539 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
540 goto invalid. If it is error_mark_node, don't issue further
541 diagnostics.
542
3e398f5b 5432013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
544
545 * c.opt (Wopenmp-simd): New.
546
020bc656 5472013-11-22 Jakub Jelinek <jakub@redhat.com>
548
549 * c-ubsan.h (ubsan_instrument_return): New prototype.
550 * c-ubsan.c (ubsan_instrument_return): New function.
551
bc61cadb 5522013-11-22 Andrew MacLeod <amacleod@redhat.com>
553
554 * c-common.c: Add required include files from gimple.h.
555 * c-gimplify.c: Likewise
556 * cilk.c: Likewise
557
3df42822 5582013-11-22 David Malcolm <dmalcolm@redhat.com>
559
560 * c-common.c (unsafe_conversion_p): Remove use of
561 EXPR_LOC_OR_HERE macro.
562 (conversion_warning): Likewise.
563 (warnings_for_convert_and_check): Likewise.
564 (warn_for_collisions_1): Likewise.
565 (shorten_compare): Likewise, and remove use of in_system_header
566 macro, using the location from the former.
567 * c-lex.c (dump_one_header): Remove use of input_filename macro.
568 (cb_def_pragma): Remove use of in_system_header macro.
569 (lex_string): Likewise.
570 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
571
8c53c46c 5722013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
573 Mike Stump <mikestump@comcast.net>
574 Richard Sandiford <rdsandiford@googlemail.com>
575
576 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
577 instead of TREE_INT_CST_LOW, in cases where there is a protecting
578 tree_fits_shwi_p or tree_fits_uhwi_p.
579 (dump_generic_ada_node): Likewise.
580 * c-format.c (check_format_arg): Likewise.
581 * c-pretty-print.c (pp_c_integer_constant): Likewise.
582
5200ef07 5832013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
584
585 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
586
ca9d7d74 5872013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
588
589 PR c/53001
590 * c-common.c (unsafe_conversion_p): Make this function
591 return an enumeration with more detail.
592 (conversion_warning): Use the new return type of
593 unsafe_conversion_p to separately warn either about conversions
594 that lower floating point number precision or about the other
595 kinds of conversions.
596 * c-common.h (enum conversion_safety): New enumeration.
597 (unsafe_conversion_p): switching return type to
598 conversion_safety enumeration.
599 * c.opt: Adding new warning -Wfloat-conversion and
600 enabling it with -Wconversion.
601
0391a567 6022013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
603
604 * c-opts.c: Include plugin.h.
605 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
606
19b928d9 6072013-11-19 Marek Polacek <polacek@redhat.com>
608
609 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
610 call.
611 (ubsan_instrument_shift): Likewise.
612 (ubsan_instrument_vla): Likewise.
613
aa59f000 6142013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
615
616 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
617 cast to unsigned type.
618
08f817b3 6192013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
620
621 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
622 tree_low_cst.
623 (complete_array_type): Update comment to refer to tree_to_[su]hwi
624 rather than tree_low_cst.
625
6a0712d4 6262013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
627
628 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
629 tree_to_uhwi throughout.
630
fcb97e84 6312013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
632
633 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
634 tree_low_cst (..., 0) with tree_to_shwi throughout.
635
cd4547bf 6362013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
637
638 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
639 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
640
35ec552a 6412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
642
643 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
644 host_integerp (..., 0) with tree_fits_shwi_p throughout.
645
f2697631 6462013-11-15 Aldy Hernandez <aldyh@redhat.com>
647
648 * c-cilkplus.c: New file.
649 * c-common.c (readonly_error): Add location argument.
650 * c-common.h (readonly_error): Same.
651 (c_finish_cilk_clauses): Protoize.
652 (c_check_cilk_loop): Same.
653 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
654 Do not fail on error_mark_node.
655 Abstract increment canonicalization to here...
656 (c_omp_for_incr_canonicalize_ptr): New.
657 c-pragma.c (init_pragma): Register "simd" pragma.
658 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
659 (enum pragma_cilk_clause): New.
660
0aa8c34e 6612013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
662
663 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
664 wchar_type and host_integerp checks.
665
e795d6e1 6662013-11-14 Andrew MacLeod <amacleod@redhat.com>
667
668 * c-common.c: Likewise.
669 * c-gimplify.c: Likewise.
670 * cilk.c: Likewise.
671
9ed99284 6722013-11-14 Diego Novillo <dnovillo@google.com>
673
674 * c-common.c: Include fold-const.h.
675 Include stor-layout.h.
676 Include calls.h.
677 Include stringpool.h.
678 Include attribs.h.
679 Include varasm.h.
680 Include trans-mem.h.
681 * c-cppbuiltin.c: Include stor-layout.h.
682 Include stringpool.h.
683 * c-format.c: Include stringpool.h.
684 * c-lex.c: Include stringpool.h.
685 Include stor-layout.h.
686 * c-pragma.c: Include stringpool.h.
687 Include attribs.h.
688 Include varasm.h.
689 Include gcc-symtab.h.
690 * c-pretty-print.c: Include stor-layout.h.
691 Include attribs.h.
692 * cilk.c: Include stringpool.h.
693 Include calls.h.
694
4fba5eb9 6952013-11-13 Joseph Myers <joseph@codesourcery.com>
696
697 * c-common.h (enum rid): Add RID_AUTO_TYPE.
698 * c-common.c (c_common_reswords): Add __auto_type.
699 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
700
a8783bee 7012013-11-12 Andrew MacLeod <amacleod@redhat.com>
702
e795d6e1 703 * c-common.c: Include gimplify.h.
704 * c-gimplify.c: Likewise.
705 * cilk.c: Likewise.
706 * c-omp.c: Include gimple-expr.h instead of gimple.h.
707 * c-ubsan.c: Don't include gimple.h.
a8783bee 708
d184e0c0 7092013-11-12 Joseph Myers <joseph@codesourcery.com>
710
711 * c-common.c (c_common_reswords): Add _Thread_local.
712
a056826c 7132013-11-09 Joseph Myers <joseph@codesourcery.com>
714
715 * c-common.c (atomic_size_supported_p): New function.
716 (resolve_overloaded_atomic_exchange)
717 (resolve_overloaded_atomic_compare_exchange)
718 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
719 Use it instead of comparing size with a local list of sizes.
720
b560fabd 7212013-11-07 Andrew MacLeod <amacleod@redhat.com>
722 Joseph Myers <joseph@codesourcery.com>
723
724 * c-common.h (enum rid): Add RID_ATOMIC.
725 * c-common.c (c_common_reswords): Add _Atomic.
726 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
727 (keyword_is_type_qualifier): Accept RID_ATOMIC.
728 * c-format.c (check_format_types): Check for extra _Atomic
729 qualifiers in format argument.
730 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
731 (pp_c_type_qualifier_list): Mention _Atomic in comment.
732
5b1a0622 7332013-11-06 Tobias Burnus <burnus@net-b.de>
734
735 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
736
4f8f4cb8 7372013-11-06 Joseph Myers <joseph@codesourcery.com>
738
739 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
740 standards modes.
741 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
742 to mean lack of IEEE 754 support.
743
9148bda3 7442013-11-05 Tobias Burnus <burnus@net-b.de>
745
746 * c.opt (-Wdate-time): New option
747 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
748
08c5f4d5 7492013-11-05 Joseph Myers <joseph@codesourcery.com>
750
751 * c-cppbuiltin.c (cpp_iec_559_value): Test
752 flag_excess_precision_cmdline not flag_excess_precision.
753
c630ef93 7542013-11-05 Tobias Burnus <burnus@net-b.de>
755
756 * c.opt (fopenmp-simd): New option.
757 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
758 (omp_pragmas): ... this new struct.
759 (c_pp_lookup_pragma): Also walk omp_pragmas.
760 (init_pragma): Init pragmas for -fopenmp-simd.
761
7354a89b 7622013-11-04 Marek Polacek <polacek@redhat.com>
763
764 PR c++/58979
765 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
766
4c866b9b 7672013-11-04 Joseph Myers <joseph@codesourcery.com>
768
769 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
770 New functions.
771 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
772
e2a6a333 7732013-11-04 Eric Botcazou <ebotcazou@adacore.com>
774
775 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
776 (dump_ada_specs): Adjust prototype of second callback.
777 * c-ada-spec.c (cpp_check): New global variable.
778 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
779 (print_generic_ada_decl): Likewise.
780 (has_static_fields): Change return type to bool and add guard.
781 (has_nontrivial_methods): New predicate.
782 (is_tagged_type): Change return type to bool.
783 (separate_class_package): Call has_nontrivial_methods.
784 (pp_ada_tree_identifier): Minor tweaks.
785 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
786 (dump_ada_array_domains): Likewise.
787 (dump_ada_array_type): Likewise.
788 (dump_template_types): Remove cpp_check parameter and do not pass it to
789 dump_generic_ada_node.
790 (dump_ada_template): Likewise.
791 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
792 recursively.
793 (print_ada_methods): Change return type to integer. Remove cpp_check
794 parameter and do not pass it down.
795 (dump_nested_types): Remove cpp_check parameter and do not pass it to
796 dump_generic_ada_node.
797 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
798 accessing methods.
799 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
800 down. Use has_nontrivial_methods to recognize C++ classes. Use return
801 value of print_ada_methods.
802 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
803 Set cpp_check to it before invoking dump_ada_nodes.
804 (dump_ada_specs): Likewise.
805
2c4c3477 8062013-11-03 Marek Polacek <polacek@redhat.com>
807
808 * c-ubsan.c: Don't include hash-table.h.
809 (ubsan_instrument_vla): New function.
810 * c-ubsan.h: Declare it.
811
452659af 8122013-10-31 David Malcolm <dmalcolm@redhat.com>
813
814 Automated part of renaming of symtab_node_base to symtab_node.
815
816 Patch autogenerated by rename_symtab.py from
817 https://github.com/davidmalcolm/gcc-refactoring-scripts
818 revision 58bb219cc090b2f4516a9297d868c245495ee622
819
820 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
821 symtab_node_base to symtab_node.
822
4d6f7dd4 8232013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
824
825 Implement C++14 digit separators.
826 * c-lex.c (interpret_float): Remove digit separators from scratch string
827 before building real literal.
828
06cfe805 8292013-10-30 Jakub Jelinek <jakub@redhat.com>
830
831 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
832
d037099f 8332013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
834
835 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
836 fields.
837 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
838 enabled.
839 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
840 (insert_cilk_frame): New prototype.
841 (cilk_init_builtins): Likewise.
842 (gimplify_cilk_spawn): Likewise.
843 (c_cilk_install_body_w_frame_cleanup): Likewise.
844 (cilk_detect_spawn_and_unwrap): Likewise.
845 (cilk_set_spawn_marker): Likewise.
846 (build_cilk_sync): Likewise.
847 (build_cilk_spawn): Likewise.
848 * cilk.c: New file.
849
02774f2d 8502013-10-29 David Malcolm <dmalcolm@redhat.com>
851
852 Patch autogenerated by refactor_symtab.py from
853 https://github.com/davidmalcolm/gcc-refactoring-scripts
854 revision 58bb219cc090b2f4516a9297d868c245495ee622
855
856 * c-gimplify.c (c_genericize): Update for conversion of symtab types
857 to a true class hierarchy.
858 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
859
31fe10fd 8602013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
861
862 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
863
b1c06ff9 8642013-10-26 Jeff Law <law@redhat.com>
865
866 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
867 * c-family/c.opt: Ignore and warn for mudflap options.
868
48a972c8 8692013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 870
871 PR other/33426
872 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
873 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
874
546a04b1 8752013-10-23 Jason Merrill <jason@redhat.com>
876
877 * c-format.c (gcc_cxxdiag_char_table): Add %X.
878
bc7bff74 8792013-10-11 Jakub Jelinek <jakub@redhat.com>
880
d62c713e 881 * c-common.h (omp_clause_mask::operator !=): New method.
882 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
883 instead of if (mask & something) tests everywhere.
884
bc7bff74 885 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
886 201307 instead of 201107.
887 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
888 (c_common_attribute_table): Add "omp declare target" and
889 "omp declare simd" attributes.
890 (handle_omp_declare_target_attribute,
891 handle_omp_declare_simd_attribute): New functions.
892 * c-omp.c: Include c-pragma.h.
893 (c_finish_omp_taskgroup): New function.
894 (c_finish_omp_atomic): Add swapped argument, if true,
895 build the operation first with rhs, lhs arguments and use NOP_EXPR
896 build_modify_expr.
897 (c_finish_omp_for): Add code argument, pass it down to make_code.
898 (c_omp_split_clauses): New function.
899 (c_split_parallel_clauses): Removed.
900 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
901 c_omp_declare_simd_clauses_to_decls): New functions.
902 * c-common.h (omp_clause_mask): New type.
903 (OMP_CLAUSE_MASK_1): Define.
904 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
905 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
906 omp_clause_mask::operator |, omp_clause_mask::operator &,
907 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
908 omp_clause_mask::operator ==): New methods.
909 (enum c_omp_clause_split): New.
910 (c_finish_omp_taskgroup): New prototype.
911 (c_finish_omp_atomic): Add swapped argument.
912 (c_finish_omp_for): Add code argument.
913 (c_omp_split_clauses): New prototype.
914 (c_split_parallel_clauses): Removed.
915 (c_omp_declare_simd_clauses_to_numbers,
916 c_omp_declare_simd_clauses_to_decls): New prototypes.
917 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
918 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
919 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
920 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
921 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
922 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
923 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
924 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
925 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
926 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
927 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
928 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
929 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
930 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
931 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
932 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
933 PRAGMA_OMP_CLAUSE_UNIFORM.
934
d7dcba40 9352013-10-09 Marc Glisse <marc.glisse@inria.fr>
936
937 PR tree-optimization/20318
938 * c-common.c (handle_returns_nonnull_attribute): New function.
939 (c_common_attribute_table): Add returns_nonnull.
940
0b7282f1 9412013-10-03 Marc Glisse <marc.glisse@inria.fr>
942
943 PR c++/19476
944 * c.opt (fcheck-new): Move to common.opt.
945
51f553af 9462013-09-25 Marek Polacek <polacek@redhat.com>
947 Jakub Jelinek <jakub@redhat.com>
948
949 PR sanitizer/58413
950 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
951 an expression if we can prove it is correct.
952 (ubsan_instrument_division): Likewise. Remove unnecessary
953 check.
954
05f893e1 9552013-09-18 Marek Polacek <polacek@redhat.com>
956
957 PR sanitizer/58411
958 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
959 Declare it.
960 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
961
236ce1d1 9622013-09-14 Iain Sandoe <iain@codesourcery.com>
963
964 PR target/48094
965 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
966 fobjc-gc, freplace-objc-classes): Accept for LTO.
967
f9f68d35 9682013-09-13 Jacek Caban <jacek@codeweavers.com>
969
970 * c-target.def: New hook
971
ba2f764e 9722013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
973
974 PR c++/43452
975 * c.opt (Wdelete-incomplete): Add.
976
73437615 9772013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
978
979 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
980 (vector_types_compatible_elements_p): New function.
981 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
982 declaration.
983 (vector_types_compatible_elements_p): Declare.
984
95af4c75 9852013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
986
987 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
988 a virtual member function.
989 (pp_simple_type_specifier): Remove.
990 (pp_c_type_specifier): Likewise.
991 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
992 Rename from pp_c_type_specifier. Adjust.
993 (c_pretty_printer::c_pretty_printer): Do not assign to
994 simple_type_specifier.
995
eaab24b9 9962013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
997
998 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
999 member function.
1000 (c_pretty_printer::storage_class_specifier): Likewise.
1001 (c_pretty_printer::initializer): Likewise.
1002 (pp_declaration): Remove.
1003 (pp_declaration_specifiers): Likewise.
1004 (pp_abstract_declarator): Likewise.
1005 (pp_declarator): Likewise.
1006 (pp_type_id): Likewise.
1007 (pp_statement): Likewise.
1008 (pp_constant): Likewise.
1009 (pp_id_expression): Likewise.
1010 (pp_primary_expression): Likewise.
1011 (pp_unary_expression): Likewise.
1012 (pp_multiplicative_expression): Likewise.
1013 (pp_conditional_expression): Likewise.
1014 (pp_assignment_expression): Likewise.
1015 (pp_expression): Likewise.
1016 (pp_c_type_id): Likewise.
1017 (pp_c_storage_class_specifier): Likewise.
1018 * c-pretty-print.c (pp_c_type_cast): Tidy.
1019 (pp_c_pointer): Likewise.
1020 (pp_c_type_specifier): Likewise.
1021 (pp_c_parameter_type_list): Likewise.
1022 (pp_c_function_definition): Likewise.
1023 (pp_c_init_declarator): Likewise.
1024 (pp_c_initializer_list): Likewise.
1025 (pp_c_constructor_elts): Likewise.
1026 (c_pretty_printer::direct_abstract_declarator): Likewise.
1027 (c_pretty_printer::declaration_specifiers): Likewise.
1028 (c_pretty_printer::primary_expression): Likewise.
1029 (c_pretty_printer::postfix_expression): Likewise.
1030 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1031 (c_pretty_printer::storage_class_specifier): Rename from
1032 pp_c_storage_class_specifier.
1033 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1034 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1035 storage_class_specifier, initializer, offset_list, flags.
1036
9e46467d 10372013-08-30 Marek Polacek <polacek@redhat.com>
1038
1039 * c-ubsan.c: New file.
1040 * c-ubsan.h: New file.
1041
36a8d9b9 10422013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1043
1044 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1045 member function.
1046 (c_pretty_printer::declaration_specifiers): Likewise.
1047 (c_pretty_printer::declarator): Likewise.
1048 (c_pretty_printer::abstract_declarator): Likewise.
1049 (c_pretty_printer::direct_abstract_declarator): Likewise.
1050 (c_pretty_printer::direct_declarator): Likewise.
1051 (c_pretty_printer::function_specifier): Likewise.
1052 (pp_declaration): Adjust.
1053 (pp_declaration_specifiers): Likewise.
1054 (pp_abstract_declarator): Likewise.
1055 (pp_direct_declarator): Likewise.
1056 (pp_function_specifier): Likewise.
1057 (pp_direct_abstract_declarator): Remove as unused.
1058 (pp_c_declaration): Remove.
1059 (pp_c_declaration_specifiers): Likewise.
1060 (pp_c_declarator): Likewise.
1061 (pp_c_direct_declarator): Likewise.
1062 (pp_c_function_specifier): Likewise.
1063 (pp_c_direct_abstract_declarator): Likewise.
1064 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1065 from pp_c_abstract_declarator. Adjust.
1066 (c_pretty_printer::direct_abstract_declarator): Rename from
1067 pp_c_direct_abstract_declarator. Adjust.
1068 (c_pretty_printer::function_specifier): Rename from
1069 pp_c_function_specifier. Adjust.
1070 (c_pretty_printer::declaration_specifiers): Rename from
1071 pp_c_declaration_specifiers. Adjust.
1072 (c_pretty_printer::direct_declarator): Rename from
1073 pp_c_direct_declarator. Adjust.
1074 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1075 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1076 (c_pretty_printer::c_pretty_printer): Do not assign to
1077 declaration, declaration_specifiers, declarator,
1078 direct_declarator, direct_abstract_declarator, function_specifier.
1079
30635c2e 10802013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1081
1082 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1083 virtual member function.
1084 (c_pretty_printer::multiplicative_expression): Likewise.
1085 (c_pretty_printer::conditional_expression): Likewise.
1086 (c_pretty_printer::assignment_expression): Likewise.
1087 (c_pretty_printer::expression): Likewise.
1088 (pp_unary_expression): Adjust.
1089 (pp_multiplicative_expression): Likewise.
1090 (pp_assignment_expression): Likewise.
1091 (pp_conditional_expression): Likewise.
1092 (pp_expression): Likewise.
1093 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1094 from pp_c_unary_expression. Adjust.
1095 (c_pretty_printer::multiplicative_expression): Rename from
1096 pp_c_multiplicative_expression. Adjust.
1097 (c_pretty_printer::conditional_expression): Rename from
1098 pp_c_conditional_expression. Adjust.
1099 (c_pretty_printer::assignment_expression): Rename from
1100 pp_c_assignment_expression. Adjust.
1101 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1102 (c_pretty_printer::c_pretty_printer): Do not assign to
1103 unary_expression, multiplicative_expression,
1104 conditional_expression, expression.
1105
027d08ed 11062013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1107
1108 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1109 virtual member function.
1110 (pp_postfix_expression): Adjust.
1111 (pp_c_postfix_expression): Remove.
1112 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1113 from pp_c_postfix_expression. Adjust.
1114 (c_pretty_printer::c_pretty_printer): Do not assign to
1115 postfix_expression.
1116
f873303a 11172013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1118
1119 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1120 virtua member function.
1121 (pp_primary_expression): Adjust.
1122 (pp_c_primary_expression): Remove.
1123 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1124 from pp_c_primary_expression. Adjust.
1125 (pp_c_initializer_list): Use pp_primary_expression.
1126 (c_pretty_printer::c_pretty_printer): Do not assign to
1127 primary_expression.
1128
08e3e481 11292013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1130
1131 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1132 * c-pretty-print.c (M_): Remove.
1133 (c_pretty_printer::translate_string): Define.
1134 (pp_c_type_specifier): Use it.
1135 (pp_c_primary_expression): Likewise.
1136 (pp_c_expression): Likewise.
1137
1fc4a87f 11382013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1139
1140 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1141 virtual function.
1142 (pp_c_id_expression): Remove.
1143 (pp_id_expression): Adjust.
1144 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1145 pp_c_id_expression. Adjust.
1146 (pp_c_postfix_expression): Use pp_id_expression.
1147 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1148
a6cb161b 11492013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1150
1151 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1152 member function.
1153 (pp_constant): Adjust.
1154 (pp_c_constant): Remove.
1155 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1156 pp_c_constant. Adjust.
1157 (pp_c_constant)
1158 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1159 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1160
eed6bc21 11612013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1162
1163 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1164 (c_pretty_printer::c_pretty_printer): Declare.
1165 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1166 c_pretty_printer_init. Adjust.
1167 (print_c_tree): Do not call c_pretty_printer_init.
1168 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1169
df558d2e 11702013-08-09 Arnaud Charlet <charlet@adacore.com>
1171
1172 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1173
42f9a786 11742013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1175
1176 PR c++/58080
1177 * c-common.c (pointer_int_sum): Add bool parameter.
1178 * c-common.h (pointer_int_sum): Adjust declaration.
1179
f874ddad 11802013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1181
1182 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1183 c_pretty_printer variable.
1184
a94db6b0 11852013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1186
1187 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1188 (pp_base): Remove.
1189 (pp_c_base): Likewise. Adjust users.
1190 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1191 (pp_c_whitespace): Do not call pp_base.
1192 (pp_c_left_paren): Likewise.
1193 (pp_c_right_paren): Likewise.
1194 (pp_c_left_brace): Likewise.
1195 (pp_c_right_brace): Likewise.
1196 (pp_c_left_bracket): Likewise.
1197 (pp_c_right_bracket): Likewise.
1198 (pp_c_dot): Likewise.
1199 (pp_c_ampersand): Likewise.
1200 (pp_c_star): Likewise.
1201 (pp_c_arrow): Likewise.
1202 (pp_c_semicolon): Likewise.
1203 (pp_c_complement): Likewise.
1204 (pp_c_exclamation): Likewise.
1205 (pp_c_direct_declarator): Likewise.
1206 (pp_c_ws_string): Likewise.
1207 (pp_c_identifier): Likewise.
1208 (pp_c_statement): Likewise.
1209 (print_c_tree): Likewise.
1210
1898176c 12112013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1212
1213 PR c++/58072
1214 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1215 provide useful error strings.
1216
70d60d1d 12172013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1218
1219 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1220 printer functions instead of pp_string or operators and punctuators.
1221 (dump_generic_ada_node): Likewise.
1222 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1223 (pp_c_relational_expression): Likewise.
1224 (pp_c_logical_or_expression): Likewise.
1225
dda4f0ec 12262013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1227
1228 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1229 functions instead of pp_character.
1230 (pp_ada_tree_identifier): Likewise.
1231 (dump_ada_double_name): Likewise.
1232 (dump_ada_function_declaration): Likewise.
1233 (dump_ada_array_domains): Likewise.
1234 (dump_template_types): Likewise.
1235 (dump_generic_ada_node): Likewise.
1236 (print_ada_declaration): Likewise.
1237 (print_ada_struct_decl): Likewise.
1238 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1239
7aa04c8d 12402013-07-23 Tom Tromey <tromey@redhat.com>
1241
1242 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1243 * c-common.c (c_common_reswords): Add _Generic.
1244
a04e8d62 12452013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1246
1247 * c-common.c: Fix typos.
1248 * c-common.h: Likewise.
1249
a96c3cc1 12502013-07-13 Lubos Lunak <l.lunak@suse.cz>
1251
1252 PR c++/55203
1253 * c-common.c (c_common_attribute_table): Add warn_unused.
1254 (handle_warn_unused_attribute): New.
1255
da31536d 12562013-07-10 Jakub Jelinek <jakub@redhat.com>
1257
1258 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1259 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1260
839f2f70 12612013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1262
1263 PR c++/57869
1264 * c.opt: Add Wconditionally-supported.
1265
73f353d0 12662013-07-08 Graham Stott <graham.stott@btinternet.com>
1267
1268 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1269 unused variables l_length and l_node.
1270
21ebaa24 12712013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1272
1273 PR c/57821
1274 * c-common.c (complete_array_type): Delay folding first index
1275 like other indices. When folding, check for index overflow.
1276
68ea4406 12772013-06-27 Marc Glisse <marc.glisse@inria.fr>
1278
1279 PR c++/57509
1280 * c-common.h (c_build_vec_perm_expr): New complain argument.
1281 * c-common.c (c_build_vec_perm_expr): Likewise.
1282 Use save_expr also in C++.
1283
60777f69 12842013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1285
1286 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1287 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1288 * c-opts.c (c_common_post_options): Likewise.
1289
839f2f70 12902013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1291
1292 * array-notation-common.c (length_mismatch_in_expr): Changed the
1293 parameter type's from a dynamic array to a vec_tree. Also removed
1294 the size parameters.
1295 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1296 the change above.
1297
e9331eab 12982013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1299
1300 * c-common.h (struct cilkplus_an_parts): New structure.
1301 (struct cilkplus_an_loop_parts): Likewise.
1302 (cilkplus_extract_an_triplets): New prototype.
1303 (fix_sec_implicit_args): Likewise.
1304 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1305 (fix_sec_implicit_args): Likewise.
60777f69 1306
a9c99fc4 13072013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1308
1309 * array-notation-common.c (find_inv_trees): Removed an unwanted
1310 typecasting.
1311 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1312 enum rid to enum tree_code.
1313
f2526cce 13142013-06-11 Jan Hubicka <jh@suse.cz>
1315
1316 * c-common.c (handle_alias_ifunc_attribute): Do not set
1317 DECL_EXTERNAL for weakref variables.
1318 * c-pragma.c (handle_pragma_weak): Make sure aliases
1319 are not declared as external.
1320
09970d67 13212013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1322
1323 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1324 function from c/c-array-notation.c.
1325 (is_cilkplus_reduce_builtin): Likewise.
1326 (find_rank): Likewise.
1327 (extract_array_notation_exprs): Likewise.
1328 (replace_array_notations): Likewise.
1329 (find_inv_trees): Likewise.
1330 (replace_inv_trees): Likewise.
1331 (contains_array_notation_expr): Likewise.
1332 (find_correct_array_notation_type): Likewise.
1333 * c-common.h (struct inv_list): Moved this struct from the file
1334 c/c-array-notation.c and added a new field called additional tcodes.
1335 (length_mismatch_in_expr_p): New prototype.
1336 (is_cilkplus_reduce_builtin): Likewise.
1337 (find_rank): Likewise.
1338 (extract_array_notation_exprs): Likewise.
1339 (replace_array_notation): Likewise.
1340 (find_inv_trees): Likewise.
1341 (replace_inv_trees): Likewise.
1342 (find_correct_array_notation_type): Likewise.
839f2f70 1343
3c6d4197 13442013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1345
1346 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1347 function array_notation_init_builtins is called.
1348 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1349 * c-common.def (ARRAY_NOTATION_REF): New tree.
1350 * c-common.h (build_array_notation_expr): New function declaration.
1351 (build_array_notation_ref): Likewise.
1352 (extract_sec_implicit_index_arg): New extern declaration.
1353 (is_sec_implicit_index_fn): Likewise.
1354 (ARRAY_NOTATION_CHECK): New define.
1355 (ARRAY_NOTATION_ARRAY): Likewise.
1356 (ARRAY_NOTATION_START): Likewise.
1357 (ARRAY_NOTATION_LENGTH): Likewise.
1358 (ARRAY_NOTATION_STRIDE): Likewise.
1359 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1360 ARRAY_NOTATION_REF.
1361 (pp_c_expression): Likewise.
1362 * c.opt (flag_enable_cilkplus): New flag.
1363 * array-notation-common.c: New file.
1364
8e71dad2 13652013-05-14 Jakub Jelinek <jakub@redhat.com>
1366
1367 PR c++/57274
1368 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1369
432dd330 13702013-05-10 Marc Glisse <marc.glisse@inria.fr>
1371
1372 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1373 vectors.
1374
b156ec37 13752013-05-07 Han Shen <shenhan@google.com>
1376
1377 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1378
1a087624 13792013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1380
1381 * c-common.c (check_user_alignment): Emit error for negative values.
1382
1638c736 13832013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1384
1385 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1386
949dbf93 13872013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1388
1389 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1390 __GXX_EXPERIMENTAL_CXX1Y__.
1391
9205a6cc 13922013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1393 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1394
1395 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1396 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1397 to simply use OPT_Wpointer_arith.
1398 (c_sizeof_or_alignof_type): Likewise.
1399
05d0bce1 14002013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1401
1402 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1403
41609f8b 14042013-04-12 Jakub Jelinek <jakub@redhat.com>
1405
1406 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1407 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1408 specifiers.
1409
c671dc4f 14102013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1411
1412 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1413
ba125576 14142013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1415
1416 * c-common.c (pointer_int_sum): Remove dead code.
1417
9d3fa937 14182013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1419
1420 PR middle-end/56524
1421 * c-common.c (handle_optimize_attribute): Don't call
1422 save_optabs_if_changed.
1423
5ceebb21 14242013-03-05 Jakub Jelinek <jakub@redhat.com>
1425
1426 PR middle-end/56461
1427 * c-pch.c (pch_init): Free target_validity at the end.
1428
18eeed2b 14292013-03-04 Jakub Jelinek <jakub@redhat.com>
1430
1431 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1432
a9196da9 14332013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1434 Jakub Jelinek <jakub@redhat.com>
1435
1436 PR sanitizer/56454
1437 * c-common.c (handle_no_sanitize_address_attribute): New function.
1438 (c_common_attribute_table): Add no_sanitize_address attribute.
1439 (handle_no_address_safety_analysis_attribute): Add
1440 no_sanitize_address attribute, not no_address_safety_analysis
1441 attribute.
1442
15c27dda 14432013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 1444
1445 PR target/52555
1446 * c-common.c (handle_optimize_attribute): Call
1447 save_optabs_if_changed.
1448
19426fe1 14492013-02-18 Jakub Jelinek <jakub@redhat.com>
1450 Steven Bosscher <steven@gcc.gnu.org>
1451
1452 PR pch/54117
1453 * c-opts.c (c_common_post_options): If debug info is enabled
1454 and non-dwarf*, refuse to load PCH files and when writing PCH
1455 file warn.
1456
df936998 14572013-02-05 Jakub Jelinek <jakub@redhat.com>
1458
1459 PR middle-end/56167
1460 * c-common.c (handle_error_attribute): Fix condition.
1461
ae0c3984 14622013-01-30 Jakub Jelinek <jakub@redhat.com>
1463
1464 PR c++/55742
1465 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1466
1c4973d7 14672013-01-18 Jason Merrill <jason@redhat.com>
1468
1469 PR target/54908
1470 * c.opt (-fextern-tls-init): New.
1471 * c-opts.c (c_common_post_options): Handle it.
1472
7c834436 14732013-01-09 Jakub Jelinek <jakub@redhat.com>
1474
1475 PR c/48418
1476 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1477 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1478 and is either negative or bigger or equal to type precision
1479 of the first operand.
1480
5abaa10a 14812012-12-03 Marek Polacek <polacek@redhat.com>
1482
1483 PR c/55570
1484 * c-common.c (check_user_alignment): Swap order of tests,
1485 check TREE_CODE first.
1486
324ca377 14872012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
1488
1489 PR c++/52654
1490 * c-common.h (overflow_type): New enum.
1491 (build_userdef_literal): Add overflow_type argument.
1492 (tree_userdef_literal): Add overflow_type.
1493 (USERDEF_LITERAL_OVERFLOW): New access macro.
1494 * c-common.c (build_userdef_literal): Add overflow_type
1495 argument.
1496 * c-lex.c (c_lex_with_flags): Add overflow_type to
1497 build_userdef_literal calls.
1498 (interpret_integer, interpret_float): Add overflow_type argument.
1499
b4c4a429 15002012-11-28 Richard Biener <rguenther@suse.de>
1501
1502 PR c/35634
1503 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1504 here and use a type with proper overflow behavior for types that would
1505 need to be promoted for the arithmetic.
1506
d413ffdd 15072012-11-23 Jakub Jelinek <jakub@redhat.com>
1508
1509 PR sanitizer/55435
1510 * c-common.c (handle_no_address_safety_analysis_attribute): New
1511 function.
1512 (c_common_attribute_table): Add no_address_safety_analysis.
1513
52bc861d 15142012-11-16 Simon Baldwin <simonb@google.com>
1515
1516 * c.opt: Add f[no-]canonical-system-headers.
1517 * c-opts.c (c_common_handle_option): Handle
1518 OPT_fcanonical_system_headers.
1519
2dd00636 15202012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
1521
1522 PR c++/54413
1523 * c-opts.c (c_common_handle_option): Set new flags.
1524 * c.opt: Describe new flags.
1525
d4701f6c 15262012-11-09 Jason Merrill <jason@redhat.com>
1527
1528 * c.opt (Wabi-tag): New.
1529
72d65da9 15302012-11-09 Andi Kleen <ak@linux.intel.com>
1531
1532 PR 55139
1533 * c-common.c (get_atomic_generic_size): Mask with
1534 MEMMODEL_MASK
1535
77a357e3 15362012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1537
1538 PR c/53063
1539 * c.opt (Wformat): Make it Alias Wformat=1.
1540 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1541 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1542 LangEnabledBy.
1543 (Wformat=): RejectNegative. Use LangEnabledBy.
1544 (Wnonnull): Use LangEnabledBy.
1545 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1546 * c-format.c (set_Wformat): Delete.
1547 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1548 (maybe_read_dollar_number): Likewise.
1549 (avoid_dollar_number): Likewise.
1550 (finish_dollar_format_checking): Likewise.
1551 (check_format_info): Likewise.
1552 (check_format_info_main): Likewise.
1553 (check_format_types): Likewise.
1554 (format_type_warning): Likewise.
1555 * c-common.c (int): Likewise.
1556 (check_function_sentinel): Likewise.
1557 * c-common.h (warn_format,set_Wformat): Do not declare here.
1558
45efa6b9 15592012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1560
1561 PR c/53063
1562 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1563 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1564 Use LangEnabledBy.
1565 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1566 common.opt.
1567 (Wvariadic-macros): Init(1).
1568 * c-opts.c (c_common_handle_option): Do not handle them
1569 explicitly.
1570 (c_common_post_options): Likewise.
1571 (sanitize_cpp_opts): warn_unused_macros is now
1572 cpp_warn_unused_macros.
1573 (push_command_line_include): Likewise.
1574 * c-common.c (warn_unknown_pragmas): Do not define.
1575 * c-common.h (warn_unknown_pragmas): Do not declare.
1576
0e4e775a 15772012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1578
1579 PR c/51294
1580 * c-common.c (conversion_warning): Handle conditional expressions.
1581
8b447d3f 15822012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1583
1584 PR c++/54930
1585 * c.opt (Wreturn_local_addr): Define new option.
1586
f4a61754 15872012-10-25 Jason Merrill <jason@redhat.com>
1588
ecb10e6a 1589 * c.opt (Wvirtual-move-assign): New.
1590
f4a61754 1591 * c.opt (Winherited-variadic-ctor): New.
1592
7b463b19 15932012-10-25 Marc Glisse <marc.glisse@inria.fr>
1594
1595 PR c++/54427
1596 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1597
6adc88f8 15982012-10-23 Joseph Myers <joseph@codesourcery.com>
1599
1600 * c-common.h (pch_cpp_save_state): Declare.
1601 * c-target.def (c_preinclude): New hook.
1602 * c-opts.c (done_preinclude): New.
1603 (push_command_line_include): Handle default preincluded header.
1604 (cb_file_change): Call pch_cpp_save_state when calling
1605 push_command_line_include.
1606 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1607 (pch_cpp_save_state): New.
1608 (pch_init): Call pch_cpp_save_state conditionally, instead of
1609 calling cpp_save_state.
1610
fa816b0b 16112012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1612
1613 PR c/53063
1614 PR c/40989
1615 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1616 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1617 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1618 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1619 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1620 * c-opts.c (c_common_handle_option): Remove explicit handling from
1621 here.
1622 (c_common_post_options): Likewise.
1623
d214ccee 16242012-10-18 Eric Botcazou <ebotcazou@adacore.com>
1625
1626 * c-ada-spec.c (LOCATION_COL): Delete.
1627 (compare_location): New function.
1628 (compare_node): Use it.
1629 (compare_comment): Likewise.
1630
77b27208 16312012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1632
1633 PR c/53063
1634 PR c/40989
1635 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1636 * c-opts.c (c_common_handle_option): Do not set them here. Add
1637 comment.
1638 (c_common_post_options): Likewise.
1639
cc02ca4d 16402012-10-16 Eric Botcazou <ebotcazou@adacore.com>
1641
1642 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1643 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1644 Remove POINTER_TYPE handling, add large unsigned handling and use
1645 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1646
57f872a2 16472012-10-12 Jakub Jelinek <jakub@redhat.com>
1648
1649 PR c/54381
1650 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1651 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1652 locs and array of 3 trees instead of just single loc and single
1653 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
1654 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1655 For *cmp* builtins that take two sources strings report warnings
1656 about first and second source, not about destination and source.
1657
7354ad2e 16582012-10-12 Marc Glisse <marc.glisse@inria.fr>
1659
1660 PR c++/53055
1661 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1662
1ac7f120 16632012-10-11 Eric Botcazou <ebotcazou@adacore.com>
1664
1665 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1666 declaring something coming from another file.
1667
1e0cc9e3 16682012-10-10 Arnaud Charlet <charlet@adacore.com>
1669
1ac7f120 1670 PR ada/54845
1e0cc9e3 1671 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1672
b0e7825e 16732012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1674
1675 PR c++/54194
1676 * c-common.c (warn_about_parentheses): Add location_t parameter;
1677 use EXPR_LOC_OR_LOC.
1678 * c-common.h: Update declaration.
1679
41ed701a 16802012-10-09 Marc Glisse <marc.glisse@inria.fr>
1681
1682 PR c++/54427
1683 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1684 more operations. Make error messages optional.
1685 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1686 (scalar_to_vector): Declare.
1687
3740094c 16882012-10-08 Jason Merrill <jason@redhat.com>
1689
1690 * c-common.c (c_common_reswords): Add thread_local.
1691
ffcdbf9c 16922012-10-08 Dodji Seketeli <dodji@redhat.com>
1693
1694 PR c++/53528 C++11 attribute support
1695 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1696 new functions.
1697 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1698 static function.
1699 (handle_aligned_attribute): In choose strictest alignment
1700 among many. Use new check_cxx_fundamental_alignment_constraints.
1701 (handle_transparent_union_attribute): In c++11 attribute syntax,
1702 don't look through typedefs.
1703
ef34afc1 17042012-10-04 Arnaud Charlet <charlet@adacore.com>
1705
1706 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1707 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1708 out of dumpfile.h.
1709
f1ff4562 17102012-09-25 Dehao Chen <dehao@google.com>
1711
1712 PR middle-end/54645
ef34afc1 1713 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 1714 map when read in the pch.
1715
735538a1 17162012-09-18 Arnaud Charlet <charlet@adacore.com>
1717
1718 * c-ada-spec.c: Style fixes.
1719
9120cdc8 17202012-09-18 Thomas Quinot <quinot@adacore.com>
1721
1722 * c.opt (-fada-spec-parent): Define new command line switch.
1723 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1724 is specified, generate binding spec as a child of the specified unit.
1725
8eba82c2 17262012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1727 Manuel López-Ibáñez <manu@gcc.gnu.org>
1728
1729 PR c++/53210
1730 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1731
38682990 17322012-08-23 Arnaud Charlet <charlet@adacore.com>
1733
1734 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1735 for pointers, and add missing Convention C pragma.
1736 (print_ada_struct_decl): Add missing aliased keyword.
1737 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1738
f003f5dc 17392012-08-17 Jakub Jelinek <jakub@redhat.com>
1740
1741 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1742 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1743 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1744 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1745 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1746
ec11736b 17472012-08-10 Richard Guenther <rguenther@suse.de>
1748
1749 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1750
5f7f600e 17512012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1752
1753 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1754 instead of separate pp_newline and pp_flush.
1755 (print_c_tree): Likewise.
1756
758a38ab 17572012-07-26 Richard Henderson <rth@redhat.com>
1758
1759 * c-common.c (handle_hot_attribute): Allow labels.
1760 (handle_cold_attribute): Likewise.
1761
9ca77b08 17622012-07-20 Jakub Jelinek <jakub@redhat.com>
1763
1764 PR c++/28656
1765 * c-common.c (check_function_nonnull): Handle multiple nonnull
1766 attributes properly.
1767
b9ed1410 17682012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1769
1770 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1771 * c-ada-spec.c: Likewise.
1772 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1773
c2a65b90 17742012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1775
1776 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1777 Remove code conditional on it.
1778
88c5a1d1 17792012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1780
1781 * c-gimplify.c: Do not include basic-block.h.
1782 * c-common.c: Do not include linfuncs.h.
1783
4a020a8c 17842012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1785
1786 * c-common.h: Include tree.h.
1787
c28ddc97 17882012-07-02 Jason Merrill <jason@redhat.com>
1789
1790 PR c++/53524
1791 * c-common.c (get_priority): Call default_conversion.
1792
405ed67f 17932012-07-01 Uros Bizjak <ubizjak@gmail.com>
1794
1795 * c-pch.c (c_common_write_pch): Remove unused variables.
1796
e53d55e7 17972012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1798
1799 * cppspec.c: Moved from gcc/ to here.
1800
3d9c25ec 18012012-06-27 Kai Tietz <ktietz@redhat.com>
1802
1803 PR preprocessor/37215
1804 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1805
3169c57a 18062012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1807
1808 * c-common.h (c_common_print_pch_checksum): Remove.
1809 * c-pch.c: Do not include output.h.
1810 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1811 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1812 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1813 (struct c_pch_header): Remove.
1814 (get_ident): Update gpch version.
1815 (pch_init): Do not print executable_checksum to asm_out_file.
1816 Do not fail if there is no asm_out_file to read back from. Set
1817 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1818 (c_common_write_pch): Verify that nothing was written to asm_out_file
1819 since pch_init was called. Do not write a c_pch_header, and do not
1820 copy from asm_out_file to the PCH.
1821 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1822 the content of asm_out_file from the PCH.
1823 (c_common_print_pch_checksum): Remove.
1824 * c-opts.c (c_common_init): Print out executable_checksum directly.
1825
ff6624bc 18262012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1827
1828 * c-target.def (objc_declare_unresolved_class_reference,
1829 objc_declare_class_definition): Add new hooks.
1830
367b1459 18312012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1832
1833 * c-lex.c: Do not include output.h.
1834 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1835 Remove uses of ASM_OUTPUT_IDENT.
1836
bf0cb017 18372012-06-15 Marc Glisse <marc.glisse@inria.fr>
1838
1839 PR c++/51033
1840 * c-common.h (c_build_vec_perm_expr): Move decl here.
1841 * c-common.c (c_build_vec_perm_expr): Move definition
1842 here.
1843
b37a3600 18442012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1845
1846 * c.opt (fconserve-space): Turn into a no-op.
1847
19931eea 18482012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 1849
1850 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1851 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1852 both the start and end of the function.
1853
dff12c10 18542012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1855
1856 * c-common.c: Do not include output.h.
1857 * c-pragma.c: Likewise.
1858
5f9e7dd5 18592012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1860
1861 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1862 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1863 (lang_decl_name): Handle namespace decls.
1864
b5369b7d 18652012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1866
1867 * c-ada-spec.c: Do not include output.h.
1868 * c-semantics.c: Likewise.
1869
8032877c 18702012-05-29 Joseph Myers <joseph@codesourcery.com>
1871
1872 * c-common.c: Fix typo.
1873
7843e4bc 18742012-05-29 Michael Matz <matz@suse.de>
1875
1876 * c-common.h (c_expand_decl): Remove prototype.
1877
8cf857d4 18782012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1879
1880 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1881 * c-opts.c (c_common_handle_option): Remove code handling
1882 warn_missing_braces.
1883
8b64dc3c 18842012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
1885
1886 PR c++/25137
1887 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1888 -Wmissing_braces.
1889
43cbde16 18902012-05-22 Dodji Seketeli <dodji@redhat.com>
1891
1892 PR c++/53322
1893 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1894
db490cb6 18952012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
1896
1897 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1898 * c-opts.c (c_common_handle_option): Do not handle explicitly
1899 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1900
a60f3e81 19012012-05-16 Dodji Seketeli <dodji@redhat.com>
1902
1903 PR preprocessor/7263
1904 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
1905 to cpp_classify_number. For diagnostics, use the precise location
1906 instead of the global input_location.
1907
82e6ef7c 19082012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1909
cd4797ff 1910 PR c++/11856
82e6ef7c 1911 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1912
258a168d 19132012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1914
82e6ef7c 1915 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 1916
d3b7ee7c 19172012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1918
1919 PR 53063
1920 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1921 Wreorder): Use LangEnabledBy.
1922 * c-opts.c (c_common_handle_option): Do not enable them
1923 explicitly. Call lang-specific generated functions.
1924 (c_common_post_options): Do not set them here.
1925
70059cea 19262012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
1927
1928 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1929 Wmissing-field-initializers,Wmissing-parameter-type,
1930 Wold-style-declaration,Woverride-init): Use EnabledBy.
1931 * c-opts.c (c_common_post_options): Do not set here explicitly.
1932
fbb6fbd8 19332012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1934
1935 PR 53063
1936 * c-opts.c (c_common_handle_option): Use handle_generated_option
1937 to enable sub-options.
1938
61f69bc9 19392012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1940
1941 PR c++/53158
1942 * c-common.c (warnings_for_convert_and_check): Use warning_at.
1943
5a1fe2db 19442012-05-10 Richard Guenther <rguenther@suse.de>
1945
1946 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1947 adjust commentary about TYPE_IS_SIZETYPE types.
1948
d42e7c5a 19492012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1950
1951 PR c++/53261
1952 * c-common.c (warn_logical_operator): Check that argument of
1953 integer_zerop is not NULL.
1954
686369e8 19552012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
1956
1957 PR c/43772
1958 * c-common.c (warn_logical_operator): Do not warn if either side
1959 is already true or false.
1960
03fe1dc2 19612012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1962
1963 PR c/51712
1964 * c-common.c (expr_original_type): New.
1965 (shorten_compare): Do not warn for enumeration types.
1966
bba5a206 19672012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1968
1969 * c.opt (fpermissive): Add Var(flag_permissive).
1970
7059d45d 19712012-04-30 Marc Glisse <marc.glisse@inria.fr>
1972
1973 PR c++/51033
1974 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1975 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1976
7edb1062 19772012-04-30 Dodji Seketeli <dodji@redhat.com>
1978
1979 Add -Wvarargs option
1980 * c.opt (Wvarargs): Define new option.
1981
068bea1e 19822012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1983
1984 * c-common.c (check_function_arguments): Replace
1985 Wmissing-format-attribute with Wsuggest-attribute=format.
1986
b86527d8 19872012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1988
1989 * c.opt (Wsuggest-attribute=format): New. Alias of
1990 Wmissing-format-attribute.
1991 * c-format.c (decode_format_type): Replace
1992 Wmissing-format-attribute with Wsuggest-attribute=format.
1993 (check_function_format): Likewise.
1994
19931eea 19952012-04-27 Ollie Wild <aaw@google.com>
76d340ac 1996
1997 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1998 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1999 * c.opt: Add Wliteral-suffix.
2000
29438999 20012012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2002
2003 PR c/44774
2004 * c.opt (Wpedantic): New.
2005 (pedantic): Alias Wpedantic.
2006 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2007 (c_common_post_options): Likewise.
2008 (sanitize_cpp_opts): Likewise.
2009 * c-lex.c (interpret_float): Likewise.
2010 * c-format.c (check_format_types): Likewise.
2011 * c-common.c (pointer_int_sum): Likewise.
2012 (c_sizeof_or_alignof_type): Likewise.
2013 (c_add_case_label): Likewise.
2014 (c_do_switch_warnings): Likewise.
2015 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2016
4f9d6b8b 20172012-04-15 Jason Merrill <jason@redhat.com>
2018
2019 PR c++/52818
2020 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2021 (C_STD_NAME): Distinguish between C++98 and C++11.
2022
74bdbe96 20232012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2024
2025 PR target/52624
2026 * c-common.h (uint16_type_node): Rename into...
2027 (c_uint16_type_node): ...this.
2028 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2029 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2030
3d177e8c 20312012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2032
2033 * c-common.c (warn_if_unused_value): Move definition to here.
2034 * c-common.h (warn_if_unused_value): Move declaration to here.
2035
6a9a958f 20362012-03-23 William Bader <williambader@hotmail.com>
2037
2038 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2039
543efdbe 20402012-03-20 Jason Merrill <jason@redhat.com>
2041
2042 * c-common.h (enum cxx_dialect): Add cxx1y.
2043 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2044 test.
2045 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2046 * c-opts.c (c_common_post_options): Likewise.
2047 (set_std_cxx1y): New.
2048 (c_common_handle_option): Call it.
2049 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2050
62206d34 20512012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2052
2053 PR c++/14710
2054 * c.opt ([Wuseless-cast]): Add.
2055
fadf62f4 20562012-03-16 Richard Guenther <rguenther@suse.de>
2057
2058 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2059
249faa35 20602012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2061
2062 PR c++/44783
2063 * c.opt (ftemplate-backtrace-limit) Add.
2064
126b6848 20652012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2066
2067 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2068 handling.
2069 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2070 (init_pragma): Don't register extern_prefix.
2071
a51edb4c 20722012-03-12 Richard Guenther <rguenther@suse.de>
2073
2074 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2075 (builtin_type_for_size): Likewise.
2076
0f6a7cb7 20772012-02-13 Jakub Jelinek <jakub@redhat.com>
2078
2079 PR c++/52215
2080 * c-common.c (sync_resolve_params): Don't decide whether to convert
2081 or not based on TYPE_SIZE comparison, convert whenever arg_type
2082 is unsigned INTEGER_TYPE.
2083
0779e32c 20842012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2085
2086 PR c/52118
2087 * c.opt ([Wunused-local-typedefs]): Fix description.
2088
baec58e1 20892012-01-24 Mike Stump <mikestump@comcast.net>
2090
2091 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2092 exactly.
2093
c779d8cc 20942012-01-18 Richard Guenther <rguenther@suse.de>
2095
2096 * c-opts.c (c_common_post_options): Reset LTO flags if
2097 we are about to generate a PCH.
2098
ee917d24 20992012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2100
2101 PR c++/51777
2102 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2103 use pp_unsigned_wide_integer.
2104
90e2341f 21052012-01-10 Richard Guenther <rguenther@suse.de>
2106
2107 PR middle-end/51806
2108 * c-opts.c (c_common_handle_option): Move -Werror handling
2109 to language independent code.
2110
9ea022ce 21112012-01-05 Richard Guenther <rguenther@suse.de>
2112
2113 PR middle-end/51764
2114 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2115 from common.opt.
2116
3df19e1b 21172011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2118
2119 PR c++/51316
2120 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2121 of array types with an unknown bound.
2122
32074525 21232011-12-20 Joseph Myers <joseph@codesourcery.com>
2124
2125 * c-common.c (flag_isoc99): Update comment to refer to C11.
2126 (flag_isoc1x): Change to flag_isoc11.
2127 * c-common.h (flag_isoc99): Update comment to refer to C11.
2128 (flag_isoc1x): Change to flag_isoc11.
2129 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2130 C11.
2131 * c-opts.c (set_std_c1x): Change to set_std_c11.
2132 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2133 Call set_std_c11.
2134 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2135 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2136 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2137 standard.
2138 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2139 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2140 (std=gnu1x): Make alias of std=gnu11.
2141
fca86134 21422011-12-19 Jason Merrill <jason@redhat.com>
2143
2144 PR c++/51228
2145 * c-common.c (handle_transparent_union_attribute): Check the first
2146 field if the type is complete.
2147
aa4313eb 21482011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2149
2150 PR libstdc++/51365
2151 * c-common.c (RID_IS_FINAL): Add.
2152 * c-common.h (RID_IS_FINAL): Add.
2153
3f3d5ad4 21542011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2155
2156 * c.opt (fgnu-runtime): Provide full description.
2157 (fnext-runtime): Likewise.
2158 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2159
c4606d19 21602011-11-28 Andrew MacLeod <amacleod@redhat.com>
2161
2162 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2163 predefines in one place. Add LOCK_FREE predefines.
2164 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2165 new func.
2166
1d581089 21672011-11-24 Andrew MacLeod <amacleod@redhat.com>
2168
2169 PR c/51256
19931eea 2170 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2171 conditions
19931eea 2172 (resolve_overloaded_atomic_exchange,
2173 resolve_overloaded_atomic_compare_exchange,
1d581089 2174 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2175 error_mark_node for error conditions.
19931eea 2176
6aa221fa 21772011-11-08 Richard Guenther <rguenther@suse.de>
2178
2179 PR middle-end/51010
2180 c-family/
2181
4c0315d0 21822011-11-07 Richard Henderson <rth@redhat.com>
2183 Aldy Hernandez <aldyh@redhat.com>
2184 Torvald Riegel <triegel@redhat.com>
2185
2186 Merged from transactional-memory.
2187
2188 * c-common.c (handle_tm_wrap_attribute,
2189 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2190 (struct c_common_reswords): Added __transaction* keywords.
2191 (struct c_common_attribute_table): Added transaction* and tm_regparm
2192 attributes.
2193 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2194 masks.
2195 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2196 find_tm_attribute): Declare.
2197
920f5a70 21982011-11-07 Jason Merrill <jason@redhat.com>
2199
2200 PR c++/35688
2201 * c-common.c, c-common.h: Revert yesterday's changes.
2202
b4f861b4 22032011-11-06 Jason Merrill <jason@redhat.com>
2204
2205 PR c++/35688
2206 * c-common.c (decl_has_visibility_attr): Split out from...
2207 (c_determine_visibility): ...here.
2208 * c-common.h: Declare it.
2209
83e25171 22102011-11-06 Joseph Myers <joseph@codesourcery.com>
2211
2212 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2213 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2214 type.
2215 (check_user_alignment): New. Split out of
2216 handle_aligned_attribute. Disallow integer constants with
2217 noninteger types. Conditionally allow zero.
2218 (handle_aligned_attribute): Use check_user_alignment.
2219 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2220
1cd6e20d 22212011-11-06 Andrew MacLeod <amacleod@redhat.com>
2222 Richard Henderson <rth@redhat.com>
2223
2224 Merged from cxx-mem-model.
2225
2226 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2227 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2228 parameters that are the same type size.
2229 (get_atomic_generic_size): New. Find size of generic
2230 atomic function parameters and do typechecking.
2231 (add_atomic_size_parameter): New. Insert size into parameter list.
2232 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2233 either __atomic_exchange_n or external library call.
19931eea 2234 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2235 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2236 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2237 __atomic_load_n or an external library call.
2238 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2239 __atomic_store_n or an external library call.
2240 (resolve_overloaded_builtin): Handle new __atomic builtins.
2241
7549df0d 22422011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2243
2244 PR c++/50608
2245 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2246 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2247 <INDIRECT_REF>: Return the argument.
2248 <ARRAY_REF>: Remove special code for negative offset.
2249 Call fold_build_pointer_plus instead of size_binop.
2250 (fold_offsetof): Remove STOP_REF argument and adjust.
2251 * c-common.h (fold_offsetof_1): Declare.
2252 (fold_offsetof): Remove STOP_REF argument.
2253
7e783eb3 22542011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2255
2256 PR c++/50810
2257 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2258 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2259 Wnarrowing for C++0x and C++98.
2260 * c.opt ([Wnarrowing]): Update.
2261
8fe701f5 22622011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2263
2264 PR c++/44277
2265 * c.opt: Add Wzero-as-null-pointer-constant.
2266
0d84dc2d 22672011-10-31 Jason Merrill <jason@redhat.com>
2268
67031f52 2269 * c.opt (-fdeduce-init-list): Off by default.
2270
0d84dc2d 2271 PR c++/50920
2272 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2273 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2274 and -Wc++11-compat.
2275 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2276
66f24c41 22772011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2278
2279 PR c++/30066
2280 * c.opt (fvisibility-inlines-hidden): Description change.
2281
244db24d 22822011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2283
2284 Implement C++11 user-defined literals.
2285 * c-common.c (build_userdef_literal): New.
2286 * c-common.def: New tree code.
2287 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2288 * c-lex.c (interpret_float): Add suffix parm.
2289 (c_lex_with_flags): Build literal tokens.
2290
235be70f 22912011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2292
2293 PR c++/50841
2294 Revert:
2295 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2296
2297 PR c++/50810
2298 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2299 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2300 Wnarrowing for C++0x and C++98.
2301 * c.opt ([Wnarrowing]): Update.
2302
4fe0fb1c 23032011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2304
2305 PR c++/50810
2306 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2307 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2308 Wnarrowing for C++0x and C++98.
2309 * c.opt ([Wnarrowing]): Update.
2310
5f7504f9 23112011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2312
2313 PR c++/45385
2314 * c-common.c (conversion_warning): Remove code looking for
2315 artificial operands.
2316
2a688977 23172011-10-18 Dodji Seketeli <dodji@redhat.com>
2318
2319 PR bootstrap/50760
2320 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 2321 !NO_IMPLICIT_EXTERN_C.
2a688977 2322
326e3391 23232011-10-17 Michael Spertus <mike_spertus@symantec.com>
2324
2325 * c-common.c (c_common_reswords): Add __bases,
2326 __direct_bases.
2327 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2328
23292011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2330
2331 PR c++/50757
2332 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2333
62db153a 23342011-10-15 Tom Tromey <tromey@redhat.com>
2335 Dodji Seketeli <dodji@redhat.com>
2336
2337 * c.opt (fdebug-cpp): New option.
2338 * c-opts.c (c_common_handle_option): Handle the option.
2339 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2340 output stream in parameter. Factorized from ...
2341 (maybe_print_line): ... this. Dump location debug information when
2342 -fdebug-cpp is in effect.
2343 (print_line_1): New static function. Takes an output stream in
2344 parameter. Factorized from ...
2345 (print_line): ... here. Dump location information when -fdebug-cpp
2346 is in effect.
2347 (scan_translation_unit): Dump location information when
2348 -fdebug-cpp is in effect.
2349
ce70f433 23502011-10-15 Tom Tromey <tromey@redhat.com>
2351 Dodji Seketeli <dodji@redhat.com>
2352
2353 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2354 without argument.
2355 * c-opts.c (c_common_handle_option)<case
2356 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2357 cases. Handle -ftrack-macro-expansion with and without argument.
2358
97bfb9ef 23592011-10-15 Tom Tromey <tromey@redhat.com>
2360 Dodji Seketeli <dodji@redhat.com>
2361
2362 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2363 (print_line, cb_define, do_line_change): Adjust to avoid touching
2364 the internals of struct line_map. Use the public API instead.
2365 * c-pch.c (c_common_read_pch): Likewise.
2366 * c-lex.c (fe_file_change): Likewise.
2367
326e3391 23682011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
2369
2370 PR c++/17212
2371 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2372
23732011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2374
2375 PR c++/33067
2376 * c-pretty-print.c (pp_c_floating_constant): Output
2377 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2378
b9a16870 23792011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2380
2381 * c-common.c (def_builtin_1): Delete old interface with two
2382 parallel arrays to hold standard builtin declarations, and replace
2383 it with a function based interface that can support creating
2384 builtins on the fly in the future. Change all uses, and poison
2385 the old names. Make sure 0 is not a legitimate builtin index.
2386 * c-omp.c (c_finish_omp_barrier): Ditto.
2387 (c_finish_omp_taskwait): Ditto.
2388 (c_finish_omp_flush): Ditto.
2389
c7964868 23902011-10-11 Tristan Gingold <gingold@adacore.com>
2391
2392 * c.opt: (fallow-parameterless-variadic-functions): New.
2393
a4e3ffad 23942011-09-08 Dodji Seketeli <dodji@redhat.com>
2395
2396 PR c++/33255 - Support -Wunused-local-typedefs warning
2397 * c-common.h (struct c_language_function::local_typedefs): New
2398 field.
19931eea 2399 (record_locally_defined_typedef, maybe_record_typedef_use)
2400 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 2401 * c-common.c (record_locally_defined_typedef)
19931eea 2402 (maybe_record_typedef_use)
2403 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 2404 * c.opt: Declare new -Wunused-local-typedefs flag.
2405
737a23cc 24062011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2407
2408 PR middle-end/50266
2409 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2410 computations.
2411
7542c3b4 24122011-09-05 Richard Guenther <rguenther@suse.de>
2413
2414 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2415 of integer_minus_one_node for empty array upper bounds.
2416
1dc92c59 24172011-08-28 Dodji Seketeli <dodji@redhat.com>
2418
2419 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2420 it's the first time it's being called on this main TU.
2421
2bdf2b6e 24222011-08-24 Richard Guenther <rguenther@suse.de>
2423
2424 PR c/49396
2425 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2426
24272011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 2428
2429 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2430 defined in cpp_init_builtins and c_cpp_builtins.
2431
bff4ad11 24322011-08-19 Joseph Myers <joseph@codesourcery.com>
2433
2434 * c-common.c (c_common_reswords): Add __builtin_complex.
2435 * c-common.h (RID_BUILTIN_COMPLEX): New.
2436
985c6e3a 24372011-08-18 Joseph Myers <joseph@codesourcery.com>
2438
2439 * c-common.c (c_common_reswords): Add _Noreturn.
2440 (keyword_is_function_specifier): Handle RID_NORETURN.
2441 * c-common.h (RID_NORETURN): New.
2442
7dfa155b 24432011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2444
2445 * c-common.c (unsafe_conversion_p): New function. Check if it is
2446 unsafe to convert an expression to the type.
2447 (conversion_warning): Adjust, use unsafe_conversion_p.
2448 * c-common.h (unsafe_conversion_p): New function declaration.
2449
2169f33b 24502011-08-02 Jakub Jelinek <jakub@redhat.com>
2451
2452 * c-common.h (c_finish_omp_atomic): Adjust prototype.
2453 (c_finish_omp_taskyield): New prototype.
2454 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2455 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2456 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
2457 or RHS1 have side-effects, evaluate those too in the right spot,
2458 if it is a decl and LHS is also a decl, error out if they
2459 aren't the same.
2460 (c_finish_omp_taskyield): New function.
2461 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2462 * c-pragma.c (omp_pragmas): Add taskyield.
2463 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2464 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2465 PRAGMA_OMP_CLAUSE_MERGEABLE.
2466
ab77850e 24672011-07-25 Dodji Seketeli <dodji@redhat.com>
2468
2469 * c-common.h (set_underlying_type): Remove parm name from
2470 declaration.
2471
6ee97920 24722011-07-25 Romain Geissler <romain.geissler@gmail.com>
2473
2474 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 2475
dc251364 24762011-07-22 Jason Merrill <jason@redhat.com>
2477
1a2a35f0 2478 PR c++/49793
2479 * c.opt (Wnarrowing): New.
2480
27282252 2481 PR c++/30112
2482 * c-common.h: Declare c_linkage_bindings.
2483 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2484
dc251364 2485 PR c++/49813
2486 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2487 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2488 as flag_isoc99 for 'restrict'.
2489 (pp_c_specifier_qualifier_list): Likewise for _Complex.
2490
fc501191 24912011-07-21 Ian Lance Taylor <iant@google.com>
2492
2493 PR middle-end/49705
2494 * c-common.c (c_disable_warnings): New static function.
2495 (c_enable_warnings): New static function.
2496 (c_fully_fold_internal): Change local unused_p to bool. Call
2497 c_disable_warnings and c_enable_warnings rather than change
2498 c_inhibit_evaluation_warnings.
2499
07b8f133 25002011-07-20 Jason Merrill <jason@redhat.com>
2501
2502 PR c++/6709 (DR 743)
2503 PR c++/42603 (DR 950)
2504 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2505 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2506 (CPP_DECLTYPE): New.
2507 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2508
2cc66f2a 25092011-07-19 Richard Guenther <rguenther@suse.de>
2510
2511 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2512 * c-omp.c (c_finish_omp_for): Likewise.
2513
3c802a1e 25142011-07-12 Eric Botcazou <ebotcazou@adacore.com>
2515
2516 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2517 body on the next line.
2518
98a33d9f 25192011-07-08 Jason Merrill <jason@redhat.com>
2520
3115bda0 2521 PR c++/45437
2522 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2523
98a33d9f 2524 PR c++/49673
2525 * c-common.c (c_apply_type_quals_to_decl): Don't check
2526 TYPE_NEEDS_CONSTRUCTING.
2527
c38a75b7 25282011-07-06 Richard Guenther <rguenther@suse.de>
2529
2530 * c-common.c (c_common_nodes_and_builtins):
2531 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2532
e593356b 25332011-07-05 Richard Guenther <rguenther@suse.de>
2534
2535 * c-common.c (c_common_nodes_and_builtins): Build all common
2536 tree nodes first.
2537
fca0886c 25382011-06-27 Jakub Jelinek <jakub@redhat.com>
2539
a68f7a8d 2540 * c-common.h (c_tree_chain_next): New static inline function.
2541
fca0886c 2542 * c-common.c (check_builtin_function_arguments): Handle
2543 BUILT_IN_ASSUME_ALIGNED.
2544
2797f13a 25452011-06-21 Andrew MacLeod <amacleod@redhat.com>
2546
2547 * c-common.c: Add sync_ or SYNC__ to builtin names.
2548 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 2549
25502011-06-20 Pierre Vittet <piervit@pvittet.com>
2551
2552 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2553 handler.
2554 (gen_pragma_handler): New union.
2555 (internal_pragma_handler): New type.
2556 (c_register_pragma_with_data)
2557 (c_register_pragma_with_expansion_and_data): New functions.
2558
2559 * c-pragma.c (registered_pragmas, c_register_pragma_1)
2560 (c_register_pragma, c_register_pragma_with_expansion)
2561 (c_invoke_pragma_handler): Changed to work with
2562 internal_pragma_handler.
2563 (c_register_pragma_with_data)
2564 (c_register_pragma_with_expansion_and_data): New functions.
2565
218e3e4e 25662011-06-14 Joseph Myers <joseph@codesourcery.com>
2567
2568 * c-common.c: Include common/common-target.h.
2569 (handle_section_attribute): Use
2570 targetm_common.have_named_sections.
2571 * c-cppbuiltin.c: Include common/common-target.h.
2572 (c_cpp_builtins): Use targetm_common.except_unwind_info.
2573
41e53ed2 25742011-06-10 Richard Guenther <rguenther@suse.de>
2575
2576 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2577 to print a IDENTIFIER_NODE.
2578
a6f06169 25792011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2580 Joseph Myers <joseph@codesourcery.com>
2581
2582 * c.opt (fbuilding-libgcc): New option.
2583 * c-cppbuiltin.c (c_cpp_builtins): Define
2584 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2585
1ea9269b 25862011-06-07 Jason Merrill <jason@redhat.com>
2587
8ce59854 2588 * c-common.c (max_tinst_depth): Lower default to 900.
2589
1ea9269b 2590 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2591
1af0124d 25922011-06-07 Richard Guenther <rguenther@suse.de>
2593
2594 * c-common.c (c_common_nodes_and_builtins): Do not set
2595 size_type_node or call set_sizetype.
2596
0e9a4c01 25972011-06-07 Dodji Seketeli <dodji@redhat.com>
2598
2599 PR debug/49130
2600 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 2601 type when using pointer comparison to compare types.
0e9a4c01 2602
90b40725 26032011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2604
2605 * c.opt: Add -Wdelete-non-virtual-dtor.
2606 * c-opts.c (c_common_handle_option): Include it in -Wall.
2607
fc9c9e87 26082011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
2609
2610 PR bootstrap/49190
2611
2612 Revert:
2613 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2614
2615 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2616 not tree_common.
2617
d0389adc 26182011-05-27 Jakub Jelinek <jakub@redhat.com>
2619
2620 PR c++/49165
2621 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2622 C++ don't call c_common_truthvalue_conversion on void type arms.
2623
cacfdc02 26242011-05-27 Nathan Froyd <froydnj@codesourcery.com>
2625
2626 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2627 (stmt_list_stack): Define.
2628 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2629 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2630
027fc6ef 26312011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2632
2633 * c-common.c (warning_candidate_p): Check for BLOCKs.
2634
f21317a1 26352011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2636
2637 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2638 not tree_common.
2639
789e953d 26402011-05-25 Jakub Jelinek <jakub@redhat.com>
2641
2642 * c-common.c (def_fn_type): Remove extra va_end.
2643
7f506bca 26442011-05-23 Jason Merrill <jason@redhat.com>
2645
2646 PR c++/48106
2647 * c-common.c (c_common_get_narrower): New.
2648 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2649
774e9d58 26502011-05-23 Nathan Froyd <froydnj@codesourcery.com>
2651
2652 * c-common.h (check_function_arguments): Tweak prototype of
2653 check_function_arguments.
2654 * c-common.c (check_function_arguments): Likewise. Adjust
2655 calls to check_function_nonnull, check_function_format, and
2656 check_function_sentinel.
2657 (check_function_sentinel): Take a FUNCTION_TYPE rather than
2658 separate attributes and typelist arguments. Use
2659 FOREACH_FUNCTION_ARGS to iterate over argument types.
2660
23407dc9 26612011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2662
2663 * c-common.c (c_common_reswords): Reorder.
2664 * c-common.h (rid): Likewise.
2665
3a939d12 26662011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2667
2668 * c-common.c (def_fn_type): Don't call build_function_type, call
2669 build_function_type_array or build_varargs_function_type_array
2670 instead.
2671 (c_common_nodes_and_builtins): Likewise.
2672
b6e3dd65 26732011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2674
2675 * c-common.c (c_add_case_label): Omit the loc argument to
2676 build_case_label.
2677 * c-common.h (build_case_label): Remove.
2678 * c-semantics.c (build_case_label): Remove.
2679
4232a958 26802011-05-05 Joseph Myers <joseph@codesourcery.com>
2681
2682 * c-objc.h (objc_start_method_definition): Update prototype.
2683 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2684
d0af78c5 26852011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2686
2687 * c-common.c (check_main_parameter_types): Reindent. Don't use
2688 TYPE_ARG_TYPES directly.
2689 (handle_nonnull_attribute): Likewise.
2690 (sync_resolve_params): Likewise.
2691 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2692 to check_format_string.
2693 (handle_format_attribute): Likewise.
2694 (check_format_string): Take a function type to examine instead of
2695 a type list. Use a function_arg_iterator to step through argument
2696 types.
2697
ceb7b692 26982011-05-04 Richard Guenther <rguenther@suse.de>
2699
2700 * c-common.c (fix_string_type): Use size_int for index type bounds.
2701 (start_fname_decls): Do not pass NULL to build_int_cst.
2702 (c_init_attributes): Likewise.
2703 * c-lex.c (c_lex_with_flags): Likewise.
2704
c66c81be 27052011-04-27 Jason Merrill <jason@redhat.com>
2706
2707 * c-common.c (make_tree_vector_from_list): New.
2708 * c-common.h: Declare it.
2709
16930c72 27102011-04-26 Richard Guenther <rguenther@suse.de>
2711
2712 PR preprocessor/48248
2713 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2714 for output size with -P.
2715
23407dc9 27162011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2717
2718 * c-common.c (struct c_common_resword): Add __underlying_type.
2719 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2720
dd045aee 27212011-04-20 Jim Meyering <meyering@redhat.com>
2722
2723 * c-format.c (init_dollar_format_checking): Remove useless
2724 if-before-free.
2725
394dd737 27262011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2727
2728 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 2729 (objc_detect_field_duplicates): New.
394dd737 2730 * stub-objc.c: Likewise.
23407dc9 2731
a758bf7d 27322011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2733
2734 * stub-objc.c (objc_declare_protocols): Renamed to
2735 objc_declare_protocol.
2736 * c-objc.h: Likewise.
23407dc9 2737
29d7200d 27382011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2739
2740 * stub-objc.c (objc_declare_class): Updated argument name.
2741
9b88d08d 27422011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2743
2744 * c-common.h (c_common_init_ts): Declare.
2745 * c-common.c (c_common_init_ts): Define.
2746
4185cf58 27472011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2748
2749 * c-objc.h (objc_build_message_expr): Updated prototype.
2750 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 2751
5a90471f 27522011-04-12 Martin Jambor <mjambor@suse.cz>
2753
2754 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2755 of cgraph_node.
2756
783bb57e 27572011-04-11 Richard Guenther <rguenther@suse.de>
2758
2759 * c-common.c (complete_array_type): Build a range type of
2760 proper type.
2761
c33080b9 27622011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2763
2764 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2765 (handle_type_generic_attribute): Likewise.
2766
f8913d47 27672011-04-07 Jason Merrill <jason@redhat.com>
2768
2769 PR c++/48450
2770 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2771 conversion from C++0x scoped enum.
2772
c94b1d0e 27732011-04-06 Joseph Myers <joseph@codesourcery.com>
2774
2775 * c-target-def.h: New file.
2776 * c-target.def: New file.
2777 * c-target.h: New file.
2778 * c-common.c (targetcm): Don't define here.
2779 * c-common.h (default_handle_c_option): Declare.
2780 * c-format.c: Include c-target.h instead of target.h.
2781 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2782 include tm.h.
2783 (default_handle_c_option): Move from targhooks.c.
2784
acb10f41 27852011-03-29 Jakub Jelinek <jakub@redhat.com>
2786
2787 PR preprocessor/48248
2788 * c-ppoutput.c (print): Add src_file field.
2789 (init_pp_output): Initialize it.
2790 (maybe_print_line): Don't optimize by adding up to 8 newlines
2791 if map->to_file and print.src_file are different file.
2792 (print_line): Update print.src_file.
2793
82715bcd 27942011-03-25 Kai Tietz <ktietz@redhat.com>
2795
2796 * c-ada-spec.c (compare_comment): Use filename_cmp
2797 instead of strcmp for filename.
2798
451c8e2f 27992011-03-25 Jeff Law <law@redhat.com>
2800
2801 * c-family/c-common.c (def_fn_type): Add missing va_end.
2802
3c47771c 28032011-03-25 Jason Merrill <jason@redhat.com>
2804
2805 * c.opt: Add -std=c++03.
2806
97e6200f 28072011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2808
2809 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2810
ac86af5d 28112011-03-17 Kai Tietz
2812
2813 PR target/12171
ee212425 2814 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2815 Display allowed attributes for function pointer types.
2816 (pp_c_attributes_display): New function to display
2817 attributes having affects_type_identity flag set to true.
2818 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2819
ac86af5d 2820 * c-common.c (c_common_attribute_table):
2821 Add new element.
2822 (c_common_format_attribute_table): Likewise.
2823
914d1151 28242011-03-18 Jason Merrill <jason@redhat.com>
2825
69788bdf 2826 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2827 * c-common.h: Don't declare it here.
2828 * c-common.c: Or define it here.
2829 * c-opts.c (c_common_handle_option): Or set it here.
2830
914d1151 2831 PR c++/35315
2832 * c-common.c (handle_transparent_union_attribute): Don't
2833 make a duplicate type in C++.
2834
54cf6eed 28352011-03-15 Jason Merrill <jason@redhat.com>
2836
2837 * c-common.c (max_constexpr_depth): New.
2838 * c-common.h: Declare it.
2839 * c-opts.c (c_common_handle_option): Set it.
2840 * c.opt (fconstexpr-depth): New option.
2841
02cb1060 28422011-03-11 Jason Merrill <jason@redhat.com>
2843
9bf1c74e 2844 * c-common.c (attribute_takes_identifier_p): Add missing const.
2845
02cb1060 2846 PR c++/46803
2847 * c-common.c (attribute_takes_identifier_p): Assume that an
2848 unknown attribute takes an identifier.
2849
ecf2703d 28502011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2851
2852 PR c/47786
2853 * c-common.c (c_type_hash): Call list_length instead of iterating
2854 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2855
2b19dfe4 28562011-02-19 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR c/47809
2859 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2860
29cf2335 28612011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2862
2863 * c.opt (fobjc-abi-version=) New.
2864 (fobjc-nilcheck): New.
2865
fad3f658 28662011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2867
2868 PR c++/46890
2869 * c-common.h (keyword_is_decl_specifier): Declare.
2870 * c-common.c (keyword_is_decl_specifier): Define.
2871 (keyword_is_function_specifier): New function.
2872
a12319b3 28732011-01-26 Jakub Jelinek <jakub@redhat.com>
2874
2875 PR c/47473
2876 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2877 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2878 REAL_TYPE.
2879
5c128dc8 28802011-01-26 Arnaud Charlet <charlet@adacore.com>
2881
2882 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2883
8d67b0c7 28842011-01-26 Jakub Jelinek <jakub@redhat.com>
2885
2886 PR pch/47430
2887 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2888 after init_c_lex if pch_file is set.
2889
0675168d 28902011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2891
e8911163 2892 PR c++/43601
0675168d 2893 * c.opt (-fkeep-inline-dllexport): New switch.
2894
0725e25c 28952011-01-12 Richard Guenther <rguenther@suse.de>
2896
2897 PR middle-end/32511
2898 * c-common.c (handle_weak_attribute): Warn instead of error
2899 on declaring an inline function weak.
2900
fdd84b77 29012011-01-05 Tom Tromey <tromey@redhat.com>
2902
2903 * c-common.h (lvalue_error): Update.
2904 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
2905 not error.
2906
e6e73d14 29072010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 2908
d67e8485 2909 PR objc/47075
2910 * c-objc.h (objc_finish_message_expr): Added argument to
2911 prototype.
2912
a36cf284 29132010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2914
2915 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2916 Use prototype_p.
2917
33b3681f 29182010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
2919
2920 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 2921 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 2922
a1f90215 29232010-12-10 Nathan Froyd <froydnj@codesourcery.com>
2924
2925 * c-common.h (readonly_error): Declare.
2926 * c-common.c (readonly_error): Define.
2927
b1bbc8e5 29282010-12-09 Nathan Froyd <froydnj@codesourcery.com>
2929
2930 * c-common.h (invalid_indirection_error): Declare.
2931 * c-common.c (invalid_indirection_error): Define.
2932
b0d55af9 29332010-12-03 Richard Guenther <rguenther@suse.de>
2934
2935 PR c/46745
2936 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2937 (pp_c_unary_expression): Likewise.
2938 (pp_c_expression): Likewise.
2939
d7489d8d 29402010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2941
2942 * c-common.h (objc_finish_function): New.
2943 (objc_non_volatilized_type): Removed.
2944 (objc_type_quals_match): Removed.
2945 * stub-objc.c (objc_finish_function): New.
2946 (objc_non_volatilized_type): Removed.
2947 (objc_type_quals_match): Removed.
19931eea 2948
92468061 29492010-11-30 Joseph Myers <joseph@codesourcery.com>
2950
2951 * c-common.h (parse_optimize_options): Declare.
2952 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2953 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2954
967958e4 29552010-11-29 Joseph Myers <joseph@codesourcery.com>
2956
2957 * c-opts.c (check_deps_environment_vars): Use getenv instead of
2958 GET_ENVIRONMENT.
2959 * c-pch.c (O_BINARY): Don't define here.
2960 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2961
b213bf24 29622010-11-25 Joseph Myers <joseph@codesourcery.com>
2963
2964 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2965 targetm.except_unwind_info.
2966
9faf44d6 29672010-11-23 Joseph Myers <joseph@codesourcery.com>
2968
2969 * c-opts.c (c_common_handle_option): Pass location to
2970 set_struct_debug_option.
2971
79396169 29722010-11-23 Joseph Myers <joseph@codesourcery.com>
2973
2974 * c-common.c (visibility_options): Move from ../opts.c.
2975 * c-common.h (struct visibility_flags, visibility_options):
2976 Declare here.
2977 * c-opts.c (finish_options): Rename to c_finish_options.
2978 (c_common_init): Update call to finish_options.
2979
b4aa4123 29802010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
2981
2982 PR objc/34033
2983 * c-lex.c (lex_string): Check that each string in an Objective-C
2984 string concat sequence starts with either one or zero '@', and
2985 that there are no spurious '@' signs at the end.
2986
3e0e49f2 29872010-11-20 Joseph Myers <joseph@codesourcery.com>
2988
2989 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2990 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2991 HANDLE_PRAGMA_VISIBILITY.
2992 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2993 HANDLE_PRAGMA_VISIBILITY): Don't define.
2994 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2995
a9ffdd35 29962010-11-20 Nathan Froyd <froydnj@codesourcery.com>
2997
2998 PR c++/16189
2999 PR c++/36888
3000 PR c++/45331
3001 * c-common.h (keyword_begins_type_specifier): Declare.
3002 (keyword_is_storage_class_specifier): Declare.
3003 (keyword_is_type_qualifier): Declare.
3004 * c-common.c (keyword_begins_type_specifier): New function.
3005 (keyword_is_storage_class_specifier): New function.
3006 (keyword_is_type_qualifier): Declare.
3007
93be21c0 30082010-11-19 Joseph Myers <joseph@codesourcery.com>
3009
3010 PR c/46547
3011 * c-common.c (in_late_binary_op): Define.
3012 (c_common_truthvalue_conversion): Check in_late_binary_op before
3013 calling c_save_expr.
3014 * c-common.h (in_late_binary_op): Declare.
3015
d7175aef 30162010-11-19 Joseph Myers <joseph@codesourcery.com>
3017
3018 * c-opts.c (c_common_handle_option): Update calls to
3019 set_struct_debug_option.
3020
c213e196 30212010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3022
3023 * c-common.h (objc_declare_protocols): Added additional argument.
3024 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3025
0b5fc5d6 30262010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3027
3028 PR c/33193
3029 * c-common.h (build_real_imag_expr): Declare.
3030 * c-semantics.c (build_real_imag_expr): Define.
3031
b8ba44e7 30322010-11-17 Joseph Myers <joseph@codesourcery.com>
3033
3034 * c-opts.c (c_common_parse_file): Take no arguments.
3035 * c-common.h (c_common_parse_file): Update prototype.
3036
6ef8d12f 30372010-11-16 Jakub Jelinek <jakub@redhat.com>
3038
3039 PR c++/46401
3040 * c-common.c (warning_candidate_p): Don't track non-const calls
3041 or STRING_CSTs.
3042
929d2a90 30432010-11-15 Ian Lance Taylor <iant@google.com>
3044
3045 * c-lex.c (init_c_lex): Set macro debug callbacks if
3046 flag_dump_go_spec is set.
3047
e4a7640a 30482010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3049
3050 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3051 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3052
597d2d81 30532010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3054
3055 PR preprocessor/45038
3056 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3057 dialects.
3058
c123f04d 30592010-11-12 Joseph Myers <joseph@codesourcery.com>
3060
3061 * c-common.h (c_family_lang_mask): Declare.
3062 * c-opts.c (c_family_lang_mask): Make extern.
3063 * c-pragma.c (handle_pragma_diagnostic): Use
3064 control_warning_option.
3065
3c6c0e40 30662010-11-12 Joseph Myers <joseph@codesourcery.com>
3067
3068 * c-common.c (parse_optimize_options): Update call to
3069 decode_options.
3070 * c-common.h (c_common_handle_option): Update prototype.
3071 * c-opts.c (c_common_handle_option): Take location_t parameter and
3072 pass it to other functions.
3073
19ec5c9e 30742010-11-11 Joseph Myers <joseph@codesourcery.com>
3075
3076 * c-opts.c (warning_as_error_callback): Remove.
3077 (c_common_initialize_diagnostics): Don't call
3078 register_warning_as_error_callback.
3079 (c_common_handle_option): Handle -Werror=normalized= here.
3080
bf776685 30812010-11-10 Joseph Myers <joseph@codesourcery.com>
3082
3083 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3084 in diagnostic.
3085 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3086 letter.
3087 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3088 Remove trailing '.' from diagnostics.
3089 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3090
6bd9d862 30912010-11-10 Joseph Myers <joseph@codesourcery.com>
3092
3093 * c-common.c (parse_optimize_options): Pass global_dc to
3094 decode_options.
3095 * c-opts.c (c_common_handle_option): Pass &global_options to
3096 set_Wstrict_aliasing.
3097 * c.opt (v): Don't mark Common or document here.
3098
1f6616ee 30992010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3100
3101 PR target/44981
3102 * c-format.c (format_type): New type gcc_objc_string_format_type.
3103 (valid_stringptr_type_p): New.
3104 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3105 (check_format_string): Pass expected type, use
1f6616ee 3106 valid_stringptr_type_p (), check that the format string types are
3107 consistent with the format specification.
3108 (decode_format_attr): Warn if NSString is used outside objective-c.
3109 (format_types_orig): Add NSString.
3110 (format_name): New.
3111 (format_flags): New.
3112 (check_format_arg): Handle format strings requiring an external parser.
3113 first_target_format_type: New variable.
3114 (handle_format_attribute): Set up first_target_format_type, pass the
3115 expected format arg string type to check_format_string().
3116 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3117 * stub-objc.c (objc_string_ref_type_p): New.
3118 (objc_check_format_arg): New.
3119
b0d0931f 31202010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3121
19931eea 3122 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3123 * c-common.h (objc_build_class_component_ref): New.
3124 * stub-objc.c (objc_build_class_component_ref): New.
3125
f26877d5 31262010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3127
3128 * c.opt (Wproperty-assign-default): New option.
3129
1ef143b6 31302010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3131
3132 Implemented -fobjc-std=objc1 flag.
3133 * c.opt (fobjc-std=objc1): New option.
3134
8c582e4f 31352010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3136
3137 Implemented format and noreturn attributes for Objective-C methods.
3138 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3139 attribute for Objective-C methods.
3140
8637f1db 31412010-10-31 Jason Merrill <jason@redhat.com>
3142
3143 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3144 EXPR_LOC_OR_HERE.
3145
9d9f5bb3 31462010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3147
3148 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3149 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3150 (objc_add_property_declaration): Removed arguments for copies and
3151 ivar.
3152 (objc_build_getter_call): Renamed to
3153 objc_maybe_build_component_ref.
3154 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3155 (objc_is_property_ref): New.
3156 * c-common.c (c_common_reswords): Removed copies and ivar.
3157 * stub-objc.c (objc_add_property_declaration): Removed arguments
3158 for copies and ivar.
3159 (objc_build_getter_call): Renamed to
3160 objc_maybe_build_component_ref.
3161 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3162 (objc_is_property_ref): New.
19931eea 3163
56f907a0 31642010-10-29 Arnaud Charlet <charlet@adacore.com>
3165 Matthew Gingell <gingell@adacore.com>
3166
3167 * c-ada-spec.c (separate_class_package): New function.
3168 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3169 name of their enclosing package.
3170 (print_ada_declaration): Use separate_class_package.
3171
b5fa273e 31722010-10-27 Jason Merrill <jason@redhat.com>
3173
5290e253 3174 * c-common.c (c_common_reswords): Add __is_literal_type.
3175 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3176
b5fa273e 3177 * c-common.c (check_case_value): Remove special C++ code.
3178
7590f0e5 31792010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3180
3181 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3182 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3183 and RID_LAST_PATTR.
3184 (objc_add_property_declaration): Added additional arguments.
3185 (objc_property_attribute_kind): Removed.
3186 (objc_set_property_attr): Removed.
3187 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3188 copy and nonatomic.
3189 * stub-objc.c (objc_add_property_declaration): Added additional
3190 arguments.
3191 (objc_set_property_attr): Removed.
19931eea 3192
1d894bcf 31932010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3194
3195 * c-common.h (objc_add_property_variable): Renamed to
3196 objc_add_property_declaration. Added location argument.
3197 * stub-objc.c (objc_add_property_variable): Same change.
3198
e23bf1fb 31992010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3200
3201 * c-common.h (objc_maybe_printable_name): New.
3202 * stub-objc.c (objc_maybe_printable_name): New.
3203
93426222 32042010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3205 Andrew Pinski <pinskia@gmail.com>
3206
3207 * c-common.h (c_common_mark_addressable_vec): Declare.
3208 * c-common.c (c_common_mark_addressable_vec): New function.
3209
45b2b110 32102010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3211
3212 * c-common.h (objc_set_method_type): Removed.
3213 (objc_add_method_declaration): Added boolean argument.
3214 (objc_start_method_definition): Same change.
3215 (objc_build_method_signature): Same change.
3216 * stub-objc.c (objc_set_method_type): Removed.
3217 (objc_add_method_declaration): Added boolean argument.
3218 (objc_start_method_definition): Same change.
3219 (objc_build_method_signature): Same change.
3220
64cd9619 32212010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3222
3223 * c-common.h (finish_file): Removed.
3224 (objc_write_global_declarations): New.
3225 * c-opts.c (c_common_parse_file): Do not call finish_file.
3226 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3227
e1f293c0 32282010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3229
3230 Implemented parsing @synthesize and @dynamic for
3231 Objective-C/Objective-C++.
3232 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3233 (objc_add_synthesize_declaration): New.
3234 (objc_add_dynamic_declaration): New.
3235 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3236 * stub-objc.c (objc_add_synthesize_declaration): New.
3237 (objc_add_dynamic_declaration): New.
19931eea 3238
ef97a312 32392010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3240
3241 PR target/46041
3242 * c-cppbuiltin.c (mode_has_fma): Move function here from
3243 builtins.c. Don't use the fma optab, instead just use the
3244 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3245 using -save-temps.
3246
69b07042 32472010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3248
3249 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3250
69b07042 3251 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3252
19931eea 3253 Radar 4330422
69b07042 3254 * c-common.h (objc_non_volatilized_type): New declaration
3255 * stub-objc.c (objc_non_volatilized_type): New stub.
3256
f15f2e56 32572010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3258
69b07042 3259 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3260
3261 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3262
19931eea 3263 Radar 4133425
f15f2e56 3264 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3265 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3266
4a8875ed 32672010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3268
3269 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3270 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3271 (objc_ivar_visibility_kind): New enum.
3272 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3273 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3274 visibility enum.
3275
7e0713b1 32762010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3277
3278 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3279 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3280 has the appropriate fma builtins.
3281 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3282
86c110ac 32832010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3284
7e0713b1 3285 merge from FSF apple 'trunk' branch.
86c110ac 3286 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3287
86c110ac 3288 Radars 4436866, 4505126, 4506903, 4517826
3289 * c-common.c (c_common_resword): Define @property and its attributes.
3290 * c-common.h: Define property attribute enum entries.
3291 (OBJC_IS_PATTR_KEYWORD): New.
3292 (objc_property_attribute_kind): New enum.
3293 Declare objc_set_property_attr (), objc_add_property_variable (),
3294 objc_build_getter_call () and objc_build_setter_call ().
3295 * stub-objc.c (objc_set_property_attr): New stub.
3296 (objc_add_property_variable): Likewise.
3297 (objc_build_getter_call): Likewise.
3298 (objc_build_setter_call) Likewise.
7e0713b1 3299
40c8d1dd 33002010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3301
7e0713b1 3302 merge from FSF apple 'trunk' branch.
40c8d1dd 3303 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3304
3305 Radar 3803157 (method attributes)
3306 * c-common.c (handle_deprecated_attribute): Recognize
3307 objc methods as valid declarations.
3308 * c-common.h: Declare objc_method_decl ().
7e0713b1 3309 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 3310
f3f006ad 33112010-10-08 Joseph Myers <joseph@codesourcery.com>
3312
3313 * c-common.c (parse_optimize_options): Call
3314 decode_cmdline_options_to_array_default_mask before
3315 decode_options. Update arguments to decode_options.
3316 * c-common.h (c_common_init_options_struct): Declare.
3317 * c-opts.c (c_common_init_options_struct): New. Split out from
3318 c_common_init_options.
3319
0a65c3bb 33202010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3321
3322 Implemented fast enumeration for Objective-C.
3323 * c-common.h (objc_finish_foreach_loop): New.
3324 * stub-objc.c (objc_finish_foreach_loop): New.
3325
24ca3b4e 33262010-10-05 Joseph Myers <joseph@codesourcery.com>
3327
3328 * c-common.h (struct diagnostic_context): Don't declare here.
3329 (c_common_initialize_diagnostics): Declare using
3330 diagnostic_context typedef.
3331 * c-opts.c (c_common_handle_option): Pass global_dc to
3332 handle_generated_option.
3333
f83b64ca 33342010-10-04 Joseph Myers <joseph@codesourcery.com>
3335
3336 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3337 handle_generated_option.
3338
2fdec027 33392010-10-03 Ian Lance Taylor <iant@google.com>
3340
3341 * c.opt (-fplan9-extensions): New option.
3342
41acdfa4 33432010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3344
3345 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3346 Remove.
3347 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3348 of duplicating code.
3349
069761fb 33502010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3351
3352 * c-common.c: Add two new entries for @optional
3353 and @required keywords.
3354
3355 merge from FSF 'apple/trunk' branch.
3356 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3357
3358 Radar 4386773
3359 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3360 objective-c keywords.
3361 (objc_set_method_opt): New declaration.
3362 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 3363
2c5d2e39 33642010-09-30 Joseph Myers <joseph@codesourcery.com>
3365
3366 * c-common.c (handle_optimize_attribute): Pass &global_options to
3367 cl_optimization_save and cl_optimization_restore.
3368 * c-opts.c (c_common_handle_option): Pass &global_options to
3369 handle_generated_option.
3370 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3371 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3372 &global_options to cl_optimization_restore.
3373
e5c75ac3 33742010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3375
3376 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3377 Objective-C/Objective-C++ keywords.
3378
3511333e 33792010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 3380
19931eea 3381 Merge from 'apple/trunk' branch on FSF servers.
3382
e147d6aa 3383 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3384
3385 Radar 4281748
3386 * c-common.h (objc_check_global_decl): New declaration.
3387 * stub-objc.c (objc_check_global_decl): New stub.
3388
5461e683 33892010-09-29 Joseph Myers <joseph@codesourcery.com>
3390
3391 * c.opt: Don't use VarExists.
3392
5ae82d58 33932010-09-29 Joseph Myers <joseph@codesourcery.com>
3394
3395 * c-common.c (c_cpp_error): Update names of diagnostic_context
3396 members.
3397 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3398 cl_optimization members.
3399 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3400 sanitize_cpp_opts, finish_options): Update names of cpp_options
3401 members.
3402
b27e241e 34032010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3404
3405 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3406 (objc_is_reserved_word): Removed.
3407 * c-common.c: Updated comments.
3408 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3409 objc_is_reserved_word.
3410 * stub-objc.c (objc_is_reserved_word): Removed.
3411
03fc2271 34122010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3413
19931eea 3414 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 3415 include attributes.
3416 (objc_start_method_definition): Likewise.
3417 (objc_build_keyword_decl): Likewise.
3418 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3419 (objc_start_method_definition): Likewise.
3420 (objc_build_keyword_decl): Likewise.
3421
a336eb4b 34222010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3423
3424 * c-common.h (objc_start_class_interface): Adjust prototype.
3425 (objc_start_category_interface): Likewise.
3426 (objc_start_protocol): Likewise.
3427 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3428 (objc_start_class_interface): Likewise.
3429 (objc_start_category_interface): Likewise.
3430
48b14f50 34312010-09-27 Ian Lance Taylor <iant@google.com>
3432
3433 * c-common.c (c_common_attribute_table): Add no_split_stack.
3434 (handle_no_split_stack_attribute): New static function.
3435
4abfc532 34362010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3437
19931eea 3438 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 3439
3440 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3441
19931eea 3442 Radar 4229905
4abfc532 3443 * c-common.h (objc_have_common_type): New declaration.
3444 * stub-objc.c (objc_have_common_type): New stub.
3445
3446 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3447
3448 Radar 4154928
3449 * c-common.h (objc_common_type): New prototype.
19931eea 3450 * stub-objc.c (objc_common_type): New stub.
4abfc532 3451
7bd95dfd 34522010-09-24 Jan Hubicka <jh@suse.cz>
3453
3454 * c-common.c (handle_leaf_attribute): New function.
3455 (struct attribute_spec c_common_att): Add leaf.
3456
5789e05b 34572010-09-22 Joseph Myers <joseph@codesourcery.com>
3458
3459 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3460 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3461 -dump, -dump=, -imacros, -imacros=, -include, -include=,
3462 -include-barrier, -include-directory, -include-directory=,
3463 -include-directory-after, -include-directory-after=,
3464 -include-prefix, -include-prefix=, -include-with-prefix,
3465 -include-with-prefix=, -include-with-prefix-after,
3466 -include-with-prefix-after=, -include-with-prefix-before,
3467 -include-with-prefix-before=, -no-integrated-cpp,
3468 -no-line-commands, -no-standard-includes, -no-warnings, -output,
3469 -output=, -pedantic, -pedantic-errors, -preprocess,
3470 -print-missing-file-dependencies, -trace-includes, -traditional,
3471 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3472 -user-dependencies, -verbose, -write-dependencies,
3473 -write-user-dependencies, no-integrated-cpp, traditional): New.
3474
e6fb54ba 34752010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3476
3477 PR objc/23710
9b60f3b0 3478 * c-common.h (objc_start_method_definition): Return bool instead
3479 of void.
3480 * stub-objc.c (objc_start_method_definition): Return bool instead
3481 of void.
3482
34832010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3484
3485 PR objc/25965
3486 * c-common.h (objc_get_interface_ivars): New declaration.
3487 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 3488
e44b0a1f 34892010-09-15 Ian Lance Taylor <iant@google.com>
3490
3491 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 3492 messages. Remove period at end of warning message.
e44b0a1f 3493
85c0a25c 34942010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3495
3496 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3497 (handle_alias_attribute): ... here.
3498 (handle_ifunc_attribute): New.
3499
5ba33bf4 35002010-09-06 Mark Mitchell <mark@codesourcery.com>
3501
3502 * c-common.h (do_warn_double_promotion): Declare.
3503 * c-common.c (do_warn_double_promotion): Define.
3504
c920faa3 35052010-09-05 Mark Mitchell <mark@codesourcery.com>
3506
3507 * c.opt (Wdouble-promotion): New.
3508
9604e070 35092010-09-02 Joseph Myers <joseph@codesourcery.com>
3510
3511 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3512 fvtable-thunks, fxref): Mark no longer supported in help text.
3513
3b0273a1 35142010-09-02 Joseph Myers <joseph@codesourcery.com>
3515
3516 * c.opt (Wimport, fall-virtual, falt-external-templates,
3517 fdefault-inline, fenum-int-equiv, fexternal-templates,
3518 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3519 fname-mangling-version-, fnew-abi, fnonnull-objects,
3520 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3521 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3522 applicable.
3523 (fhandle-exceptions): Mark with Alias and Warn.
3524 * c-opts.c (c_common_handle_option): Don't handle options marked
3525 as ignored.
3526
67089c6b 35272010-09-02 Joseph Myers <joseph@codesourcery.com>
3528
3529 * c.opt (Wcomments, Werror-implicit-function-declaration,
3530 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3531 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3532 aliases.
3533 * c-common.c (option_codes): Use OPT_Wcomment instead of
3534 OPT_Wcomments.
3535 * c-opts.c (warning_as_error_callback, c_common_handle_option):
3536 Don't handle options marked as aliases.
3537
2af087f2 35382010-08-25 Richard Guenther <rguenther@suse.de>
3539
3540 * c-common.c (c_common_get_alias_set): Remove special
3541 handling for pointers.
3542
48148244 35432010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3544
3545 * c-common.c: Use FOR_EACH_VEC_ELT.
3546 * c-gimplify.c: Likewise.
3547 * c-pragma.c: Likewise.
3548
89c69892 35492010-08-16 Joseph Myers <joseph@codesourcery.com>
3550
3551 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
3552 RejectDriver.
3553 (MMDX): Change back to MMD. Mark NoDriverArg instead of
3554 RejectDriver.
3555 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3556 instead of OPT_MDX and OPT_MMDX.
3557
e28aa114 35582010-08-16 Joseph Myers <joseph@codesourcery.com>
3559
3560 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3561
99b66d21 35622010-08-12 Joseph Myers <joseph@codesourcery.com>
3563
3564 * c.opt (MD, MMD): Change to MDX and MMDX.
3565 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3566
666f4bf0 35672010-08-11 Joseph Myers <joseph@codesourcery.com>
3568
3569 * c-opts.c (c_common_handle_option): Call handle_generated_option
3570 instead of handle_option.
3571
5ec815f6 35722010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3573
3574 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3575 (maybe_apply_renaming_pragma): Delete unneeded declarations.
3576
d13143cf 35772010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3578
3579 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
3580 (pending_redefine_extname): Change type to a VEC.
3581 (add_to_renaming_pragma_list): Update for new type of
3582 pending_redefine_extname.
5ec815f6 3583 (maybe_apply_renaming_pragma): Likewise.
d13143cf 3584
2008c983 35852010-08-04 Arnaud Charlet <charlet@adacore.com>
3586
3587 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3588 visited.
3589 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3590 decide whether a type has already been declared/seen.
3591 Do not go to the original type.
3592 (dump_nested_types): New parameter forward.
3593 Generate forward declaration if needed and mark type as visited.
3594 (print_ada_declaration): Call dump_nested_types if not already done.
3595 Mark types as visited.
3596
9b091a73 35972010-08-03 Joseph Myers <joseph@codesourcery.com>
3598
3599 * c.opt (-print-pch-checksum): Remove option.
3600 * c-opts.c (c_common_handle_option): Don't handle
3601 OPT_print_pch_checksum.
3602
b78351e5 36032010-07-27 Joseph Myers <joseph@codesourcery.com>
3604
3605 * c-common.h (c_common_handle_option): Update prototype and return
3606 value type.
3607 * c-opts.c (c_common_handle_option): Update prototype and return
3608 value type. Update calls to handle_option and
3609 enable_warning_as_error.
3610
34416a90 36112010-07-27 Jakub Jelinek <jakub@redhat.com>
3612
3613 PR c/45079
3614 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3615
fecf9011 36162010-07-27 Joseph Myers <joseph@codesourcery.com>
3617
3618 * c-common.h (c_common_missing_argument): Remove.
3619 * c-opts.c (c_common_missing_argument): Remove.
3620 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3621 idirafter, imacros, include, isysroot, isystem, iquote): Add
3622 MissingArgError.
3623 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3624
e88d34f6 36252010-07-27 Joseph Myers <joseph@codesourcery.com>
3626
3627 * c-common.h (c_common_option_lang_mask,
3628 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3629 New.
3630 (c_common_init_options): Update prototype.
3631 * c-opts.c (c_common_option_lang_mask): New.
3632 (c_common_initialize_diagnostics): Split out of
3633 c_common_init_options.
3634 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3635 New.
3636 (c_common_init_options): Update prototype. Use decoded options in
3637 search for -lang-asm.
3638
1767a056 36392010-07-15 Nathan Froyd <froydnj@codesourcery.com>
3640
3641 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3642 * c-format.c: Likewise.
3643
0b205f4c 36442010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3645
3646 * c-common.h: Include diagnostic-core.h. Error if already
3647 included.
3648 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3649
1c58e3f1 36502010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3651
3652 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3653 Do not include expr.h
3654 (vector_mode_valid_p): Move here.
3655
33cc157c 36562010-06-21 DJ Delorie <dj@redhat.com>
3657
3658 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3659 allow these pragmas anywhere.
3660
36612010-06-14 Jakub Jelinek <jakub@redhat.com>
3662
3663 PR bootstrap/44509
3664 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3665 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3666 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3667 ggc_strdup instead of xstrdup.
3668
36692010-06-10 Jakub Jelinek <jakub@redhat.com>
3670
3671 * c-cppbuiltin.c: Include cpp-id-data.h.
3672 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3673 (lazy_hex_fp_value): New function.
3674 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3675
9b40bfbf 36762010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3677
3678 * c-gimplify.c: Do not include tree-flow.h
3679
202d6e5f 36802010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3681
3682 PR other/44034
3683 * c-common.c: Rename targetm member:
3684 targetm.enum_va_list -> targetm.enum_va_list_p
3685
d3237426 36862010-06-28 Anatoly Sokolov <aesok@post.ru>
3687
3688 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3689
596981c8 36902010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3691
3692 * c-cppbuiltin.c: Do not include except.h.
3693
b9bdfa0b 36942010-06-24 Andi Kleen <ak@linux.intel.com>
3695
19931eea 3696 * c-common.c (warn_for_omitted_condop): New.
3697 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 3698
55ad092d 36992010-06-21 Joseph Myers <joseph@codesourcery.com>
3700
3701 * c.opt (lang-objc): Remove.
3702 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3703
9e7c2572 37042010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3705
3706 * c-opts.c: Include "tm_p.h".
3707
615ef0bb 37082010-06-20 Joseph Myers <joseph@codesourcery.com>
3709
3710 * c-common.c (parse_optimize_options): Update call to
3711 decode_options.
3712
aef48c9a 37132010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3714
3715 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3716 new type of types_used_by_cur_var_decl.
3717
d74003b4 37182010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3719
3720 PR bootstrap/44512
3721 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3722 for C++ standard compliance.
3723
1194d077 37242010-06-16 Jason Merrill <jason@redhat.com>
3725
3726 * c.opt: Add -Wnoexcept.
3727
d473d901 37282010-06-16 Richard Guenther <rguenther@suse.de>
3729
3730 PR c/44555
3731 * c-common.c (c_common_truthvalue_conversion): Remove
3732 premature and wrong optimization concering ADDR_EXPRs.
3733
b62dbfd3 37342010-06-15 Arnaud Charlet <charlet@adacore.com>
3735
3736 * c-ada-spec.c (dump_sloc): Remove column info.
3737 (is_simple_enum): New function.
3738 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3739 enum types when relevant.
3740
200dd99c 37412010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3742
19931eea 3743 * c-common.c (conversion_warning): Warn at expression
200dd99c 3744 location.
3745
abf6a617 37462010-06-10 Joseph Myers <joseph@codesourcery.com>
3747
3748 * c-opts.c (c_common_handle_option): Don't handle
3749 OPT_fshow_column.
3750
ba72912a 37512010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3752
3753 * c-pragma.c (push_alignment): Use typed GC allocation.
3754 (handle_pragma_push_options): Likewise.
3755
3756 * c-common.c (parse_optimize_options): Likewise.
3757
3758 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3759 option.
3760
4aafe913 37612010-06-07 Joseph Myers <joseph@codesourcery.com>
3762
3763 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3764 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3765 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3766 flag_signed_bitfields, warn_strict_null_sentinel,
3767 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3768 flag_gen_declaration, flag_no_gnu_keywords,
3769 flag_implement_inlines, flag_implicit_templates,
3770 flag_implicit_inline_templates, flag_optional_diags,
3771 flag_elide_constructors, flag_default_inline, flag_rtti,
3772 flag_conserve_space, flag_access_control, flag_check_new,
3773 flag_new_for_scope, flag_weak, flag_working_directory,
3774 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3775 flag_enforce_eh_specs, flag_threadsafe_statics,
3776 flag_pretty_templates): Remove.
3777 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3778 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3779 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3780 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3781 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3782 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3783 flag_no_gnu_keywords, flag_implement_inlines,
3784 flag_implicit_templates, flag_implicit_inline_templates,
3785 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3786 flag_rtti, flag_conserve_space, flag_access_control,
3787 flag_check_new, flag_new_for_scope, flag_weak,
3788 flag_working_directory, flag_use_cxa_atexit,
3789 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3790 flag_threadsafe_statics, flag_pretty_templates,
3791 warn_strict_null_sentinel): Remove.
3792 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3793 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3794 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3795 fimplicit-inline-templates, fimplicit-templates,
3796 flax-vector-conversions, fms-extensions, fnil-receivers,
3797 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3798 frtti, fshort-double, fshort-enums, fshort-wchar,
3799 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3800 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3801 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3802 gen-decls, undef): Use Var.
3803 (fdefault-inline, foptional-diags): Document as doing nothing.
3804 * c-opts.c (c_common_handle_option): Remove cases for options now
3805 using Var. Mark ignored options as such.
3806
7bedc3a0 38072010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3808
19931eea 3809 * c-common.c: Moved to here from parent directory.
7bedc3a0 3810 * c-common.def: Likewise.
3811 * c-common.h: Likewise.
3812 * c-cppbuiltin.c: Likewise.
3813 * c-dump.c: Likewise.
3814 * c-format.c: Likewise.
3815 * c-format.h : Likewise.
3816 * c-gimplify.c: Likewise.
3817 * c-lex.c: Likewise.
3818 * c-omp.c: Likewise.
3819 * c.opt: Likewise.
3820 * c-opts.c: Likewise.
3821 * c-pch.c: Likewise.
3822 * c-ppoutput.c: Likewise.
3823 * c-pragma.c: Likewise.
3824 * c-pragma.h: Likewise.
3825 * c-pretty-print.c: Likewise.
3826 * c-pretty-print.h: Likewise.
3827 * c-semantics.c: Likewise.
3828 * stub-objc.c: Likewise.
3829
3830 * c-common.c: Include gt-c-family-c-common.h.
3831 * c-pragma.c: Include gt-c-family-c-pragma.h.
3832\f
3aea1f79 3833Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 3834
3835Copying and distribution of this file, with or without modification,
3836are permitted in any medium without royalty provided the copyright
3837notice and this notice are preserved.